@charset "UTF-8";
/*$custom-control-indicator-checked-color: $primary;
$custom-control-indicator-checked-border-color: $gray-300;
$custom-control-indicator-checked-bg: #ffffff;
$custom-control-indicator-bg:$primary;*/
.btn-text-primary {
  color: #43d477 !important;
}
.btn-text-primary:hover {
  color: #ffffff !important;
  background-color: #43d477 !important;
  border-color: #43d477 !important;
}
.btn-text-primary:focus, .btn-text-primary.focus {
  box-shadow: 0 0 0 0 rgba(67, 212, 119, 0.5) !important;
}
.btn-text-primary.disabled, .btn-text-primary:disabled {
  color: #43d477 !important;
  background-color: transparent !important;
}

.btn-text-secondary {
  color: #ff6600 !important;
}
.btn-text-secondary:hover {
  color: #ffffff !important;
  background-color: #ff6600 !important;
  border-color: #ff6600 !important;
}
.btn-text-secondary:focus, .btn-text-secondary.focus {
  box-shadow: 0 0 0 0 rgba(31, 59, 100, 0.5) !important;
}
.btn-text-secondary.disabled, .btn-text-secondary:disabled {
  color: #ff6600 !important;
  background-color: transparent !important;
}

.btn-text-success {
  color: var(--success) !important;
}
.btn-text-success:hover {
  color: #ffffff !important;
  background-color: var(--success) !important;
  border-color: var(--success) !important;
}
.btn-text-success:focus, .btn-text-success.focus {
  box-shadow: 0 0 0 0 rgba(231, 244, 240, 0.5) !important;
}
.btn-text-success.disabled, .btn-text-success:disabled {
  color: var(--success) !important;
  background-color: transparent !important;
}

.btn-text-info {
  color: var(--info) !important;
}
.btn-text-info:hover {
  color: #ffffff !important;
  background-color: var(--info) !important;
  border-color: var(--info) !important;
}
.btn-text-info:focus, .btn-text-info.focus {
  box-shadow: 0 0 0 0 rgba(235, 247, 255, 0.5) !important;
}
.btn-text-info.disabled, .btn-text-info:disabled {
  color: var(--info) !important;
  background-color: transparent !important;
}

.btn-text-warning {
  color: var(--warning) !important;
}
.btn-text-warning:hover {
  color: #ffffff !important;
  background-color: var(--warning) !important;
  border-color: var(--warning) !important;
}
.btn-text-warning:focus, .btn-text-warning.focus {
  box-shadow: 0 0 0 0 rgba(255, 171, 0, 0.5) !important;
}
.btn-text-warning.disabled, .btn-text-warning:disabled {
  color: var(--warning) !important;
  background-color: transparent !important;
}

.btn-text-danger {
  color: var(--danger) !important;
}
.btn-text-danger:hover {
  color: #ffffff !important;
  background-color: var(--danger) !important;
  border-color: var(--danger) !important;
}
.btn-text-danger:focus, .btn-text-danger.focus {
  box-shadow: 0 0 0 0 rgba(246, 60, 60, 0.5) !important;
}
.btn-text-danger.disabled, .btn-text-danger:disabled {
  color: var(--danger) !important;
  background-color: transparent !important;
}

.btn-text-light {
  color: var(--light) !important;
}
.btn-text-light:hover {
  color: #ffffff !important;
  background-color: var(--light) !important;
  border-color: var(--light) !important;
}
.btn-text-light:focus, .btn-text-light.focus {
  box-shadow: 0 0 0 0 rgba(249, 249, 249, 0.5) !important;
}
.btn-text-light.disabled, .btn-text-light:disabled {
  color: var(--light) !important;
  background-color: transparent !important;
}

.btn-text-dark {
  color: var(--dark) !important;
}
.btn-text-dark:hover {
  color: #ffffff !important;
  background-color: var(--dark) !important;
  border-color: var(--dark) !important;
}
.btn-text-dark:focus, .btn-text-dark.focus {
  box-shadow: 0 0 0 0 rgba(52, 52, 52, 0.5) !important;
}
.btn-text-dark.disabled, .btn-text-dark:disabled {
  color: var(--dark) !important;
  background-color: transparent !important;
}

.btn-text-white {
  color: #ffffff !important;
}
.btn-text-white:hover {
  color: #212529 !important;
  background-color: #ffffff !important;
  border-color: #ffffff !important;
}
.btn-text-white:focus, .btn-text-white.focus {
  box-shadow: 0 0 0 0 rgba(255, 255, 255, 0.5) !important;
}
.btn-text-white.disabled, .btn-text-white:disabled {
  color: #ffffff !important;
  background-color: transparent !important;
}

.btn-text-gray {
  color: #818894 !important;
}
.btn-text-gray:hover {
  color: #ffffff !important;
  background-color: #818894 !important;
  border-color: #818894 !important;
}
.btn-text-gray:focus, .btn-text-gray.focus {
  box-shadow: 0 0 0 0 rgba(129, 136, 148, 0.5) !important;
}
.btn-text-gray.disabled, .btn-text-gray:disabled {
  color: #818894 !important;
  background-color: transparent !important;
}

.btn-text-gray300 {
  color: #ececec !important;
}
.btn-text-gray300:hover {
  color: #ffffff !important;
  background-color: #ececec !important;
  border-color: #ececec !important;
}
.btn-text-gray300:focus, .btn-text-gray300.focus {
  box-shadow: 0 0 0 0 rgba(236, 236, 236, 0.5) !important;
}
.btn-text-gray300.disabled, .btn-text-gray300:disabled {
  color: #ececec !important;
  background-color: transparent !important;
}

.btn-text-gray200 {
  color: #f1f1f1 !important;
}
.btn-text-gray200:hover {
  color: #ffffff !important;
  background-color: #f1f1f1 !important;
  border-color: #f1f1f1 !important;
}
.btn-text-gray200:focus, .btn-text-gray200.focus {
  box-shadow: 0 0 0 0 rgba(241, 241, 241, 0.5) !important;
}
.btn-text-gray200.disabled, .btn-text-gray200:disabled {
  color: #f1f1f1 !important;
  background-color: transparent !important;
}

.btn-text-gray100 {
  color: var(--light) !important;
}
.btn-text-gray100:hover {
  color: #ffffff !important;
  background-color: var(--light) !important;
  border-color: var(--light) !important;
}
.btn-text-gray100:focus, .btn-text-gray100.focus {
  box-shadow: 0 0 0 0 rgba(249, 249, 249, 0.5) !important;
}
.btn-text-gray100.disabled, .btn-text-gray100:disabled {
  color: var(--light) !important;
  background-color: transparent !important;
}

.btn-block {
  display: inline-flex !important;
}

:root {
  --blue: #27aeff;
  --indigo: #6610f2;
  --purple: #6f42c1;
  --pink: #e83e8c;
  --red: #dc3545;
  --orange: #fd7e14;
  --yellow: #ffc107;
  --green: #43d477;
  --teal: #20c997;
  --cyan: #17a2b8;
  --white: #ffffff;
  --gray: #6c757d;
  --gray-dark: #343a40;
  --panel-bg: #fbfbfd;
  --success: #27B22D;
  --info: #ebf7ff;
  --primary: #1e5a9e;
  --secondary: #3b82f6;
  /*
   * Original hardcoded color values (before var() replacement):
   * --success: #27B22D
   * --info: #ebf7ff
   * --warning: #FAC400
   * --danger: #f63c3c
   * --light: #f9f9f9
   * --dark: #343434
   *
   * Hardcoded values in this file have been replaced with var() references
   * so organization branding colors from admin panel take effect.
   * To revert: replace var(--success) with #27B22D, var(--info) with #ebf7ff,
   * var(--warning) with #FAC400, var(--danger) with #f63c3c,
   * var(--light) with #f9f9f9, var(--dark) with #343434
   */
  --success: #27B22D;
  --info: #ebf7ff;
  --warning: #FAC400;
  --danger: #f63c3c;
  --light: #f9f9f9;
  --dark: #343434;
  --white: #ffffff;
  --gray: #818894;
  --gray300: #ececec;
  --gray200: #f1f1f1;
  --gray100: #f9f9f9;
  --primary-hover: #1FB354;
  --primary-border: #43d477;
  --primary-border-hover: #2aba5e;
  --primary-btn-shadow: 0 3px 6px 0 rgb(64 213 125 / 30%);
  --primary-btn-shadow-hover: 0 3px 8px 0 rgb(64 213 125 / 30%);
  --primary-btn-color: #ffffff;
  --primary-btn-color-hover: #ffffff;
  --secondary-hover: #162a47;
  --secondary-border: #162a47;
  --secondary-border-hover: #ffcc00;
  --secondary-btn-shadow: 0 3px 6px 0 rgb(64 213 125 / 30%);
  --secondary-btn-shadow-hover: 0 3px 8px 0 rgb(64 213 125 / 30%);
  --secondary-btn-color: #ffffff;
  --secondary-btn-color-hover: #ffffff;
  --font-family-base: "main-font-family";
  --font-family-rtl: "rtl-font-family";
}

*,
*::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(52, 52, 52, 0);
}

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

body {
  margin: 0;
  font-family: "main-font-family";
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.3;
  color: var(--dark);
  text-align: left;
  background-color: #ffffff;
}

[tabindex="-1"]:focus:not(:focus-visible) {
  outline: 0 !important;
}

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

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

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

abbr[title],
abbr[data-original-title] {
  text-decoration: underline;
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
  cursor: help;
  border-bottom: 0;
  -webkit-text-decoration-skip-ink: none;
          text-decoration-skip-ink: none;
}

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

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

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

dt {
  font-weight: 700;
}

dd {
  margin-bottom: 0.5rem;
  margin-left: 0;
}

blockquote {
  margin: 0 0 1rem;
}

b,
strong {
  font-weight: bolder;
}

small {
  font-size: 80%;
}

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

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

a {
  color: var(--dark);
  text-decoration: none;
  background-color: transparent;
}
a:hover {
  color: var(--dark);
  text-decoration: underline;
}

a:not([href]):not([class]) {
  color: inherit;
  text-decoration: none;
}
a:not([href]):not([class]):hover {
  color: inherit;
  text-decoration: none;
}

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

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

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.75rem;
  padding-bottom: 0.75rem;
  color: #6c757d;
  text-align: left;
  caption-side: bottom;
}

th {
  text-align: inherit;
  text-align: -webkit-match-parent;
}

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

button {
  border-radius: 0;
}

button:focus:not(:focus-visible) {
  outline: 0;
}

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

button,
input {
  overflow: visible;
}

button,
select {
  text-transform: none;
}

[role=button] {
  cursor: pointer;
}

select {
  word-wrap: normal;
}

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

button:not(:disabled),
[type=button]:not(:disabled),
[type=reset]:not(:disabled),
[type=submit]:not(:disabled) {
  cursor: pointer;
}

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

textarea {
  overflow: auto;
  resize: vertical;
}

fieldset {
  min-width: 0;
  padding: 0;
  margin: 0;
  border: 0;
}

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

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

@media (min-width: 576px) {
  .container-sm, .container {
    max-width: 100%;
  }
}
@media (min-width: 768px) {
  .container-md, .container-sm, .container {
    max-width: 769px;
  }
}
@media (min-width: 992px) {
  .container-lg, .container-md, .container-sm, .container {
    max-width: 960px;
  }
}
@media (min-width: 1200px) {
  .container-xl, .container-lg, .container-md, .container-sm, .container {
    max-width: 1140px;
  }
}
.row {
  display: flex;
  flex-wrap: wrap;
  margin-right: -15px;
  margin-left: -15px;
}

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

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

.col {
  flex-basis: 0;
  flex-grow: 1;
  max-width: 100%;
}

.row-cols-1 > * {
  flex: 0 0 100%;
  max-width: 100%;
}

.row-cols-2 > * {
  flex: 0 0 50%;
  max-width: 50%;
}

.row-cols-3 > * {
  flex: 0 0 33.3333333333%;
  max-width: 33.3333333333%;
}

.row-cols-4 > * {
  flex: 0 0 25%;
  max-width: 25%;
}

.row-cols-5 > * {
  flex: 0 0 20%;
  max-width: 20%;
}

.row-cols-6 > * {
  flex: 0 0 16.6666666667%;
  max-width: 16.6666666667%;
}

.col-auto {
  flex: 0 0 auto;
  width: auto;
  max-width: 100%;
}

.col-1 {
  flex: 0 0 8.33333333%;
  max-width: 8.33333333%;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

@media (min-width: 576px) {
  .col-sm {
    flex-basis: 0;
    flex-grow: 1;
    max-width: 100%;
  }
  .row-cols-sm-1 > * {
    flex: 0 0 100%;
    max-width: 100%;
  }
  .row-cols-sm-2 > * {
    flex: 0 0 50%;
    max-width: 50%;
  }
  .row-cols-sm-3 > * {
    flex: 0 0 33.3333333333%;
    max-width: 33.3333333333%;
  }
  .row-cols-sm-4 > * {
    flex: 0 0 25%;
    max-width: 25%;
  }
  .row-cols-sm-5 > * {
    flex: 0 0 20%;
    max-width: 20%;
  }
  .row-cols-sm-6 > * {
    flex: 0 0 16.6666666667%;
    max-width: 16.6666666667%;
  }
  .col-sm-auto {
    flex: 0 0 auto;
    width: auto;
    max-width: 100%;
  }
  .col-sm-1 {
    flex: 0 0 8.33333333%;
    max-width: 8.33333333%;
  }
  .col-sm-2 {
    flex: 0 0 16.66666667%;
    max-width: 16.66666667%;
  }
  .col-sm-3 {
    flex: 0 0 25%;
    max-width: 25%;
  }
  .col-sm-4 {
    flex: 0 0 33.33333333%;
    max-width: 33.33333333%;
  }
  .col-sm-5 {
    flex: 0 0 41.66666667%;
    max-width: 41.66666667%;
  }
  .col-sm-6 {
    flex: 0 0 50%;
    max-width: 50%;
  }
  .col-sm-7 {
    flex: 0 0 58.33333333%;
    max-width: 58.33333333%;
  }
  .col-sm-8 {
    flex: 0 0 66.66666667%;
    max-width: 66.66666667%;
  }
  .col-sm-9 {
    flex: 0 0 75%;
    max-width: 75%;
  }
  .col-sm-10 {
    flex: 0 0 83.33333333%;
    max-width: 83.33333333%;
  }
  .col-sm-11 {
    flex: 0 0 91.66666667%;
    max-width: 91.66666667%;
  }
  .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.33333333%;
  }
  .offset-sm-2 {
    margin-left: 16.66666667%;
  }
  .offset-sm-3 {
    margin-left: 25%;
  }
  .offset-sm-4 {
    margin-left: 33.33333333%;
  }
  .offset-sm-5 {
    margin-left: 41.66666667%;
  }
  .offset-sm-6 {
    margin-left: 50%;
  }
  .offset-sm-7 {
    margin-left: 58.33333333%;
  }
  .offset-sm-8 {
    margin-left: 66.66666667%;
  }
  .offset-sm-9 {
    margin-left: 75%;
  }
  .offset-sm-10 {
    margin-left: 83.33333333%;
  }
  .offset-sm-11 {
    margin-left: 91.66666667%;
  }
}
@media (min-width: 768px) {
  .col-md {
    flex-basis: 0;
    flex-grow: 1;
    max-width: 100%;
  }
  .row-cols-md-1 > * {
    flex: 0 0 100%;
    max-width: 100%;
  }
  .row-cols-md-2 > * {
    flex: 0 0 50%;
    max-width: 50%;
  }
  .row-cols-md-3 > * {
    flex: 0 0 33.3333333333%;
    max-width: 33.3333333333%;
  }
  .row-cols-md-4 > * {
    flex: 0 0 25%;
    max-width: 25%;
  }
  .row-cols-md-5 > * {
    flex: 0 0 20%;
    max-width: 20%;
  }
  .row-cols-md-6 > * {
    flex: 0 0 16.6666666667%;
    max-width: 16.6666666667%;
  }
  .col-md-auto {
    flex: 0 0 auto;
    width: auto;
    max-width: 100%;
  }
  .col-md-1 {
    flex: 0 0 8.33333333%;
    max-width: 8.33333333%;
  }
  .col-md-2 {
    flex: 0 0 16.66666667%;
    max-width: 16.66666667%;
  }
  .col-md-3 {
    flex: 0 0 25%;
    max-width: 25%;
  }
  .col-md-4 {
    flex: 0 0 33.33333333%;
    max-width: 33.33333333%;
  }
  .col-md-5 {
    flex: 0 0 41.66666667%;
    max-width: 41.66666667%;
  }
  .col-md-6 {
    flex: 0 0 50%;
    max-width: 50%;
  }
  .col-md-7 {
    flex: 0 0 58.33333333%;
    max-width: 58.33333333%;
  }
  .col-md-8 {
    flex: 0 0 66.66666667%;
    max-width: 66.66666667%;
  }
  .col-md-9 {
    flex: 0 0 75%;
    max-width: 75%;
  }
  .col-md-10 {
    flex: 0 0 83.33333333%;
    max-width: 83.33333333%;
  }
  .col-md-11 {
    flex: 0 0 91.66666667%;
    max-width: 91.66666667%;
  }
  .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.33333333%;
  }
  .offset-md-2 {
    margin-left: 16.66666667%;
  }
  .offset-md-3 {
    margin-left: 25%;
  }
  .offset-md-4 {
    margin-left: 33.33333333%;
  }
  .offset-md-5 {
    margin-left: 41.66666667%;
  }
  .offset-md-6 {
    margin-left: 50%;
  }
  .offset-md-7 {
    margin-left: 58.33333333%;
  }
  .offset-md-8 {
    margin-left: 66.66666667%;
  }
  .offset-md-9 {
    margin-left: 75%;
  }
  .offset-md-10 {
    margin-left: 83.33333333%;
  }
  .offset-md-11 {
    margin-left: 91.66666667%;
  }
}
@media (min-width: 992px) {
  .col-lg {
    flex-basis: 0;
    flex-grow: 1;
    max-width: 100%;
  }
  .row-cols-lg-1 > * {
    flex: 0 0 100%;
    max-width: 100%;
  }
  .row-cols-lg-2 > * {
    flex: 0 0 50%;
    max-width: 50%;
  }
  .row-cols-lg-3 > * {
    flex: 0 0 33.3333333333%;
    max-width: 33.3333333333%;
  }
  .row-cols-lg-4 > * {
    flex: 0 0 25%;
    max-width: 25%;
  }
  .row-cols-lg-5 > * {
    flex: 0 0 20%;
    max-width: 20%;
  }
  .row-cols-lg-6 > * {
    flex: 0 0 16.6666666667%;
    max-width: 16.6666666667%;
  }
  .col-lg-auto {
    flex: 0 0 auto;
    width: auto;
    max-width: 100%;
  }
  .col-lg-1 {
    flex: 0 0 8.33333333%;
    max-width: 8.33333333%;
  }
  .col-lg-2 {
    flex: 0 0 16.66666667%;
    max-width: 16.66666667%;
  }
  .col-lg-3 {
    flex: 0 0 25%;
    max-width: 25%;
  }
  .col-lg-4 {
    flex: 0 0 33.33333333%;
    max-width: 33.33333333%;
  }
  .col-lg-5 {
    flex: 0 0 41.66666667%;
    max-width: 41.66666667%;
  }
  .col-lg-6 {
    flex: 0 0 50%;
    max-width: 50%;
  }
  .col-lg-7 {
    flex: 0 0 58.33333333%;
    max-width: 58.33333333%;
  }
  .col-lg-8 {
    flex: 0 0 66.66666667%;
    max-width: 66.66666667%;
  }
  .col-lg-9 {
    flex: 0 0 75%;
    max-width: 75%;
  }
  .col-lg-10 {
    flex: 0 0 83.33333333%;
    max-width: 83.33333333%;
  }
  .col-lg-11 {
    flex: 0 0 91.66666667%;
    max-width: 91.66666667%;
  }
  .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.33333333%;
  }
  .offset-lg-2 {
    margin-left: 16.66666667%;
  }
  .offset-lg-3 {
    margin-left: 25%;
  }
  .offset-lg-4 {
    margin-left: 33.33333333%;
  }
  .offset-lg-5 {
    margin-left: 41.66666667%;
  }
  .offset-lg-6 {
    margin-left: 50%;
  }
  .offset-lg-7 {
    margin-left: 58.33333333%;
  }
  .offset-lg-8 {
    margin-left: 66.66666667%;
  }
  .offset-lg-9 {
    margin-left: 75%;
  }
  .offset-lg-10 {
    margin-left: 83.33333333%;
  }
  .offset-lg-11 {
    margin-left: 91.66666667%;
  }
}
@media (min-width: 1200px) {
  .col-xl {
    flex-basis: 0;
    flex-grow: 1;
    max-width: 100%;
  }
  .row-cols-xl-1 > * {
    flex: 0 0 100%;
    max-width: 100%;
  }
  .row-cols-xl-2 > * {
    flex: 0 0 50%;
    max-width: 50%;
  }
  .row-cols-xl-3 > * {
    flex: 0 0 33.3333333333%;
    max-width: 33.3333333333%;
  }
  .row-cols-xl-4 > * {
    flex: 0 0 25%;
    max-width: 25%;
  }
  .row-cols-xl-5 > * {
    flex: 0 0 20%;
    max-width: 20%;
  }
  .row-cols-xl-6 > * {
    flex: 0 0 16.6666666667%;
    max-width: 16.6666666667%;
  }
  .col-xl-auto {
    flex: 0 0 auto;
    width: auto;
    max-width: 100%;
  }
  .col-xl-1 {
    flex: 0 0 8.33333333%;
    max-width: 8.33333333%;
  }
  .col-xl-2 {
    flex: 0 0 16.66666667%;
    max-width: 16.66666667%;
  }
  .col-xl-3 {
    flex: 0 0 25%;
    max-width: 25%;
  }
  .col-xl-4 {
    flex: 0 0 33.33333333%;
    max-width: 33.33333333%;
  }
  .col-xl-5 {
    flex: 0 0 41.66666667%;
    max-width: 41.66666667%;
  }
  .col-xl-6 {
    flex: 0 0 50%;
    max-width: 50%;
  }
  .col-xl-7 {
    flex: 0 0 58.33333333%;
    max-width: 58.33333333%;
  }
  .col-xl-8 {
    flex: 0 0 66.66666667%;
    max-width: 66.66666667%;
  }
  .col-xl-9 {
    flex: 0 0 75%;
    max-width: 75%;
  }
  .col-xl-10 {
    flex: 0 0 83.33333333%;
    max-width: 83.33333333%;
  }
  .col-xl-11 {
    flex: 0 0 91.66666667%;
    max-width: 91.66666667%;
  }
  .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.33333333%;
  }
  .offset-xl-2 {
    margin-left: 16.66666667%;
  }
  .offset-xl-3 {
    margin-left: 25%;
  }
  .offset-xl-4 {
    margin-left: 33.33333333%;
  }
  .offset-xl-5 {
    margin-left: 41.66666667%;
  }
  .offset-xl-6 {
    margin-left: 50%;
  }
  .offset-xl-7 {
    margin-left: 58.33333333%;
  }
  .offset-xl-8 {
    margin-left: 66.66666667%;
  }
  .offset-xl-9 {
    margin-left: 75%;
  }
  .offset-xl-10 {
    margin-left: 83.33333333%;
  }
  .offset-xl-11 {
    margin-left: 91.66666667%;
  }
}
h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
  margin-bottom: 0;
  font-weight: bold;
  line-height: 1.3;
}

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

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

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

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

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

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

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

.display-1 {
  font-size: 6rem;
  font-weight: 300;
  line-height: 1.3;
}

.display-2 {
  font-size: 5.5rem;
  font-weight: 300;
  line-height: 1.3;
}

.display-3 {
  font-size: 4.5rem;
  font-weight: 300;
  line-height: 1.3;
}

.display-4 {
  font-size: 3.5rem;
  font-weight: 300;
  line-height: 1.3;
}

hr {
  margin-top: 16px;
  margin-bottom: 16px;
  border: 0;
  border-top: 1px solid #f1f1f1;
}

small,
.small {
  font-size: 0.875em;
  font-weight: 400;
}

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

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

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

.list-inline-item {
  display: inline-block;
}
.list-inline-item:not(:last-child) {
  margin-right: 0.5rem;
}

.initialism {
  font-size: 90%;
  text-transform: uppercase;
}

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

.blockquote-footer {
  display: block;
  font-size: 0.875em;
  color: #6c757d;
}
.blockquote-footer::before {
  content: "— ";
}

.list-group {
  display: flex;
  flex-direction: column;
  padding-left: 0;
  margin-bottom: 0;
  border-radius: 0.3125rem;
}

.list-group-item-action {
  width: 100%;
  color: #495057;
  text-align: inherit;
}
.list-group-item-action:hover, .list-group-item-action:focus {
  z-index: 1;
  color: #495057;
  text-decoration: none;
  background-color: var(--light);
}
.list-group-item-action:active {
  color: var(--dark);
  background-color: #f1f1f1;
}

.list-group-item {
  position: relative;
  display: block;
  padding: 0.75rem 1.25rem;
  background-color: #ffffff;
  border: 1px solid rgba(52, 52, 52, 0.125);
}
.list-group-item:first-child {
  border-top-left-radius: inherit;
  border-top-right-radius: inherit;
}
.list-group-item:last-child {
  border-bottom-right-radius: inherit;
  border-bottom-left-radius: inherit;
}
.list-group-item.disabled, .list-group-item:disabled {
  color: #6c757d;
  pointer-events: none;
  background-color: #ffffff;
}
.list-group-item.active {
  z-index: 2;
  color: #ffffff;
  background-color: #43d477;
  border-color: #43d477;
}
.list-group-item + .list-group-item {
  border-top-width: 0;
}
.list-group-item + .list-group-item.active {
  margin-top: -1px;
  border-top-width: 1px;
}

.list-group-horizontal {
  flex-direction: row;
}
.list-group-horizontal > .list-group-item:first-child {
  border-bottom-left-radius: 0.3125rem;
  border-top-right-radius: 0;
}
.list-group-horizontal > .list-group-item:last-child {
  border-top-right-radius: 0.3125rem;
  border-bottom-left-radius: 0;
}
.list-group-horizontal > .list-group-item.active {
  margin-top: 0;
}
.list-group-horizontal > .list-group-item + .list-group-item {
  border-top-width: 1px;
  border-left-width: 0;
}
.list-group-horizontal > .list-group-item + .list-group-item.active {
  margin-left: -1px;
  border-left-width: 1px;
}

@media (min-width: 576px) {
  .list-group-horizontal-sm {
    flex-direction: row;
  }
  .list-group-horizontal-sm > .list-group-item:first-child {
    border-bottom-left-radius: 0.3125rem;
    border-top-right-radius: 0;
  }
  .list-group-horizontal-sm > .list-group-item:last-child {
    border-top-right-radius: 0.3125rem;
    border-bottom-left-radius: 0;
  }
  .list-group-horizontal-sm > .list-group-item.active {
    margin-top: 0;
  }
  .list-group-horizontal-sm > .list-group-item + .list-group-item {
    border-top-width: 1px;
    border-left-width: 0;
  }
  .list-group-horizontal-sm > .list-group-item + .list-group-item.active {
    margin-left: -1px;
    border-left-width: 1px;
  }
}
@media (min-width: 768px) {
  .list-group-horizontal-md {
    flex-direction: row;
  }
  .list-group-horizontal-md > .list-group-item:first-child {
    border-bottom-left-radius: 0.3125rem;
    border-top-right-radius: 0;
  }
  .list-group-horizontal-md > .list-group-item:last-child {
    border-top-right-radius: 0.3125rem;
    border-bottom-left-radius: 0;
  }
  .list-group-horizontal-md > .list-group-item.active {
    margin-top: 0;
  }
  .list-group-horizontal-md > .list-group-item + .list-group-item {
    border-top-width: 1px;
    border-left-width: 0;
  }
  .list-group-horizontal-md > .list-group-item + .list-group-item.active {
    margin-left: -1px;
    border-left-width: 1px;
  }
}
@media (min-width: 992px) {
  .list-group-horizontal-lg {
    flex-direction: row;
  }
  .list-group-horizontal-lg > .list-group-item:first-child {
    border-bottom-left-radius: 0.3125rem;
    border-top-right-radius: 0;
  }
  .list-group-horizontal-lg > .list-group-item:last-child {
    border-top-right-radius: 0.3125rem;
    border-bottom-left-radius: 0;
  }
  .list-group-horizontal-lg > .list-group-item.active {
    margin-top: 0;
  }
  .list-group-horizontal-lg > .list-group-item + .list-group-item {
    border-top-width: 1px;
    border-left-width: 0;
  }
  .list-group-horizontal-lg > .list-group-item + .list-group-item.active {
    margin-left: -1px;
    border-left-width: 1px;
  }
}
@media (min-width: 1200px) {
  .list-group-horizontal-xl {
    flex-direction: row;
  }
  .list-group-horizontal-xl > .list-group-item:first-child {
    border-bottom-left-radius: 0.3125rem;
    border-top-right-radius: 0;
  }
  .list-group-horizontal-xl > .list-group-item:last-child {
    border-top-right-radius: 0.3125rem;
    border-bottom-left-radius: 0;
  }
  .list-group-horizontal-xl > .list-group-item.active {
    margin-top: 0;
  }
  .list-group-horizontal-xl > .list-group-item + .list-group-item {
    border-top-width: 1px;
    border-left-width: 0;
  }
  .list-group-horizontal-xl > .list-group-item + .list-group-item.active {
    margin-left: -1px;
    border-left-width: 1px;
  }
}
.list-group-flush {
  border-radius: 0;
}
.list-group-flush > .list-group-item {
  border-width: 0 0 1px;
}
.list-group-flush > .list-group-item:last-child {
  border-bottom-width: 0;
}

.list-group-item-primary {
  color: #3c8757;
  background-color: #caf3d9;
}
.list-group-item-primary.list-group-item-action:hover, .list-group-item-primary.list-group-item-action:focus {
  color: #3c8757;
  background-color: #b5eeca;
}
.list-group-item-primary.list-group-item-action.active {
  color: #ffffff;
  background-color: #3c8757;
  border-color: #3c8757;
}

.list-group-item-secondary {
  color: #29384d;
  background-color: #c0c8d4;
}
.list-group-item-secondary.list-group-item-action:hover, .list-group-item-secondary.list-group-item-action:focus {
  color: #29384d;
  background-color: #b1bbca;
}
.list-group-item-secondary.list-group-item-action.active {
  color: #ffffff;
  background-color: #29384d;
  border-color: #29384d;
}

.list-group-item-success {
  color: #919896;
  background-color: #f8fcfb;
}
.list-group-item-success.list-group-item-action:hover, .list-group-item-success.list-group-item-action:focus {
  color: #919896;
  background-color: #e6f4f1;
}
.list-group-item-success.list-group-item-action.active {
  color: #ffffff;
  background-color: #919896;
  border-color: #919896;
}

.list-group-item-info {
  color: #93999e;
  background-color: #f9fdff;
}
.list-group-item-info.list-group-item-action:hover, .list-group-item-info.list-group-item-action:focus {
  color: #93999e;
  background-color: #e0f5ff;
}
.list-group-item-info.list-group-item-action.active {
  color: #ffffff;
  background-color: #93999e;
  border-color: #93999e;
}

.list-group-item-warning {
  color: #9e7219;
  background-color: #ffe7b8;
}
.list-group-item-warning.list-group-item-action:hover, .list-group-item-warning.list-group-item-action:focus {
  color: #9e7219;
  background-color: #ffde9f;
}
.list-group-item-warning.list-group-item-action.active {
  color: #ffffff;
  background-color: #9e7219;
  border-color: #9e7219;
}

.list-group-item-danger {
  color: #993838;
  background-color: #fcc8c8;
}
.list-group-item-danger.list-group-item-action:hover, .list-group-item-danger.list-group-item-action:focus {
  color: #993838;
  background-color: #fbb0b0;
}
.list-group-item-danger.list-group-item-action.active {
  color: #ffffff;
  background-color: #993838;
  border-color: #993838;
}

.list-group-item-light {
  color: #9a9a9a;
  background-color: #fdfdfd;
}
.list-group-item-light.list-group-item-action:hover, .list-group-item-light.list-group-item-action:focus {
  color: #9a9a9a;
  background-color: #f0f0f0;
}
.list-group-item-light.list-group-item-action.active {
  color: #ffffff;
  background-color: #9a9a9a;
  border-color: #9a9a9a;
}

.list-group-item-dark {
  color: var(--dark);
  background-color: #c6c6c6;
}
.list-group-item-dark.list-group-item-action:hover, .list-group-item-dark.list-group-item-action:focus {
  color: var(--dark);
  background-color: #b9b9b9;
}
.list-group-item-dark.list-group-item-action.active {
  color: #ffffff;
  background-color: var(--dark);
  border-color: var(--dark);
}

.list-group-item-white {
  color: #9e9e9e;
  background-color: white;
}
.list-group-item-white.list-group-item-action:hover, .list-group-item-white.list-group-item-action:focus {
  color: #9e9e9e;
  background-color: #f2f2f2;
}
.list-group-item-white.list-group-item-action.active {
  color: #ffffff;
  background-color: #9e9e9e;
  border-color: #9e9e9e;
}

.list-group-item-gray {
  color: #5c6066;
  background-color: #dcdee1;
}
.list-group-item-gray.list-group-item-action:hover, .list-group-item-gray.list-group-item-action:focus {
  color: #5c6066;
  background-color: #ced1d5;
}
.list-group-item-gray.list-group-item-action.active {
  color: #ffffff;
  background-color: #5c6066;
  border-color: #5c6066;
}

.list-group-item-gray300 {
  color: #949494;
  background-color: #fafafa;
}
.list-group-item-gray300.list-group-item-action:hover, .list-group-item-gray300.list-group-item-action:focus {
  color: #949494;
  background-color: #ededed;
}
.list-group-item-gray300.list-group-item-action.active {
  color: #ffffff;
  background-color: #949494;
  border-color: #949494;
}

.list-group-item-gray200 {
  color: #969696;
  background-color: #fbfbfb;
}
.list-group-item-gray200.list-group-item-action:hover, .list-group-item-gray200.list-group-item-action:focus {
  color: #969696;
  background-color: #eeeeee;
}
.list-group-item-gray200.list-group-item-action.active {
  color: #ffffff;
  background-color: #969696;
  border-color: #969696;
}

.list-group-item-gray100 {
  color: #9a9a9a;
  background-color: #fdfdfd;
}
.list-group-item-gray100.list-group-item-action:hover, .list-group-item-gray100.list-group-item-action:focus {
  color: #9a9a9a;
  background-color: #f0f0f0;
}
.list-group-item-gray100.list-group-item-action.active {
  color: #ffffff;
  background-color: #9a9a9a;
  border-color: #9a9a9a;
}

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

.media-body {
  flex: 1;
}

.badge {
  display: inline-block;
  padding: 0 0.5rem;
  font-size: 0.75rem;
  font-weight: 700;
  line-height: 1;
  text-align: center;
  white-space: nowrap;
  vertical-align: baseline;
  border-radius: 0.3125rem;
  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .badge {
    transition: none;
  }
}
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: #ffffff;
  background-color: #43d477;
}
a.badge-primary:hover, a.badge-primary:focus {
  color: #ffffff;
  background-color: #2aba5e;
}
a.badge-primary:focus, a.badge-primary.focus {
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(67, 212, 119, 0.5);
}

.badge-secondary {
  color: #ffffff;
  background-color: #ff6600;
}
a.badge-secondary:hover, a.badge-secondary:focus {
  color: #ffffff;
  background-color: #ffcc00;
}
a.badge-secondary:focus, a.badge-secondary.focus {
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(31, 59, 100, 0.5);
}

.badge-success {
  color: #ffffff;
  background-color: var(--success);
}
a.badge-success:hover, a.badge-success:focus {
  color: #ffffff;
  background-color: #c4e4da;
}
a.badge-success:focus, a.badge-success.focus {
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(231, 244, 240, 0.5);
}

.badge-info {
  color: #ffffff;
  background-color: var(--info);
}
a.badge-info:hover, a.badge-info:focus {
  color: #ffffff;
  background-color: #b8e3ff;
}
a.badge-info:focus, a.badge-info.focus {
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(235, 247, 255, 0.5);
}

.badge-warning {
  color: #ffffff;
  background-color: var(--warning);
}
a.badge-warning:hover, a.badge-warning:focus {
  color: #ffffff;
  background-color: #cc8900;
}
a.badge-warning:focus, a.badge-warning.focus {
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(255, 171, 0, 0.5);
}

.badge-danger {
  color: #ffffff;
  background-color: #EA1E61;
}
a.badge-danger:hover, a.badge-danger:focus {
  color: #ffffff;
  background-color: #f40b0b;
}
a.badge-danger:focus, a.badge-danger.focus {
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(246, 60, 60, 0.5);
}

.badge-light {
  color: #ffffff;
  background-color: var(--light);
}
a.badge-light:hover, a.badge-light:focus {
  color: #ffffff;
  background-color: #e0e0e0;
}
a.badge-light:focus, a.badge-light.focus {
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(249, 249, 249, 0.5);
}

.badge-dark {
  color: #ffffff;
  background-color: var(--dark);
}
a.badge-dark:hover, a.badge-dark:focus {
  color: #ffffff;
  background-color: #1b1b1b;
}
a.badge-dark:focus, a.badge-dark.focus {
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(52, 52, 52, 0.5);
}

.badge-white {
  color: #212529;
  background-color: #ffffff;
}
a.badge-white:hover, a.badge-white:focus {
  color: #212529;
  background-color: #e6e6e6;
}
a.badge-white:focus, a.badge-white.focus {
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(255, 255, 255, 0.5);
}

.badge-gray {
  color: #ffffff;
  background-color: #818894;
}
a.badge-gray:hover, a.badge-gray:focus {
  color: #ffffff;
  background-color: #686f7a;
}
a.badge-gray:focus, a.badge-gray.focus {
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(129, 136, 148, 0.5);
}

.badge-gray300 {
  color: #ffffff;
  background-color: #ececec;
}
a.badge-gray300:hover, a.badge-gray300:focus {
  color: #ffffff;
  background-color: lightgray;
}
a.badge-gray300:focus, a.badge-gray300.focus {
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(236, 236, 236, 0.5);
}

.badge-gray200 {
  color: #ffffff;
  background-color: #f1f1f1;
}
a.badge-gray200:hover, a.badge-gray200:focus {
  color: #ffffff;
  background-color: #d8d8d8;
}
a.badge-gray200:focus, a.badge-gray200.focus {
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(241, 241, 241, 0.5);
}

.badge-gray100 {
  color: #ffffff;
  background-color: var(--light);
}
a.badge-gray100:hover, a.badge-gray100:focus {
  color: #ffffff;
  background-color: #e0e0e0;
}
a.badge-gray100:focus, a.badge-gray100.focus {
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(249, 249, 249, 0.5);
}

.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 #ececec;
}
.nav-tabs .nav-link {
  margin-bottom: -1px;
  background-color: transparent;
  border: 1px solid transparent;
  border-top-left-radius: 0.3125rem;
  border-top-right-radius: 0.3125rem;
}
.nav-tabs .nav-link:hover, .nav-tabs .nav-link:focus {
  isolation: isolate;
  border-color: #f1f1f1 #f1f1f1 #ececec;
}
.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: #ffffff;
  border-color: #ececec #ececec #ffffff;
}
.nav-tabs .dropdown-menu {
  margin-top: -1px;
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}

.nav-pills .nav-link {
  background: none;
  border: 0;
  border-radius: 0.3125rem;
}
.nav-pills .nav-link.active,
.nav-pills .show > .nav-link {
  color: #ffffff;
  background-color: #43d477;
}

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

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

.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: 10px 20px;
}
.navbar .container,
.navbar .container-fluid,
.navbar .container-sm,
.navbar .container-md,
.navbar .container-lg,
.navbar .container-xl {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
}
.navbar-brand {
  display: inline-block;
  padding-top: 0.3375rem;
  padding-bottom: 0.3375rem;
  margin-right: 20px;
  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.3125rem;
}
.navbar-toggler:hover, .navbar-toggler:focus {
  text-decoration: none;
}

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

.navbar-nav-scroll {
  max-height: 75vh;
  overflow-y: auto;
}

@media (max-width: 575.98px) {
  .navbar-expand-sm > .container,
  .navbar-expand-sm > .container-fluid,
  .navbar-expand-sm > .container-sm,
  .navbar-expand-sm > .container-md,
  .navbar-expand-sm > .container-lg,
  .navbar-expand-sm > .container-xl {
    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.625rem;
    padding-left: 0.625rem;
  }
  .navbar-expand-sm > .container,
  .navbar-expand-sm > .container-fluid,
  .navbar-expand-sm > .container-sm,
  .navbar-expand-sm > .container-md,
  .navbar-expand-sm > .container-lg,
  .navbar-expand-sm > .container-xl {
    flex-wrap: nowrap;
  }
  .navbar-expand-sm .navbar-nav-scroll {
    overflow: visible;
  }
  .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,
  .navbar-expand-md > .container-sm,
  .navbar-expand-md > .container-md,
  .navbar-expand-md > .container-lg,
  .navbar-expand-md > .container-xl {
    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.625rem;
    padding-left: 0.625rem;
  }
  .navbar-expand-md > .container,
  .navbar-expand-md > .container-fluid,
  .navbar-expand-md > .container-sm,
  .navbar-expand-md > .container-md,
  .navbar-expand-md > .container-lg,
  .navbar-expand-md > .container-xl {
    flex-wrap: nowrap;
  }
  .navbar-expand-md .navbar-nav-scroll {
    overflow: visible;
  }
  .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,
  .navbar-expand-lg > .container-sm,
  .navbar-expand-lg > .container-md,
  .navbar-expand-lg > .container-lg,
  .navbar-expand-lg > .container-xl {
    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.625rem;
    padding-left: 0.625rem;
  }
  .navbar-expand-lg > .container,
  .navbar-expand-lg > .container-fluid,
  .navbar-expand-lg > .container-sm,
  .navbar-expand-lg > .container-md,
  .navbar-expand-lg > .container-lg,
  .navbar-expand-lg > .container-xl {
    flex-wrap: nowrap;
  }
  .navbar-expand-lg .navbar-nav-scroll {
    overflow: visible;
  }
  .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,
  .navbar-expand-xl > .container-sm,
  .navbar-expand-xl > .container-md,
  .navbar-expand-xl > .container-lg,
  .navbar-expand-xl > .container-xl {
    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.625rem;
    padding-left: 0.625rem;
  }
  .navbar-expand-xl > .container,
  .navbar-expand-xl > .container-fluid,
  .navbar-expand-xl > .container-sm,
  .navbar-expand-xl > .container-md,
  .navbar-expand-xl > .container-lg,
  .navbar-expand-xl > .container-xl {
    flex-wrap: nowrap;
  }
  .navbar-expand-xl .navbar-nav-scroll {
    overflow: visible;
  }
  .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,
.navbar-expand > .container-sm,
.navbar-expand > .container-md,
.navbar-expand > .container-lg,
.navbar-expand > .container-xl {
  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.625rem;
  padding-left: 0.625rem;
}
.navbar-expand > .container,
.navbar-expand > .container-fluid,
.navbar-expand > .container-sm,
.navbar-expand > .container-md,
.navbar-expand > .container-lg,
.navbar-expand > .container-xl {
  flex-wrap: nowrap;
}
.navbar-expand .navbar-nav-scroll {
  overflow: visible;
}
.navbar-expand .navbar-collapse {
  display: flex !important;
  flex-basis: auto;
}
.navbar-expand .navbar-toggler {
  display: none;
}

.navbar-light .navbar-brand {
  color: rgba(52, 52, 52, 0.9);
}
.navbar-light .navbar-brand:hover, .navbar-light .navbar-brand:focus {
  color: rgba(52, 52, 52, 0.9);
}
.navbar-light .navbar-nav .nav-link {
  color: rgba(52, 52, 52, 0.5);
}
.navbar-light .navbar-nav .nav-link:hover, .navbar-light .navbar-nav .nav-link:focus {
  color: rgba(52, 52, 52, 0.7);
}
.navbar-light .navbar-nav .nav-link.disabled {
  color: rgba(52, 52, 52, 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(52, 52, 52, 0.9);
}
.navbar-light .navbar-toggler {
  color: rgba(52, 52, 52, 0.5);
  border-color: rgba(52, 52, 52, 0.1);
}
.navbar-light .navbar-toggler-icon {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%2852, 52, 52, 0.5%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}
.navbar-light .navbar-text {
  color: rgba(52, 52, 52, 0.5);
}
.navbar-light .navbar-text a {
  color: rgba(52, 52, 52, 0.9);
}
.navbar-light .navbar-text a:hover, .navbar-light .navbar-text a:focus {
  color: rgba(52, 52, 52, 0.9);
}

.navbar-dark .navbar-brand {
  color: #ffffff;
}
.navbar-dark .navbar-brand:hover, .navbar-dark .navbar-brand:focus {
  color: #ffffff;
}
.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: #ffffff;
}
.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 xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.5%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}
.navbar-dark .navbar-text {
  color: rgba(255, 255, 255, 0.5);
}
.navbar-dark .navbar-text a {
  color: #ffffff;
}
.navbar-dark .navbar-text a:hover, .navbar-dark .navbar-text a:focus {
  color: #ffffff;
}

.table {
  width: 100%;
  margin-bottom: 20px;
  color: #171347;
}
.table th,
.table td {
  padding: 0.75rem;
  vertical-align: top;
  border-top: 1px solid #ececec;
}
.table thead th {
  vertical-align: bottom;
  border-bottom: 2px solid #ececec;
}
.table tbody + tbody {
  border-top: 2px solid #ececec;
}

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

.table-bordered {
  border: 1px solid #ececec;
}
.table-bordered th,
.table-bordered td {
  border: 1px solid #ececec;
}
.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(52, 52, 52, 0.05);
}

.table-hover tbody tr:hover {
  color: #171347;
  background-color: rgba(52, 52, 52, 0.075);
}

.table-primary,
.table-primary > th,
.table-primary > td {
  background-color: #caf3d9;
}
.table-primary th,
.table-primary td,
.table-primary thead th,
.table-primary tbody + tbody {
  border-color: #9de9b8;
}

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

.table-secondary,
.table-secondary > th,
.table-secondary > td {
  background-color: #c0c8d4;
}
.table-secondary th,
.table-secondary td,
.table-secondary thead th,
.table-secondary tbody + tbody {
  border-color: #8b99ae;
}

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

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

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

.table-info,
.table-info > th,
.table-info > td {
  background-color: #f9fdff;
}
.table-info th,
.table-info td,
.table-info thead th,
.table-info tbody + tbody {
  border-color: #f5fbff;
}

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

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

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

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

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

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

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

.table-dark,
.table-dark > th,
.table-dark > td {
  background-color: #c6c6c6;
}
.table-dark th,
.table-dark td,
.table-dark thead th,
.table-dark tbody + tbody {
  border-color: #959595;
}

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

.table-white,
.table-white > th,
.table-white > td {
  background-color: white;
}
.table-white th,
.table-white td,
.table-white thead th,
.table-white tbody + tbody {
  border-color: white;
}

.table-hover .table-white:hover {
  background-color: #f2f2f2;
}
.table-hover .table-white:hover > td,
.table-hover .table-white:hover > th {
  background-color: #f2f2f2;
}

.table-gray,
.table-gray > th,
.table-gray > td {
  background-color: #dcdee1;
}
.table-gray th,
.table-gray td,
.table-gray thead th,
.table-gray tbody + tbody {
  border-color: #bdc1c7;
}

.table-hover .table-gray:hover {
  background-color: #ced1d5;
}
.table-hover .table-gray:hover > td,
.table-hover .table-gray:hover > th {
  background-color: #ced1d5;
}

.table-gray300,
.table-gray300 > th,
.table-gray300 > td {
  background-color: #fafafa;
}
.table-gray300 th,
.table-gray300 td,
.table-gray300 thead th,
.table-gray300 tbody + tbody {
  border-color: whitesmoke;
}

.table-hover .table-gray300:hover {
  background-color: #ededed;
}
.table-hover .table-gray300:hover > td,
.table-hover .table-gray300:hover > th {
  background-color: #ededed;
}

.table-gray200,
.table-gray200 > th,
.table-gray200 > td {
  background-color: #fbfbfb;
}
.table-gray200 th,
.table-gray200 td,
.table-gray200 thead th,
.table-gray200 tbody + tbody {
  border-color: #f8f8f8;
}

.table-hover .table-gray200:hover {
  background-color: #eeeeee;
}
.table-hover .table-gray200:hover > td,
.table-hover .table-gray200:hover > th {
  background-color: #eeeeee;
}

.table-gray100,
.table-gray100 > th,
.table-gray100 > td {
  background-color: #fdfdfd;
}
.table-gray100 th,
.table-gray100 td,
.table-gray100 thead th,
.table-gray100 tbody + tbody {
  border-color: #fcfcfc;
}

.table-hover .table-gray100:hover {
  background-color: #f0f0f0;
}
.table-hover .table-gray100:hover > td,
.table-hover .table-gray100:hover > th {
  background-color: #f0f0f0;
}

.table-active,
.table-active > th,
.table-active > td {
  background-color: rgba(52, 52, 52, 0.075);
}

.table-hover .table-active:hover {
  background-color: rgba(39, 39, 39, 0.075);
}
.table-hover .table-active:hover > td,
.table-hover .table-active:hover > th {
  background-color: rgba(39, 39, 39, 0.075);
}

.table .thead-dark th {
  color: #ffffff;
  background-color: #343a40;
  border-color: #454d55;
}
.table .thead-light th {
  color: #495057;
  background-color: #f1f1f1;
  border-color: #ececec;
}

.table-dark {
  color: #ffffff;
  background-color: #343a40;
}
.table-dark th,
.table-dark td,
.table-dark thead th {
  border-color: #454d55;
}
.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 {
  color: #ffffff;
  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;
  }
  .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;
  }
  .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;
  }
  .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;
  }
  .table-responsive-xl > .table-bordered {
    border: 0;
  }
}
.table-responsive {
  display: block;
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
.table-responsive > .table-bordered {
  border: 0;
}

.card {
  position: relative;
  display: flex;
  flex-direction: column;
  min-width: 0;
  word-wrap: break-word;
  background-color: #ffffff;
  background-clip: border-box;
  border: 1px solid rgba(52, 52, 52, 0.125);
  border-radius: 0.3125rem;
}
.card > hr {
  margin-right: 0;
  margin-left: 0;
}
.card > .list-group {
  border-top: inherit;
  border-bottom: inherit;
}
.card > .list-group:first-child {
  border-top-width: 0;
  border-top-left-radius: calc(0.3125rem - 1px);
  border-top-right-radius: calc(0.3125rem - 1px);
}
.card > .list-group:last-child {
  border-bottom-width: 0;
  border-bottom-right-radius: calc(0.3125rem - 1px);
  border-bottom-left-radius: calc(0.3125rem - 1px);
}
.card > .card-header + .list-group,
.card > .list-group + .card-footer {
  border-top: 0;
}

.card-body {
  flex: 1 1 auto;
  min-height: 1px;
  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;
  background-color: rgba(52, 52, 52, 0.03);
  border-bottom: 1px solid rgba(52, 52, 52, 0.125);
}
.card-header:first-child {
  border-radius: calc(0.3125rem - 1px) calc(0.3125rem - 1px) 0 0;
}

.card-footer {
  padding: 0.75rem 1.25rem;
  background-color: rgba(52, 52, 52, 0.03);
  border-top: 1px solid rgba(52, 52, 52, 0.125);
}
.card-footer:last-child {
  border-radius: 0 0 calc(0.3125rem - 1px) calc(0.3125rem - 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;
  border-radius: calc(0.3125rem - 1px);
}

.card-img,
.card-img-top,
.card-img-bottom {
  flex-shrink: 0;
  width: 100%;
}

.card-img,
.card-img-top {
  border-top-left-radius: calc(0.3125rem - 1px);
  border-top-right-radius: calc(0.3125rem - 1px);
}

.card-img,
.card-img-bottom {
  border-bottom-right-radius: calc(0.3125rem - 1px);
  border-bottom-left-radius: calc(0.3125rem - 1px);
}

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

.card-group > .card {
  margin-bottom: 15px;
}
@media (min-width: 576px) {
  .card-group {
    display: flex;
    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:not(:last-child) {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
  }
  .card-group > .card:not(:last-child) .card-img-top,
  .card-group > .card:not(:last-child) .card-header {
    border-top-right-radius: 0;
  }
  .card-group > .card:not(:last-child) .card-img-bottom,
  .card-group > .card:not(:last-child) .card-footer {
    border-bottom-right-radius: 0;
  }
  .card-group > .card:not(:first-child) {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
  }
  .card-group > .card:not(:first-child) .card-img-top,
  .card-group > .card:not(:first-child) .card-header {
    border-top-left-radius: 0;
  }
  .card-group > .card:not(:first-child) .card-img-bottom,
  .card-group > .card:not(:first-child) .card-footer {
    border-bottom-left-radius: 0;
  }
}

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

.accordion {
  overflow-anchor: none;
}
.accordion > .card {
  overflow: hidden;
}
.accordion > .card:not(:last-of-type) {
  border-bottom: 0;
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
}
.accordion > .card:not(:first-of-type) {
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}
.accordion > .card > .card-header {
  border-radius: 0;
  margin-bottom: -1px;
}

.form-control {
  display: block;
  width: 100%;
  height: 2.5rem;
  padding: 0.5rem 1rem;
  font-family: "main-font-family";
  font-size: 0.75rem;
  font-weight: normal;
  line-height: 1.25;
  color: var(--dark);
  background-color: #ffffff;
  background-clip: padding-box;
  border: 1px solid #ececec;
  border-radius: 0.5rem;
  box-shadow: none;
  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .form-control {
    transition: none;
  }
}
.form-control::-ms-expand {
  background-color: transparent;
  border: 0;
}
.form-control:focus {
  color: var(--dark);
  background-color: #ffffff;
  border-color: #43d477;
  outline: 0;
  box-shadow: 1.5rem;
}
.form-control::-moz-placeholder {
  color: #818894;
  opacity: 1;
}
.form-control::placeholder {
  color: #818894;
  opacity: 1;
}
.form-control:disabled, .form-control[readonly] {
  background-color: #f1f1f1;
  opacity: 1;
}

input[type=date].form-control,
input[type=time].form-control,
input[type=datetime-local].form-control,
input[type=month].form-control {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}

select.form-control:-moz-focusring {
  color: transparent;
  text-shadow: 0 0 0 var(--dark);
}
select.form-control:focus::-ms-value {
  color: var(--dark);
  background-color: #ffffff;
}

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

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

.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: 1rem;
  line-height: 1.5;
}

.form-control-plaintext {
  display: block;
  width: 100%;
  padding: 0.5rem 0;
  margin-bottom: 0;
  font-size: 0.75rem;
  line-height: 1.25;
  color: var(--dark);
  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.5em + 0.5rem + 2px);
  padding: 0.25rem 0.5rem;
  font-size: 1rem;
  line-height: 1.5;
  border-radius: 0.625rem;
}

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

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, .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-feedback {
  display: none;
  width: 100%;
  margin-top: 0.25rem;
  font-size: 0.875em;
  color: #43d477;
}

.valid-tooltip {
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 5;
  display: none;
  max-width: 100%;
  padding: 0.25rem 0.5rem;
  margin-top: 0.1rem;
  font-size: 0.75rem;
  line-height: 1.3;
  color: #ffffff;
  background-color: rgba(67, 212, 119, 0.9);
  border-radius: 5px;
}
.form-row > .col > .valid-tooltip, .form-row > [class*=col-] > .valid-tooltip {
  left: 5px;
}

.was-validated :valid ~ .valid-feedback,
.was-validated :valid ~ .valid-tooltip,
.is-valid ~ .valid-feedback,
.is-valid ~ .valid-tooltip {
  display: block;
}

.was-validated .form-control:valid, .form-control.is-valid {
  border-color: #43d477;
  padding-right: calc(1.25em + 1rem) !important;
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%2343d477' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-position: right calc(0.3125em + 0.25rem) center;
  background-size: calc(0.625em + 0.5rem) calc(0.625em + 0.5rem);
}
.was-validated .form-control:valid:focus, .form-control.is-valid:focus {
  border-color: #43d477;
  box-shadow: 0 0 0 0.2rem rgba(67, 212, 119, 0.25);
}

.was-validated select.form-control:valid, select.form-control.is-valid {
  padding-right: 4rem !important;
  background-position: right 2rem center;
}

.was-validated textarea.form-control:valid, textarea.form-control.is-valid {
  padding-right: calc(1.25em + 1rem);
  background-position: top calc(0.3125em + 0.25rem) right calc(0.3125em + 0.25rem);
}

.was-validated .custom-select:valid, .custom-select.is-valid {
  border-color: #43d477;
  padding-right: calc(0.75em + 2.75rem) !important;
  background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") right 1rem center/8px 10px no-repeat, #ffffff url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%2343d477' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e") center right 2rem/calc(0.625em + 0.5rem) calc(0.625em + 0.5rem) no-repeat;
}
.was-validated .custom-select:valid:focus, .custom-select.is-valid:focus {
  border-color: #43d477;
  box-shadow: 0 0 0 0.2rem rgba(67, 212, 119, 0.25);
}

.was-validated .form-check-input:valid ~ .form-check-label, .form-check-input.is-valid ~ .form-check-label {
  color: #43d477;
}
.was-validated .form-check-input:valid ~ .valid-feedback,
.was-validated .form-check-input:valid ~ .valid-tooltip, .form-check-input.is-valid ~ .valid-feedback,
.form-check-input.is-valid ~ .valid-tooltip {
  display: block;
}

.was-validated .custom-control-input:valid ~ .custom-control-label, .custom-control-input.is-valid ~ .custom-control-label {
  color: #43d477;
}
.was-validated .custom-control-input:valid ~ .custom-control-label::before, .custom-control-input.is-valid ~ .custom-control-label::before {
  border-color: #43d477;
}
.was-validated .custom-control-input:valid:checked ~ .custom-control-label::before, .custom-control-input.is-valid:checked ~ .custom-control-label::before {
  border-color: #6ddd95;
  background-color: #6ddd95;
}
.was-validated .custom-control-input:valid:focus ~ .custom-control-label::before, .custom-control-input.is-valid:focus ~ .custom-control-label::before {
  box-shadow: 0 0 0 0.2rem rgba(67, 212, 119, 0.25);
}
.was-validated .custom-control-input:valid:focus:not(:checked) ~ .custom-control-label::before, .custom-control-input.is-valid:focus:not(:checked) ~ .custom-control-label::before {
  border-color: #43d477;
}

.was-validated .custom-file-input:valid ~ .custom-file-label, .custom-file-input.is-valid ~ .custom-file-label {
  border-color: #43d477;
}
.was-validated .custom-file-input:valid:focus ~ .custom-file-label, .custom-file-input.is-valid:focus ~ .custom-file-label {
  border-color: #43d477;
  box-shadow: 0 0 0 0.2rem rgba(67, 212, 119, 0.25);
}

.invalid-feedback {
  display: none;
  width: 100%;
  margin-top: 0.25rem;
  font-size: 0.875em;
  color: var(--danger);
}

.invalid-tooltip {
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 5;
  display: none;
  max-width: 100%;
  padding: 0.25rem 0.5rem;
  margin-top: 0.1rem;
  font-size: 0.75rem;
  line-height: 1.3;
  color: #ffffff;
  background-color: rgba(246, 60, 60, 0.9);
  border-radius: 5px;
}
.form-row > .col > .invalid-tooltip, .form-row > [class*=col-] > .invalid-tooltip {
  left: 5px;
}

.was-validated :invalid ~ .invalid-feedback,
.was-validated :invalid ~ .invalid-tooltip,
.is-invalid ~ .invalid-feedback,
.is-invalid ~ .invalid-tooltip {
  display: block;
}

.was-validated .form-control:invalid, .form-control.is-invalid {
  border-color: var(--danger);
  padding-right: calc(1.25em + 1rem) !important;
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23f63c3c' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23f63c3c' stroke='none'/%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-position: right calc(0.3125em + 0.25rem) center;
  background-size: calc(0.625em + 0.5rem) calc(0.625em + 0.5rem);
}
.was-validated .form-control:invalid:focus, .form-control.is-invalid:focus {
  border-color: var(--danger);
  box-shadow: 0 0 0 0.2rem rgba(246, 60, 60, 0.25);
}

.was-validated select.form-control:invalid, select.form-control.is-invalid {
  padding-right: 4rem !important;
  background-position: right 2rem center;
}

.was-validated textarea.form-control:invalid, textarea.form-control.is-invalid {
  padding-right: calc(1.25em + 1rem);
  background-position: top calc(0.3125em + 0.25rem) right calc(0.3125em + 0.25rem);
}

.was-validated .custom-select:invalid, .custom-select.is-invalid {
  border-color: var(--danger);
  padding-right: calc(0.75em + 2.75rem) !important;
  background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") right 1rem center/8px 10px no-repeat, #ffffff url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23f63c3c' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23f63c3c' stroke='none'/%3e%3c/svg%3e") center right 2rem/calc(0.625em + 0.5rem) calc(0.625em + 0.5rem) no-repeat;
}
.was-validated .custom-select:invalid:focus, .custom-select.is-invalid:focus {
  border-color: var(--danger);
  box-shadow: 0 0 0 0.2rem rgba(246, 60, 60, 0.25);
}

.was-validated .form-check-input:invalid ~ .form-check-label, .form-check-input.is-invalid ~ .form-check-label {
  color: var(--danger);
}
.was-validated .form-check-input:invalid ~ .invalid-feedback,
.was-validated .form-check-input:invalid ~ .invalid-tooltip, .form-check-input.is-invalid ~ .invalid-feedback,
.form-check-input.is-invalid ~ .invalid-tooltip {
  display: block;
}

.was-validated .custom-control-input:invalid ~ .custom-control-label, .custom-control-input.is-invalid ~ .custom-control-label {
  color: var(--danger);
}
.was-validated .custom-control-input:invalid ~ .custom-control-label::before, .custom-control-input.is-invalid ~ .custom-control-label::before {
  border-color: var(--danger);
}
.was-validated .custom-control-input:invalid:checked ~ .custom-control-label::before, .custom-control-input.is-invalid:checked ~ .custom-control-label::before {
  border-color: #f86d6d;
  background-color: #f86d6d;
}
.was-validated .custom-control-input:invalid:focus ~ .custom-control-label::before, .custom-control-input.is-invalid:focus ~ .custom-control-label::before {
  box-shadow: 0 0 0 0.2rem rgba(246, 60, 60, 0.25);
}
.was-validated .custom-control-input:invalid:focus:not(:checked) ~ .custom-control-label::before, .custom-control-input.is-invalid:focus:not(:checked) ~ .custom-control-label::before {
  border-color: var(--danger);
}

.was-validated .custom-file-input:invalid ~ .custom-file-label, .custom-file-input.is-invalid ~ .custom-file-label {
  border-color: var(--danger);
}
.was-validated .custom-file-input:invalid:focus ~ .custom-file-label, .custom-file-input.is-invalid:focus ~ .custom-file-label {
  border-color: var(--danger);
  box-shadow: 0 0 0 0.2rem rgba(246, 60, 60, 0.25);
}

.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,
  .form-inline .custom-select {
    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;
    flex-shrink: 0;
    margin-top: 0;
    margin-right: 0.25rem;
    margin-left: 0;
  }
  .form-inline .custom-control {
    align-items: center;
    justify-content: center;
  }
  .form-inline .custom-control-label {
    margin-bottom: 0;
  }
}

.input-group {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  width: 100%;
}
.input-group > .form-control,
.input-group > .form-control-plaintext,
.input-group > .custom-select,
.input-group > .custom-file {
  position: relative;
  flex: 1 1 auto;
  width: 1%;
  min-width: 0;
  margin-bottom: 0;
}
.input-group > .form-control + .form-control,
.input-group > .form-control + .custom-select,
.input-group > .form-control + .custom-file,
.input-group > .form-control-plaintext + .form-control,
.input-group > .form-control-plaintext + .custom-select,
.input-group > .form-control-plaintext + .custom-file,
.input-group > .custom-select + .form-control,
.input-group > .custom-select + .custom-select,
.input-group > .custom-select + .custom-file,
.input-group > .custom-file + .form-control,
.input-group > .custom-file + .custom-select,
.input-group > .custom-file + .custom-file {
  margin-left: -1px;
}
.input-group > .form-control:focus,
.input-group > .custom-select:focus,
.input-group > .custom-file .custom-file-input:focus ~ .custom-file-label {
  z-index: 3;
}
.input-group > .custom-file .custom-file-input:focus {
  z-index: 4;
}
.input-group > .form-control:not(:first-child),
.input-group > .custom-select:not(:first-child) {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}
.input-group > .custom-file {
  display: flex;
  align-items: center;
}
.input-group > .custom-file:not(:last-child) .custom-file-label, .input-group > .custom-file:not(:last-child) .custom-file-label::after {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}
.input-group > .custom-file:not(:first-child) .custom-file-label {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}
.input-group:not(.has-validation) > .form-control:not(:last-child),
.input-group:not(.has-validation) > .custom-select:not(:last-child),
.input-group:not(.has-validation) > .custom-file:not(:last-child) .custom-file-label,
.input-group:not(.has-validation) > .custom-file:not(:last-child) .custom-file-label::after {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}
.input-group.has-validation > .form-control:nth-last-child(n+3),
.input-group.has-validation > .custom-select:nth-last-child(n+3),
.input-group.has-validation > .custom-file:nth-last-child(n+3) .custom-file-label,
.input-group.has-validation > .custom-file:nth-last-child(n+3) .custom-file-label::after {
  border-top-right-radius: 0;
  border-bottom-right-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.5rem 1rem;
  margin-bottom: 0;
  font-size: 0.75rem;
  font-weight: 400;
  line-height: 1.25;
  color: var(--dark);
  text-align: center;
  white-space: nowrap;
  background-color: #ff6600;
  border: 1px solid #ff6600;
  border-radius: 0.5rem;
}
.input-group-text input[type=radio],
.input-group-text input[type=checkbox] {
  margin-top: 0;
}

.input-group-lg > .form-control:not(textarea),
.input-group-lg > .custom-select {
  height: calc(1.5em + 1rem + 2px);
}

.input-group-lg > .form-control,
.input-group-lg > .custom-select,
.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.9375rem;
}

.input-group-sm > .form-control:not(textarea),
.input-group-sm > .custom-select {
  height: calc(1.5em + 0.5rem + 2px);
}

.input-group-sm > .form-control,
.input-group-sm > .custom-select,
.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: 1rem;
  line-height: 1.5;
  border-radius: 0.625rem;
}

.input-group-lg > .custom-select,
.input-group-sm > .custom-select {
  padding-right: 2rem;
}

.input-group > .input-group-prepend > .btn,
.input-group > .input-group-prepend > .input-group-text,
.input-group:not(.has-validation) > .input-group-append:not(:last-child) > .btn,
.input-group:not(.has-validation) > .input-group-append:not(:last-child) > .input-group-text,
.input-group.has-validation > .input-group-append:nth-last-child(n+3) > .btn,
.input-group.has-validation > .input-group-append:nth-last-child(n+3) > .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;
}

.custom-control {
  position: relative;
  z-index: 1;
  display: block;
  min-height: 1.3rem;
  padding-left: 2rem;
  -webkit-print-color-adjust: exact;
          print-color-adjust: exact;
}

.custom-control-inline {
  display: inline-flex;
  margin-right: 1rem;
}

.custom-control-input {
  position: absolute;
  left: 0;
  z-index: -1;
  width: 1.5rem;
  height: 1.4rem;
  opacity: 0;
}
.custom-control-input:checked ~ .custom-control-label::before {
  color: #ffffff;
  border-color: #43d477;
  background-color: #43d477;
}
.custom-control-input:focus ~ .custom-control-label::before {
  box-shadow: none, 1.5rem;
}
.custom-control-input:focus:not(:checked) ~ .custom-control-label::before {
  border-color: #43d477;
}
.custom-control-input:not(:disabled):active ~ .custom-control-label::before {
  color: #ffffff;
  background-color: #43d477;
  border-color: #43d477;
}
.custom-control-input[disabled] ~ .custom-control-label, .custom-control-input:disabled ~ .custom-control-label {
  color: #6c757d;
}
.custom-control-input[disabled] ~ .custom-control-label::before, .custom-control-input:disabled ~ .custom-control-label::before {
  background-color: #f1f1f1;
}

.custom-control-label {
  position: relative;
  margin-bottom: 0;
  vertical-align: top;
}
.custom-control-label::before {
  position: absolute;
  top: -0.1rem;
  left: -2rem;
  display: block;
  width: 1.5rem;
  height: 1.5rem;
  pointer-events: none;
  content: "";
  background-color: #ffffff;
  border: 2px solid #adb5bd;
  box-shadow: none;
}
.custom-control-label::after {
  position: absolute;
  top: -0.1rem;
  left: -2rem;
  display: block;
  width: 1.5rem;
  height: 1.5rem;
  content: "";
  background: 50%/50% 50% no-repeat;
}

.custom-checkbox .custom-control-label::before {
  border-radius: 0.25rem;
}
.custom-checkbox .custom-control-input:checked ~ .custom-control-label::after {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%23ffffff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26l2.974 2.99L8 2.193z'/%3e%3c/svg%3e");
}
.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::before {
  border-color: #43d477;
  background-color: #43d477;
}
.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::after {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='4' viewBox='0 0 4 4'%3e%3cpath stroke='%23ffffff' d='M0 2h4'/%3e%3c/svg%3e");
}
.custom-checkbox .custom-control-input:disabled:checked ~ .custom-control-label::before {
  background-color: rgba(67, 212, 119, 0.5);
}
.custom-checkbox .custom-control-input:disabled:indeterminate ~ .custom-control-label::before {
  background-color: rgba(67, 212, 119, 0.5);
}

.custom-radio .custom-control-label::before {
  border-radius: 50%;
}
.custom-radio .custom-control-input:checked ~ .custom-control-label::after {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23ffffff'/%3e%3c/svg%3e");
}
.custom-radio .custom-control-input:disabled:checked ~ .custom-control-label::before {
  background-color: rgba(67, 212, 119, 0.5);
}

.custom-switch {
  padding-left: 3.125rem;
}
.custom-switch .custom-control-label::before {
  left: -3.125rem;
  width: 2.625rem;
  pointer-events: all;
  border-radius: 0.75rem;
}
.custom-switch .custom-control-label::after {
  top: calc(-0.1rem + 4px);
  left: calc(-3.125rem + 4px);
  width: calc(1.5rem - 8px);
  height: calc(1.5rem - 8px);
  background-color: #adb5bd;
  border-radius: 0.75rem;
  transition: transform 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .custom-switch .custom-control-label::after {
    transition: none;
  }
}
.custom-switch .custom-control-input:checked ~ .custom-control-label::after {
  background-color: #ffffff;
  transform: translateX(1.125rem);
}
.custom-switch .custom-control-input:disabled:checked ~ .custom-control-label::before {
  background-color: rgba(67, 212, 119, 0.5);
}

.custom-select {
  display: inline-block;
  width: 100%;
  height: 2.5rem;
  padding: 0.5rem 2rem 0.5rem 1rem;
  font-family: "main-font-family";
  font-size: 0.75rem;
  font-weight: normal;
  line-height: 1.25;
  color: var(--dark);
  vertical-align: middle;
  background: #ffffff url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") right 1rem center/8px 10px no-repeat;
  border: 1px solid #ececec;
  border-radius: 0.3125rem;
  box-shadow: inset 0 1px 2px rgba(52, 52, 52, 0.075);
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}
.custom-select:focus {
  border-color: #43d477;
  outline: 0;
  box-shadow: inset 0 1px 2px rgba(52, 52, 52, 0.075), 0 0 0 0.2rem rgba(67, 212, 119, 0.25);
}
.custom-select:focus::-ms-value {
  color: var(--dark);
  background-color: #ffffff;
}
.custom-select[multiple], .custom-select[size]:not([size="1"]) {
  height: auto;
  padding-right: 1rem;
  background-image: none;
}
.custom-select:disabled {
  color: #6c757d;
  background-color: #f1f1f1;
}
.custom-select::-ms-expand {
  display: none;
}
.custom-select:-moz-focusring {
  color: transparent;
  text-shadow: 0 0 0 var(--dark);
}

.custom-select-sm {
  height: calc(1.5em + 0.5rem + 2px);
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
  padding-left: 0.5rem;
  font-size: 1rem;
}

.custom-select-lg {
  height: calc(1.5em + 1rem + 2px);
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  padding-left: 1rem;
  font-size: 1.25rem;
}

.custom-file {
  position: relative;
  display: inline-block;
  width: 100%;
  height: 2.5rem;
  margin-bottom: 0;
}

.custom-file-input {
  position: relative;
  z-index: 2;
  width: 100%;
  height: 2.5rem;
  margin: 0;
  overflow: hidden;
  opacity: 0;
}
.custom-file-input:focus ~ .custom-file-label {
  border-color: #43d477;
  box-shadow: 1.5rem;
}
.custom-file-input[disabled] ~ .custom-file-label, .custom-file-input:disabled ~ .custom-file-label {
  background-color: #f1f1f1;
}
.custom-file-input:lang(en) ~ .custom-file-label::after {
  content: "Browse";
}
.custom-file-input ~ .custom-file-label[data-browse]::after {
  content: attr(data-browse);
}

.custom-file-label {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  z-index: 1;
  height: 2.5rem;
  padding: 0.5rem 1rem;
  overflow: hidden;
  font-family: "main-font-family";
  font-weight: normal;
  line-height: 1.25;
  color: var(--dark);
  background-color: #ffffff;
  border: 1px solid #ececec;
  border-radius: 0.5rem;
  box-shadow: none;
}
.custom-file-label::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  z-index: 3;
  display: block;
  height: calc(1.25em + 1rem);
  padding: 0.5rem 1rem;
  line-height: 1.25;
  color: #ffffff;
  content: "Browse";
  background-color: #ff6600;
  border-left: inherit;
  border-radius: 0 0.5rem 0.5rem 0;
}

.custom-range {
  width: 100%;
  height: 1.4rem;
  padding: 0;
  background-color: transparent;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}
.custom-range:focus {
  outline: 0;
}
.custom-range:focus::-webkit-slider-thumb {
  box-shadow: 0 0 0 1px #ffffff, 1.5rem;
}
.custom-range:focus::-moz-range-thumb {
  box-shadow: 0 0 0 1px #ffffff, 1.5rem;
}
.custom-range:focus::-ms-thumb {
  box-shadow: 0 0 0 1px #ffffff, 1.5rem;
}
.custom-range::-moz-focus-outer {
  border: 0;
}
.custom-range::-webkit-slider-thumb {
  width: 1rem;
  height: 1rem;
  margin-top: -0.25rem;
  background-color: #43d477;
  border: 0;
  border-radius: 1rem;
  box-shadow: 0 0.1rem 0.25rem rgba(52, 52, 52, 0.1);
  -webkit-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
  transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
  -webkit-appearance: none;
          appearance: none;
}
@media (prefers-reduced-motion: reduce) {
  .custom-range::-webkit-slider-thumb {
    -webkit-transition: none;
    transition: none;
  }
}
.custom-range::-webkit-slider-thumb:active {
  background-color: #d4f5e0;
}
.custom-range::-webkit-slider-runnable-track {
  width: 100%;
  height: 0.5rem;
  color: transparent;
  cursor: pointer;
  background-color: #ececec;
  border-color: transparent;
  border-radius: 1rem;
  box-shadow: inset 0 0.25rem 0.25rem rgba(52, 52, 52, 0.1);
}
.custom-range::-moz-range-thumb {
  width: 1rem;
  height: 1rem;
  background-color: #43d477;
  border: 0;
  border-radius: 1rem;
  box-shadow: 0 0.1rem 0.25rem rgba(52, 52, 52, 0.1);
  -moz-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
  transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
  -moz-appearance: none;
       appearance: none;
}
@media (prefers-reduced-motion: reduce) {
  .custom-range::-moz-range-thumb {
    -moz-transition: none;
    transition: none;
  }
}
.custom-range::-moz-range-thumb:active {
  background-color: #d4f5e0;
}
.custom-range::-moz-range-track {
  width: 100%;
  height: 0.5rem;
  color: transparent;
  cursor: pointer;
  background-color: #ececec;
  border-color: transparent;
  border-radius: 1rem;
  box-shadow: inset 0 0.25rem 0.25rem rgba(52, 52, 52, 0.1);
}
.custom-range::-ms-thumb {
  width: 1rem;
  height: 1rem;
  margin-top: 0;
  margin-right: 0.2rem;
  margin-left: 0.2rem;
  background-color: #43d477;
  border: 0;
  border-radius: 1rem;
  box-shadow: 0 0.1rem 0.25rem rgba(52, 52, 52, 0.1);
  -ms-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
  transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
  appearance: none;
}
@media (prefers-reduced-motion: reduce) {
  .custom-range::-ms-thumb {
    -ms-transition: none;
    transition: none;
  }
}
.custom-range::-ms-thumb:active {
  background-color: #d4f5e0;
}
.custom-range::-ms-track {
  width: 100%;
  height: 0.5rem;
  color: transparent;
  cursor: pointer;
  background-color: transparent;
  border-color: transparent;
  border-width: 0.5rem;
  box-shadow: inset 0 0.25rem 0.25rem rgba(52, 52, 52, 0.1);
}
.custom-range::-ms-fill-lower {
  background-color: #ececec;
  border-radius: 1rem;
}
.custom-range::-ms-fill-upper {
  margin-right: 15px;
  background-color: #ececec;
  border-radius: 1rem;
}
.custom-range:disabled::-webkit-slider-thumb {
  background-color: #adb5bd;
}
.custom-range:disabled::-webkit-slider-runnable-track {
  cursor: default;
}
.custom-range:disabled::-moz-range-thumb {
  background-color: #adb5bd;
}
.custom-range:disabled::-moz-range-track {
  cursor: default;
}
.custom-range:disabled::-ms-thumb {
  background-color: #adb5bd;
}

.custom-control-label::before,
.custom-file-label,
.custom-select {
  transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .custom-control-label::before,
  .custom-file-label,
  .custom-select {
    transition: none;
  }
}

.btn {
  display: inline-block;
  font-weight: 400;
  color: var(--dark);
  text-align: center;
  vertical-align: middle;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  background-color: transparent;
  border: 1px solid transparent;
  padding-right: 32px;
  padding-left: 32px;
  height: 48px;
  font-size: 0.875rem;
  border-radius: 8px;
  font-weight: 500;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .btn {
    transition: none;
  }
}
.btn:hover {
  color: var(--dark);
  text-decoration: none;
}
.btn:focus, .btn.focus {
  outline: 0;
  box-shadow: none;
}
.btn.disabled, .btn:disabled {
  opacity: 0.65;
  box-shadow: none;
}
.btn:not(:disabled):not(.disabled) {
  cursor: pointer;
}
.btn:not(:disabled):not(.disabled):active, .btn:not(:disabled):not(.disabled).active {
  box-shadow: none;
}
a.btn.disabled,
fieldset:disabled a.btn {
  pointer-events: none;
}

.btn-primary {
  color: #ffffff;
  background-color: #43d477;
  border-color: #43d477;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(52, 52, 52, 0.075);
}
.btn-primary:hover {
  color: #ffffff;
  background-color: #2dc463;
  border-color: #2aba5e;
}
.btn-primary:focus, .btn-primary.focus {
  color: #ffffff;
  background-color: #2dc463;
  border-color: #2aba5e;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(52, 52, 52, 0.075), 0 0 0 0 rgba(95, 218, 139, 0.5);
}
.btn-primary.disabled, .btn-primary:disabled {
  color: #ffffff;
  background-color: #43d477;
  border-color: #43d477;
}
.btn-primary:not(:disabled):not(.disabled):active, .btn-primary:not(:disabled):not(.disabled).active, .show > .btn-primary.dropdown-toggle {
  color: #ffffff;
  background-color: #2aba5e;
  border-color: #28af59;
}
.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(95, 218, 139, 0.5);
}

.btn-secondary {
  color: #ffffff;
  background-color: #ff6600;
  border-color: #ff6600;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(52, 52, 52, 0.075);
}
.btn-secondary:hover {
  color: #ffffff;
  background-color: #162a47;
  border-color: #ffcc00;
}
.btn-secondary:focus, .btn-secondary.focus {
  color: #ffffff;
  background-color: #162a47;
  border-color: #ffcc00;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(52, 52, 52, 0.075), 0 0 0 0 rgba(65, 88, 123, 0.5);
}
.btn-secondary.disabled, .btn-secondary:disabled {
  color: #ffffff;
  background-color: #ff6600;
  border-color: #ff6600;
}
.btn-secondary:not(:disabled):not(.disabled):active, .btn-secondary:not(:disabled):not(.disabled).active, .show > .btn-secondary.dropdown-toggle {
  color: #ffffff;
  background-color: #ffcc00;
  border-color: #101e33;
}
.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(65, 88, 123, 0.5);
}

.btn-success {
  color: #ffffff;
  background-color: var(--success);
  border-color: var(--success);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(52, 52, 52, 0.075);
}
.btn-success:hover {
  color: #ffffff;
  background-color: #cde8e0;
  border-color: #c4e4da;
}
.btn-success:focus, .btn-success.focus {
  color: #ffffff;
  background-color: #cde8e0;
  border-color: #c4e4da;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(52, 52, 52, 0.075), 0 0 0 0 rgba(235, 246, 242, 0.5);
}
.btn-success.disabled, .btn-success:disabled {
  color: #ffffff;
  background-color: var(--success);
  border-color: var(--success);
}
.btn-success:not(:disabled):not(.disabled):active, .btn-success:not(:disabled):not(.disabled).active, .show > .btn-success.dropdown-toggle {
  color: #ffffff;
  background-color: #c4e4da;
  border-color: #bbe0d5;
}
.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(235, 246, 242, 0.5);
}

.btn-info {
  color: #ffffff;
  background-color: var(--info);
  border-color: var(--info);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(52, 52, 52, 0.075);
}
.btn-info:hover {
  color: #ffffff;
  background-color: #c5e8ff;
  border-color: #b8e3ff;
}
.btn-info:focus, .btn-info.focus {
  color: #ffffff;
  background-color: #c5e8ff;
  border-color: #b8e3ff;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(52, 52, 52, 0.075), 0 0 0 0 rgba(238, 248, 255, 0.5);
}
.btn-info.disabled, .btn-info:disabled {
  color: #ffffff;
  background-color: var(--info);
  border-color: var(--info);
}
.btn-info:not(:disabled):not(.disabled):active, .btn-info:not(:disabled):not(.disabled).active, .show > .btn-info.dropdown-toggle {
  color: #ffffff;
  background-color: #b8e3ff;
  border-color: #abdeff;
}
.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(238, 248, 255, 0.5);
}

.btn-warning {
  color: #ffffff;
  background-color: var(--warning);
  border-color: var(--warning);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(52, 52, 52, 0.075);
}
.btn-warning:hover {
  color: #ffffff;
  background-color: #d99100;
  border-color: #cc8900;
}
.btn-warning:focus, .btn-warning.focus {
  color: #ffffff;
  background-color: #d99100;
  border-color: #cc8900;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(52, 52, 52, 0.075), 0 0 0 0 rgba(255, 184, 38, 0.5);
}
.btn-warning.disabled, .btn-warning:disabled {
  color: #ffffff;
  background-color: var(--warning);
  border-color: var(--warning);
}
.btn-warning:not(:disabled):not(.disabled):active, .btn-warning:not(:disabled):not(.disabled).active, .show > .btn-warning.dropdown-toggle {
  color: #ffffff;
  background-color: #cc8900;
  border-color: #bf8000;
}
.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(255, 184, 38, 0.5);
}

.btn-danger {
  color: #ffffff;
  background-color: var(--danger);
  border-color: var(--danger);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(52, 52, 52, 0.075);
}
.btn-danger:hover {
  color: #ffffff;
  background-color: #f41717;
  border-color: #f40b0b;
}
.btn-danger:focus, .btn-danger.focus {
  color: #ffffff;
  background-color: #f41717;
  border-color: #f40b0b;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(52, 52, 52, 0.075), 0 0 0 0 rgba(247, 89, 89, 0.5);
}
.btn-danger.disabled, .btn-danger:disabled {
  color: #ffffff;
  background-color: var(--danger);
  border-color: var(--danger);
}
.btn-danger:not(:disabled):not(.disabled):active, .btn-danger:not(:disabled):not(.disabled).active, .show > .btn-danger.dropdown-toggle {
  color: #ffffff;
  background-color: #f40b0b;
  border-color: #e80b0b;
}
.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(247, 89, 89, 0.5);
}

.btn-light {
  color: #ffffff;
  background-color: var(--light);
  border-color: var(--light);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(52, 52, 52, 0.075);
}
.btn-light:hover {
  color: #ffffff;
  background-color: #e6e6e6;
  border-color: #e0e0e0;
}
.btn-light:focus, .btn-light.focus {
  color: #ffffff;
  background-color: #e6e6e6;
  border-color: #e0e0e0;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(52, 52, 52, 0.075), 0 0 0 0 rgba(250, 250, 250, 0.5);
}
.btn-light.disabled, .btn-light:disabled {
  color: #ffffff;
  background-color: var(--light);
  border-color: var(--light);
}
.btn-light:not(:disabled):not(.disabled):active, .btn-light:not(:disabled):not(.disabled).active, .show > .btn-light.dropdown-toggle {
  color: #ffffff;
  background-color: #e0e0e0;
  border-color: #d9d9d9;
}
.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(250, 250, 250, 0.5);
}

.btn-dark {
  color: #ffffff;
  background-color: var(--dark);
  border-color: var(--dark);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(52, 52, 52, 0.075);
}
.btn-dark:hover {
  color: #ffffff;
  background-color: #212121;
  border-color: #1b1b1b;
}
.btn-dark:focus, .btn-dark.focus {
  color: #ffffff;
  background-color: #212121;
  border-color: #1b1b1b;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(52, 52, 52, 0.075), 0 0 0 0 rgba(82, 82, 82, 0.5);
}
.btn-dark.disabled, .btn-dark:disabled {
  color: #ffffff;
  background-color: var(--dark);
  border-color: var(--dark);
}
.btn-dark:not(:disabled):not(.disabled):active, .btn-dark:not(:disabled):not(.disabled).active, .show > .btn-dark.dropdown-toggle {
  color: #ffffff;
  background-color: #1b1b1b;
  border-color: #141414;
}
.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, 82, 82, 0.5);
}

.btn-white {
  color: #212529;
  background-color: #ffffff;
  border-color: #ffffff;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(52, 52, 52, 0.075);
}
.btn-white:hover {
  color: #200058;
  background-color: #ececec;
  border-color: #e6e6e6;
}
.btn-white:focus, .btn-white.focus {
  color: #200058;
  background-color: #ececec;
  border-color: #e6e6e6;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(52, 52, 52, 0.075), 0 0 0 0 rgba(222, 222, 223, 0.5);
}
.btn-white.disabled, .btn-white:disabled {
  color: #212529;
  background-color: #ffffff;
  border-color: #ffffff;
}
.btn-white:not(:disabled):not(.disabled):active, .btn-white:not(:disabled):not(.disabled).active, .show > .btn-white.dropdown-toggle {
  color: #200058;
  background-color: #e6e6e6;
  border-color: #dfdfdf;
}
.btn-white:not(:disabled):not(.disabled):active:focus, .btn-white:not(:disabled):not(.disabled).active:focus, .show > .btn-white.dropdown-toggle:focus {
  box-shadow: 0 0 0 0 rgba(222, 222, 223, 0.5);
}

.btn-gray {
  color: #ffffff;
  background-color: #818894;
  border-color: #818894;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(52, 52, 52, 0.075);
}
.btn-gray:hover {
  color: #ffffff;
  background-color: #6e7581;
  border-color: #686f7a;
}
.btn-gray:focus, .btn-gray.focus {
  color: #ffffff;
  background-color: #6e7581;
  border-color: #686f7a;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(52, 52, 52, 0.075), 0 0 0 0 rgba(148, 154, 164, 0.5);
}
.btn-gray.disabled, .btn-gray:disabled {
  color: #ffffff;
  background-color: #818894;
  border-color: #818894;
}
.btn-gray:not(:disabled):not(.disabled):active, .btn-gray:not(:disabled):not(.disabled).active, .show > .btn-gray.dropdown-toggle {
  color: #ffffff;
  background-color: #686f7a;
  border-color: #626873;
}
.btn-gray:not(:disabled):not(.disabled):active:focus, .btn-gray:not(:disabled):not(.disabled).active:focus, .show > .btn-gray.dropdown-toggle:focus {
  box-shadow: 0 0 0 0 rgba(148, 154, 164, 0.5);
}

.btn-gray300 {
  color: #ffffff;
  background-color: #ececec;
  border-color: #ececec;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(52, 52, 52, 0.075);
}
.btn-gray300:hover {
  color: #ffffff;
  background-color: #d9d9d9;
  border-color: lightgray;
}
.btn-gray300:focus, .btn-gray300.focus {
  color: #ffffff;
  background-color: #d9d9d9;
  border-color: lightgray;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(52, 52, 52, 0.075), 0 0 0 0 rgba(239, 239, 239, 0.5);
}
.btn-gray300.disabled, .btn-gray300:disabled {
  color: #ffffff;
  background-color: #ececec;
  border-color: #ececec;
}
.btn-gray300:not(:disabled):not(.disabled):active, .btn-gray300:not(:disabled):not(.disabled).active, .show > .btn-gray300.dropdown-toggle {
  color: #ffffff;
  background-color: lightgray;
  border-color: #cccccc;
}
.btn-gray300:not(:disabled):not(.disabled):active:focus, .btn-gray300:not(:disabled):not(.disabled).active:focus, .show > .btn-gray300.dropdown-toggle:focus {
  box-shadow: 0 0 0 0 rgba(239, 239, 239, 0.5);
}

.btn-gray200 {
  color: #ffffff;
  background-color: #f1f1f1;
  border-color: #f1f1f1;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(52, 52, 52, 0.075);
}
.btn-gray200:hover {
  color: #ffffff;
  background-color: #dedede;
  border-color: #d8d8d8;
}
.btn-gray200:focus, .btn-gray200.focus {
  color: #ffffff;
  background-color: #dedede;
  border-color: #d8d8d8;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(52, 52, 52, 0.075), 0 0 0 0 rgba(243, 243, 243, 0.5);
}
.btn-gray200.disabled, .btn-gray200:disabled {
  color: #ffffff;
  background-color: #f1f1f1;
  border-color: #f1f1f1;
}
.btn-gray200:not(:disabled):not(.disabled):active, .btn-gray200:not(:disabled):not(.disabled).active, .show > .btn-gray200.dropdown-toggle {
  color: #ffffff;
  background-color: #d8d8d8;
  border-color: #d1d1d1;
}
.btn-gray200:not(:disabled):not(.disabled):active:focus, .btn-gray200:not(:disabled):not(.disabled).active:focus, .show > .btn-gray200.dropdown-toggle:focus {
  box-shadow: 0 0 0 0 rgba(243, 243, 243, 0.5);
}

.btn-gray100 {
  color: #ffffff;
  background-color: var(--light);
  border-color: var(--light);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(52, 52, 52, 0.075);
}
.btn-gray100:hover {
  color: #ffffff;
  background-color: #e6e6e6;
  border-color: #e0e0e0;
}
.btn-gray100:focus, .btn-gray100.focus {
  color: #ffffff;
  background-color: #e6e6e6;
  border-color: #e0e0e0;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(52, 52, 52, 0.075), 0 0 0 0 rgba(250, 250, 250, 0.5);
}
.btn-gray100.disabled, .btn-gray100:disabled {
  color: #ffffff;
  background-color: var(--light);
  border-color: var(--light);
}
.btn-gray100:not(:disabled):not(.disabled):active, .btn-gray100:not(:disabled):not(.disabled).active, .show > .btn-gray100.dropdown-toggle {
  color: #ffffff;
  background-color: #e0e0e0;
  border-color: #d9d9d9;
}
.btn-gray100:not(:disabled):not(.disabled):active:focus, .btn-gray100:not(:disabled):not(.disabled).active:focus, .show > .btn-gray100.dropdown-toggle:focus {
  box-shadow: 0 0 0 0 rgba(250, 250, 250, 0.5);
}

.btn-outline-primary {
  color: #43d477;
  border-color: #43d477;
}
.btn-outline-primary:hover {
  color: #ffffff;
  background-color: #43d477;
  border-color: #43d477;
}
.btn-outline-primary:focus, .btn-outline-primary.focus {
  box-shadow: 0 0 0 0 rgba(67, 212, 119, 0.5);
}
.btn-outline-primary.disabled, .btn-outline-primary:disabled {
  color: #43d477;
  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: #ffffff;
  background-color: #43d477;
  border-color: #43d477;
}
.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(67, 212, 119, 0.5);
}

.btn-outline-secondary {
  color: #ff6600;
  border-color: #ff6600;
}
.btn-outline-secondary:hover {
  color: #ffffff;
  background-color: #ff6600;
  border-color: #ff6600;
}
.btn-outline-secondary:focus, .btn-outline-secondary.focus {
  box-shadow: 0 0 0 0 rgba(31, 59, 100, 0.5);
}
.btn-outline-secondary.disabled, .btn-outline-secondary:disabled {
  color: #ff6600;
  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: #ffffff;
  background-color: #ff6600;
  border-color: #ff6600;
}
.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(31, 59, 100, 0.5);
}

.btn-outline-success {
  color: var(--success);
  border-color: var(--success);
}
.btn-outline-success:hover {
  color: #ffffff;
  background-color: var(--success);
  border-color: var(--success);
}
.btn-outline-success:focus, .btn-outline-success.focus {
  box-shadow: 0 0 0 0 rgba(231, 244, 240, 0.5);
}
.btn-outline-success.disabled, .btn-outline-success:disabled {
  color: var(--success);
  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: #ffffff;
  background-color: var(--success);
  border-color: var(--success);
}
.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(231, 244, 240, 0.5);
}

.btn-outline-info {
  color: var(--info);
  border-color: var(--info);
}
.btn-outline-info:hover {
  color: #ffffff;
  background-color: var(--info);
  border-color: var(--info);
}
.btn-outline-info:focus, .btn-outline-info.focus {
  box-shadow: 0 0 0 0 rgba(235, 247, 255, 0.5);
}
.btn-outline-info.disabled, .btn-outline-info:disabled {
  color: var(--info);
  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: #ffffff;
  background-color: var(--info);
  border-color: var(--info);
}
.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(235, 247, 255, 0.5);
}

.btn-outline-warning {
  color: var(--warning);
  border-color: var(--warning);
}
.btn-outline-warning:hover {
  color: #ffffff;
  background-color: var(--warning);
  border-color: var(--warning);
}
.btn-outline-warning:focus, .btn-outline-warning.focus {
  box-shadow: 0 0 0 0 rgba(255, 171, 0, 0.5);
}
.btn-outline-warning.disabled, .btn-outline-warning:disabled {
  color: var(--warning);
  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: #ffffff;
  background-color: var(--warning);
  border-color: var(--warning);
}
.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(255, 171, 0, 0.5);
}

.btn-outline-danger {
  color: var(--danger);
  border-color: var(--danger);
}
.btn-outline-danger:hover {
  color: #ffffff;
  background-color: var(--danger);
  border-color: var(--danger);
}
.btn-outline-danger:focus, .btn-outline-danger.focus {
  box-shadow: 0 0 0 0 rgba(246, 60, 60, 0.5);
}
.btn-outline-danger.disabled, .btn-outline-danger:disabled {
  color: var(--danger);
  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: #ffffff;
  background-color: var(--danger);
  border-color: var(--danger);
}
.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(246, 60, 60, 0.5);
}

.btn-outline-light {
  color: var(--light);
  border-color: var(--light);
}
.btn-outline-light:hover {
  color: #ffffff;
  background-color: var(--light);
  border-color: var(--light);
}
.btn-outline-light:focus, .btn-outline-light.focus {
  box-shadow: 0 0 0 0 rgba(249, 249, 249, 0.5);
}
.btn-outline-light.disabled, .btn-outline-light:disabled {
  color: var(--light);
  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: #ffffff;
  background-color: var(--light);
  border-color: var(--light);
}
.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(249, 249, 249, 0.5);
}

.btn-outline-dark {
  color: var(--dark);
  border-color: var(--dark);
}
.btn-outline-dark:hover {
  color: #ffffff;
  background-color: var(--dark);
  border-color: var(--dark);
}
.btn-outline-dark:focus, .btn-outline-dark.focus {
  box-shadow: 0 0 0 0 rgba(52, 52, 52, 0.5);
}
.btn-outline-dark.disabled, .btn-outline-dark:disabled {
  color: var(--dark);
  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: #ffffff;
  background-color: var(--dark);
  border-color: var(--dark);
}
.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, 52, 52, 0.5);
}

.btn-outline-white {
  color: #ffffff;
  border-color: #ffffff;
}
.btn-outline-white:hover {
  color: #212529;
  background-color: #ffffff;
  border-color: #ffffff;
}
.btn-outline-white:focus, .btn-outline-white.focus {
  box-shadow: 0 0 0 0 rgba(255, 255, 255, 0.5);
}
.btn-outline-white.disabled, .btn-outline-white:disabled {
  color: #ffffff;
  background-color: transparent;
}
.btn-outline-white:not(:disabled):not(.disabled):active, .btn-outline-white:not(:disabled):not(.disabled).active, .show > .btn-outline-white.dropdown-toggle {
  color: #212529;
  background-color: #ffffff;
  border-color: #ffffff;
}
.btn-outline-white:not(:disabled):not(.disabled):active:focus, .btn-outline-white:not(:disabled):not(.disabled).active:focus, .show > .btn-outline-white.dropdown-toggle:focus {
  box-shadow: 0 0 0 0 rgba(255, 255, 255, 0.5);
}

.btn-outline-gray {
  color: #818894;
  border-color: #818894;
}
.btn-outline-gray:hover {
  color: #ffffff;
  background-color: #818894;
  border-color: #818894;
}
.btn-outline-gray:focus, .btn-outline-gray.focus {
  box-shadow: 0 0 0 0 rgba(129, 136, 148, 0.5);
}
.btn-outline-gray.disabled, .btn-outline-gray:disabled {
  color: #818894;
  background-color: transparent;
}
.btn-outline-gray:not(:disabled):not(.disabled):active, .btn-outline-gray:not(:disabled):not(.disabled).active, .show > .btn-outline-gray.dropdown-toggle {
  color: #ffffff;
  background-color: #818894;
  border-color: #818894;
}
.btn-outline-gray:not(:disabled):not(.disabled):active:focus, .btn-outline-gray:not(:disabled):not(.disabled).active:focus, .show > .btn-outline-gray.dropdown-toggle:focus {
  box-shadow: 0 0 0 0 rgba(129, 136, 148, 0.5);
}

.btn-outline-gray300 {
  color: #ececec;
  border-color: #ececec;
}
.btn-outline-gray300:hover {
  color: #ffffff;
  background-color: #ececec;
  border-color: #ececec;
}
.btn-outline-gray300:focus, .btn-outline-gray300.focus {
  box-shadow: 0 0 0 0 rgba(236, 236, 236, 0.5);
}
.btn-outline-gray300.disabled, .btn-outline-gray300:disabled {
  color: #ececec;
  background-color: transparent;
}
.btn-outline-gray300:not(:disabled):not(.disabled):active, .btn-outline-gray300:not(:disabled):not(.disabled).active, .show > .btn-outline-gray300.dropdown-toggle {
  color: #ffffff;
  background-color: #ececec;
  border-color: #ececec;
}
.btn-outline-gray300:not(:disabled):not(.disabled):active:focus, .btn-outline-gray300:not(:disabled):not(.disabled).active:focus, .show > .btn-outline-gray300.dropdown-toggle:focus {
  box-shadow: 0 0 0 0 rgba(236, 236, 236, 0.5);
}

.btn-outline-gray200 {
  color: #f1f1f1;
  border-color: #f1f1f1;
}
.btn-outline-gray200:hover {
  color: #ffffff;
  background-color: #f1f1f1;
  border-color: #f1f1f1;
}
.btn-outline-gray200:focus, .btn-outline-gray200.focus {
  box-shadow: 0 0 0 0 rgba(241, 241, 241, 0.5);
}
.btn-outline-gray200.disabled, .btn-outline-gray200:disabled {
  color: #f1f1f1;
  background-color: transparent;
}
.btn-outline-gray200:not(:disabled):not(.disabled):active, .btn-outline-gray200:not(:disabled):not(.disabled).active, .show > .btn-outline-gray200.dropdown-toggle {
  color: #ffffff;
  background-color: #f1f1f1;
  border-color: #f1f1f1;
}
.btn-outline-gray200:not(:disabled):not(.disabled):active:focus, .btn-outline-gray200:not(:disabled):not(.disabled).active:focus, .show > .btn-outline-gray200.dropdown-toggle:focus {
  box-shadow: 0 0 0 0 rgba(241, 241, 241, 0.5);
}

.btn-outline-gray100 {
  color: var(--light);
  border-color: var(--light);
}
.btn-outline-gray100:hover {
  color: #ffffff;
  background-color: var(--light);
  border-color: var(--light);
}
.btn-outline-gray100:focus, .btn-outline-gray100.focus {
  box-shadow: 0 0 0 0 rgba(249, 249, 249, 0.5);
}
.btn-outline-gray100.disabled, .btn-outline-gray100:disabled {
  color: var(--light);
  background-color: transparent;
}
.btn-outline-gray100:not(:disabled):not(.disabled):active, .btn-outline-gray100:not(:disabled):not(.disabled).active, .show > .btn-outline-gray100.dropdown-toggle {
  color: #ffffff;
  background-color: var(--light);
  border-color: var(--light);
}
.btn-outline-gray100:not(:disabled):not(.disabled):active:focus, .btn-outline-gray100:not(:disabled):not(.disabled).active:focus, .show > .btn-outline-gray100.dropdown-toggle:focus {
  box-shadow: 0 0 0 0 rgba(249, 249, 249, 0.5);
}

.btn-link {
  font-weight: 400;
  color: var(--dark);
  text-decoration: none;
}
.btn-link:hover {
  color: var(--dark);
  text-decoration: underline;
}
.btn-link:focus, .btn-link.focus {
  text-decoration: underline;
}
.btn-link:disabled, .btn-link.disabled {
  color: #6c757d;
  pointer-events: none;
}

.btn-lg, .btn-group-lg > .btn {
  padding-right: 32px;
  padding-left: 32px;
  height: 48px;
  font-size: 1.25rem;
  border-radius: 8px;
  font-weight: 500;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.btn-sm, .btn-group-sm > .btn {
  padding-right: 16px;
  padding-left: 16px;
  height: 36px;
  font-size: 1rem;
  border-radius: 8px;
  font-weight: normal;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

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

.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: 24px;
  padding-left: 24px;
}
.dropdown-toggle-split::after, .dropup .dropdown-toggle-split::after, .dropright .dropdown-toggle-split::after {
  margin-left: 0;
}
.dropleft .dropdown-toggle-split::before {
  margin-right: 0;
}

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

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

.btn-group.show .dropdown-toggle {
  box-shadow: none;
}
.btn-group.show .dropdown-toggle.btn-link {
  box-shadow: none;
}

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

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

.img-thumbnail {
  padding: 0.25rem;
  background-color: #ffffff;
  border: 1px solid #ececec;
  border-radius: 0.3125rem;
  box-shadow: 0 1px 2px rgba(52, 52, 52, 0.075);
  max-width: 100%;
  height: auto;
}

.figure {
  display: inline-block;
}

.figure-img {
  margin-bottom: 10px;
  line-height: 1;
}

.figure-caption {
  font-size: 90%;
  color: #6c757d;
}

.breadcrumb {
  display: flex;
  flex-wrap: wrap;
  padding: 0.75rem 1rem;
  margin-bottom: 1rem;
  list-style: none;
  background-color: "#fff";
  border-radius: 0.3125rem;
}

.breadcrumb-item + .breadcrumb-item {
  padding-left: 0;
}
.breadcrumb-item + .breadcrumb-item::before {
  float: left;
  padding-right: 0;
  color: #818894;
  content: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9IiM4MTg4OTQiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBjbGFzcz0iZmVhdGhlciBmZWF0aGVyLWNoZXZyb24tcmlnaHQiPjxwb2x5bGluZSBwb2ludHM9IjkgMTggMTUgMTIgOSA2Ij48L3BvbHlsaW5lPjwvc3ZnPg==");
}
.breadcrumb-item + .breadcrumb-item:hover::before {
  text-decoration: underline;
}
.breadcrumb-item + .breadcrumb-item:hover::before {
  text-decoration: none;
}
.breadcrumb-item.active {
  color: #818894;
}

.pagination {
  display: flex;
  padding-left: 0;
  list-style: none;
  border-radius: 0.3125rem;
}

.page-link {
  position: relative;
  display: block;
  padding: 0.5rem 0.75rem;
  margin-left: -1px;
  line-height: 1.25;
  color: var(--dark);
  background-color: #ffffff;
  border: 1px solid #ececec;
}
.page-link:hover {
  z-index: 2;
  color: var(--dark);
  text-decoration: none;
  background-color: #f1f1f1;
  border-color: #ececec;
}
.page-link:focus {
  z-index: 3;
  outline: 0;
  box-shadow: 1.5rem;
}

.page-item:first-child .page-link {
  margin-left: 0;
  border-top-left-radius: 0.3125rem;
  border-bottom-left-radius: 0.3125rem;
}
.page-item:last-child .page-link {
  border-top-right-radius: 0.3125rem;
  border-bottom-right-radius: 0.3125rem;
}
.page-item.active .page-link {
  z-index: 3;
  color: #ffffff;
  background-color: #43d477;
  border-color: #43d477;
}
.page-item.disabled .page-link {
  color: #6c757d;
  pointer-events: none;
  cursor: auto;
  background-color: #ffffff;
  border-color: #ececec;
}

.pagination-lg .page-link {
  padding: 0.75rem 1.5rem;
  font-size: 1.25rem;
  line-height: 1.5;
}
.pagination-lg .page-item:first-child .page-link {
  border-top-left-radius: 0.9375rem;
  border-bottom-left-radius: 0.9375rem;
}
.pagination-lg .page-item:last-child .page-link {
  border-top-right-radius: 0.9375rem;
  border-bottom-right-radius: 0.9375rem;
}

.pagination-sm .page-link {
  padding: 0.25rem 0.5rem;
  font-size: 1rem;
  line-height: 1.5;
}
.pagination-sm .page-item:first-child .page-link {
  border-top-left-radius: 0.625rem;
  border-bottom-left-radius: 0.625rem;
}
.pagination-sm .page-item:last-child .page-link {
  border-top-right-radius: 0.625rem;
  border-bottom-right-radius: 0.625rem;
}

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

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

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

.dropup,
.dropright,
.dropdown,
.dropleft {
  position: relative;
}

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

.dropdown-menu {
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 1000;
  display: none;
  float: left;
  min-width: 10rem;
  padding: 0.5rem 0;
  margin: 0.125rem 0 0;
  font-size: 1rem;
  color: var(--dark);
  text-align: left;
  list-style: none;
  background-color: #ffffff;
  background-clip: padding-box;
  border: 1px solid rgba(52, 52, 52, 0.15);
  border-radius: 15px;
  box-shadow: 0 3px 15px 0 rgba(0, 0, 0, 0.16);
}

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

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

@media (min-width: 576px) {
  .dropdown-menu-sm-left {
    right: auto;
    left: 0;
  }
  .dropdown-menu-sm-right {
    right: 0;
    left: auto;
  }
}
@media (min-width: 768px) {
  .dropdown-menu-md-left {
    right: auto;
    left: 0;
  }
  .dropdown-menu-md-right {
    right: 0;
    left: auto;
  }
}
@media (min-width: 992px) {
  .dropdown-menu-lg-left {
    right: auto;
    left: 0;
  }
  .dropdown-menu-lg-right {
    right: 0;
    left: auto;
  }
}
@media (min-width: 1200px) {
  .dropdown-menu-xl-left {
    right: auto;
    left: 0;
  }
  .dropdown-menu-xl-right {
    right: 0;
    left: auto;
  }
}
.dropup .dropdown-menu {
  top: auto;
  bottom: 100%;
  margin-top: 0;
  margin-bottom: 0.125rem;
}
.dropup .dropdown-toggle::after {
  display: inline-block;
  margin-left: 0.255em;
  vertical-align: 0.255em;
  content: "";
  border-top: 0;
  border-right: 0.3em solid transparent;
  border-bottom: 0.3em solid;
  border-left: 0.3em solid transparent;
}
.dropup .dropdown-toggle:empty::after {
  margin-left: 0;
}

.dropright .dropdown-menu {
  top: 0;
  right: auto;
  left: 100%;
  margin-top: 0;
  margin-left: 0.125rem;
}
.dropright .dropdown-toggle::after {
  display: inline-block;
  margin-left: 0.255em;
  vertical-align: 0.255em;
  content: "";
  border-top: 0.3em solid transparent;
  border-right: 0;
  border-bottom: 0.3em solid transparent;
  border-left: 0.3em solid;
}
.dropright .dropdown-toggle:empty::after {
  margin-left: 0;
}
.dropright .dropdown-toggle::after {
  vertical-align: 0;
}

.dropleft .dropdown-menu {
  top: 0;
  right: 100%;
  left: auto;
  margin-top: 0;
  margin-right: 0.125rem;
}
.dropleft .dropdown-toggle::after {
  display: inline-block;
  margin-left: 0.255em;
  vertical-align: 0.255em;
  content: "";
}
.dropleft .dropdown-toggle::after {
  display: none;
}
.dropleft .dropdown-toggle::before {
  display: inline-block;
  margin-right: 0.255em;
  vertical-align: 0.255em;
  content: "";
  border-top: 0.3em solid transparent;
  border-right: 0.3em solid;
  border-bottom: 0.3em solid transparent;
}
.dropleft .dropdown-toggle:empty::after {
  margin-left: 0;
}
.dropleft .dropdown-toggle::before {
  vertical-align: 0;
}

.dropdown-menu[x-placement^=top], .dropdown-menu[x-placement^=right], .dropdown-menu[x-placement^=bottom], .dropdown-menu[x-placement^=left] {
  right: auto;
  bottom: auto;
}

.dropdown-divider {
  height: 0;
  margin: 10px 0;
  overflow: hidden;
  border-top: 1px solid #f1f1f1;
}

.dropdown-item {
  display: block;
  width: 100%;
  padding: 0.25rem 1.5rem;
  clear: both;
  font-weight: 400;
  color: #212529;
  text-align: inherit;
  white-space: nowrap;
  background-color: transparent;
  border: 0;
}
.dropdown-item:hover, .dropdown-item:focus {
  color: #16181b;
  text-decoration: none;
  background-color: #f1f1f1;
}
.dropdown-item.active, .dropdown-item:active {
  color: #ffffff;
  text-decoration: none;
  background-color: #43d477;
}
.dropdown-item.disabled, .dropdown-item:disabled {
  color: #adb5bd;
  pointer-events: none;
  background-color: transparent;
}

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

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

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

.alert {
  position: relative;
  padding: 2rem 2rem;
  margin-bottom: 0;
  border: 1px solid transparent;
  border-radius: 1rem;
}

.alert-heading {
  color: inherit;
}

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

.alert-dismissible {
  padding-right: 5.5rem;
}
.alert-dismissible .close {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 2;
  padding: 2rem 2rem;
  color: inherit;
}

.alert-primary {
  color: var(--dark);
  background-color: #43d477;
  border-color: #43d477;
}
.alert-primary hr {
  border-top-color: #2fce68;
}
.alert-primary .alert-link {
  color: #1b1b1b;
}

.alert-secondary {
  color: var(--dark);
  background-color: #ff6600;
  border-color: #ff6600;
}
.alert-secondary hr {
  border-top-color: #193051;
}
.alert-secondary .alert-link {
  color: #1b1b1b;
}

.alert-success {
  color: var(--dark);
  background-color: var(--success);
  border-color: var(--success);
}
.alert-success hr {
  border-top-color: #d6ece5;
}
.alert-success .alert-link {
  color: #1b1b1b;
}

.alert-info {
  color: var(--dark);
  background-color: var(--info);
  border-color: var(--info);
}
.alert-info hr {
  border-top-color: #d2edff;
}
.alert-info .alert-link {
  color: #1b1b1b;
}

.alert-warning {
  color: var(--dark);
  background-color: var(--warning);
  border-color: var(--warning);
}
.alert-warning hr {
  border-top-color: #e69a00;
}
.alert-warning .alert-link {
  color: #1b1b1b;
}

.alert-danger {
  color: var(--dark);
  background-color: var(--danger);
  border-color: var(--danger);
}
.alert-danger hr {
  border-top-color: #f52424;
}
.alert-danger .alert-link {
  color: #1b1b1b;
}

.alert-light {
  color: var(--dark);
  background-color: var(--light);
  border-color: var(--light);
}
.alert-light hr {
  border-top-color: #ececec;
}
.alert-light .alert-link {
  color: #1b1b1b;
}

.alert-dark {
  color: var(--dark);
  background-color: var(--dark);
  border-color: var(--dark);
}
.alert-dark hr {
  border-top-color: #272727;
}
.alert-dark .alert-link {
  color: #1b1b1b;
}

.alert-white {
  color: var(--dark);
  background-color: white;
  border-color: white;
}
.alert-white hr {
  border-top-color: #f2f2f2;
}
.alert-white .alert-link {
  color: #1b1b1b;
}

.alert-gray {
  color: var(--dark);
  background-color: #818894;
  border-color: #818894;
}
.alert-gray hr {
  border-top-color: #737b88;
}
.alert-gray .alert-link {
  color: #1b1b1b;
}

.alert-gray300 {
  color: var(--dark);
  background-color: #ececec;
  border-color: #ececec;
}
.alert-gray300 hr {
  border-top-color: #dfdfdf;
}
.alert-gray300 .alert-link {
  color: #1b1b1b;
}

.alert-gray200 {
  color: var(--dark);
  background-color: #f1f1f1;
  border-color: #f1f1f1;
}
.alert-gray200 hr {
  border-top-color: #e4e4e4;
}
.alert-gray200 .alert-link {
  color: #1b1b1b;
}

.alert-gray100 {
  color: var(--dark);
  background-color: var(--light);
  border-color: var(--light);
}
.alert-gray100 hr {
  border-top-color: #ececec;
}
.alert-gray100 .alert-link {
  color: #1b1b1b;
}

@keyframes progress-bar-stripes {
  from {
    background-position: 1rem 0;
  }
  to {
    background-position: 0 0;
  }
}
.progress {
  display: flex;
  height: 1rem;
  overflow: hidden;
  line-height: 0;
  font-size: 0.75rem;
  background-color: #f1f1f1;
  border-radius: 0.3125rem;
  box-shadow: inset 0 0.1rem 0.1rem rgba(52, 52, 52, 0.1);
}

.progress-bar {
  display: flex;
  flex-direction: column;
  justify-content: center;
  overflow: hidden;
  color: #ffffff;
  text-align: center;
  white-space: nowrap;
  background-color: #43d477;
  transition: width 0.6s ease;
}
@media (prefers-reduced-motion: reduce) {
  .progress-bar {
    transition: none;
  }
}

.progress-bar-striped {
  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-size: 1rem 1rem;
}

.progress-bar-animated {
  animation: 1s linear infinite progress-bar-stripes;
}
@media (prefers-reduced-motion: reduce) {
  .progress-bar-animated {
    animation: none;
  }
}

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

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

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

.toast {
  flex-basis: 350px;
  max-width: 350px;
  font-size: 0.875rem;
  background-color: rgba(255, 255, 255, 0.85);
  background-clip: padding-box;
  border: 1px solid rgba(0, 0, 0, 0.1);
  box-shadow: 0 0.25rem 0.75rem rgba(52, 52, 52, 0.1);
  opacity: 0;
  border-radius: 0.25rem;
}
.toast:not(:last-child) {
  margin-bottom: 0.75rem;
}
.toast.showing {
  opacity: 1;
}
.toast.show {
  display: block;
  opacity: 1;
}
.toast.hide {
  display: none;
}

.toast-header {
  display: flex;
  align-items: center;
  padding: 0.25rem 0.75rem;
  color: #6c757d;
  background-color: rgba(255, 255, 255, 0.85);
  background-clip: padding-box;
  border-bottom: 1px solid rgba(0, 0, 0, 0.05);
  border-top-left-radius: calc(0.25rem - 1px);
  border-top-right-radius: calc(0.25rem - 1px);
}

.toast-body {
  padding: 0.75rem;
}

.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 (prefers-reduced-motion: reduce) {
  .modal.fade .modal-dialog {
    transition: none;
  }
}
.modal.show .modal-dialog {
  transform: none;
}
.modal.modal-static .modal-dialog {
  transform: scale(1.02);
}

.modal-dialog-scrollable {
  display: flex;
  max-height: calc(100% - 1rem);
}
.modal-dialog-scrollable .modal-content {
  max-height: calc(100vh - 1rem);
  overflow: hidden;
}
.modal-dialog-scrollable .modal-header,
.modal-dialog-scrollable .modal-footer {
  flex-shrink: 0;
}
.modal-dialog-scrollable .modal-body {
  overflow-y: auto;
}

.modal-dialog-centered {
  display: flex;
  align-items: center;
  min-height: calc(100% - 1rem);
}
.modal-dialog-centered::before {
  display: block;
  height: calc(100vh - 1rem);
  height: -moz-min-content;
  height: min-content;
  content: "";
}
.modal-dialog-centered.modal-dialog-scrollable {
  flex-direction: column;
  justify-content: center;
  height: 100%;
}
.modal-dialog-centered.modal-dialog-scrollable .modal-content {
  max-height: none;
}
.modal-dialog-centered.modal-dialog-scrollable::before {
  content: none;
}

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

.modal-backdrop {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1040;
  width: 100vw;
  height: 100vh;
  background-color: var(--dark);
}
.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 #ececec;
  border-top-left-radius: calc(0.9375rem - 1px);
  border-top-right-radius: calc(0.9375rem - 1px);
}
.modal-header .close {
  padding: 1rem 1rem;
  margin: -1rem -1rem -1rem auto;
}

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

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

.modal-footer {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  padding: 0.75rem;
  border-top: 1px solid #ececec;
  border-bottom-right-radius: calc(0.9375rem - 1px);
  border-bottom-left-radius: calc(0.9375rem - 1px);
}
.modal-footer > * {
  margin: 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-scrollable {
    max-height: calc(100% - 3.5rem);
  }
  .modal-dialog-scrollable .modal-content {
    max-height: calc(100vh - 3.5rem);
  }
  .modal-dialog-centered {
    min-height: calc(100% - 3.5rem);
  }
  .modal-dialog-centered::before {
    height: calc(100vh - 3.5rem);
    height: -moz-min-content;
    height: min-content;
  }
  .modal-content {
    box-shadow: 0 0.5rem 1rem rgba(52, 52, 52, 0.5);
  }
  .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: "main-font-family";
  font-style: normal;
  font-weight: 400;
  line-height: 1.3;
  text-align: left;
  text-align: start;
  text-decoration: none;
  text-shadow: none;
  text-transform: none;
  letter-spacing: normal;
  word-break: normal;
  white-space: normal;
  word-spacing: normal;
  line-break: auto;
  font-size: 0.75rem;
  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: #818894;
}

.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: #818894;
}

.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: #818894;
}

.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: #818894;
}

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

.popover {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1060;
  display: block;
  max-width: 276px;
  font-family: "main-font-family";
  font-style: normal;
  font-weight: 400;
  line-height: 1.3;
  text-align: left;
  text-align: start;
  text-decoration: none;
  text-shadow: none;
  text-transform: none;
  letter-spacing: normal;
  word-break: normal;
  white-space: normal;
  word-spacing: normal;
  line-break: auto;
  font-size: 1rem;
  word-wrap: break-word;
  background-color: #ffffff;
  background-clip: padding-box;
  border: 1px solid rgba(52, 52, 52, 0.2);
  border-radius: 0.9375rem;
  box-shadow: 0 0.25rem 0.5rem rgba(52, 52, 52, 0.2);
}
.popover .arrow {
  position: absolute;
  display: block;
  width: 1rem;
  height: 0.5rem;
  margin: 0 0.9375rem;
}
.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);
}
.bs-popover-top > .arrow::before, .bs-popover-auto[x-placement^=top] > .arrow::before {
  bottom: 0;
  border-width: 0.5rem 0.5rem 0;
  border-top-color: rgba(52, 52, 52, 0.25);
}
.bs-popover-top > .arrow::after, .bs-popover-auto[x-placement^=top] > .arrow::after {
  bottom: 1px;
  border-width: 0.5rem 0.5rem 0;
  border-top-color: #ffffff;
}

.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);
  width: 0.5rem;
  height: 1rem;
  margin: 0.9375rem 0;
}
.bs-popover-right > .arrow::before, .bs-popover-auto[x-placement^=right] > .arrow::before {
  left: 0;
  border-width: 0.5rem 0.5rem 0.5rem 0;
  border-right-color: rgba(52, 52, 52, 0.25);
}
.bs-popover-right > .arrow::after, .bs-popover-auto[x-placement^=right] > .arrow::after {
  left: 1px;
  border-width: 0.5rem 0.5rem 0.5rem 0;
  border-right-color: #ffffff;
}

.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);
}
.bs-popover-bottom > .arrow::before, .bs-popover-auto[x-placement^=bottom] > .arrow::before {
  top: 0;
  border-width: 0 0.5rem 0.5rem 0.5rem;
  border-bottom-color: rgba(52, 52, 52, 0.25);
}
.bs-popover-bottom > .arrow::after, .bs-popover-auto[x-placement^=bottom] > .arrow::after {
  top: 1px;
  border-width: 0 0.5rem 0.5rem 0.5rem;
  border-bottom-color: #ffffff;
}
.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 #f7f7f7;
}

.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);
  width: 0.5rem;
  height: 1rem;
  margin: 0.9375rem 0;
}
.bs-popover-left > .arrow::before, .bs-popover-auto[x-placement^=left] > .arrow::before {
  right: 0;
  border-width: 0.5rem 0 0.5rem 0.5rem;
  border-left-color: rgba(52, 52, 52, 0.25);
}
.bs-popover-left > .arrow::after, .bs-popover-auto[x-placement^=left] > .arrow::after {
  right: 1px;
  border-width: 0.5rem 0 0.5rem 0.5rem;
  border-left-color: #ffffff;
}

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

.popover-body {
  padding: 0.5rem 0.75rem;
  color: var(--dark);
}

.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 (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: opacity 0s 0.6s;
}
@media (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%;
  padding: 0;
  color: #ffffff;
  text-align: center;
  background: none;
  border: 0;
  opacity: 0.5;
  transition: opacity 0.15s ease;
}
@media (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: #ffffff;
  text-decoration: none;
  outline: 0;
  opacity: 0.9;
}

.carousel-control-prev {
  left: 0;
}

.carousel-control-next {
  right: 0;
}

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

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

.carousel-control-next-icon {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23ffffff' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath d='M2.75 0l-1.5 1.5L3.75 4l-2.5 2.5L2.75 8l4-4-4-4z'/%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: #ffffff;
  background-clip: padding-box;
  border-top: 10px solid transparent;
  border-bottom: 10px solid transparent;
  opacity: 0.5;
  transition: opacity 0.6s ease;
}
@media (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: #ffffff;
  text-align: center;
}

@keyframes spinner-border {
  to {
    transform: rotate(360deg);
  }
}
.spinner-border {
  display: inline-block;
  width: 2rem;
  height: 2rem;
  vertical-align: -0.125em;
  border: 0.25em solid currentcolor;
  border-right-color: transparent;
  border-radius: 50%;
  animation: 0.75s linear infinite spinner-border;
}

.spinner-border-sm {
  width: 1rem;
  height: 1rem;
  border-width: 0.2em;
}

@keyframes spinner-grow {
  0% {
    transform: scale(0);
  }
  50% {
    opacity: 1;
    transform: none;
  }
}
.spinner-grow {
  display: inline-block;
  width: 2rem;
  height: 2rem;
  vertical-align: -0.125em;
  background-color: currentcolor;
  border-radius: 50%;
  opacity: 0;
  animation: 0.75s linear infinite spinner-grow;
}

.spinner-grow-sm {
  width: 1rem;
  height: 1rem;
}

@media (prefers-reduced-motion: reduce) {
  .spinner-border,
  .spinner-grow {
    animation-duration: 1.5s;
  }
}
.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: #43d477 !important;
}

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

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

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

.bg-success {
  background-color: var(--success) !important;
}

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

.bg-info {
  background-color: var(--info) !important;
}

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

.bg-warning {
  background-color: var(--warning) !important;
}

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

.bg-danger {
  background-color: var(--danger) !important;
}

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

.bg-light {
  background-color: var(--light) !important;
}

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

.bg-dark {
  background-color: var(--dark) !important;
}

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

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

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

.bg-gray {
  background-color: #818894 !important;
}

a.bg-gray:hover, a.bg-gray:focus,
button.bg-gray:hover,
button.bg-gray:focus {
  background-color: #686f7a !important;
}

.bg-gray300 {
  background-color: #ececec !important;
}

a.bg-gray300:hover, a.bg-gray300:focus,
button.bg-gray300:hover,
button.bg-gray300:focus {
  background-color: lightgray !important;
}

.bg-gray200 {
  background-color: #f1f1f1 !important;
}

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

.bg-gray100 {
  background-color: var(--light) !important;
}

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

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

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

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

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

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

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

.border-left {
  border-left: 1px solid #ececec !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: #43d477 !important;
}

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

.border-success {
  border-color: var(--success) !important;
}

.border-info {
  border-color: var(--info) !important;
}

.border-warning {
  border-color: var(--warning) !important;
}

.border-danger {
  border-color: var(--danger) !important;
}

.border-light {
  border-color: var(--light) !important;
}

.border-dark {
  border-color: var(--dark) !important;
}

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

.border-gray {
  border-color: #818894 !important;
}

.border-gray300 {
  border-color: #ececec !important;
}

.border-gray200 {
  border-color: #f1f1f1 !important;
}

.border-gray100 {
  border-color: var(--light) !important;
}

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

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

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

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

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

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

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

.rounded-lg {
  border-radius: 0.9375rem !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;
  }
}
.embed-responsive {
  position: relative;
  display: block;
  width: 100%;
  padding: 0;
  overflow: hidden;
}
.embed-responsive::before {
  display: block;
  content: "";
}
.embed-responsive .embed-responsive-item,
.embed-responsive iframe,
.embed-responsive embed,
.embed-responsive object,
.embed-responsive video {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

.embed-responsive-21by9::before {
  padding-top: 42.85714286%;
}

.embed-responsive-16by9::before {
  padding-top: 56.25%;
}

.embed-responsive-4by3::before {
  padding-top: 75%;
}

.embed-responsive-1by1::before {
  padding-top: 100%;
}

.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;
  }
}
.user-select-all {
  -webkit-user-select: all !important;
     -moz-user-select: all !important;
          user-select: all !important;
}

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

.user-select-none {
  -webkit-user-select: none !important;
     -moz-user-select: none !important;
          user-select: 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;
  margin: -1px;
  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 5px 12px 0 rgba(0, 0, 0, 0.1) !important;
}

.shadow {
  box-shadow: 0 3px 15px 0 rgba(0, 0, 0, 0.1) !important;
}

.shadow-lg {
  box-shadow: 0 5px 10px 0 rgba(0, 0, 0, 0.05) !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;
}

.mw-100 {
  max-width: 100% !important;
}

.mh-100 {
  max-height: 100% !important;
}

.min-vw-100 {
  min-width: 100vw !important;
}

.min-vh-100 {
  min-height: 100vh !important;
}

.vw-100 {
  width: 100vw !important;
}

.vh-100 {
  height: 100vh !important;
}

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

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

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

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

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

.m-1 {
  margin: 5px !important;
}

.mt-1,
.my-1 {
  margin-top: 5px !important;
}

.mr-1,
.mx-1 {
  margin-right: 5px !important;
}

.mb-1,
.my-1 {
  margin-bottom: 5px !important;
}

.ml-1,
.mx-1 {
  margin-left: 5px !important;
}

.m-2 {
  margin: 10px !important;
}

.mt-2,
.my-2 {
  margin-top: 10px !important;
}

.mr-2,
.mx-2 {
  margin-right: 10px !important;
}

.mb-2,
.my-2 {
  margin-bottom: 10px !important;
}

.ml-2,
.mx-2 {
  margin-left: 10px !important;
}

.m-3 {
  margin: 20px !important;
}

.mt-3,
.my-3 {
  margin-top: 20px !important;
}

.mr-3,
.mx-3 {
  margin-right: 20px !important;
}

.mb-3,
.my-3 {
  margin-bottom: 20px !important;
}

.ml-3,
.mx-3 {
  margin-left: 20px !important;
}

.m-4 {
  margin: 30px !important;
}

.mt-4,
.my-4 {
  margin-top: 30px !important;
}

.mr-4,
.mx-4 {
  margin-right: 30px !important;
}

.mb-4,
.my-4 {
  margin-bottom: 30px !important;
}

.ml-4,
.mx-4 {
  margin-left: 30px !important;
}

.m-5 {
  margin: 5px !important;
}

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

.mr-5,
.mx-5 {
  margin-right: 5px !important;
}

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

.ml-5,
.mx-5 {
  margin-left: 5px !important;
}

.m-10 {
  margin: 10px !important;
}

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

.mr-10,
.mx-10 {
  margin-right: 10px !important;
}

.mb-10,
.my-10 {
  margin-bottom: 10px !important;
}

.ml-10,
.mx-10 {
  margin-left: 10px !important;
}

.m-15 {
  margin: 15px !important;
}

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

.mr-15,
.mx-15 {
  margin-right: 15px !important;
}

.mb-15,
.my-15 {
  margin-bottom: 15px !important;
}

.ml-15,
.mx-15 {
  margin-left: 15px !important;
}

.m-20 {
  margin: 20px !important;
}

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

.mr-20,
.mx-20 {
  margin-right: 20px !important;
}

.mb-20,
.my-20 {
  margin-bottom: 20px !important;
}

.ml-20,
.mx-20 {
  margin-left: 20px !important;
}

.m-25 {
  margin: 25px !important;
}

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

.mr-25,
.mx-25 {
  margin-right: 25px !important;
}

.mb-25,
.my-25 {
  margin-bottom: 25px !important;
}

.ml-25,
.mx-25 {
  margin-left: 25px !important;
}

.m-30 {
  margin: 30px !important;
}

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

.mr-30,
.mx-30 {
  margin-right: 30px !important;
}

.mb-30,
.my-30 {
  margin-bottom: 30px !important;
}

.ml-30,
.mx-30 {
  margin-left: 30px !important;
}

.m-35 {
  margin: 35px !important;
}

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

.mr-35,
.mx-35 {
  margin-right: 35px !important;
}

.mb-35,
.my-35 {
  margin-bottom: 35px !important;
}

.ml-35,
.mx-35 {
  margin-left: 35px !important;
}

.m-40 {
  margin: 40px !important;
}

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

.mr-40,
.mx-40 {
  margin-right: 40px !important;
}

.mb-40,
.my-40 {
  margin-bottom: 40px !important;
}

.ml-40,
.mx-40 {
  margin-left: 40px !important;
}

.m-45 {
  margin: 45px !important;
}

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

.mr-45,
.mx-45 {
  margin-right: 45px !important;
}

.mb-45,
.my-45 {
  margin-bottom: 45px !important;
}

.ml-45,
.mx-45 {
  margin-left: 45px !important;
}

.m-50 {
  margin: 50px !important;
}

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

.mr-50,
.mx-50 {
  margin-right: 50px !important;
}

.mb-50,
.my-50 {
  margin-bottom: 50px !important;
}

.ml-50,
.mx-50 {
  margin-left: 50px !important;
}

.m-80 {
  margin: 80px !important;
}

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

.mr-80,
.mx-80 {
  margin-right: 80px !important;
}

.mb-80,
.my-80 {
  margin-bottom: 80px !important;
}

.ml-80,
.mx-80 {
  margin-left: 80px !important;
}

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

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

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

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

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

.p-1 {
  padding: 5px !important;
}

.pt-1,
.py-1 {
  padding-top: 5px !important;
}

.pr-1,
.px-1 {
  padding-right: 5px !important;
}

.pb-1,
.py-1 {
  padding-bottom: 5px !important;
}

.pl-1,
.px-1 {
  padding-left: 5px !important;
}

.p-2 {
  padding: 10px !important;
}

.pt-2,
.py-2 {
  padding-top: 10px !important;
}

.pr-2,
.px-2 {
  padding-right: 10px !important;
}

.pb-2,
.py-2 {
  padding-bottom: 10px !important;
}

.pl-2,
.px-2 {
  padding-left: 10px !important;
}

.p-3 {
  padding: 20px !important;
}

.pt-3,
.py-3 {
  padding-top: 20px !important;
}

.pr-3,
.px-3 {
  padding-right: 20px !important;
}

.pb-3,
.py-3 {
  padding-bottom: 20px !important;
}

.pl-3,
.px-3 {
  padding-left: 20px !important;
}

.p-4 {
  padding: 30px !important;
}

.pt-4,
.py-4 {
  padding-top: 30px !important;
}

.pr-4,
.px-4 {
  padding-right: 30px !important;
}

.pb-4,
.py-4 {
  padding-bottom: 30px !important;
}

.pl-4,
.px-4 {
  padding-left: 30px !important;
}

.p-5 {
  padding: 5px !important;
}

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

.pr-5,
.px-5 {
  padding-right: 5px !important;
}

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

.pl-5,
.px-5 {
  padding-left: 5px !important;
}

.p-10 {
  padding: 10px !important;
}

.pt-10,
.py-10 {
  padding-top: 10px !important;
}

.pr-10,
.px-10 {
  padding-right: 10px !important;
}

.pb-10,
.py-10 {
  padding-bottom: 10px !important;
}

.pl-10,
.px-10 {
  padding-left: 10px !important;
}

.p-15 {
  padding: 15px !important;
}

.pt-15,
.py-15 {
  padding-top: 15px !important;
}

.pr-15,
.px-15 {
  padding-right: 15px !important;
}

.pb-15,
.py-15 {
  padding-bottom: 15px !important;
}

.pl-15,
.px-15 {
  padding-left: 15px !important;
}

.p-20 {
  padding: 20px !important;
}

.pt-20,
.py-20 {
  padding-top: 20px !important;
}

.pr-20,
.px-20 {
  padding-right: 20px !important;
}

.pb-20,
.py-20 {
  padding-bottom: 20px !important;
}

.pl-20,
.px-20 {
  padding-left: 20px !important;
}

.p-25 {
  padding: 25px !important;
}

.pt-25,
.py-25 {
  padding-top: 25px !important;
}

.pr-25,
.px-25 {
  padding-right: 25px !important;
}

.pb-25,
.py-25 {
  padding-bottom: 25px !important;
}

.pl-25,
.px-25 {
  padding-left: 25px !important;
}

.p-30 {
  padding: 30px !important;
}

.pt-30,
.py-30 {
  padding-top: 30px !important;
}

.pr-30,
.px-30 {
  padding-right: 30px !important;
}

.pb-30,
.py-30 {
  padding-bottom: 30px !important;
}

.pl-30,
.px-30 {
  padding-left: 30px !important;
}

.p-35 {
  padding: 35px !important;
}

.pt-35,
.py-35 {
  padding-top: 35px !important;
}

.pr-35,
.px-35 {
  padding-right: 35px !important;
}

.pb-35,
.py-35 {
  padding-bottom: 35px !important;
}

.pl-35,
.px-35 {
  padding-left: 35px !important;
}

.p-40 {
  padding: 40px !important;
}

.pt-40,
.py-40 {
  padding-top: 40px !important;
}

.pr-40,
.px-40 {
  padding-right: 40px !important;
}

.pb-40,
.py-40 {
  padding-bottom: 40px !important;
}

.pl-40,
.px-40 {
  padding-left: 40px !important;
}

.p-45 {
  padding: 45px !important;
}

.pt-45,
.py-45 {
  padding-top: 45px !important;
}

.pr-45,
.px-45 {
  padding-right: 45px !important;
}

.pb-45,
.py-45 {
  padding-bottom: 45px !important;
}

.pl-45,
.px-45 {
  padding-left: 45px !important;
}

.p-50 {
  padding: 50px !important;
}

.pt-50,
.py-50 {
  padding-top: 50px !important;
}

.pr-50,
.px-50 {
  padding-right: 50px !important;
}

.pb-50,
.py-50 {
  padding-bottom: 50px !important;
}

.pl-50,
.px-50 {
  padding-left: 50px !important;
}

.p-80 {
  padding: 80px !important;
}

.pt-80,
.py-80 {
  padding-top: 80px !important;
}

.pr-80,
.px-80 {
  padding-right: 80px !important;
}

.pb-80,
.py-80 {
  padding-bottom: 80px !important;
}

.pl-80,
.px-80 {
  padding-left: 80px !important;
}

.m-n1 {
  margin: -5px !important;
}

.mt-n1,
.my-n1 {
  margin-top: -5px !important;
}

.mr-n1,
.mx-n1 {
  margin-right: -5px !important;
}

.mb-n1,
.my-n1 {
  margin-bottom: -5px !important;
}

.ml-n1,
.mx-n1 {
  margin-left: -5px !important;
}

.m-n2 {
  margin: -10px !important;
}

.mt-n2,
.my-n2 {
  margin-top: -10px !important;
}

.mr-n2,
.mx-n2 {
  margin-right: -10px !important;
}

.mb-n2,
.my-n2 {
  margin-bottom: -10px !important;
}

.ml-n2,
.mx-n2 {
  margin-left: -10px !important;
}

.m-n3 {
  margin: -20px !important;
}

.mt-n3,
.my-n3 {
  margin-top: -20px !important;
}

.mr-n3,
.mx-n3 {
  margin-right: -20px !important;
}

.mb-n3,
.my-n3 {
  margin-bottom: -20px !important;
}

.ml-n3,
.mx-n3 {
  margin-left: -20px !important;
}

.m-n4 {
  margin: -30px !important;
}

.mt-n4,
.my-n4 {
  margin-top: -30px !important;
}

.mr-n4,
.mx-n4 {
  margin-right: -30px !important;
}

.mb-n4,
.my-n4 {
  margin-bottom: -30px !important;
}

.ml-n4,
.mx-n4 {
  margin-left: -30px !important;
}

.m-n5 {
  margin: -5px !important;
}

.mt-n5,
.my-n5 {
  margin-top: -5px !important;
}

.mr-n5,
.mx-n5 {
  margin-right: -5px !important;
}

.mb-n5,
.my-n5 {
  margin-bottom: -5px !important;
}

.ml-n5,
.mx-n5 {
  margin-left: -5px !important;
}

.m-n10 {
  margin: -10px !important;
}

.mt-n10,
.my-n10 {
  margin-top: -10px !important;
}

.mr-n10,
.mx-n10 {
  margin-right: -10px !important;
}

.mb-n10,
.my-n10 {
  margin-bottom: -10px !important;
}

.ml-n10,
.mx-n10 {
  margin-left: -10px !important;
}

.m-n15 {
  margin: -15px !important;
}

.mt-n15,
.my-n15 {
  margin-top: -15px !important;
}

.mr-n15,
.mx-n15 {
  margin-right: -15px !important;
}

.mb-n15,
.my-n15 {
  margin-bottom: -15px !important;
}

.ml-n15,
.mx-n15 {
  margin-left: -15px !important;
}

.m-n20 {
  margin: -20px !important;
}

.mt-n20,
.my-n20 {
  margin-top: -20px !important;
}

.mr-n20,
.mx-n20 {
  margin-right: -20px !important;
}

.mb-n20,
.my-n20 {
  margin-bottom: -20px !important;
}

.ml-n20,
.mx-n20 {
  margin-left: -20px !important;
}

.m-n25 {
  margin: -25px !important;
}

.mt-n25,
.my-n25 {
  margin-top: -25px !important;
}

.mr-n25,
.mx-n25 {
  margin-right: -25px !important;
}

.mb-n25,
.my-n25 {
  margin-bottom: -25px !important;
}

.ml-n25,
.mx-n25 {
  margin-left: -25px !important;
}

.m-n30 {
  margin: -30px !important;
}

.mt-n30,
.my-n30 {
  margin-top: -30px !important;
}

.mr-n30,
.mx-n30 {
  margin-right: -30px !important;
}

.mb-n30,
.my-n30 {
  margin-bottom: -30px !important;
}

.ml-n30,
.mx-n30 {
  margin-left: -30px !important;
}

.m-n35 {
  margin: -35px !important;
}

.mt-n35,
.my-n35 {
  margin-top: -35px !important;
}

.mr-n35,
.mx-n35 {
  margin-right: -35px !important;
}

.mb-n35,
.my-n35 {
  margin-bottom: -35px !important;
}

.ml-n35,
.mx-n35 {
  margin-left: -35px !important;
}

.m-n40 {
  margin: -40px !important;
}

.mt-n40,
.my-n40 {
  margin-top: -40px !important;
}

.mr-n40,
.mx-n40 {
  margin-right: -40px !important;
}

.mb-n40,
.my-n40 {
  margin-bottom: -40px !important;
}

.ml-n40,
.mx-n40 {
  margin-left: -40px !important;
}

.m-n45 {
  margin: -45px !important;
}

.mt-n45,
.my-n45 {
  margin-top: -45px !important;
}

.mr-n45,
.mx-n45 {
  margin-right: -45px !important;
}

.mb-n45,
.my-n45 {
  margin-bottom: -45px !important;
}

.ml-n45,
.mx-n45 {
  margin-left: -45px !important;
}

.m-n50 {
  margin: -50px !important;
}

.mt-n50,
.my-n50 {
  margin-top: -50px !important;
}

.mr-n50,
.mx-n50 {
  margin-right: -50px !important;
}

.mb-n50,
.my-n50 {
  margin-bottom: -50px !important;
}

.ml-n50,
.mx-n50 {
  margin-left: -50px !important;
}

.m-n80 {
  margin: -80px !important;
}

.mt-n80,
.my-n80 {
  margin-top: -80px !important;
}

.mr-n80,
.mx-n80 {
  margin-right: -80px !important;
}

.mb-n80,
.my-n80 {
  margin-bottom: -80px !important;
}

.ml-n80,
.mx-n80 {
  margin-left: -80px !important;
}

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

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

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

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

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

@media (min-width: 576px) {
  .m-sm-0 {
    margin: 0 !important;
  }
  .mt-sm-0,
  .my-sm-0 {
    margin-top: 0 !important;
  }
  .mr-sm-0,
  .mx-sm-0 {
    margin-right: 0 !important;
  }
  .mb-sm-0,
  .my-sm-0 {
    margin-bottom: 0 !important;
  }
  .ml-sm-0,
  .mx-sm-0 {
    margin-left: 0 !important;
  }
  .m-sm-1 {
    margin: 5px !important;
  }
  .mt-sm-1,
  .my-sm-1 {
    margin-top: 5px !important;
  }
  .mr-sm-1,
  .mx-sm-1 {
    margin-right: 5px !important;
  }
  .mb-sm-1,
  .my-sm-1 {
    margin-bottom: 5px !important;
  }
  .ml-sm-1,
  .mx-sm-1 {
    margin-left: 5px !important;
  }
  .m-sm-2 {
    margin: 10px !important;
  }
  .mt-sm-2,
  .my-sm-2 {
    margin-top: 10px !important;
  }
  .mr-sm-2,
  .mx-sm-2 {
    margin-right: 10px !important;
  }
  .mb-sm-2,
  .my-sm-2 {
    margin-bottom: 10px !important;
  }
  .ml-sm-2,
  .mx-sm-2 {
    margin-left: 10px !important;
  }
  .m-sm-3 {
    margin: 20px !important;
  }
  .mt-sm-3,
  .my-sm-3 {
    margin-top: 20px !important;
  }
  .mr-sm-3,
  .mx-sm-3 {
    margin-right: 20px !important;
  }
  .mb-sm-3,
  .my-sm-3 {
    margin-bottom: 20px !important;
  }
  .ml-sm-3,
  .mx-sm-3 {
    margin-left: 20px !important;
  }
  .m-sm-4 {
    margin: 30px !important;
  }
  .mt-sm-4,
  .my-sm-4 {
    margin-top: 30px !important;
  }
  .mr-sm-4,
  .mx-sm-4 {
    margin-right: 30px !important;
  }
  .mb-sm-4,
  .my-sm-4 {
    margin-bottom: 30px !important;
  }
  .ml-sm-4,
  .mx-sm-4 {
    margin-left: 30px !important;
  }
  .m-sm-5 {
    margin: 5px !important;
  }
  .mt-sm-5,
  .my-sm-5 {
    margin-top: 5px !important;
  }
  .mr-sm-5,
  .mx-sm-5 {
    margin-right: 5px !important;
  }
  .mb-sm-5,
  .my-sm-5 {
    margin-bottom: 5px !important;
  }
  .ml-sm-5,
  .mx-sm-5 {
    margin-left: 5px !important;
  }
  .m-sm-10 {
    margin: 10px !important;
  }
  .mt-sm-10,
  .my-sm-10 {
    margin-top: 10px !important;
  }
  .mr-sm-10,
  .mx-sm-10 {
    margin-right: 10px !important;
  }
  .mb-sm-10,
  .my-sm-10 {
    margin-bottom: 10px !important;
  }
  .ml-sm-10,
  .mx-sm-10 {
    margin-left: 10px !important;
  }
  .m-sm-15 {
    margin: 15px !important;
  }
  .mt-sm-15,
  .my-sm-15 {
    margin-top: 15px !important;
  }
  .mr-sm-15,
  .mx-sm-15 {
    margin-right: 15px !important;
  }
  .mb-sm-15,
  .my-sm-15 {
    margin-bottom: 15px !important;
  }
  .ml-sm-15,
  .mx-sm-15 {
    margin-left: 15px !important;
  }
  .m-sm-20 {
    margin: 20px !important;
  }
  .mt-sm-20,
  .my-sm-20 {
    margin-top: 20px !important;
  }
  .mr-sm-20,
  .mx-sm-20 {
    margin-right: 20px !important;
  }
  .mb-sm-20,
  .my-sm-20 {
    margin-bottom: 20px !important;
  }
  .ml-sm-20,
  .mx-sm-20 {
    margin-left: 20px !important;
  }
  .m-sm-25 {
    margin: 25px !important;
  }
  .mt-sm-25,
  .my-sm-25 {
    margin-top: 25px !important;
  }
  .mr-sm-25,
  .mx-sm-25 {
    margin-right: 25px !important;
  }
  .mb-sm-25,
  .my-sm-25 {
    margin-bottom: 25px !important;
  }
  .ml-sm-25,
  .mx-sm-25 {
    margin-left: 25px !important;
  }
  .m-sm-30 {
    margin: 30px !important;
  }
  .mt-sm-30,
  .my-sm-30 {
    margin-top: 30px !important;
  }
  .mr-sm-30,
  .mx-sm-30 {
    margin-right: 30px !important;
  }
  .mb-sm-30,
  .my-sm-30 {
    margin-bottom: 30px !important;
  }
  .ml-sm-30,
  .mx-sm-30 {
    margin-left: 30px !important;
  }
  .m-sm-35 {
    margin: 35px !important;
  }
  .mt-sm-35,
  .my-sm-35 {
    margin-top: 35px !important;
  }
  .mr-sm-35,
  .mx-sm-35 {
    margin-right: 35px !important;
  }
  .mb-sm-35,
  .my-sm-35 {
    margin-bottom: 35px !important;
  }
  .ml-sm-35,
  .mx-sm-35 {
    margin-left: 35px !important;
  }
  .m-sm-40 {
    margin: 40px !important;
  }
  .mt-sm-40,
  .my-sm-40 {
    margin-top: 40px !important;
  }
  .mr-sm-40,
  .mx-sm-40 {
    margin-right: 40px !important;
  }
  .mb-sm-40,
  .my-sm-40 {
    margin-bottom: 40px !important;
  }
  .ml-sm-40,
  .mx-sm-40 {
    margin-left: 40px !important;
  }
  .m-sm-45 {
    margin: 45px !important;
  }
  .mt-sm-45,
  .my-sm-45 {
    margin-top: 45px !important;
  }
  .mr-sm-45,
  .mx-sm-45 {
    margin-right: 45px !important;
  }
  .mb-sm-45,
  .my-sm-45 {
    margin-bottom: 45px !important;
  }
  .ml-sm-45,
  .mx-sm-45 {
    margin-left: 45px !important;
  }
  .m-sm-50 {
    margin: 50px !important;
  }
  .mt-sm-50,
  .my-sm-50 {
    margin-top: 50px !important;
  }
  .mr-sm-50,
  .mx-sm-50 {
    margin-right: 50px !important;
  }
  .mb-sm-50,
  .my-sm-50 {
    margin-bottom: 50px !important;
  }
  .ml-sm-50,
  .mx-sm-50 {
    margin-left: 50px !important;
  }
  .m-sm-80 {
    margin: 80px !important;
  }
  .mt-sm-80,
  .my-sm-80 {
    margin-top: 80px !important;
  }
  .mr-sm-80,
  .mx-sm-80 {
    margin-right: 80px !important;
  }
  .mb-sm-80,
  .my-sm-80 {
    margin-bottom: 80px !important;
  }
  .ml-sm-80,
  .mx-sm-80 {
    margin-left: 80px !important;
  }
  .p-sm-0 {
    padding: 0 !important;
  }
  .pt-sm-0,
  .py-sm-0 {
    padding-top: 0 !important;
  }
  .pr-sm-0,
  .px-sm-0 {
    padding-right: 0 !important;
  }
  .pb-sm-0,
  .py-sm-0 {
    padding-bottom: 0 !important;
  }
  .pl-sm-0,
  .px-sm-0 {
    padding-left: 0 !important;
  }
  .p-sm-1 {
    padding: 5px !important;
  }
  .pt-sm-1,
  .py-sm-1 {
    padding-top: 5px !important;
  }
  .pr-sm-1,
  .px-sm-1 {
    padding-right: 5px !important;
  }
  .pb-sm-1,
  .py-sm-1 {
    padding-bottom: 5px !important;
  }
  .pl-sm-1,
  .px-sm-1 {
    padding-left: 5px !important;
  }
  .p-sm-2 {
    padding: 10px !important;
  }
  .pt-sm-2,
  .py-sm-2 {
    padding-top: 10px !important;
  }
  .pr-sm-2,
  .px-sm-2 {
    padding-right: 10px !important;
  }
  .pb-sm-2,
  .py-sm-2 {
    padding-bottom: 10px !important;
  }
  .pl-sm-2,
  .px-sm-2 {
    padding-left: 10px !important;
  }
  .p-sm-3 {
    padding: 20px !important;
  }
  .pt-sm-3,
  .py-sm-3 {
    padding-top: 20px !important;
  }
  .pr-sm-3,
  .px-sm-3 {
    padding-right: 20px !important;
  }
  .pb-sm-3,
  .py-sm-3 {
    padding-bottom: 20px !important;
  }
  .pl-sm-3,
  .px-sm-3 {
    padding-left: 20px !important;
  }
  .p-sm-4 {
    padding: 30px !important;
  }
  .pt-sm-4,
  .py-sm-4 {
    padding-top: 30px !important;
  }
  .pr-sm-4,
  .px-sm-4 {
    padding-right: 30px !important;
  }
  .pb-sm-4,
  .py-sm-4 {
    padding-bottom: 30px !important;
  }
  .pl-sm-4,
  .px-sm-4 {
    padding-left: 30px !important;
  }
  .p-sm-5 {
    padding: 5px !important;
  }
  .pt-sm-5,
  .py-sm-5 {
    padding-top: 5px !important;
  }
  .pr-sm-5,
  .px-sm-5 {
    padding-right: 5px !important;
  }
  .pb-sm-5,
  .py-sm-5 {
    padding-bottom: 5px !important;
  }
  .pl-sm-5,
  .px-sm-5 {
    padding-left: 5px !important;
  }
  .p-sm-10 {
    padding: 10px !important;
  }
  .pt-sm-10,
  .py-sm-10 {
    padding-top: 10px !important;
  }
  .pr-sm-10,
  .px-sm-10 {
    padding-right: 10px !important;
  }
  .pb-sm-10,
  .py-sm-10 {
    padding-bottom: 10px !important;
  }
  .pl-sm-10,
  .px-sm-10 {
    padding-left: 10px !important;
  }
  .p-sm-15 {
    padding: 15px !important;
  }
  .pt-sm-15,
  .py-sm-15 {
    padding-top: 15px !important;
  }
  .pr-sm-15,
  .px-sm-15 {
    padding-right: 15px !important;
  }
  .pb-sm-15,
  .py-sm-15 {
    padding-bottom: 15px !important;
  }
  .pl-sm-15,
  .px-sm-15 {
    padding-left: 15px !important;
  }
  .p-sm-20 {
    padding: 20px !important;
  }
  .pt-sm-20,
  .py-sm-20 {
    padding-top: 20px !important;
  }
  .pr-sm-20,
  .px-sm-20 {
    padding-right: 20px !important;
  }
  .pb-sm-20,
  .py-sm-20 {
    padding-bottom: 20px !important;
  }
  .pl-sm-20,
  .px-sm-20 {
    padding-left: 20px !important;
  }
  .p-sm-25 {
    padding: 25px !important;
  }
  .pt-sm-25,
  .py-sm-25 {
    padding-top: 25px !important;
  }
  .pr-sm-25,
  .px-sm-25 {
    padding-right: 25px !important;
  }
  .pb-sm-25,
  .py-sm-25 {
    padding-bottom: 25px !important;
  }
  .pl-sm-25,
  .px-sm-25 {
    padding-left: 25px !important;
  }
  .p-sm-30 {
    padding: 30px !important;
  }
  .pt-sm-30,
  .py-sm-30 {
    padding-top: 30px !important;
  }
  .pr-sm-30,
  .px-sm-30 {
    padding-right: 30px !important;
  }
  .pb-sm-30,
  .py-sm-30 {
    padding-bottom: 30px !important;
  }
  .pl-sm-30,
  .px-sm-30 {
    padding-left: 30px !important;
  }
  .p-sm-35 {
    padding: 35px !important;
  }
  .pt-sm-35,
  .py-sm-35 {
    padding-top: 35px !important;
  }
  .pr-sm-35,
  .px-sm-35 {
    padding-right: 35px !important;
  }
  .pb-sm-35,
  .py-sm-35 {
    padding-bottom: 35px !important;
  }
  .pl-sm-35,
  .px-sm-35 {
    padding-left: 35px !important;
  }
  .p-sm-40 {
    padding: 40px !important;
  }
  .pt-sm-40,
  .py-sm-40 {
    padding-top: 40px !important;
  }
  .pr-sm-40,
  .px-sm-40 {
    padding-right: 40px !important;
  }
  .pb-sm-40,
  .py-sm-40 {
    padding-bottom: 40px !important;
  }
  .pl-sm-40,
  .px-sm-40 {
    padding-left: 40px !important;
  }
  .p-sm-45 {
    padding: 45px !important;
  }
  .pt-sm-45,
  .py-sm-45 {
    padding-top: 45px !important;
  }
  .pr-sm-45,
  .px-sm-45 {
    padding-right: 45px !important;
  }
  .pb-sm-45,
  .py-sm-45 {
    padding-bottom: 45px !important;
  }
  .pl-sm-45,
  .px-sm-45 {
    padding-left: 45px !important;
  }
  .p-sm-50 {
    padding: 50px !important;
  }
  .pt-sm-50,
  .py-sm-50 {
    padding-top: 50px !important;
  }
  .pr-sm-50,
  .px-sm-50 {
    padding-right: 50px !important;
  }
  .pb-sm-50,
  .py-sm-50 {
    padding-bottom: 50px !important;
  }
  .pl-sm-50,
  .px-sm-50 {
    padding-left: 50px !important;
  }
  .p-sm-80 {
    padding: 80px !important;
  }
  .pt-sm-80,
  .py-sm-80 {
    padding-top: 80px !important;
  }
  .pr-sm-80,
  .px-sm-80 {
    padding-right: 80px !important;
  }
  .pb-sm-80,
  .py-sm-80 {
    padding-bottom: 80px !important;
  }
  .pl-sm-80,
  .px-sm-80 {
    padding-left: 80px !important;
  }
  .m-sm-n1 {
    margin: -5px !important;
  }
  .mt-sm-n1,
  .my-sm-n1 {
    margin-top: -5px !important;
  }
  .mr-sm-n1,
  .mx-sm-n1 {
    margin-right: -5px !important;
  }
  .mb-sm-n1,
  .my-sm-n1 {
    margin-bottom: -5px !important;
  }
  .ml-sm-n1,
  .mx-sm-n1 {
    margin-left: -5px !important;
  }
  .m-sm-n2 {
    margin: -10px !important;
  }
  .mt-sm-n2,
  .my-sm-n2 {
    margin-top: -10px !important;
  }
  .mr-sm-n2,
  .mx-sm-n2 {
    margin-right: -10px !important;
  }
  .mb-sm-n2,
  .my-sm-n2 {
    margin-bottom: -10px !important;
  }
  .ml-sm-n2,
  .mx-sm-n2 {
    margin-left: -10px !important;
  }
  .m-sm-n3 {
    margin: -20px !important;
  }
  .mt-sm-n3,
  .my-sm-n3 {
    margin-top: -20px !important;
  }
  .mr-sm-n3,
  .mx-sm-n3 {
    margin-right: -20px !important;
  }
  .mb-sm-n3,
  .my-sm-n3 {
    margin-bottom: -20px !important;
  }
  .ml-sm-n3,
  .mx-sm-n3 {
    margin-left: -20px !important;
  }
  .m-sm-n4 {
    margin: -30px !important;
  }
  .mt-sm-n4,
  .my-sm-n4 {
    margin-top: -30px !important;
  }
  .mr-sm-n4,
  .mx-sm-n4 {
    margin-right: -30px !important;
  }
  .mb-sm-n4,
  .my-sm-n4 {
    margin-bottom: -30px !important;
  }
  .ml-sm-n4,
  .mx-sm-n4 {
    margin-left: -30px !important;
  }
  .m-sm-n5 {
    margin: -5px !important;
  }
  .mt-sm-n5,
  .my-sm-n5 {
    margin-top: -5px !important;
  }
  .mr-sm-n5,
  .mx-sm-n5 {
    margin-right: -5px !important;
  }
  .mb-sm-n5,
  .my-sm-n5 {
    margin-bottom: -5px !important;
  }
  .ml-sm-n5,
  .mx-sm-n5 {
    margin-left: -5px !important;
  }
  .m-sm-n10 {
    margin: -10px !important;
  }
  .mt-sm-n10,
  .my-sm-n10 {
    margin-top: -10px !important;
  }
  .mr-sm-n10,
  .mx-sm-n10 {
    margin-right: -10px !important;
  }
  .mb-sm-n10,
  .my-sm-n10 {
    margin-bottom: -10px !important;
  }
  .ml-sm-n10,
  .mx-sm-n10 {
    margin-left: -10px !important;
  }
  .m-sm-n15 {
    margin: -15px !important;
  }
  .mt-sm-n15,
  .my-sm-n15 {
    margin-top: -15px !important;
  }
  .mr-sm-n15,
  .mx-sm-n15 {
    margin-right: -15px !important;
  }
  .mb-sm-n15,
  .my-sm-n15 {
    margin-bottom: -15px !important;
  }
  .ml-sm-n15,
  .mx-sm-n15 {
    margin-left: -15px !important;
  }
  .m-sm-n20 {
    margin: -20px !important;
  }
  .mt-sm-n20,
  .my-sm-n20 {
    margin-top: -20px !important;
  }
  .mr-sm-n20,
  .mx-sm-n20 {
    margin-right: -20px !important;
  }
  .mb-sm-n20,
  .my-sm-n20 {
    margin-bottom: -20px !important;
  }
  .ml-sm-n20,
  .mx-sm-n20 {
    margin-left: -20px !important;
  }
  .m-sm-n25 {
    margin: -25px !important;
  }
  .mt-sm-n25,
  .my-sm-n25 {
    margin-top: -25px !important;
  }
  .mr-sm-n25,
  .mx-sm-n25 {
    margin-right: -25px !important;
  }
  .mb-sm-n25,
  .my-sm-n25 {
    margin-bottom: -25px !important;
  }
  .ml-sm-n25,
  .mx-sm-n25 {
    margin-left: -25px !important;
  }
  .m-sm-n30 {
    margin: -30px !important;
  }
  .mt-sm-n30,
  .my-sm-n30 {
    margin-top: -30px !important;
  }
  .mr-sm-n30,
  .mx-sm-n30 {
    margin-right: -30px !important;
  }
  .mb-sm-n30,
  .my-sm-n30 {
    margin-bottom: -30px !important;
  }
  .ml-sm-n30,
  .mx-sm-n30 {
    margin-left: -30px !important;
  }
  .m-sm-n35 {
    margin: -35px !important;
  }
  .mt-sm-n35,
  .my-sm-n35 {
    margin-top: -35px !important;
  }
  .mr-sm-n35,
  .mx-sm-n35 {
    margin-right: -35px !important;
  }
  .mb-sm-n35,
  .my-sm-n35 {
    margin-bottom: -35px !important;
  }
  .ml-sm-n35,
  .mx-sm-n35 {
    margin-left: -35px !important;
  }
  .m-sm-n40 {
    margin: -40px !important;
  }
  .mt-sm-n40,
  .my-sm-n40 {
    margin-top: -40px !important;
  }
  .mr-sm-n40,
  .mx-sm-n40 {
    margin-right: -40px !important;
  }
  .mb-sm-n40,
  .my-sm-n40 {
    margin-bottom: -40px !important;
  }
  .ml-sm-n40,
  .mx-sm-n40 {
    margin-left: -40px !important;
  }
  .m-sm-n45 {
    margin: -45px !important;
  }
  .mt-sm-n45,
  .my-sm-n45 {
    margin-top: -45px !important;
  }
  .mr-sm-n45,
  .mx-sm-n45 {
    margin-right: -45px !important;
  }
  .mb-sm-n45,
  .my-sm-n45 {
    margin-bottom: -45px !important;
  }
  .ml-sm-n45,
  .mx-sm-n45 {
    margin-left: -45px !important;
  }
  .m-sm-n50 {
    margin: -50px !important;
  }
  .mt-sm-n50,
  .my-sm-n50 {
    margin-top: -50px !important;
  }
  .mr-sm-n50,
  .mx-sm-n50 {
    margin-right: -50px !important;
  }
  .mb-sm-n50,
  .my-sm-n50 {
    margin-bottom: -50px !important;
  }
  .ml-sm-n50,
  .mx-sm-n50 {
    margin-left: -50px !important;
  }
  .m-sm-n80 {
    margin: -80px !important;
  }
  .mt-sm-n80,
  .my-sm-n80 {
    margin-top: -80px !important;
  }
  .mr-sm-n80,
  .mx-sm-n80 {
    margin-right: -80px !important;
  }
  .mb-sm-n80,
  .my-sm-n80 {
    margin-bottom: -80px !important;
  }
  .ml-sm-n80,
  .mx-sm-n80 {
    margin-left: -80px !important;
  }
  .m-sm-auto {
    margin: auto !important;
  }
  .mt-sm-auto,
  .my-sm-auto {
    margin-top: auto !important;
  }
  .mr-sm-auto,
  .mx-sm-auto {
    margin-right: auto !important;
  }
  .mb-sm-auto,
  .my-sm-auto {
    margin-bottom: auto !important;
  }
  .ml-sm-auto,
  .mx-sm-auto {
    margin-left: auto !important;
  }
}
@media (min-width: 768px) {
  .m-md-0 {
    margin: 0 !important;
  }
  .mt-md-0,
  .my-md-0 {
    margin-top: 0 !important;
  }
  .mr-md-0,
  .mx-md-0 {
    margin-right: 0 !important;
  }
  .mb-md-0,
  .my-md-0 {
    margin-bottom: 0 !important;
  }
  .ml-md-0,
  .mx-md-0 {
    margin-left: 0 !important;
  }
  .m-md-1 {
    margin: 5px !important;
  }
  .mt-md-1,
  .my-md-1 {
    margin-top: 5px !important;
  }
  .mr-md-1,
  .mx-md-1 {
    margin-right: 5px !important;
  }
  .mb-md-1,
  .my-md-1 {
    margin-bottom: 5px !important;
  }
  .ml-md-1,
  .mx-md-1 {
    margin-left: 5px !important;
  }
  .m-md-2 {
    margin: 10px !important;
  }
  .mt-md-2,
  .my-md-2 {
    margin-top: 10px !important;
  }
  .mr-md-2,
  .mx-md-2 {
    margin-right: 10px !important;
  }
  .mb-md-2,
  .my-md-2 {
    margin-bottom: 10px !important;
  }
  .ml-md-2,
  .mx-md-2 {
    margin-left: 10px !important;
  }
  .m-md-3 {
    margin: 20px !important;
  }
  .mt-md-3,
  .my-md-3 {
    margin-top: 20px !important;
  }
  .mr-md-3,
  .mx-md-3 {
    margin-right: 20px !important;
  }
  .mb-md-3,
  .my-md-3 {
    margin-bottom: 20px !important;
  }
  .ml-md-3,
  .mx-md-3 {
    margin-left: 20px !important;
  }
  .m-md-4 {
    margin: 30px !important;
  }
  .mt-md-4,
  .my-md-4 {
    margin-top: 30px !important;
  }
  .mr-md-4,
  .mx-md-4 {
    margin-right: 30px !important;
  }
  .mb-md-4,
  .my-md-4 {
    margin-bottom: 30px !important;
  }
  .ml-md-4,
  .mx-md-4 {
    margin-left: 30px !important;
  }
  .m-md-5 {
    margin: 5px !important;
  }
  .mt-md-5,
  .my-md-5 {
    margin-top: 5px !important;
  }
  .mr-md-5,
  .mx-md-5 {
    margin-right: 5px !important;
  }
  .mb-md-5,
  .my-md-5 {
    margin-bottom: 5px !important;
  }
  .ml-md-5,
  .mx-md-5 {
    margin-left: 5px !important;
  }
  .m-md-10 {
    margin: 10px !important;
  }
  .mt-md-10,
  .my-md-10 {
    margin-top: 10px !important;
  }
  .mr-md-10,
  .mx-md-10 {
    margin-right: 10px !important;
  }
  .mb-md-10,
  .my-md-10 {
    margin-bottom: 10px !important;
  }
  .ml-md-10,
  .mx-md-10 {
    margin-left: 10px !important;
  }
  .m-md-15 {
    margin: 15px !important;
  }
  .mt-md-15,
  .my-md-15 {
    margin-top: 15px !important;
  }
  .mr-md-15,
  .mx-md-15 {
    margin-right: 15px !important;
  }
  .mb-md-15,
  .my-md-15 {
    margin-bottom: 15px !important;
  }
  .ml-md-15,
  .mx-md-15 {
    margin-left: 15px !important;
  }
  .m-md-20 {
    margin: 20px !important;
  }
  .mt-md-20,
  .my-md-20 {
    margin-top: 20px !important;
  }
  .mr-md-20,
  .mx-md-20 {
    margin-right: 20px !important;
  }
  .mb-md-20,
  .my-md-20 {
    margin-bottom: 20px !important;
  }
  .ml-md-20,
  .mx-md-20 {
    margin-left: 20px !important;
  }
  .m-md-25 {
    margin: 25px !important;
  }
  .mt-md-25,
  .my-md-25 {
    margin-top: 25px !important;
  }
  .mr-md-25,
  .mx-md-25 {
    margin-right: 25px !important;
  }
  .mb-md-25,
  .my-md-25 {
    margin-bottom: 25px !important;
  }
  .ml-md-25,
  .mx-md-25 {
    margin-left: 25px !important;
  }
  .m-md-30 {
    margin: 30px !important;
  }
  .mt-md-30,
  .my-md-30 {
    margin-top: 30px !important;
  }
  .mr-md-30,
  .mx-md-30 {
    margin-right: 30px !important;
  }
  .mb-md-30,
  .my-md-30 {
    margin-bottom: 30px !important;
  }
  .ml-md-30,
  .mx-md-30 {
    margin-left: 30px !important;
  }
  .m-md-35 {
    margin: 35px !important;
  }
  .mt-md-35,
  .my-md-35 {
    margin-top: 35px !important;
  }
  .mr-md-35,
  .mx-md-35 {
    margin-right: 35px !important;
  }
  .mb-md-35,
  .my-md-35 {
    margin-bottom: 35px !important;
  }
  .ml-md-35,
  .mx-md-35 {
    margin-left: 35px !important;
  }
  .m-md-40 {
    margin: 40px !important;
  }
  .mt-md-40,
  .my-md-40 {
    margin-top: 40px !important;
  }
  .mr-md-40,
  .mx-md-40 {
    margin-right: 40px !important;
  }
  .mb-md-40,
  .my-md-40 {
    margin-bottom: 40px !important;
  }
  .ml-md-40,
  .mx-md-40 {
    margin-left: 40px !important;
  }
  .m-md-45 {
    margin: 45px !important;
  }
  .mt-md-45,
  .my-md-45 {
    margin-top: 45px !important;
  }
  .mr-md-45,
  .mx-md-45 {
    margin-right: 45px !important;
  }
  .mb-md-45,
  .my-md-45 {
    margin-bottom: 45px !important;
  }
  .ml-md-45,
  .mx-md-45 {
    margin-left: 45px !important;
  }
  .m-md-50 {
    margin: 50px !important;
  }
  .mt-md-50,
  .my-md-50 {
    margin-top: 50px !important;
  }
  .mr-md-50,
  .mx-md-50 {
    margin-right: 50px !important;
  }
  .mb-md-50,
  .my-md-50 {
    margin-bottom: 50px !important;
  }
  .ml-md-50,
  .mx-md-50 {
    margin-left: 50px !important;
  }
  .m-md-80 {
    margin: 80px !important;
  }
  .mt-md-80,
  .my-md-80 {
    margin-top: 80px !important;
  }
  .mr-md-80,
  .mx-md-80 {
    margin-right: 80px !important;
  }
  .mb-md-80,
  .my-md-80 {
    margin-bottom: 80px !important;
  }
  .ml-md-80,
  .mx-md-80 {
    margin-left: 80px !important;
  }
  .p-md-0 {
    padding: 0 !important;
  }
  .pt-md-0,
  .py-md-0 {
    padding-top: 0 !important;
  }
  .pr-md-0,
  .px-md-0 {
    padding-right: 0 !important;
  }
  .pb-md-0,
  .py-md-0 {
    padding-bottom: 0 !important;
  }
  .pl-md-0,
  .px-md-0 {
    padding-left: 0 !important;
  }
  .p-md-1 {
    padding: 5px !important;
  }
  .pt-md-1,
  .py-md-1 {
    padding-top: 5px !important;
  }
  .pr-md-1,
  .px-md-1 {
    padding-right: 5px !important;
  }
  .pb-md-1,
  .py-md-1 {
    padding-bottom: 5px !important;
  }
  .pl-md-1,
  .px-md-1 {
    padding-left: 5px !important;
  }
  .p-md-2 {
    padding: 10px !important;
  }
  .pt-md-2,
  .py-md-2 {
    padding-top: 10px !important;
  }
  .pr-md-2,
  .px-md-2 {
    padding-right: 10px !important;
  }
  .pb-md-2,
  .py-md-2 {
    padding-bottom: 10px !important;
  }
  .pl-md-2,
  .px-md-2 {
    padding-left: 10px !important;
  }
  .p-md-3 {
    padding: 20px !important;
  }
  .pt-md-3,
  .py-md-3 {
    padding-top: 20px !important;
  }
  .pr-md-3,
  .px-md-3 {
    padding-right: 20px !important;
  }
  .pb-md-3,
  .py-md-3 {
    padding-bottom: 20px !important;
  }
  .pl-md-3,
  .px-md-3 {
    padding-left: 20px !important;
  }
  .p-md-4 {
    padding: 30px !important;
  }
  .pt-md-4,
  .py-md-4 {
    padding-top: 30px !important;
  }
  .pr-md-4,
  .px-md-4 {
    padding-right: 30px !important;
  }
  .pb-md-4,
  .py-md-4 {
    padding-bottom: 30px !important;
  }
  .pl-md-4,
  .px-md-4 {
    padding-left: 30px !important;
  }
  .p-md-5 {
    padding: 5px !important;
  }
  .pt-md-5,
  .py-md-5 {
    padding-top: 5px !important;
  }
  .pr-md-5,
  .px-md-5 {
    padding-right: 5px !important;
  }
  .pb-md-5,
  .py-md-5 {
    padding-bottom: 5px !important;
  }
  .pl-md-5,
  .px-md-5 {
    padding-left: 5px !important;
  }
  .p-md-10 {
    padding: 10px !important;
  }
  .pt-md-10,
  .py-md-10 {
    padding-top: 10px !important;
  }
  .pr-md-10,
  .px-md-10 {
    padding-right: 10px !important;
  }
  .pb-md-10,
  .py-md-10 {
    padding-bottom: 10px !important;
  }
  .pl-md-10,
  .px-md-10 {
    padding-left: 10px !important;
  }
  .p-md-15 {
    padding: 15px !important;
  }
  .pt-md-15,
  .py-md-15 {
    padding-top: 15px !important;
  }
  .pr-md-15,
  .px-md-15 {
    padding-right: 15px !important;
  }
  .pb-md-15,
  .py-md-15 {
    padding-bottom: 15px !important;
  }
  .pl-md-15,
  .px-md-15 {
    padding-left: 15px !important;
  }
  .p-md-20 {
    padding: 20px !important;
  }
  .pt-md-20,
  .py-md-20 {
    padding-top: 20px !important;
  }
  .pr-md-20,
  .px-md-20 {
    padding-right: 20px !important;
  }
  .pb-md-20,
  .py-md-20 {
    padding-bottom: 20px !important;
  }
  .pl-md-20,
  .px-md-20 {
    padding-left: 20px !important;
  }
  .p-md-25 {
    padding: 25px !important;
  }
  .pt-md-25,
  .py-md-25 {
    padding-top: 25px !important;
  }
  .pr-md-25,
  .px-md-25 {
    padding-right: 25px !important;
  }
  .pb-md-25,
  .py-md-25 {
    padding-bottom: 25px !important;
  }
  .pl-md-25,
  .px-md-25 {
    padding-left: 25px !important;
  }
  .p-md-30 {
    padding: 30px !important;
  }
  .pt-md-30,
  .py-md-30 {
    padding-top: 30px !important;
  }
  .pr-md-30,
  .px-md-30 {
    padding-right: 30px !important;
  }
  .pb-md-30,
  .py-md-30 {
    padding-bottom: 30px !important;
  }
  .pl-md-30,
  .px-md-30 {
    padding-left: 30px !important;
  }
  .p-md-35 {
    padding: 35px !important;
  }
  .pt-md-35,
  .py-md-35 {
    padding-top: 35px !important;
  }
  .pr-md-35,
  .px-md-35 {
    padding-right: 35px !important;
  }
  .pb-md-35,
  .py-md-35 {
    padding-bottom: 35px !important;
  }
  .pl-md-35,
  .px-md-35 {
    padding-left: 35px !important;
  }
  .p-md-40 {
    padding: 40px !important;
  }
  .pt-md-40,
  .py-md-40 {
    padding-top: 40px !important;
  }
  .pr-md-40,
  .px-md-40 {
    padding-right: 40px !important;
  }
  .pb-md-40,
  .py-md-40 {
    padding-bottom: 40px !important;
  }
  .pl-md-40,
  .px-md-40 {
    padding-left: 40px !important;
  }
  .p-md-45 {
    padding: 45px !important;
  }
  .pt-md-45,
  .py-md-45 {
    padding-top: 45px !important;
  }
  .pr-md-45,
  .px-md-45 {
    padding-right: 45px !important;
  }
  .pb-md-45,
  .py-md-45 {
    padding-bottom: 45px !important;
  }
  .pl-md-45,
  .px-md-45 {
    padding-left: 45px !important;
  }
  .p-md-50 {
    padding: 50px !important;
  }
  .pt-md-50,
  .py-md-50 {
    padding-top: 50px !important;
  }
  .pr-md-50,
  .px-md-50 {
    padding-right: 50px !important;
  }
  .pb-md-50,
  .py-md-50 {
    padding-bottom: 50px !important;
  }
  .pl-md-50,
  .px-md-50 {
    padding-left: 50px !important;
  }
  .p-md-80 {
    padding: 80px !important;
  }
  .pt-md-80,
  .py-md-80 {
    padding-top: 80px !important;
  }
  .pr-md-80,
  .px-md-80 {
    padding-right: 80px !important;
  }
  .pb-md-80,
  .py-md-80 {
    padding-bottom: 80px !important;
  }
  .pl-md-80,
  .px-md-80 {
    padding-left: 80px !important;
  }
  .m-md-n1 {
    margin: -5px !important;
  }
  .mt-md-n1,
  .my-md-n1 {
    margin-top: -5px !important;
  }
  .mr-md-n1,
  .mx-md-n1 {
    margin-right: -5px !important;
  }
  .mb-md-n1,
  .my-md-n1 {
    margin-bottom: -5px !important;
  }
  .ml-md-n1,
  .mx-md-n1 {
    margin-left: -5px !important;
  }
  .m-md-n2 {
    margin: -10px !important;
  }
  .mt-md-n2,
  .my-md-n2 {
    margin-top: -10px !important;
  }
  .mr-md-n2,
  .mx-md-n2 {
    margin-right: -10px !important;
  }
  .mb-md-n2,
  .my-md-n2 {
    margin-bottom: -10px !important;
  }
  .ml-md-n2,
  .mx-md-n2 {
    margin-left: -10px !important;
  }
  .m-md-n3 {
    margin: -20px !important;
  }
  .mt-md-n3,
  .my-md-n3 {
    margin-top: -20px !important;
  }
  .mr-md-n3,
  .mx-md-n3 {
    margin-right: -20px !important;
  }
  .mb-md-n3,
  .my-md-n3 {
    margin-bottom: -20px !important;
  }
  .ml-md-n3,
  .mx-md-n3 {
    margin-left: -20px !important;
  }
  .m-md-n4 {
    margin: -30px !important;
  }
  .mt-md-n4,
  .my-md-n4 {
    margin-top: -30px !important;
  }
  .mr-md-n4,
  .mx-md-n4 {
    margin-right: -30px !important;
  }
  .mb-md-n4,
  .my-md-n4 {
    margin-bottom: -30px !important;
  }
  .ml-md-n4,
  .mx-md-n4 {
    margin-left: -30px !important;
  }
  .m-md-n5 {
    margin: -5px !important;
  }
  .mt-md-n5,
  .my-md-n5 {
    margin-top: -5px !important;
  }
  .mr-md-n5,
  .mx-md-n5 {
    margin-right: -5px !important;
  }
  .mb-md-n5,
  .my-md-n5 {
    margin-bottom: -5px !important;
  }
  .ml-md-n5,
  .mx-md-n5 {
    margin-left: -5px !important;
  }
  .m-md-n10 {
    margin: -10px !important;
  }
  .mt-md-n10,
  .my-md-n10 {
    margin-top: -10px !important;
  }
  .mr-md-n10,
  .mx-md-n10 {
    margin-right: -10px !important;
  }
  .mb-md-n10,
  .my-md-n10 {
    margin-bottom: -10px !important;
  }
  .ml-md-n10,
  .mx-md-n10 {
    margin-left: -10px !important;
  }
  .m-md-n15 {
    margin: -15px !important;
  }
  .mt-md-n15,
  .my-md-n15 {
    margin-top: -15px !important;
  }
  .mr-md-n15,
  .mx-md-n15 {
    margin-right: -15px !important;
  }
  .mb-md-n15,
  .my-md-n15 {
    margin-bottom: -15px !important;
  }
  .ml-md-n15,
  .mx-md-n15 {
    margin-left: -15px !important;
  }
  .m-md-n20 {
    margin: -20px !important;
  }
  .mt-md-n20,
  .my-md-n20 {
    margin-top: -20px !important;
  }
  .mr-md-n20,
  .mx-md-n20 {
    margin-right: -20px !important;
  }
  .mb-md-n20,
  .my-md-n20 {
    margin-bottom: -20px !important;
  }
  .ml-md-n20,
  .mx-md-n20 {
    margin-left: -20px !important;
  }
  .m-md-n25 {
    margin: -25px !important;
  }
  .mt-md-n25,
  .my-md-n25 {
    margin-top: -25px !important;
  }
  .mr-md-n25,
  .mx-md-n25 {
    margin-right: -25px !important;
  }
  .mb-md-n25,
  .my-md-n25 {
    margin-bottom: -25px !important;
  }
  .ml-md-n25,
  .mx-md-n25 {
    margin-left: -25px !important;
  }
  .m-md-n30 {
    margin: -30px !important;
  }
  .mt-md-n30,
  .my-md-n30 {
    margin-top: -30px !important;
  }
  .mr-md-n30,
  .mx-md-n30 {
    margin-right: -30px !important;
  }
  .mb-md-n30,
  .my-md-n30 {
    margin-bottom: -30px !important;
  }
  .ml-md-n30,
  .mx-md-n30 {
    margin-left: -30px !important;
  }
  .m-md-n35 {
    margin: -35px !important;
  }
  .mt-md-n35,
  .my-md-n35 {
    margin-top: -35px !important;
  }
  .mr-md-n35,
  .mx-md-n35 {
    margin-right: -35px !important;
  }
  .mb-md-n35,
  .my-md-n35 {
    margin-bottom: -35px !important;
  }
  .ml-md-n35,
  .mx-md-n35 {
    margin-left: -35px !important;
  }
  .m-md-n40 {
    margin: -40px !important;
  }
  .mt-md-n40,
  .my-md-n40 {
    margin-top: -40px !important;
  }
  .mr-md-n40,
  .mx-md-n40 {
    margin-right: -40px !important;
  }
  .mb-md-n40,
  .my-md-n40 {
    margin-bottom: -40px !important;
  }
  .ml-md-n40,
  .mx-md-n40 {
    margin-left: -40px !important;
  }
  .m-md-n45 {
    margin: -45px !important;
  }
  .mt-md-n45,
  .my-md-n45 {
    margin-top: -45px !important;
  }
  .mr-md-n45,
  .mx-md-n45 {
    margin-right: -45px !important;
  }
  .mb-md-n45,
  .my-md-n45 {
    margin-bottom: -45px !important;
  }
  .ml-md-n45,
  .mx-md-n45 {
    margin-left: -45px !important;
  }
  .m-md-n50 {
    margin: -50px !important;
  }
  .mt-md-n50,
  .my-md-n50 {
    margin-top: -50px !important;
  }
  .mr-md-n50,
  .mx-md-n50 {
    margin-right: -50px !important;
  }
  .mb-md-n50,
  .my-md-n50 {
    margin-bottom: -50px !important;
  }
  .ml-md-n50,
  .mx-md-n50 {
    margin-left: -50px !important;
  }
  .m-md-n80 {
    margin: -80px !important;
  }
  .mt-md-n80,
  .my-md-n80 {
    margin-top: -80px !important;
  }
  .mr-md-n80,
  .mx-md-n80 {
    margin-right: -80px !important;
  }
  .mb-md-n80,
  .my-md-n80 {
    margin-bottom: -80px !important;
  }
  .ml-md-n80,
  .mx-md-n80 {
    margin-left: -80px !important;
  }
  .m-md-auto {
    margin: auto !important;
  }
  .mt-md-auto,
  .my-md-auto {
    margin-top: auto !important;
  }
  .mr-md-auto,
  .mx-md-auto {
    margin-right: auto !important;
  }
  .mb-md-auto,
  .my-md-auto {
    margin-bottom: auto !important;
  }
  .ml-md-auto,
  .mx-md-auto {
    margin-left: auto !important;
  }
}
@media (min-width: 992px) {
  .m-lg-0 {
    margin: 0 !important;
  }
  .mt-lg-0,
  .my-lg-0 {
    margin-top: 0 !important;
  }
  .mr-lg-0,
  .mx-lg-0 {
    margin-right: 0 !important;
  }
  .mb-lg-0,
  .my-lg-0 {
    margin-bottom: 0 !important;
  }
  .ml-lg-0,
  .mx-lg-0 {
    margin-left: 0 !important;
  }
  .m-lg-1 {
    margin: 5px !important;
  }
  .mt-lg-1,
  .my-lg-1 {
    margin-top: 5px !important;
  }
  .mr-lg-1,
  .mx-lg-1 {
    margin-right: 5px !important;
  }
  .mb-lg-1,
  .my-lg-1 {
    margin-bottom: 5px !important;
  }
  .ml-lg-1,
  .mx-lg-1 {
    margin-left: 5px !important;
  }
  .m-lg-2 {
    margin: 10px !important;
  }
  .mt-lg-2,
  .my-lg-2 {
    margin-top: 10px !important;
  }
  .mr-lg-2,
  .mx-lg-2 {
    margin-right: 10px !important;
  }
  .mb-lg-2,
  .my-lg-2 {
    margin-bottom: 10px !important;
  }
  .ml-lg-2,
  .mx-lg-2 {
    margin-left: 10px !important;
  }
  .m-lg-3 {
    margin: 20px !important;
  }
  .mt-lg-3,
  .my-lg-3 {
    margin-top: 20px !important;
  }
  .mr-lg-3,
  .mx-lg-3 {
    margin-right: 20px !important;
  }
  .mb-lg-3,
  .my-lg-3 {
    margin-bottom: 20px !important;
  }
  .ml-lg-3,
  .mx-lg-3 {
    margin-left: 20px !important;
  }
  .m-lg-4 {
    margin: 30px !important;
  }
  .mt-lg-4,
  .my-lg-4 {
    margin-top: 30px !important;
  }
  .mr-lg-4,
  .mx-lg-4 {
    margin-right: 30px !important;
  }
  .mb-lg-4,
  .my-lg-4 {
    margin-bottom: 30px !important;
  }
  .ml-lg-4,
  .mx-lg-4 {
    margin-left: 30px !important;
  }
  .m-lg-5 {
    margin: 5px !important;
  }
  .mt-lg-5,
  .my-lg-5 {
    margin-top: 5px !important;
  }
  .mr-lg-5,
  .mx-lg-5 {
    margin-right: 5px !important;
  }
  .mb-lg-5,
  .my-lg-5 {
    margin-bottom: 5px !important;
  }
  .ml-lg-5,
  .mx-lg-5 {
    margin-left: 5px !important;
  }
  .m-lg-10 {
    margin: 10px !important;
  }
  .mt-lg-10,
  .my-lg-10 {
    margin-top: 10px !important;
  }
  .mr-lg-10,
  .mx-lg-10 {
    margin-right: 10px !important;
  }
  .mb-lg-10,
  .my-lg-10 {
    margin-bottom: 10px !important;
  }
  .ml-lg-10,
  .mx-lg-10 {
    margin-left: 10px !important;
  }
  .m-lg-15 {
    margin: 15px !important;
  }
  .mt-lg-15,
  .my-lg-15 {
    margin-top: 15px !important;
  }
  .mr-lg-15,
  .mx-lg-15 {
    margin-right: 15px !important;
  }
  .mb-lg-15,
  .my-lg-15 {
    margin-bottom: 15px !important;
  }
  .ml-lg-15,
  .mx-lg-15 {
    margin-left: 15px !important;
  }
  .m-lg-20 {
    margin: 20px !important;
  }
  .mt-lg-20,
  .my-lg-20 {
    margin-top: 20px !important;
  }
  .mr-lg-20,
  .mx-lg-20 {
    margin-right: 20px !important;
  }
  .mb-lg-20,
  .my-lg-20 {
    margin-bottom: 20px !important;
  }
  .ml-lg-20,
  .mx-lg-20 {
    margin-left: 20px !important;
  }
  .m-lg-25 {
    margin: 25px !important;
  }
  .mt-lg-25,
  .my-lg-25 {
    margin-top: 25px !important;
  }
  .mr-lg-25,
  .mx-lg-25 {
    margin-right: 25px !important;
  }
  .mb-lg-25,
  .my-lg-25 {
    margin-bottom: 25px !important;
  }
  .ml-lg-25,
  .mx-lg-25 {
    margin-left: 25px !important;
  }
  .m-lg-30 {
    margin: 30px !important;
  }
  .mt-lg-30,
  .my-lg-30 {
    margin-top: 30px !important;
  }
  .mr-lg-30,
  .mx-lg-30 {
    margin-right: 30px !important;
  }
  .mb-lg-30,
  .my-lg-30 {
    margin-bottom: 30px !important;
  }
  .ml-lg-30,
  .mx-lg-30 {
    margin-left: 30px !important;
  }
  .m-lg-35 {
    margin: 35px !important;
  }
  .mt-lg-35,
  .my-lg-35 {
    margin-top: 35px !important;
  }
  .mr-lg-35,
  .mx-lg-35 {
    margin-right: 35px !important;
  }
  .mb-lg-35,
  .my-lg-35 {
    margin-bottom: 35px !important;
  }
  .ml-lg-35,
  .mx-lg-35 {
    margin-left: 35px !important;
  }
  .m-lg-40 {
    margin: 40px !important;
  }
  .mt-lg-40,
  .my-lg-40 {
    margin-top: 40px !important;
  }
  .mr-lg-40,
  .mx-lg-40 {
    margin-right: 40px !important;
  }
  .mb-lg-40,
  .my-lg-40 {
    margin-bottom: 40px !important;
  }
  .ml-lg-40,
  .mx-lg-40 {
    margin-left: 40px !important;
  }
  .m-lg-45 {
    margin: 45px !important;
  }
  .mt-lg-45,
  .my-lg-45 {
    margin-top: 45px !important;
  }
  .mr-lg-45,
  .mx-lg-45 {
    margin-right: 45px !important;
  }
  .mb-lg-45,
  .my-lg-45 {
    margin-bottom: 45px !important;
  }
  .ml-lg-45,
  .mx-lg-45 {
    margin-left: 45px !important;
  }
  .m-lg-50 {
    margin: 50px !important;
  }
  .mt-lg-50,
  .my-lg-50 {
    margin-top: 50px !important;
  }
  .mr-lg-50,
  .mx-lg-50 {
    margin-right: 50px !important;
  }
  .mb-lg-50,
  .my-lg-50 {
    margin-bottom: 50px !important;
  }
  .ml-lg-50,
  .mx-lg-50 {
    margin-left: 50px !important;
  }
  .m-lg-80 {
    margin: 80px !important;
  }
  .mt-lg-80,
  .my-lg-80 {
    margin-top: 80px !important;
  }
  .mr-lg-80,
  .mx-lg-80 {
    margin-right: 80px !important;
  }
  .mb-lg-80,
  .my-lg-80 {
    margin-bottom: 80px !important;
  }
  .ml-lg-80,
  .mx-lg-80 {
    margin-left: 80px !important;
  }
  .p-lg-0 {
    padding: 0 !important;
  }
  .pt-lg-0,
  .py-lg-0 {
    padding-top: 0 !important;
  }
  .pr-lg-0,
  .px-lg-0 {
    padding-right: 0 !important;
  }
  .pb-lg-0,
  .py-lg-0 {
    padding-bottom: 0 !important;
  }
  .pl-lg-0,
  .px-lg-0 {
    padding-left: 0 !important;
  }
  .p-lg-1 {
    padding: 5px !important;
  }
  .pt-lg-1,
  .py-lg-1 {
    padding-top: 5px !important;
  }
  .pr-lg-1,
  .px-lg-1 {
    padding-right: 5px !important;
  }
  .pb-lg-1,
  .py-lg-1 {
    padding-bottom: 5px !important;
  }
  .pl-lg-1,
  .px-lg-1 {
    padding-left: 5px !important;
  }
  .p-lg-2 {
    padding: 10px !important;
  }
  .pt-lg-2,
  .py-lg-2 {
    padding-top: 10px !important;
  }
  .pr-lg-2,
  .px-lg-2 {
    padding-right: 10px !important;
  }
  .pb-lg-2,
  .py-lg-2 {
    padding-bottom: 10px !important;
  }
  .pl-lg-2,
  .px-lg-2 {
    padding-left: 10px !important;
  }
  .p-lg-3 {
    padding: 20px !important;
  }
  .pt-lg-3,
  .py-lg-3 {
    padding-top: 20px !important;
  }
  .pr-lg-3,
  .px-lg-3 {
    padding-right: 20px !important;
  }
  .pb-lg-3,
  .py-lg-3 {
    padding-bottom: 20px !important;
  }
  .pl-lg-3,
  .px-lg-3 {
    padding-left: 20px !important;
  }
  .p-lg-4 {
    padding: 30px !important;
  }
  .pt-lg-4,
  .py-lg-4 {
    padding-top: 30px !important;
  }
  .pr-lg-4,
  .px-lg-4 {
    padding-right: 30px !important;
  }
  .pb-lg-4,
  .py-lg-4 {
    padding-bottom: 30px !important;
  }
  .pl-lg-4,
  .px-lg-4 {
    padding-left: 30px !important;
  }
  .p-lg-5 {
    padding: 5px !important;
  }
  .pt-lg-5,
  .py-lg-5 {
    padding-top: 5px !important;
  }
  .pr-lg-5,
  .px-lg-5 {
    padding-right: 5px !important;
  }
  .pb-lg-5,
  .py-lg-5 {
    padding-bottom: 5px !important;
  }
  .pl-lg-5,
  .px-lg-5 {
    padding-left: 5px !important;
  }
  .p-lg-10 {
    padding: 10px !important;
  }
  .pt-lg-10,
  .py-lg-10 {
    padding-top: 10px !important;
  }
  .pr-lg-10,
  .px-lg-10 {
    padding-right: 10px !important;
  }
  .pb-lg-10,
  .py-lg-10 {
    padding-bottom: 10px !important;
  }
  .pl-lg-10,
  .px-lg-10 {
    padding-left: 10px !important;
  }
  .p-lg-15 {
    padding: 15px !important;
  }
  .pt-lg-15,
  .py-lg-15 {
    padding-top: 15px !important;
  }
  .pr-lg-15,
  .px-lg-15 {
    padding-right: 15px !important;
  }
  .pb-lg-15,
  .py-lg-15 {
    padding-bottom: 15px !important;
  }
  .pl-lg-15,
  .px-lg-15 {
    padding-left: 15px !important;
  }
  .p-lg-20 {
    padding: 20px !important;
  }
  .pt-lg-20,
  .py-lg-20 {
    padding-top: 20px !important;
  }
  .pr-lg-20,
  .px-lg-20 {
    padding-right: 20px !important;
  }
  .pb-lg-20,
  .py-lg-20 {
    padding-bottom: 20px !important;
  }
  .pl-lg-20,
  .px-lg-20 {
    padding-left: 20px !important;
  }
  .p-lg-25 {
    padding: 25px !important;
  }
  .pt-lg-25,
  .py-lg-25 {
    padding-top: 25px !important;
  }
  .pr-lg-25,
  .px-lg-25 {
    padding-right: 25px !important;
  }
  .pb-lg-25,
  .py-lg-25 {
    padding-bottom: 25px !important;
  }
  .pl-lg-25,
  .px-lg-25 {
    padding-left: 25px !important;
  }
  .p-lg-30 {
    padding: 30px !important;
  }
  .pt-lg-30,
  .py-lg-30 {
    padding-top: 30px !important;
  }
  .pr-lg-30,
  .px-lg-30 {
    padding-right: 30px !important;
  }
  .pb-lg-30,
  .py-lg-30 {
    padding-bottom: 30px !important;
  }
  .pl-lg-30,
  .px-lg-30 {
    padding-left: 30px !important;
  }
  .p-lg-35 {
    padding: 35px !important;
  }
  .pt-lg-35,
  .py-lg-35 {
    padding-top: 35px !important;
  }
  .pr-lg-35,
  .px-lg-35 {
    padding-right: 35px !important;
  }
  .pb-lg-35,
  .py-lg-35 {
    padding-bottom: 35px !important;
  }
  .pl-lg-35,
  .px-lg-35 {
    padding-left: 35px !important;
  }
  .p-lg-40 {
    padding: 40px !important;
  }
  .pt-lg-40,
  .py-lg-40 {
    padding-top: 40px !important;
  }
  .pr-lg-40,
  .px-lg-40 {
    padding-right: 40px !important;
  }
  .pb-lg-40,
  .py-lg-40 {
    padding-bottom: 40px !important;
  }
  .pl-lg-40,
  .px-lg-40 {
    padding-left: 40px !important;
  }
  .p-lg-45 {
    padding: 45px !important;
  }
  .pt-lg-45,
  .py-lg-45 {
    padding-top: 45px !important;
  }
  .pr-lg-45,
  .px-lg-45 {
    padding-right: 45px !important;
  }
  .pb-lg-45,
  .py-lg-45 {
    padding-bottom: 45px !important;
  }
  .pl-lg-45,
  .px-lg-45 {
    padding-left: 45px !important;
  }
  .p-lg-50 {
    padding: 50px !important;
  }
  .pt-lg-50,
  .py-lg-50 {
    padding-top: 50px !important;
  }
  .pr-lg-50,
  .px-lg-50 {
    padding-right: 50px !important;
  }
  .pb-lg-50,
  .py-lg-50 {
    padding-bottom: 50px !important;
  }
  .pl-lg-50,
  .px-lg-50 {
    padding-left: 50px !important;
  }
  .p-lg-80 {
    padding: 80px !important;
  }
  .pt-lg-80,
  .py-lg-80 {
    padding-top: 80px !important;
  }
  .pr-lg-80,
  .px-lg-80 {
    padding-right: 80px !important;
  }
  .pb-lg-80,
  .py-lg-80 {
    padding-bottom: 80px !important;
  }
  .pl-lg-80,
  .px-lg-80 {
    padding-left: 80px !important;
  }
  .m-lg-n1 {
    margin: -5px !important;
  }
  .mt-lg-n1,
  .my-lg-n1 {
    margin-top: -5px !important;
  }
  .mr-lg-n1,
  .mx-lg-n1 {
    margin-right: -5px !important;
  }
  .mb-lg-n1,
  .my-lg-n1 {
    margin-bottom: -5px !important;
  }
  .ml-lg-n1,
  .mx-lg-n1 {
    margin-left: -5px !important;
  }
  .m-lg-n2 {
    margin: -10px !important;
  }
  .mt-lg-n2,
  .my-lg-n2 {
    margin-top: -10px !important;
  }
  .mr-lg-n2,
  .mx-lg-n2 {
    margin-right: -10px !important;
  }
  .mb-lg-n2,
  .my-lg-n2 {
    margin-bottom: -10px !important;
  }
  .ml-lg-n2,
  .mx-lg-n2 {
    margin-left: -10px !important;
  }
  .m-lg-n3 {
    margin: -20px !important;
  }
  .mt-lg-n3,
  .my-lg-n3 {
    margin-top: -20px !important;
  }
  .mr-lg-n3,
  .mx-lg-n3 {
    margin-right: -20px !important;
  }
  .mb-lg-n3,
  .my-lg-n3 {
    margin-bottom: -20px !important;
  }
  .ml-lg-n3,
  .mx-lg-n3 {
    margin-left: -20px !important;
  }
  .m-lg-n4 {
    margin: -30px !important;
  }
  .mt-lg-n4,
  .my-lg-n4 {
    margin-top: -30px !important;
  }
  .mr-lg-n4,
  .mx-lg-n4 {
    margin-right: -30px !important;
  }
  .mb-lg-n4,
  .my-lg-n4 {
    margin-bottom: -30px !important;
  }
  .ml-lg-n4,
  .mx-lg-n4 {
    margin-left: -30px !important;
  }
  .m-lg-n5 {
    margin: -5px !important;
  }
  .mt-lg-n5,
  .my-lg-n5 {
    margin-top: -5px !important;
  }
  .mr-lg-n5,
  .mx-lg-n5 {
    margin-right: -5px !important;
  }
  .mb-lg-n5,
  .my-lg-n5 {
    margin-bottom: -5px !important;
  }
  .ml-lg-n5,
  .mx-lg-n5 {
    margin-left: -5px !important;
  }
  .m-lg-n10 {
    margin: -10px !important;
  }
  .mt-lg-n10,
  .my-lg-n10 {
    margin-top: -10px !important;
  }
  .mr-lg-n10,
  .mx-lg-n10 {
    margin-right: -10px !important;
  }
  .mb-lg-n10,
  .my-lg-n10 {
    margin-bottom: -10px !important;
  }
  .ml-lg-n10,
  .mx-lg-n10 {
    margin-left: -10px !important;
  }
  .m-lg-n15 {
    margin: -15px !important;
  }
  .mt-lg-n15,
  .my-lg-n15 {
    margin-top: -15px !important;
  }
  .mr-lg-n15,
  .mx-lg-n15 {
    margin-right: -15px !important;
  }
  .mb-lg-n15,
  .my-lg-n15 {
    margin-bottom: -15px !important;
  }
  .ml-lg-n15,
  .mx-lg-n15 {
    margin-left: -15px !important;
  }
  .m-lg-n20 {
    margin: -20px !important;
  }
  .mt-lg-n20,
  .my-lg-n20 {
    margin-top: -20px !important;
  }
  .mr-lg-n20,
  .mx-lg-n20 {
    margin-right: -20px !important;
  }
  .mb-lg-n20,
  .my-lg-n20 {
    margin-bottom: -20px !important;
  }
  .ml-lg-n20,
  .mx-lg-n20 {
    margin-left: -20px !important;
  }
  .m-lg-n25 {
    margin: -25px !important;
  }
  .mt-lg-n25,
  .my-lg-n25 {
    margin-top: -25px !important;
  }
  .mr-lg-n25,
  .mx-lg-n25 {
    margin-right: -25px !important;
  }
  .mb-lg-n25,
  .my-lg-n25 {
    margin-bottom: -25px !important;
  }
  .ml-lg-n25,
  .mx-lg-n25 {
    margin-left: -25px !important;
  }
  .m-lg-n30 {
    margin: -30px !important;
  }
  .mt-lg-n30,
  .my-lg-n30 {
    margin-top: -30px !important;
  }
  .mr-lg-n30,
  .mx-lg-n30 {
    margin-right: -30px !important;
  }
  .mb-lg-n30,
  .my-lg-n30 {
    margin-bottom: -30px !important;
  }
  .ml-lg-n30,
  .mx-lg-n30 {
    margin-left: -30px !important;
  }
  .m-lg-n35 {
    margin: -35px !important;
  }
  .mt-lg-n35,
  .my-lg-n35 {
    margin-top: -35px !important;
  }
  .mr-lg-n35,
  .mx-lg-n35 {
    margin-right: -35px !important;
  }
  .mb-lg-n35,
  .my-lg-n35 {
    margin-bottom: -35px !important;
  }
  .ml-lg-n35,
  .mx-lg-n35 {
    margin-left: -35px !important;
  }
  .m-lg-n40 {
    margin: -40px !important;
  }
  .mt-lg-n40,
  .my-lg-n40 {
    margin-top: -40px !important;
  }
  .mr-lg-n40,
  .mx-lg-n40 {
    margin-right: -40px !important;
  }
  .mb-lg-n40,
  .my-lg-n40 {
    margin-bottom: -40px !important;
  }
  .ml-lg-n40,
  .mx-lg-n40 {
    margin-left: -40px !important;
  }
  .m-lg-n45 {
    margin: -45px !important;
  }
  .mt-lg-n45,
  .my-lg-n45 {
    margin-top: -45px !important;
  }
  .mr-lg-n45,
  .mx-lg-n45 {
    margin-right: -45px !important;
  }
  .mb-lg-n45,
  .my-lg-n45 {
    margin-bottom: -45px !important;
  }
  .ml-lg-n45,
  .mx-lg-n45 {
    margin-left: -45px !important;
  }
  .m-lg-n50 {
    margin: -50px !important;
  }
  .mt-lg-n50,
  .my-lg-n50 {
    margin-top: -50px !important;
  }
  .mr-lg-n50,
  .mx-lg-n50 {
    margin-right: -50px !important;
  }
  .mb-lg-n50,
  .my-lg-n50 {
    margin-bottom: -50px !important;
  }
  .ml-lg-n50,
  .mx-lg-n50 {
    margin-left: -50px !important;
  }
  .m-lg-n80 {
    margin: -80px !important;
  }
  .mt-lg-n80,
  .my-lg-n80 {
    margin-top: -80px !important;
  }
  .mr-lg-n80,
  .mx-lg-n80 {
    margin-right: -80px !important;
  }
  .mb-lg-n80,
  .my-lg-n80 {
    margin-bottom: -80px !important;
  }
  .ml-lg-n80,
  .mx-lg-n80 {
    margin-left: -80px !important;
  }
  .m-lg-auto {
    margin: auto !important;
  }
  .mt-lg-auto,
  .my-lg-auto {
    margin-top: auto !important;
  }
  .mr-lg-auto,
  .mx-lg-auto {
    margin-right: auto !important;
  }
  .mb-lg-auto,
  .my-lg-auto {
    margin-bottom: auto !important;
  }
  .ml-lg-auto,
  .mx-lg-auto {
    margin-left: auto !important;
  }
}
@media (min-width: 1200px) {
  .m-xl-0 {
    margin: 0 !important;
  }
  .mt-xl-0,
  .my-xl-0 {
    margin-top: 0 !important;
  }
  .mr-xl-0,
  .mx-xl-0 {
    margin-right: 0 !important;
  }
  .mb-xl-0,
  .my-xl-0 {
    margin-bottom: 0 !important;
  }
  .ml-xl-0,
  .mx-xl-0 {
    margin-left: 0 !important;
  }
  .m-xl-1 {
    margin: 5px !important;
  }
  .mt-xl-1,
  .my-xl-1 {
    margin-top: 5px !important;
  }
  .mr-xl-1,
  .mx-xl-1 {
    margin-right: 5px !important;
  }
  .mb-xl-1,
  .my-xl-1 {
    margin-bottom: 5px !important;
  }
  .ml-xl-1,
  .mx-xl-1 {
    margin-left: 5px !important;
  }
  .m-xl-2 {
    margin: 10px !important;
  }
  .mt-xl-2,
  .my-xl-2 {
    margin-top: 10px !important;
  }
  .mr-xl-2,
  .mx-xl-2 {
    margin-right: 10px !important;
  }
  .mb-xl-2,
  .my-xl-2 {
    margin-bottom: 10px !important;
  }
  .ml-xl-2,
  .mx-xl-2 {
    margin-left: 10px !important;
  }
  .m-xl-3 {
    margin: 20px !important;
  }
  .mt-xl-3,
  .my-xl-3 {
    margin-top: 20px !important;
  }
  .mr-xl-3,
  .mx-xl-3 {
    margin-right: 20px !important;
  }
  .mb-xl-3,
  .my-xl-3 {
    margin-bottom: 20px !important;
  }
  .ml-xl-3,
  .mx-xl-3 {
    margin-left: 20px !important;
  }
  .m-xl-4 {
    margin: 30px !important;
  }
  .mt-xl-4,
  .my-xl-4 {
    margin-top: 30px !important;
  }
  .mr-xl-4,
  .mx-xl-4 {
    margin-right: 30px !important;
  }
  .mb-xl-4,
  .my-xl-4 {
    margin-bottom: 30px !important;
  }
  .ml-xl-4,
  .mx-xl-4 {
    margin-left: 30px !important;
  }
  .m-xl-5 {
    margin: 5px !important;
  }
  .mt-xl-5,
  .my-xl-5 {
    margin-top: 5px !important;
  }
  .mr-xl-5,
  .mx-xl-5 {
    margin-right: 5px !important;
  }
  .mb-xl-5,
  .my-xl-5 {
    margin-bottom: 5px !important;
  }
  .ml-xl-5,
  .mx-xl-5 {
    margin-left: 5px !important;
  }
  .m-xl-10 {
    margin: 10px !important;
  }
  .mt-xl-10,
  .my-xl-10 {
    margin-top: 10px !important;
  }
  .mr-xl-10,
  .mx-xl-10 {
    margin-right: 10px !important;
  }
  .mb-xl-10,
  .my-xl-10 {
    margin-bottom: 10px !important;
  }
  .ml-xl-10,
  .mx-xl-10 {
    margin-left: 10px !important;
  }
  .m-xl-15 {
    margin: 15px !important;
  }
  .mt-xl-15,
  .my-xl-15 {
    margin-top: 15px !important;
  }
  .mr-xl-15,
  .mx-xl-15 {
    margin-right: 15px !important;
  }
  .mb-xl-15,
  .my-xl-15 {
    margin-bottom: 15px !important;
  }
  .ml-xl-15,
  .mx-xl-15 {
    margin-left: 15px !important;
  }
  .m-xl-20 {
    margin: 20px !important;
  }
  .mt-xl-20,
  .my-xl-20 {
    margin-top: 20px !important;
  }
  .mr-xl-20,
  .mx-xl-20 {
    margin-right: 20px !important;
  }
  .mb-xl-20,
  .my-xl-20 {
    margin-bottom: 20px !important;
  }
  .ml-xl-20,
  .mx-xl-20 {
    margin-left: 20px !important;
  }
  .m-xl-25 {
    margin: 25px !important;
  }
  .mt-xl-25,
  .my-xl-25 {
    margin-top: 25px !important;
  }
  .mr-xl-25,
  .mx-xl-25 {
    margin-right: 25px !important;
  }
  .mb-xl-25,
  .my-xl-25 {
    margin-bottom: 25px !important;
  }
  .ml-xl-25,
  .mx-xl-25 {
    margin-left: 25px !important;
  }
  .m-xl-30 {
    margin: 30px !important;
  }
  .mt-xl-30,
  .my-xl-30 {
    margin-top: 30px !important;
  }
  .mr-xl-30,
  .mx-xl-30 {
    margin-right: 30px !important;
  }
  .mb-xl-30,
  .my-xl-30 {
    margin-bottom: 30px !important;
  }
  .ml-xl-30,
  .mx-xl-30 {
    margin-left: 30px !important;
  }
  .m-xl-35 {
    margin: 35px !important;
  }
  .mt-xl-35,
  .my-xl-35 {
    margin-top: 35px !important;
  }
  .mr-xl-35,
  .mx-xl-35 {
    margin-right: 35px !important;
  }
  .mb-xl-35,
  .my-xl-35 {
    margin-bottom: 35px !important;
  }
  .ml-xl-35,
  .mx-xl-35 {
    margin-left: 35px !important;
  }
  .m-xl-40 {
    margin: 40px !important;
  }
  .mt-xl-40,
  .my-xl-40 {
    margin-top: 40px !important;
  }
  .mr-xl-40,
  .mx-xl-40 {
    margin-right: 40px !important;
  }
  .mb-xl-40,
  .my-xl-40 {
    margin-bottom: 40px !important;
  }
  .ml-xl-40,
  .mx-xl-40 {
    margin-left: 40px !important;
  }
  .m-xl-45 {
    margin: 45px !important;
  }
  .mt-xl-45,
  .my-xl-45 {
    margin-top: 45px !important;
  }
  .mr-xl-45,
  .mx-xl-45 {
    margin-right: 45px !important;
  }
  .mb-xl-45,
  .my-xl-45 {
    margin-bottom: 45px !important;
  }
  .ml-xl-45,
  .mx-xl-45 {
    margin-left: 45px !important;
  }
  .m-xl-50 {
    margin: 50px !important;
  }
  .mt-xl-50,
  .my-xl-50 {
    margin-top: 50px !important;
  }
  .mr-xl-50,
  .mx-xl-50 {
    margin-right: 50px !important;
  }
  .mb-xl-50,
  .my-xl-50 {
    margin-bottom: 50px !important;
  }
  .ml-xl-50,
  .mx-xl-50 {
    margin-left: 50px !important;
  }
  .m-xl-80 {
    margin: 80px !important;
  }
  .mt-xl-80,
  .my-xl-80 {
    margin-top: 80px !important;
  }
  .mr-xl-80,
  .mx-xl-80 {
    margin-right: 80px !important;
  }
  .mb-xl-80,
  .my-xl-80 {
    margin-bottom: 80px !important;
  }
  .ml-xl-80,
  .mx-xl-80 {
    margin-left: 80px !important;
  }
  .p-xl-0 {
    padding: 0 !important;
  }
  .pt-xl-0,
  .py-xl-0 {
    padding-top: 0 !important;
  }
  .pr-xl-0,
  .px-xl-0 {
    padding-right: 0 !important;
  }
  .pb-xl-0,
  .py-xl-0 {
    padding-bottom: 0 !important;
  }
  .pl-xl-0,
  .px-xl-0 {
    padding-left: 0 !important;
  }
  .p-xl-1 {
    padding: 5px !important;
  }
  .pt-xl-1,
  .py-xl-1 {
    padding-top: 5px !important;
  }
  .pr-xl-1,
  .px-xl-1 {
    padding-right: 5px !important;
  }
  .pb-xl-1,
  .py-xl-1 {
    padding-bottom: 5px !important;
  }
  .pl-xl-1,
  .px-xl-1 {
    padding-left: 5px !important;
  }
  .p-xl-2 {
    padding: 10px !important;
  }
  .pt-xl-2,
  .py-xl-2 {
    padding-top: 10px !important;
  }
  .pr-xl-2,
  .px-xl-2 {
    padding-right: 10px !important;
  }
  .pb-xl-2,
  .py-xl-2 {
    padding-bottom: 10px !important;
  }
  .pl-xl-2,
  .px-xl-2 {
    padding-left: 10px !important;
  }
  .p-xl-3 {
    padding: 20px !important;
  }
  .pt-xl-3,
  .py-xl-3 {
    padding-top: 20px !important;
  }
  .pr-xl-3,
  .px-xl-3 {
    padding-right: 20px !important;
  }
  .pb-xl-3,
  .py-xl-3 {
    padding-bottom: 20px !important;
  }
  .pl-xl-3,
  .px-xl-3 {
    padding-left: 20px !important;
  }
  .p-xl-4 {
    padding: 30px !important;
  }
  .pt-xl-4,
  .py-xl-4 {
    padding-top: 30px !important;
  }
  .pr-xl-4,
  .px-xl-4 {
    padding-right: 30px !important;
  }
  .pb-xl-4,
  .py-xl-4 {
    padding-bottom: 30px !important;
  }
  .pl-xl-4,
  .px-xl-4 {
    padding-left: 30px !important;
  }
  .p-xl-5 {
    padding: 5px !important;
  }
  .pt-xl-5,
  .py-xl-5 {
    padding-top: 5px !important;
  }
  .pr-xl-5,
  .px-xl-5 {
    padding-right: 5px !important;
  }
  .pb-xl-5,
  .py-xl-5 {
    padding-bottom: 5px !important;
  }
  .pl-xl-5,
  .px-xl-5 {
    padding-left: 5px !important;
  }
  .p-xl-10 {
    padding: 10px !important;
  }
  .pt-xl-10,
  .py-xl-10 {
    padding-top: 10px !important;
  }
  .pr-xl-10,
  .px-xl-10 {
    padding-right: 10px !important;
  }
  .pb-xl-10,
  .py-xl-10 {
    padding-bottom: 10px !important;
  }
  .pl-xl-10,
  .px-xl-10 {
    padding-left: 10px !important;
  }
  .p-xl-15 {
    padding: 15px !important;
  }
  .pt-xl-15,
  .py-xl-15 {
    padding-top: 15px !important;
  }
  .pr-xl-15,
  .px-xl-15 {
    padding-right: 15px !important;
  }
  .pb-xl-15,
  .py-xl-15 {
    padding-bottom: 15px !important;
  }
  .pl-xl-15,
  .px-xl-15 {
    padding-left: 15px !important;
  }
  .p-xl-20 {
    padding: 20px !important;
  }
  .pt-xl-20,
  .py-xl-20 {
    padding-top: 20px !important;
  }
  .pr-xl-20,
  .px-xl-20 {
    padding-right: 20px !important;
  }
  .pb-xl-20,
  .py-xl-20 {
    padding-bottom: 20px !important;
  }
  .pl-xl-20,
  .px-xl-20 {
    padding-left: 20px !important;
  }
  .p-xl-25 {
    padding: 25px !important;
  }
  .pt-xl-25,
  .py-xl-25 {
    padding-top: 25px !important;
  }
  .pr-xl-25,
  .px-xl-25 {
    padding-right: 25px !important;
  }
  .pb-xl-25,
  .py-xl-25 {
    padding-bottom: 25px !important;
  }
  .pl-xl-25,
  .px-xl-25 {
    padding-left: 25px !important;
  }
  .p-xl-30 {
    padding: 30px !important;
  }
  .pt-xl-30,
  .py-xl-30 {
    padding-top: 30px !important;
  }
  .pr-xl-30,
  .px-xl-30 {
    padding-right: 30px !important;
  }
  .pb-xl-30,
  .py-xl-30 {
    padding-bottom: 30px !important;
  }
  .pl-xl-30,
  .px-xl-30 {
    padding-left: 30px !important;
  }
  .p-xl-35 {
    padding: 35px !important;
  }
  .pt-xl-35,
  .py-xl-35 {
    padding-top: 35px !important;
  }
  .pr-xl-35,
  .px-xl-35 {
    padding-right: 35px !important;
  }
  .pb-xl-35,
  .py-xl-35 {
    padding-bottom: 35px !important;
  }
  .pl-xl-35,
  .px-xl-35 {
    padding-left: 35px !important;
  }
  .p-xl-40 {
    padding: 40px !important;
  }
  .pt-xl-40,
  .py-xl-40 {
    padding-top: 40px !important;
  }
  .pr-xl-40,
  .px-xl-40 {
    padding-right: 40px !important;
  }
  .pb-xl-40,
  .py-xl-40 {
    padding-bottom: 40px !important;
  }
  .pl-xl-40,
  .px-xl-40 {
    padding-left: 40px !important;
  }
  .p-xl-45 {
    padding: 45px !important;
  }
  .pt-xl-45,
  .py-xl-45 {
    padding-top: 45px !important;
  }
  .pr-xl-45,
  .px-xl-45 {
    padding-right: 45px !important;
  }
  .pb-xl-45,
  .py-xl-45 {
    padding-bottom: 45px !important;
  }
  .pl-xl-45,
  .px-xl-45 {
    padding-left: 45px !important;
  }
  .p-xl-50 {
    padding: 50px !important;
  }
  .pt-xl-50,
  .py-xl-50 {
    padding-top: 50px !important;
  }
  .pr-xl-50,
  .px-xl-50 {
    padding-right: 50px !important;
  }
  .pb-xl-50,
  .py-xl-50 {
    padding-bottom: 50px !important;
  }
  .pl-xl-50,
  .px-xl-50 {
    padding-left: 50px !important;
  }
  .p-xl-80 {
    padding: 80px !important;
  }
  .pt-xl-80,
  .py-xl-80 {
    padding-top: 80px !important;
  }
  .pr-xl-80,
  .px-xl-80 {
    padding-right: 80px !important;
  }
  .pb-xl-80,
  .py-xl-80 {
    padding-bottom: 80px !important;
  }
  .pl-xl-80,
  .px-xl-80 {
    padding-left: 80px !important;
  }
  .m-xl-n1 {
    margin: -5px !important;
  }
  .mt-xl-n1,
  .my-xl-n1 {
    margin-top: -5px !important;
  }
  .mr-xl-n1,
  .mx-xl-n1 {
    margin-right: -5px !important;
  }
  .mb-xl-n1,
  .my-xl-n1 {
    margin-bottom: -5px !important;
  }
  .ml-xl-n1,
  .mx-xl-n1 {
    margin-left: -5px !important;
  }
  .m-xl-n2 {
    margin: -10px !important;
  }
  .mt-xl-n2,
  .my-xl-n2 {
    margin-top: -10px !important;
  }
  .mr-xl-n2,
  .mx-xl-n2 {
    margin-right: -10px !important;
  }
  .mb-xl-n2,
  .my-xl-n2 {
    margin-bottom: -10px !important;
  }
  .ml-xl-n2,
  .mx-xl-n2 {
    margin-left: -10px !important;
  }
  .m-xl-n3 {
    margin: -20px !important;
  }
  .mt-xl-n3,
  .my-xl-n3 {
    margin-top: -20px !important;
  }
  .mr-xl-n3,
  .mx-xl-n3 {
    margin-right: -20px !important;
  }
  .mb-xl-n3,
  .my-xl-n3 {
    margin-bottom: -20px !important;
  }
  .ml-xl-n3,
  .mx-xl-n3 {
    margin-left: -20px !important;
  }
  .m-xl-n4 {
    margin: -30px !important;
  }
  .mt-xl-n4,
  .my-xl-n4 {
    margin-top: -30px !important;
  }
  .mr-xl-n4,
  .mx-xl-n4 {
    margin-right: -30px !important;
  }
  .mb-xl-n4,
  .my-xl-n4 {
    margin-bottom: -30px !important;
  }
  .ml-xl-n4,
  .mx-xl-n4 {
    margin-left: -30px !important;
  }
  .m-xl-n5 {
    margin: -5px !important;
  }
  .mt-xl-n5,
  .my-xl-n5 {
    margin-top: -5px !important;
  }
  .mr-xl-n5,
  .mx-xl-n5 {
    margin-right: -5px !important;
  }
  .mb-xl-n5,
  .my-xl-n5 {
    margin-bottom: -5px !important;
  }
  .ml-xl-n5,
  .mx-xl-n5 {
    margin-left: -5px !important;
  }
  .m-xl-n10 {
    margin: -10px !important;
  }
  .mt-xl-n10,
  .my-xl-n10 {
    margin-top: -10px !important;
  }
  .mr-xl-n10,
  .mx-xl-n10 {
    margin-right: -10px !important;
  }
  .mb-xl-n10,
  .my-xl-n10 {
    margin-bottom: -10px !important;
  }
  .ml-xl-n10,
  .mx-xl-n10 {
    margin-left: -10px !important;
  }
  .m-xl-n15 {
    margin: -15px !important;
  }
  .mt-xl-n15,
  .my-xl-n15 {
    margin-top: -15px !important;
  }
  .mr-xl-n15,
  .mx-xl-n15 {
    margin-right: -15px !important;
  }
  .mb-xl-n15,
  .my-xl-n15 {
    margin-bottom: -15px !important;
  }
  .ml-xl-n15,
  .mx-xl-n15 {
    margin-left: -15px !important;
  }
  .m-xl-n20 {
    margin: -20px !important;
  }
  .mt-xl-n20,
  .my-xl-n20 {
    margin-top: -20px !important;
  }
  .mr-xl-n20,
  .mx-xl-n20 {
    margin-right: -20px !important;
  }
  .mb-xl-n20,
  .my-xl-n20 {
    margin-bottom: -20px !important;
  }
  .ml-xl-n20,
  .mx-xl-n20 {
    margin-left: -20px !important;
  }
  .m-xl-n25 {
    margin: -25px !important;
  }
  .mt-xl-n25,
  .my-xl-n25 {
    margin-top: -25px !important;
  }
  .mr-xl-n25,
  .mx-xl-n25 {
    margin-right: -25px !important;
  }
  .mb-xl-n25,
  .my-xl-n25 {
    margin-bottom: -25px !important;
  }
  .ml-xl-n25,
  .mx-xl-n25 {
    margin-left: -25px !important;
  }
  .m-xl-n30 {
    margin: -30px !important;
  }
  .mt-xl-n30,
  .my-xl-n30 {
    margin-top: -30px !important;
  }
  .mr-xl-n30,
  .mx-xl-n30 {
    margin-right: -30px !important;
  }
  .mb-xl-n30,
  .my-xl-n30 {
    margin-bottom: -30px !important;
  }
  .ml-xl-n30,
  .mx-xl-n30 {
    margin-left: -30px !important;
  }
  .m-xl-n35 {
    margin: -35px !important;
  }
  .mt-xl-n35,
  .my-xl-n35 {
    margin-top: -35px !important;
  }
  .mr-xl-n35,
  .mx-xl-n35 {
    margin-right: -35px !important;
  }
  .mb-xl-n35,
  .my-xl-n35 {
    margin-bottom: -35px !important;
  }
  .ml-xl-n35,
  .mx-xl-n35 {
    margin-left: -35px !important;
  }
  .m-xl-n40 {
    margin: -40px !important;
  }
  .mt-xl-n40,
  .my-xl-n40 {
    margin-top: -40px !important;
  }
  .mr-xl-n40,
  .mx-xl-n40 {
    margin-right: -40px !important;
  }
  .mb-xl-n40,
  .my-xl-n40 {
    margin-bottom: -40px !important;
  }
  .ml-xl-n40,
  .mx-xl-n40 {
    margin-left: -40px !important;
  }
  .m-xl-n45 {
    margin: -45px !important;
  }
  .mt-xl-n45,
  .my-xl-n45 {
    margin-top: -45px !important;
  }
  .mr-xl-n45,
  .mx-xl-n45 {
    margin-right: -45px !important;
  }
  .mb-xl-n45,
  .my-xl-n45 {
    margin-bottom: -45px !important;
  }
  .ml-xl-n45,
  .mx-xl-n45 {
    margin-left: -45px !important;
  }
  .m-xl-n50 {
    margin: -50px !important;
  }
  .mt-xl-n50,
  .my-xl-n50 {
    margin-top: -50px !important;
  }
  .mr-xl-n50,
  .mx-xl-n50 {
    margin-right: -50px !important;
  }
  .mb-xl-n50,
  .my-xl-n50 {
    margin-bottom: -50px !important;
  }
  .ml-xl-n50,
  .mx-xl-n50 {
    margin-left: -50px !important;
  }
  .m-xl-n80 {
    margin: -80px !important;
  }
  .mt-xl-n80,
  .my-xl-n80 {
    margin-top: -80px !important;
  }
  .mr-xl-n80,
  .mx-xl-n80 {
    margin-right: -80px !important;
  }
  .mb-xl-n80,
  .my-xl-n80 {
    margin-bottom: -80px !important;
  }
  .ml-xl-n80,
  .mx-xl-n80 {
    margin-left: -80px !important;
  }
  .m-xl-auto {
    margin: auto !important;
  }
  .mt-xl-auto,
  .my-xl-auto {
    margin-top: auto !important;
  }
  .mr-xl-auto,
  .mx-xl-auto {
    margin-right: auto !important;
  }
  .mb-xl-auto,
  .my-xl-auto {
    margin-bottom: auto !important;
  }
  .ml-xl-auto,
  .mx-xl-auto {
    margin-left: auto !important;
  }
}
.stretched-link::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1;
  pointer-events: auto;
  content: "";
  background-color: rgba(0, 0, 0, 0);
}

.text-monospace {
  font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace !important;
}

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

.font-weight-light {
  font-weight: 300 !important;
}

.font-weight-lighter {
  font-weight: lighter !important;
}

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

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

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

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

.text-white {
  color: #ffffff !important;
}

.text-primary {
  color: #43d477 !important;
}

a.text-primary:hover, a.text-primary:focus {
  color: var(--primary-hover) !important;
}

.text-secondary {
  color: #ff6600 !important;
}

a.text-secondary:hover, a.text-secondary:focus {
  color: #0d192a !important;
}

.text-success {
  color: var(--success) !important;
}

a.text-success:hover, a.text-success:focus {
  color: #b3dccf !important;
}

.text-info {
  color: var(--info) !important;
}

a.text-info:hover, a.text-info:focus {
  color: #9fd8ff !important;
}

.text-warning {
  color: var(--warning) !important;
}

a.text-warning:hover, a.text-warning:focus {
  color: #b37800 !important;
}

.text-danger {
  color: var(--danger) !important;
}

a.text-danger:hover, a.text-danger:focus {
  color: #db0a0a !important;
}

.text-light {
  color: var(--light) !important;
}

a.text-light:hover, a.text-light:focus {
  color: lightgray !important;
}

.text-dark {
  color: var(--dark) !important;
}

a.text-dark:hover, a.text-dark:focus {
  color: #0e0e0e !important;
}

.text-white {
  color: #ffffff !important;
}

a.text-white:hover, a.text-white:focus {
  color: #d9d9d9 !important;
}

.text-gray {
  color: #818894 !important;
}

a.text-gray:hover, a.text-gray:focus {
  color: #5c626c !important;
}

.text-gray300 {
  color: #ececec !important;
}

a.text-gray300:hover, a.text-gray300:focus {
  color: #c6c6c6 !important;
}

.text-gray200 {
  color: #f1f1f1 !important;
}

a.text-gray200:hover, a.text-gray200:focus {
  color: #cbcbcb !important;
}

.text-gray100 {
  color: var(--light) !important;
}

a.text-gray100:hover, a.text-gray100:focus {
  color: lightgray !important;
}

.text-body {
  color: var(--dark) !important;
}

.text-muted {
  color: #6c757d !important;
}

.text-black-50 {
  color: rgba(52, 52, 52, 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-break {
  word-break: break-word !important;
  word-wrap: break-word !important;
}

.text-reset {
  color: inherit !important;
}

.visible {
  visibility: visible !important;
}

.invisible {
  visibility: hidden !important;
}

@media print {
  *,
  *::before,
  *::after {
    text-shadow: none !important;
    box-shadow: none !important;
  }
  a:not(.btn) {
    text-decoration: underline;
  }
  abbr[title]::after {
    content: " (" attr(title) ")";
  }
  pre {
    white-space: pre-wrap !important;
  }
  pre,
  blockquote {
    border: 1px solid #adb5bd;
    page-break-inside: avoid;
  }
  tr,
  img {
    page-break-inside: avoid;
  }
  p,
  h2,
  h3 {
    orphans: 3;
    widows: 3;
  }
  h2,
  h3 {
    page-break-after: avoid;
  }
  @page {
    size: a3;
  }
  body {
    min-width: 992px !important;
  }
  .container {
    min-width: 992px !important;
  }
  .navbar {
    display: none;
  }
  .badge {
    border: 1px solid var(--dark);
  }
  .table {
    border-collapse: collapse !important;
  }
  .table td,
  .table th {
    background-color: #ffffff !important;
  }
  .table-bordered th,
  .table-bordered td {
    border: 1px solid #ececec !important;
  }
  .table-dark {
    color: inherit;
  }
  .table-dark th,
  .table-dark td,
  .table-dark thead th,
  .table-dark tbody + tbody {
    border-color: #ececec;
  }
  .table .thead-dark th {
    color: inherit;
    border-color: #ececec;
  }
}
/* ---------- CSS RESET ---------- */
html, body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, form, fieldset, input, textarea, p, blockquote, th, td, figure, figcaption, address {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

html {
  overflow-y: scroll;
}

article, aside, details, figcaption, figure, footer, header, hgroup, nav, section, summary {
  display: block;
}

table {
  border-spacing: 0;
}
table th,
table td {
  vertical-align: middle !important;
}

caption, th {
  text-align: center;
}

a:link, a:visited, a:active {
  transition: 0.2s all ease;
}

li {
  list-style: none;
}

a:hover, a:focus {
  cursor: pointer;
  text-decoration: none;
}

* {
  outline: none !important;
}

input[type=text],
input[type=password],
input[type=number],
input[type=email],
input[type=tel],
textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  outline: none;
}

.gm-style {
  font-family: "main-font-family" !important;
}
input:-webkit-autofill, textarea:-webkit-autofill, select:-webkit-autofill {
  -webkit-animation-name: autofill;
  -webkit-animation-fill-mode: both;
}

svg {
  overflow: auto;
  vertical-align: inherit;
}

ul {
  margin-block-start: 0;
  margin-block-end: 0;
  margin-inline-start: 0;
  margin-inline-end: 0;
  padding-inline-start: 0;
}

body.modal-open, body.swal2-shown {
  padding-right: 0 !important;
}

body {
  font-family: var(--font-family-base) !important;
  overflow: hidden;
  background-color: var(--body_bg, #ffffff) !important;
}
@media (max-width: 767px) {
  body {
    font-size: 14px;
  }
}

.custom-switch .custom-control-label::before {
  top: -0.11rem;
}

.form-control:focus {
  border-color: var(--primary) !important;
}

.font-72 {
  font-size: 4.5rem;
  font-weight: bold;
  line-height: 1.22;
}

.font-48 {
  font-size: 3rem;
  font-weight: bold;
  line-height: 1.22;
}

.font-36 {
  font-size: 2.25rem;
  font-weight: bold;
  line-height: 1.22;
}
@media (max-width: 767px) {
  .font-36 {
    font-size: 1.25rem;
  }
}

.font-30 {
  font-size: 1.875rem;
  font-weight: bold;
  line-height: 1.22;
}
@media (max-width: 767px) {
  .font-30 {
    font-size: 1.25rem;
  }
}

.font-24 {
  font-size: 1.5rem;
  font-weight: bold;
  line-height: 1.5;
}
@media (max-width: 767px) {
  .font-24 {
    font-size: 1rem;
  }
}

.font-20 {
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 1.22;
}
@media (max-width: 767px) {
  .font-20 {
    font-size: 0.875rem;
  }
}

.font-16 {
  font-size: 1rem;
  font-weight: normal;
  line-height: 1.5;
}
@media (max-width: 767px) {
  .font-16 {
    font-size: 0.75rem;
  }
}

.font-14 {
  font-size: 0.875rem;
  font-weight: normal;
  line-height: 1.4;
}

.font-12 {
  font-size: 0.75rem;
  font-weight: normal;
  line-height: 1.4;
}

.font-10 {
  font-size: 0.625rem;
  font-weight: normal;
  line-height: 1.4;
}

.font-weight-500 {
  font-weight: 500;
}

.size-32 {
  width: 32px;
  min-width: 32px;
  height: 32px;
}

.size-40 {
  width: 40px;
  min-width: 40px;
  height: 40px;
}

.size-50 {
  width: 50px;
  min-width: 50px;
  height: 50px;
}

@media (max-width: 767px) {
  h2, .h2 {
    font-size: 1.1rem;
  }
}

@media (max-width: 767px) {
  h3, .h3 {
    font-size: 0.9rem;
  }
}
@keyframes sc-pending {
  to {
    background-position: 16px 0;
  }
}
.loadingbar.primary {
  background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAQAAAC1+jfqAAAAMElEQVQoU2P434CADGgALIZfGkkBdmm4AlzSUAW4pcEK8EljyqJJYygYqdLoCjBlAalbv4Hzd/xyAAAAAElFTkSuQmCC) !important;
  background-repeat: repeat !important;
  animation: sc-pending 0.5s linear infinite;
  background-color: var(--primary);
}
.loadingbar.primary:hover {
  background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAQAAAC1+jfqAAAAMElEQVQoU2P434CADGgALIZfGkkBdmm4AlzSUAW4pcEK8EljyqJJYygYqdLoCjBlAalbv4Hzd/xyAAAAAElFTkSuQmCC) !important;
  background-repeat: repeat !important;
  animation: sc-pending 0.5s linear infinite;
  background-color: var(--primary);
}
.loadingbar.secondary {
  background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAQAAAC1+jfqAAAAMElEQVQoU2P434CADGgALIZfGkkBdmm4AlzSUAW4pcEK8EljyqJJYygYqdLoCjBlAalbv4Hzd/xyAAAAAElFTkSuQmCC) !important;
  background-repeat: repeat !important;
  animation: sc-pending 0.5s linear infinite;
  background-color: var(--secondary);
  opacity: 0.75;
}
.loadingbar.secondary:hover {
  background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAQAAAC1+jfqAAAAMElEQVQoU2P434CADGgALIZfGkkBdmm4AlzSUAW4pcEK8EljyqJJYygYqdLoCjBlAalbv4Hzd/xyAAAAAElFTkSuQmCC) !important;
  background-repeat: repeat !important;
  animation: sc-pending 0.5s linear infinite;
  background-color: var(--secondary);
  opacity: 0.95;
}
.loadingbar.gray {
  background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAQAAAC1+jfqAAAAMElEQVQoU2P434CADGgALIZfGkkBdmm4AlzSUAW4pcEK8EljyqJJYygYqdLoCjBlAalbv4Hzd/xyAAAAAElFTkSuQmCC) !important;
  background-repeat: repeat !important;
  animation: sc-pending 0.5s linear infinite;
  background-color: #ececec;
  opacity: 0.75;
}
.loadingbar.gray:hover {
  background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAQAAAC1+jfqAAAAMElEQVQoU2P434CADGgALIZfGkkBdmm4AlzSUAW4pcEK8EljyqJJYygYqdLoCjBlAalbv4Hzd/xyAAAAAElFTkSuQmCC) !important;
  background-repeat: repeat !important;
  animation: sc-pending 0.5s linear infinite;
  background-color: #ececec;
  opacity: 0.95;
}
.loadingbar.danger {
  background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAQAAAC1+jfqAAAAMElEQVQoU2P434CADGgALIZfGkkBdmm4AlzSUAW4pcEK8EljyqJJYygYqdLoCjBlAalbv4Hzd/xyAAAAAElFTkSuQmCC) !important;
  background-repeat: repeat !important;
  animation: sc-pending 0.5s linear infinite;
  background-color: var(--danger);
  opacity: 0.75;
  color: #FFFFFF;
}
.loadingbar.danger:hover {
  background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAQAAAC1+jfqAAAAMElEQVQoU2P434CADGgALIZfGkkBdmm4AlzSUAW4pcEK8EljyqJJYygYqdLoCjBlAalbv4Hzd/xyAAAAAElFTkSuQmCC) !important;
  background-repeat: repeat !important;
  animation: sc-pending 0.5s linear infinite;
  background-color: var(--danger);
  opacity: 0.95;
}

.btn-transparent {
  background-color: transparent;
  padding: 0 !important;
  border: 0 transparent;
}

.btn-sm, .btn-group-sm > .btn {
  border-radius: 5px;
  font-weight: 500;
  font-size: 14px;
}

.btn-danger {
  box-shadow: 0 3px 6px 0 rgba(201, 1, 1, 0.29);
  background-color: var(--danger);
  transition: all 0.3s;
}
.btn-danger:hover {
  background-color: #dd3535;
  box-shadow: 0 3px 8px 0 rgba(201, 1, 1, 0.29);
  transition: all 0.3s;
}

@media (max-width: 991px) {
  .btn-sm-block {
    width: 100%;
    max-width: 100%;
  }
}

.btn-border-white {
  background-color: #ffffff;
  border-radius: 6px;
  border: solid 1px #f1f1f1;
  color: #818894;
  transition: all 0.3s;
}
.btn-border-white:hover {
  background-color: #ececec;
  border: solid 1px #ececec;
}

.btn-border-gray300 {
  background-color: #ffffff;
  border-radius: 5px;
  border: solid 1px #ececec;
  color: #818894;
  transition: all 0.3s;
}
.btn-border-gray300:hover {
  background-color: #ececec;
  border: solid 1px #ececec;
}

.btn-gray200 {
  color: #818894;
}

.btn-light {
  color: #222222;
}

.on-off-switch .custom-control-label:before {
  background-color: #ffffff !important;
}
.on-off-switch .custom-control-label:after {
  background-color: var(--primary) !important;
}
.on-off-switch .custom-control-input:checked ~ .custom-control-label:after {
  background-color: #ffffff !important;
}

.checkbox-button label {
  cursor: pointer;
  font-size: 0.875rem;
  padding: 5px 10px;
  border-radius: 5px;
  border: solid 2px #f1f1f1;
  background-color: #f1f1f1;
  color: #818894;
  transition: all 0.3s ease;
}
.checkbox-button label:hover {
  border: solid 2px var(--primary);
  transition: all 0.3s ease;
}
.checkbox-button input[type=checkbox], .checkbox-button input[type=radio] {
  visibility: hidden;
  display: none;
  transition: all 0.3s ease;
}
.checkbox-button input[type=checkbox]:checked + label, .checkbox-button input[type=radio]:checked + label {
  border: solid 2px var(--primary);
  background-color: var(--primary);
  color: #ffffff;
  transition: all 0.3s ease;
}
.checkbox-button.primary-selected input[type=checkbox]:checked + label, .checkbox-button.primary-selected input[type=radio]:checked + label {
  color: var(--primary) !important;
}
.checkbox-button.bordered-200 input[type=checkbox]:checked + label, .checkbox-button.bordered-200 input[type=radio]:checked + label {
  color: #ffffff !important;
  background-color: var(--primary) !important;
}

@media (max-width: 991px) {
  .btn {
    font-size: 14px !important;
    padding-right: 22px;
    padding-left: 22px;
    height: 44px;
  }
}

.badge-circle-danger {
  font-size: 0.75rem !important;
}

.badge-circle-primary {
  font-size: 0.75rem !important;
}

.badge {
  line-height: 1.58;
  font-weight: normal;
  pointer-events: none;
}

.badge-outlined {
  color: #ffffff;
  padding: 0;
  border-radius: 50%;
}

.badge-outlined-primary {
  color: #43d477;
  border: solid 1px #43d477;
}
a.badge-outlined-primary:hover, a.badge-outlined-primary:focus {
  color: #43d477;
  border: solid 1px #2aba5e;
}
a.badge-outlined-primary:focus, a.badge-outlined-primary.focus {
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(67, 212, 119, 0.5);
}

.badge-outlined-secondary {
  color: #ff6600;
  border: solid 1px #ff6600;
}
a.badge-outlined-secondary:hover, a.badge-outlined-secondary:focus {
  color: #ff6600;
  border: solid 1px #ffcc00;
}
a.badge-outlined-secondary:focus, a.badge-outlined-secondary.focus {
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(31, 59, 100, 0.5);
}

.badge-outlined-success {
  color: var(--success);
  border: solid 1px var(--success);
}
a.badge-outlined-success:hover, a.badge-outlined-success:focus {
  color: var(--success);
  border: solid 1px #c4e4da;
}
a.badge-outlined-success:focus, a.badge-outlined-success.focus {
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(231, 244, 240, 0.5);
}

.badge-outlined-info {
  color: var(--info);
  border: solid 1px var(--info);
}
a.badge-outlined-info:hover, a.badge-outlined-info:focus {
  color: var(--info);
  border: solid 1px #b8e3ff;
}
a.badge-outlined-info:focus, a.badge-outlined-info.focus {
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(235, 247, 255, 0.5);
}

.badge-outlined-warning {
  color: var(--warning);
  border: solid 1px var(--warning);
}
a.badge-outlined-warning:hover, a.badge-outlined-warning:focus {
  color: var(--warning);
  border: solid 1px #cc8900;
}
a.badge-outlined-warning:focus, a.badge-outlined-warning.focus {
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(255, 171, 0, 0.5);
}

.badge-outlined-danger {
  color: var(--danger);
  border: solid 1px var(--danger);
}
a.badge-outlined-danger:hover, a.badge-outlined-danger:focus {
  color: var(--danger);
  border: solid 1px #f40b0b;
}
a.badge-outlined-danger:focus, a.badge-outlined-danger.focus {
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(246, 60, 60, 0.5);
}

.badge-outlined-light {
  color: var(--light);
  border: solid 1px var(--light);
}
a.badge-outlined-light:hover, a.badge-outlined-light:focus {
  color: var(--light);
  border: solid 1px #e0e0e0;
}
a.badge-outlined-light:focus, a.badge-outlined-light.focus {
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(249, 249, 249, 0.5);
}

.badge-outlined-dark {
  color: var(--dark);
  border: solid 1px var(--dark);
}
a.badge-outlined-dark:hover, a.badge-outlined-dark:focus {
  color: var(--dark);
  border: solid 1px #1b1b1b;
}
a.badge-outlined-dark:focus, a.badge-outlined-dark.focus {
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(52, 52, 52, 0.5);
}

.badge-outlined-white {
  color: #ffffff;
  border: solid 1px #ffffff;
}
a.badge-outlined-white:hover, a.badge-outlined-white:focus {
  color: #ffffff;
  border: solid 1px #e6e6e6;
}
a.badge-outlined-white:focus, a.badge-outlined-white.focus {
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(255, 255, 255, 0.5);
}

.badge-outlined-gray {
  color: #818894;
  border: solid 1px #818894;
}
a.badge-outlined-gray:hover, a.badge-outlined-gray:focus {
  color: #818894;
  border: solid 1px #686f7a;
}
a.badge-outlined-gray:focus, a.badge-outlined-gray.focus {
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(129, 136, 148, 0.5);
}

.badge-outlined-gray300 {
  color: #ececec;
  border: solid 1px #ececec;
}
a.badge-outlined-gray300:hover, a.badge-outlined-gray300:focus {
  color: #ececec;
  border: solid 1px lightgray;
}
a.badge-outlined-gray300:focus, a.badge-outlined-gray300.focus {
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(236, 236, 236, 0.5);
}

.badge-outlined-gray200 {
  color: #f1f1f1;
  border: solid 1px #f1f1f1;
}
a.badge-outlined-gray200:hover, a.badge-outlined-gray200:focus {
  color: #f1f1f1;
  border: solid 1px #d8d8d8;
}
a.badge-outlined-gray200:focus, a.badge-outlined-gray200.focus {
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(241, 241, 241, 0.5);
}

.badge-outlined-gray100 {
  color: var(--light);
  border: solid 1px var(--light);
}
a.badge-outlined-gray100:hover, a.badge-outlined-gray100:focus {
  color: var(--light);
  border: solid 1px #e0e0e0;
}
a.badge-outlined-gray100:focus, a.badge-outlined-gray100.focus {
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(249, 249, 249, 0.5);
}

.badge-circle-primary {
  width: 24px;
  height: 24px;
  font-size: 0.875rem;
  border-radius: 50%;
  padding: 0;
  line-height: 1.58;
  color: #ffffff;
  background-color: #43d477;
}
a.badge-circle-primary:hover, a.badge-circle-primary:focus {
  color: #ffffff;
  background-color: #2aba5e;
}
a.badge-circle-primary:focus, a.badge-circle-primary.focus {
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(67, 212, 119, 0.5);
}

.badge-circle-secondary {
  width: 24px;
  height: 24px;
  font-size: 0.875rem;
  border-radius: 50%;
  padding: 0;
  line-height: 1.58;
  color: #ffffff;
  background-color: #ff6600;
}
a.badge-circle-secondary:hover, a.badge-circle-secondary:focus {
  color: #ffffff;
  background-color: #ffcc00;
}
a.badge-circle-secondary:focus, a.badge-circle-secondary.focus {
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(31, 59, 100, 0.5);
}

.badge-circle-success {
  width: 24px;
  height: 24px;
  font-size: 0.875rem;
  border-radius: 50%;
  padding: 0;
  line-height: 1.58;
  color: #ffffff;
  background-color: var(--success);
}
a.badge-circle-success:hover, a.badge-circle-success:focus {
  color: #ffffff;
  background-color: #c4e4da;
}
a.badge-circle-success:focus, a.badge-circle-success.focus {
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(231, 244, 240, 0.5);
}

.badge-circle-info {
  width: 24px;
  height: 24px;
  font-size: 0.875rem;
  border-radius: 50%;
  padding: 0;
  line-height: 1.58;
  color: #ffffff;
  background-color: var(--info);
}
a.badge-circle-info:hover, a.badge-circle-info:focus {
  color: #ffffff;
  background-color: #b8e3ff;
}
a.badge-circle-info:focus, a.badge-circle-info.focus {
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(235, 247, 255, 0.5);
}

.badge-circle-warning {
  width: 24px;
  height: 24px;
  font-size: 0.875rem;
  border-radius: 50%;
  padding: 0;
  line-height: 1.58;
  color: #ffffff;
  background-color: var(--warning);
}
a.badge-circle-warning:hover, a.badge-circle-warning:focus {
  color: #ffffff;
  background-color: #cc8900;
}
a.badge-circle-warning:focus, a.badge-circle-warning.focus {
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(255, 171, 0, 0.5);
}

.badge-circle-danger {
  width: 24px;
  height: 24px;
  font-size: 0.875rem;
  border-radius: 50%;
  padding: 0;
  line-height: 1.58;
  color: #ffffff;
  background-color: var(--danger);
}
a.badge-circle-danger:hover, a.badge-circle-danger:focus {
  color: #ffffff;
  background-color: #f40b0b;
}
a.badge-circle-danger:focus, a.badge-circle-danger.focus {
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(246, 60, 60, 0.5);
}

.badge-circle-light {
  width: 24px;
  height: 24px;
  font-size: 0.875rem;
  border-radius: 50%;
  padding: 0;
  line-height: 1.58;
  color: #ffffff;
  background-color: var(--light);
}
a.badge-circle-light:hover, a.badge-circle-light:focus {
  color: #ffffff;
  background-color: #e0e0e0;
}
a.badge-circle-light:focus, a.badge-circle-light.focus {
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(249, 249, 249, 0.5);
}

.badge-circle-dark {
  width: 24px;
  height: 24px;
  font-size: 0.875rem;
  border-radius: 50%;
  padding: 0;
  line-height: 1.58;
  color: #ffffff;
  background-color: var(--dark);
}
a.badge-circle-dark:hover, a.badge-circle-dark:focus {
  color: #ffffff;
  background-color: #1b1b1b;
}
a.badge-circle-dark:focus, a.badge-circle-dark.focus {
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(52, 52, 52, 0.5);
}

.badge-circle-white {
  width: 24px;
  height: 24px;
  font-size: 0.875rem;
  border-radius: 50%;
  padding: 0;
  line-height: 1.58;
  color: #212529;
  background-color: #ffffff;
}
a.badge-circle-white:hover, a.badge-circle-white:focus {
  color: #212529;
  background-color: #e6e6e6;
}
a.badge-circle-white:focus, a.badge-circle-white.focus {
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(255, 255, 255, 0.5);
}

.badge-circle-gray {
  width: 24px;
  height: 24px;
  font-size: 0.875rem;
  border-radius: 50%;
  padding: 0;
  line-height: 1.58;
  color: #ffffff;
  background-color: #818894;
}
a.badge-circle-gray:hover, a.badge-circle-gray:focus {
  color: #ffffff;
  background-color: #686f7a;
}
a.badge-circle-gray:focus, a.badge-circle-gray.focus {
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(129, 136, 148, 0.5);
}

.badge-circle-gray300 {
  width: 24px;
  height: 24px;
  font-size: 0.875rem;
  border-radius: 50%;
  padding: 0;
  line-height: 1.58;
  color: #ffffff;
  background-color: #ececec;
}
a.badge-circle-gray300:hover, a.badge-circle-gray300:focus {
  color: #ffffff;
  background-color: lightgray;
}
a.badge-circle-gray300:focus, a.badge-circle-gray300.focus {
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(236, 236, 236, 0.5);
}

.badge-circle-gray200 {
  width: 24px;
  height: 24px;
  font-size: 0.875rem;
  border-radius: 50%;
  padding: 0;
  line-height: 1.58;
  color: #ffffff;
  background-color: #f1f1f1;
}
a.badge-circle-gray200:hover, a.badge-circle-gray200:focus {
  color: #ffffff;
  background-color: #d8d8d8;
}
a.badge-circle-gray200:focus, a.badge-circle-gray200.focus {
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(241, 241, 241, 0.5);
}

.badge-circle-gray100 {
  width: 24px;
  height: 24px;
  font-size: 0.875rem;
  border-radius: 50%;
  padding: 0;
  line-height: 1.58;
  color: #ffffff;
  background-color: var(--light);
}
a.badge-circle-gray100:hover, a.badge-circle-gray100:focus {
  color: #ffffff;
  background-color: #e0e0e0;
}
a.badge-circle-gray100:focus, a.badge-circle-gray100.focus {
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(249, 249, 249, 0.5);
}

.nav-tabs {
  /*.nav-item, .nav-item a {
      &.active, &:hover {
          background-color: transparent !important;
          border: none !important;
      }
  }*/
}
.nav-tabs .nav-item a.active:after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 85%;
  height: 5px;
  background-color: var(--primary);
  border-radius: 5px;
  transform: translate(-50%, 17px);
}
.rtl .nav-tabs .nav-item a.active:after {
  bottom: 2px;
}

.dropdown-menu {
  padding: 15px;
  min-width: 325px;
  transform: translate3d(0px, 54px, 0px) !important;
  z-index: 511;
  border: unset;
  top: 40%;
  transition: all 0.1s;
  overflow: visible !important;
}
.dropdown-menu.user-profile-dropdown {
  min-width: 125px;
}
.dropdown-menu.user-profile-dropdown .dropdown-item {
  padding: 5px 0 !important;
}
.dropdown-menu:after {
  content: "";
  position: absolute;
  top: -10px;
  left: 15px;
  width: 0;
  height: 0;
  border-left: 10px solid transparent;
  border-right: 10px solid transparent;
  border-bottom: 10px solid #fff;
}

.custom-dropdown .custom-dropdown-toggle .custom-dropdown-toggle-flag {
  width: 15px;
  min-width: 15px;
  height: 15px;
}
.custom-dropdown:not(:hover) > .custom-dropdown-body {
  visibility: hidden;
  opacity: 0;
  transform: translateY(15px);
}
.custom-dropdown .custom-dropdown-body {
  position: absolute;
  top: 22px;
  left: 0;
  width: -moz-max-content;
  width: max-content;
  min-width: 220px;
  background: var(--white);
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05);
  border-radius: 10px;
  transition: all 0.3s ease;
  z-index: 580;
}
.rtl .custom-dropdown .custom-dropdown-body {
  left: auto;
  right: 0;
}
.custom-dropdown .custom-dropdown-body__item {
  color: var(--dark);
  border-left: 2px solid transparent;
}
.custom-dropdown .custom-dropdown-body__item > div {
  transition: all 0.3s ease;
}
.custom-dropdown .custom-dropdown-body__item.active {
  border-left: 2px solid var(--primary);
  color: var(--primary);
}
.custom-dropdown .custom-dropdown-body__item.active * {
  color: var(--primary);
}
.rtl .custom-dropdown .custom-dropdown-body__item {
  border-left: none;
  border-right: 2px solid transparent;
}
.rtl .custom-dropdown .custom-dropdown-body__item.active {
  border-left: none;
  border-right: 2px solid var(--primary);
}
.custom-dropdown .custom-dropdown-body__item:hover {
  background-color: var(--light);
}
.custom-dropdown .custom-dropdown-body__item:hover > div {
  transform: translateX(8px);
}
.custom-dropdown .custom-dropdown-body__flag {
  width: 24px;
  min-width: 24px;
  height: 24px;
}

html.html-modal-open {
  overflow: hidden;
  touch-action: none;
}

.img-cover {
  width: 100%;
  height: 100%;
  overflow: hidden;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: 50% 50%;
  object-position: 50% 50%;
}

.img-cover-footer {
  width: 50%;
  height: 100%;
  overflow: hidden;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: 50% 50%;
  object-position: 50% 50%;
}

@media (max-width: 767px) {
  .xs-w-100 {
    width: 100%;
  }
}

@media screen and (max-width: 767px) {
  .xs-fluid {
    width: 100% !important;
    padding: 0 !important;
    margin: 0;
  }
}

.h-40px {
  height: 40px;
}

.cursor-pointer, .custom-control-label {
  cursor: pointer;
}

.text-dark-blue {
  color: #171347;
}

p {
  line-height: 1.5;
}

.text-hover-primary:hover {
  color: var(--primary) !important;
}

.text-hover-secondary:hover {
  color: var(--secondary) !important;
}

.text-decoration-line-through {
  text-decoration: line-through;
}

.line-height-1 {
  line-height: 1;
}

.bg-info-light {
  background-color: #f7fafd;
}

.status-badge-dark {
  border: solid 1px var(--dark);
  color: var(--dark);
  background-color: unset;
}

.status-badge-primary {
  border: solid 1px var(--primary);
  color: var(--primary);
  background-color: unset;
}

.status-badge-secondary {
  border: solid 1px var(--secondary);
  color: var(--secondary);
  background-color: unset;
}

.status-badge-danger {
  border: solid 1px var(--danger);
  color: var(--danger);
  background-color: unset;
}

.status-badge-warning {
  border: solid 1px var(--warning);
  color: var(--warning);
  background-color: unset;
}

.tab-content .webinar-card:hover {
  transform: unset !important;
}

.panel-content .alert-warning {
  margin-top: 10px !important;
  font-weight: 500 !important;
  color: var(--dark);
  background-color: rgba(255, 171, 0, 0.4392156863) !important;
  border-color: var(--warning) !important;
}
.panel-content .alert {
  position: relative;
  padding: 1rem !important;
  margin-bottom: 0;
  border: 1px solid transparent;
  border-radius: 10px;
}

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

#topFilters label {
  font-size: 0.875rem;
}

.filters-container label {
  font-size: 0.875rem;
}

.rtl {
  direction: rtl !important;
}

.ltr {
  direction: ltr !important;
}

.list-style-none li {
  list-style: none;
}

.white-space-pre-wrap {
  white-space: pre-wrap;
}

.close-body-scroll {
  overflow: hidden;
  touch-action: none;
}

#avatarCropModalContainer #imageCropperContainer {
  margin: 0 auto;
  text-align: center;
}
#avatarCropModalContainer #imageCropperContainer > * {
  margin: 0 auto;
}
#avatarCropModalContainer #imageCropperContainer .cropit-preview, #avatarCropModalContainer #imageCropperContainer .cropit-tools {
  direction: ltr;
}
#avatarCropModalContainer #imageCropperContainer .cropit-preview {
  background-color: var(--light);
  background-size: cover;
  border: 1px solid #ccc;
  border-radius: 10px;
  margin-top: 7px;
  margin-bottom: 15px;
  text-align: center;
  z-index: 99;
  overflow: hidden;
  direction: ltr;
}
#avatarCropModalContainer #imageCropperContainer .cropit-preview-image-container {
  cursor: move;
}
#avatarCropModalContainer #imageCropperContainer .rotate-cw, #avatarCropModalContainer #imageCropperContainer .rotate-ccw {
  font-size: 1.3em;
}
#avatarCropModalContainer #imageCropperContainer .image-size-label {
  margin-top: 10px;
}
#avatarCropModalContainer #imageCropperContainer .cropit-image-zoom-input {
  display: inline-block;
  width: 120px;
}
#avatarCropModalContainer #imageCropperContainer .cropit-image-input {
  display: none;
}
#avatarCropModalContainer #imageCropperContainer .cropit-preview-background {
  opacity: 0.2;
  z-index: 33;
}

#coverCropperContainer {
  width: 100%;
}
#coverCropperContainer > .cropit-preview {
  background-color: transparent;
  background-size: cover;
  height: 300px;
  direction: ltr;
}
#coverCropperContainer .cropit-preview-image-container {
  cursor: move;
}
#coverCropperContainer .cropit-image-input {
  display: none;
}
#coverCropperContainer div.buttons {
  text-align: left;
  margin: 5px 0 5px 15px;
}
.rtl #coverCropperContainer div.buttons {
  text-align: right;
}

.panel-content {
  padding: 30px 15px;
  width: calc(100% - 254px);
}
@media (max-width: 991px) {
  .panel-content {
    padding: 90px 15px 30px;
    width: 100%;
  }
}
.panel-content .webinar-card {
  box-shadow: 0px 12px 23px 0px rgba(62, 73, 84, 0.04) !important;
}
.panel-content .webinar-card:hover {
  transform: unset !important;
  box-shadow: 0px 8px 23px 0px rgba(62, 73, 84, 0.15) !important;
  transition: all 0.5s ease;
}
.panel-content .webinar-card .image-box::after {
  border-radius: 10px 0 0 10px;
}

.panel-section-card {
  border-radius: 10px;
  box-shadow: 0px 12px 23px 0px rgba(62, 73, 84, 0.04);
  background-color: #ffffff;
}

.section-title {
  font-size: 16px;
  font-weight: bold;
  line-height: 1.2;
  color: #171347;
}
.section-title.after-line {
  display: flex;
  flex: 1;
  align-items: center;
}
.section-title.after-line:after {
  content: "";
  flex: 1 0 20px;
  height: 2px;
  background-color: #f1f1f1;
  margin-left: 10px;
}

.date-input {
  display: flex;
  align-items: stretch;
}
.date-input .date-icon {
  width: 38px;
  min-width: 38px;
  border: solid 1px #ececec;
  background-color: var(--secondary);
  border-radius: 5px 0 0 5px;
}
.date-input input {
  border-radius: 0 5px 5px 0;
}

.bootstrap-timepicker-widget table td input {
  width: 35px !important;
}
.bootstrap-timepicker-widget table td a {
  padding: 0 !important;
}

.chevron-up-icon {
  position: relative;
  width: 24px !important;
  height: 16px;
  display: inline-flex;
}
.chevron-up-icon:after {
  content: url("/assets/default/img/chevron-up.svg");
  position: absolute;
  width: 100%;
  height: 100%;
}

.chevron-down-icon {
  position: relative;
  width: 24px !important;
  height: 16px;
  display: inline-flex;
}
.chevron-down-icon:after {
  content: url("/assets/default/img/chevron-down.svg");
  position: absolute;
  width: 100%;
  height: 100%;
}

.activities-container {
  border-radius: 10px;
  box-shadow: 0px 12px 23px 0px rgba(62, 73, 84, 0.04);
  background-color: #ffffff;
}
@media (max-width: 767px) {
  .activities-container img {
    width: 44px;
    height: 44px;
  }
}

.no-result .no-result-logo {
  position: relative;
  width: 250px;
  height: 250px;
  border-radius: 50%;
}
.no-result .no-result-logo img {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  transform: translate(-50%, -50%);
}
@media (max-width: 767px) {
  .no-result .no-result-logo {
    width: 175px;
    height: 175px;
  }
  .no-result .no-result-logo img {
    width: 175px;
    max-width: 175px;
  }
}
.no-result.default-no-result .no-result-logo {
  background-image: linear-gradient(to bottom, #dbffe8, var(--primary));
}
@media (max-width: 767px) {
  .no-result.default-no-result br {
    display: none;
  }
}
.no-result.status-failed .no-result-logo {
  background-image: linear-gradient(to bottom, #ffdbdf, #f61111);
}
.no-result.status-waiting .no-result-logo {
  background-image: linear-gradient(to bottom, #feeac2, var(--warning));
}

.shadow-xs {
  box-shadow: 0 3px 6px 0 rgba(0, 0, 0, 0.16);
}

.text-decoration-underline {
  text-decoration: underline;
}

.list-group-custom li {
  position: relative;
  padding-left: 15px;
}
.list-group-custom li:after {
  content: "";
  width: 9px;
  height: 9px;
  background-color: #818894;
  border-radius: 50%;
  position: absolute;
  left: 0;
  top: 5px;
}
.rtl .list-group-custom li {
  padding-right: 15px;
  padding-left: 0;
}
.rtl .list-group-custom li:after {
  left: auto;
  right: 0;
}

.site-top-banner {
  height: 530px;
}
.site-top-banner:after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  opacity: 0.6;
  background-color: #000000;
}
.site-top-banner.opacity-04:after {
  opacity: 0.4;
}
@media (max-width: 991px) {
  .site-top-banner {
    height: 430px;
  }
}
@media (max-width: 767px) {
  .site-top-banner {
    height: 230px;
  }
}

.text-ellipsis {
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
}

.form-control[readonly] {
  background: #ffffff;
}
.form-control[readonly]:hover, .form-control[readonly]:focus {
  border-color: #ececec;
}

.input-group-text-rounded-left {
  border-top-left-radius: 0.5rem !important;
  border-bottom-left-radius: 0.5rem !important;
}

.custom-upload-input-group {
  position: relative;
  display: flex;
  width: 100%;
  height: 2.5rem;
  cursor: pointer;
}
.custom-upload-input-group .custom-upload-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  padding: 0.5rem 1rem;
  margin-bottom: 0;
  font-size: 0.75rem;
  font-weight: 400;
  line-height: 1.25;
  color: #FFFFFF;
  text-align: center;
  white-space: nowrap;
  background-color: var(--secondary);
  border: 1px solid #ececec;
  border-radius: 0.5rem 0 0 0.5rem;
}
.custom-upload-input-group .custom-upload-input {
  display: flex;
  align-items: center;
  padding: 0.5rem 1rem;
  width: 100%;
  height: 100%;
  font-size: 0.75rem;
  background-color: #ffffff;
  background-clip: padding-box;
  border: 1px solid #ececec;
  border-radius: 0 0.5rem 0.5rem 0;
}

.invisible-file-input {
  opacity: 0;
  visibility: hidden;
  position: absolute;
}

.c-not-allowed {
  cursor: not-allowed;
}

.btn-close-advertising-modal {
  position: absolute;
  top: 10px;
  right: 15px;
}

.border-dashed-gray300 {
  border: 1px dashed #ececec;
}

.floating-bar {
  position: relative;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  background-color: #221755;           /* fallback so a bare bar (no image, no color set) isn't transparent */
  min-height: 80px;                     /* min-height not height — allows content to grow vertically if needed */
  z-index: 15000;
  padding: 8px 0;                       /* breathing room so content doesn't touch top/bottom edges */
  color: #FFFFFF;                       /* default text color (overridable per-element via inline color) */
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12);
}
.floating-bar.is-fixed {
  position: fixed;
  left: 0;
  right: 0;
}
.floating-bar.position-top    { top: 0; }
.floating-bar.position-bottom { bottom: 0; }

/* Layout — content row */
.floating-bar__inner {
  gap: 12px;                            /* always-on gap between content and CTA button */
}
.floating-bar__content {
  min-width: 0;                         /* lets text wrap properly inside flex layout */
  flex: 1 1 auto;
}
.floating-bar__icon {
  width: 40px;
  min-width: 40px;
  max-width: 40px;
  height: 40px;
  flex-shrink: 0;
}
.floating-bar__icon img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.floating-bar__text {
  min-width: 0;                         /* enables ellipsis on overflowing children */
}
.floating-bar__title {
  font-size: 16px;
  line-height: 1.25;
  margin: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.floating-bar__desc {
  font-size: 14px;
  line-height: 1.3;
  margin-top: 2px;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.floating-bar__btn {
  border-radius: 8px;
  font-weight: 600;
  padding: 6px 14px;
  transition: opacity 0.15s ease, transform 0.15s ease;
}
.floating-bar__btn:hover {
  opacity: 0.92;
  transform: translateY(-1px);
}

/* Tablet — slight tightening */
@media (max-width: 991.98px) {
  .floating-bar {
    min-height: 64px;
    padding: 8px 0;
  }
  .floating-bar__title { font-size: 15px; }
  .floating-bar__desc  { font-size: 13px; }
}

/* Mobile — title becomes 2-line clamp so longer headlines aren't ellipsized
   into nothing; description compresses to 1 line. Smaller icon + button. */
@media (max-width: 575.98px) {
  .floating-bar {
    min-height: 56px;
    padding: 10px 0;
  }
  .floating-bar .container {
    padding-left: 12px;
    padding-right: 12px;
  }
  .floating-bar__inner {
    gap: 10px;
  }
  .floating-bar__icon {
    width: 32px;
    min-width: 32px;
    max-width: 32px;
    height: 32px;
  }
  .floating-bar__title {
    font-size: 13px;
    white-space: normal;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
  }
  .floating-bar__desc {
    font-size: 11px;
    -webkit-line-clamp: 1;
  }
  .floating-bar__btn {
    font-size: 12px;
    padding: 5px 10px;
  }
}

.d-flex-center {
  display: flex;
  align-items: center;
  justify-content: center;
}

.hidden-input {
  position: absolute;
  opacity: 0;
  visibility: hidden;
}

.success-transparent-alert {
  border-radius: 15px;
  border: solid 1px #43d477;
  background-color: rgba(67, 212, 119, 0.05);
}
.success-transparent-alert__icon {
  width: 40px;
  min-width: 40px;
  height: 40px;
  border-radius: 50%;
  background-color: rgba(67, 212, 119, 0.3);
}
.success-transparent-alert * {
  color: #43d477;
}

.danger-transparent-alert {
  border-radius: 15px;
  border: solid 1px var(--danger);
  background-color: rgba(246, 60, 60, 0.05);
}
.danger-transparent-alert__icon {
  width: 40px;
  min-width: 40px;
  height: 40px;
  border-radius: 50%;
  background-color: rgba(246, 60, 60, 0.3);
}
.danger-transparent-alert * {
  color: var(--danger);
}

.select2-container {
  width: 100% !important;
}
.select2-container .select2-selection {
  display: block;
  width: 100%;
  height: 2.5rem !important;
  padding: 0.5rem 1rem !important;
  font-size: 0.75rem !important;
  font-weight: normal !important;
  line-height: 1.25 !important;
  color: var(--dark) !important;
  background-color: #ffffff;
  background-clip: padding-box;
  border: 1px solid #ececec !important;
  border-radius: 0.5rem !important;
  box-shadow: none !important;
  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
.select2-container .select2-selection .select2-selection__arrow {
  top: 8px !important;
}
.select2-container .select2-dropdown {
  border: 1px solid #ececec !important;
  box-shadow: 0 3px 15px 0 rgba(0, 0, 0, 0.1);
}

.select2-selection__choice {
  background-color: var(--secondary) !important;
  border: 1px solid #ececec !important;
  color: #fff;
  margin-top: 0 !important;
  padding: 2px 5px !important;
}

.select2-selection__choice__remove {
  color: #ffffff !important;
}

.select2-results__option {
  font-size: 0.75rem !important;
}

.bootstrap-tagsinput {
  display: block !important;
  box-shadow: none !important;
  border: 1px solid #ececec !important;
  padding: 0.5rem 1rem !important;
  font-size: 0.75rem;
  font-weight: normal;
  color: var(--dark) !important;
  background-color: #ffffff;
  background-clip: padding-box;
  border-radius: 0.5rem;
  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
.bootstrap-tagsinput input {
  width: 100% !important;
  max-width: 100% !important;
}
.bootstrap-tagsinput .tag {
  margin-top: 2px;
}

.top-navbar {
  height: 53px;
}
@media (max-width: 991px) {
  .top-navbar {
    height: auto;
  }
}
@media (min-width: 991px) {
  .top-navbar .top-contact-box {
    border-bottom: 0 !important;
  }
}
.top-navbar .navbar-search .search-icon {
  position: absolute;
  right: 10px;
  color: #818894;
}
.rtl .top-navbar .navbar-search .search-icon {
  right: auto;
  left: 10px;
}
.top-navbar .dropdown .badge {
  width: 20px;
  height: 20px;
}
.top-navbar .dropdown .dropdown-toggle:after {
  display: none;
}
.top-navbar .dropdown .dropdown-menu {
  right: 0 !important;
  left: auto !important;
}
#panel_app .top-navbar .dropdown .dropdown-menu {
  transform: translate3d(0, 0, 0) !important;
}
.top-navbar .dropdown .dropdown-menu:after {
  right: 15px;
  left: auto;
}
.rtl .top-navbar .dropdown .dropdown-menu {
  right: auto !important;
  left: 0 !important;
}
.rtl .top-navbar .dropdown .dropdown-menu:after {
  right: auto;
  left: 15px;
}
@media (max-width: 767px) {
  .top-navbar .dropdown .dropdown-menu {
    position: fixed !important;
    top: 110% !important;
    right: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100%;
    z-index: 501;
    display: block !important;
    transition: top 0.4s cubic-bezier(0.43, 0.83, 0.54, 1.02), opacity 0.4s linear;
    border-radius: 0;
  }
  .top-navbar .dropdown .dropdown-menu.show {
    top: 0 !important;
    transform: none !important;
    margin-top: 0;
  }
  .top-navbar .dropdown .dropdown-menu:after {
    display: none;
  }
}
.top-navbar .navbar-user img {
  width: 40px;
  height: 40px;
  -o-object-fit: contain;
     object-fit: contain;
}
.top-navbar .navbar-user .user-name {
  line-height: 1.31;
  color: var(--secondary);
}

.navbar-shopping-cart {
  height: 100%;
}
@media (min-width: 767px) {
  .navbar-shopping-cart {
    max-height: 360px;
  }
}
.navbar-shopping-cart .navbar-cart-box {
  margin-top: 20px;
}
.navbar-shopping-cart .navbar-cart-box:first-child {
  margin-top: 0;
}
.navbar-shopping-cart .navbar-cart-box .navbar-cart-img {
  width: 105px;
  min-width: 105px;
  height: 71px;
  min-height: 71px;
}
.navbar-shopping-cart .navbar-cart-box .navbar-cart-img img {
  border-radius: 5px;
}
.navbar-shopping-cart .navbar-cart-box .navbar-cart-info {
  margin-left: 12px;
}
.rtl .navbar-shopping-cart .navbar-cart-box .navbar-cart-info {
  margin-left: 0;
  margin-right: 12px;
}
.navbar-shopping-cart .navbar-cart-box .navbar-cart-info .price .off {
  font-size: 12px;
  font-weight: normal;
  color: #818894;
  text-decoration: line-through;
}
.navbar-shopping-cart .navbar-cart-box .navbar-cart-info h4 {
  font-size: 0.875rem;
  font-weight: 500;
  color: var(--secondary);
}
@media (max-width: 767px) {
  .navbar-shopping-cart .navbar-cart-actions {
    height: 240px;
  }
}
.navbar-shopping-cart .navbar-cart-total {
  padding-top: 12px;
}
@media (max-width: 767px) {
  .navbar-shopping-cart .navbar-cart-total {
    padding-top: 20px;
  }
}
.navbar-shopping-cart .navbar-cart-total strong {
  font-size: 16px;
  line-height: 1.2;
}
.navbar-shopping-cart .navbar-cart-total .total-text {
  font-weight: 500;
  color: #171347;
}

.navbar-notification-card {
  height: calc(100% - 50px);
}
@media (min-width: 767px) {
  .navbar-notification-card {
    max-height: 360px;
  }
}
.navbar-notification-card .navbar-notification-item {
  padding: 10px;
}
.navbar-notification-card .navbar-notification-item .notify-at {
  font-size: 12px;
  font-weight: normal;
  line-height: 1.29;
  color: #818894;
}
.navbar-notification-card .navbar-notification-item:last-child {
  border-bottom: 0 !important;
}

@media (max-width: 767px) {
  .navbar-notification-action {
    height: 72px;
  }
}

.language-select .dropdown-menu {
  padding: 20px;
  min-width: 15rem;
}
.language-select .dropdown-menu li {
  margin-bottom: 10px;
  font-size: 14px;
}
.rtl .language-select .dropdown-menu {
  text-align: right;
  left: auto !important;
  right: 0 !important;
}
.rtl .language-select .dropdown-menu:after {
  left: auto !important;
  right: 30px !important;
}
.rtl .language-select .dropdown-menu .flagstrap-icon {
  margin-right: initial !important;
  margin-left: 5px;
}

.navbar-auth-user-dropdown .dropdown-user-avatar {
  background-color: rgba(236, 236, 236, 0.1);
}
.navbar-auth-user-dropdown .custom-dropdown-body {
  min-width: 280px;
  top: 44px;
  left: auto;
  right: 0;
}
.rtl .navbar-auth-user-dropdown .custom-dropdown-body {
  right: auto;
  left: 0;
}
.navbar-auth-user-dropdown .navbar-auth-user-dropdown-item {
  transition: all 0.3s ease;
}
.navbar-auth-user-dropdown .navbar-auth-user-dropdown-item .icons {
  width: 20px;
  min-width: 20px;
  height: 20px;
}
.navbar-auth-user-dropdown .navbar-auth-user-dropdown-item:hover {
  background-color: var(--light);
}
.navbar-auth-user-dropdown .navbar-auth-user-dropdown-item:hover a {
  transform: translateX(8px);
}

.navbar {
  background-color: #ffffff;
  z-index: 491;
  box-shadow: 0 3px 10px 0 rgba(0, 0, 0, 0.03);
  transition: bottom 0.4s cubic-bezier(0.43, 0.83, 0.54, 1.02);
}
.navbar.sticky {
  position: fixed;
  top: 0;
  width: 100%;
  border-bottom: 1px solid #ececec;
}
.navbar .navbar-toggler {
  font-size: 1rem;
}
.navbar .navbar-categories-dropdown .dropdown-toggle {
  padding: 12px 25px 12px 15px;
  border-radius: 10px;
  background-color: #f1f1f1;
}
.navbar .navbar-categories-dropdown .dropdown-toggle:after {
  display: none;
}
.navbar .navbar-categories-dropdown .dropdown-menu {
  top: 10px;
}
.navbar .nav-item .nav-link {
  font-size: 14px;
  text-align: center;
  color: #171347;
}
@media (max-width: 991px) {
  .navbar {
    padding: 0 15px;
  }
  .navbar .navbar-order {
    order: 3;
  }
  .navbar .navbar-order:nth-child(1) {
    order: 2;
  }
  .navbar .navbar-order:nth-child(2) {
    order: 1;
  }
  .navbar .navbar-order .nav-notify-cart-dropdown svg {
    width: 14px !important;
    height: 14px !important;
  }
  .navbar .navbar-order .nav-notify-cart-dropdown .dropdown .badge {
    width: 16px !important;
    height: 16px !important;
    font-size: 0.7rem;
  }
  /* IMPORTANT: .navbar has position: relative; z-index: 491 (line 14965+),
     which creates its own STACKING CONTEXT. That clamps the off-canvas
     z-index: 1060 inside the 491-level context — and conversely lifts the
     navbar's children (catalog/categories pills) ABOVE the main-header,
     which then covers any popup (user/lang/cart/notification) that
     extends from main-header into the navbar's vertical area.
     Setting z-index: auto removes the stacking context so:
       - off-canvas (z-index: 1060) stacks at page level, above main-header
       - navbar pills (no explicit z-index) stack at page-level z=auto
       - main-header popups (inside main-header's 1040 context) cover pills */
  #navbar.navbar {
    z-index: auto;
  }
  /* HOWEVER — when the navbar becomes sticky on scroll (JS toggles .sticky
     which switches to position: fixed; top: 0), z-index: auto leaves it
     BELOW page sections that come after it in the DOM. Re-apply a high
     z-index for the sticky state only, so the stuck navbar always stays
     on top of scrolled-in page content (hero, continue-learning, etc.). */
  #navbar.navbar.sticky {
    z-index: 1030;
  }
  .navbar .navbar-toggle-content {
    position: fixed;
    top: 110%;
    right: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    /* With the parent context lifted to 1050, z-index here is mostly insurance —
       but keep it so the menu also clears the parent navbar's own bg/border. */
    z-index: 1060;
    display: block !important;
    background-color: #ffffff;
    transition: top 0.4s cubic-bezier(0.43, 0.83, 0.54, 1.02), opacity 0.4s linear;
    border-radius: 0;
    padding: 20px;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
  }
  .navbar .navbar-toggle-content.show {
    top: 0;
  }
  .has-fixed-top-floating-bar .navbar .navbar-toggle-content {
    padding-top: 64px !important;
  }
  .navbar .navbar-nav > li {
    width: 100%;
    padding: 8px 0;
  }
  .navbar .navbar-nav > li .nav-link {
    text-align: left;
  }
  .rtl .navbar .navbar-nav > li .nav-link {
    text-align: right;
  }
}

.navbar-brand {
  width: 170px;
  height: 50px;
}
@media (max-width: 991px) {
  .navbar-brand {
    width: 88px;
    max-width: 88px;
    margin-right: 0;
  }
  .navbar-brand img {
    height: auto !important;
  }
}

.menu-category > ul > li {
  position: relative;
  border-radius: 10px;
  font-weight: 500;
  color: var(--secondary);
}
@media (min-width: 991px) {
  .menu-category > ul > li {
    background-color: #f1f1f1;
    padding: 12px 25px 12px 15px;
  }
}
@media (max-width: 991px) {
  .menu-category > ul > li {
    flex-direction: column;
  }
}
.menu-category > ul > li a {
  font-size: 14px;
  color: #171347;
  font-weight: 500;
  transition: all 0.3s;
}
.menu-category > ul > li a:hover {
  color: var(--primary);
}
.menu-category > ul > li .cat-dropdown-menu {
  position: absolute;
  left: 0;
  top: 65px;
  width: -moz-max-content;
  width: max-content;
  background-color: #fff;
  display: block;
  padding: 30px 25px;
  border-radius: 15px;
  transition: all 0.3s;
  box-shadow: 0 3px 15px 0 rgba(0, 0, 0, 0.16);
  opacity: 0;
  visibility: hidden;
  z-index: 1;
}
.rtl .menu-category > ul > li .cat-dropdown-menu {
  left: auto;
  right: 0;
}
.rtl .menu-category > ul > li .cat-dropdown-menu:after {
  left: auto !important;
  right: 30px !important;
}
.rtl .menu-category > ul > li .cat-dropdown-menu .feather-chevron-right {
  transform: rotateY(180deg);
}
@media (max-width: 991px) {
  .menu-category > ul > li .cat-dropdown-menu {
    width: 100%;
    position: relative;
    box-shadow: none;
    top: 10px;
    display: none;
  }
}
.menu-category > ul > li .cat-dropdown-menu .cat-dropdown-menu-icon {
  width: 25px;
  max-width: 25px;
  min-width: 25px;
}
.menu-category > ul > li .cat-dropdown-menu > li {
  margin-bottom: 18px;
  position: relative;
}
.menu-category > ul > li .cat-dropdown-menu > li:last-child {
  margin-bottom: 0;
}
.menu-category > ul > li .cat-dropdown-menu > li > a {
  display: -ms-flex;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-bottom: 0;
}
.menu-category > ul > li .cat-dropdown-menu > li .sub-menu {
  position: absolute;
  top: -24px;
  left: 96%;
  width: 280px;
  background-color: #fff;
  padding: 30px 25px;
  border-radius: 15px;
  transition: all 0.3s;
  box-shadow: 0 3px 15px 0 rgba(0, 0, 0, 0.16);
  visibility: hidden;
  opacity: 0;
  max-height: 360px;
  overflow-y: auto;
}
.rtl .menu-category > ul > li .cat-dropdown-menu > li .sub-menu {
  left: auto;
  right: 96%;
}
@media (max-width: 991px) {
  .menu-category > ul > li .cat-dropdown-menu > li .sub-menu {
    position: relative;
    left: 0 !important;
    top: 4px;
    width: 100%;
    box-shadow: none;
    display: none;
  }
}
.menu-category > ul > li .cat-dropdown-menu > li .sub-menu li {
  margin-bottom: 15px;
}
.menu-category > ul > li .cat-dropdown-menu > li .sub-menu li:last-child {
  margin-bottom: 0;
}
.menu-category > ul > li .cat-dropdown-menu > li .sub-menu li a {
  color: #171347;
  text-transform: capitalize;
  position: relative;
  display: inline-block;
  padding-right: 0;
  padding-left: 0;
  padding-bottom: 0;
  /*&:after {
      width: 0;
      height: 1px;
      position: absolute;
      content: '';
      bottom: 1px;
      right: 0;
      background-color: var(--primary);
      -webkit-transition: all 0.3s;
      -moz-transition: all 0.3s;
      -ms-transition: all 0.3s;
      -o-transition: all 0.3s;
      transition: all 0.3s;
  }*/
}
.menu-category > ul > li .cat-dropdown-menu > li .sub-menu li a:hover {
  color: var(--primary);
}
.menu-category > ul > li .cat-dropdown-menu > li .sub-menu li a:hover:after {
  width: 100%;
  right: auto;
  left: 0;
}
.menu-category > ul > li .cat-dropdown-menu > li .sub-menu.active {
  display: block;
}
.menu-category > ul > li .cat-dropdown-menu > li:hover .sub-menu {
  opacity: 1;
  visibility: visible;
  left: calc(100% + 25px);
}
.rtl .menu-category > ul > li .cat-dropdown-menu > li:hover .sub-menu {
  left: auto;
  right: calc(100% + 25px);
}
.menu-category > ul > li .cat-dropdown-menu:after {
  top: -6px;
  content: "";
  position: absolute;
  background-color: #fff;
  left: 30px;
  width: 13px;
  height: 13px;
  transform: rotate(45deg);
  box-shadow: -2px -2px 10px -5px rgba(0, 0, 0, 0.2);
  border-top: 1px solid rgba(127, 136, 151, 0.2);
  border-left: 1px solid rgba(127, 136, 151, 0.2);
}
@media (max-width: 991px) {
  .menu-category > ul > li .cat-dropdown-menu:after {
    display: none;
  }
}
.menu-category > ul > li.show-items .cat-dropdown-menu {
  opacity: 1;
  visibility: visible;
  top: 43px;
}

/* Open Categories dropdown on hover (desktop only — touch devices keep click toggle) */
@media (min-width: 992px) and (hover: hover) {
  #navbar .menu-category > ul > li:hover .cat-dropdown-menu,
  #navbar .menu-category > ul > li:focus-within .cat-dropdown-menu {
    opacity: 1;
    visibility: visible;
    top: calc(100% + 12px);
  }
}

/* --- Modern overrides for the Categories popup --- */
#navbar .menu-category > ul > li .cat-dropdown-menu {
  display: grid;
  grid-template-columns: repeat(2, minmax(220px, 1fr));
  column-gap: 4px;
  row-gap: 2px;
  min-width: 480px;
  max-width: 540px;
  padding: 10px;
  border-radius: 12px;
  border: 1px solid #E5E7EB;
  box-shadow: 0 12px 32px rgba(15, 23, 42, 0.12);
  z-index: 1030;
  top: calc(100% + 12px);
}
@media (max-width: 575px) {
  #navbar .menu-category > ul > li .cat-dropdown-menu {
    grid-template-columns: 1fr;
    min-width: 240px;
    max-width: 280px;
  }
}
/* RTL: main popup anchors to the right edge of the Categories pill */
.rtl #navbar .menu-category > ul > li .cat-dropdown-menu,
[dir="rtl"] #navbar .menu-category > ul > li .cat-dropdown-menu {
  left: auto;
  right: 0;
}
/* RTL: chevron in nav item flips so it points the right way (toward the sub-menu) */
.rtl #navbar .menu-category > ul > li .cat-dropdown-menu > li > a .feather-chevron-right,
[dir="rtl"] #navbar .menu-category > ul > li .cat-dropdown-menu > li > a .feather-chevron-right {
  transform: rotate(180deg);
}
/* RTL: legacy mr-10 utility on the IMG needs to flip to ml-10 */
.rtl #navbar .menu-category > ul > li .cat-dropdown-menu .cat-dropdown-menu-icon,
[dir="rtl"] #navbar .menu-category > ul > li .cat-dropdown-menu .cat-dropdown-menu-icon {
  margin-right: 0;
  margin-left: 0;
}
.rtl #navbar .menu-category > ul > li .cat-dropdown-menu > li > a,
[dir="rtl"] #navbar .menu-category > ul > li .cat-dropdown-menu > li > a,
.rtl #navbar .menu-category > ul > li .cat-dropdown-menu > li .sub-menu li a,
[dir="rtl"] #navbar .menu-category > ul > li .cat-dropdown-menu > li .sub-menu li a {
  text-align: right;
}
/* Remove the legacy decorative arrow */
#navbar .menu-category > ul > li .cat-dropdown-menu::after {
  display: none;
}
#navbar .menu-category > ul > li .cat-dropdown-menu > li {
  margin-bottom: 0;
  border-radius: 10px;
  transition: background 0.15s ease;
  min-width: 0;
}
#navbar .menu-category > ul > li .cat-dropdown-menu > li:hover {
  background: rgba(59, 130, 246, 0.08);
}
#navbar .menu-category > ul > li .cat-dropdown-menu > li > a {
  display: flex !important;
  align-items: center;
  justify-content: flex-start !important;
  gap: 12px;
  padding: 6px 10px !important;
  border-radius: 10px;
  font-size: 14px;
  font-weight: 600;
  color: #1F2937 !important;
  transition: color 0.15s ease;
}
#navbar .menu-category > ul > li .cat-dropdown-menu > li:hover > a {
  color: var(--secondary) !important;
}
/* Show admin-uploaded PNG icons on a colored tile + soft elevation + hover lift */
#navbar .menu-category > ul > li .cat-dropdown-menu .cat-dropdown-menu-icon {
  width: 44px !important;
  min-width: 44px !important;
  max-width: 44px !important;
  height: 44px !important;
  padding: 2px;
  border: none;
  border-radius: 12px;
  box-sizing: border-box;
  object-fit: contain;
  background: var(--primary);
  filter: none;
  box-shadow: 0 2px 6px rgba(15, 23, 42, 0.12);
  transform: translateZ(0) scale(1);
  transform-origin: center center;
  will-change: transform, background-color, box-shadow;
  transition:
    background-color 0.25s cubic-bezier(0.4, 0, 0.2, 1),
    transform 0.25s cubic-bezier(0.4, 0, 0.2, 1),
    box-shadow 0.25s cubic-bezier(0.4, 0, 0.2, 1);
}
#navbar .menu-category > ul > li .cat-dropdown-menu > li:hover .cat-dropdown-menu-icon {
  background: var(--secondary);
  transform: translateZ(0) scale(1.06);
  box-shadow: 0 6px 14px rgba(30, 90, 158, 0.28);
}

/* Sub-menu icons: smaller version of the same treatment */
#navbar .menu-category > ul > li .cat-dropdown-menu > li .sub-menu li a .cat-dropdown-menu-icon {
  width: 32px !important;
  min-width: 32px !important;
  max-width: 32px !important;
  height: 32px !important;
  border-radius: 8px;
  padding: 4px;
  margin-right: 10px;
}
/* Chevron for items with sub-menu */
#navbar .menu-category > ul > li .cat-dropdown-menu > li > a .feather-chevron-right {
  margin-left: auto;
  color: #94A0B8;
  width: 16px;
  height: 16px;
}

/* Sub-menu (nested category list) — matches main popup design */
#navbar .menu-category > ul > li .cat-dropdown-menu > li .sub-menu {
  display: grid;
  grid-template-columns: 1fr;
  column-gap: 4px;
  row-gap: 2px;
  min-width: 260px;
  max-width: 320px;
  padding: 10px;
  border-radius: 12px;
  border: 1px solid #E5E7EB;
  background: #FFFFFF;
  box-shadow: 0 12px 32px rgba(15, 23, 42, 0.12);
  top: 0;
  overflow-x: hidden;
  overflow-y: auto;
}
/* If sub-menu has many items, switch to 2 columns automatically once it grows */
#navbar .menu-category > ul > li .cat-dropdown-menu > li .sub-menu:has(li:nth-child(8)) {
  grid-template-columns: repeat(2, minmax(220px, 1fr));
  min-width: 480px;
  max-width: 540px;
}
#navbar .menu-category > ul > li .cat-dropdown-menu > li:hover .sub-menu {
  left: calc(100% + 8px);
}
/* RTL: sub-menu opens to the LEFT of the parent item */
.rtl #navbar .menu-category > ul > li .cat-dropdown-menu > li .sub-menu,
[dir="rtl"] #navbar .menu-category > ul > li .cat-dropdown-menu > li .sub-menu {
  left: auto;
  right: 100%;
}
.rtl #navbar .menu-category > ul > li .cat-dropdown-menu > li:hover .sub-menu,
[dir="rtl"] #navbar .menu-category > ul > li .cat-dropdown-menu > li:hover .sub-menu {
  left: auto;
  right: calc(100% + 8px);
}
#navbar .menu-category > ul > li .cat-dropdown-menu > li .sub-menu li {
  margin-bottom: 0;
  border-radius: 10px;
  min-width: 0;
  transition: background 0.15s ease;
}
#navbar .menu-category > ul > li .cat-dropdown-menu > li .sub-menu li:hover {
  background: rgba(59, 130, 246, 0.08);
}
#navbar .menu-category > ul > li .cat-dropdown-menu > li .sub-menu li a {
  display: flex !important;
  align-items: center;
  justify-content: flex-start !important;
  gap: 12px;
  padding: 6px 10px !important;
  width: 100%;
  font-size: 14px;
  font-weight: 600;
  color: #1F2937;
  border-radius: 10px;
  transition: color 0.15s ease;
}
#navbar .menu-category > ul > li .cat-dropdown-menu > li .sub-menu li:hover a {
  color: var(--secondary) !important;
}

/* Sub-menu icon — same 44x44 tile as main popup */
#navbar .menu-category > ul > li .cat-dropdown-menu > li .sub-menu li a .cat-dropdown-menu-icon {
  width: 44px !important;
  min-width: 44px !important;
  max-width: 44px !important;
  height: 44px !important;
  padding: 2px;
  border: none;
  border-radius: 12px;
  box-sizing: border-box;
  object-fit: contain;
  background: var(--primary);
  filter: none;
  box-shadow: 0 2px 6px rgba(15, 23, 42, 0.12);
  transform: translateZ(0) scale(1);
  transform-origin: center center;
  will-change: transform, background-color, box-shadow;
  transition:
    background-color 0.25s cubic-bezier(0.4, 0, 0.2, 1),
    transform 0.25s cubic-bezier(0.4, 0, 0.2, 1),
    box-shadow 0.25s cubic-bezier(0.4, 0, 0.2, 1);
  margin-right: 0;
}
#navbar .menu-category > ul > li .cat-dropdown-menu > li .sub-menu li:hover .cat-dropdown-menu-icon {
  background: var(--secondary);
  transform: translateZ(0) scale(1.06);
  box-shadow: 0 6px 14px rgba(30, 90, 158, 0.28);
}
@media (max-width: 991px) {
  .menu-category > ul > li.xs-categories-toggle.show-items .cat-dropdown-menu {
    display: block;
    opacity: 1 !important;
    visibility: visible !important;
    top: 0 !important;
  }
  .menu-category > ul > li.xs-categories-toggle.show-items .cat-dropdown-menu .show-sub-menu .sub-menu {
    display: block;
    opacity: 1 !important;
    visibility: visible !important;
    top: 0 !important;
  }
  .rtl .menu-category > ul > li.xs-categories-toggle.show-items .cat-dropdown-menu .show-sub-menu .sub-menu {
    right: 0 !important;
  }
}

.main-menu > ul > li:hover .dropdown-menu-item {
  opacity: 1;
  visibility: visible;
  top: 50px;
}

.login-container {
  margin: 120px 0 70px;
  border-radius: 15px;
  border: solid 1px #ececec;
}
.login-container img {
  border-radius: 10px 0 0 10px;
}
@media (max-width: 991px) {
  .login-container {
    margin: 60px 0 70px;
  }
}

.login-card {
  padding: 75px 45px 75px 45px;
}

.social-login {
  border-radius: 8px;
  border: solid 1px #ececec;
  background-color: #ffffff;
  font-size: 0.875rem;
}
.social-login:hover {
  background-color: #f1f1f1;
  transition: all 0.3s ease;
}

.overlay-avatars {
  position: relative;
}
.overlay-avatars__item, .overlay-avatars__count {
  margin-left: -20px;
  border: solid 2px #f1f1f1;
  background-color: #fff;
}
.rtl .overlay-avatars__item, .rtl .overlay-avatars__count {
  margin-left: 0;
  margin-right: -20px;
}
.overlay-avatars__item:first-child {
  margin-left: 0;
}

.footer {
  margin-top: 205px;
}
/* Responsive: dramatically reduce the gap between the last section (Blog)
   and the footer — the 205px desktop spacing is excessive on mobile/tablet
   where vertical scroll real-estate is precious. */
@media (max-width: 1023.98px) {
  .footer {
    margin-top: 60px;
  }
}
@media (max-width: 767.98px) {
  .footer {
    margin-top: 32px;
  }
}
.footer .footer-subscribe {
  position: relative;
  top: -100px;
  height: 200px;
  background-image: url("/assets/default/img/footer/pattern.png");
  background-color: var(--newsletter_bg, '#ffffff') !important;
  border-radius: 15px;
  padding: 25px;
}
@media (max-width: 767px) {
  .footer .footer-subscribe {
    height: auto;
  }
}
.footer .footer-subscribe strong {
  font-size: 30px;
  font-weight: bold;
  line-height: 1.22;
  color: #ffffff;
  pointer-events: none;
}
.footer .footer-subscribe .subscribe-input {
  border-radius: 38px;
  box-shadow: 0 6px 12px 0 rgba(0, 0, 0, 0.1);
}
.footer ul li {
  font-size: 14px;
}
.footer ul li a {
  color: #ffffff !important;
}
.footer ul li.header {
  font-size: 16px;
}
.footer .footer-social img {
  width: 24px;
  min-width: 24px;
  max-width: 24px;
  height: 24px;
}
.footer .footer-logo {
  width: 170px;
  height: 50px;
}
.footer .border-blue {
  border-top: 1px solid #305995;
}
.footer .footer-copyright-card {
  position: relative;
  background-color: transparent;
}
.footer .footer-copyright-card .container {
  position: relative;
  z-index: 2;
  background-color: transparent;
}
.footer .footer-copyright-card:before {
  content: "";
  position: absolute;
  inset: 0;
  opacity: 0.15;
  background-color: #000;
  z-index: 1;
}

.time-counter-down .time-item {
  width: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.time-counter-down .time-item:last-child {
  margin-right: 0;
}

.shadow-effect {
  background: #fff;
  padding: 20px;
  border-radius: 10px;
  text-align: center;
  box-shadow: 0 19px 38px rgba(0, 0, 0, 0.05), 0 15px 12px rgba(0, 0, 0, 0.02);
}
@media (max-width: 991px) {
  .shadow-effect {
    padding: 20px 10px;
  }
}

.customers-testimonials .shadow-effect p {
  font-family: inherit;
  font-size: 12px;
  line-height: 1.5;
  margin: 0 0 17px 0;
  font-weight: 300;
}
.customers-testimonials .item {
  text-align: center;
  margin-bottom: 70px;
  opacity: 0.65;
  transform: scale3d(0.8, 0.8, 1);
  transition: all 0.3s ease-in-out;
}
@media (max-width: 991px) {
  .customers-testimonials .item {
    padding: 0 15px;
  }
}
.customers-testimonials .owl-item.active.center .item {
  opacity: 1;
  transform: scale3d(1, 1, 1);
}

.customers-testimonials.owl-carousel .owl-dots {
  display: inline-block;
  width: 100%;
  text-align: center;
}
.customers-testimonials.owl-carousel .owl-dots .owl-dot.active span {
  background: var(--primary);
  transform: translate3d(0px, -50%, 0px);
  border-width: 3px;
}
.customers-testimonials.owl-carousel .owl-dots .owl-dot {
  display: inline-block;
}
.customers-testimonials.owl-carousel .owl-dots .owl-dot:hover span {
  background: var(--primary);
  transform: translate3d(0px, -50%, 0px);
  border-width: 3px;
}
.customers-testimonials.owl-carousel .owl-dots .owl-dot span {
  border-radius: 50px;
  background: #ffffff;
  border: solid 1px #d4d4d4;
  display: inline-block;
  height: 20px;
  width: 20px;
  margin: 0 2px 5px;
  transform: translate3d(0px, -50%, 0px);
  transform-origin: 50% 50% 0;
  transition: all 250ms ease-out 0s;
}
@media (max-width: 767px) {
  .customers-testimonials.owl-carousel .owl-dots .owl-dot span {
    width: 15px;
    height: 15px;
  }
}

.custom-pagination {
  border-radius: 30px;
  box-shadow: 0 5px 10px 0 rgba(0, 0, 0, 0.05);
  border: solid 1px #ececec;
  background-color: #ffffff;
  padding: 6px 8px;
}
.custom-pagination li {
  margin-right: 10px;
  border-radius: 50px;
  width: 48px;
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.custom-pagination li a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  background-color: transparent;
  border-radius: 50%;
  font-size: 16px;
  color: #818894;
  transition: all 0.3s ease;
}
.custom-pagination li a:hover {
  background-color: var(--primary);
  color: #ffffff;
  transition: all 0.3s ease;
}
.custom-pagination li a.active {
  border: solid 1px var(--primary);
  background-color: var(--primary);
  color: #ffffff;
}
@media (max-width: 767px) {
  .custom-pagination li {
    margin-right: 8px;
    width: 40px;
    height: 40px;
  }
  .custom-pagination li a {
    font-size: 14px;
  }
}
.custom-pagination li span {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  border-radius: 50%;
}
.custom-pagination li span.active {
  border: solid 1px var(--primary);
  background-color: var(--primary);
  color: #ffffff;
}
.custom-pagination li:last-child {
  margin-right: 0;
}
.custom-pagination li.disabled {
  border: solid 1px #ececec !important;
  cursor: not-allowed;
  color: #ececec;
}
.custom-pagination .previous, .custom-pagination .next {
  border: solid 1px var(--primary);
}
.rtl .custom-pagination .previous, .rtl .custom-pagination .next {
  transform: rotate(180deg);
}

.mask {
  content: "";
  position: absolute;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.3);
  z-index: 1;
}

.slider-container {
  position: relative;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  padding: clamp(90px, 13vh, 220px) 0 clamp(160px, 22vh, 300px) 0;
}
.slider-container.slider-hero-section2 {
  padding: clamp(70px, 10vh, 140px) 0 clamp(130px, 18vh, 220px) 0;
}
@media (max-width: 991px) {
  .slider-container, .slider-container.slider-hero-section2 {
    padding: 60px 0 100px 0;
  }
}
.slider-container #homeHeroVideoBackground {
  position: absolute;
  inset: 0;
  z-index: 0;
}
.slider-container .slider-content {
  position: relative;
  z-index: 5;
}
.slider-container .slider-content h1 {
  font-size: clamp(28px, 3.4vw, 44px);
  line-height: 1.25;
  color: #ffffff;
  pointer-events: none;
}
@media (max-width: 991px) {
  .slider-container .slider-content h1 {
    font-size: 28px;
  }
}
.slider-container .slider-content .slide-hint {
  font-size: 20px;
  font-weight: normal;
  line-height: 1.25;
  color: #ffffff;
  pointer-events: none;
}
@media (max-width: 991px) {
  .slider-container .slider-content .slide-hint {
    font-size: 14px;
  }
}
.slider-container .slider-content .slider-search {
  border-radius: 38px;
  box-shadow: 0 6px 12px 0 rgba(0, 0, 0, 0.1);
}
.slider-container .slider-content.hero-section2 h1 {
  font-size: 44px;
  line-height: 1.5;
  pointer-events: none;
}
@media (max-width: 991px) {
  .slider-container .slider-content.hero-section2 h1 {
    font-size: 30px;
  }
}

.stats-container {
  position: relative;
  top: -100px;
  z-index: 8;
}
.stats-container.page-has-hero-section-2 {
  top: 0;
}
.stats-container .stats-item {
  position: relative;
  border-radius: 20px;
  /* Light brand-hue tint on the frosted card (hue from --primary, forced light)
     so it reflects branding while staying light. Static line is the fallback. */
  background: rgba(255, 255, 255, 0.70);
  background: hsl(from var(--primary) h 45% 97% / 0.72);
  backdrop-filter: blur(20px) saturate(180%);
  -webkit-backdrop-filter: blur(20px) saturate(180%);
  border: 1px solid rgba(255, 255, 255, 0.55);
  box-shadow:
    0 10px 36px rgba(15, 23, 42, 0.12),
    inset 0 1px 0 rgba(255, 255, 255, 0.85);
  transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1),
              background 0.35s ease,
              box-shadow 0.35s ease,
              border-color 0.35s ease;
}
.stats-container .stats-item .stat-icon-box {
  position: relative;
  border-radius: 20px;
  width: 88px;
  height: 88px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #FFFFFF;
  overflow: hidden;
  box-shadow:
    0 10px 24px rgba(0, 0, 0, 0.15),
    inset 0 1px 0 rgba(255, 255, 255, 0.30),
    inset 0 -2px 0 rgba(0, 0, 0, 0.06);
}
.stats-container .stats-item .stat-icon-box::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.22) 0%, transparent 55%);
  pointer-events: none;
  z-index: 0;
}
.stats-container .stats-item .stat-icon-box > svg {
  position: relative;
  z-index: 1;
  width: 40px;
  height: 40px;
}
.stats-container .stats-item .stat-icon-box > img {
  position: relative;
  z-index: 1;
  width: 50px;
  height: 50px;
  object-fit: contain;
}
.stats-container .stats-item .stat-icon-box.teacher {
  background-image: linear-gradient(135deg, #3C8CE7 10%, #00EAFF 100%);
}
.stats-container .stats-item .stat-icon-box.video {
  background-image: linear-gradient(135deg, #11c99c, #00e31d);
}
.stats-container .stats-item .stat-icon-box.student {
  background-image: linear-gradient(135deg, #F761A1 10%, #8C1BAB 100%);
}
.stats-container .stats-item .stat-icon-box.course {
  background-image: linear-gradient(135deg, #ff0844 0%, #ffb199 100%);
}
.stats-container .stats-item .stat-number {
  font-size: 30px;
  font-weight: bold;
  line-height: 1.25;
  color: var(--secondary);
  pointer-events: none;
}
.stats-container .stats-item .stat-title {
  font-size: 16px;
  font-weight: bold;
  line-height: 1.25;
  color: var(--dark);
  pointer-events: none;
}
.stats-container .stats-item .stat-desc {
  font-size: 14px;
  font-weight: normal;
  line-height: 1.4;
  color: #6B7280;
  pointer-events: none;
}
.stats-container .stats-item:hover {
  transform: translateY(-12px);
  background: rgba(255, 255, 255, 0.88);
  border-color: rgba(255, 255, 255, 0.85);
  box-shadow:
    0 24px 60px rgba(15, 23, 42, 0.20),
    inset 0 1px 0 rgba(255, 255, 255, 0.9);
}
.stats-container .stats-item:hover .stat-icon-box {
  transform: scale(1.05);
  transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1);
}
.stats-container .stats-item:hover .stat-number,
.stats-container .stats-item:hover .stat-title,
.stats-container .stats-item:hover .stat-desc {
  color: inherit;
}
.stats-container .stats-item:hover .stat-number {
  color: var(--secondary);
}
/* ============================================================ */
/* Hero statistics cards — responsive compaction.                */
/* Desktop layout (4 cols, 88px icon, 30px number) is untouched. */
/* ============================================================ */

/* <576px: switch from 1-col stack to 2x2 grid so cards don't tower
   vertically; the 4 cards now read as a balanced quad. */
@media (max-width: 575.98px) {
  .stats-container .col-sm-6,
  .stats-container .col-lg-3 {
    flex: 0 0 50%;
    max-width: 50%;
  }
  /* Tighter row gap between the two stat rows. */
  .stats-container [class*="mt-25"] {
    margin-top: 12px !important;
  }
  .stats-container .row {
    margin-left: -6px;
    margin-right: -6px;
  }
  .stats-container [class*="col-"] {
    padding-left: 6px;
    padding-right: 6px;
  }
}

/* <768px: shrink card internals (icon / number / title / desc). */
@media (max-width: 767.98px) {
  .stats-container {
    top: -40px;                      /* was -100px — less hero overlap on mobile */
  }
  .stats-container .stats-item {
    padding: 16px 10px !important;   /* was py-30 px-5 */
    border-radius: 14px;
  }
  .stats-container .stats-item .stat-icon-box {
    width: 56px;
    height: 56px;
    border-radius: 14px;
  }
  .stats-container .stats-item .stat-icon-box > svg {
    width: 26px;
    height: 26px;
  }
  .stats-container .stats-item .stat-icon-box > img {
    width: 30px;
    height: 30px;
  }
  .stats-container .stats-item .stat-number {
    font-size: 20px;
    margin-top: 8px !important;
  }
  .stats-container .stats-item .stat-title {
    font-size: 13px;
    line-height: 1.25;
  }
  .stats-container .stats-item .stat-desc {
    font-size: 11px;
    line-height: 1.35;
    margin-top: 4px !important;
    /* Limit to 2 lines so cards stay equal-height even with longer descs */
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }
  /* Hover lift is annoying on touch; disable transform jump. */
  .stats-container .stats-item:hover {
    transform: none;
  }
}

/* Original :hover .stat-title color — preserved for desktop, keep here so
   the cascade order is intact. */
.stats-container .stats-item:hover .stat-title {
  color: var(--dark);
}
.stats-container .stats-item:hover .stat-desc {
  color: #4B5563;
}

.swiper-pagination {
  bottom: -50px;
  transform: translate(0, 50%) !important;
}
@media (max-width: 991px) {
  .swiper-pagination {
    bottom: unset;
  }
  .swiper-pagination.features-swiper-pagination {
    bottom: -20px;
  }
}
.swiper-pagination .swiper-pagination-bullet {
  position: relative;
  width: 20px;
  height: 20px;
  margin-right: 20px;
  padding: 4px;
  background: #ffffff !important;
  border: solid 1px #d4d4d4;
  opacity: 1 !important;
}
.rtl .swiper-pagination .swiper-pagination-bullet {
  margin-right: 0;
  margin-left: 20px;
}
@media (max-width: 767px) {
  .swiper-pagination .swiper-pagination-bullet {
    width: 15px;
    height: 15px;
    margin-right: 10px;
  }
}
.swiper-pagination .swiper-pagination-bullet:last-child {
  margin-right: 0;
}
.rtl .swiper-pagination .swiper-pagination-bullet:last-child {
  margin-right: auto;
  margin-left: 0;
}
.swiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active:after {
  content: "";
  width: 14px;
  height: 14px;
  border-radius: 50px;
  background-color: var(--primary);
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
@media (max-width: 767px) {
  .swiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active:after {
    width: 8px;
    height: 8px;
  }
}

.feature-slider {
  border-radius: 15px;
  background-repeat: no-repeat;
  background-size: cover;
  -o-object-fit: contain;
     object-fit: contain;
}
.feature-slider .mask {
  opacity: 0.4;
  background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.25), #000000);
  border-radius: 15px;
}
.feature-slider .feature-slider-card {
  width: auto;
  max-width: 435px;
}
.feature-slider .feature-slider-body {
  border-radius: 15px;
  box-shadow: 0 3px 6px 0 rgba(0, 0, 0, 0.16);
  background-color: #ffffff;
  padding: 10px;
  z-index: 5;
}
.feature-slider .feature-slider-body .card-title {
  font-size: 16px;
  font-weight: bold;
  line-height: 1.2;
  color: #171347;
}
@media (max-width: 991px) {
  .feature-slider .feature-slider-body .card-title {
    font-size: 16px;
  }
}
.feature-slider .feature-desc {
  pointer-events: none;
}
.feature-slider .feature-footer .feature-price-box {
  border-radius: 10px;
  box-shadow: 0 3px 6px 0 rgba(64, 213, 125, 0.26);
  background-color: var(--primary);
  font-size: 16px;
  font-weight: 800;
  line-height: 1.22;
  color: #ffffff;
  padding: 10px 15px;
  pointer-events: none;
}

.vertical-line {
  border-left: solid 2px #ececec;
}

.stars-card {
  min-height: 20px;
}
.stars-card svg {
  margin-right: 3px;
  color: #818894;
}
.stars-card svg.active {
  color: #ffc600;
  fill: #ffc600;
}
.stars-card i.active svg {
  color: #ffc600;
  fill: #ffc600;
}

.user-inline-avatar .avatar {
  width: 40px;
  max-width: 40px;
  min-width: 40px;
  height: 40px;
  border-radius: 50%;
}
.user-inline-avatar .avatar img {
  border-radius: 50%;
}
.user-inline-avatar .user-name {
  font-weight: 500;
  line-height: 1.19;
  color: #818894;
}

.home-sections {
  position: relative;
  margin-top: 80px;
}
.home-sections:first-child {
  margin-top: 80px;
}
.home-sections.spacing-tight {
  margin-top: 40px;
}
.home-sections.spacing-normal {
  margin-top: 80px;
}
.home-sections.spacing-generous {
  margin-top: 100px;
}
.home-sections.spacing-none {
  margin-top: 0;
}
@media (min-width: 1200px) {
  section.home-sections.container,
  .home-sections.container {
    max-width: 1200px;
  }
}
@media (max-width: 1023px) {
  .home-sections {
    margin-top: 60px;
  }
  .home-sections.spacing-tight {
    margin-top: 32px;
  }
  .home-sections.spacing-normal {
    margin-top: 60px;
  }
  .home-sections.spacing-generous {
    margin-top: 80px;
  }
}
@media (max-width: 767px) {
  .home-sections {
    margin-top: 48px;
  }
  .home-sections.spacing-tight {
    margin-top: 24px;
  }
  .home-sections.spacing-normal {
    margin-top: 48px;
  }
  .home-sections.spacing-generous {
    margin-top: 64px;
  }
}
.home-sections .section-title {
  font-size: 24px;
  font-weight: bold;
  line-height: 1.5;
  color: var(--secondary);
  pointer-events: none;
}
@media (max-width: 991px) {
  .home-sections .section-title {
    font-size: 18px;
  }
}
.home-sections .section-hint {
  margin-top: 5px;
  font-size: 14px;
  font-weight: normal;
  line-height: 1.5;
  color: #818894;
  pointer-events: none;
}
@media (max-width: 991px) {
  .home-sections .section-hint {
    font-size: 14px;
  }
}

.gradient-box {
  direction: ltr;
  position: absolute !important;
  border-radius: 30px;
  background-image: linear-gradient(to bottom, #9effc1, var(--primary));
}
@media (max-width: 767px) {
  .gradient-box {
    border-radius: 10px;
  }
}

.subscribes-container .left-gradient-box {
  top: 13% !important;
  left: 1% !important;
  width: 150px;
  height: 150px;
  opacity: 0.66;
  transform: rotate(45deg);
}
@media (min-width: 767px) and (max-width: 991px) {
  .subscribes-container .left-gradient-box {
    width: 80px;
    height: 80px;
  }
}
@media (max-width: 767px) {
  .subscribes-container .left-gradient-box {
    width: 40px;
    height: 40px;
  }
}
.subscribes-container #parallax5 {
  transform: translate3d(0px, 0px, 0px) rotate(144deg) !important;
}
.subscribes-container .right-gradient-box {
  right: 3% !important;
  bottom: 10% !important;
  top: auto !important;
  width: 130px;
  height: 130px;
  opacity: 0.66;
  transform: rotate(45deg);
}
@media (min-width: 767px) and (max-width: 991px) {
  .subscribes-container .right-gradient-box {
    width: 75px;
    height: 75px;
  }
}
@media (max-width: 767px) {
  .subscribes-container .right-gradient-box {
    width: 30px;
    height: 30px;
  }
}
.subscribes-container .bottom-gradient-box {
  left: 14% !important;
  bottom: 0 !important;
  top: auto !important;
  width: 250px;
  height: 250px;
  opacity: 0.66;
  transform: rotate(45deg);
}
@media (min-width: 767px) and (max-width: 991px) {
  .subscribes-container .bottom-gradient-box {
    width: 150px;
    height: 150px;
  }
}
@media (max-width: 767px) {
  .subscribes-container .bottom-gradient-box {
    width: 50px;
    height: 50px;
  }
}

.testimonials-container .left-gradient-box {
  top: 13% !important;
  left: 10% !important;
  width: 202px;
  height: 202px;
  opacity: 0.66;
}
@media (min-width: 767px) and (max-width: 991px) {
  .testimonials-container .left-gradient-box {
    width: 100px;
    height: 100px;
  }
}
@media (max-width: 767px) {
  .testimonials-container .left-gradient-box {
    width: 40px;
    height: 40px;
  }
}
.testimonials-container #parallax2 {
  transform: translate3d(0px, 0px, 0px) rotate(144deg) !important;
}
.testimonials-container .right-gradient-box {
  top: auto !important;
  right: 13% !important;
  bottom: 10% !important;
  width: 195px;
  height: 195px;
  opacity: 0.66;
  transform: rotate(45deg);
}
@media (min-width: 767px) and (max-width: 991px) {
  .testimonials-container .right-gradient-box {
    width: 95px;
    height: 95px;
  }
}
@media (max-width: 767px) {
  .testimonials-container .right-gradient-box {
    width: 30px;
    height: 30px;
  }
}
.testimonials-container .bottom-gradient-box {
  top: auto !important;
  left: -200px !important;
  bottom: 0 !important;
  width: 270px;
  height: 270px;
  opacity: 0.66;
  transform: rotate(45deg);
}
@media (min-width: 767px) and (max-width: 991px) {
  .testimonials-container .bottom-gradient-box {
    width: 150px;
    height: 150px;
  }
}
@media (max-width: 767px) {
  .testimonials-container .bottom-gradient-box {
    width: 50px;
    height: 50px;
  }
}
.testimonials-container .testimonials-card {
  margin-top: 105px;
  pointer-events: none;
}
.testimonials-container .testimonials-card .bottom-gradient {
  position: absolute;
  top: unset;
  bottom: 0;
  left: 0;
  right: 0;
  border-radius: 0 0 10px 10px;
  height: 11px;
  background: linear-gradient(to left, #9effc1, var(--primary));
}
.testimonials-container .testimonials-card .testimonials-user-avatar {
  position: absolute;
  top: -40px;
  width: 80px;
  height: 80px;
}

.trending-card {
  position: relative;
  transition: all 0.5s ease;
}
.trending-card .trending-image {
  padding: 27px 0;
  border-radius: 20px;
}
.trending-card .trending-image .icon {
  width: 85px;
  height: 85px;
}
.trending-card .item-count {
  position: relative;
  top: -20px;
  border-radius: 25px;
  box-shadow: 0 3px 6px 0 rgba(0, 0, 0, 0.1);
  background-color: #ffffff;
  font-size: 14px;
}
.trending-card h3 {
  font-size: 16px;
  font-weight: 500;
  line-height: 1.19;
  color: #171347;
}
.trending-card:hover {
  transform: translateY(-25px);
  transition: all 0.5s ease;
}
.trending-card:hover .item-count {
  background-color: var(--secondary);
  color: #ffffff;
  transition: all 0.5s ease;
}
@media (max-width: 767px) {
  .trending-card .trending-image {
    padding: 25px;
  }
  .trending-card .trending-image .icon {
    width: 60px;
    height: 60px;
  }
}

.home-video-mask {
  position: absolute;
  height: 300px;
  border: solid 1px #707070;
  background-color: var(--secondary);
  width: 100%;
  top: 50%;
  transform: translate(0, -50%);
}
@media (max-width: 767px) {
  .home-video-mask {
    height: 100%;
  }
}

.home-video-container {
  padding-top: 194px;
  padding-bottom: 94px;
  background-repeat: no-repeat;
  background-size: cover;
  border-radius: 15px;
}
@media (max-width: 991px) {
  .home-video-container {
    padding-top: 94px;
  }
}
@media (max-width: 767px) {
  .home-video-container {
    background-size: contain;
    border-radius: 0;
  }
}
.home-video-container .home-video-play-button {
  width: 147px;
  height: 147px;
  box-shadow: 0 20px 12px 0 rgba(0, 0, 0, 0.1);
  background-color: #ffffff;
  border-radius: 50%;
  cursor: pointer;
  z-index: 22;
}
.home-video-container .home-video-play-button:after, .home-video-container .home-video-play-button:before {
  content: "";
  position: absolute;
  height: 100%;
  width: 100%;
  background-color: #ffffff;
  opacity: 0.4;
  z-index: -1;
  border-radius: 50%;
}
.home-video-container .home-video-play-button:before {
  animation: pluse 2s ease-out infinite;
}
.home-video-container .home-video-play-button:after {
  animation: pluse 2s 1s ease-out infinite;
}
@media (max-width: 991px) {
  .home-video-container .home-video-play-button {
    width: 75px;
    height: 75px;
  }
  .home-video-container .home-video-play-button .feather-play {
    width: 25px;
    height: 25px;
  }
}
.home-video-container .home-video-title {
  font-size: 24px;
  font-weight: bold;
  line-height: 1.22;
  color: #ffffff;
}
.home-video-container .home-video-hint {
  font-size: 16px;
  font-weight: normal;
  line-height: 1.19;
  color: #ffffff;
  pointer-events: none;
}

@keyframes pluse {
  100% {
    transform: scale(2.5);
    opacity: 0;
  }
}
.user-search-card .user-avatar {
  width: 135px;
  height: 135px;
  border-radius: 50%;
  box-shadow: 0 5px 8px 0 rgba(0, 0, 0, 0.1);
}

.home-organizations-card {
  padding: 15px 25px 30px;
  border-radius: 15px;
  box-shadow: 0 6px 15px 0 rgba(0, 0, 0, 0.1);
  background-color: #ffffff;
  text-align: center;
  transition: all 0.5s ease;
}
.home-organizations-card .home-organizations-avatar {
  width: 120px;
  height: 120px;
  border-radius: 50%;
}
.home-organizations-card .home-organizations-title {
  font-size: 16px;
  font-weight: bold;
  line-height: 1.2;
  color: #171347;
  transition: all 0.5s ease;
}
.home-organizations-card .home-organizations-badge, .home-organizations-card .home-organizations-desc {
  font-size: 12px;
  font-weight: normal;
  line-height: 1.19;
  color: #818894;
  transition: all 0.5s ease;
}
.home-organizations-card .home-organizations-badge {
  border-radius: 15px;
  background-color: #f1f1f1;
  padding: 5px 10px;
  transition: all 0.5s ease;
}
.home-organizations-card:hover {
  transform: translateY(-10px);
  background-color: var(--secondary);
  box-shadow: 0 6px 20px 0 rgba(0, 0, 0, 0.2);
  transition: all 0.5s ease;
}
.home-organizations-card:hover .home-organizations-title, .home-organizations-card:hover .home-organizations-desc {
  color: #ffffff;
  transition: all 0.5s ease;
}
.home-organizations-card:hover .home-organizations-badge {
  background-color: #ffffff;
  color: var(--secondary);
  transition: all 0.5s ease;
}

.instructors-swiper-container .instructors-card .instructors-card-avatar {
  width: 135px;
  height: 135px;
}
.instructors-swiper-container .swiper-slide {
  margin-top: 33px;
}
.instructors-swiper-container .swiper-slide.swiper-slide-active {
  margin-top: 0;
}
.instructors-swiper-container .swiper-slide.swiper-slide-active .instructors-card .instructors-card-avatar {
  width: 200px;
  height: 200px;
}
.instructors-swiper-container .swiper-slide.swiper-slide-active .instructors-card .instructors-card-avatar img {
  opacity: 1;
}
.instructors-swiper-container .swiper-slide.swiper-slide-active .instructors-card .instructors-card-info {
  display: block;
}

.find-instructor-section .find-instructor-section-hero {
  max-width: 400px;
  max-height: 460px;
  border-radius: 40px 4px 40px 4px;
  box-shadow: 0 30px 60px 0 rgba(1, 11, 60, 0.14);
}
.find-instructor-section .find-instructor-section-circle, .find-instructor-section .find-instructor-section-dots {
  position: absolute;
  z-index: -1;
}
.find-instructor-section .find-instructor-section-circle {
  top: -50px;
  right: 10%;
}
.find-instructor-section .find-instructor-section-dots {
  bottom: -25px;
  left: -30px;
  animation: hero-dot 5s linear 0s infinite alternate;
}
.find-instructor-section .example-instructor-card {
  position: absolute;
  bottom: 50px;
  right: -15px;
  z-index: 2;
  animation-duration: 4s;
  animation-fill-mode: both;
  animation-iteration-count: infinite;
  animation-name: hero-bounce;
}
.find-instructor-section .example-instructor-card .example-instructor-card-avatar {
  width: 54px;
  height: 54px;
  border-radius: 50%;
}
@media (max-width: 767px) {
  .find-instructor-section .find-instructor-section-hero {
    max-width: 250px;
    max-height: 270px;
  }
  .find-instructor-section .example-instructor-card {
    right: -5px;
  }
}

.reward-program-section {
  border-radius: 30px;
  background-color: #f7fafd;
}
.reward-program-section .reward-program-section-hero-card {
  height: 350px;
}
.reward-program-section .reward-program-section-hero-card .reward-program-section-hero {
  position: absolute;
  height: 390px;
  width: 100%;
  left: -70px;
  top: -20px;
}
@media (max-width: 991px) {
  .reward-program-section .reward-program-section-hero-card {
    height: auto;
  }
  .reward-program-section .reward-program-section-hero-card .reward-program-section-hero {
    position: relative;
    top: 0;
    left: 0;
    height: auto;
  }
}
.reward-program-section .reward-program-section-dots {
  position: absolute;
  top: 25px;
  left: 30px;
  z-index: 1;
  animation: hero-dot 5s linear 0s infinite alternate;
}
.reward-program-section .example-reward-card {
  position: absolute;
  bottom: 50px;
  right: 15%;
  z-index: 2;
  animation-duration: 6s;
  animation-fill-mode: both;
  animation-iteration-count: infinite;
  animation-name: hero-bounce;
}
.reward-program-section .example-reward-card .example-reward-card-medal {
  width: 56px;
  height: 56px;
  border-radius: 50%;
}

@keyframes hero-dot {
  0% {
    transform: translateY(-100px);
  }
  100% {
    transform: translateY(0px);
  }
}
@keyframes hero-bounce {
  0%, 20%, 50%, 80%, 100% {
    transform: translateY(0);
  }
  40% {
    transform: translateY(-30px);
  }
  60% {
    transform: translateY(-15px);
  }
}
.become-instructor-packages .default-package-icon {
  width: 176px;
  min-width: 176px;
  height: 143px;
}
.become-instructor-packages .default-package-icon img {
  width: 100%;
  height: 100%;
}
.become-instructor-packages .default-package-statistics-icon {
  width: 32px;
  height: 32px;
}
.become-instructor-packages .default-package-statistics-icon img {
  width: 100%;
  height: 100%;
}

.blog-grid-card {
  border-radius: 15px;
  box-shadow: 0 5px 12px 0 rgba(0, 0, 0, 0.1);
  background-color: #ffffff;
  transition: all 0.5s ease;
}
.blog-grid-card .blog-grid-image {
  position: relative;
  width: 100%;
  height: 250px;
}
.blog-grid-card .blog-grid-image img {
  border-radius: 15px 15px 0 0;
}
.blog-grid-card .blog-grid-image::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 60%;
  bottom: 0;
  background-image: linear-gradient(to bottom, rgba(6, 6, 6, 0), rgba(0, 0, 0, 0.8));
  z-index: 1;
}
.blog-grid-card .blog-grid-image .badges-lists {
  position: absolute;
  top: 0;
  left: 7px;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
}
.blog-grid-card .blog-grid-image .badges-lists .badge {
  font-size: 12px;
  font-weight: normal;
  line-height: 1.29;
  color: #ffffff;
  padding: 8px 15px;
  border-radius: 15px 3px 15px 3px;
  pointer-events: none;
  margin-top: 8px;
  margin-right: 8px;
}
.rtl .blog-grid-card .blog-grid-image .badges-lists {
  left: auto;
  right: 7px;
}
.rtl .blog-grid-card .blog-grid-image .badges-lists .badge {
  margin-right: 0;
  margin-left: 8px;
}
.blog-grid-card .blog-grid-image .created-at {
  font-size: 14px;
  font-weight: 500;
  line-height: 1.19;
  color: #ffffff;
  border-radius: 20px;
  padding: 10px 15px;
  box-shadow: 0 3px 6px 0 rgba(0, 0, 0, 0.1);
  background-color: var(--primary);
  position: absolute;
  bottom: -16px;
  right: 25px;
  transition: all 0.5s ease;
  z-index: 2;
}
.blog-grid-card .blog-grid-detail {
  padding: 24px 15px;
}
.blog-grid-card .blog-grid-detail .blog-grid-title {
  font-size: 16px;
  font-weight: bold;
  line-height: 1.2;
  color: #171347;
}
.blog-grid-card .blog-grid-detail .blog-grid-desc {
  font-size: 14px;
  font-weight: normal;
  line-height: 1.29;
  color: #818894;
  height: 85px;
  border-bottom: 1px solid #ececec;
  overflow: hidden;
  pointer-events: none;
}
.blog-grid-card .blog-grid-detail .blog-grid-footer {
  font-size: 16px;
  font-weight: 500;
  line-height: 1.19;
  color: #818894;
  pointer-events: none;
}
.blog-grid-card:hover {
  transform: translateY(-25px);
  box-shadow: 0 5px 20px 0 rgba(0, 0, 0, 0.1);
  transition: all 0.5s ease;
}
.blog-grid-card:hover .created-at {
  background-color: var(--secondary);
  transition: all 0.5s ease;
}

.popular-post .popular-post-image {
  width: 110px;
  min-width: 110px;
  height: 75px;
}
.popular-post .popular-post-content {
  height: 75px;
}

.post-show p, .post-show span {
  color: #818894;
  margin-top: 15px;
}
.post-show img, .post-show video, .post-show iframe {
  border-radius: 15px;
  max-width: 100% !important;
}
.post-show h1, .post-show h2, .post-show h3 {
  font-size: 20px;
  font-weight: bold;
  color: #171347;
  margin-top: 25px;
}

.contact-info-modal .contact-avatar {
  width: 100px;
  max-width: 100px;
  height: 100px;
  border-radius: 50%;
}
.contact-info-modal .contact-avatar img {
  border-radius: 50%;
}

.contact-us-head {
  padding-top: 120px;
}
@media (max-width: 767px) {
  .contact-us-head {
    padding-top: 60px;
  }
}

.contact-map {
  height: 644px;
  border-radius: 15px;
  z-index: 10;
  position: relative;
  top: -300px;
  margin-bottom: -250px;
}
@media (min-width: 767px) and (max-width: 991px) {
  .contact-map {
    height: 500px;
    top: -230px;
    margin-bottom: -230px;
  }
}
@media (max-width: 767px) {
  .contact-map {
    height: 360px;
    top: -100px;
    margin-bottom: -80px;
  }
}

.contact-items {
  box-shadow: 0 3px 30px 0 rgba(0, 0, 0, 0.1);
}
.contact-items .contact-icon-box {
  border-radius: 24px;
  width: 85px;
  height: 85px;
}
.contact-items .contact-icon-box.box-info {
  background-image: linear-gradient(135deg, #3C8CE7 10%, #00EAFF 100%);
}
.contact-items .contact-icon-box.box-green {
  background-image: linear-gradient(135deg, #11c99c, #00e31d);
}
.contact-items .contact-icon-box.box-red {
  background-image: linear-gradient(135deg, #ff0844 0%, #ffb199 100%);
}

.webinar-card {
  position: relative;
  border-radius: 15px;
  box-shadow: 0 5px 12px 0 rgba(0, 0, 0, 0.1);
  background-color: #ffffff;
  transition: all 0.5s ease;
}
.webinar-card .image-box {
  position: relative;
  width: 100%;
  height: 250px;
}
.webinar-card .image-box img {
  border-radius: 15px 15px 0 0;
}
.webinar-card .image-box::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 60%;
  bottom: 0;
  background-image: linear-gradient(to bottom, rgba(6, 6, 6, 0), rgba(0, 0, 0, 0.8));
  z-index: 1;
}
.webinar-card .image-box .badges-lists {
  position: absolute;
  top: 0;
  left: 7px;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
}
.webinar-card .image-box .badges-lists .badge {
  font-size: 12px;
  font-weight: normal;
  line-height: 1.29;
  color: #ffffff;
  padding: 8px 15px;
  border-radius: 15px 3px 15px 3px;
  pointer-events: none;
  margin-top: 8px;
  margin-right: 8px;
}
.rtl .webinar-card .image-box .badges-lists {
  left: auto;
  right: 7px;
}
.rtl .webinar-card .image-box .badges-lists .badge {
  margin-right: 0;
  margin-left: 8px;
}
.webinar-card .image-box .progress {
  position: absolute;
  bottom: 12px;
  left: 18px;
  width: 75%;
  height: 7px;
  border-radius: 5px;
  box-shadow: 0 3px 6px 0 rgba(0, 0, 0, 0.16);
  background-color: #ffffff;
  z-index: 2;
}
.rtl .webinar-card .image-box .progress {
  left: auto;
  right: 18px;
}
.webinar-card .image-box .progress .progress-bar {
  height: 5px;
  background-color: var(--primary);
  border-radius: 5px;
  margin-top: 1px;
  margin-left: 1px;
}
.webinar-card .image-box .webinar-notify {
  width: 40px;
  height: 40px;
  box-shadow: 0 3px 6px 0 rgba(0, 0, 0, 0.16);
  background-color: #ffffff;
  position: absolute;
  bottom: -20px;
  right: 18px;
  border-radius: 50%;
  z-index: 3;
  transition: all 0.3s ease;
}
.webinar-card .image-box .webinar-notify:hover {
  background-color: var(--secondary);
  color: #ffffff;
  transition: all 0.3s ease;
}
.webinar-card .image-box .webinar-notify:hover svg {
  stroke: #ffffff;
}
.rtl .webinar-card .image-box .webinar-notify {
  right: auto;
  left: 18px;
}
.webinar-card .image-box .progress-and-bell {
  position: absolute;
  bottom: 12px;
  padding: 0 12px;
  width: 100%;
}
.webinar-card .image-box .progress-and-bell .progress {
  position: relative;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  width: calc(100% - 50px) !important;
}
.webinar-card .image-box .progress-and-bell .webinar-notify {
  position: relative;
  bottom: 0;
  right: 0;
}
.webinar-card .webinar-card-body {
  padding: 15px 10px 20px 15px;
}
.rtl .webinar-card .webinar-card-body {
  padding: 15px 15px 20px 10px;
}
.webinar-card .webinar-card-body .webinar-price-box .real {
  font-size: 20px;
  font-weight: 800;
  line-height: 1.22;
  color: var(--primary);
  pointer-events: none;
}
.webinar-card .webinar-card-body .webinar-price-box .off {
  font-size: 14px;
  font-weight: normal;
  line-height: 1.29;
  color: #818894;
  text-decoration: line-through;
}
.webinar-card .webinar-card-body .webinar-title {
  height: 48px;
  text-overflow: ellipsis;
  overflow: hidden;
}
.webinar-card .duration, .webinar-card .date-published {
  font-weight: 500;
  line-height: 1.19;
  color: #171347;
  pointer-events: none;
}
.webinar-card.webinar-list {
  border-radius: 10px;
  box-shadow: 0 3px 15px 0 rgba(0, 0, 0, 0.1);
  background-color: #ffffff;
}
.webinar-card.webinar-list .image-box {
  width: 300px;
  min-height: 200px;
  height: auto;
  max-height: 100%;
  border-radius: 10px 0 0 10px;
}
.webinar-card.webinar-list .image-box::after {
  border-radius: 10px 0 0 10px;
}
.webinar-card.webinar-list .image-box img {
  border-radius: 10px 0 0 10px;
}
.webinar-card.webinar-list .image-box .progress {
  width: auto;
  left: 25px;
  right: 25px;
}
.rtl .webinar-card.webinar-list .image-box {
  border-radius: 0 10px 10px 0;
}
.rtl .webinar-card.webinar-list .image-box img {
  border-radius: 0 10px 10px 0;
}
.webinar-card.webinar-list.webinar-list-2 .image-box {
  width: 370px;
  min-width: 300px;
  height: 250px;
}
.webinar-card.webinar-list.panel-product-card .image-box {
  width: 300px;
  height: 200px;
}
.webinar-card.webinar-list.panel-installment-card .image-box {
  width: 295px;
  height: 200px;
}
.webinar-card.webinar-list.panel-installment-card .image-box::after {
  display: none;
}
.webinar-card.webinar-list .webinar-card-body {
  padding: 12px 17px 12px 25px;
}
.rtl .webinar-card.webinar-list .webinar-card-body {
  padding: 15px 25px 20px 17px;
}
.webinar-card.webinar-list .stat-title {
  font-size: 12px;
  font-weight: normal;
  line-height: 1.29;
  color: #818894;
  pointer-events: none;
}
.webinar-card.webinar-list .stat-value {
  font-size: 14px;
  font-weight: 500;
  line-height: 1.19;
  color: #171347;
  pointer-events: none;
}
.webinar-card.webinar-list .webinar-actions {
  font-size: 14px;
  font-weight: normal;
  line-height: 1.29;
  color: #818894;
}
.webinar-card.webinar-list .webinar-actions:hover {
  color: var(--primary);
}
@media (max-width: 767px) {
  .webinar-card.webinar-list {
    flex-direction: column;
  }
  .webinar-card.webinar-list .image-box {
    width: 100% !important;
    height: 54vw !important;
    border-radius: 10px 10px 0 0;
  }
  .webinar-card.webinar-list .image-box img {
    border-radius: 10px 10px 0 0;
  }
  .webinar-card.webinar-list .webinar-card-body {
    padding: 12px;
  }
}
.webinar-card.webinar-list-cart {
  box-shadow: none;
}
.webinar-card.webinar-list-cart .image-box {
  height: 150px;
}
.webinar-card.webinar-list-cart .image-box img {
  border-radius: 5px;
}
.webinar-card.webinar-list-cart .webinar-card-body {
  padding: 0 0 0 20px;
}
.rtl .webinar-card.webinar-list-cart .webinar-card-body {
  padding: 0 20px 0 0;
}
@media (max-width: 767px) {
  .webinar-card.webinar-list-cart .image-box {
    height: 25vw !important;
  }
}
.webinar-card:hover {
  transform: translateY(-15px);
  box-shadow: 0 5px 20px 0 rgba(0, 0, 0, 0.1);
  transition: all 0.5s ease;
}
.webinar-card .webinar-icon {
  color: var(--secondary);
}
.webinar-card .upcoming-bell {
  position: absolute;
  right: 20px;
  bottom: -20px;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  box-shadow: 0 3px 6px 0 rgba(0, 0, 0, 0.16);
  background-color: #fff;
  z-index: 9;
}
.rtl .webinar-card .upcoming-bell {
  right: auto;
  left: 20px;
}
.webinar-card.webinar-list .upcoming-bell {
  bottom: auto;
  top: 20px;
}

.course-cover-container {
  position: relative;
  height: 530px;
}
@media (max-width: 991px) {
  .course-cover-container.not-active-special-offer {
    height: 350px;
  }
}
.course-cover-container .course-cover-img {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}
.course-cover-container .cover-content {
  position: relative;
  height: 100%;
  width: 100%;
}
.course-cover-container .cover-content .container {
  z-index: 1;
}
.course-cover-container .cover-content:after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  opacity: 0.6;
  background-color: #000000;
}

.special-offer-card .offer-percent-box {
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translate(-50%, 25%);
  background-color: var(--primary);
  border-radius: 15px;
  box-shadow: 0 -10px 15px 0 rgba(67, 212, 119, 0.29);
  width: 100px;
  height: 100px;
}
.special-offer-card .offer-percent-box .percent {
  font-size: 30px;
  font-weight: 700;
  line-height: 1.22;
}
.special-offer-card .offer-percent-box .off {
  text-transform: uppercase;
  letter-spacing: 5px;
  font-size: 16px;
  font-weight: 400;
}
@media (max-width: 991px) {
  .special-offer-card .offer-percent-box {
    width: 70px;
    height: 70px;
    transform: translate(-50%, 50%);
    box-shadow: 0 2px 15px 0 rgba(67, 212, 119, 0.29);
  }
  .special-offer-card .offer-percent-box .percent {
    font-size: 20px;
  }
  .special-offer-card .offer-percent-box .off {
    font-size: 14px;
  }
}

.course-content-section {
  position: relative;
  top: -250px;
  margin-bottom: -250px;
}
.course-content-section .instructor-discount-card {
  margin-top: 35px;
}
.course-content-section:not(.has-progress-bar) .instructor-discount-card {
  margin-top: 75px !important;
}
@media (max-width: 991px) {
  .course-content-section:not(.has-progress-bar).course, .course-content-section:not(.has-progress-bar).text_lesson {
    top: -215px;
    margin-bottom: -215px;
  }
}
.course-content-section .course-title {
  min-height: 88px;
  max-height: 88px;
  text-overflow: ellipsis;
  overflow: hidden;
  pointer-events: none;
}
.course-content-section .course-progress {
  height: 11px;
  padding: 2px;
}
.course-content-section .nav-tabs .nav-item.active, .course-content-section .nav-tabs .nav-item:hover, .course-content-section .nav-tabs .nav-item a.active, .course-content-section .nav-tabs .nav-item a:hover {
  background-color: transparent !important;
  border: none !important;
}
.course-content-section .teacher-avatar .user-circle-badge {
  right: 0;
  bottom: 0;
}

.favorites-share-box {
  margin-left: 0;
  margin-right: 0;
}
.favorites-share-box .col {
  border-right: solid 1px #ececec;
}
.favorites-share-box .col:last-child {
  border-right: none;
}
.rtl .favorites-share-box .col {
  border-left: solid 1px #ececec;
  border-right: none;
}
.rtl .favorites-share-box .col:last-child {
  border-left: none;
}
.favorites-share-box span {
  margin-top: 5px;
}

.course-description {
  color: #818894;
}
.course-description p {
  color: #818894;
}
.course-description img {
  max-width: 100% !important;
}
.course-description li {
  list-style: inherit;
}

.accordion-row .collapse-chevron-icon {
  transition: 0.3s;
}
.accordion-row .collapse-chevron-icon.feather-chevron-up {
  transform: rotateZ(180deg);
}
.accordion-row .collapse-chevron-icon.chevron-get-up {
  transform: rotateZ(180deg);
}
.accordion-row .panel-collapse {
  border-top: 1px solid #ececec;
  margin-top: 15px;
  padding-top: 15px;
}

.course-content-sidebar .course-img {
  position: relative;
  height: 250px;
}
.course-content-sidebar .course-img img {
  border-radius: 15px 15px 0 0;
}
.course-content-sidebar .course-img:after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 60%;
  bottom: 0;
  background-image: linear-gradient(to bottom, rgba(6, 6, 6, 0), rgba(0, 0, 0, 0.84));
  z-index: 1;
}
.course-content-sidebar .course-img.has-video:after {
  top: 25%;
  background-image: linear-gradient(to bottom, rgba(6, 6, 6, 0), rgba(0, 0, 0, 0.84));
}
.course-content-sidebar .course-img.has-video .course-video-icon {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  box-shadow: 0 20px 12px 0 rgba(0, 0, 0, 0.1);
  background-color: #ffffff;
  width: 96px;
  height: 96px;
  border-radius: 50%;
  z-index: 2;
}
.course-content-sidebar .course-img.has-video .course-video-icon svg {
  stroke: var(--secondary);
  fill: var(--secondary);
}
.course-content-sidebar .btn-subscribe {
  border-width: 2px;
}
.course-content-sidebar .tags-card .tag-item {
  margin-top: 15px;
  margin-right: 15px;
}
.course-content-sidebar .tags-card .tag-item:last-child {
  margin-right: 0;
}
.course-content-sidebar .sidebar-title {
  position: relative;
  pointer-events: none;
}
.course-content-sidebar .sidebar-title:after {
  content: "";
  width: 35px;
  height: 3px;
  background-color: var(--primary);
  position: absolute;
  bottom: -7px;
  left: 0;
}
.rtl .course-content-sidebar .sidebar-title:after {
  right: 0;
  left: auto;
}
.course-content-sidebar .sidebar-ads {
  width: 100%;
  height: 180px;
  max-height: 180px;
}

.course-teacher-card .teacher-avatar {
  width: 100px;
  height: 100px;
  border-radius: 50%;
}
.course-teacher-card .teacher-avatar img {
  border-radius: 50%;
}
.course-teacher-card.instructors-list .teacher-avatar {
  width: 190px;
  height: 190px;
}
.course-teacher-card.instructors-list .off-label {
  position: absolute;
  top: 7px;
  left: 7px;
  border-radius: 15px 3px 15px 3px;
  z-index: 10;
}
.course-teacher-card .teacher-btn-action {
  width: 50%;
  padding: 0 !important;
}

.user-profile-avatar, .teacher-avatar {
  position: relative;
}
.user-profile-avatar .user-circle-badge, .teacher-avatar .user-circle-badge {
  width: 32px;
  height: 32px;
  position: absolute;
  bottom: 12px;
  right: 12px;
  box-shadow: 0 3px 6px 0 rgba(0, 0, 0, 0.16);
  border-radius: 50%;
}
.user-profile-avatar .user-circle-badge.has-verified, .teacher-avatar .user-circle-badge.has-verified {
  background-color: #2196f3;
}
.user-profile-avatar .user-circle-badge.unavailable, .teacher-avatar .user-circle-badge.unavailable {
  background-color: var(--danger);
}

.course-reviews-box .course-progress {
  box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1);
  background-color: #ffffff;
  width: 65%;
  min-width: 65%;
}
.course-reviews-box .course-progress .progress-bar {
  background-color: #ffc600;
}

.upcoming-course-progress {
  position: relative;
  width: 100%;
  height: 11px;
  border-radius: 10px;
  background-color: #fbfbfb;
}
.upcoming-course-progress .progress-bar {
  background-color: var(--primary);
}
.upcoming-course-progress .progress-bar.less-50 {
  background-color: #ffc600;
}

.reviews-stars .barrating-stars {
  border-right: 1px solid #f1f1f1;
}
.reviews-stars .barrating-stars:last-child {
  border-right: none;
}

.favorite-active {
  fill: var(--danger);
  stroke: var(--danger);
}

.video-js {
  width: 100% !important;
  border-radius: 10px;
}
.video-js iframe, .video-js .vjs-poster, .video-js video {
  border-radius: 10px;
}
.video-js .vjs-big-play-button {
  top: 50% !important;
  left: 50% !important;
  transform: translate(-50%, -50%);
}

@media (max-width: 991px) {
  .course-content-btns {
    font-size: 10px !important;
    padding-right: 10px !important;
    padding-left: 10px !important;
    height: 30px !important;
  }
}

.add-course-content-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  background-color: #c6f2d6;
  border-radius: 50%;
  border: none !important;
}
.add-course-content-btn svg {
  color: var(--primary);
}

.chapter-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 40px;
  width: 40px;
  max-width: 40px;
  min-height: 40px;
  height: 40px;
  max-height: 40px;
  background-color: var(--primary);
  border-radius: 50%;
}
.chapter-icon svg {
  color: #FFFFFF;
}
.chapter-icon.chapter-content-icon {
  background-color: #f1f1f1;
}
.chapter-icon.chapter-content-icon svg {
  color: #818894;
}

.disabled-content-badge {
  padding: 4px 8px;
  border-radius: 13px;
  background-color: rgba(246, 60, 60, 0.3);
  font-size: 12px;
  color: var(--danger);
}

.modal-video-lists .modal-video-item > div.item-border {
  border-bottom: 1px solid #ececec;
}
.modal-video-lists .modal-video-item:last-child > div.item-border {
  border: 0;
}
.modal-video-lists .modal-video-item.active, .modal-video-lists .modal-video-item:hover {
  background-color: #f1f1f1;
}
.modal-video-lists .modal-video-item.no-hover.active, .modal-video-lists .modal-video-item.no-hover:hover {
  background-color: #FFFFFF;
}

.file-video-loading {
  display: flex;
  height: 426px;
}
@media (max-width: 767px) {
  .file-video-loading {
    height: 180px !important;
  }
}

@media (max-width: 767px) {
  .my-video-dimensions {
    height: 180px !important;
  }
}
.vjs-has-started .vjs-loading-spinner {
  display: none !important;
}

.buy-with-points-modal-img {
  min-width: 114px;
  width: 114px;
  max-width: 114px;
  height: 114px;
}

.demo-video-modal .demo-video-card {
  max-height: 480px !important;
}

.webinar-demo-bunny-iframe {
  height: 480px;
}

.play-iframe-page iframe {
  width: 100% !important;
  height: 100% !important;
}

.interactive-file-iframe {
  width: 100%;
  height: 100%;
}

.assignment-attachments-remove-btn {
  position: absolute;
  right: 10px;
  top: 5px;
  padding-right: 8px !important;
  padding-left: 8px !important;
  height: 26px !important;
}

.course-private-content {
  padding: 125px 0;
  margin: 70px 0;
}
.course-private-content .course-private-content-icon {
  width: 270px;
  height: 270px;
}
@media (max-width: 767px) {
  .course-private-content {
    padding: 80px 0;
    margin: 30px 0;
  }
  .course-private-content .course-private-content-icon {
    width: 170px;
    height: 170px;
  }
}

.course-noticeboards {
  position: relative;
  border: 1px solid var(--gray200);
}
.course-noticeboards .course-noticeboard-icon {
  width: 50px;
  min-width: 50px;
  height: 50px;
  position: relative;
}
.course-noticeboards .course-noticeboard-icon:before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 50%;
  opacity: 0.3;
  z-index: 1;
}
.course-noticeboards:before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 15px;
  opacity: 0.05;
  z-index: 1;
}
.course-noticeboards.noticeboard-warning {
  border-color: var(--warning);
  color: var(--warning);
}
.course-noticeboards.noticeboard-warning .course-noticeboard-icon:before {
  background-color: var(--warning);
}
.course-noticeboards.noticeboard-warning:before {
  background-color: var(--warning);
}
.course-noticeboards.noticeboard-danger {
  border-color: var(--danger);
  color: var(--danger);
}
.course-noticeboards.noticeboard-danger .course-noticeboard-icon:before {
  background-color: var(--danger);
}
.course-noticeboards.noticeboard-danger:before {
  background-color: var(--danger);
}
.course-noticeboards.noticeboard-neutral {
  border-color: var(--gray);
  color: var(--gray);
}
.course-noticeboards.noticeboard-neutral .course-noticeboard-icon:before {
  background-color: var(--gray);
}
.course-noticeboards.noticeboard-neutral:before {
  background-color: var(--gray);
}
.course-noticeboards.noticeboard-info {
  border-color: var(--blue);
  color: var(--blue);
}
.course-noticeboards.noticeboard-info .course-noticeboard-icon:before {
  background-color: var(--blue);
}
.course-noticeboards.noticeboard-info:before {
  background-color: var(--blue);
}
.course-noticeboards.noticeboard-success {
  border-color: var(--green);
  color: var(--green);
}
.course-noticeboards.noticeboard-success .course-noticeboard-icon:before {
  background-color: var(--green);
}
.course-noticeboards.noticeboard-success:before {
  background-color: var(--green);
}

.webinar-extra-description-company-logos {
  max-width: 105px;
  max-height: 75px;
}

.webinar-extra-description-check-icon {
  min-width: 18px;
}

.upcoming-course-body-on-cover {
  height: 250px;
}
.upcoming-course-body-on-cover h1 {
  text-overflow: ellipsis;
  overflow: hidden;
  pointer-events: none;
}

.installment-card {
  border-radius: 15px;
  border: solid 1px #ececec;
}
.installment-card .card-progress {
  height: 11px;
  padding: 2px;
}
.installment-card__payments {
  padding: 25px 10px 10px;
  border-radius: 10px;
  background-color: #fbfbfb;
}
.installment-card__payments .installment-step {
  position: relative;
  padding-left: 21px;
  margin-top: 15px;
}
.installment-card__payments .installment-step:before {
  content: "";
  position: absolute;
  left: 5px;
  width: 11px;
  height: 11px;
  border-radius: 50%;
  border: solid 1px #ececec;
  background-color: #fff;
  z-index: 1;
}
.installment-card__payments .installment-step:after {
  content: "";
  position: absolute;
  left: 10px;
  top: 11px;
  width: 1px;
  height: 30px;
  border-left: 1px dashed #ececec;
}
.installment-card__payments .installment-step:first-child {
  margin-top: 0;
}
.installment-card__payments .installment-step:first-child:before {
  border-color: var(--primary);
}
.installment-card__payments .installment-step:last-child:after {
  display: none;
}

.installment-video-card {
  width: 100%;
  height: 400px;
  position: relative;
}
.installment-video-card video {
  width: 100% !important;
  height: 100% !important;
}

.installment-request-card {
  padding: 126px 0;
}
@media (max-width: 991px) {
  .installment-request-card {
    padding: 30px 15px;
  }
}

.installment-verify-attachment-add-btn {
  border-radius: 0 8px 8px 0 !important;
}

.waitlist-modal .waitlist-modal-icon {
  width: 136.9px;
  height: 149px;
}

.time-sheet .remove-time {
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  color: #ffffff;
  padding: 2px;
  width: 16px;
  height: 16px;
  box-shadow: 0 3px 6px 0 rgba(246, 60, 60, 0.28);
  position: absolute;
  left: -6px;
  top: -6px;
}
.time-sheet .remove-time svg {
  width: 100%;
  height: 100%;
  line-height: 0;
  color: #fff;
}
.time-sheet .meeting-type-time {
  position: absolute;
  left: 20px;
  top: -16px;
}

.add-time-sheet {
  direction: ltr !important;
}
.add-time-sheet .clock-box {
  top: -100px;
}
@media (max-width: 991px) {
  .add-time-sheet {
    padding-bottom: 200px;
  }
  .add-time-sheet .clock-box {
    top: 0;
  }
}

.clockpicker-popover {
  display: block !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
@media (max-width: 991px) {
  .clockpicker-popover {
    left: 50% !important;
    transform: translate(-50%, 0) !important;
  }
}
.clockpicker-popover .popover-title {
  display: none !important;
}
.clockpicker-popover .clockpicker-canvas-bearing, .clockpicker-popover .clockpicker-canvas-fg, .clockpicker-popover .clockpicker-canvas-bg {
  fill: var(--primary) !important;
}
.clockpicker-popover .clockpicker-canvas line {
  stroke: var(--primary) !important;
}
.clockpicker-popover .clockpicker-am-pm-block {
  visibility: hidden;
  opacity: 0;
  position: absolute;
}
.clockpicker-popover .popover-content {
  background-color: #ffffff !important;
}

.pulsate {
  -webkit-animation: pulsate 0.5s ease-out;
  -webkit-animation-iteration-count: infinite;
  opacity: 0.4;
}
.charge-account-radio .disabled-payment-channel {
  border-radius: 10px;
  filter: grayscale(100%);
}
.charge-account-radio label {
  cursor: pointer;
  border: solid 3px transparent;
  box-shadow: 0px 12px 23px 0px rgba(62, 73, 84, 0.07);
  transition: all 0.3s ease;
}
.charge-account-radio label:hover {
  border: 3px solid var(--primary);
  transition: all 0.3s ease;
  box-shadow: 0 10px 30px 0 rgba(67, 212, 119, 0.3);
}
.charge-account-radio input[type=radio] {
  visibility: hidden;
  display: none;
}
.charge-account-radio input[type=radio]:checked + label {
  box-shadow: 0 10px 30px 0 rgba(67, 212, 119, 0.3);
  border: solid 3px var(--primary);
  background-color: #ffffff;
  transition: all 0.3s ease;
}

.subscribe-plan {
  position: relative;
  border: 3px solid transparent;
  transition: all 0.4s ease;
  top: 0;
}
.subscribe-plan .badge-popular {
  position: absolute;
  top: 10px;
  left: 10px;
  border-radius: 10px 0 10px 0;
}
.subscribe-plan:hover {
  top: -15px;
  box-shadow: 0 10px 30px 0 rgba(0, 0, 0, 0.15) !important;
}
.subscribe-plan .plan-icon {
  width: 120px;
  height: 120px;
}
.subscribe-plan .plan-feature li {
  position: relative;
  color: #171347;
}
.subscribe-plan .plan-feature li:after {
  content: "";
  position: absolute;
  left: -20px;
  top: 3px;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background-color: var(--secondary);
}
.rtl .subscribe-plan .plan-feature li:after {
  left: auto;
  right: -20px;
}

.registration-package-statistics .registration-package-statistics-icon {
  width: 48px;
  height: 48px;
}
.registration-package-statistics .registration-package-statistics-icon img {
  width: 100%;
  height: 100%;
}

.user-reward-badges img {
  width: 32px;
  height: 32px;
}
.user-reward-badges.badges-lg .badges-item {
  border: none;
}
.user-reward-badges.badges-lg img {
  width: 128px;
  height: 128px;
}
@media (max-width: 991px) {
  .user-reward-badges.badges-lg img {
    width: 60px;
    height: 60px;
  }
}

.user-profile-info {
  top: -250px;
  margin-bottom: -250px;
}
@media (max-width: 991px) {
  .user-profile-info {
    top: -50px;
    margin-bottom: -50px;
  }
}
.user-profile-info .following-status {
  border-left: 2px solid #ececec;
}
.rtl .user-profile-info .following-status {
  border-right: 2px solid #ececec;
  border-left: none;
}

@media (max-width: 568px) {
  .profile-info-box {
    flex-direction: column;
    position: relative;
  }
  .profile-info-box:not(.product-show__profile-info-box) {
    top: -60px;
    margin-bottom: -60px;
  }
  .profile-info-box .user-details {
    flex-direction: column;
    width: 100%;
    text-align: center;
  }
  .profile-info-box .user-details .stars-card {
    justify-content: center;
  }
  .profile-info-box .user-actions {
    flex-direction: row !important;
    margin-top: 15px;
    width: 100%;
    justify-content: center;
  }
  .profile-info-box .user-actions button.btn-border-white {
    margin-top: 0 !important;
    margin-left: 10px;
    border-radius: 5px !important;
  }
}

.user-profile-avatar {
  width: 190px;
  min-width: 190px;
  max-width: 190px;
  height: 190px;
  border-radius: 50%;
}
.user-profile-avatar img {
  border-radius: 50%;
}
@media (min-width: 767px) and (max-width: 991px) {
  .user-profile-avatar {
    width: 120px;
    min-width: 120px;
    max-width: 120px;
    height: 120px;
  }
}
@media (max-width: 767px) {
  .user-profile-avatar {
    width: 90px;
    min-width: 90px;
    max-width: 90px;
    height: 90px;
  }
}

.user-profile-state .state-icon img {
  width: 32px;
  height: 32px;
}
.user-profile-state .state-icon.orange {
  box-shadow: 0 3px 6px 0 rgba(239, 147, 106, 0.3);
  border: solid 2px #ef9d69;
}
.user-profile-state .state-icon.blue {
  box-shadow: 0 3px 6px 0 rgba(106, 195, 239, 0.3);
  border: solid 2px #00a1d9;
}
.user-profile-state .state-icon.green {
  box-shadow: 0 3px 6px 0 rgba(67, 212, 119, 0.15);
  border: solid 2px #4fb949;
}
.user-profile-state .state-icon.royalblue {
  box-shadow: 0 3px 6px 0 rgba(111, 66, 193, 0.15);
  border: solid 2px #a855ff;
}

.pick-a-time .available-times, .pick-a-time .meeting-type-reserve {
  margin-right: 20px;
}
.pick-a-time .available-times:last-child, .pick-a-time .meeting-type-reserve:last-child {
  margin-right: 0;
}
.rtl .pick-a-time .available-times, .rtl .pick-a-time .meeting-type-reserve {
  margin-right: 0;
  margin-left: 20px;
}
.rtl .pick-a-time .available-times:last-child, .rtl .pick-a-time .meeting-type-reserve:last-child {
  margin-left: 0;
}
.pick-a-time .available-times label, .pick-a-time .meeting-type-reserve label {
  cursor: pointer;
  padding: 15px 30px;
  border-radius: 10px;
  border: solid 1px var(--primary);
  color: var(--primary);
  font-size: 0.875rem;
}
.pick-a-time .available-times.disabled label, .pick-a-time .meeting-type-reserve.disabled label {
  border: solid 1px #f1f1f1;
  color: #818894;
}
.pick-a-time .available-times input[type=checkbox], .pick-a-time .available-times input[type=radio], .pick-a-time .meeting-type-reserve input[type=checkbox], .pick-a-time .meeting-type-reserve input[type=radio] {
  visibility: hidden;
  display: none;
  transition: all 0.3s;
}
.pick-a-time .available-times input[type=checkbox]:checked + label, .pick-a-time .available-times input[type=radio]:checked + label, .pick-a-time .meeting-type-reserve input[type=checkbox]:checked + label, .pick-a-time .meeting-type-reserve input[type=radio]:checked + label {
  box-shadow: 0 3px 6px 0 rgba(1, 201, 14, 0.29);
  border: solid 1px var(--primary);
  background-color: var(--primary);
  color: #ffffff;
  transition: all 0.3s;
}
.pick-a-time .available-times input[type=checkbox]:hover + label, .pick-a-time .available-times input[type=radio]:hover + label, .pick-a-time .meeting-type-reserve input[type=checkbox]:hover + label, .pick-a-time .meeting-type-reserve input[type=radio]:hover + label {
  border: solid 1px var(--primary);
  background-color: #1FB354;
  color: #ffffff;
  transition: all 0.3s;
}
.pick-a-time .available-times .reserved-item, .pick-a-time .meeting-type-reserve .reserved-item {
  position: absolute;
  left: 10px;
  top: 0;
  transform: translate(0, -8px);
}
.pick-a-time .meeting-type-reserve {
  margin-right: 0;
}
.pick-a-time .meeting-type-reserve label {
  border-color: #f1f1f1;
  color: #818894;
  border-radius: 0;
}
.pick-a-time .meeting-type-reserve:nth-child(1) label {
  border-radius: 10px 0 0 10px;
  border-right: 0 !important;
}
.pick-a-time .meeting-type-reserve:nth-child(2) label {
  border-radius: 0 10px 10px 0;
}
.pick-a-time .meeting-type-reserve.disabled label {
  color: #818894 !important;
  background-color: #f1f1f1 !important;
  border-color: #f1f1f1 !important;
  cursor: not-allowed;
}

.inline-reservation-calender .datepicker-plot-area {
  font-family: "main-font-family";
  background-color: var(--secondary);
  padding: 0;
  border: solid 1px #ececec;
  border-radius: 15px;
}
.inline-reservation-calender .datepicker-plot-area .datepicker-navigator {
  padding: 15px 0;
}
.inline-reservation-calender .datepicker-plot-area .datepicker-navigator .pwt-btn {
  background-color: transparent;
  color: #ffffff;
}
.inline-reservation-calender .datepicker-plot-area .toolbox {
  display: none;
  margin-top: 0;
  background-color: #ffffff;
}
.inline-reservation-calender .datepicker-plot-area .datepicker-day-view {
  background-color: #ffffff;
}
.inline-reservation-calender .datepicker-plot-area .datepicker-day-view .table-days td {
  width: 62px;
  height: 60px;
}
.inline-reservation-calender .datepicker-plot-area .datepicker-day-view .table-days td span {
  color: #818894 !important;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.5s;
}
.inline-reservation-calender .datepicker-plot-area .datepicker-day-view .table-days td span:hover {
  background-color: var(--primary);
  transition: all 0.5s;
  color: #ffffff !important;
}
.inline-reservation-calender .datepicker-plot-area .datepicker-day-view .table-days td.selected span {
  background-color: var(--primary);
  text-shadow: none;
  color: #ffffff !important;
  font-weight: bold;
}
.inline-reservation-calender .datepicker-plot-area .datepicker-day-view .table-days td.disabled span {
  background-color: #ececec;
}

.inline-reservation-calender .pwt-btn-prev, .inline-reservation-calender .pwt-btn-next {
  direction: ltr;
}

.user-offline-alert {
  background-color: #f7fafd;
  border: solid 1px #ececec;
  border-radius: 10px;
}

.offline-icon {
  background-color: #8ad3ff;
  padding: 15px;
}
.offline-icon.offline-icon-right {
  border-radius: 0 10px 10px 0;
}
.rtl .offline-icon.offline-icon-right {
  border-radius: 10px 0 0 10px;
}
.offline-icon.offline-icon-left {
  border-radius: 10px 0 0 10px;
}
.rtl .offline-icon.offline-icon-left {
  border-radius: 0 10px 10px 0;
}
.offline-icon img {
  width: 43px;
  min-width: 43px;
  max-width: 43px;
  height: 43px;
  min-height: 43px;
  max-height: 43px;
}

.appointment-timezone-icon {
  width: 84px;
  height: 62px;
}
.appointment-timezone-icon img {
  width: 100%;
  height: 100%;
}

.datepicker-plot-area .datepicker-day-view .table-days {
  width: 100% !important;
  float: left !important;
  direction: ltr !important;
}
.rtl .datepicker-plot-area .datepicker-day-view .table-days {
  float: right !important;
  direction: rtl !important;
}

.datepicker-plot-area .datepicker-day-view .month-grid-box .header .header-row {
  width: 100%;
  height: 25px;
  float: left;
  display: inline-flex;
}
.datepicker-plot-area .datepicker-day-view .month-grid-box .header .header-row .header-row-cell {
  float: left;
}
.rtl .datepicker-plot-area .datepicker-day-view .month-grid-box .header .header-row, .rtl .datepicker-plot-area .datepicker-day-view .month-grid-box .header .header-row .header-row-cell {
  float: right;
}

.cart-banner {
  width: 100%;
  padding: 100px 0;
  background-color: var(--secondary);
}
.cart-banner .payment-hint {
  margin-top: 30px;
}
@media (max-width: 767px) {
  .cart-banner {
    padding: 50px 0;
  }
}

.cart-row {
  padding: 20px 0;
  border-bottom: solid 1px #ececec;
}
.cart-row img {
  border-radius: 10px !important;
}
.cart-row .image-box::after {
  border-radius: 10px !important;
}
.cart-row .webinar-card:hover {
  transform: inherit;
  box-shadow: inherit;
  transition: inherit;
}
.cart-row .btn-cart-list-delete {
  position: relative;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background-color: #ececec;
}
.cart-row .btn-cart-list-delete svg {
  color: #707070;
}
.cart-row .btn-cart-list-delete:hover {
  background-color: var(--danger);
  color: #FFF;
  transition: all 0.3s ease;
}
.cart-row .btn-cart-list-delete:hover svg {
  color: #FFF;
  transition: all 0.3s ease;
}
.cart-row .btn-cart-list-delete:after {
  content: "";
  width: 36px;
  height: 36px;
  background-color: transparent;
  border: 1px solid #ececec;
  border-radius: 50%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  transition: all 0.3s ease;
}
.cart-row .btn-cart-list-delete:hover:after {
  border-color: var(--danger);
  transition: all 0.3s ease;
}

.cart-checkout-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 15px 0;
  border-bottom: 1px solid #ececec;
}

.razorpay-payment-button {
  opacity: 0;
  visibility: hidden;
}

.empty-cart-container {
  padding: 110px 32px;
  border-radius: 15px;
  border: solid 1px #ececec;
  background-color: #fff;
  margin-top: 74px;
}
.empty-cart-container .empty-cart-icon {
  width: 256px;
  height: 250px;
}
@media (max-width: 767px) {
  .empty-cart-container {
    padding: 50px 20px;
  }
}

.search-top-banner img {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
}
.search-top-banner .top-search-form {
  position: relative;
  z-index: 3;
}
.search-top-banner .top-search-form .search-input {
  margin-top: 120px;
  border-radius: 38px;
  box-shadow: 0 6px 12px 0 rgba(0, 0, 0, 0.1);
}
@media (max-width: 991px) {
  .search-top-banner .top-search-form .search-input {
    margin-top: 70px;
  }
}
@media (max-width: 767px) {
  .search-top-banner .top-search-form .search-input {
    margin-top: 25px;
  }
}
.search-top-banner .top-search-categories-form {
  position: relative;
  z-index: 3;
}
.search-top-banner .top-search-categories-form .search-input {
  margin-top: 70px;
  border-radius: 38px;
  box-shadow: 0 6px 12px 0 rgba(0, 0, 0, 0.1);
}
@media (max-width: 991px) {
  .search-top-banner .top-search-categories-form .search-input {
    margin-top: 40px;
  }
}
@media (max-width: 767px) {
  .search-top-banner .top-search-categories-form .search-input {
    margin-top: 20px;
  }
}
.search-top-banner .top-search-categories-form .course-count-badge {
  background-color: rgba(241, 241, 241, 0.5);
}

.instructor-finder-wizard {
  height: calc(100vh - 119px);
  overflow: hidden;
}
@media (max-width: 767px) {
  .instructor-finder-wizard {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
}
.instructor-finder-wizard .wizard-left-side {
  height: calc(100vh - 119px);
  position: relative;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: initial;
}
.instructor-finder-wizard .wizard-left-side:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0.8;
  background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0), #000);
  z-index: 1;
}
.instructor-finder-wizard .wizard-left-side .wizard-left-side-content {
  z-index: 2;
  padding: 50px 80px;
}
.instructor-finder-wizard .wizard-left-side .wizard-left-side-content .wizard-stat-icon {
  width: 64px;
  height: 64px;
  background-color: rgba(0, 0, 0, 0.5);
}
.instructor-finder-wizard .wizard-content {
  height: calc(100vh - 119px);
  overflow-y: auto;
  padding-top: 50px;
  padding-bottom: 50px;
}
.instructor-finder-wizard .wizard-step-num {
  position: relative;
}
.instructor-finder-wizard .wizard-step-num:after {
  content: "";
  position: absolute;
  bottom: -6px;
  left: 0;
  width: 96px;
  height: 3px;
  background-color: var(--primary);
}

.full-checkbox {
  padding-right: 2rem !important;
  padding-left: 0 !important;
}
.full-checkbox .custom-control-label:after, .full-checkbox .custom-control-label:before {
  left: auto !important;
  right: -2rem;
}

.wizard-custom-radio label {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 10px 30px;
  border: 1px solid #ececec;
  color: #818894;
}
.wizard-custom-radio input {
  display: none;
}
.wizard-custom-radio input:checked ~ label {
  background-color: var(--primary);
  border-color: var(--primary);
  color: #FFFFFF;
}
.wizard-custom-radio .wizard-custom-radio-item:first-child label {
  border-right: 0;
  border-radius: 0.5rem 0 0 0.5rem;
}
.wizard-custom-radio .wizard-custom-radio-item:last-child label {
  border-left: 0;
  border-radius: 0 0.5rem 0.5rem 0;
}
.rtl .wizard-custom-radio .wizard-custom-radio-item:first-child label {
  border-left: 0;
  border-radius: 0 0.5rem 0.5rem 0;
}
.rtl .wizard-custom-radio .wizard-custom-radio-item:last-child label {
  border-right: 0;
  border-radius: 0.5rem 0 0 0.5rem;
}

.wizard-custom-checkbox {
  margin-right: 10px;
}
.wizard-custom-checkbox label {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 10px 30px;
  border: 1px solid #ececec;
  color: #818894;
  border-radius: 10px;
}
.wizard-custom-checkbox input {
  display: none;
}
.wizard-custom-checkbox input:checked ~ label {
  background-color: var(--primary);
  border-color: var(--primary);
  color: #FFFFFF;
}

.wrunner__valueNote_theme_default.wrunner__valueNote {
  background-color: #f1f1f1 !important;
  color: #818894 !important;
  border-radius: 50px !important;
  font-family: inherit !important;
}
.wrunner__valueNote_theme_default.wrunner__valueNote:after {
  border-top-color: #f1f1f1 !important;
}

.wrunner__pathPassed_theme_default.wrunner__pathPassed {
  background-color: var(--primary) !important;
}

.wrunner__divisions_theme_default.wrunner__divisions {
  display: none !important;
}

.wrunner__handle_theme_default.wrunner__handle {
  background-color: #FFFFFF !important;
  width: 16px;
  height: 16px;
  border: solid 2px var(--primary) !important;
}

.wrunner-value-bottom .wrunner__valueNote {
  top: unset !important;
  bottom: -18px;
}
.wrunner-value-bottom .wrunner__valueNote:after {
  bottom: unset !important;
  top: -7px;
  border-top-color: transparent !important;
  border-bottom-color: #f1f1f1 !important;
}
.wrunner-value-bottom .wrunner__path_theme_default.wrunner__path_direction_horizontal {
  top: 5px !important;
}
.wrunner-value-bottom .wrunner__outer_theme_default.wrunner__outer_direction_horizontal {
  height: 2rem !important;
}

.instructor-finder .instructor-finder-map {
  width: 100%;
  height: 550px;
}
.instructor-finder .instructor-finder-map .marker-pin {
  width: 50px;
  height: 50px;
  padding: 5px;
  background-color: #FFFFFF;
}
.instructor-finder .map-instructor-card .map-instructor-card-avatar {
  width: 64px;
  height: 64px;
}
.instructor-finder .map-instructor-card-popup {
  bottom: 50px !important;
}
.instructor-finder .map-instructor-card-popup .leaflet-popup-content {
  margin: 0 !important;
  width: 190px !important;
}
.instructor-finder .instructor-finder-card .instructor-finder-card-right-side {
  border-left: 1px solid #f1f1f1;
}
@media (max-width: 767px) {
  .instructor-finder .instructor-finder-card .instructor-finder-card-right-side {
    border-top: 1px solid #f1f1f1;
    border-left: 0;
  }
}
.instructor-finder .instructor-finder-card .instructor-avatar {
  width: 70px;
  min-width: 70px;
  max-width: 70px;
  height: 70px;
}
.instructor-finder .instructor-finder-card .off-badge {
  position: absolute;
  top: -10px;
  right: 10px;
  font-size: 14px;
  font-weight: normal;
  color: #ffffff;
  padding: 8px 15px;
  border-radius: 3px 10px 3px 10px;
  pointer-events: none;
}
@media (max-width: 767px) {
  .instructor-finder .instructor-finder-card .off-badge {
    top: 10px;
  }
}
.rtl .instructor-finder .instructor-finder-card .off-badge {
  right: auto;
  left: 10px;
}
.instructor-finder .instructor-badge {
  width: 32px;
  min-width: 32px;
  max-width: 32px;
  height: 32px;
}

.product-card {
  position: relative;
  border-radius: 15px;
  box-shadow: 0 5px 12px 0 rgba(0, 0, 0, 0.1);
  background-color: #ffffff;
  border: 1px solid #ececec;
  transition: all 0.5s ease;
}
.product-card .image-box {
  position: relative;
  width: 100%;
  height: 185px;
  border-radius: 15px 15px 0 0;
}
.product-card .image-box img {
  border-radius: 15px 15px 0 0;
}
.product-card .image-box .image-box__a::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 60%;
  bottom: 0;
  background-image: linear-gradient(to bottom, rgba(6, 6, 6, 0), rgba(0, 0, 0, 0.8));
  z-index: 1;
}
.product-card .image-box .badges-lists {
  position: absolute;
  top: 0;
  left: 7px;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
}
.product-card .image-box .badges-lists .badge {
  font-size: 12px;
  font-weight: normal;
  line-height: 1.29;
  color: #ffffff;
  padding: 8px 15px;
  border-radius: 15px 3px 15px 3px;
  pointer-events: none;
  margin-top: 8px;
  margin-right: 8px;
}
.rtl .product-card .image-box .badges-lists {
  left: auto;
  right: 7px;
}
.rtl .product-card .image-box .badges-lists .badge {
  margin-right: 0;
  margin-left: 8px;
}
.product-card .image-box .out-of-stock-badge {
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 15px;
  background-image: linear-gradient(to bottom, rgba(6, 6, 6, 0), rgba(0, 0, 0, 0.84));
  margin-top: 8px;
  margin-right: 8px;
}
.product-card .image-box .out-of-stock-badge span {
  font-size: 14px;
  font-weight: normal;
  line-height: 1.29;
  color: #ffffff;
  padding: 8px 10px;
  border-radius: 18px;
  pointer-events: none;
  background-color: rgba(0, 0, 0, 0.6);
}
.rtl .product-card .image-box .out-of-stock-badge {
  margin-right: 0;
  margin-left: 8px;
}
.product-card .image-box .hover-card-action {
  bottom: -20px;
  right: 20px;
  opacity: 0;
  position: absolute;
  transform: translateY(150%);
  transition: all 0.3s ease;
  z-index: 11;
}
.product-card .image-box .hover-card-action .btn-add-product-to-cart {
  width: 40px;
  height: 40px;
  padding: 10px;
  box-shadow: 0 10px 15px 0 rgba(67, 212, 119, 0.3);
  background-color: var(--primary);
  border-radius: 50%;
  color: #ffffff;
}
.product-card .image-box .hover-card-action .btn-add-product-to-cart:hover {
  background-color: var(--primary-hover);
}
.rtl .product-card .image-box .hover-card-action {
  right: auto;
  left: 20px;
}
.product-card .product-card-body {
  padding: 20px 10px;
}
.product-card .product-card-body .product-price-box .real {
  font-size: 20px;
  font-weight: 800;
  line-height: 1.22;
  color: var(--primary);
  pointer-events: none;
}
.product-card .product-card-body .product-price-box .off {
  font-size: 14px;
  font-weight: normal;
  line-height: 1.29;
  color: #818894;
  text-decoration: line-through;
}
.product-card .product-card-body .product-title {
  height: 48px;
  text-overflow: ellipsis;
  overflow: hidden;
}
.product-card:hover {
  transform: translateY(-15px);
  box-shadow: 0 5px 20px 0 rgba(0, 0, 0, 0.1);
  transition: all 0.5s ease;
}
.product-card:hover .hover-card-action {
  opacity: 1;
  transform: translateZ(0);
}
.product-card .product-icon {
  color: var(--secondary);
}

.product-show-image-card {
  height: 460px;
  border-radius: 15px;
}

.lazyImageWaiting {
  position: relative;
  overflow: hidden;
  background-color: #DDDBDD;
}
.lazyImageWaiting::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  transform: translateX(-100%);
  background-image: linear-gradient(90deg, rgba(255, 255, 255, 0) 0, rgba(255, 255, 255, 0.2) 20%, rgba(255, 255, 255, 0.5) 60%, rgba(255, 255, 255, 0));
  animation: shimmer 2s infinite;
  content: "";
}
@keyframes shimmer {
  100% {
    transform: translateX(100%);
  }
}

.product-show-thumbnail-card .thumbnail-card {
  width: 85px;
  height: 85px;
  border-radius: 10px;
  border: solid 2px #ececec;
}
.product-show-thumbnail-card .product-video-demo-thumb-icon {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 45px;
  min-width: 45px;
  max-width: 45px;
  height: 45px;
  border-radius: 50%;
  z-index: 10;
}
.product-show-thumbnail-card .product-video-demo-thumb-icon img {
  width: 25px;
  min-width: 25px;
  max-width: 25px;
  height: 25px;
  border-radius: 50%;
}
.product-show-thumbnail-card .product-video-demo-thumb-icon:after, .product-show-thumbnail-card .product-video-demo-thumb-icon:before {
  content: "";
  position: absolute;
  height: 100%;
  width: 100%;
  background-color: #000;
  opacity: 0.4;
  z-index: -1;
  border-radius: 50%;
}
.product-show-thumbnail-card .product-video-demo-thumb-icon:before {
  animation: mini-pluse 2s ease-out infinite;
}
.product-show-thumbnail-card .product-video-demo-thumb-icon:after {
  animation: mini-pluse 2s 1s ease-out infinite;
}

.product-video-demo-icon {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 75px;
  height: 75px;
  border-radius: 50%;
  z-index: 10;
}
.product-video-demo-icon img {
  width: 40px;
  min-width: 40px;
  max-width: 40px;
  height: 40px;
  border-radius: 50%;
}
.product-video-demo-icon:after, .product-video-demo-icon:before {
  content: "";
  position: absolute;
  height: 100%;
  width: 100%;
  background-color: #000;
  opacity: 0.4;
  z-index: -1;
  border-radius: 50%;
}
.product-video-demo-icon:before {
  animation: pluse 2s ease-out infinite;
}
.product-video-demo-icon:after {
  animation: pluse 2s 1s ease-out infinite;
}

@keyframes mini-pluse {
  100% {
    transform: scale(1.5);
    opacity: 0;
  }
}
.product-availability-badge {
  padding: 6px;
  border-radius: 18px;
  font-size: 12px;
  font-weight: 500;
  color: #fff;
}

.product-show-price-box .real {
  font-size: 30px;
  font-weight: 800;
  line-height: 1.22;
  color: var(--primary);
  pointer-events: none;
}
.product-show-price-box .off {
  font-size: 14px;
  font-weight: normal;
  line-height: 1.29;
  color: #818894;
  text-decoration: line-through;
}
.product-show-price-box .shipping-price {
  font-size: 14px;
  font-weight: normal;
  line-height: 1.29;
  color: #818894;
}

.product-show-cart-actions .cart-quantity {
  height: 48px;
  border-radius: 10px;
  border: solid 1px #f1f1f1;
  background-color: #f7fafd;
}
.product-show-cart-actions .cart-quantity button, .product-show-cart-actions .cart-quantity input {
  height: 100%;
  background-color: transparent;
  border: 0;
  padding: 0;
  margin: 0;
}
.product-show-cart-actions .cart-quantity button {
  width: 48px;
}
.product-show-cart-actions .cart-quantity button:hover {
  background-color: #f1f1f1;
}
.product-show-cart-actions .cart-quantity .minus {
  border-radius: 10px 0 0 10px;
}
.product-show-cart-actions .cart-quantity .plus {
  border-radius: 0 10px 10px 0;
}
.product-show-cart-actions .cart-quantity input {
  width: 110px;
  padding: 4px 8px;
  text-align: center;
  border-left: 1px solid #f1f1f1;
  border-right: 1px solid #f1f1f1;
}

.product-show-info-footer-items .icon-box {
  width: 40px;
  height: 40px;
  border: solid 1px #f1f1f1;
  background-color: #f7fafd;
  color: #818894;
  border-radius: 50%;
  padding: 10px;
}

.selectable-specification-item label {
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #ececec;
  background-color: #f7fafd;
  border-radius: 15px;
  margin: 0;
}
.selectable-specification-item label:hover {
  background-color: #f1f1f1;
}
.selectable-specification-item input {
  display: none;
}
.selectable-specification-item input:checked ~ label {
  border-color: var(--primary);
  color: var(--primary);
  background-color: #f7fafd !important;
}

.product-show-specification-item .specification-item-name {
  width: 200px;
  min-width: 200px;
}

.product-show-files-tab .product-file-download-btn {
  width: 40px;
  min-width: 40px;
  height: 40px;
  padding: 8px;
  background-color: var(--primary);
}

.product-show-special-offer .special-offer-card {
  box-shadow: none !important;
  border: 1px solid #f1f1f1;
}
.product-show-special-offer .special-offer-card .special-offer-title {
  font-size: 20px !important;
}

.product-online-viewer-modal-body {
  height: calc(100vh - 15rem);
}

@media (max-width: 767px) {
  .product-show__nav-tabs {
    flex-wrap: nowrap !important;
    overflow-x: auto;
  }
}

.forum-hero-section {
  padding-bottom: 144px;
  padding-top: 144px;
}
.forum-hero-section .search-input {
  border-radius: 38px;
  box-shadow: 0 0 15px 0 rgba(0, 0, 0, 0.03);
}
.forum-hero-section .forum-hero-section__container {
  position: relative;
  z-index: 2;
}
.forum-hero-section .forum-hero-section__image {
  height: 100%;
  width: 60%;
  max-width: 1098px;
  position: absolute;
  right: 0;
  bottom: 0;
}
.rtl .forum-hero-section .forum-hero-section__image {
  right: auto;
  left: 0;
}
@media (max-width: 991px) {
  .forum-hero-section {
    padding-bottom: 25px;
    padding-top: 25px;
  }
  .forum-hero-section .forum-hero-section__image {
    position: relative;
    width: 100%;
    max-width: 100%;
    height: auto;
    margin-top: 25px;
  }
}

.forum-stat-section {
  box-shadow: 0 0 15px 0 rgba(0, 0, 0, 0.05);
}

.forum-stat-section .forum-stat-icon {
  width: 98px;
  min-width: 98px;
  height: 96px;
  min-height: 96px;
  -o-object-fit: contain;
     object-fit: contain;
}

.forums-featured-section {
  position: relative;
  padding-bottom: 100px;
}
.forums-featured-section .forums-featured-card {
  position: relative;
  box-shadow: 0 0 15px 0 rgba(0, 0, 0, 0.05);
  z-index: 2;
}
.forums-featured-section .forums-featured-card-icon {
  width: 85px;
  min-width: 85px;
  height: 85px;
  min-height: 85px;
}
.forums-featured-section .forums-featured-card-users-avatar .user-avatar-card, .forums-featured-section .forums-featured-card-users-avatar .topics-count {
  width: 32px;
  min-width: 32px;
  height: 32px;
  margin-left: -8px;
  border: solid 2px #fff;
}
.forums-featured-section .forums-featured-card-users-avatar .user-avatar-card:first-child {
  margin-left: 0;
}
.forums-featured-section .forums-featured-card-users-avatar .topics-count {
  background-color: #ffffff;
  border-color: var(--gray200);
}
.forums-featured-section .forums-featured-bg-box {
  background-image: url("/assets/default/img/forum/featured_section.svg");
  position: absolute;
  left: -14%;
  bottom: 0;
  width: 100%;
  height: 100%;
  background-repeat: no-repeat;
  z-index: 1;
}

.forums-categories-card .forums-categories-card__title {
  position: relative;
}
.forums-categories-card .forums-categories-card__title:before {
  content: "";
  width: 4px;
  height: 100%;
  position: absolute;
  left: -15px;
  top: 0;
  background-color: var(--primary);
}
.forums-categories-card .forums-categories-card__icon {
  width: 48px;
  min-width: 48px;
  height: 48px;
}
.forums-categories-card .forums-categories-card__last-post .user-avatar {
  width: 39px;
  min-width: 39px;
  height: 39px;
}

.forum-recommended-topics-section {
  position: relative;
  margin-top: 90px;
  padding-bottom: 150px;
}
.forum-recommended-topics-section .forum-recommended-topics__card {
  box-shadow: 0 0 15px 0 rgba(0, 0, 0, 0.05);
  z-index: 3;
}
.forum-recommended-topics-section .forum-recommended-topics__card .forum-recommended-topics__icon {
  width: 44px;
  min-width: 44px;
  height: 44px;
}
.forum-recommended-topics-section .forum-recommended-topics__lists a {
  margin-left: -4px;
}
@media (max-width: 991px) {
  .forum-recommended-topics-section {
    margin-top: 45px;
  }
}
.forum-recommended-topics-section .forums-recommended-topics-bg-box {
  background-image: url("/assets/default/img/forum/recommended-topics.svg");
  position: absolute;
  right: -10%;
  bottom: 50px;
  width: 100%;
  height: 100%;
  background-repeat: no-repeat;
  background-position: right;
  z-index: 1;
}

.forum-question-section .forum-question-section__img {
  margin-top: -93px;
}

.rtl .forum-recommended-topics__lists a {
  margin-left: 0;
  margin-right: -4px;
}

.input-search-topic, .btn-search-topic, .btn-create-topic {
  height: 54px !important;
}

.topics-title-section {
  background-image: url("/assets/default/img/forum/topics_title_bg.png");
  background-repeat: no-repeat;
  background-size: cover;
}
.topics-title-section .breadcrumb-item + .breadcrumb-item::before {
  color: #ffffff;
  content: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9IiNmZmYiIHN0cm9rZS13aWR0aD0iMS41IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGNsYXNzPSJmZWF0aGVyIGZlYXRoZXItY2hldnJvbi1yaWdodCI+PHBvbHlsaW5lIHBvaW50cz0iOSAxOCAxNSAxMiA5IDYiPjwvcG9seWxpbmU+PC9zdmc+");
}

.topics-filters-section {
  box-shadow: 0 0 15px 0 rgba(0, 0, 0, 0.05);
}

.topics-lists-card .topics-lists-card__icons {
  width: 24px;
  min-width: 24px;
  height: 24px;
}
.topics-lists-card .topic-user-avatar {
  width: 48px;
  min-width: 48px;
  height: 48px;
}
.topics-lists-card .topic-last-post-user-avatar {
  width: 30px;
  min-width: 30px;
  height: 30px;
}

.topics-right-side-title:before {
  content: "";
  width: 4px;
  height: 100%;
  position: absolute;
  left: -15px;
  top: 0;
  background-color: var(--primary);
}

.topics-right-side-user-avatar {
  width: 48px;
  min-width: 48px;
  height: 48px;
}

.create-topic-attachments .add-btn, .create-topic-attachments .remove-btn {
  width: 38px;
  min-width: 38px;
  height: 38px;
  margin-left: 5px;
  padding: 0;
}

.topics-post-card .user-avatar {
  width: 72px;
  min-width: 72px;
  height: 72px;
}
.topics-post-card .user-avatar.green-ring {
  width: 92px;
  min-width: 92px;
  height: 92px;
  border: solid 5px var(--primary);
}
.topics-post-card .user-avatar.green-ring img {
  border: solid 5px #FFFFFF;
}
.topics-post-card .topic-post-description, .topics-post-card .topic-post-description * {
  color: #818894;
  font-size: 14px;
}
.topics-post-card .pinned-icon {
  position: absolute;
  top: 15px;
  right: 15px;
  width: 24px;
  height: 24px;
  background-color: transparent;
  border: 0;
  border-radius: 50%;
  padding: 0;
}
.topics-post-card .pinned-icon img {
  width: 100%;
  max-width: 100%;
  height: 100%;
}

.topic-post-like-btn {
  padding: 5px 15px 5px 5px;
  border-radius: 22px;
  border: solid 1px #f1f1f1;
  background-color: #f7fafd;
  height: 43px;
}
.topic-post-like-btn .badge-icon {
  position: relative;
  width: 33px;
  min-width: 33px;
  height: 33px;
  margin-right: 5px;
  color: var(--danger);
  background-color: #ffffff;
  border-radius: 50%;
  border: 0;
  padding: 0;
}
.topic-post-like-btn .badge-icon.liked svg {
  fill: var(--danger);
}

.topic-posts-reply-card .js-close-reply-post {
  position: absolute;
  top: 15px;
  right: 15px;
}

.post-quotation .post-quotation-icon {
  width: 50px;
  height: 50px;
  padding: 15px;
  background-color: #f1f1f1;
}

.reply-login-close-card .icon-card {
  width: 140px;
  min-width: 140px;
  height: 152px;
}

.topics-not-result {
  padding: 100px 0;
}
.topics-not-result .topics-not-result-icon {
  width: 227px;
  height: 202px;
}

.cookie-security-dialog {
  position: fixed;
  left: 24px;
  bottom: 24px;
  width: 480px;
  z-index: 16000;
}
@media (max-width: 767px) {
  .cookie-security-dialog {
    width: 100%;
    left: 0;
    bottom: 0;
    border-radius: 15px 15px 0 0 !important;
  }
}

.cookie-security-modal-description, .cookie-security-modal-description * {
  font-size: 14px;
  color: var(--gray);
}

.cookie-settings-modal-items-card__description {
  height: 0;
  overflow: hidden;
  padding-left: 20px;
  transition: all 0.3s ease;
}
.cookie-settings-modal-items-card__description.active {
  margin-top: 15px;
}

.c-not-allowed .custom-control-label:after, .c-not-allowed .custom-control-label:before {
  cursor: not-allowed;
}

@keyframes rotated {
  0% {
    transform: rotate(0);
  }
  100% {
    transform: rotate(1turn);
  }
}
.mobile-app-section {
  padding-bottom: 244px;
  padding-top: 184px;
}
@media (max-width: 767px) {
  .mobile-app-section {
    padding-bottom: 0;
    padding-top: 0;
  }
}
.mobile-app-section .search-input {
  border-radius: 38px;
  box-shadow: 0 0 15px 0 rgba(0, 0, 0, 0.03);
}
.mobile-app-section .mobile-app-section__container {
  position: relative;
  z-index: 2;
}
.mobile-app-section .mobile-app-section__image {
  height: 100%;
  width: 60%;
  max-width: 884px;
  position: absolute;
  right: 0;
  bottom: 0;
  background-image: url("/assets/default/img/mobile-app/hero-bg.svg");
  background-repeat: no-repeat;
  background-position: right;
}
.rtl .mobile-app-section .mobile-app-section__image {
  right: auto;
  left: 0;
}
.mobile-app-section .mobile-app-section__image .mobile-app-section__image-hero {
  position: relative;
  width: 273px;
  border-radius: 20px;
  box-shadow: 0 10px 30px 0 rgba(0, 0, 0, 0.05);
}
.mobile-app-section .mobile-app-section__image .mobile-app-section__image-hero .mobile-app-section__dots {
  position: absolute;
  z-index: -1;
  top: 60px;
  left: -30px;
  animation: hero-dot 5s linear 0s infinite alternate;
}
@media (max-width: 767px) {
  .mobile-app-section .mobile-app-section__image .mobile-app-section__image-hero .mobile-app-section__dots {
    top: 93px;
  }
}
.mobile-app-section .mobile-app-section__image [class*=bubble] {
  position: absolute;
  z-index: -1;
  border-radius: 50%;
}
.mobile-app-section .mobile-app-section__image [class*=bubble]:before {
  content: "";
  border-radius: 50%;
  position: absolute;
  top: 0;
  left: 50%;
}
.mobile-app-section .mobile-app-section__image .bubble-one {
  width: 120px;
  height: 120px;
  left: 20%;
  bottom: 15%;
  animation: rotated 7s linear infinite;
}
.mobile-app-section .mobile-app-section__image .bubble-one:before {
  width: 19px;
  height: 19px;
  background: var(--primary);
}
.mobile-app-section .mobile-app-section__image .bubble-two {
  width: 80px;
  height: 80px;
  right: 24%;
  top: 15%;
  animation: rotated 4s linear infinite;
}
.mobile-app-section .mobile-app-section__image .bubble-two:before {
  width: 10px;
  height: 10px;
  background: #feb3ad;
}
.mobile-app-section .mobile-app-section__image .bubble-three {
  width: 120px;
  height: 120px;
  right: 16%;
  bottom: 40%;
  animation: rotated 12s linear infinite;
}
.mobile-app-section .mobile-app-section__image .bubble-three:before {
  width: 19px;
  height: 19px;
  background: #840780;
}
@media (max-width: 767px) {
  .mobile-app-section .mobile-app-section__image {
    position: relative;
    width: 100%;
    margin-top: 30px;
    background-position: center;
  }
  .mobile-app-section .mobile-app-section__image .bubble-one {
    left: 0;
  }
  .mobile-app-section .mobile-app-section__image .bubble-two {
    right: 0;
  }
  .mobile-app-section .mobile-app-section__image .bubble-three {
    right: 0;
  }
}
.mobile-app-section .mobile-app__buttons {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 55px;
  padding: 5px 25px;
  border-radius: 38px;
  box-shadow: 0 10px 15px 0 rgba(67, 212, 119, 0.1);
  margin-right: 20px;
}
.mobile-app-section .mobile-app__buttons.has-icon {
  padding: 5px 25px 5px 5px;
}
.mobile-app-section .mobile-app__buttons .mobile-app__button-icon {
  width: 45px;
  height: 45px;
  padding: 7px;
  background-color: #fff;
}
.mobile-app-section .mobile-app__buttons.btn-outline-primary .mobile-app__button-icon {
  background-color: var(--primary);
}
.mobile-app-section .mobile-app__buttons.btn-outline-secondary .mobile-app__button-icon {
  background-color: var(--secondary);
}
.mobile-app-section .mobile-app__buttons.btn-outline-warning .mobile-app__button-icon {
  background-color: var(--warning);
}
.mobile-app-section .mobile-app__buttons.btn-outline-danger .mobile-app__button-icon {
  background-color: var(--danger);
}
@media (max-width: 767px) {
  .mobile-app-section .mobile-app__buttons {
    margin-right: 0;
    width: 100%;
    margin-bottom: 15px;
    justify-content: start;
  }
}

.rtl .mobile-app__buttons {
  margin-right: 0 !important;
  margin-left: 20px !important;
}
.rtl .mobile-app__buttons.has-icon {
  padding: 5px 5px 5px 25px;
}
.rtl .mobile-app__buttons .mobile-app__button-icon {
  margin-right: 0 !important;
  margin-left: 10px !important;
}
@media (max-width: 767px) {
  .rtl .mobile-app__buttons {
    margin-right: 0 !important;
    margin-left: 0 !important;
    width: 100%;
    margin-bottom: 15px;
    justify-content: start;
  }
}

.maintenance-section .maintenance-image {
  max-width: 565.9px;
  max-height: 530.8px;
}

.gift-item-card {
  position: relative;
}
.gift-item-card .gift-webinar-card {
  position: relative;
  padding: 10px;
  border-radius: 15px;
  border: solid 1px var(--gray200);
  z-index: 2;
}
.gift-item-card .gift-webinar-card .image-box {
  width: 349px;
  min-width: 349px;
  height: 236px;
  border-radius: 10px;
}
.gift-item-card .gift-webinar-card .image-box img {
  border-radius: 10px;
}
.gift-item-card .gift-webinar-card .webinar-price-box .real {
  font-size: 20px;
  font-weight: 800;
  line-height: 1.22;
  color: var(--primary);
  pointer-events: none;
}
.gift-item-card .gift-webinar-card .webinar-price-box .off {
  font-size: 14px;
  font-weight: normal;
  line-height: 1.29;
  color: #818894;
  text-decoration: line-through;
}
.gift-item-card .gift-webinar-card .webinar-title {
  height: 48px;
  text-overflow: ellipsis;
  overflow: hidden;
}
.gift-item-card .gift-item-card-icon {
  position: absolute;
  top: -72px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 1;
}

.forms-hero {
  height: 530px;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  padding-top: 160px;
}
.forms-hero-mask {
  content: "";
  position: absolute;
  top: 0;
  width: 100%;
  height: 100%;
  background-image: linear-gradient(to top, #000 0%, rgba(84, 84, 84, 0) 100%);
  z-index: 1;
}
.forms-hero-content {
  z-index: 2;
}

.forms-body {
  position: relative;
  top: -242px;
  margin-bottom: -242px;
  border-radius: 15px;
  box-shadow: 0 5px 12px 0 rgba(0, 0, 0, 0.1);
  z-index: 3;
}
.forms-body .forms-body-welcome-image {
  width: auto;
  height: 250px;
  min-height: 250px;
  max-height: 250px;
}
.forms-body .forms-body-welcome-message, .forms-body .forms-body-welcome-message * {
  color: var(--gray);
}

.instructor-discount-card {
  background-color: var(--gray100);
}
.instructor-discount-card__code {
  position: relative;
  width: 122px;
  height: 82px;
  padding-right: 15px;
  border-right: 1px dashed #ececec;
}
.instructor-discount-card__code:before, .instructor-discount-card__code:after {
  content: "";
  position: absolute;
  right: -8px;
  width: 15px;
  height: 15px;
  background-color: #fff;
  border-radius: 50%;
  z-index: 1;
}
.instructor-discount-card__code:before {
  top: -7px;
}
.instructor-discount-card__code:after {
  bottom: -7px;
}
.instructor-discount-card.is-cart-page .instructor-discount-card__code:before, .instructor-discount-card.is-cart-page .instructor-discount-card__code:after {
  background-color: var(--body_bg, #ffffff);
}

.purchase-notification-image {
  width: 73px;
  min-width: 73px;
  height: 73px;
  border-radius: 5px;
}
.purchase-notification-image img {
  border-radius: 5px;
}
.purchase-notification-time {
  color: #bcc2cd;
}

.custom-table thead th, .custom-table thead td {
  font-size: 14px;
  font-weight: 500;
  line-height: 1.19;
  text-align: left;
  color: #818894;
  border-bottom: none;
  border-top: none;
}
.rtl .custom-table thead th, .rtl .custom-table thead td {
  text-align: right;
}
.custom-table tbody td {
  font-size: 14px;
  font-weight: 500;
  line-height: 1.19;
  text-align: center;
  color: #171347;
}

.table-responsive {
  overflow: visible;
}
@media (max-width: 991px) {
  .table-responsive {
    overflow-x: auto;
  }
}

.table th, .table td {
  border-top: none !important;
}

.table-actions.dropdown .dropdown-toggle::after {
  display: none;
}
.table-actions.dropdown .dropdown-menu {
  right: 25px !important;
  top: -71px !important;
  left: auto !important;
  min-width: -moz-max-content !important;
  min-width: max-content !important;
  border-radius: 0 !important;
  transition: all 0.3s;
  opacity: 0;
  visibility: hidden;
  display: block !important;
  font-size: 14px;
}
.rtl .table-actions.dropdown .dropdown-menu {
  right: auto !important;
  left: 25px !important;
}
.table-actions.dropdown .dropdown-menu.show {
  opacity: 1;
  visibility: visible;
}
.table-actions.dropdown .dropdown-menu:after {
  display: none;
}
.table-actions.dropdown .dropdown-menu button, .table-actions.dropdown .dropdown-menu a {
  color: #818894;
}
.table-actions.dropdown .dropdown-menu button:hover, .table-actions.dropdown .dropdown-menu a:hover {
  color: var(--primary);
}
.table-actions.dropdown .dropdown-menu.menu-lg {
  min-width: 192px !important;
}
.table-actions.dropdown.table-actions-lg .dropdown-menu {
  min-width: 150px !important;
}

.input-label {
  font-size: 14px;
  font-weight: 500;
  line-height: 1.19;
  color: #171347;
}
.input-label .braces {
  font-size: 11px;
}

.category-filter-title {
  position: relative;
  font-size: 16px;
  font-weight: 800;
  line-height: 1.19;
  color: #171347;
}
.category-filter-title:after {
  content: "";
  width: 50px;
  height: 3px;
  background-color: var(--primary);
  position: absolute;
  bottom: -10px;
  left: 0;
}
.rtl .category-filter-title:after {
  left: auto;
  right: 0;
}

.accordion-content-wrapper {
  position: relative;
}

.webinar-form .webinar-category-filters {
  padding: 24px 28px;
  border-radius: 10px;
  box-shadow: 0px 12px 23px 0px rgba(62, 73, 84, 0.04);
  background-color: #ffffff;
  border: 1px solid #f1f1f1;
}
.webinar-form .table-responsive {
  overflow: visible;
}
@media (max-width: 991px) {
  .webinar-form .table-responsive {
    overflow: auto;
  }
}
.webinar-form .table {
  border-radius: 10px;
  background-color: #ffffff;
  box-shadow: 0 3px 30px -10px rgba(0, 0, 0, 0.1);
  border: 1px solid #f1f1f1;
}
.webinar-form .table th {
  border-top: 0;
  font-size: 16px;
  font-weight: 500;
  color: #818894;
}
.webinar-form .table .btn-gray200 {
  font-size: 14px;
}

.range-time-picker {
  background-color: #ffffff;
  border: 1px solid #ececec;
  border-radius: 0 0.5rem 0.5rem 0;
  width: 100%;
}
.range-time-picker input {
  border: none;
  max-width: 60px;
  padding: 0 0 0 1rem;
}

.webinar-progress .progress-item {
  padding: 0 25px;
  border-left: 1px solid #ececec;
}
.webinar-progress .progress-item button {
  transition: all 0.3s ease;
}
.webinar-progress .progress-item button:hover {
  background-color: var(--primary);
  transition: all 0.3s ease;
}
.webinar-progress .progress-item:first-child {
  padding-left: 0;
  border-left: none;
}
.webinar-progress .progress-item .progress-icon {
  background-color: #f1f1f1;
  width: 48px;
  height: 48px;
  transition: all 0.3s ease;
}
.webinar-progress .progress-item .progress-icon:hover {
  background-color: var(--primary);
  transition: all 0.3s ease;
}
.webinar-progress .progress-item .progress-icon:hover img {
  filter: brightness(0) invert(1);
}
.webinar-progress .progress-item .progress-icon.active {
  background-color: transparent;
  background-image: linear-gradient(to bottom, var(--primary), var(--primary));
}
.webinar-progress .progress-item .progress-icon.active img {
  filter: brightness(0) invert(1);
}
@media (max-width: 991px) {
  .webinar-progress .progress-item {
    border-left: 0;
    padding: 0;
    margin: 5px 0;
  }
  .webinar-progress .progress-item:first-child {
    margin-top: 0;
  }
}

.course-statistic-cards-shadow {
  box-shadow: 0 3px 15px 0 rgba(0, 0, 0, 0.04);
}
.course-statistic-cards-shadow .statistic-pie-charts {
  height: 197px;
}
.course-statistic-cards-shadow .cart-label-color {
  width: 15px;
  min-width: 15px;
  height: 15px;
}

.quiz-question-card {
  border-radius: 10px;
  border: 1px solid #ececec;
  background-color: #ffffff;
  padding: 20px 25px;
}
.quiz-question-card .question-title {
  font-weight: 500;
  color: #171347;
}
.quiz-question-card .question-infos {
  color: #818894;
}

.add-answer-container {
  height: 300px;
  overflow-y: auto;
  overflow-x: visible;
  width: 100%;
  padding-right: 10px;
}
.add-answer-container .row {
  margin: 0;
}

.add-answer-card {
  border-radius: 10px;
  border: solid 1px #ececec;
  padding: 8px 12px;
  position: relative;
}
.add-answer-card .answer-remove {
  width: 40px;
  height: 40px;
  padding: 0;
  position: absolute;
  right: 55px;
  top: 0;
  transform: translate(0, -50%);
}

.quiz-form .quiz-form-btn {
  min-width: 170px;
}
@media (max-width: 767px) {
  .quiz-form .quiz-form-btn {
    min-width: auto;
  }
}
.quiz-form fieldset:not(:first-of-type) {
  display: none;
}
.quiz-form .quiz-question-media-card {
  width: 100%;
  max-width: 100%;
}
.quiz-form .quiz-question-media-card img {
  max-width: 100%;
  max-height: 100%;
}
.quiz-form .quiz-question-media-card .video-js {
  min-height: 300px !important;
}
.quiz-form .question-multi-answers {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-column-gap: 16px;
  grid-row-gap: 16px;
  width: 100%;
  border: none;
  border-radius: 0;
}
.quiz-form .question-multi-answers .answer-item {
  position: relative;
  width: 100%;
  height: 250px;
}
.quiz-form .question-multi-answers .answer-item .correct {
  position: absolute;
  top: 10px;
  left: 10px;
  border-radius: 10px 0 10px 0;
  padding: 5px 15px;
  z-index: 10;
}
.quiz-form .question-multi-answers .answer-item .answer-label {
  cursor: pointer;
  height: 100%;
  border-radius: 15px;
  border: 1px solid #ececec;
  text-align: center;
  transition: all 0.3s ease;
}
.quiz-form .question-multi-answers .answer-item .answer-label:hover {
  background-color: #f7fafd;
  transition: all 0.3s ease;
}
.quiz-form .question-multi-answers .answer-item .image-container {
  position: relative;
  cursor: pointer;
  border-radius: 15px;
  transition: all 0.2s ease;
  width: 100%;
  height: 100%;
}
.quiz-form .question-multi-answers .answer-item .image-container img {
  border-radius: 15px;
}
.quiz-form .question-multi-answers .answer-item .image-container:after {
  display: block;
  opacity: 0;
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  background-image: linear-gradient(to bottom, rgba(6, 6, 6, 0), rgba(0, 0, 0, 0.84));
  border-radius: 10px;
}
.quiz-form .question-multi-answers .answer-item .image-container .selected {
  display: none;
  position: absolute;
  top: 50%;
  left: 50%;
  color: #fff;
  transform: translate(-50%, -50%);
  z-index: 5;
}
.quiz-form .question-multi-answers .answer-item .image-container:hover:after {
  opacity: 1;
}
.quiz-form .question-multi-answers .answer-item input[type=radio] {
  visibility: hidden;
  display: none;
  transition: all ease 0.3s;
}
.quiz-form .question-multi-answers .answer-item input[type=radio]:checked + .answer-label {
  box-shadow: 0 10px 30px 0 rgba(67, 212, 119, 0.3);
  border: solid 3px var(--primary);
  background-color: #ffffff;
  transition: all ease 0.3s;
}
.quiz-form .question-multi-answers .answer-item input[type=radio]:checked + .answer-label .image-container:after {
  opacity: 1;
}

.bg-primary {
  background-color: var(--primary) !important;
}

.text-primary {
  color: var(--primary) !important;
}

.badge-primary {
  background-color: var(--primary) !important;
}

.badge-circle-primary {
  background-color: var(--primary) !important;
}

.btn-primary {
  color: var(--primary-btn-color);
  background-color: var(--primary);
  border-color: var(--primary-border);
  box-shadow: var(--primary-btn-shadow);
  transition: all 0.3s;
}
.btn-primary:hover, .btn-primary:active, .btn-primary:focus, .btn-primary:not(:disabled):not(.disabled):active {
  color: var(--primary-btn-color-hover);
  background-color: var(--primary-hover);
  border-color: var(--primary-border-hover);
  box-shadow: var(--primary-btn-shadow-hover);
  transition: all 0.3s;
}
.btn-primary.disabled, .btn-primary:disabled {
  color: var(--primary-btn-color);
  background-color: var(--primary);
  border-color: var(--primary-border);
}

.btn-outline-primary {
  color: var(--primary);
  border-color: var(--primary);
}
.btn-outline-primary:hover {
  color: var(--primary-btn-color);
  background-color: var(--primary);
  border-color: var(--primary);
}

.bg-secondary {
  background-color: var(--secondary) !important;
}

.text-secondary {
  color: var(--secondary) !important;
}

.badge-secondary {
  background-color: var(--secondary) !important;
}

.badge-circle-secondary {
  background-color: var(--secondary) !important;
}

.btn-secondary {
  color: var(--secondary-btn-color);
  background-color: var(--secondary);
  border-color: var(--secondary-border);
  box-shadow: var(--secondary-btn-shadow);
  transition: all 0.3s;
}
.btn-secondary:hover, .btn-secondary:active, .btn-secondary:focus, .btn-secondary:not(:disabled):not(.disabled):active {
  color: var(--secondary-btn-color-hover);
  background-color: var(--secondary-hover);
  border-color: var(--secondary-border-hover);
  box-shadow: var(--secondary-btn-shadow-hover);
  transition: all 0.3s;
}
.btn-secondary.disabled, .btn-secondary:disabled {
  color: var(--secondary-btn-color);
  background-color: var(--secondary);
  border-color: var(--secondary-border);
}

.btn-outline-secondary {
  color: var(--secondary);
  border-color: var(--secondary);
}
.btn-outline-secondary:hover {
  color: var(--secondary-btn-color);
  background-color: var(--secondary);
  border-color: var(--secondary);
}

.input-group-text {
  background-color: var(--secondary) !important;
  border-color: var(--secondary-border) !important;
}

.custom-control-input:not(:disabled):active ~ .custom-control-label:before, .custom-control-input:checked ~ .custom-control-label:before {
  color: var(--primary-btn-color) !important;
  background-color: var(--primary) !important;
  border-color: var(--primary-border) !important;
  box-shadow: none;
}

.custom-checkbox .custom-control-input:disabled:checked ~ .custom-control-label::before {
  opacity: 0.6 !important;
}

.img-mobile-logo {
  width: 50px;
}


/**
 * Custom Payment Options
 */

/* Wrapper Card */
.custom-payment-card {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: flex-start;
  border: 2px solid #e6e6e6;
  border-radius: 12px;
  padding: 16px 20px;
  cursor: pointer;
  transition: all 0.3s ease-in-out;
  background-color: #ffffff;
  height: auto;
  min-height: 80px;
  text-align: left;
}

/* Hover effect */
.custom-payment-card:hover {
  border-color: #43d477;
  box-shadow: 0 4px 12px rgba(67, 212, 119, 0.1);
}

/* Checked (active) state */
input[type="radio"]:checked+.custom-payment-card {
  border-color: #43d477 !important;
  background-color: #f6fffa;
}

/* Logo wrapper */
.custom-payment-logo-wrapper {
  flex-shrink: 0;
  width: 50px;
  height: 50px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.custom-payment-logo-wrapper img {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}

/* Text container */
.custom-payment-text {
  display: flex;
  flex-direction: column;
  justify-content: center;
  margin-left: 16px;
}

/* Line: Pay with */
.custom-payment-line {
  font-size: 13px;
  color: #666;
  font-weight: 400;
  margin-bottom: 2px;
}

/* Title: Stripe, Tabadul, etc. */
.custom-payment-title {
  font-size: 15px;
  font-weight: 700;
  color: #2d264b;
}



/* Responsive spacing */
@media (max-width: 576px) {
  .custom-payment-card {
    padding: 12px 16px;
  }

  .custom-payment-text {
    margin-left: 12px;
  }
}


/* Banner Wrapper */
.custom-cart-banner {
  width: 100%;
  padding: 40px 0;
  background-color: #f8f7fa;
  border-bottom: 1px solid #eaeaea;
}

/* Title */
.custom-cart-title {
  font-size: 22px;
  font-weight: 700;
  color: #2d264b;
  margin: 0;
}

/* Right Side Text Container */
.custom-cart-payment-hint {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

/* Line 1: "for x items" */
.custom-cart-items-count {
  font-size: 14px;
  color: #999;
}

/* Line 2: Price */
.custom-cart-total {
  font-size: 18px;
  font-weight: 700;
  color: #2d264b;
  margin-top: 4px;
}

/* Responsive Tweaks */
@media (max-width: 767.98px) {
  .custom-cart-banner {
    padding: 24px 0;
  }

  .custom-cart-title {
    font-size: 18px;
  }

  .custom-cart-total {
    font-size: 16px;
  }
}


/* Footer Container */
.custom-payment-footer {
  margin-top: 45px;
  padding: 20px 0;
  border-top: 1px solid #EAEAEA;
}

.custom-payment-total {
  text-align: right;
}

.custom-payment-label {
  font-size: 14px;
  color: #6c757d;
  font-weight: 500;
  margin-bottom: 4px;
}

.custom-payment-amount {
  font-size: 22px;
  font-weight: 700;
  color: #161545;
  /* Navy Blue */
}

/* Responsive button and layout */
.custom-payment-button {
  font-size: 14px;
  font-weight: 600;
  background-color: #2D264B;
  color: #fff;
  padding: 10px 22px;
  border: none;
  border-radius: 6px;
  transition: background-color 0.3s ease;
}

.custom-payment-button:disabled {
  background-color: #ccc;
  cursor: not-allowed;
}

.custom-payment-button:hover:not(:disabled) {
  background-color: #1f1a33;
}

/* Optional: Stack layout on small screens */
@media (max-width: 576px) {
  .custom-payment-footer {
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
  }

  .custom-payment-total {
    text-align: left;
  }
}

/* ==========================================================
   HOME CAROUSELS — unified modern pagination (bar + dots)
   Applies to every Swiper pagination inside .home-sections or
   .trending-categories. Does NOT affect panel/course pages.
   ========================================================== */
.home-sections .swiper-pagination,
.trending-categories .swiper-pagination {
  position: static !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 6px;
  width: auto !important;
  margin: 16px auto 0 auto !important;
  transform: none !important;
  bottom: auto !important;
  left: auto !important;
  right: auto !important;
}
.home-sections .swiper-pagination .swiper-pagination-bullet,
.trending-categories .swiper-pagination .swiper-pagination-bullet {
  position: relative !important;
  display: inline-block !important;
  width: 4px !important;
  height: 4px !important;
  min-width: 4px !important;
  padding: 0 !important;
  border: none !important;
  border-radius: 999px !important;
  background: #D1D5DB !important;
  background-color: #D1D5DB !important;
  opacity: 1 !important;
  box-shadow: none !important;
  outline: none !important;
  transition: background 0.25s ease, width 0.25s ease;
  margin: 0 !important;
  transform: none !important;
}
.home-sections .swiper-pagination .swiper-pagination-bullet-active,
.trending-categories .swiper-pagination .swiper-pagination-bullet-active {
  width: 18px !important;
  background: #221755 !important;
  background-color: #221755 !important;
}
/* Kill the legacy ::after inner dot that the global theme overlays on active bullets */
.home-sections .swiper-pagination .swiper-pagination-bullet::before,
.home-sections .swiper-pagination .swiper-pagination-bullet::after,
.home-sections .swiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active::before,
.home-sections .swiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active::after,
.trending-categories .swiper-pagination .swiper-pagination-bullet::before,
.trending-categories .swiper-pagination .swiper-pagination-bullet::after,
.trending-categories .swiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active::before,
.trending-categories .swiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active::after {
  content: none !important;
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  background: transparent !important;
}
@media (min-width: 768px) {
  .home-sections .swiper-pagination .swiper-pagination-bullet,
  .trending-categories .swiper-pagination .swiper-pagination-bullet {
    width: 5px !important;
    height: 5px !important;
    min-width: 5px !important;
  }
  .home-sections .swiper-pagination .swiper-pagination-bullet-active,
  .trending-categories .swiper-pagination .swiper-pagination-bullet-active {
    width: 22px !important;
    height: 5px !important;
  }
}
@media (min-width: 1024px) {
  .home-sections .swiper-pagination .swiper-pagination-bullet,
  .trending-categories .swiper-pagination .swiper-pagination-bullet {
    width: 6px !important;
    height: 6px !important;
    min-width: 6px !important;
  }
  .home-sections .swiper-pagination .swiper-pagination-bullet-active,
  .trending-categories .swiper-pagination .swiper-pagination-bullet-active {
    width: 28px !important;
    height: 6px !important;
  }
}

/* ==========================================================
   TRENDING CATEGORIES — per responsive spec (mobile-first)
   Uses var(--font-family-base) instead of IBM Plex Sans.
   ========================================================== */
.trending-categories {
  position: relative;
  overflow: hidden;
  background: linear-gradient(135deg, #F5F3FF 0%, #EFF6FF 100%);
  border-radius: 16px;
  padding: 20px 16px;
  margin-top: 24px;
  margin-bottom: 24px;
  font-family: var(--font-family-base), sans-serif;
}
.trending-categories .trending-bg-pattern {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
}
.trending-categories .trending-glow {
  position: absolute;
  border-radius: 50%;
  pointer-events: none;
}
.trending-categories .trending-glow-tr {
  width: 160px;
  height: 160px;
  top: -40px;
  right: -40px;
  background: radial-gradient(circle, rgba(8, 114, 186, 0.15) 0%, transparent 70%);
}
.trending-categories .trending-glow-bl {
  width: 180px;
  height: 180px;
  bottom: -50px;
  left: -50px;
  background: radial-gradient(circle, rgba(34, 23, 85, 0.10) 0%, transparent 70%);
}
.trending-categories .trending-content {
  position: relative;
  z-index: 1;
}

/* Header (mobile baseline) */
.trending-section-header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  margin-bottom: 20px;
  gap: 12px;
  flex-wrap: wrap;
}
.trending-heading-group {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 6px;
  min-width: 0;
}
.trending-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-family: var(--font-family-base), sans-serif;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 1.6px;
  text-transform: uppercase;
  color: #0872BA;
}
.trending-eyebrow svg { flex-shrink: 0; }
.trending-h2 {
  margin: 0;
  font-family: var(--font-family-base), sans-serif;
  font-size: 24px;
  font-weight: 800;
  color: #221755;
  line-height: 1.15;
  letter-spacing: -0.3px;
}

/* Controls (hidden on mobile, shown from tablet) */
.trending-controls {
  display: none;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
}
.trending-nav-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  padding: 0;
  border-radius: 50%;
  cursor: pointer;
  border: none;
  background: #221755;
  color: #FFFFFF;
  transition: background 0.15s ease, transform 0.15s ease, opacity 0.15s ease;
}
.trending-nav-btn:hover {
  background: #0872BA;
  color: #FFFFFF;
}
.trending-nav-btn:active {
  transform: scale(0.95);
}
.trending-nav-btn.swiper-button-disabled {
  background: #E5E7EB;
  color: #94A0B8;
  cursor: not-allowed;
  pointer-events: none;
  opacity: 1;
}
.rtl .trending-nav-btn svg { transform: scaleX(-1); }
.trending-divider {
  display: block;
  width: 1px;
  height: 16px;
  background: #D1D5DB;
  margin: 0 4px;
}
.trending-view-all {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 6px 12px;
  background: #FFFFFF;
  border: 0.5px solid #E5E7EB;
  border-radius: 16px;
  font-family: var(--font-family-base), sans-serif;
  font-size: 11px;
  font-weight: 500;
  color: #221755;
  text-decoration: none;
  transition: background 0.15s ease, border-color 0.15s ease;
}
.trending-view-all:hover {
  background: #221755;
  border-color: #221755;
  color: #FFFFFF;
  text-decoration: none;
}
.trending-view-all-desktop { display: none; }
.trending-view-all-mobile { display: inline-flex; }
.rtl .trending-view-all svg { transform: scaleX(-1); }

/* Carousel rules: ensure cards stretch to equal height */
.trending-categories .trend-categories-swiper { padding: 4px 0 0 0; }
.trending-categories .trend-categories-swiper .swiper-slide {
  height: auto;
  align-self: stretch;
}

/* Card (mobile baseline) — frosted glass surface */
.trending-card {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  background: rgba(255, 255, 255, 0.55);
  backdrop-filter: blur(20px) saturate(160%);
  -webkit-backdrop-filter: blur(20px) saturate(160%);
  border: 1px solid rgba(255, 255, 255, 0.65);
  border-radius: 16px;
  padding: 14px 12px;
  text-decoration: none;
  height: 100%;
  box-shadow:
    0 4px 18px rgba(15, 23, 42, 0.06),
    inset 0 1px 0 rgba(255, 255, 255, 0.55);
  transition:
    background 0.25s ease,
    border-color 0.25s ease,
    box-shadow 0.25s ease,
    transform 0.25s ease;
}
.trending-card:hover,
.trending-card:focus-visible {
  background: rgba(255, 255, 255, 0.75);
  border-color: rgba(255, 255, 255, 0.9);
  box-shadow:
    0 10px 30px rgba(34, 23, 85, 0.14),
    inset 0 1px 0 rgba(255, 255, 255, 0.7);
  text-decoration: none;
}
@media (hover: hover) {
  .trending-card:hover { transform: translateY(-2px); }
}
.trending-card:active { transform: translateY(0); }
.trending-card:focus-visible {
  outline: 2px solid #0872BA;
  outline-offset: 2px;
}

.trending-categories .trending-icon-tile,
.trending-card .trending-icon-tile {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 56px !important;
  height: 56px !important;
  min-width: 56px !important;
  max-width: 56px !important;
  border-radius: 14px !important;
  background: var(--primary, #221755) !important;
  background-image: none !important;
  color: #FFFFFF;
  margin-bottom: 12px;
  flex-shrink: 0;
  padding: 4px !important;
  overflow: hidden;
  box-sizing: border-box;
  box-shadow: 0 3px 8px rgba(15, 23, 42, 0.14);
  transition: background-color 0.25s cubic-bezier(0.4, 0, 0.2, 1),
              transform 0.25s cubic-bezier(0.4, 0, 0.2, 1),
              box-shadow 0.25s cubic-bezier(0.4, 0, 0.2, 1);
}
@media (min-width: 768px) {
  .trending-categories .trending-icon-tile,
  .trending-card .trending-icon-tile {
    width: 60px !important;
    height: 60px !important;
    min-width: 60px !important;
    max-width: 60px !important;
    border-radius: 15px !important;
    margin-bottom: 14px;
  }
}
@media (min-width: 1024px) {
  .trending-categories .trending-icon-tile,
  .trending-card .trending-icon-tile {
    width: 64px !important;
    height: 64px !important;
    min-width: 64px !important;
    max-width: 64px !important;
    border-radius: 16px !important;
    margin-bottom: 16px;
  }
}
.trending-categories .trending-icon-img,
.trending-card .trending-icon-img {
  width: 100% !important;
  height: 100% !important;
  max-width: 100%;
  max-height: 100%;
  object-fit: contain !important;
  display: block;
  filter: none !important;
  background: transparent !important;
  border: none !important;
}
.trending-categories .trending-card:hover .trending-icon-tile,
.trending-card:hover .trending-icon-tile {
  background: var(--secondary, #1e5a9e) !important;
  transform: translateZ(0) scale(1.06);
  box-shadow: 0 6px 14px rgba(30, 90, 158, 0.28);
}

.trending-card-title {
  font-family: var(--font-family-base), sans-serif;
  font-size: 14px;
  font-weight: 600;
  color: #221755;
  margin-bottom: 4px;
  line-height: 1.3;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.trending-card-meta {
  display: flex;
  align-items: center;
  gap: 4px;
  font-family: var(--font-family-base), sans-serif;
  font-size: 11px;
  color: #4B5563;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.trending-card-meta > svg { flex-shrink: 0; }
.trending-explore-cta {
  margin-left: auto;
  display: inline-flex;
  align-items: center;
  gap: 2px;
  color: #0872BA;
  opacity: 0;
  transition: opacity 0.2s ease;
}
.rtl .trending-explore-cta { margin-left: 0; margin-right: auto; }
.rtl .trending-explore-cta svg { transform: scaleX(-1); }
.trending-explore-text { display: none; }
.trending-card:hover .trending-explore-cta { opacity: 1; }

/* Pagination row (mobile: view-all sits beside pagination) */
.trending-pagination-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-top: 16px;
}
.trending-pagination {
  display: flex;
  align-items: center;
  gap: 10px;
}
.trending-pagination .swiper-pagination {
  position: static !important;
  display: inline-flex !important;
  align-items: center;
  gap: 6px;
  width: auto !important;
  margin: 0 !important;
  transform: none !important;
  bottom: auto !important;
  left: auto !important;
  right: auto !important;
  flex: 0 0 auto !important;
}
.trending-pagination .swiper-pagination .swiper-pagination-bullet {
  position: relative !important;
  display: inline-block !important;
  width: 4px !important;
  height: 4px !important;
  min-width: 4px !important;
  padding: 0 !important;
  border: none !important;
  border-radius: 999px !important;
  background: #D1D5DB !important;
  background-color: #D1D5DB !important;
  opacity: 1 !important;
  box-shadow: none !important;
  outline: none !important;
  transition: background 0.25s ease, width 0.25s ease;
  margin: 0 !important;
  transform: none !important;
}
.trending-pagination .swiper-pagination .swiper-pagination-bullet-active {
  width: 18px !important;
  background: #221755 !important;
  background-color: #221755 !important;
}
/* Kill the global ::after dot that the existing theme adds on top of every active bullet */
.trending-pagination .swiper-pagination .swiper-pagination-bullet::before,
.trending-pagination .swiper-pagination .swiper-pagination-bullet::after,
.trending-pagination .swiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active::before,
.trending-pagination .swiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active::after {
  content: none !important;
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  background: transparent !important;
}
/* Kill any inner child elements (e.g. inner dot wrappers) */
.trending-pagination .swiper-pagination-bullet > * { display: none !important; }
.trending-pagination-counter {
  font-family: var(--font-family-base), sans-serif;
  font-size: 12px;
  font-weight: 500;
  color: #6B7280;
  letter-spacing: 0.1px;
  white-space: nowrap;
  flex: 0 0 auto;
  line-height: 1;
}

/* Tablet (≥ 768px) */
@media (min-width: 768px) {
  .trending-categories {
    padding: 24px;
    border-radius: 16px;
  }
  .trending-categories .trending-glow-tr {
    width: 200px;
    height: 200px;
    top: -40px;
    right: -40px;
  }
  .trending-categories .trending-glow-bl {
    width: 220px;
    height: 220px;
    bottom: -50px;
    left: -50px;
  }
  .trending-section-header { margin-bottom: 24px; }
  .trending-eyebrow { font-size: 12px; letter-spacing: 2px; }
  .trending-h2 { font-size: 30px; }
  .trending-controls { display: flex; }
  .trending-view-all-desktop { display: inline-flex; }
  .trending-view-all-mobile { display: none; }

  .trending-card { padding: 16px 14px; }
  .trending-card-title { font-size: 14px; margin-bottom: 5px; }
  .trending-card-meta { font-size: 11px; }

  .trending-pagination-row { margin-top: 18px; justify-content: center; }
  .trending-pagination .swiper-pagination .swiper-pagination-bullet { width: 5px !important; height: 5px !important; min-width: 5px !important; }
  .trending-pagination .swiper-pagination .swiper-pagination-bullet-active { width: 22px !important; height: 5px !important; }
  .trending-pagination-counter { font-size: 13px; }
}

/* Desktop (≥ 1024px) */
@media (min-width: 1024px) {
  .trending-categories {
    padding: 32px;
    border-radius: 20px;
  }
  .trending-categories .trending-glow-tr {
    width: 220px;
    height: 220px;
    top: -50px;
    right: -50px;
  }
  .trending-categories .trending-glow-bl {
    width: 260px;
    height: 260px;
    bottom: -70px;
    left: -70px;
  }
  .trending-section-header { margin-bottom: 28px; }
  .trending-eyebrow { font-size: 13px; letter-spacing: 2.4px; gap: 8px; }
  .trending-h2 { font-size: 40px; line-height: 1.1; }
  .trending-nav-btn { width: 34px; height: 34px; }
  .trending-divider { height: 18px; margin: 0 6px; }
  .trending-view-all-desktop { padding: 7px 14px; font-size: 12px; }

  .trending-card { padding: 18px 16px; border-radius: 12px; }
  .trending-card-title { font-size: 15px; margin-bottom: 6px; }
  .trending-card-meta { font-size: 12px; gap: 4px; }
  .trending-explore-text { display: inline; }

  .trending-pagination-row { margin-top: 28px; }
  .trending-pagination { gap: 14px; }
  .trending-pagination .swiper-pagination .swiper-pagination-bullet { width: 6px !important; height: 6px !important; min-width: 6px !important; }
  .trending-pagination .swiper-pagination .swiper-pagination-bullet-active { width: 28px !important; height: 6px !important; }
  .trending-pagination-counter { font-size: 14px; }
}

/* ==========================================================
   NEWEST COURSES — section shell only (cards untouched)
   Reuses the visual language from .trending-categories but
   does not modify the existing .grid-card markup at all.
   ========================================================== */
.newest-courses-section {
  position: relative;
  isolation: isolate;
  background: linear-gradient(135deg, #EFF6FF 0%, #F5F3FF 100%);
  border-radius: 16px;
  padding: 20px 16px 40px;
  margin-top: 24px;
  margin-bottom: 24px;
  overflow: hidden;
}

/* Latest bundles section — uses the generic swiper layout, so give it the same
   cover + gradient backdrop as the Bestselling Courses section for consistency. */
.latest-bundles-section {
  position: relative;
  isolation: isolate;
  /* Brand-hue gradient, forced light so it stays subtle on any brand color.
     First line is the fallback for browsers without relative-color syntax. */
  background: linear-gradient(135deg, #EFF6FF 0%, #F5F3FF 100%);
  background: linear-gradient(135deg,
    hsl(from var(--primary) h 60% 96%) 0%,
    hsl(from var(--primary) h 45% 97%) 100%);
  border-radius: 16px;
  padding: 20px 16px;
  margin-top: 24px;
  margin-bottom: 24px;
  overflow: hidden;
}
/* Match the styled sections' responsive padding (more breathing room on desktop). */
@media (min-width: 768px) {
  .latest-bundles-section { padding: 28px 24px; border-radius: 18px; }
}
@media (min-width: 1024px) {
  .latest-bundles-section { padding: 32px; border-radius: 20px; }
}
.latest-bundles-section::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  /* Fallback (hardcoded brand colors) then the dynamic brand-color version. */
  background:
    radial-gradient(circle at 100% 0%, rgba(8, 114, 186, 0.16) 0%, transparent 28%),
    radial-gradient(circle at 0% 100%, rgba(34, 23, 85, 0.10) 0%, transparent 28%),
    radial-gradient(rgba(34, 23, 85, 0.18) 1.2px, transparent 1.4px);
  background:
    radial-gradient(circle at 100% 0%, hsl(from var(--secondary) h s l / 0.16) 0%, transparent 28%),
    radial-gradient(circle at 0% 100%, hsl(from var(--primary) h s l / 0.10) 0%, transparent 28%),
    radial-gradient(hsl(from var(--primary) h s l / 0.18) 1.2px, transparent 1.4px);
  background-size: 100% 100%, 100% 100%, 32px 32px;
  background-repeat: no-repeat, no-repeat, repeat;
}
/* Keep the section content above the cover layer. */
.latest-bundles-section > * { position: relative; z-index: 1; }
.newest-diag-pattern {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 0;
}
.newest-glow {
  position: absolute;
  border-radius: 50%;
  pointer-events: none;
  z-index: 0;
  filter: blur(2px);
}
.newest-glow-tl {
  top: -60px;
  left: -60px;
  width: 200px;
  height: 200px;
  background: radial-gradient(circle, rgba(34, 23, 85, 0.12) 0%, transparent 70%);
}
.newest-glow-tr {
  top: -40px;
  right: -40px;
  width: 180px;
  height: 180px;
  background: radial-gradient(circle, rgba(8, 114, 186, 0.15) 0%, transparent 70%);
}
.newest-waves {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 60px;
  pointer-events: none;
  z-index: 0;
}
.newest-content {
  position: relative;
  z-index: 1;
}

/* Header layout only — typography comes from .trending-eyebrow + .trending-h2 */
.newest-section-header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 20px;
}
.newest-heading-group { min-width: 0; }

/* Inline-SVG sparkles in the eyebrow — solid fill in eyebrow color */
.newest-eyebrow-icon {
  display: inline-block;
  flex-shrink: 0;
  color: #0872BA;
  vertical-align: middle;
}

/* Controls visibility — rely on .trending-* for the actual look */
.newest-controls {
  display: none;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
}
.newest-view-all-desktop { display: none; }
.newest-view-all-mobile { display: inline-flex; }

/* Mobile (<768px): mirror desktop's "view all" placement at the TOP of the
   section header (next to the title) instead of at the bottom alongside the
   pagination counter. The .newest-controls wrapper becomes visible so its
   view-all child can render, but the prev/next nav buttons and divider stay
   hidden — mobile users swipe, they don't need arrows. */
@media (max-width: 767.98px) {
  .newest-controls,
  .trending-controls,
  .continue-learning-controls,
  .featured-controls,
  .best-rated-controls,
  .bestselling-controls,
  .discounted-controls,
  .free-controls,
  .instructors-controls,
  .organizations-controls {
    display: inline-flex !important;
    align-items: center;
  }
  /* Inside the controls wrapper, hide the prev/next nav buttons and the
     vertical divider — leave only the view-all-desktop link. */
  .newest-controls .trending-nav-btn,
  .trending-controls .trending-nav-btn,
  .continue-learning-controls .trending-nav-btn,
  .newest-controls .trending-divider,
  .newest-controls .newest-divider,
  .newest-controls .continue-learning-divider,
  .newest-controls .featured-divider,
  .newest-controls .best-rated-divider,
  .newest-controls .bestselling-divider,
  .newest-controls .discounted-divider,
  .newest-controls .free-divider,
  .newest-controls .instructors-divider,
  .newest-controls .organizations-divider,
  .newest-controls [class*="-nav-prev"],
  .newest-controls [class*="-nav-next"] {
    display: none !important;
  }
  /* Show the section-header view-all link (the "desktop" one) on mobile too. */
  .newest-view-all-desktop,
  .trending-view-all-desktop,
  .continue-learning-view-all-desktop,
  .featured-view-all-desktop,
  .best-rated-view-all-desktop,
  .bestselling-view-all-desktop,
  .discounted-view-all-desktop,
  .free-view-all-desktop,
  .instructors-view-all-desktop,
  .organizations-view-all-desktop {
    display: inline-flex !important;
    padding: 6px 12px;
    font-size: 12px;
  }
  /* Hide the bottom-of-section view-all link (next to the pagination counter). */
  .newest-view-all-mobile,
  .trending-view-all-mobile,
  .continue-learning-view-all-mobile,
  .featured-view-all-mobile,
  .best-rated-view-all-mobile,
  .bestselling-view-all-mobile,
  .discounted-view-all-mobile,
  .free-view-all-mobile,
  .instructors-view-all-mobile,
  .organizations-view-all-mobile {
    display: none !important;
  }
  /* With the bottom view-all hidden, the pagination row only contains the
     dots + counter — center them like desktop instead of leaving them on
     the inline-start side (the `space-between` default was for the now-
     hidden view-all pairing). */
  .trending-pagination-row,
  .newest-pagination-row,
  .continue-learning-pagination-row,
  .featured-pagination-row,
  .best-rated-pagination-row,
  .bestselling-pagination-row,
  .discounted-pagination-row,
  .free-pagination-row,
  .instructors-pagination-row,
  .organizations-pagination-row {
    justify-content: center !important;
  }
}

/* Pagination row layout (look comes from .trending-pagination-row) */
.newest-pagination-row {
  margin-top: 8px;
}

/* Tablet (≥ 768px) */
@media (min-width: 768px) {
  .newest-courses-section {
    padding: 28px 24px 48px;
    border-radius: 18px;
  }
  .newest-glow-tl { width: 220px; height: 220px; top: -60px; left: -60px; }
  .newest-glow-tr { width: 200px; height: 200px; top: -40px; right: -40px; }
  .newest-waves { height: 80px; }
  .newest-section-header { margin-bottom: 24px; }
  .newest-controls { display: inline-flex; }
  .newest-view-all-desktop { display: inline-flex; }
  .newest-view-all-mobile { display: none; }
  .newest-pagination-row { justify-content: center; margin-top: 4px; }
}

/* Desktop (≥ 1024px) */
@media (min-width: 1024px) {
  .newest-courses-section {
    padding: 32px 32px 56px;
    border-radius: 20px;
  }
  .newest-glow-tl { width: 240px; height: 240px; top: -60px; left: -60px; }
  .newest-glow-tr { width: 220px; height: 220px; top: -40px; right: -40px; }
  .newest-waves { height: 100px; }
  .newest-section-header { margin-bottom: 28px; }
  .newest-pagination-row { margin-top: 8px; }
}

/* ==========================================================
   TESTIMONIALS — dark hero section, static 3-column grid,
   stacked-layer cards with diagonal-striped back layer.
   Uses CSS logical properties so RTL flips automatically.
   ========================================================== */
.testimonials-section {
  position: relative;
  isolation: isolate;
  background: #0F0A26;
  padding: 64px 0 72px;
  overflow: hidden;
  color: #FFFFFF;
}
.testimonials-dot-pattern {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 0;
}
.testimonials-glow {
  position: absolute;
  border-radius: 50%;
  pointer-events: none;
  z-index: 0;
  filter: blur(2px);
}
.testimonials-glow-tr {
  top: -80px;
  right: -80px;
  width: 280px;
  height: 280px;
  background: radial-gradient(circle, rgba(8, 114, 186, 0.20) 0%, transparent 70%);
}
.testimonials-glow-bl {
  bottom: -80px;
  left: -80px;
  width: 260px;
  height: 260px;
  background: radial-gradient(circle, rgba(76, 29, 149, 0.30) 0%, transparent 70%);
}
.testimonials-content {
  position: relative;
  z-index: 1;
  max-width: 1200px;
  margin-inline: auto;
  padding-inline: 32px;
}
@media (max-width: 1023px) {
  .testimonials-section { padding: 48px 0 56px; }
  .testimonials-content { padding-inline: 24px; }
}
@media (max-width: 767px) {
  .testimonials-section { padding: 36px 0 44px; }
  .testimonials-content { padding-inline: 16px; }
}

/* Header — eyebrow + heading + subtitle on left, view-all button on right */
.testimonials-header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 28px;
  flex-wrap: wrap;
}
.testimonials-header-left {
  max-width: 640px;
  min-width: 0;
}
.testimonials-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-family: var(--font-family-base), sans-serif;
  font-size: 11px;
  font-weight: 600;
  color: #5AB4EC;
  text-transform: uppercase;
  letter-spacing: 1px;
  margin-bottom: 6px;
}
.testimonials-eyebrow svg { color: #5AB4EC; flex-shrink: 0; }
.testimonials-heading {
  font-family: var(--font-family-base), sans-serif;
  font-size: 22px;
  font-weight: 700;
  color: #FFFFFF;
  margin: 0 0 10px;
  line-height: 1.2;
}
.testimonials-subtitle {
  font-family: var(--font-family-base), sans-serif;
  font-size: 14px;
  color: rgba(255, 255, 255, 0.65);
  line-height: 1.5;
  margin: 0;
}
.testimonials-view-all {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 8px 14px;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.20);
  border-radius: 999px;
  font-family: var(--font-family-base), sans-serif;
  font-size: 12px;
  font-weight: 500;
  color: #FFFFFF;
  text-decoration: none;
  white-space: nowrap;
  flex-shrink: 0;
  transition: background 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}
.testimonials-view-all:hover {
  background: rgba(255, 255, 255, 0.14);
  border-color: rgba(255, 255, 255, 0.32);
  color: #FFFFFF;
  text-decoration: none;
  transform: translateY(-1px);
}
.rtl .testimonials-view-all svg,
[dir="rtl"] .testimonials-view-all svg { transform: scaleX(-1); }

/* Cards grid — static 3 columns, no carousel */
.testimonials-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 24px;
}

/* Stacked-layer card wrapper */
.test-card-wrap {
  position: relative;
}

/* Striped back layer — auto-flips for RTL via logical properties */
.test-card-stripe-bg {
  position: absolute;
  inset-block-start: 10px;
  inset-block-end: -10px;
  inset-inline-start: -10px;
  inset-inline-end: 10px;
  border-radius: 18px;
  background:
    repeating-linear-gradient(
      -45deg,
      rgba(125, 211, 252, 0.85) 0 2px,
      transparent 2px 4px
    ),
    #0F0A26;
  z-index: 1;
  pointer-events: none;
}

/* Front card */
.test-card {
  position: relative;
  z-index: 2;
  background: #221755;
  border-radius: 16px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  height: 100%;
  transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
.test-card-wrap:hover .test-card {
  transform: translateY(-3px);
}

/* Photo area — original aspect ratio preserved (no forced crop) */
.test-image {
  position: relative;
  width: 100%;
  overflow: hidden;
  background: #1a1235;
}
.test-image img {
  width: 100%;
  height: auto;
  display: block;
}

/* Quote content area */
.test-content {
  padding: 22px;
  background: #221755;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  flex: 1;
  gap: 18px;
  position: relative;
}
.test-content-quote {
  position: relative;
}

/* Big quote glyph overlapping where photo meets content */
.quote-marks {
  display: inline-block;
  font-size: 32px;
  color: #0872BA;
  line-height: 1;
  font-weight: 700;
  font-family: var(--font-family-base), sans-serif;
  margin-bottom: 12px;
  margin-block-start: -38px;
  letter-spacing: -2px;
  position: relative;
  z-index: 2;
}
.quote-text {
  font-family: var(--font-family-base), sans-serif;
  font-size: 14px;
  color: #FFFFFF;
  line-height: 1.55;
  margin: 0 0 28px;
}

.testimonial-author {
  font-family: var(--font-family-base), sans-serif;
  font-size: 14px;
  font-weight: 600;
  color: #FFFFFF;
  margin: 0 0 3px;
}
.testimonial-role {
  font-family: var(--font-family-base), sans-serif;
  font-size: 12px;
  color: rgba(255, 255, 255, 0.6);
  line-height: 1.5;
  margin: 0;
}

/* Responsive */
@media (min-width: 768px) {
  .testimonials-section {
    padding: 40px 28px 50px;
    border-radius: 18px;
  }
  .testimonials-header { margin-bottom: 32px; }
  .testimonials-heading { font-size: 24px; }
  .testimonials-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 28px;
  }
}
@media (min-width: 1024px) {
  .testimonials-section {
    padding: 50px 32px 60px;
    border-radius: 20px;
  }
  .testimonials-header {
    margin-bottom: 40px;
    flex-wrap: nowrap;
  }
  .testimonials-heading { font-size: 26px; }
  .testimonials-subtitle { font-size: 14px; }
  .testimonials-view-all { padding: 9px 16px; font-size: 13px; }
  .testimonials-grid {
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
  }
}

/* ==========================================================
   BLOG SECTION SHELL — light hero wrapper with subtle pattern.
   Cards inside use the testimonials stacked-layer technique
   (striped back layer + dark navy front card).
   ========================================================== */
.blog-section {
  position: relative;
  isolation: isolate;
  background: linear-gradient(135deg, #EFF6FF 0%, #F5F3FF 100%);
  border-radius: 16px;
  padding: 32px 20px 50px;
  margin-top: 24px;
  margin-bottom: 24px;
  overflow: hidden;
  color: #221755;
}
.blog-section-dot-pattern {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 0;
}
.blog-section-glow {
  position: absolute;
  border-radius: 50%;
  pointer-events: none;
  z-index: 0;
  filter: blur(2px);
}
.blog-section-glow-tr {
  top: -80px;
  right: -80px;
  width: 280px;
  height: 280px;
  background: radial-gradient(circle, rgba(8, 114, 186, 0.18) 0%, transparent 70%);
}
.blog-section-glow-bl {
  bottom: -80px;
  left: -80px;
  width: 260px;
  height: 260px;
  background: radial-gradient(circle, rgba(34, 23, 85, 0.10) 0%, transparent 70%);
}
.blog-section-content { position: relative; z-index: 1; }

.blog-section-header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 28px;
  flex-wrap: wrap;
}
.blog-section-header-left {
  max-width: 640px;
  min-width: 0;
}
/* Heading inherits .trending-h2 styling — large navy weight 700.
   Eyebrow inherits .trending-eyebrow styling — small uppercase blue. */
.blog-section-heading { margin: 0; }
.blog-section-view-all {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 8px 14px;
  background: #FFFFFF;
  border: 0.5px solid #E5E7EB;
  border-radius: 20px;
  font-family: var(--font-family-base), sans-serif;
  font-size: 12px;
  font-weight: 500;
  color: #221755;
  text-decoration: none;
  white-space: nowrap;
  flex-shrink: 0;
  transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease, transform 0.2s ease;
}
.blog-section-view-all:hover {
  background: #221755;
  border-color: #221755;
  color: #FFFFFF;
  text-decoration: none;
  transform: translateY(-1px);
}
.rtl .blog-section-view-all svg,
[dir="rtl"] .blog-section-view-all svg { transform: scaleX(-1); }

/* ============================================================ */
/* Instructors carousel — responsive card sizing + center spotlight */
/* ============================================================ */

/* Default state for all instructor cards in the Owl carousel */
.instructors-swiper-container .owl-item .instructor-card-v2 {
  transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1),
              opacity 0.35s ease;
}

/* Adjacent (non-center) cards are slightly dimmed and shrunk so the
   center card reads as the spotlight item — same as the desktop layout. */
.instructors-swiper-container .owl-item.active .instructor-card-v2 {
  opacity: 0.85;
  transform: scale(0.94);
}

/* Centered/active card is full-size and full-opacity. */
.instructors-swiper-container .owl-item.active.center .instructor-card-v2 {
  opacity: 1;
  transform: scale(1);
}

/* Mobile/tablet sizing — cap the maximum card height so cards don't
   tower over the surrounding chrome at narrow viewports. Aspect ratio
   3:4 is preserved by the card's existing CSS. */
@media (max-width: 767.98px) {
  .instructors-swiper-container .instructor-card-v2 {
    max-height: 340px;
    margin: 0 auto;
  }
}
@media (min-width: 768px) and (max-width: 1023.98px) {
  .instructors-swiper-container .instructor-card-v2 {
    max-height: 400px;
    margin: 0 auto;
  }
}

/* Organization carousel — same responsive treatment as instructors.
   The stagePadding from JS gives the prev/next peek; the CSS here makes
   sure the section container doesn't clip that peek, and caps card
   height at narrow viewports so the cards stay proportional. */
.organizations-section .owl-stage-outer { overflow: visible; }
@media (max-width: 767.98px) {
  .organization-owl-container .org-card-v2 {
    max-height: 360px;
    margin: 0 auto;
  }
}
@media (min-width: 768px) and (max-width: 1023.98px) {
  .organization-owl-container .org-card-v2 {
    max-height: 420px;
    margin: 0 auto;
  }
}

/* Mobile (<768px): keep the "All Blog" button on the SAME ROW as the blog
   title, like other sections' view-all buttons. The default `flex-wrap:
   wrap` was sending the button to its own line below the title — force
   nowrap and let the left side shrink to fit. */
@media (max-width: 767.98px) {
  .blog-section-header {
    flex-wrap: nowrap;
    align-items: center;
    gap: 12px;
  }
  .blog-section-header-left {
    flex: 1 1 0;
    min-width: 0;
  }
  .blog-section-view-all {
    flex-shrink: 0;
    padding: 6px 12px;
    font-size: 12px;
  }
  /* Match Organization heading sizing on mobile too — inherit the .trending-h2
     base of 24px / weight 800. Keep the ellipsis fallback in case the title
     ever gets long enough to overflow the row. */
  .blog-section-heading {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
}

/* Grid — 1 / 2 / 3 cols responsive */
.blog-section-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 24px;
}

/* Blog cards render inside a Swiper carousel (.blog-swiper). Match the
   Free Courses behavior exactly — overflow: hidden so only the active
   slide is visible on mobile (no prev/next peek). Slide height grows
   naturally so cards of different content lengths stay equal-height. */
.blog-swiper {
  padding-bottom: 8px;
}
.blog-swiper .swiper-slide {
  height: auto;
}
/* Responsive: hide the decorative stripe-bg back layer entirely. It bled
   outside the card bounds (5px at bottom-left), and Swiper's overflow:
   hidden would clip it awkwardly. Cards stay clean on mobile/tablet. */
@media (max-width: 1023.98px) {
  .blog-card-stripe-bg {
    display: none;
  }
}

/* Mobile/tablet card sizing — image height capped + compact body. */
@media (max-width: 1023.98px) {
  .blog-card-media {
    aspect-ratio: 16 / 9;
    overflow: hidden;
  }
  .blog-card-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  .blog-card-body {
    padding: 12px 14px 14px;
    gap: 8px;
  }
  .blog-card-title {
    font-size: 14px;
    line-height: 1.3;
    -webkit-line-clamp: 2;
  }
  .blog-card-excerpt {
    font-size: 12px;
    line-height: 1.45;
    -webkit-line-clamp: 2;
  }
  .blog-card-author-row {
    gap: 8px;
  }
  .blog-card-author-avatar {
    width: 26px;
    height: 26px;
  }
  .blog-card-author-name {
    font-size: 12px;
  }
  /* stripe-bg hidden via the .blog-swiper rule above — no extra rule here */
}
/* Smaller mobile — tighter section padding so the first/last slide isn't
   shoved against the section edge. Bottom padding reduced too so the gap
   to the footer feels tight, not loose. */
@media (max-width: 767.98px) {
  .blog-section {
    padding: 20px 12px 20px;
    margin-bottom: 0;
  }
}
@media (min-width: 768px) and (max-width: 1023.98px) {
  .blog-section {
    padding-bottom: 28px;
    margin-bottom: 0;
  }
}

@media (min-width: 768px) {
  .blog-section {
    padding: 40px 28px 50px;
    border-radius: 18px;
  }
  .blog-section-header { margin-bottom: 32px; }
  /* Match Organization heading sizing (.trending-h2 inheritance): 30px at >=768px */
  .blog-section-heading { font-size: 30px; }
  .blog-section-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 28px;
  }
}
@media (min-width: 1024px) {
  .blog-section {
    padding: 50px 32px 60px;
    border-radius: 20px;
  }
  .blog-section-header {
    margin-bottom: 40px;
    flex-wrap: nowrap;
  }
  /* Match Organization heading sizing: 40px at >=1024px */
  .blog-section-heading { font-size: 40px; line-height: 1.1; }
  .blog-section-view-all { padding: 9px 16px; font-size: 13px; }
  .blog-section-grid {
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
  }
}

/* ==========================================================
   BLOG CARD V2 — image on top (original ratio kept) + dark
   navy info area with author / category / date and visible
   left + right vertical border accents.
   ========================================================== */
/* Stacked-layer wrapper — striped back layer pokes out on inline-start + bottom,
   dark navy front card on top. Uses CSS logical properties so RTL auto-flips. */
.blog-card-wrap {
  position: relative;
  height: 100%;
}
.blog-card-stripe-bg {
  position: absolute;
  inset-block-start: 10px;
  inset-block-end: -10px;
  inset-inline-start: -10px;
  inset-inline-end: 10px;
  border-radius: 18px;
  background:
    repeating-linear-gradient(
      -45deg,
      rgba(125, 211, 252, 0.85) 0 2px,
      transparent 2px 4px
    ),
    #0F0A26;
  z-index: 1;
  pointer-events: none;
}

/* Front card — dark navy surface on top */
.blog-card {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  height: 100%;
  background: #221755;
  border-radius: 16px;
  overflow: hidden;
  cursor: pointer;
  transition: transform 0.3s ease;
}
.blog-card:hover {
  transform: translateY(-2px);
}

/* Media: keep current image ratio — no forced crop */
.blog-card-media {
  position: relative;
  display: block;
  background: #1a1235;
  text-decoration: none;
}
.blog-card-image {
  width: 100%;
  height: auto;
  display: block;
  object-fit: cover;
  transition: transform 0.4s ease;
}
.blog-card:hover .blog-card-image { transform: scale(1.03); }
.blog-card-badges {
  position: absolute;
  top: 12px;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  inset-inline-start: 12px;
}

/* Body — dark navy text area below the image */
.blog-card-body {
  position: relative;
  padding: 18px 20px 20px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  background: #221755;
  color: #FFFFFF;
  flex: 1 1 auto;
}

.blog-card-title-link { text-decoration: none; display: block; }
.blog-card-title-link:hover { text-decoration: none; }
.blog-card-title {
  margin: 0;
  font-family: var(--font-family-base), sans-serif;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.35;
  color: #FFFFFF;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  transition: color 0.2s ease;
}
.blog-card-title-link:hover .blog-card-title { color: #BFD9F2; }

.blog-card-excerpt {
  margin: 0;
  font-family: var(--font-family-base), sans-serif;
  font-size: 13px;
  line-height: 1.5;
  color: rgba(255, 255, 255, 0.78);
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.blog-card-author-row {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: auto;
  padding-top: 10px;
  border-top: 1px solid rgba(255, 255, 255, 0.10);
}
.blog-card-author-avatar {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  object-fit: cover;
  flex-shrink: 0;
  border: 1.5px solid rgba(255, 255, 255, 0.20);
  background: rgba(255, 255, 255, 0.08);
}
.blog-card-author-info {
  display: flex;
  flex-direction: column;
  gap: 1px;
  min-width: 0;
  flex: 1 1 auto;
}
.blog-card-author-name {
  font-family: var(--font-family-base), sans-serif;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.2;
  color: #FFFFFF;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.blog-card-meta {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-family: var(--font-family-base), sans-serif;
  font-size: 11px;
  line-height: 1.2;
  color: rgba(255, 255, 255, 0.65);
  white-space: nowrap;
  overflow: hidden;
}
.blog-card-category {
  color: #7DD3FC;
  font-weight: 700;
  text-transform: capitalize;
  letter-spacing: 0.2px;
}
.blog-card-meta-sep { color: rgba(255, 255, 255, 0.40); }
.blog-card-date { color: rgba(255, 255, 255, 0.80); }

.blog-card-comments {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 4px 9px;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 999px;
  font-family: var(--font-family-base), sans-serif;
  font-size: 11px;
  font-weight: 600;
  color: rgba(255, 255, 255, 0.85);
  line-height: 1;
  flex-shrink: 0;
}
.blog-card-comments svg { color: rgba(255, 255, 255, 0.75); }

@media (min-width: 768px) {
  .blog-card-title { font-size: 17px; }
}

/* ==========================================================
   INSTRUCTOR CARD V2 — full-image card with overlaid info
   (rating top-left, subject top-right, name+role+CTA bottom)
   ========================================================== */
.instructors-shell .owl-stage-outer { overflow: visible; }
.instructors-shell .item { padding: 6px; box-sizing: border-box; }

.instructor-card-v2 {
  position: relative;
  display: block;
  width: 100%;
  aspect-ratio: 3 / 4;
  border-radius: 16px;
  overflow: hidden;
  background: #1a1235;
  box-shadow: 0 4px 14px rgba(15, 23, 42, 0.14);
  transition: transform 0.25s cubic-bezier(0.4, 0, 0.2, 1),
              box-shadow 0.25s cubic-bezier(0.4, 0, 0.2, 1);
}
.instructor-card-v2:hover {
  transform: translateY(-4px);
  box-shadow: 0 14px 28px rgba(15, 23, 42, 0.22);
}
@supports not (aspect-ratio: 1) {
  .instructor-card-v2::before {
    content: '';
    display: block;
    padding-top: 133.33%;
  }
}

.instructor-card-v2-link {
  position: absolute;
  inset: 0;
  display: block;
  text-decoration: none;
}
.instructor-card-v2-link:hover { text-decoration: none; }

.instructor-card-v2-image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.4s ease;
}
.instructor-card-v2:hover .instructor-card-v2-image { transform: scale(1.04); }

/* Soft top vignette so the white rating pill remains legible against any image */
.instructor-card-v2-image-mask {
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(180deg, rgba(15, 23, 42, 0.25) 0%, transparent 28%),
    linear-gradient(180deg, transparent 50%, rgba(15, 23, 42, 0.30) 75%, rgba(15, 23, 42, 0.55) 100%);
}

/* Top row — rating pill (left) + subject badge (right) */
.instructor-card-v2-top {
  position: absolute;
  top: 12px;
  left: 12px;
  right: 12px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  z-index: 3;
  pointer-events: none;
}
.instructor-card-v2-rating {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 4px 10px;
  background: rgba(255, 255, 255, 0.10);
  border: 1px solid rgba(255, 255, 255, 0.14);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  color: #FFFFFF;
  border-radius: 999px;
  font-family: var(--font-family-base), sans-serif;
  font-size: 12px;
  font-weight: 700;
  line-height: 1;
  box-shadow: none;
}
.instructor-card-v2-rating svg { color: #F59E0B; flex-shrink: 0; }

.instructor-card-v2-subject {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  background: rgba(34, 23, 85, 0.92);
  color: #FFFFFF;
  border-radius: 8px;
  font-family: var(--font-family-base), sans-serif;
  font-size: 13px;
  font-weight: 700;
  line-height: 1;
  box-shadow: 0 2px 6px rgba(15, 23, 42, 0.20);
}

/* Bottom info overlay — sits over the lower portion of the image, all centered */
.instructor-card-v2-overlay {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  padding: 60px 14px 14px;
  background: linear-gradient(180deg, transparent 0%, rgba(15, 9, 36, 0.65) 55%, rgba(15, 9, 36, 0.92) 100%);
  z-index: 2;
  color: #FFFFFF;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 4px;
}
.instructor-card-v2-role {
  margin: 0;
  font-family: var(--font-family-base), sans-serif;
  font-size: 11px;
  font-weight: 500;
  color: rgba(255, 255, 255, 0.78);
  letter-spacing: 0.2px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 100%;
  text-align: center;
}
.instructor-card-v2-name {
  display: block;
  margin: 0 0 10px;
  font-family: var(--font-family-base), sans-serif;
  font-size: 15px;
  font-weight: 700;
  color: #FFFFFF;
  text-decoration: none;
  line-height: 1.25;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 100%;
  text-align: center;
}
.instructor-card-v2-name:hover { color: #FFFFFF; text-decoration: none; }

/* Stats row — courses + students, centered above the CTA */
.instructor-card-v2-stats {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin: 0 0 10px;
  padding: 4px 10px;
  background: rgba(255, 255, 255, 0.10);
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 999px;
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  font-family: var(--font-family-base), sans-serif;
  font-size: 11px;
  font-weight: 500;
  color: rgba(255, 255, 255, 0.92);
  line-height: 1;
}
.instructor-card-v2-stat {
  display: inline-flex;
  align-items: center;
  gap: 4px;
}
.instructor-card-v2-stat svg {
  color: rgba(255, 255, 255, 0.85);
  flex-shrink: 0;
}
.instructor-card-v2-stat-num {
  font-weight: 700;
  color: #FFFFFF;
}
.instructor-card-v2-stat-label {
  color: rgba(255, 255, 255, 0.70);
}
.instructor-card-v2-stat-sep {
  width: 1px;
  height: 10px;
  background: rgba(255, 255, 255, 0.22);
  display: inline-block;
}
@media (max-width: 480px) {
  .instructor-card-v2-stat-label { display: none; }
  .instructor-card-v2-stats { padding: 4px 9px; gap: 6px; }
}

.instructor-card-v2-cta {
  align-self: center;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 6px 14px;
  background: rgba(34, 23, 85, 0.92);
  border: 1px solid rgba(255, 255, 255, 0.18);
  color: #FFFFFF;
  border-radius: 999px;
  font-family: var(--font-family-base), sans-serif;
  font-size: 11px;
  font-weight: 600;
  text-decoration: none;
  letter-spacing: 0.2px;
  transition: background 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}
.instructor-card-v2-cta:hover {
  background: var(--secondary, #0872BA);
  border-color: rgba(255, 255, 255, 0.30);
  color: #FFFFFF;
  text-decoration: none;
  transform: translateY(-1px);
}
.instructor-card-v2-cta-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #10B981;
  box-shadow: 0 0 0 2px rgba(16, 185, 129, 0.30);
  display: inline-block;
  flex-shrink: 0;
}
.rtl .instructor-card-v2-cta svg { transform: scaleX(-1); }

/* Responsive sizing */
@media (min-width: 768px) {
  .instructor-card-v2-name { font-size: 16px; }
  .instructor-card-v2-role { font-size: 12px; }
  .instructor-card-v2-cta { padding: 7px 14px; font-size: 12px; }
}
@media (min-width: 1024px) {
  .instructor-card-v2 { aspect-ratio: 4 / 5; }
  .instructor-card-v2-overlay { padding: 70px 16px 16px; }
}

/* ==========================================================
   ORGANIZATIONS — section shell + modern card design
   Mirrors the instructor shell + introduces .org-card-v2.
   ========================================================== */
.organizations-section {
  position: relative;
  isolation: isolate;
  background: linear-gradient(135deg, #EFF6FF 0%, #F5F3FF 100%);
  border-radius: 16px;
  padding: 20px 16px 28px;
  margin-top: 24px;
  margin-bottom: 24px;
  overflow: hidden;
}
.organizations-dots-bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 0;
}
.organizations-glow {
  position: absolute;
  border-radius: 50%;
  pointer-events: none;
  z-index: 0;
  filter: blur(2px);
}
.organizations-glow-tr {
  top: -40px;
  right: -40px;
  width: 220px;
  height: 220px;
  background: radial-gradient(circle, rgba(8, 114, 186, 0.16) 0%, transparent 70%);
}
.organizations-glow-bl {
  bottom: -60px;
  left: -60px;
  width: 240px;
  height: 240px;
  background: radial-gradient(circle, rgba(34, 23, 85, 0.10) 0%, transparent 70%);
}
.organizations-content { position: relative; z-index: 1; }

.organizations-section-header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 20px;
}
.organizations-heading-group { min-width: 0; }
.organizations-pagination-row { margin-top: 8px; }

/* Owl Carousel container — equal-height items, same animation as instructor */
.organization-owl-container { padding: 8px 0 30px; }

/* Force equal-height across all owl items so every card lines up regardless of bio length */
.organization-owl-container.owl-carousel .owl-stage {
  display: flex;
  align-items: stretch;
}
.organization-owl-container .owl-item {
  display: flex;
  height: auto;
}
.organization-owl-container .owl-item > .item {
  display: flex;
  width: 100%;
  align-self: stretch;
}

/* Carousel centered-zoom effect (matches .customers-testimonials trick used by instructor) */
.organization-owl-container .item {
  padding: 14px 8px;
  box-sizing: border-box;
  text-align: center;
  opacity: 0.55;
  transform: scale3d(0.85, 0.85, 1);
  transition: opacity 0.35s ease-in-out, transform 0.35s ease-in-out;
}
.organization-owl-container .owl-item.active .item { opacity: 0.85; }
.organization-owl-container .owl-item.active.center .item {
  opacity: 1;
  transform: scale3d(1, 1, 1);
}
.organization-owl-container .org-card-v2 { height: 100%; }

/* Restyle Owl's native dots to match the home-wide bar+dots pattern (mirrors instructor styling).
   Dots are moved into .organizations-pagination by JS. */
.organizations-section .owl-dots,
.organizations-pagination .owl-dots {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  margin: 0 !important;
  padding: 0 !important;
  width: auto !important;
  position: static !important;
  text-align: center !important;
  line-height: 1 !important;
  transform: none !important;
}
.organizations-section .owl-dots .owl-dot,
.organizations-pagination .owl-dots .owl-dot {
  display: inline-flex !important;
  align-items: center !important;
  outline: none !important;
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
.organizations-section .owl-dots .owl-dot span,
.organizations-pagination .owl-dots .owl-dot span {
  display: inline-block !important;
  width: 4px !important;
  height: 4px !important;
  margin: 0 !important;
  padding: 0 !important;
  background: #D1D5DB !important;
  background-color: #D1D5DB !important;
  border: none !important;
  border-radius: 999px !important;
  box-shadow: none !important;
  transform: none !important;
  transition: background 0.25s ease, width 0.25s ease !important;
}
.organizations-section .owl-dots .owl-dot.active span,
.organizations-pagination .owl-dots .owl-dot.active span {
  width: 18px !important;
  background: #221755 !important;
  border: none !important;
  transform: none !important;
}
@media (min-width: 768px) {
  .organizations-section .owl-dots .owl-dot span,
  .organizations-pagination .owl-dots .owl-dot span { width: 5px !important; height: 5px !important; }
  .organizations-section .owl-dots .owl-dot.active span,
  .organizations-pagination .owl-dots .owl-dot.active span { width: 22px !important; height: 5px !important; }
}
@media (min-width: 1024px) {
  .organizations-section .owl-dots .owl-dot span,
  .organizations-pagination .owl-dots .owl-dot span { width: 6px !important; height: 6px !important; }
  .organizations-section .owl-dots .owl-dot.active span,
  .organizations-pagination .owl-dots .owl-dot.active span { width: 28px !important; height: 6px !important; }
}

/* Modern org card — frosted glass surface, equal min-height */
.org-card-v2 {
  position: relative;
  display: flex;
  flex-direction: column;
  height: 100%;
  width: 100%;
  min-height: 290px;
  background: rgba(255, 255, 255, 0.55);
  backdrop-filter: blur(20px) saturate(160%);
  -webkit-backdrop-filter: blur(20px) saturate(160%);
  border: 1px solid rgba(255, 255, 255, 0.65);
  border-radius: 16px;
  padding: 22px 18px 20px;
  text-decoration: none;
  box-shadow:
    0 4px 18px rgba(15, 23, 42, 0.06),
    inset 0 1px 0 rgba(255, 255, 255, 0.55);
  transition: transform 0.25s cubic-bezier(0.4, 0, 0.2, 1),
              box-shadow 0.25s cubic-bezier(0.4, 0, 0.2, 1),
              border-color 0.2s ease,
              background 0.25s ease;
}
.org-card-v2:hover {
  transform: translateY(-4px);
  background: rgba(255, 255, 255, 0.75);
  border-color: rgba(255, 255, 255, 0.9);
  box-shadow:
    0 14px 32px rgba(34, 23, 85, 0.14),
    inset 0 1px 0 rgba(255, 255, 255, 0.70);
}
.org-card-v2-link {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  text-decoration: none;
  height: 100%;
  color: inherit;
}
.org-card-v2-link:hover,
.org-card-v2-link:focus { text-decoration: none; color: inherit; }

.org-card-v2-avatar-wrap {
  position: relative;
  width: 88px;
  height: 88px;
  border-radius: 50%;
  background: linear-gradient(135deg, #EFF6FF 0%, #F5F3FF 100%);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 14px;
  padding: 4px;
  box-shadow: inset 0 0 0 1px rgba(8, 114, 186, 0.20);
}
.org-card-v2-avatar {
  width: 100%;
  height: 100%;
  border-radius: 50%;
  object-fit: cover;
  display: block;
  background: #FFFFFF;
}

.org-card-v2-name {
  margin: 0 0 6px;
  font-family: var(--font-family-base), sans-serif;
  font-size: 16px;
  font-weight: 700;
  color: #221755;
  line-height: 1.3;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 100%;
}
.org-card-v2-bio {
  margin: 0 0 14px;
  font-family: var(--font-family-base), sans-serif;
  font-size: 13px;
  color: #4B5563;
  line-height: 1.5;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  max-width: 100%;
}

.org-card-v2-badge {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 5px 12px;
  background: rgba(8, 114, 186, 0.08);
  border: 1px solid rgba(8, 114, 186, 0.18);
  border-radius: 999px;
  font-family: var(--font-family-base), sans-serif;
  font-size: 12px;
  font-weight: 600;
  color: #0872BA;
  line-height: 1;
  margin-top: auto;
}
.org-card-v2-badge svg { color: #0872BA; flex-shrink: 0; }
.org-card-v2:hover .org-card-v2-badge {
  background: #0872BA;
  border-color: #0872BA;
  color: #FFFFFF;
}
.org-card-v2:hover .org-card-v2-badge svg { color: #FFFFFF; }

/* Tablet (≥ 768px) */
@media (min-width: 768px) {
  .organizations-section { padding: 28px 24px 36px; border-radius: 18px; }
  .organizations-glow-tr { width: 240px; height: 240px; top: -50px; right: -50px; }
  .organizations-glow-bl { width: 260px; height: 260px; bottom: -70px; left: -70px; }
  .organizations-section-header { margin-bottom: 24px; }
  .organizations-controls { display: inline-flex; }
  .organizations-view-all-desktop { display: inline-flex; }
  .organizations-view-all-mobile { display: none; }
  .organizations-pagination-row { justify-content: center; margin-top: 4px; }
  .org-card-v2 { padding: 24px 20px 22px; }
  .org-card-v2-avatar-wrap { width: 96px; height: 96px; margin-bottom: 16px; }
  .org-card-v2-name { font-size: 17px; }
}

/* Desktop (≥ 1024px) */
@media (min-width: 1024px) {
  .organizations-section { padding: 32px; border-radius: 20px; }
  .organizations-section-header { margin-bottom: 28px; }
  .organizations-pagination-row { margin-top: 8px; }
}

/* ==========================================================
   INSTRUCTORS — section shell (dotted pattern, reuses
   the standard header chrome from .newest-* / .trending-*).
   Owl Carousel inside is untouched; its native dots are
   restyled to match the bar+dots pattern, and our header
   buttons drive owl via JS (next/prev triggers).
   ========================================================== */
.instructors-shell {
  position: relative;
  isolation: isolate;
  background: linear-gradient(135deg, #EFF6FF 0%, #F5F3FF 100%);
  border-radius: 16px;
  padding: 20px 16px;
  margin-top: 24px;
  margin-bottom: 24px;
  overflow: hidden;
}
.instructors-dots-bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 0;
}
.instructors-glow {
  position: absolute;
  border-radius: 50%;
  pointer-events: none;
  z-index: 0;
  filter: blur(2px);
}
.instructors-glow-tr {
  top: -40px;
  right: -40px;
  width: 220px;
  height: 220px;
  background: radial-gradient(circle, rgba(8, 114, 186, 0.16) 0%, transparent 70%);
}
.instructors-glow-bl {
  bottom: -60px;
  left: -60px;
  width: 240px;
  height: 240px;
  background: radial-gradient(circle, rgba(34, 23, 85, 0.10) 0%, transparent 70%);
}
.instructors-content { position: relative; z-index: 1; }

.instructors-section-header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 20px;
}
.instructors-heading-group { min-width: 0; }
.instructors-pagination-row { margin-top: 8px; }

/* Restyle Owl Carousel's native dots to match the home-wide bar+dots pattern.
   Scoped to .instructors-shell. JS relocates these into .instructors-pagination.
   Selector specificity bumped with .customers-testimonials.owl-carousel to beat
   the legacy theme rule at app.css:15670. */
.instructors-shell .owl-dots,
.instructors-shell .customers-testimonials.owl-carousel .owl-dots,
.instructors-pagination .owl-dots {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  margin: 0 !important;
  padding: 0 !important;
  width: auto !important;
  position: static !important;
  text-align: center !important;
  line-height: 1 !important;
  transform: none !important;
}
.instructors-shell .owl-dots .owl-dot,
.instructors-shell .customers-testimonials.owl-carousel .owl-dots .owl-dot,
.instructors-pagination .owl-dots .owl-dot {
  display: inline-flex !important;
  align-items: center !important;
  outline: none !important;
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
.instructors-shell .owl-dots .owl-dot span,
.instructors-shell .customers-testimonials.owl-carousel .owl-dots .owl-dot span,
.instructors-pagination .owl-dots .owl-dot span {
  display: inline-block !important;
  width: 4px !important;
  height: 4px !important;
  margin: 0 !important;
  padding: 0 !important;
  background: #D1D5DB !important;
  background-color: #D1D5DB !important;
  border: none !important;
  border-radius: 999px !important;
  box-shadow: none !important;
  transform: none !important;
  transition: background 0.25s ease, width 0.25s ease !important;
}
.instructors-shell .owl-dots .owl-dot.active span,
.instructors-shell .customers-testimonials.owl-carousel .owl-dots .owl-dot.active span,
.instructors-pagination .owl-dots .owl-dot.active span {
  width: 18px !important;
  background: #221755 !important;
  background-color: #221755 !important;
  border: none !important;
  transform: none !important;
}
.instructors-shell .owl-dots .owl-dot:hover span,
.instructors-shell .customers-testimonials.owl-carousel .owl-dots .owl-dot:hover span,
.instructors-pagination .owl-dots .owl-dot:hover span {
  transform: none !important;
}
@media (min-width: 768px) {
  .instructors-shell .owl-dots .owl-dot span,
  .instructors-shell .customers-testimonials.owl-carousel .owl-dots .owl-dot span,
  .instructors-pagination .owl-dots .owl-dot span { width: 5px !important; height: 5px !important; }
  .instructors-shell .owl-dots .owl-dot.active span,
  .instructors-shell .customers-testimonials.owl-carousel .owl-dots .owl-dot.active span,
  .instructors-pagination .owl-dots .owl-dot.active span { width: 22px !important; height: 5px !important; }
}
@media (min-width: 1024px) {
  .instructors-shell .owl-dots .owl-dot span,
  .instructors-shell .customers-testimonials.owl-carousel .owl-dots .owl-dot span,
  .instructors-pagination .owl-dots .owl-dot span { width: 6px !important; height: 6px !important; }
  .instructors-shell .owl-dots .owl-dot.active span,
  .instructors-shell .customers-testimonials.owl-carousel .owl-dots .owl-dot.active span,
  .instructors-pagination .owl-dots .owl-dot.active span { width: 28px !important; height: 6px !important; }
}

/* Tablet (≥ 768px) */
@media (min-width: 768px) {
  .instructors-shell { padding: 28px 24px; border-radius: 18px; }
  .instructors-glow-tr { width: 240px; height: 240px; top: -50px; right: -50px; }
  .instructors-glow-bl { width: 260px; height: 260px; bottom: -70px; left: -70px; }
  .instructors-section-header { margin-bottom: 24px; }
  .instructors-controls { display: inline-flex; }
  .instructors-view-all-desktop { display: inline-flex; }
  .instructors-view-all-mobile { display: none; }
  .instructors-pagination-row { justify-content: center; margin-top: 4px; }
}

/* Desktop (≥ 1024px) */
@media (min-width: 1024px) {
  .instructors-shell { padding: 32px; border-radius: 20px; }
  .instructors-section-header { margin-bottom: 28px; }
  .instructors-pagination-row { margin-top: 8px; }
}

/* ==========================================================
   FREE COURSES — section shell (gift box pattern background)
   Cards (.grid-card) inside remain untouched; green Free
   pill is overlaid as a sibling inside .swiper-slide.
   ========================================================== */
.free-section {
  position: relative;
  isolation: isolate;
  background: linear-gradient(135deg, #EFF6FF 0%, #F5F3FF 100%);
  border-radius: 16px;
  padding: 20px 16px;
  margin-top: 24px;
  margin-bottom: 24px;
  overflow: hidden;
}
.free-gifts-bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 0;
}
.free-glow {
  position: absolute;
  border-radius: 50%;
  pointer-events: none;
  z-index: 0;
  filter: blur(2px);
}
.free-glow-tr {
  top: -40px;
  right: -40px;
  width: 220px;
  height: 220px;
  background: radial-gradient(circle, rgba(8, 114, 186, 0.16) 0%, transparent 70%);
}
.free-glow-bl {
  bottom: -60px;
  left: -60px;
  width: 240px;
  height: 240px;
  background: radial-gradient(circle, rgba(34, 23, 85, 0.08) 0%, transparent 70%);
}
.free-content { position: relative; z-index: 1; }

.free-section-header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 20px;
}
.free-heading-group { min-width: 0; }
.free-pagination-row { margin-top: 8px; }

/* Slide wrapper anchors the Free pill against the thumbnail */
.free-slide { position: relative; }

/* Green Free pill — top-right of each card thumbnail, revealed on hover
   (priority badge stays top-left; this avoids overlapping it) */
.free-pill {
  position: absolute;
  top: 14px;
  inset-inline-end: 14px;
  z-index: 4;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 4px 10px;
  font-family: var(--font-family-base), sans-serif;
  font-size: 11px;
  font-weight: 700;
  line-height: 1;
  color: #FFFFFF;
  background: linear-gradient(135deg, #059669, #10B981);
  border-radius: 999px;
  box-shadow: 0 2px 6px rgba(5, 150, 105, 0.30);
  text-transform: uppercase;
  letter-spacing: 0.4px;
  pointer-events: none;
  opacity: 0;
  transform: translateY(-4px);
  transition: opacity 0.2s ease, transform 0.2s ease;
}
.free-slide:hover .free-pill {
  opacity: 1;
  transform: translateY(0);
}
@media (hover: none) {
  .free-pill { opacity: 1; transform: none; }
}
.free-pill svg { color: #FFFFFF; }

/* Scoped grid-card overrides — green badges/text within .free-section only.
   Other sections keep their original colors. */
.free-section .grid-card .free,
.free-section .grid-card .badge-free,
.free-section .grid-card .is-free,
.free-section .grid-card .free-tag {
  background: linear-gradient(135deg, #059669, #10B981) !important;
  color: #FFFFFF !important;
  border: none !important;
}
.free-section .grid-card .price-free,
.free-section .grid-card .free-price,
.free-section .grid-card .featured-card-price-free {
  color: #059669 !important;
  font-weight: 700 !important;
}

/* Tablet (≥ 768px) */
@media (min-width: 768px) {
  .free-section { padding: 28px 24px; border-radius: 18px; }
  .free-glow-tr { width: 240px; height: 240px; top: -50px; right: -50px; }
  .free-glow-bl { width: 260px; height: 260px; bottom: -70px; left: -70px; }
  .free-section-header { margin-bottom: 24px; }
  .free-controls { display: inline-flex; }
  .free-view-all-desktop { display: inline-flex; }
  .free-view-all-mobile { display: none; }
  .free-pagination-row { justify-content: center; margin-top: 4px; }
  .free-pill { top: 16px; inset-inline-end: 16px; padding: 4px 11px; font-size: 12px; }
}

/* Desktop (≥ 1024px) */
@media (min-width: 1024px) {
  .free-section { padding: 32px; border-radius: 20px; }
  .free-section-header { margin-bottom: 28px; }
  .free-pagination-row { margin-top: 8px; }
}

/* ==========================================================
   DISCOUNTED — section shell (price tag pattern background)
   Cards (.grid-card) inside remain untouched; red discount
   pill is overlaid as a sibling inside .swiper-slide.
   ========================================================== */
.discounted-section {
  position: relative;
  isolation: isolate;
  background: linear-gradient(135deg, #EFF6FF 0%, #F5F3FF 100%);
  border-radius: 16px;
  padding: 20px 16px;
  margin-top: 24px;
  margin-bottom: 24px;
  overflow: hidden;
}
.discounted-tags-bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 0;
}
.discounted-glow {
  position: absolute;
  border-radius: 50%;
  pointer-events: none;
  z-index: 0;
  filter: blur(2px);
}
.discounted-glow-tr {
  top: -40px;
  right: -40px;
  width: 220px;
  height: 220px;
  background: radial-gradient(circle, rgba(8, 114, 186, 0.16) 0%, transparent 70%);
}
.discounted-glow-bl {
  bottom: -60px;
  left: -60px;
  width: 240px;
  height: 240px;
  background: radial-gradient(circle, rgba(34, 23, 85, 0.08) 0%, transparent 70%);
}
.discounted-content { position: relative; z-index: 1; }

.discounted-section-header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 20px;
}
.discounted-heading-group { min-width: 0; }
.discounted-pagination-row { margin-top: 8px; }

/* Slide wrapper so the discount pill anchors against the thumbnail */
.discounted-slide { position: relative; }

/* Red discount pill — top-left of each card thumbnail */
.discounted-pill {
  position: absolute;
  top: 14px;
  left: 14px;
  z-index: 4;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 4px 10px;
  font-family: var(--font-family-base), sans-serif;
  font-size: 11px;
  font-weight: 700;
  line-height: 1;
  color: #FFFFFF;
  background: linear-gradient(135deg, #DC2626, #EF4444);
  border-radius: 999px;
  box-shadow: 0 2px 6px rgba(220, 38, 38, 0.30);
  text-transform: uppercase;
  letter-spacing: 0.4px;
  pointer-events: none;
}
.discounted-pill svg { color: #FFFFFF; }
.rtl .discounted-pill { left: auto; right: 14px; }

/* Scoped grid-card overrides — only inside .discounted-section.
   These tint the existing card's discount badge red and color the price red. */
.discounted-section .grid-card .discount,
.discounted-section .grid-card .badge-discount,
.discounted-section .grid-card .has-discount,
.discounted-section .grid-card .featured-card-ribbon-discount {
  background: linear-gradient(135deg, #DC2626, #EF4444) !important;
  color: #FFFFFF !important;
  border: none !important;
}
.discounted-section .grid-card .price,
.discounted-section .grid-card .new-price,
.discounted-section .grid-card .price-new {
  color: #DC2626 !important;
}

/* Tablet (≥ 768px) */
@media (min-width: 768px) {
  .discounted-section { padding: 28px 24px; border-radius: 18px; }
  .discounted-glow-tr { width: 240px; height: 240px; top: -50px; right: -50px; }
  .discounted-glow-bl { width: 260px; height: 260px; bottom: -70px; left: -70px; }
  .discounted-section-header { margin-bottom: 24px; }
  .discounted-controls { display: inline-flex; }
  .discounted-view-all-desktop { display: inline-flex; }
  .discounted-view-all-mobile { display: none; }
  .discounted-pagination-row { justify-content: center; margin-top: 4px; }
  .discounted-pill { top: 16px; left: 16px; padding: 4px 11px; font-size: 12px; }
  .rtl .discounted-pill { left: auto; right: 16px; }
}

/* Desktop (≥ 1024px) */
@media (min-width: 1024px) {
  .discounted-section { padding: 32px; border-radius: 20px; }
  .discounted-section-header { margin-bottom: 28px; }
  .discounted-pagination-row { margin-top: 8px; }
}

/* ==========================================================
   BESTSELLING — section shell (flame pattern background)
   Cards (.grid-card) inside remain untouched; rank pill is
   added as a sibling inside .swiper-slide.
   ========================================================== */
.bestselling-section {
  position: relative;
  isolation: isolate;
  background: linear-gradient(135deg, #EFF6FF 0%, #F5F3FF 100%);
  border-radius: 16px;
  padding: 20px 16px;
  margin-top: 24px;
  margin-bottom: 24px;
  overflow: hidden;
}
.bestselling-section::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background:
    radial-gradient(ellipse 50% 65% at 20% 50%, rgba(245, 158, 11, 0.42) 0%, transparent 70%),
    radial-gradient(ellipse 50% 60% at 80% 50%, rgba(239, 68, 68, 0.32) 0%, transparent 70%),
    radial-gradient(ellipse 70% 85% at 50% 55%, rgba(217, 70, 239, 0.18) 0%, transparent 75%);
  -webkit-mask-image: linear-gradient(180deg, transparent 0%, #000 8%, #000 92%, transparent 100%);
          mask-image: linear-gradient(180deg, transparent 0%, #000 8%, #000 92%, transparent 100%);
}
.bestselling-flames-bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 0;
}
.bestselling-glow {
  position: absolute;
  border-radius: 50%;
  pointer-events: none;
  z-index: 0;
  filter: blur(2px);
}
.bestselling-glow-tr {
  top: -40px;
  right: -40px;
  width: 220px;
  height: 220px;
  background: radial-gradient(circle, rgba(8, 114, 186, 0.16) 0%, transparent 70%);
}
.bestselling-glow-bl {
  bottom: -60px;
  left: -60px;
  width: 240px;
  height: 240px;
  background: radial-gradient(circle, rgba(34, 23, 85, 0.08) 0%, transparent 70%);
}
.bestselling-content { position: relative; z-index: 1; }

.bestselling-section-header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 20px;
}
.bestselling-heading-group { min-width: 0; }
.bestselling-pagination-row { margin-top: 8px; }

/* Slide wrapper needs position:relative so the rank pill anchors against the thumbnail */
.bestselling-slide { position: relative; }

/* Rank pill — top-right of each card thumbnail */
.bestselling-rank-pill {
  position: absolute;
  top: 14px;
  right: 14px;
  z-index: 4;
  padding: 4px 10px;
  font-family: var(--font-family-base), sans-serif;
  font-size: 11px;
  font-weight: 700;
  line-height: 1;
  color: #221755;
  background: rgba(255, 255, 255, 0.95);
  border: 1px solid rgba(15, 23, 42, 0.06);
  border-radius: 999px;
  box-shadow: 0 2px 6px rgba(15, 23, 42, 0.12);
  letter-spacing: 0.2px;
  pointer-events: none;
}
.rtl .bestselling-rank-pill { right: auto; left: 14px; }

/* Amber gradient override for any bestseller/feature badge that renders inside this section.
   Scoped to .bestselling-section so other sections are unaffected. */
.bestselling-section .grid-card .feature-tag,
.bestselling-section .grid-card .badge-feature,
.bestselling-section .grid-card .featured-tag,
.bestselling-section .featured-card-ribbon-bestseller {
  background: linear-gradient(135deg, #D97706, #F59E0B) !important;
  color: #FFFFFF !important;
  border: none !important;
}

/* Tablet (≥ 768px) */
@media (min-width: 768px) {
  .bestselling-section { padding: 28px 24px; border-radius: 18px; }
  .bestselling-glow-tr { width: 240px; height: 240px; top: -50px; right: -50px; }
  .bestselling-glow-bl { width: 260px; height: 260px; bottom: -70px; left: -70px; }
  .bestselling-section-header { margin-bottom: 24px; }
  .bestselling-controls { display: inline-flex; }
  .bestselling-view-all-desktop { display: inline-flex; }
  .bestselling-view-all-mobile { display: none; }
  .bestselling-pagination-row { justify-content: center; margin-top: 4px; }
  .bestselling-rank-pill { top: 16px; right: 16px; padding: 4px 11px; font-size: 12px; }
  .rtl .bestselling-rank-pill { right: auto; left: 16px; }
}

/* Desktop (≥ 1024px) */
@media (min-width: 1024px) {
  .bestselling-section { padding: 32px; border-radius: 20px; }
  .bestselling-section-header { margin-bottom: 28px; }
  .bestselling-pagination-row { margin-top: 8px; }
}

/* ==========================================================
   BEST RATED — section shell (scattered stars background)
   Cards (.grid-card) inside remain untouched.
   ========================================================== */
.best-rated-section {
  position: relative;
  isolation: isolate;
  background: linear-gradient(135deg, #EFF6FF 0%, #EEF2FF 50%, #F5F3FF 100%);
  border-radius: 16px;
  padding: 20px 16px;
  margin-top: 24px;
  margin-bottom: 24px;
  overflow: hidden;
}
.best-rated-stars-bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 0;
}
.best-rated-glow {
  position: absolute;
  border-radius: 50%;
  pointer-events: none;
  z-index: 0;
  filter: blur(2px);
}
.best-rated-glow-tr {
  top: -50px;
  right: -50px;
  width: 220px;
  height: 220px;
  background: radial-gradient(circle, rgba(8, 114, 186, 0.16) 0%, transparent 70%);
}
.best-rated-glow-bl {
  bottom: -60px;
  left: -60px;
  width: 240px;
  height: 240px;
  background: radial-gradient(circle, rgba(34, 23, 85, 0.12) 0%, transparent 70%);
}
.best-rated-content { position: relative; z-index: 1; }

.best-rated-section-header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 20px;
}
.best-rated-heading-group { min-width: 0; }
.best-rated-pagination-row { margin-top: 8px; }

/* Tablet (≥ 768px) */
@media (min-width: 768px) {
  .best-rated-section { padding: 28px 24px; border-radius: 18px; }
  .best-rated-glow-tr { width: 240px; height: 240px; top: -50px; right: -50px; }
  .best-rated-glow-bl { width: 260px; height: 260px; bottom: -70px; left: -70px; }
  .best-rated-section-header { margin-bottom: 24px; }
  .best-rated-controls { display: inline-flex; }
  .best-rated-view-all-desktop { display: inline-flex; }
  .best-rated-view-all-mobile { display: none; }
  .best-rated-pagination-row { justify-content: center; margin-top: 4px; }
}

/* Desktop (≥ 1024px) */
@media (min-width: 1024px) {
  .best-rated-section { padding: 32px; border-radius: 20px; }
  .best-rated-section-header { margin-bottom: 28px; }
  .best-rated-pagination-row { margin-top: 8px; }
}

/* ==========================================================
   FEATURED COURSES — section shell (clone of newest, sparkle bg)
   Cards (.featured-card and children) remain untouched below.
   ========================================================== */
.featured-courses-section {
  position: relative;
  isolation: isolate;
  background: linear-gradient(135deg, #F5F3FF 0%, #EFF6FF 100%);
  border-radius: 16px;
  padding: 20px 16px;
  margin-top: 24px;
  margin-bottom: 24px;
  overflow: hidden;
}
.featured-sparkles-bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 0;
}
.featured-glow {
  position: absolute;
  border-radius: 50%;
  pointer-events: none;
  z-index: 0;
  filter: blur(2px);
}
.featured-glow-tr {
  top: -40px;
  right: -40px;
  width: 200px;
  height: 200px;
  background: radial-gradient(circle, rgba(8, 114, 186, 0.16) 0%, transparent 70%);
}
.featured-glow-bl {
  bottom: -60px;
  left: -60px;
  width: 220px;
  height: 220px;
  background: radial-gradient(circle, rgba(34, 23, 85, 0.12) 0%, transparent 70%);
}
.featured-content {
  position: relative;
  z-index: 1;
}

/* Header: reuse .newest-section-header layout */
.featured-section-header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 20px;
}
.featured-heading-group { min-width: 0; }

/* Carousel wrapper (no positioned nav arrows anymore — they're in the header) */
.featured-courses-carousel { padding: 4px 0; }
.featured-courses-nav {
  position: static;
  transform: none;
  top: auto;
  left: auto;
  right: auto;
  box-shadow: none;
  opacity: 1;
}

/* Pagination row reuses .trending-pagination-row look */
.featured-pagination-row { margin-top: 8px; }

/* Tablet (≥ 768px) */
@media (min-width: 768px) {
  .featured-courses-section {
    padding: 28px 24px;
    border-radius: 18px;
  }
  .featured-glow-tr { width: 220px; height: 220px; top: -40px; right: -40px; }
  .featured-glow-bl { width: 240px; height: 240px; bottom: -60px; left: -60px; }
  .featured-section-header { margin-bottom: 24px; }
  .featured-controls { display: inline-flex; }
  .featured-view-all-desktop { display: inline-flex; }
  .featured-view-all-mobile { display: none; }
  .featured-pagination-row { justify-content: center; margin-top: 4px; }
}

/* Desktop (≥ 1024px) */
@media (min-width: 1024px) {
  .featured-courses-section {
    padding: 32px;
    border-radius: 20px;
  }
  .featured-section-header { margin-bottom: 28px; }
  .featured-pagination-row { margin-top: 8px; }
}

/* Card */
.featured-card {
  display: flex;
  flex-direction: column;
  background: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 14px;
  overflow: hidden;
  height: 100%;
  transition: transform 0.25s cubic-bezier(0.4, 0, 0.2, 1),
              box-shadow 0.25s cubic-bezier(0.4, 0, 0.2, 1),
              border-color 0.25s ease;
}
.featured-card:hover {
  transform: translateY(-4px);
  border-color: rgba(30, 90, 158, 0.20);
  box-shadow: 0 16px 36px rgba(15, 23, 42, 0.14);
}

/* Media (image area) — uses padding-bottom hack for max browser compatibility */
.featured-card-media {
  position: relative;
  display: block;
  width: 100%;
  height: 0;
  padding-bottom: 56.25%; /* 16:9 aspect */
  overflow: hidden;
  background: #F4F5F8;
}
.featured-card-image {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.4s ease;
}
.featured-card:hover .featured-card-image {
  transform: scale(1.05);
}

/* Ribbon */
.featured-card-ribbon {
  position: absolute;
  top: 12px;
  left: 12px;
  display: inline-flex;
  align-items: center;
  padding: 5px 10px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.4px;
  text-transform: uppercase;
  color: #FFFFFF;
  border-radius: 6px;
  z-index: 2;
  box-shadow: 0 4px 12px rgba(15, 23, 42, 0.20);
}
.featured-card-ribbon-discount { background: #D12E34; }
.featured-card-ribbon-bestseller { background: #F59E0B; }
.featured-card-ribbon-new { background: var(--primary); }
.rtl .featured-card-ribbon { left: auto; right: 12px; }

/* Category chip */
.featured-card-category-chip {
  position: absolute;
  bottom: 12px;
  left: 12px;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 4px 10px;
  font-size: 11px;
  font-weight: 600;
  color: #1A202C;
  background: rgba(255, 255, 255, 0.92);
  backdrop-filter: blur(4px);
  border-radius: 6px;
  z-index: 2;
  max-width: calc(100% - 24px);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.rtl .featured-card-category-chip { left: auto; right: 12px; }
.featured-card-category-chip svg { flex-shrink: 0; color: var(--primary); }

/* Body */
.featured-card-body {
  display: flex;
  flex-direction: column;
  flex: 1;
  padding: 16px 18px 18px 18px;
  gap: 10px;
  min-width: 0;
}
.featured-card-title {
  margin: 0;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.4;
  color: #0F172A;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  min-height: 44px;
}
.featured-card-title a {
  color: inherit;
  text-decoration: none;
  transition: color 0.15s ease;
}
.featured-card-title a:hover {
  color: var(--primary);
  text-decoration: none;
}

/* Teacher row */
.featured-card-teacher {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  text-decoration: none;
  min-width: 0;
  transition: color 0.15s ease;
}
.featured-card-teacher:hover {
  text-decoration: none;
}
.featured-card-teacher:hover .featured-card-teacher-name {
  color: var(--primary);
}
.featured-card-teacher-avatar {
  width: 24px;
  height: 24px;
  border-radius: 50%;
  object-fit: cover;
  flex-shrink: 0;
  border: 1px solid #E5E7EB;
}
.featured-card-teacher-name {
  font-size: 13px;
  font-weight: 500;
  color: #4B5563;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  transition: color 0.15s ease;
}

/* Rating + meta row */
.featured-card-rating-row {
  display: flex;
  align-items: center;
  gap: 14px;
  flex-wrap: wrap;
}
.featured-card-rating {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 13px;
  color: #1F2937;
}
.featured-card-rating-icon {
  color: #F59E0B;
  fill: #F59E0B;
}
.featured-card-rating-value {
  font-weight: 700;
}
.featured-card-rating-count {
  color: #6B7280;
  font-weight: 500;
}
.featured-card-meta {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 13px;
  color: #6B7280;
}
.featured-card-meta svg { flex-shrink: 0; }

/* Footer */
.featured-card-footer {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 12px;
  padding-top: 12px;
  margin-top: auto;
  border-top: 1px solid #F1F3F8;
}
.featured-card-price-block {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 2px;
  min-width: 0;
}
.featured-card-price-current {
  font-size: 18px;
  font-weight: 800;
  color: #0F172A;
  line-height: 1.1;
}
.featured-card-price-original {
  font-size: 13px;
  font-weight: 500;
  color: #94A0B8;
  text-decoration: line-through;
  line-height: 1.1;
}
.featured-card-price-free {
  font-size: 18px;
  font-weight: 800;
  color: var(--primary);
  line-height: 1.1;
}
.featured-card-enrolled {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 11px;
  color: #6B7280;
  margin-top: 2px;
}

/* CTA */
.featured-card-cta {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 8px 14px;
  background: var(--primary);
  color: #FFFFFF;
  font-size: 13px;
  font-weight: 700;
  border-radius: 8px;
  text-decoration: none;
  transition: background 0.2s ease, transform 0.2s ease;
  white-space: nowrap;
  flex-shrink: 0;
}
.featured-card-cta:hover {
  background: var(--secondary);
  color: #FFFFFF;
  text-decoration: none;
  transform: translateX(2px);
}
.rtl .featured-card-cta:hover { transform: translateX(-2px); }
.rtl .featured-card-cta svg { transform: scaleX(-1); }

/* ==========================================================
   FOOTER v2 — modernized multi-tier layout
   ========================================================== */
.footer.footer-v2 {
  background: linear-gradient(180deg, #16213C 0%, #0F172A 100%);
  color: #CBD5E1;
  padding-top: 72px;
  padding-bottom: 0;
  position: relative;
}
@media (max-width: 767px) {
  .footer.footer-v2 { padding-top: 48px; }
}

/* --- Tier A: Newsletter card --- */
.footer.footer-v2 .footer-newsletter-card {
  margin: 0 auto 56px auto;
  padding: 32px 36px;
  background: linear-gradient(135deg, rgba(30, 90, 158, 0.22) 0%, rgba(59, 130, 246, 0.12) 100%);
  border: 1px solid rgba(59, 130, 246, 0.28);
  border-radius: 18px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  flex-wrap: wrap;
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.30);
  position: relative;
}
.footer.footer-v2 .footer-newsletter-card::before {
  content: '';
  position: absolute;
  inset: -1px;
  border-radius: 18px;
  pointer-events: none;
  background: linear-gradient(135deg, rgba(59, 130, 246, 0.30), rgba(30, 90, 158, 0)) border-box;
  opacity: 0.6;
  z-index: -1;
}
.footer-newsletter-card__text {
  flex: 1 1 280px;
  min-width: 0;
}
.footer-newsletter-card__heading {
  display: block;
  font-size: 20px;
  font-weight: 700;
  color: #FFFFFF;
  line-height: 1.3;
  letter-spacing: -0.1px;
}
.footer-newsletter-card__subtitle {
  display: block;
  margin-top: 6px;
  font-size: 14px;
  color: #CBD5E1;
  line-height: 1.5;
}
.footer-newsletter-card__form {
  display: flex;
  align-items: center;
  flex: 1 1 360px;
  max-width: 460px;
  background: #FFFFFF;
  border-radius: 10px;
  padding: 4px;
  gap: 4px;
  flex-wrap: nowrap;
  overflow: hidden;          /* keep the Join button inside the white box */
}
.footer-newsletter-card__input {
  flex: 1 1 0;
  min-width: 0;
  width: 1%;                 /* let flex-grow govern; stops the input forcing the button out */
  border: none;
  background: transparent;
  padding: 10px 14px;
  font-size: 14px;
  color: #1A202C;
  outline: none;
}
.footer-newsletter-card__input::placeholder { color: #94A0B8; }
.footer-newsletter-card__btn {
  display: inline-flex;
  align-items: center;
  padding: 10px 20px;
  background: var(--primary);
  color: #FFFFFF;
  font-weight: 700;
  font-size: 14px;
  border: none;
  border-radius: 8px;
  cursor: pointer;
  transition: background 0.15s ease, transform 0.15s ease;
  white-space: nowrap;
  flex-shrink: 0;            /* button keeps its size; input shrinks instead */
}
.footer-newsletter-card__btn:hover {
  background: var(--secondary);
  transform: translateY(-1px);
}

/* RTL: ensure the email input + Join button stay inside the white form box.
   In RTL the flex direction reverses (button visually on the left) — if any
   intermediate width calc is even 1px off, the button can spill outside the
   rounded white container. Lock the layout explicitly + clip overflow as a
   safety net so the button is always contained. */
.rtl .footer-newsletter-card__form,
[dir="rtl"] .footer-newsletter-card__form {
  flex-wrap: nowrap;
  overflow: hidden;
}
.rtl .footer-newsletter-card__input,
[dir="rtl"] .footer-newsletter-card__input {
  flex: 1 1 0;
  min-width: 0;
  width: 1%;             /* lets flex grow govern, prevents native size= width */
  text-align: right;
  direction: rtl;
}
.rtl .footer-newsletter-card__btn,
[dir="rtl"] .footer-newsletter-card__btn {
  flex-shrink: 0;        /* never shrinks below content */
}

/* --- Tier B: Brand block + columns grid --- */
.footer.footer-v2 .footer-grid {
  display: grid;
  grid-template-columns: 1.4fr repeat(4, 1fr);
  gap: 32px;
  padding-bottom: 40px;
}
@media (max-width: 991px) {
  .footer.footer-v2 .footer-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 28px;
  }
}
@media (max-width: 575px) {
  .footer.footer-v2 .footer-grid {
    grid-template-columns: 1fr;
  }
}

/* Brand block */
.footer-brand { color: #CBD5E1; }
.footer-brand__logo-link {
  display: inline-block;
  margin-bottom: 12px;
}
.footer-brand__logo {
  height: 40px;
  width: auto;
  max-width: 160px;
  object-fit: contain;
}
.footer-brand__name {
  font-size: 18px;
  font-weight: 700;
  color: #FFFFFF;
  margin-bottom: 8px;
}
.footer-brand__tagline {
  font-size: 13px;
  line-height: 1.6;
  color: #94A0B8;
  margin-bottom: 18px;
  max-width: 320px;
}
.footer-brand__contact {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-bottom: 20px;
}
.footer-brand__contact-row {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #CBD5E1;
  font-size: 13px;
  text-decoration: none;
  transition: color 0.15s ease;
}
a.footer-brand__contact-row:hover {
  color: #FFFFFF;
  text-decoration: none;
}
.footer-brand__contact-row > svg {
  flex-shrink: 0;
  color: var(--secondary);
}
.footer-brand__socials {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}
.footer-brand__social-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.10);
  transition: background 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}
.footer-brand__social-link:hover {
  background: var(--secondary);
  border-color: var(--secondary);
  transform: translateY(-2px);
}
.footer-brand__social-link img {
  width: 18px;
  height: 18px;
  object-fit: contain;
  filter: brightness(0) invert(1);
}

/* Admin-managed columns */
.footer.footer-v2 .footer-col {}
.footer.footer-v2 .footer-col__title {
  display: block;
  font-size: 13px;
  font-weight: 700;
  color: #FFFFFF;
  letter-spacing: 0.4px;
  text-transform: uppercase;
  margin-bottom: 16px;
}
.footer.footer-v2 .footer-col__links { font-size: 13px; }
.footer.footer-v2 .footer-col__links p {
  margin: 0 0 10px 0;
  line-height: 1.5;
}
.footer.footer-v2 .footer-col__links a {
  color: #CBD5E1;
  text-decoration: none;
  font-size: 13px;
  transition: color 0.15s ease;
  position: relative;
}
.footer.footer-v2 .footer-col__links a:hover {
  color: #FFFFFF;
  text-decoration: none;
}
.footer.footer-v2 .footer-col__links a:focus-visible {
  outline: 2px solid var(--secondary);
  outline-offset: 2px;
  border-radius: 2px;
}

/* --- Tier C: SEO showcase grids --- */
.footer-showcase {
  padding: 12px 0 28px 0;
  border-top: 1px solid rgba(255, 255, 255, 0.06);
}
.footer-showcase__row {
  padding: 16px 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.04);
}
.footer-showcase__row:last-child { border-bottom: 0; }
.footer-showcase__title {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.8px;
  text-transform: uppercase;
  color: #94A0B8;
  margin: 0 0 12px 0;
}
.footer-showcase__links {
  display: flex;
  flex-wrap: wrap;
  /* Zero the column-gap because the ::before separator dot now owns the
     horizontal spacing — that guarantees the dot is centered between
     items rather than offset toward one of them. Row-gap (6px) preserved
     for vertical breathing room when items wrap. */
  gap: 6px 0;
}
.footer-showcase__links a {
  color: #CBD5E1;
  text-decoration: none;
  font-size: 13px;
  line-height: 1.6;
  position: relative;
  transition: color 0.15s ease;
}
.footer-showcase__links a:hover {
  color: #FFFFFF;
  text-decoration: none;
}
.footer-showcase__links a:focus-visible {
  outline: 2px solid var(--secondary);
  outline-offset: 2px;
  border-radius: 2px;
}
.footer-showcase__links a + a::before {
  content: '•';                         /* bullet — more visible than middle-dot */
  margin: 0 12px;                       /* symmetric — guarantees center */
  color: #94A0B8;                       /* readable against dark footer (gray-400) */
  font-size: 10px;
  line-height: 1;
  vertical-align: middle;
  display: inline-block;
}
.rtl .footer-showcase__links a + a::before,
[dir="rtl"] .footer-showcase__links a + a::before {
  margin: 0 12px;                       /* symmetric works in both directions */
}

/* Mobile (<768px): the showcase rows otherwise extend to the viewport edges
   because the Bootstrap container's 15px padding isn't enough cushion for
   the text. Add an explicit 16px inset so the "Top Courses" label, the
   "Top Categories" / "Top Instructors" labels, and their value links have
   consistent breathing room from BOTH edges. RTL stays mirrored. */
@media (max-width: 767.98px) {
  .footer-showcase {
    padding-left: 16px;
    padding-right: 16px;
  }
  .footer-showcase__title,
  .footer-showcase__links {
    padding-left: 0;
    padding-right: 0;
  }
  /* Allow the inline list to wrap with a comfortable vertical rhythm.
     Column-gap stays 0 — separator dot still owns horizontal spacing. */
  .footer-showcase__links {
    gap: 8px 0;
  }
  /* Mobile: smaller dot margins so links don't get pushed too far apart
     on narrow viewports where line wrapping is more frequent. */
  .footer-showcase__links a + a::before {
    margin: 0 10px;
  }
  /* (footer-utility inset moved further down in source to win cascade
     against the base `.footer-utility { padding: 24px 0 }` rule.) */
}

/* --- Tier D: Apps + Payments + Locale --- */
.footer-utility {
  display: flex;
  align-items: stretch;
  justify-content: space-between;
  gap: 32px;
  padding: 24px 0;
  border-top: 1px solid rgba(255, 255, 255, 0.06);
  flex-wrap: wrap;
}
.footer-utility__label {
  display: block;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.6px;
  text-transform: uppercase;
  color: #94A0B8;
  margin-bottom: 10px;
}
.footer-utility__left,
.footer-utility__center,
.footer-utility__right {
  display: flex;
  flex-direction: column;
  min-width: 0;
}
.footer-utility__center { align-items: flex-start; }
.footer-utility__right { align-items: flex-start; }

/* App buttons */
.footer-utility__apps {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}
.footer-utility__app {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  height: 48px;
  padding: 0 16px;
  background: #0F172A;
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 10px;
  color: #FFFFFF;
  text-decoration: none;
  font-size: 13px;
  font-weight: 600;
  transition: background 0.15s ease, border-color 0.15s ease, transform 0.15s ease;
}
.footer-utility__app:hover {
  background: var(--primary);
  border-color: var(--primary);
  color: #FFFFFF;
  text-decoration: none;
  transform: translateY(-2px);
}
.footer-utility__app img {
  width: 24px;
  height: 24px;
  object-fit: contain;
  flex-shrink: 0;
}

/* Payment logos — clean row, no chip wrapper */
.footer-utility__payments {
  display: flex;
  align-items: center;
  gap: 14px;
  flex-wrap: wrap;
}
.footer-utility__payment {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 28px;
  padding: 0;
  background: transparent;
  border-radius: 0;
  box-shadow: none;
  transition: opacity 0.15s ease;
}
.footer-utility__payment img {
  height: 28px;
  width: auto;
  max-width: 70px;
  object-fit: contain;
  display: block;
  opacity: 0.85;
  transition: opacity 0.15s ease;
  filter: drop-shadow(0 1px 1px rgba(0, 0, 0, 0.25));
}
.footer-utility__payment:hover img {
  opacity: 1;
}

/* Mobile inset for the utility row — placed AFTER the base
   `.footer-utility { padding: 24px 0 }` rule (line 23714) so the
   horizontal padding actually wins the cascade. Earlier I'd placed
   this inside the showcase media block above the base rule, which
   meant the base override killed it. */
@media (max-width: 767.98px) {
  .footer-utility {
    padding-left: 16px;
    padding-right: 16px;
  }
  .footer-utility__left,
  .footer-utility__center,
  .footer-utility__right {
    padding-left: 0;
    padding-right: 0;
  }
}

/* Locale select */
.footer-utility__locale-form { margin: 0; }
.footer-utility__locale-select {
  appearance: none;
  -webkit-appearance: none;
  height: 36px;
  padding: 0 36px 0 14px;
  background-color: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 8px;
  color: #FFFFFF;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23CBD5E1' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'/></svg>");
  background-repeat: no-repeat;
  background-position: right 12px center;
  background-size: 14px 14px;
  transition: background-color 0.15s ease, border-color 0.15s ease;
}
.footer-utility__locale-select:hover,
.footer-utility__locale-select:focus {
  background-color: rgba(255, 255, 255, 0.10);
  border-color: rgba(255, 255, 255, 0.22);
  outline: none;
}
.footer-utility__locale-select option {
  background: #16213C;
  color: #FFFFFF;
}
.rtl .footer-utility__locale-select {
  padding: 0 14px 0 36px;
  background-position: left 12px center;
}

/* --- Tier E: Legal bar --- */
.footer-legal {
  background: rgba(0, 0, 0, 0.18);
  border-top: 1px solid rgba(255, 255, 255, 0.06);
  padding: 18px 0;
}
.footer-legal__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
}
.footer-legal__copyright {
  font-size: 12px;
  color: #94A0B8;
}
.footer-legal__copyright-hint { color: #CBD5E1; }
.footer-legal__links {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}
.footer-legal__links li {
  display: inline-flex;
  align-items: center;
  font-size: 12px;
}
.footer-legal__links li + li::before {
  content: '·';
  margin-right: 8px;
  color: #4B5563;
}
.rtl .footer-legal__links li + li::before {
  margin-right: 0;
  margin-left: 8px;
}
.footer-legal__links a {
  color: #CBD5E1;
  text-decoration: none;
  transition: color 0.15s ease;
}
.footer-legal__links a:hover { color: #FFFFFF; }

/* Back to top */
.footer-back-to-top {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 8px 14px;
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.10);
  border-radius: 8px;
  color: #CBD5E1;
  font-size: 12px;
  font-weight: 600;
  cursor: pointer;
  transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}
.footer-back-to-top:hover {
  background: var(--secondary);
  border-color: var(--secondary);
  color: #FFFFFF;
}

/* --- Language dropdown (top_nav) --- mirrors panel.css .navbar-lang-* */
.navbar-lang-dropdown {
  position: relative;
}
.navbar-lang-btn {
  display: inline-flex;
  flex-direction: row;
  align-items: center;
  padding: 8px 14px;
  gap: 8px;
  height: 40px;
  background: rgba(34, 23, 85, 0.06);
  border: 1px solid rgba(34, 23, 85, 0.12);
  border-radius: 10px;
  cursor: pointer;
  transition: background 0.15s ease, border-color 0.15s ease;
  color: var(--primary, #221755);
}
.navbar-lang-btn:hover,
.navbar-lang-dropdown.open .navbar-lang-btn {
  background: rgba(34, 23, 85, 0.10);
  border-color: rgba(34, 23, 85, 0.22);
}
.navbar-lang-icon {
  flex-shrink: 0;
  color: var(--primary, #221755);
}
.navbar-lang-name {
  font-family: var(--font-family-base), sans-serif;
  font-weight: 600;
  font-size: 13px;
  line-height: 18px;
  color: #1A202C;
  letter-spacing: 0.1px;
  white-space: nowrap;
  text-transform: capitalize;
}
.navbar-lang-arrow {
  flex-shrink: 0;
  margin-left: 2px;
  color: #4B5563;
  transition: transform 0.2s ease;
}
.navbar-lang-dropdown.open .navbar-lang-arrow {
  transform: rotate(180deg);
}
.navbar-lang-menu {
  display: none;
  position: absolute;
  top: calc(100% + 6px);
  right: 0;
  min-width: 160px;
  background: #FFFFFF;
  border: 1px solid #E2E8F0;
  border-radius: 10px;
  box-shadow: 0 8px 24px rgba(34, 23, 85, 0.12);
  padding: 4px;
  z-index: 1050;
  max-height: 240px;
  overflow-y: auto;
}
.rtl .navbar-lang-menu {
  right: auto;
  left: 0;
}
.navbar-lang-dropdown.open .navbar-lang-menu {
  display: block;
}
.navbar-lang-form {
  margin: 0;
}
.navbar-lang-option {
  display: block;
  width: 100%;
  padding: 8px 12px;
  border: none;
  background: transparent;
  border-radius: 6px;
  cursor: pointer;
  font-family: var(--font-family-base), sans-serif;
  font-size: 13px;
  font-weight: 500;
  line-height: 18px;
  color: #1A202C;
  text-align: left;
  white-space: nowrap;
  letter-spacing: 0.1px;
  transition: background 0.15s ease, color 0.15s ease;
  text-transform: capitalize;
}
.rtl .navbar-lang-option {
  text-align: right;
}
.navbar-lang-option:hover {
  background: rgba(34, 23, 85, 0.06);
  color: var(--primary, #221755);
}
.navbar-lang-option.active {
  background: rgba(34, 23, 85, 0.10);
  font-weight: 600;
  color: var(--primary, #221755);
}

/* ==========================================================
   3-TIER HEADER — Pattern B (utility bar / main header / nav)
   ========================================================== */

/* --- Tier 1: utility bar (used ONLY on legal pages now: minimal brand row) --- */
.utility-bar {
  background: #FFFFFF;
  border-bottom: 1px solid #E5E7EB;
  font-size: 12px;
  line-height: 1;
}
.utility-bar-minimal { background: #FFFFFF; }
/* Align the minimal (legal/about) bar's brand & lang switcher to the same
   page-edge insets as the main header (.main-header), so the logo start and
   language dropdown end line up with the home header's logo / profile. */
.utility-bar-minimal { padding-left: 120px; padding-right: 120px; }
.utility-bar-minimal .utility-bar-inner-fluid { padding-left: 0; padding-right: 0; }
@media (max-width: 1199px) {
  .utility-bar-minimal { padding-left: 48px; padding-right: 48px; }
}
@media (max-width: 767px) {
  .utility-bar-minimal { padding-left: 24px; padding-right: 24px; }
}
@media (max-width: 575.98px) {
  .utility-bar-minimal { padding-left: 16px; padding-right: 16px; }
}
.utility-bar-inner,
.utility-bar-inner-fluid {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 56px;
  padding: 8px 24px;
  gap: 16px;
  flex-wrap: wrap;
  width: 100%;
  max-width: 1600px;
  margin: 0 auto;
}
.utility-bar-left {
  display: flex;
  align-items: center;
  gap: 16px;
  color: #4B5563;
  min-height: 28px;
}
.utility-bar-right {
  display: flex;
  align-items: center;
  gap: 8px;
}
.utility-bar-contact {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: #4B5563;
  font-size: 12px;
}
.utility-bar-contact svg { color: #6B7280; }
.utility-bar-brand {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #1A202C;
  text-decoration: none;
  padding: 4px 0;
}
.utility-bar-brand:hover { text-decoration: none; color: #1A202C; }
.utility-bar-brand-logo { height: 32px; width: auto; }
.utility-bar-brand-name {
  font-weight: 700;
  font-size: 14px;
  color: #1A202C;
}

/* Compact pill modifier for the utility-bar language switcher */
.navbar-lang-btn-sm {
  height: 28px;
  padding: 4px 10px;
  border-radius: 8px;
  gap: 6px;
}
.navbar-lang-btn-sm .navbar-lang-name { font-size: 12px; line-height: 16px; }

/* --- Tier 2: main header (~72px, white) --- */
.main-header {
  background: #FFFFFF;
  border-bottom: 1px solid #E5E7EB;
  padding-left: 120px;
  padding-right: 120px;
  position: relative;
  z-index: 1040;
}
.main-header-actions { position: relative; z-index: 1040; }
@media (max-width: 1199px) {
  .main-header { padding-left: 48px; padding-right: 48px; }
}
@media (max-width: 767px) {
  .main-header { padding-left: 24px; padding-right: 24px; }
}
.main-header-inner {
  display: flex;
  align-items: center;
  gap: 20px;
  min-height: 72px;
  padding: 12px 0;
  width: 100%;
  max-width: 1600px;
  margin: 0 auto;
}
.main-header-brand {
  display: inline-flex;
  align-items: center;
  flex-shrink: 0;
  text-decoration: none;
}
.main-header-brand:hover { text-decoration: none; }
.main-header-logo {
  height: 48px;
  width: auto;
  max-width: 200px;
  min-width: 80px;
  object-fit: contain;
}
.main-header-search {
  display: flex;
  align-items: center;
  flex: 1;
  height: 44px;
  background: #F4F5F8;
  border: 1px solid transparent;
  border-radius: 12px;
  padding: 0 14px;
  gap: 10px;
  transition: background 0.15s ease, border-color 0.15s ease;
  max-width: 560px;
}
.main-header-search:hover {
  background: #EFF1F4;
}
.main-header-search:focus-within {
  background: #FFFFFF;
  border-color: rgba(34, 23, 85, 0.30);
  box-shadow: 0 0 0 4px rgba(34, 23, 85, 0.08);
}
.main-header-search-icon {
  color: #6B7280;
}
.main-header-search-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: none;
  background: transparent;
  padding: 0;
  color: var(--primary, #221755);
  cursor: pointer;
  flex-shrink: 0;
}
.main-header-search-input {
  flex: 1;
  min-width: 0;
  border: none;
  background: transparent;
  outline: none;
  font-family: var(--font-family-base), sans-serif;
  font-size: 14px;
  line-height: 20px;
  color: #1A202C;
  padding: 0;
}
.main-header-search-input::placeholder {
  color: #94A0B8;
  font-weight: 400;
}
.main-header-actions {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-shrink: 0;
  margin-left: auto;
}

/* Icon-only pill buttons (cart, notifications) — ghost by default */
.navbar-icon-btn {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  padding: 0;
  background: transparent;
  border: 1px solid transparent;
  border-radius: 12px;
  cursor: pointer;
  transition: background 0.15s ease, border-color 0.15s ease;
  color: #4B5563;
  text-decoration: none;
}
.navbar-icon-btn:hover {
  background: rgba(34, 23, 85, 0.06);
  border-color: transparent;
  color: var(--primary, #221755);
  text-decoration: none;
}
.navbar-icon-btn.dropdown-toggle::after {
  display: none;
}
.navbar-icon-btn:disabled,
.navbar-icon-btn[disabled] {
  opacity: 0.55;
  cursor: not-allowed;
}
.navbar-icon-btn-badge {
  position: absolute;
  top: -6px;
  right: -6px;
  min-width: 18px;
  height: 18px;
  padding: 0 5px;
  background: #D12E34;
  color: #FFFFFF;
  font-family: var(--font-family-base), sans-serif;
  font-size: 10px;
  font-weight: 700;
  line-height: 18px;
  text-align: center;
  border-radius: 999px;
  pointer-events: none;
}

/* Tier-2 sized adjustments for existing pill dropdowns */
.main-header-actions .navbar-lang-btn,
.main-header-actions .navbar-user-btn {
  height: 44px;
  border-radius: 12px;
}

/* Ghost-by-default: only the active/hover state shows tint inside the main header */
.main-header-actions .navbar-lang-btn {
  background: transparent;
  border-color: transparent;
  color: #4B5563;
}
.main-header-actions .navbar-lang-btn .navbar-lang-name { color: #1A202C; }
.main-header-actions .navbar-lang-btn .navbar-lang-icon { color: #4B5563; }
.main-header-actions .navbar-lang-btn:hover,
.main-header-actions .navbar-lang-dropdown.open .navbar-lang-btn {
  background: rgba(34, 23, 85, 0.06);
  border-color: transparent;
}

/* Icon-only language button (no "English" text, no chevron) */
.navbar-lang-btn-icon-only {
  width: 44px;
  padding: 0;
  justify-content: center;
  gap: 0;
}

/* Vertical separator between action cluster and user pill */
.main-header-separator {
  display: inline-block;
  width: 1px;
  height: 24px;
  background: #E2E8F0;
  margin: 0 4px;
  flex-shrink: 0;
}

/* User pill — keep a hairline border so the avatar reads as "you are here" */
.main-header-actions .navbar-user-btn {
  background: transparent;
  border-color: rgba(34, 23, 85, 0.10);
}
.main-header-actions .navbar-user-btn:hover,
.main-header-actions .navbar-user-dropdown.open .navbar-user-btn {
  background: rgba(34, 23, 85, 0.06);
  border-color: rgba(34, 23, 85, 0.18);
}

/* Currency dropdown inside main header — match ghost style */
.main-header-actions .js-currency-select .custom-dropdown-toggle {
  padding: 8px 10px;
  border-radius: 10px;
  border: 1px solid transparent;
  transition: background 0.15s ease, border-color 0.15s ease;
}
.main-header-actions .js-currency-select .custom-dropdown-toggle:hover {
  background: rgba(34, 23, 85, 0.06);
}

/* --- Tier 3: navbar full-width wrapper --- */
#navbar.navbar {
  padding-left: 150px;
  padding-right: 150px;
}
@media (max-width: 1199px) {
  #navbar.navbar { padding-left: 48px; padding-right: 48px; }
}
@media (max-width: 767px) {
  #navbar.navbar { padding-left: 24px; padding-right: 24px; }
}
.navbar-fluid-wrap {
  width: 100%;
  max-width: 1600px;
  margin: 0 auto;
  padding: 0;
}

/* --- Tier 3: navbar row active state stronger --- */
#navbar.navbar .nav-link {
  position: relative;
  padding: 8px 12px;
  margin: 0 4px;
  font-size: 14px;
  font-weight: 600;
  color: #4B5563 !important;
  letter-spacing: 0.1px;
  background: transparent;
  border-bottom: none;
  transition: color 0.15s ease, border-color 0.15s ease;
}
#navbar.navbar .nav-link,
#navbar.navbar .nav-link:hover,
#navbar.navbar .nav-link:focus {
  text-decoration: none;
  box-shadow: none;
}
#navbar.navbar .nav-link:hover,
#navbar.navbar .nav-link:focus {
  color: var(--secondary) !important;
}
#navbar.navbar .nav-link.active {
  color: var(--primary) !important;
  font-weight: 700;
  border-bottom: 3px solid var(--primary);
}

/* --- Tier 3: Categories pill — softer, lighter weight --- */
#navbar .menu-category > ul > li {
  background-color: rgba(59, 130, 246, 0.10);
  border-radius: 10px;
  font-weight: 700;
  font-size: 14px;
  color: var(--secondary) !important;
  padding: 8px 14px;
  height: 40px;
  display: inline-flex !important;
  align-items: center;
  transition: background 0.15s ease, color 0.15s ease;
}
#navbar .menu-category > ul > li:hover {
  background-color: rgba(30, 90, 158, 0.14);
  color: var(--primary) !important;
}
#navbar .menu-category > ul > li > i[data-feather] {
  width: 18px;
  height: 18px;
  margin-right: 8px;
  color: currentColor;
}

/* --- Tier 3: vertical divider between Categories and nav links --- */
.navbar-divider {
  display: inline-block;
  width: 1px;
  height: 24px;
  background: #E2E8F0;
  margin: 0 16px;
  flex-shrink: 0;
  list-style: none;
}
/* Small left gap so the first nav link (Home) isn't flush against the divider
   (when categories show) or the nav edge (when they don't). RTL-safe. */
#navbar .navbar-nav .navbar-divider + .nav-item,
#navbar .navbar-nav > .nav-item:first-child {
  margin-inline-start: 8px;
}

/* Responsive: collapse main-header to wrap on small screens */
@media (max-width: 991px) {
  .main-header-inner {
    flex-wrap: wrap;
    gap: 12px;
    /* Spread brand & actions to opposite ends of the wrapped row.
       Without this, both items pack at the inline-start (right edge in RTL,
       left edge in LTR), leaving the other side empty and cramping the cluster
       against the logo. */
    justify-content: space-between;
  }
  .main-header-search {
    order: 3;
    width: 100%;
    max-width: 100%;
  }
  .main-header-actions {
    margin-left: 0;
    /* Breathing room between action items on tablet/wrapped layout */
    gap: 10px;
  }
  /* Brand must shrink on the wrapped row so the actions cluster stays on the same line. */
  .main-header-brand {
    flex-shrink: 1;
    min-width: 0;
  }
}

/* iPad / small-laptop band (992-1199px): single-row, but tighten spacing to
   prevent the action cluster from crowding the search input. */
@media (min-width: 992px) and (max-width: 1199px) {
  .main-header-inner {
    gap: 16px;
  }
  .main-header-search {
    max-width: 420px;
  }
  .main-header-actions {
    gap: 8px;
  }
}

/* Small mobile (<576px): hardest case — wrapped brand + actions must fit a
   ~272-296px content area. Compress paddings, gaps, and icon sizes; let the
   action cluster wrap as a safety net so nothing is pushed offscreen. */
@media (max-width: 575.98px) {
  .main-header {
    padding-left: 16px;
    padding-right: 16px;
  }
  .main-header-inner {
    gap: 10px;
    min-height: 64px;
    padding: 10px 0;
  }
  .main-header-logo {
    max-width: 140px;
    min-width: 56px;
    height: 40px;
  }
  .main-header-actions {
    /* 8px keeps icons distinct without overflowing 320px viewports
       (5 × 4px = 20px reclaimed vs the earlier 10px tablet gap). */
    gap: 8px;
    flex-wrap: wrap;
    justify-content: flex-end;
    align-items: center;
  }
  /* Square icon-only buttons in the action cluster shrink from 44px to 40px.
     Touch target stays >=40px (Apple HIG minimum) and the cluster fits a 320px viewport. */
  .main-header-actions .navbar-icon-btn,
  .main-header-actions .navbar-lang-btn-icon-only {
    height: 40px;
    width: 40px;
  }
  /* User pill carries avatar + chevron — it MUST size to its content.
     Forcing width: 40px clipped the chevron outside the pill (the bug:
     "dropdown arrow should be inside the field for mobile"). Keep the height
     consistent, let width auto-fit, and tighten internal padding. */
  .main-header-actions .navbar-user-btn {
    height: 40px;
    width: auto;
    padding: 4px 8px 4px 4px;
    gap: 6px;
  }
  .rtl .main-header-actions .navbar-user-btn,
  [dir="rtl"] .main-header-actions .navbar-user-btn {
    padding: 4px 4px 4px 8px;
  }
  /* Same fix for the non-icon-only lang variant (used on legal pages' top_nav),
     which carries icon + name + chevron and must auto-size. */
  .main-header-actions .navbar-lang-btn:not(.navbar-lang-btn-icon-only) {
    height: 40px;
    width: auto;
    padding: 0 10px;
    gap: 4px;
  }
  /* Catalog dropdown button — keep the chevron inside the pill at narrow widths
     by tightening padding and clamping the name so the arrow always stays in frame. */
  .navbar-catalog-btn {
    padding: 6px 10px;
    gap: 6px;
    min-height: 44px;
  }
  .navbar-catalog-name {
    max-width: 110px;
  }
  /* Currency dropdown trigger in the cluster — match the 40px row.
     gap replaces the inner `mr-5` that flips to the wrong side under RTL,
     giving consistent text↔chevron spacing in both directions. */
  .main-header-actions .js-currency-select .custom-dropdown-toggle {
    height: 40px;
    padding: 4px 8px;
    gap: 4px;
  }
  /* The separator + name are already hidden on small screens; reinforce in case
     a parent rule resurrects them. */
  .main-header-separator {
    display: none;
  }
  /* Auth links: smaller font + padding so login/register fit alongside lang/currency. */
  .navbar-auth-link {
    height: 40px;
    padding: 0 10px;
    font-size: 12px;
  }
  /* Mobile dropdown menus opened from the actions cluster sometimes anchor
     right:0 — clamp their width so they never exceed the viewport. */
  .navbar-user-menu,
  .navbar-lang-menu {
    max-width: calc(100vw - 32px);
  }
}

/* Mobile hamburger + close-button touch targets — both were ~32px which is
   below the 44px touch-target recommendation. */
@media (max-width: 991px) {
  #navbar.navbar .navbar-toggler {
    min-width: 44px;
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 6px 10px;
  }
  .navbar .navbar-toggle-content .navbar-toggle-header {
    min-height: 56px;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    margin-bottom: 16px;
  }
  .rtl .navbar .navbar-toggle-content .navbar-toggle-header,
  [dir="rtl"] .navbar .navbar-toggle-content .navbar-toggle-header {
    justify-content: flex-start;
  }
  .navbar .navbar-toggle-content #navbarClose {
    min-width: 44px;
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }
  /* ===== Off-canvas menu UX (when navbar is opened via hamburger) ===== */

  /* Header row of the menu — a clean strip with the close button at the
     inline-end (right LTR / left RTL) and a soft border to separate from
     menu items. */
  .navbar .navbar-toggle-content .navbar-toggle-header {
    border-bottom: 1px solid #E5E7EB;
    padding-bottom: 8px;
  }

  /* Categories pill inside the off-canvas — full-width tappable row with
     a comfortable touch height; the desktop pill aesthetic stays via
     the colored background + rounded corners. */
  .navbar .navbar-toggle-content .menu-category > ul > li {
    width: 100%;
    justify-content: flex-start;
    height: auto;
    min-height: 48px;
    padding: 12px 14px;
    margin-bottom: 4px;
  }

  /* The vertical Categories↔nav-links divider only makes sense in the
     desktop horizontal row. In the stacked mobile menu, convert it to a
     full-width horizontal rule. */
  .navbar .navbar-toggle-content .navbar-divider {
    display: block;
    width: 100%;
    height: 1px;
    background: #E5E7EB;
    margin: 12px 0;
  }

  /* Nav links inside the mobile menu — bigger touch targets, no inline
     horizontal margin (which only made sense in a horizontal row), and
     drop the underline-style "active" treatment in favor of a left/right
     accent so it reads correctly in both LTR and RTL stacks. */
  .navbar .navbar-toggle-content #navbar.navbar .nav-link,
  .navbar .navbar-toggle-content .nav-link {
    padding: 12px 14px;
    margin: 0;
    border-radius: 8px;
    min-height: 48px;
    display: flex;
    align-items: center;
    font-size: 15px;
  }
  .navbar .navbar-toggle-content .nav-link:hover {
    background: rgba(34, 23, 85, 0.04);
  }
  #navbar.navbar .navbar-toggle-content .nav-link.active {
    border-bottom: none;
    background: rgba(34, 23, 85, 0.06);
    color: var(--primary) !important;
    box-shadow: inset 3px 0 0 var(--primary);
  }
  .rtl #navbar.navbar .navbar-toggle-content .nav-link.active,
  [dir="rtl"] #navbar.navbar .navbar-toggle-content .nav-link.active {
    box-shadow: inset -3px 0 0 var(--primary);
  }

  /* Category sub-menu inside the off-canvas menu — when a user expands a
     category, child items appear indented; clamp height with scroll so a
     long subcategory list doesn't push everything off-screen. */
  .navbar .navbar-toggle-content .menu-category .cat-dropdown-menu {
    max-height: 50vh;
    overflow-y: auto;
  }
  .navbar .navbar-toggle-content .menu-category .cat-dropdown-menu > li > a {
    min-height: 44px;
    display: flex;
    align-items: center;
    padding: 10px 14px;
  }

  /* Each top-level <li> in navbar-nav: remove the default 8px 0 padding
     that left awkward gaps; we control rhythm with the nav-link itself. */
  .navbar .navbar-toggle-content .navbar-nav > li {
    padding: 0;
    margin-bottom: 2px;
  }
  /* Navbar action cluster (Tier 3) on mobile — catalog + start-live + ai pill +
     hamburger have to share a row. Allow wrap so nothing overflows. */
  #navbar.navbar .nav-icons-\|\|-start-live {
    flex-wrap: wrap;
    gap: 8px;
    row-gap: 8px;
  }
  /* Make sure the inner row of the navbar (hamburger ↔ action cluster) has a
     consistent vertical rhythm and breathing room between the two ends.
     gap: 12px adds spacing if the items end up adjacent on very narrow widths. */
  #navbar.navbar .navbar-fluid-wrap > .d-flex {
    gap: 12px;
    min-height: 56px;
  }
  /* Tier-3 row on mobile: ensure adequate vertical padding so it doesn't visually
     run into the search row above it. */
  #navbar.navbar {
    padding-top: 8px;
    padding-bottom: 8px;
  }
  /* The catalog name can be long; clamp it tighter on mobile so the pill stays
     within reach of the hamburger. */
  .navbar-catalog-name {
    max-width: 120px;
  }
  /* Catalog dropdown menu must not exceed viewport width on mobile. */
  .navbar-catalog-menu {
    max-width: calc(100vw - 32px);
  }
}

/* Prevent the page itself from horizontally scrolling if any edge-case header
   measurement leaks across the viewport (defensive — keeps mobile clean). */
@media (max-width: 575.98px) {
  body { overflow-x: hidden; }
}

/* --- Catalog dropdown --- matches Categories pill aesthetic in the navbar --- */
.navbar-catalog-dropdown {
  position: relative;
}
.navbar-catalog-btn {
  display: inline-flex;
  flex-direction: row;
  align-items: center;
  padding: 6px 14px;
  gap: 10px;
  min-height: 48px;
  background: rgba(59, 130, 246, 0.08);
  border: 1px solid transparent;
  border-radius: 12px;
  cursor: pointer;
  transition: background 0.2s ease, border-color 0.2s ease;
  position: relative;
}
.navbar-catalog-btn::before {
  content: '';
  position: absolute;
  left: 0;
  top: 10px;
  bottom: 10px;
  width: 3px;
  background: var(--primary);
  border-radius: 0 2px 2px 0;
  opacity: 0.6;
  transition: opacity 0.2s ease, width 0.2s ease;
}
.navbar-catalog-btn:hover,
.navbar-catalog-dropdown.open .navbar-catalog-btn {
  background: rgba(30, 90, 158, 0.12);
}
.navbar-catalog-btn:hover::before,
.navbar-catalog-dropdown.open .navbar-catalog-btn::before {
  opacity: 1;
  width: 4px;
}

.navbar-catalog-text {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  line-height: 1.1;
  min-width: 0;
}
.navbar-catalog-label {
  font-family: var(--font-family-base), sans-serif;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.2px;
  color: #94A0B8;
  margin-bottom: 3px;
  transition: color 0.2s ease;
}
.navbar-catalog-name {
  font-family: var(--font-family-base), sans-serif;
  font-weight: 700;
  font-size: 14px;
  line-height: 18px;
  color: var(--primary);
  letter-spacing: 0.1px;
  white-space: nowrap;
  text-transform: capitalize;
  max-width: 180px;
  overflow: hidden;
  text-overflow: ellipsis;
  transition: color 0.2s ease;
}
.navbar-catalog-btn:hover .navbar-catalog-label,
.navbar-catalog-dropdown.open .navbar-catalog-label {
  color: var(--secondary);
}
.navbar-catalog-btn:hover .navbar-catalog-name,
.navbar-catalog-dropdown.open .navbar-catalog-name {
  color: var(--primary);
}
.navbar-catalog-arrow {
  flex-shrink: 0;
  margin-left: 4px;
  color: #6B7280;
  transition: transform 0.2s ease, color 0.2s ease;
}
.navbar-catalog-btn:hover .navbar-catalog-arrow,
.navbar-catalog-dropdown.open .navbar-catalog-arrow {
  color: var(--primary);
}
.navbar-catalog-dropdown.open .navbar-catalog-arrow {
  transform: rotate(180deg);
}

/* RTL: accent bar flips to the right edge */
.rtl .navbar-catalog-btn::before,
[dir="rtl"] .navbar-catalog-btn::before {
  left: auto;
  right: 0;
  border-radius: 2px 0 0 2px;
}
/* RTL column-flex: cross-axis "start" already maps to the right edge under direction:rtl,
   so flex-end would push the label/name to the LEFT (i.e. LTR-looking). Use flex-start. */
.rtl .navbar-catalog-text,
[dir="rtl"] .navbar-catalog-text {
  align-items: flex-start;
  text-align: right;
}
.rtl .navbar-catalog-label,
[dir="rtl"] .navbar-catalog-label,
.rtl .navbar-catalog-name,
[dir="rtl"] .navbar-catalog-name {
  text-align: right;
  direction: rtl;
}
.navbar-catalog-menu {
  display: none;
  position: absolute;
  top: calc(100% + 8px);
  right: 0;
  min-width: 220px;
  background: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 12px;
  box-shadow: 0 12px 32px rgba(15, 23, 42, 0.12);
  padding: 6px;
  z-index: 1035;            /* desktop default — below Bootstrap modal (1050) */
  max-height: 320px;
  overflow-y: auto;
}
.rtl .navbar-catalog-menu {
  right: auto;
  left: 0;
}
.navbar-catalog-dropdown.open .navbar-catalog-menu {
  display: block;
}
.navbar-catalog-form { margin: 0; }
.navbar-catalog-option {
  display: block;
  width: 100%;
  padding: 10px 12px;
  border: none;
  background: transparent;
  border-radius: 8px;
  cursor: pointer;
  font-family: var(--font-family-base), sans-serif;
  font-size: 14px;
  font-weight: 500;
  line-height: 20px;
  color: #1F2937;
  text-align: left;
  white-space: nowrap;
  letter-spacing: 0.1px;
  transition: background 0.15s ease, color 0.15s ease;
  text-transform: capitalize;
}
.rtl .navbar-catalog-option { text-align: right; }
.navbar-catalog-option + .navbar-catalog-form { margin-top: 2px; }
.navbar-catalog-option:hover {
  background: rgba(59, 130, 246, 0.10);
  color: var(--secondary);
}
.navbar-catalog-option.active {
  background: rgba(30, 90, 158, 0.12);
  font-weight: 700;
  color: var(--primary);
}
.navbar-catalog-option.active:hover {
  background: rgba(30, 90, 158, 0.18);
  color: var(--primary);
}

/* --- Search input (top_nav) --- */
.navbar-search {
  display: inline-flex;
  align-items: center;
  height: 40px;
  background: rgba(34, 23, 85, 0.06);
  border: 1px solid rgba(34, 23, 85, 0.12);
  border-radius: 10px;
  padding: 0 12px;
  gap: 8px;
  transition: background 0.15s ease, border-color 0.15s ease;
  min-width: 220px;
}
.navbar-search:focus-within {
  background: #FFFFFF;
  border-color: rgba(34, 23, 85, 0.35);
}
.navbar-search-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: none;
  background: transparent;
  padding: 0;
  color: var(--primary, #221755);
  cursor: pointer;
  flex-shrink: 0;
}
.navbar-search-input {
  flex: 1;
  min-width: 0;
  border: none;
  background: transparent;
  outline: none;
  font-family: var(--font-family-base), sans-serif;
  font-size: 13px;
  line-height: 18px;
  color: #1A202C;
  letter-spacing: 0.1px;
  padding: 0;
}
.navbar-search-input::placeholder {
  color: #94A0B8;
  font-weight: 400;
}

/* --- User menu dropdown (top_nav) --- */
.navbar-user-dropdown {
  position: relative;
}
.navbar-user-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  height: 40px;
  padding: 4px 10px 4px 4px;
  background: rgba(34, 23, 85, 0.06);
  border: 1px solid rgba(34, 23, 85, 0.12);
  border-radius: 999px;
  cursor: pointer;
  transition: background 0.15s ease, border-color 0.15s ease;
  color: var(--primary, #221755);
}
.navbar-user-btn:hover,
.navbar-user-dropdown.open .navbar-user-btn {
  background: rgba(34, 23, 85, 0.10);
  border-color: rgba(34, 23, 85, 0.22);
}
.navbar-user-avatar {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  object-fit: cover;
  flex-shrink: 0;
}
.navbar-user-name {
  font-family: var(--font-family-base), sans-serif;
  font-weight: 600;
  font-size: 13px;
  line-height: 18px;
  color: #1A202C;
  letter-spacing: 0.1px;
  max-width: 140px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.navbar-user-arrow {
  flex-shrink: 0;
  color: #4B5563;
  transition: transform 0.2s ease;
}
.navbar-user-dropdown.open .navbar-user-arrow {
  transform: rotate(180deg);
}
.navbar-user-menu {
  display: none;
  position: absolute;
  top: calc(100% + 6px);
  right: 0;
  width: 260px;
  background: #FFFFFF;
  border: 1px solid #E2E8F0;
  border-radius: 10px;
  box-shadow: 0 8px 24px rgba(34, 23, 85, 0.12);
  padding: 8px;
  z-index: 1050;
}
.rtl .navbar-user-menu {
  right: auto;
  left: 0;
}
.navbar-user-dropdown.open .navbar-user-menu {
  display: block;
}
.navbar-user-header {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px;
  margin-bottom: 4px;
  background: rgba(34, 23, 85, 0.04);
  border-radius: 8px;
}
.navbar-user-header-avatar {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  object-fit: cover;
  flex-shrink: 0;
}
.navbar-user-header-text {
  min-width: 0;
  flex: 1;
}
.navbar-user-header-name {
  font-family: var(--font-family-base), sans-serif;
  font-weight: 600;
  font-size: 13px;
  line-height: 18px;
  color: #1A202C;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.navbar-user-header-role {
  font-family: var(--font-family-base), sans-serif;
  font-weight: 400;
  font-size: 11px;
  line-height: 14px;
  color: #6B7280;
  margin-top: 2px;
  text-transform: capitalize;
}
.navbar-user-list {
  list-style: none;
  padding: 0;
  margin: 0;
}
.navbar-user-list > li + li {
  margin-top: 2px;
}
.navbar-user-divider {
  height: 1px;
  background: #E2E8F0;
  margin: 6px 4px;
}
.navbar-user-item {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 9px 10px;
  border-radius: 6px;
  font-family: var(--font-family-base), sans-serif;
  font-weight: 500;
  font-size: 13px;
  line-height: 18px;
  color: #1A202C;
  text-decoration: none;
  transition: background 0.15s ease, color 0.15s ease;
}
.navbar-user-item:hover {
  background: rgba(34, 23, 85, 0.06);
  color: var(--primary, #221755);
  text-decoration: none;
}
.navbar-user-item-icon {
  flex-shrink: 0;
  color: inherit;
}
.navbar-user-item-danger {
  color: #D12E34;
}
.navbar-user-item-danger:hover {
  background: rgba(209, 46, 52, 0.08);
  color: #D12E34;
}

/* --- Auth links (logged-out top nav) --- */
.navbar-auth-link {
  display: inline-flex;
  align-items: center;
  height: 40px;
  padding: 0 14px;
  font-family: var(--font-family-base), sans-serif;
  font-weight: 600;
  font-size: 13px;
  color: #1A202C;
  border-radius: 10px;
  border: 1px solid transparent;
  text-decoration: none;
  transition: background 0.15s ease, border-color 0.15s ease;
}
.navbar-auth-link:hover {
  background: rgba(34, 23, 85, 0.06);
  color: #1A202C;
  text-decoration: none;
}
.navbar-auth-link-primary {
  background: var(--primary, #221755);
  color: #FFFFFF;
  border-color: var(--primary, #221755);
}
.navbar-auth-link-primary:hover {
  background: var(--primary, #221755);
  color: #FFFFFF;
  opacity: 0.92;
}

/* ============================================================ */
/* Scroll-lock when any popup / dropdown / drawer is open.       */
/* JS toggles `popup-open` based on Bootstrap dropdown states,   */
/* `.open` on custom dropdowns, `.show-items`/hover on the       */
/* Categories mega-menu, and `.show` on the off-canvas menu.     */
/* Applied across all devices for consistent "modal-feel"        */
/* behavior; the underlying page no longer scrolls while open.   */
/* ============================================================ */
/* Keep the scrollbar VISIBLE while locking — no layout shift.
   JS pins <body> with position:fixed at its current scroll offset (so the
   background can't scroll via wheel/drag/keys/touch) and restores the exact
   position on close. The scrollbar track is reserved via .popup-keep-scrollbar,
   added only when the page actually had a scrollbar, so short pages don't
   gain a phantom track. We deliberately do NOT set `touch-action: none`
   (it was blocking tap events on links while popups closed). */
html.popup-open {
  overflow: hidden !important;
}
html.popup-open.popup-keep-scrollbar {
  overflow-y: scroll !important; /* keep the scrollbar track visible (inert while body is fixed) */
}
body.popup-open {
  position: fixed;
  left: 0;
  right: 0;
  width: 100%;
}

/* ============================================================ */
/* Mobile header restructure (<768px only) — hamburger sits      */
/* BEFORE the logo, Categories pill sits BESIDE Catalog.         */
/* Tablet (>=768px) and desktop are untouched.                   */
/* ============================================================ */
@media (max-width: 767.98px) {
  /* Hamburger sits inline on the navbar row (Tier 3), beside the
     Categories + Catalog pills. Reset the previous floating-fixed state
     and style it as a regular pill that visually pairs with the others. */
  #navbar.navbar .navbar-toggler {
    position: static;
    width: 44px;
    height: 44px;
    padding: 0;
    background: #FFFFFF;
    border: 1px solid #E5E7EB;
    border-radius: 10px;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
  }
  /* Reserve room in the main-header for the floating hamburger so the
     brand/actions don't slide underneath it. */
  .main-header {
    padding-left: 70px !important;
  }
  .rtl .main-header,
  [dir="rtl"] .main-header {
    padding-left: 16px !important;
    padding-right: 70px !important;
  }

  /* Inline Categories pill (rendered in the navbar action cluster, mobile-only).
     Styled to mirror the DESKTOP Categories pill at `#navbar .menu-category > ul > li`
     — same tint opacity (0.10), border-radius (10px), font-weight (700), and
     icon size + color so it reads as the same component, just inline on mobile. */
  .mobile-categories-dropdown {
    position: relative;
  }
  .mobile-categories-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 14px;                              /* match desktop pill */
    min-height: 44px;
    background-color: rgba(59, 130, 246, 0.10);     /* match desktop tint */
    border: 1px solid transparent;
    border-radius: 10px;                             /* match desktop */
    cursor: pointer;
    color: var(--secondary);                         /* match desktop color */
    font-weight: 700;
    font-size: 14px;                                 /* match desktop */
    transition: background 0.15s ease, color 0.15s ease;
  }
  .mobile-categories-btn:hover,
  .mobile-categories-dropdown.open .mobile-categories-btn {
    background-color: rgba(30, 90, 158, 0.14);       /* match desktop :hover */
    color: var(--primary);
  }
  /* Pill grid icon — flat treatment matching desktop (no chip): 20x20,
     stroke-based, color inherits from the pill. */
  .mobile-categories-btn .mobile-categories-icon,
  .mobile-categories-btn svg.feather-grid {
    width: 20px !important;
    height: 20px !important;
    color: currentColor;
    stroke-width: 2;
    flex-shrink: 0;
    display: inline-block;
  }
  .mobile-categories-btn:hover,
  .mobile-categories-dropdown.open .mobile-categories-btn {
    background: rgba(30, 90, 158, 0.14);
  }
  .mobile-categories-label {
    white-space: nowrap;
  }
  .mobile-categories-arrow {
    flex-shrink: 0;
    color: #6B7280;
    transition: transform 0.2s ease;
  }
  .mobile-categories-dropdown.open .mobile-categories-arrow {
    transform: rotate(180deg);
  }
  .mobile-categories-menu {
    display: none;
    position: absolute;
    top: calc(100% + 6px);
    right: 0;
    min-width: 220px;
    max-width: calc(100vw - 32px);
    background: #FFFFFF;
    border: 1px solid #E5E7EB;
    border-radius: 12px;
    box-shadow: 0 16px 48px rgba(15, 23, 42, 0.22);   /* stronger shadow */
    padding: 6px;
    z-index: 9999;
    transform: translateZ(0);
    max-height: 60vh;
    overflow-y: auto;
  }
  /* Dimming backdrop when the categories dropdown is open — sits between the
     page content and the menu, visually isolating the menu and giving the
     user a clear "tap outside to close" target. */
  .mobile-categories-dropdown.open::before {
    content: '';
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(15, 23, 42, 0.35);
    z-index: 9990;
    pointer-events: none;     /* clicks pass through; the document-level handler closes the menu */
    animation: dropdownBackdropFadeIn 0.15s ease;
  }
  @keyframes dropdownBackdropFadeIn {
    from { opacity: 0; }
    to { opacity: 1; }
  }
  .rtl .mobile-categories-menu,
  [dir="rtl"] .mobile-categories-menu {
    right: auto;
    left: 0;
  }
  .mobile-categories-dropdown.open .mobile-categories-menu {
    display: block;
  }
  .mobile-categories-item {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 12px;
    border-radius: 8px;
    color: #1F2937;
    text-decoration: none;
    font-size: 14px;
    font-weight: 500;
    min-height: 44px;
  }
  .mobile-categories-item:hover {
    background: rgba(59, 130, 246, 0.10);
    color: var(--primary, #221755);
    text-decoration: none;
  }
  /* Mirror the DESKTOP `.cat-dropdown-menu-icon` treatment — each item's icon
     is wrapped in a dark-navy rounded chip with a subtle shadow, giving the
     dropdown the same visual rhythm as desktop's categories menu. The icon
     image itself sits inside the chip via `padding: 4px` and `object-fit`. */
  .mobile-categories-item-icon {
    width: 40px;
    min-width: 40px;
    max-width: 40px;
    height: 40px;
    padding: 4px;
    background: var(--primary, #221755);
    border-radius: 10px;
    box-sizing: border-box;
    object-fit: contain;
    box-shadow: 0 2px 6px rgba(15, 23, 42, 0.12);
    flex-shrink: 0;
    transition: background 0.2s ease, transform 0.2s ease;
  }
  .mobile-categories-item:hover .mobile-categories-item-icon {
    background: var(--secondary);
    transform: scale(1.05);
  }
  /* Bump row padding so the chip sits comfortably without crowding the title. */
  .mobile-categories-item {
    padding: 8px 10px;
    min-height: 56px;                /* accommodates the 40px chip + breathing room */
  }

  /* The original Categories pill inside the off-canvas menu is now redundant
     (we surface it inline beside Catalog instead). Hide it so the off-canvas
     menu just lists the nav links. */
  .navbar .navbar-toggle-content .menu-category {
    display: none;
  }
  /* The divider between Categories and nav-links in the off-canvas no longer
     has a Categories before it — hide so we don't start the menu with a rule. */
  .navbar .navbar-toggle-content .navbar-divider {
    display: none;
  }

  /* Tighten the navbar's own padding on mobile since the hamburger has been
     moved out — give the catalog/categories pills the full row to themselves. */
  #navbar.navbar {
    padding-left: 16px;
    padding-right: 16px;
  }
  /* Action cluster gets a small gap so categories + catalog sit cleanly. */
  #navbar.navbar .nav-icons-\|\|-start-live {
    gap: 8px;
    flex-wrap: wrap;
    row-gap: 8px;
  }
  /* The catalog pill ships with `ml-auto mr-15` utilities which push it to the
     row's end and leave a gap before it. On mobile we want Categories and
     Catalog to read as siblings — strip those utility margins. */
  #navbar.navbar .navbar-catalog-dropdown.ml-auto,
  #navbar.navbar .navbar-catalog-dropdown.mr-15 {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
  /* Mobile-only inline Categories pill should match Catalog's pill height
     exactly so the two read as a proper paired control. */
  .mobile-categories-btn {
    min-height: 44px;
    height: 44px;                    /* fixed so it doesn't drift */
  }

  /* === Polish pass (alignment, density, parity with Categories pill) === */

  /* (1) Catalog single-line on mobile — hide the "Catalog" eyebrow label so
     the pill is the selected-catalog name only; matches Categories' single-
     line layout and gives a consistent 44px height. */
  .navbar-catalog-btn .navbar-catalog-label {
    display: none;
  }
  .navbar-catalog-btn .navbar-catalog-text {
    flex-direction: row;             /* was column; collapse to single line */
    align-items: center;
  }
  .navbar-catalog-btn {
    min-height: 44px;
    height: 44px;                    /* lock to match Categories pill */
    padding: 0 12px;
  }
  .navbar-catalog-name {
    font-size: 13px;                 /* matches Categories label size */
    max-width: 140px;
  }

  /* (2) Hamburger moved to navbar row 3 (inline with Categories/Catalog),
     so main-header no longer needs side-padding reservation and the search
     bar is back to full width. */
  .main-header {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
  .rtl .main-header,
  [dir="rtl"] .main-header {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

  /* (3) The action cluster now shares the navbar row with the inline
     hamburger. Don't claim 100% width — let the row's space-between layout
     spread hamburger ↔ pill-group naturally. */
  #navbar.navbar .nav-icons-\|\|-start-live {
    justify-content: flex-end;
    gap: 8px;
  }

  /* (4) Hide the Catalog accent stripe on mobile — it's a desktop "you are
     here" indicator that becomes visual noise on the smaller pill. */
  .navbar-catalog-btn::before {
    display: none;
  }

  /* (5) Vertical rhythm — give the navbar row a touch of breathing room
     from the search row above it. */
  #navbar.navbar {
    margin-top: 4px;
  }

  /* (6) Mobile Categories arrow gets the same hover/open color transition
     as the catalog arrow so the two pills behave identically. */
  .mobile-categories-btn .mobile-categories-arrow {
    transition: transform 0.2s ease, color 0.2s ease;
  }
  .mobile-categories-btn:hover .mobile-categories-arrow,
  .mobile-categories-dropdown.open .mobile-categories-arrow {
    color: var(--primary, #221755);
  }
  .navbar-catalog-btn:hover .navbar-catalog-arrow,
  .navbar-catalog-dropdown.open .navbar-catalog-arrow {
    color: var(--primary, #221755);
  }
}

/* ============================================================ */
/* Notification + Cart popups inside main_header — anchor menu   */
/* to the trigger button so the caret can point AT the bell/cart */
/* and so the menu doesn't overflow the viewport.                */
/* ============================================================ */

/* LTR: action cluster sits on the right; anchor menu to its right edge so
   it opens leftward and the caret sits near the trigger (right side). */
.main-header-actions .dropdown .dropdown-menu {
  right: 0 !important;
  left: auto !important;
}
.main-header-actions .dropdown .dropdown-menu:after {
  right: 15px;
  left: auto;
}

/* RTL: action cluster sits on the left; anchor menu to its left edge so
   it opens rightward and the caret sits near the trigger (left side). */
.rtl .main-header-actions .dropdown .dropdown-menu,
[dir="rtl"] .main-header-actions .dropdown .dropdown-menu {
  right: auto !important;
  left: 0 !important;
}
.rtl .main-header-actions .dropdown .dropdown-menu:after,
[dir="rtl"] .main-header-actions .dropdown .dropdown-menu:after {
  right: auto;
  left: 15px;
}

/* Width clamps so popups never exceed the viewport. The global rule sets
   min-width: 325px which overflows narrow viewports — especially in RTL where
   the trigger sits on the left and the popup extends 325px to the right. */
@media (max-width: 991px) {
  .main-header-actions .dropdown .dropdown-menu {
    min-width: 280px;
    max-width: calc(100vw - 24px);
  }
  /* Mobile-only: bump catalog menu z-index way up so it escapes any page
     section's stacking context. Desktop keeps its 1035 (below modal). */
  .navbar-catalog-menu {
    z-index: 9999;
    transform: translateZ(0);
    box-shadow: 0 16px 48px rgba(15, 23, 42, 0.22);
  }
  /* Same dimming backdrop pattern for the catalog dropdown on mobile. */
  .navbar-catalog-dropdown.open::before {
    content: '';
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(15, 23, 42, 0.35);
    z-index: 9990;
    pointer-events: none;
    animation: dropdownBackdropFadeIn 0.15s ease;
  }
}

/* Smallest mobile: switch to viewport-anchored fixed positioning. The popup
   becomes a 12px-margin floating sheet anchored just below the header — it
   reliably fits any 320px+ viewport and avoids off-screen clipping entirely. */
@media (max-width: 575.98px) {
  .main-header-actions .dropdown.show .dropdown-menu {
    position: fixed !important;
    top: 72px !important;          /* sits just below the main-header */
    left: 12px !important;
    right: 12px !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    max-height: 75vh;
    overflow-y: auto !important;
    transform: none !important;     /* override Popper + the global 54px translate */
    margin: 0 !important;
  }
  /* The caret is keyed off the trigger button's horizontal position; with the
     popup now spanning the viewport, the caret would float in space — hide it. */
  .main-header-actions .dropdown.show .dropdown-menu:after {
    display: none;
  }
}

/* Compact close-row at the top of the cart/notification popups on mobile.
   The X button is taken OUT OF FLOW with absolute positioning so it consumes
   ZERO vertical space — content starts at the top of the popup. The button
   floats in the top corner (top-right LTR, top-left RTL). */
.dropdown-menu .dropdown-close-row {
  position: absolute;
  top: 6px;
  right: 6px;
  z-index: 2;
  /* Override the legacy `mb-10 pb-5 border-bottom` utilities that the Blade
     still ships with, so the absolute-positioned button truly contributes
     no layout space. */
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  line-height: 1;
}
.rtl .dropdown-menu .dropdown-close-row,
[dir="rtl"] .dropdown-menu .dropdown-close-row {
  right: auto;
  left: 6px;
}
.dropdown-menu .dropdown-close-row .close-dropdown {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  cursor: pointer;
  color: #4B5563;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.85);
  transition: background 0.15s ease, color 0.15s ease;
}
.dropdown-menu .dropdown-close-row .close-dropdown:hover {
  background: rgba(34, 23, 85, 0.08);
  color: var(--primary, #221755);
}

/* The X is absolutely positioned in the top corner — give the popup body a
   touch of top padding on mobile so the first notification doesn't slide under
   the X. Desktop popup hides the close row via `d-md-none` so no padding needed. */
@media (max-width: 767.98px) {
  .main-header-actions .dropdown .dropdown-menu {
    padding-top: 44px;
  }
}
@media (max-width: 575.98px) {
  .dropdown-menu .dropdown-close-row .close-dropdown {
    width: 36px;
    height: 36px;
  }
  .main-header-actions .dropdown .dropdown-menu {
    padding-top: 48px;
  }
}

/* ============================================================ */
/* Header (Tier 2) + Navbar (Tier 3) — RTL adjustments           */
/* ============================================================ */

/* Action cluster sits on the visual left in RTL (logo is on the right) */
.rtl .main-header-actions {
  margin-left: 0;
  margin-right: auto;
}
@media (max-width: 991px) {
  .rtl .main-header-actions {
    margin-right: 0;
  }
}

/* Icon badges (cart, notification) pin to the top-left edge in RTL */
.rtl .navbar-icon-btn-badge {
  right: auto;
  left: -6px;
}

/* User-menu pill: avatar still hugs the inside edge in RTL (avatar on right, chevron on left) */
.rtl .navbar-user-btn {
  padding: 4px 4px 4px 10px;
}

/* Language pill chevron swaps sides in RTL */
.rtl .navbar-lang-arrow {
  margin-left: 0;
  margin-right: 2px;
}

/* Catalog pill chevron swaps sides in RTL */
.rtl .navbar-catalog-arrow {
  margin-left: 0;
  margin-right: 4px;
}

/* Categories pill icon (grid) swaps sides in RTL */
.rtl #navbar .menu-category > ul > li > i[data-feather] {
  margin-right: 0;
  margin-left: 8px;
}

/* Bootstrap dropdown arrow (cart + notification dropdowns inside main header) */
.rtl .dropdown-menu:after {
  left: auto;
  right: 15px;
}

/* Auth links: register pill sits to the right of login in RTL — ml-5 already flips via rtl-app */
.rtl .navbar-auth-link {
  text-align: center;
}

/* Vertical separator margin is symmetrical, but reinforce for safety */
.rtl .main-header-separator {
  margin: 0 4px;
}

/* Logout icon (Feather "log-out") — arrow points right in LTR; flip it for RTL
   so it reads as "exit toward the inline-end" (visually leftward). */
.rtl .navbar-user-item .feather-log-out,
[dir="rtl"] .navbar-user-item .feather-log-out {
  transform: scaleX(-1);
}

/* Continue-Learning "Resume" play arrow (Tabler ti-player-play-filled) —
   triangle points right in LTR; flip it for RTL so "continue/proceed" reads
   in the reading direction. Scoped to the continue-learning pill only. */
.rtl .continue-learning-pill .continue-learning-pill-action i.ti,
[dir="rtl"] .continue-learning-pill .continue-learning-pill-action i.ti {
  transform: scaleX(-1);
}

/* CTA "Browse all courses" arrow (Feather arrow-right) — points right in LTR;
   flip it for RTL so the "next/forward" arrow follows the reading direction.
   Scoped to .cta-primary-btn only. */
.rtl .cta-primary-btn .feather-arrow-right,
[dir="rtl"] .cta-primary-btn .feather-arrow-right {
  transform: scaleX(-1);
}

/* Same RTL flip for the primary-btn arrow on the home page promo sections:
   tf = Tutor Finder, wc = Rewards (Learn·Earn·Redeem),
   bi = Become an Instructor, fc = Create a New Topic (forum/community). */
.rtl .tf-primary-btn .feather-arrow-right,
[dir="rtl"] .tf-primary-btn .feather-arrow-right,
.rtl .wc-primary-btn .feather-arrow-right,
[dir="rtl"] .wc-primary-btn .feather-arrow-right,
.rtl .bi-primary-btn .feather-arrow-right,
[dir="rtl"] .bi-primary-btn .feather-arrow-right,
.rtl .fc-primary-btn .feather-arrow-right,
[dir="rtl"] .fc-primary-btn .feather-arrow-right {
  transform: scaleX(-1);
}

/* ============================================================ */
/* CTA Banner Section                                            */
/* ============================================================ */
.cta-band-section {
  position: relative;
  padding: 60px 0;
  display: flex;
  align-items: center;
  justify-content: center;
}

.cta-blue-strip {
  position: absolute;
  inset-inline-start: 0;
  inset-inline-end: 0;
  top: 50%;
  transform: translateY(-50%);
  height: 280px;
  pointer-events: none;
  background:
    radial-gradient(ellipse 35% 60% at 8% 50%,  rgba(90, 180, 236, 0.28) 0%, transparent 70%),
    radial-gradient(ellipse 35% 70% at 28% 50%, rgba(8, 114, 186, 0.55) 0%, transparent 65%),
    radial-gradient(ellipse 45% 90% at 50% 50%, rgba(34, 23, 85, 0.85) 0%, rgba(34, 23, 85, 0.45) 50%, transparent 80%),
    radial-gradient(ellipse 35% 70% at 72% 50%, rgba(8, 114, 186, 0.55) 0%, transparent 65%),
    radial-gradient(ellipse 35% 60% at 92% 50%, rgba(90, 180, 236, 0.28) 0%, transparent 70%);
}

.cta-card {
  position: relative;
  z-index: 2;
  width: 90%;
  max-width: 1180px;
  /* Dark CTA: brand hue at low (dark) lightness, so it stays dark and keeps the
     white text readable regardless of the brand color. Static line is the
     fallback for browsers without relative-color syntax. */
  background: linear-gradient(135deg, #221755 0%, #0872BA 100%);
  background: linear-gradient(135deg,
    hsl(from var(--primary) h 60% 22%) 0%,
    hsl(from var(--primary) h 70% 42%) 100%);
  border-radius: 24px;
  padding: 56px 64px;
  overflow: hidden;
  box-shadow: 0 24px 60px rgba(34, 23, 85, 0.40);
  min-height: 360px;
  display: flex;
  align-items: center;
}

.cta-shapes-svg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
}

.cta-glow-tr {
  position: absolute;
  top: -120px;
  inset-inline-end: -120px;
  width: 360px;
  height: 360px;
  background: radial-gradient(circle, rgba(8, 114, 186, 0.50) 0%, transparent 70%);
  border-radius: 50%;
  pointer-events: none;
}

.cta-glow-bl {
  position: absolute;
  bottom: -100px;
  inset-inline-start: -100px;
  width: 320px;
  height: 320px;
  background: radial-gradient(circle, rgba(125, 211, 252, 0.20) 0%, transparent 70%);
  border-radius: 50%;
  pointer-events: none;
}

.cta-content {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  gap: 40px;
  align-items: center;
  width: 100%;
}

.cta-text {
  color: #FFFFFF;
}

.cta-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 5px 12px;
  background: rgba(255, 255, 255, 0.12);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 14px;
  font-size: 11px;
  font-weight: 600;
  color: #5AB4EC;
  text-transform: uppercase;
  letter-spacing: 1px;
  margin-bottom: 18px;
}

.cta-heading {
  font-size: 34px;
  font-weight: 700;
  line-height: 1.15;
  margin: 0 0 14px;
  color: #FFFFFF;
}

.cta-heading .accent {
  color: #5AB4EC;
  position: relative;
  display: inline-block;
}

.cta-heading .accent::after {
  content: "";
  position: absolute;
  inset-inline-start: 0;
  bottom: 2px;
  width: 100%;
  height: 6px;
  background: rgba(90, 180, 236, 0.3);
  z-index: -1;
  border-radius: 2px;
}

.cta-subtitle {
  font-size: 15px;
  color: rgba(255, 255, 255, 0.75);
  line-height: 1.55;
  margin: 0 0 24px;
  max-width: 480px;
}

.cta-stats-row {
  display: flex;
  gap: 28px;
  margin-bottom: 28px;
}

.cta-stat {
  display: flex;
  flex-direction: column;
}

.cta-stat-num {
  font-size: 22px;
  font-weight: 700;
  color: #FFFFFF;
  line-height: 1;
  margin-bottom: 4px;
}

.cta-stat-label {
  font-size: 11px;
  color: rgba(255, 255, 255, 0.65);
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.cta-primary-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 13px 22px;
  background: #FFFFFF;
  color: #221755;
  border: none;
  border-radius: 12px;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
  text-decoration: none;
}

.cta-primary-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.25);
  color: #221755;
  text-decoration: none;
}

.cta-visual {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 260px;
}

.cta-visual-card {
  position: absolute;
  background: rgba(255, 255, 255, 0.10);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 14px;
  padding: 14px 18px;
  color: #FFFFFF;
  display: flex;
  align-items: center;
  gap: 10px;
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.2);
  text-decoration: none;
  transition: transform 0.2s ease, background 0.2s ease;
}

.cta-visual-card:hover {
  transform: translateY(-3px);
  background: rgba(255, 255, 255, 0.16);
  color: #FFFFFF;
  text-decoration: none;
}

.cta-visual-card-1 { top: 0; inset-inline-end: 40px; }
.cta-visual-card-2 { top: 90px; inset-inline-end: 110px; }
.cta-visual-card-3 { top: 180px; inset-inline-end: 30px; }

.cta-visual-icon {
  width: 48px;
  height: 48px;
  background: linear-gradient(135deg, #5AB4EC, #0872BA);
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #FFFFFF;
  flex-shrink: 0;
  padding: 2px;
  overflow: hidden;
  box-sizing: border-box;
}

.cta-visual-icon-img {
  width: 100%;
  height: 100%;
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
  display: block;
  filter: none;
}

.cta-visual-icon-amber {
  background: linear-gradient(135deg, #F59E0B, #D97706);
}

.cta-visual-icon-green {
  background: linear-gradient(135deg, #10B981, #059669);
}

.cta-card-text {
  font-size: 12px;
  line-height: 1.3;
}

.cta-card-title {
  font-weight: 600;
  margin-bottom: 2px;
  white-space: nowrap;
}

.cta-card-meta {
  color: rgba(255, 255, 255, 0.65);
  font-size: 11px;
  white-space: nowrap;
}

@media (max-width: 1023px) {
  .cta-card {
    padding: 40px 36px;
    min-height: auto;
  }
  .cta-content {
    grid-template-columns: 1fr;
    gap: 32px;
  }
  .cta-visual {
    min-height: 240px;
  }
  .cta-blue-strip {
    height: 240px;
  }
}

@media (max-width: 767px) {
  .cta-card {
    padding: 32px 24px;
    width: 92%;
    border-radius: 18px;
  }
  .cta-heading {
    font-size: 26px;
  }
  .cta-subtitle {
    font-size: 14px;
  }
  .cta-visual {
    display: none;
  }
  .cta-stats-row {
    gap: 20px;
  }
  .cta-stat-num {
    font-size: 18px;
  }
  .cta-blue-strip {
    height: 200px;
  }
}

/* ============================================================ */
/* Become an Instructor Section                                  */
/* ============================================================ */
.bi-section {
  position: relative;
  background: linear-gradient(135deg, #F5F3FF 0%, #EFF6FF 100%);
  border-radius: 20px;
  padding: 56px 56px;
  overflow: hidden;
}

.bi-dot-pattern {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
}

.bi-glow {
  position: absolute;
  border-radius: 50%;
  pointer-events: none;
}

.bi-glow-tr {
  top: -40px;
  inset-inline-end: -40px;
  width: 240px;
  height: 240px;
  background: radial-gradient(circle, rgba(8, 114, 186, 0.16) 0%, transparent 70%);
}

.bi-glow-bl {
  bottom: -60px;
  inset-inline-start: -60px;
  width: 260px;
  height: 260px;
  background: radial-gradient(circle, rgba(34, 23, 85, 0.08) 0%, transparent 70%);
}

.bi-grid {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 56px;
  align-items: center;
}

.bi-text {
  min-width: 0;
}

.bi-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 11px;
  font-weight: 600;
  color: #0872BA;
  text-transform: uppercase;
  letter-spacing: 1px;
  margin-bottom: 14px;
}

.bi-heading {
  font-size: 34px;
  font-weight: 700;
  color: #221755;
  line-height: 1.18;
  margin: 0 0 14px;
  letter-spacing: -0.3px;
}

.bi-subtitle {
  font-size: 15px;
  color: #4B5563;
  line-height: 1.6;
  margin: 0 0 28px;
  max-width: 480px;
  white-space: pre-line;
}

.bi-actions {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
}

.bi-primary-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 13px 22px;
  background: #221755;
  color: #FFFFFF;
  border: none;
  border-radius: 12px;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  transition: transform 0.2s ease, background 0.2s ease, box-shadow 0.2s ease;
  text-decoration: none;
}

.bi-primary-btn:hover {
  background: #1A0F3D;
  color: #FFFFFF;
  transform: translateY(-2px);
  box-shadow: 0 12px 28px rgba(34, 23, 85, 0.25);
  text-decoration: none;
}

.bi-secondary-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 13px 22px;
  background: #FFFFFF;
  color: #221755;
  border: 1px solid #D1D5DB;
  border-radius: 12px;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  transition: border-color 0.2s ease, background 0.2s ease;
  text-decoration: none;
}

.bi-secondary-btn:hover {
  border-color: #221755;
  background: #F9FAFB;
  color: #221755;
  text-decoration: none;
}

.bi-image-wrap {
  position: relative;
  width: 100%;
  aspect-ratio: 4 / 3;
}

.bi-image-frame {
  position: relative;
  width: 100%;
  height: 100%;
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 20px 50px rgba(34, 23, 85, 0.20);
  background: linear-gradient(135deg, #DDD6FE 0%, #BFDBFE 100%);
  z-index: 2;
}

.bi-image-frame img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}

.bi-accent-dots {
  position: absolute;
  width: 100px;
  height: 100px;
  background-image: radial-gradient(circle, #221755 1.5px, transparent 1.5px);
  background-size: 14px 14px;
  opacity: 0.25;
  z-index: 1;
  pointer-events: none;
}

.bi-accent-dots-tl {
  top: -20px;
  inset-inline-start: -20px;
}

.bi-accent-dots-br {
  bottom: -20px;
  inset-inline-end: -20px;
}

.bi-accent-circle {
  position: absolute;
  width: 180px;
  height: 180px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(8, 114, 186, 0.15) 0%, transparent 70%);
  z-index: 0;
  pointer-events: none;
}

.bi-accent-circle-tr {
  top: -40px;
  inset-inline-end: -40px;
}

.bi-image-badge {
  position: absolute;
  bottom: 20px;
  inset-inline-end: -16px;
  background: #FFFFFF;
  border-radius: 14px;
  padding: 10px 14px;
  box-shadow: 0 16px 32px rgba(34, 23, 85, 0.18);
  display: flex;
  align-items: center;
  gap: 10px;
  z-index: 3;
}

.bi-image-badge-icon {
  width: 36px;
  height: 36px;
  background: linear-gradient(135deg, #0872BA, #221755);
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #FFFFFF;
  flex-shrink: 0;
}

.bi-image-badge-text {
  line-height: 1.3;
}

.bi-image-badge-title {
  font-size: 12px;
  font-weight: 600;
  color: #221755;
  margin: 0;
}

.bi-image-badge-meta {
  font-size: 11px;
  color: #6B7280;
  margin: 0;
}

@media (max-width: 1023px) {
  .bi-section {
    padding: 44px 36px;
  }
  .bi-grid {
    gap: 36px;
  }
  .bi-heading {
    font-size: 28px;
  }
}

@media (max-width: 767px) {
  .bi-section {
    padding: 32px 24px;
    border-radius: 16px;
  }
  .bi-grid {
    grid-template-columns: 1fr;
    gap: 32px;
  }
  .bi-heading {
    font-size: 24px;
  }
  .bi-subtitle {
    font-size: 14px;
  }
  .bi-image-badge {
    inset-inline-end: 10px;
    bottom: 10px;
  }
  .bi-actions {
    flex-direction: column;
    align-items: stretch;
  }
  .bi-primary-btn,
  .bi-secondary-btn {
    justify-content: center;
  }
}

/* ============================================================ */
/* Forum CTA Section                                             */
/* ============================================================ */
.fc-section {
  position: relative;
  background: linear-gradient(135deg, #EFF6FF 0%, #F5F3FF 100%);
  border-radius: 20px;
  padding: 56px 56px;
  overflow: hidden;
}

.fc-dot-pattern {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
}

.fc-glow {
  position: absolute;
  border-radius: 50%;
  pointer-events: none;
}

.fc-glow-tl {
  top: -40px;
  inset-inline-start: -40px;
  width: 240px;
  height: 240px;
  background: radial-gradient(circle, rgba(8, 114, 186, 0.16) 0%, transparent 70%);
}

.fc-glow-br {
  bottom: -60px;
  inset-inline-end: -60px;
  width: 260px;
  height: 260px;
  background: radial-gradient(circle, rgba(34, 23, 85, 0.08) 0%, transparent 70%);
}

.fc-grid {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 56px;
  align-items: center;
}

.fc-text {
  min-width: 0;
}

.fc-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 11px;
  font-weight: 600;
  color: #0872BA;
  text-transform: uppercase;
  letter-spacing: 1px;
  margin-bottom: 14px;
}

.fc-heading {
  font-size: 34px;
  font-weight: 700;
  color: #221755;
  line-height: 1.18;
  margin: 0 0 14px;
  letter-spacing: -0.3px;
}

.fc-subtitle {
  font-size: 15px;
  color: #4B5563;
  line-height: 1.6;
  margin: 0 0 28px;
  max-width: 480px;
  white-space: pre-line;
}

.fc-actions {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
}

.fc-primary-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 13px 22px;
  background: #221755;
  color: #FFFFFF;
  border: none;
  border-radius: 12px;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  transition: transform 0.2s ease, background 0.2s ease, box-shadow 0.2s ease;
  text-decoration: none;
}

.fc-primary-btn:hover {
  background: #1A0F3D;
  color: #FFFFFF;
  transform: translateY(-2px);
  box-shadow: 0 12px 28px rgba(34, 23, 85, 0.25);
  text-decoration: none;
}

.fc-secondary-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 13px 22px;
  background: #FFFFFF;
  color: #221755;
  border: 1px solid #D1D5DB;
  border-radius: 12px;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  transition: border-color 0.2s ease, background 0.2s ease;
  text-decoration: none;
}

.fc-secondary-btn:hover {
  border-color: #221755;
  background: #F9FAFB;
  color: #221755;
  text-decoration: none;
}

.fc-image-wrap {
  position: relative;
  width: 100%;
  aspect-ratio: 4 / 3;
}

.fc-image-frame {
  position: relative;
  width: 100%;
  height: 100%;
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 20px 50px rgba(34, 23, 85, 0.20);
  background: linear-gradient(135deg, #DDD6FE 0%, #BFDBFE 100%);
  z-index: 2;
}

.fc-image-frame img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}

.fc-accent-dots {
  position: absolute;
  width: 100px;
  height: 100px;
  background-image: radial-gradient(circle, #221755 1.5px, transparent 1.5px);
  background-size: 14px 14px;
  opacity: 0.25;
  z-index: 1;
  pointer-events: none;
}

.fc-accent-dots-tl {
  top: -20px;
  inset-inline-start: -20px;
}

.fc-accent-dots-br {
  bottom: -20px;
  inset-inline-end: -20px;
}

.fc-accent-circle {
  position: absolute;
  width: 180px;
  height: 180px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(8, 114, 186, 0.15) 0%, transparent 70%);
  z-index: 0;
  pointer-events: none;
}

.fc-accent-circle-tr {
  top: -40px;
  inset-inline-end: -40px;
}

.fc-image-badge {
  position: absolute;
  bottom: 20px;
  inset-inline-end: -16px;
  background: #FFFFFF;
  border-radius: 14px;
  padding: 10px 14px;
  box-shadow: 0 16px 32px rgba(34, 23, 85, 0.18);
  display: flex;
  align-items: center;
  gap: 10px;
  z-index: 3;
}

.fc-image-badge-icon {
  width: 36px;
  height: 36px;
  background: linear-gradient(135deg, #0872BA, #221755);
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #FFFFFF;
  flex-shrink: 0;
}

.fc-image-badge-text {
  line-height: 1.3;
}

.fc-image-badge-title {
  font-size: 12px;
  font-weight: 600;
  color: #221755;
  margin: 0;
}

.fc-image-badge-meta {
  font-size: 11px;
  color: #6B7280;
  margin: 0;
}

@media (max-width: 1023px) {
  .fc-section {
    padding: 44px 36px;
  }
  .fc-grid {
    gap: 36px;
  }
  .fc-heading {
    font-size: 28px;
  }
}

@media (max-width: 767px) {
  .fc-section {
    padding: 32px 24px;
    border-radius: 16px;
  }
  .fc-grid {
    grid-template-columns: 1fr;
    gap: 32px;
  }
  .fc-heading {
    font-size: 24px;
  }
  .fc-subtitle {
    font-size: 14px;
  }
  .fc-image-badge {
    inset-inline-end: 10px;
    bottom: 10px;
  }
  .fc-actions {
    flex-direction: column;
    align-items: stretch;
  }
  .fc-primary-btn,
  .fc-secondary-btn {
    justify-content: center;
  }
}

/* ============================================================ */
/* Win Club Points Section (Rewards)                             */
/* ============================================================ */
.wc-section {
  position: relative;
  background: linear-gradient(135deg, #FEF3C7 0%, #FFEDD5 50%, #FEF3C7 100%);
  border-radius: 20px;
  padding: 56px;
  overflow: hidden;
}

.wc-dot-pattern {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
}

.wc-glow {
  position: absolute;
  border-radius: 50%;
  pointer-events: none;
}

.wc-glow-tr {
  top: -50px;
  inset-inline-end: -50px;
  width: 280px;
  height: 280px;
  background: radial-gradient(circle, rgba(245, 158, 11, 0.25) 0%, transparent 70%);
}

.wc-glow-bl {
  bottom: -70px;
  inset-inline-start: -70px;
  width: 300px;
  height: 300px;
  background: radial-gradient(circle, rgba(217, 119, 6, 0.15) 0%, transparent 70%);
}

.wc-grid {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 56px;
  align-items: center;
}

.wc-image-wrap {
  position: relative;
  width: 100%;
  aspect-ratio: 1 / 1;
  display: flex;
  align-items: center;
  justify-content: center;
}

.wc-confetti-svg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 1;
}

.wc-medal-svg {
  width: 75%;
  height: auto;
  filter: drop-shadow(0 20px 40px rgba(217, 119, 6, 0.25));
  position: relative;
  z-index: 2;
}

.wc-uploaded-image {
  width: 75%;
  height: auto;
  max-height: 85%;
  object-fit: contain;
  filter: drop-shadow(0 20px 40px rgba(217, 119, 6, 0.25));
  position: relative;
  z-index: 2;
}

.wc-floating-badge {
  position: absolute;
  bottom: 30px;
  inset-inline-start: -10px;
  background: #FFFFFF;
  border-radius: 14px;
  padding: 12px 16px;
  box-shadow: 0 16px 32px rgba(34, 23, 85, 0.18);
  display: flex;
  align-items: center;
  gap: 12px;
  z-index: 3;
}

.wc-fb-icon {
  width: 38px;
  height: 38px;
  background: linear-gradient(135deg, #F59E0B, #D97706);
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #FFFFFF;
  flex-shrink: 0;
}

.wc-fb-text {
  line-height: 1.3;
}

.wc-fb-title {
  font-size: 13px;
  font-weight: 700;
  color: #0872BA;
  margin: 0;
}

.wc-fb-meta {
  font-size: 11px;
  color: #6B7280;
  margin: 0;
}

.wc-text {
  min-width: 0;
}

.wc-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 11px;
  font-weight: 600;
  color: #D97706;
  text-transform: uppercase;
  letter-spacing: 1px;
  margin-bottom: 14px;
  padding: 5px 12px;
  background: rgba(217, 119, 6, 0.12);
  border-radius: 14px;
}

.wc-heading {
  font-size: 34px;
  font-weight: 700;
  color: #221755;
  line-height: 1.18;
  margin: 0 0 14px;
  letter-spacing: -0.3px;
}

.wc-subtitle {
  font-size: 15px;
  color: #4B5563;
  line-height: 1.6;
  margin: 0 0 24px;
  max-width: 480px;
  white-space: pre-line;
}

.wc-perks {
  display: flex;
  gap: 18px;
  margin-bottom: 28px;
  flex-wrap: wrap;
}

.wc-perk {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  color: #221755;
  font-weight: 500;
}

.wc-perk-icon {
  width: 28px;
  height: 28px;
  background: #FFFFFF;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #D97706;
  flex-shrink: 0;
  box-shadow: 0 2px 6px rgba(217, 119, 6, 0.15);
}

.wc-actions {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
}

.wc-primary-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 13px 22px;
  background: #221755;
  color: #FFFFFF;
  border: none;
  border-radius: 12px;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  transition: transform 0.2s ease, background 0.2s ease, box-shadow 0.2s ease;
  text-decoration: none;
}

.wc-primary-btn:hover {
  background: #1A0F3D;
  color: #FFFFFF;
  transform: translateY(-2px);
  box-shadow: 0 12px 28px rgba(34, 23, 85, 0.25);
  text-decoration: none;
}

.wc-secondary-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 13px 22px;
  background: #FFFFFF;
  color: #221755;
  border: 1px solid #D1D5DB;
  border-radius: 12px;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  transition: border-color 0.2s ease, background 0.2s ease;
  text-decoration: none;
}

.wc-secondary-btn:hover {
  border-color: #221755;
  background: #F9FAFB;
  color: #221755;
  text-decoration: none;
}

@media (max-width: 1023px) {
  .wc-section {
    padding: 44px 36px;
  }
  .wc-grid {
    gap: 36px;
  }
  .wc-heading {
    font-size: 28px;
  }
  .wc-medal-svg,
  .wc-uploaded-image {
    width: 60%;
  }
}

@media (max-width: 767px) {
  .wc-section {
    padding: 32px 24px;
    border-radius: 16px;
  }
  .wc-grid {
    grid-template-columns: 1fr;
    gap: 28px;
  }
  .wc-image-wrap {
    aspect-ratio: auto;
    height: 280px;
  }
  .wc-medal-svg,
  .wc-uploaded-image {
    width: 50%;
  }
  .wc-heading {
    font-size: 24px;
  }
  .wc-subtitle {
    font-size: 14px;
  }
  .wc-perks {
    gap: 12px;
  }
  .wc-floating-badge {
    inset-inline-start: 10px;
    bottom: 10px;
  }
  .wc-actions {
    flex-direction: column;
    align-items: stretch;
  }
  .wc-primary-btn,
  .wc-secondary-btn {
    justify-content: center;
  }
}

/* ============================================================ */
/* Tutor Finder Section                                          */
/* ============================================================ */
.tf-section {
  position: relative;
  background: linear-gradient(135deg, #F5F3FF 0%, #EFF6FF 100%);
  border-radius: 20px;
  padding: 56px 56px;
  overflow: hidden;
}

.tf-dot-pattern {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
}

.tf-glow {
  position: absolute;
  border-radius: 50%;
  pointer-events: none;
}

.tf-glow-tr {
  top: -40px;
  inset-inline-end: -40px;
  width: 240px;
  height: 240px;
  background: radial-gradient(circle, rgba(8, 114, 186, 0.16) 0%, transparent 70%);
}

.tf-glow-bl {
  bottom: -60px;
  inset-inline-start: -60px;
  width: 260px;
  height: 260px;
  background: radial-gradient(circle, rgba(34, 23, 85, 0.08) 0%, transparent 70%);
}

.tf-grid {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 56px;
  align-items: center;
}

.tf-text {
  min-width: 0;
}

.tf-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 11px;
  font-weight: 600;
  color: #0872BA;
  text-transform: uppercase;
  letter-spacing: 1px;
  margin-bottom: 14px;
}

.tf-heading {
  font-size: 34px;
  font-weight: 700;
  color: #221755;
  line-height: 1.18;
  margin: 0 0 14px;
  letter-spacing: -0.3px;
}

.tf-subtitle {
  font-size: 15px;
  color: #4B5563;
  line-height: 1.6;
  margin: 0 0 28px;
  max-width: 480px;
  white-space: pre-line;
}

.tf-actions {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
}

.tf-primary-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 13px 22px;
  background: #221755;
  color: #FFFFFF;
  border: none;
  border-radius: 12px;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  transition: transform 0.2s ease, background 0.2s ease, box-shadow 0.2s ease;
  text-decoration: none;
}

.tf-primary-btn:hover {
  background: #1A0F3D;
  color: #FFFFFF;
  transform: translateY(-2px);
  box-shadow: 0 12px 28px rgba(34, 23, 85, 0.25);
  text-decoration: none;
}

.tf-secondary-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 13px 22px;
  background: #FFFFFF;
  color: #221755;
  border: 1px solid #D1D5DB;
  border-radius: 12px;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  transition: border-color 0.2s ease, background 0.2s ease;
  text-decoration: none;
}

.tf-secondary-btn:hover {
  border-color: #221755;
  background: #F9FAFB;
  color: #221755;
  text-decoration: none;
}

.tf-image-wrap {
  position: relative;
  width: 100%;
  aspect-ratio: 4 / 3;
}

.tf-image-frame {
  position: relative;
  width: 100%;
  height: 100%;
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 20px 50px rgba(34, 23, 85, 0.20);
  background: linear-gradient(135deg, #DDD6FE 0%, #BFDBFE 100%);
  z-index: 2;
}

.tf-image-frame img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}

.tf-accent-dots {
  position: absolute;
  width: 100px;
  height: 100px;
  background-image: radial-gradient(circle, #221755 1.5px, transparent 1.5px);
  background-size: 14px 14px;
  opacity: 0.25;
  z-index: 1;
  pointer-events: none;
}

.tf-accent-dots-tl {
  top: -20px;
  inset-inline-start: -20px;
}

.tf-accent-dots-br {
  bottom: -20px;
  inset-inline-end: -20px;
}

.tf-accent-circle {
  position: absolute;
  width: 180px;
  height: 180px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(8, 114, 186, 0.15) 0%, transparent 70%);
  z-index: 0;
  pointer-events: none;
}

.tf-accent-circle-tr {
  top: -40px;
  inset-inline-end: -40px;
}

.tf-image-badge {
  position: absolute;
  bottom: 20px;
  inset-inline-end: -16px;
  background: #FFFFFF;
  border-radius: 14px;
  padding: 10px 14px;
  box-shadow: 0 16px 32px rgba(34, 23, 85, 0.18);
  display: flex;
  align-items: center;
  gap: 10px;
  z-index: 3;
}

.tf-image-badge-icon {
  width: 36px;
  height: 36px;
  background: linear-gradient(135deg, #0872BA, #221755);
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #FFFFFF;
  flex-shrink: 0;
}

.tf-image-badge-text {
  line-height: 1.3;
}

.tf-image-badge-title {
  font-size: 12px;
  font-weight: 600;
  color: #221755;
  margin: 0;
}

.tf-image-badge-meta {
  font-size: 11px;
  color: #6B7280;
  margin: 0;
}

@media (max-width: 1023px) {
  .tf-section {
    padding: 44px 36px;
  }
  .tf-grid {
    gap: 36px;
  }
  .tf-heading {
    font-size: 28px;
  }
}

@media (max-width: 767px) {
  .tf-section {
    padding: 32px 24px;
    border-radius: 16px;
  }
  .tf-grid {
    grid-template-columns: 1fr;
    gap: 32px;
  }
  .tf-heading {
    font-size: 24px;
  }
  .tf-subtitle {
    font-size: 14px;
  }
  .tf-image-badge {
    inset-inline-end: 10px;
    bottom: 10px;
  }
  .tf-actions {
    flex-direction: column;
    align-items: stretch;
  }
  .tf-primary-btn,
  .tf-secondary-btn {
    justify-content: center;
  }
}

/* ============================================================ */
/* Aurora washes (Phase 2) — themed ambient layer per section.   */
/* Additive: sits behind existing decorations, mask-faded at     */
/* top/bottom so adjacent section boundaries stay clean.         */
/* ============================================================ */

/* Featured Courses — Editorial spotlight (warm gold + brand purple) */
.featured-courses-section::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background:
    radial-gradient(ellipse 50% 65% at 20% 50%, rgba(245, 158, 11, 0.32) 0%, transparent 70%),
    radial-gradient(ellipse 50% 60% at 80% 50%, rgba(34, 23, 85, 0.22) 0%, transparent 70%),
    radial-gradient(ellipse 70% 85% at 50% 55%, rgba(217, 70, 239, 0.14) 0%, transparent 75%);
  -webkit-mask-image: linear-gradient(180deg, transparent 0%, #000 8%, #000 92%, transparent 100%);
          mask-image: linear-gradient(180deg, transparent 0%, #000 8%, #000 92%, transparent 100%);
}

/* Best Rated — Constellation gold (cool→warm bridge) */
.best-rated-section::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background:
    radial-gradient(ellipse 50% 65% at 22% 50%, rgba(34, 23, 85, 0.26) 0%, transparent 70%),
    radial-gradient(ellipse 50% 60% at 78% 50%, rgba(252, 211, 77, 0.34) 0%, transparent 70%),
    radial-gradient(ellipse 70% 85% at 50% 55%, rgba(8, 114, 186, 0.16) 0%, transparent 75%);
  -webkit-mask-image: linear-gradient(180deg, transparent 0%, #000 8%, #000 92%, transparent 100%);
          mask-image: linear-gradient(180deg, transparent 0%, #000 8%, #000 92%, transparent 100%);
}

/* Discounted Courses — Urgency embers (amber + coral red) */
.discounted-section::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background:
    radial-gradient(ellipse 50% 65% at 22% 50%, rgba(245, 158, 11, 0.40) 0%, transparent 70%),
    radial-gradient(ellipse 50% 60% at 78% 50%, rgba(248, 113, 113, 0.32) 0%, transparent 70%),
    radial-gradient(ellipse 70% 85% at 50% 55%, rgba(34, 23, 85, 0.18) 0%, transparent 75%);
  -webkit-mask-image: linear-gradient(180deg, transparent 0%, #000 8%, #000 92%, transparent 100%);
          mask-image: linear-gradient(180deg, transparent 0%, #000 8%, #000 92%, transparent 100%);
}

/* Free Courses — Welcome warmth (soft pink + mint green) */
.free-section::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background:
    radial-gradient(ellipse 50% 65% at 22% 50%, rgba(244, 114, 182, 0.30) 0%, transparent 70%),
    radial-gradient(ellipse 50% 60% at 78% 50%, rgba(52, 211, 153, 0.30) 0%, transparent 70%),
    radial-gradient(ellipse 70% 85% at 50% 55%, rgba(34, 23, 85, 0.14) 0%, transparent 75%);
  -webkit-mask-image: linear-gradient(180deg, transparent 0%, #000 8%, #000 92%, transparent 100%);
          mask-image: linear-gradient(180deg, transparent 0%, #000 8%, #000 92%, transparent 100%);
}

/* Testimonials — Cosmic depth (indigo + purple glow under existing navy) */
.testimonials-section::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background:
    radial-gradient(ellipse 45% 60% at 22% 45%, rgba(99, 102, 241, 0.28) 0%, transparent 70%),
    radial-gradient(ellipse 45% 55% at 78% 55%, rgba(168, 85, 247, 0.24) 0%, transparent 70%),
    radial-gradient(ellipse 65% 80% at 50% 50%, rgba(8, 114, 186, 0.18) 0%, transparent 75%);
  -webkit-mask-image: linear-gradient(180deg, transparent 0%, #000 10%, #000 90%, transparent 100%);
          mask-image: linear-gradient(180deg, transparent 0%, #000 10%, #000 90%, transparent 100%);
}

/* Course card type-aware meta row */
.webinar-card .webinar-meta {
  gap: 6px 14px;
}
.webinar-card .webinar-meta-item {
  color: #6B7280;
  white-space: nowrap;
}
.webinar-card .webinar-meta-item .webinar-icon {
  color: var(--secondary, #0872BA);
  flex-shrink: 0;
}
.webinar-card .webinar-meta-item i.ti.webinar-icon {
  font-size: 16px;
  line-height: 1;
}
.webinar-card .webinar-meta-item .font-13 {
  font-size: 13px;
}

/* ============================================================ */
/* Course / webinar card — responsive readability pass.          */
/* Mobile/tablet bumps font sizes a notch up and gives the title  */
/* room to breathe with proper line-clamp instead of fixed-height */
/* ellipsis. Desktop sizes unchanged.                             */
/* ============================================================ */
@media (max-width: 991.98px) {
  /* Title — keep at 16px (the .font-16 utility already provides) but
     switch from fixed-height ellipsis to a 2-line clamp so long titles
     render cleanly without mid-line cutoff. */
  .webinar-card .webinar-card-body .webinar-title {
    height: auto;
    min-height: 44px;
    max-height: none;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    line-height: 1.35;
  }
  /* Meta items (lessons / hours / dates / student count) — bump from
     13px to 14px for better readability on small screens. */
  .webinar-card .webinar-meta-item .font-13 {
    font-size: 14px;
  }
  /* Author name — already 14px, but make sure it doesn't shrink. */
  .webinar-card .webinar-author-name {
    font-size: 14px;
  }
  /* Author rating — slightly bigger numbers. */
  .webinar-card .webinar-author-rating {
    font-size: 13px;
  }
  /* Cat chip (the floating "category" pill on the image) — was 11px,
     hard to read. Bump to 12px + give a tiny bit more padding. */
  .webinar-card .webinar-card-cat-chip {
    font-size: 12px;
    padding: 5px 11px;
  }
  /* Badges (Free / New / Live / Bestseller etc.) — keep at 12px but
     ensure adequate padding for thumb-tap legibility. */
  .webinar-card .webinar-badge {
    padding: 6px 11px;
    font-size: 12px;
  }
  /* Price block — keep the prominent "real" price at 20px on tablet,
     dial it back slightly on small mobile to fit narrower cards. */
  .webinar-card .webinar-card-body .webinar-price-box .real {
    font-size: 18px;
  }
  .webinar-card .webinar-card-body .webinar-price-box .off {
    font-size: 13px;
  }
  /* Body padding — tighter on mobile so the card doesn't feel padded. */
  .webinar-card .webinar-card-body {
    padding: 12px 12px 14px;
  }
  .rtl .webinar-card .webinar-card-body {
    padding: 12px 12px 14px;
  }
}

/* Small mobile (<576px) — slightly larger title for premium "lockscreen"
   readability on phones held at arm's length. */
@media (max-width: 575.98px) {
  .webinar-card .webinar-card-body .webinar-title {
    font-size: 17px !important;     /* overrides the .font-16 utility */
    line-height: 1.32;
    min-height: 46px;
  }
}

/* Course card progress states (enrolled / completed) */
.webinar-card .webinar-card-progress {
  position: absolute;
  bottom: 0;
  inset-inline-start: 0;
  inset-inline-end: 0;
  height: 4px;
  background: rgba(255, 255, 255, 0.30);
  z-index: 3;
}
.webinar-card .webinar-card-progress-fill {
  display: block;
  height: 100%;
  transition: width 0.5s ease;
}
.webinar-card .webinar-card-progress-fill.not-started {
  background: rgba(255, 255, 255, 0.55);
  width: 100%;
}
.webinar-card .webinar-card-progress-fill.in-progress {
  background: linear-gradient(90deg, #5AB4EC, #0872BA);
}
.webinar-card .webinar-card-progress-fill.completed {
  background: linear-gradient(90deg, #10B981, #059669);
  width: 100%;
}
/* Priority badge system (top-left, single badge + stacked custom badge) */
.webinar-card .webinar-badges-area {
  position: absolute;
  top: 12px;
  inset-inline-start: 12px;
  z-index: 4;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 4px;
}
.webinar-card .webinar-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: #FFFFFF;
  padding: 6px 12px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 600;
  line-height: 1;
  white-space: nowrap;
  background: linear-gradient(135deg, var(--badge-from, #475569), var(--badge-to, #64748B));
}
.webinar-card .webinar-badge svg {
  width: 14px;
  height: 14px;
  flex-shrink: 0;
}
.webinar-card .webinar-badge i.ti {
  font-size: 14px;
  line-height: 1;
  flex-shrink: 0;
}
/* Admin-defined custom badges (from ProductBadgeContent) use inline
   color + background-color styles, but inherit the rest of .webinar-badge's
   pill geometry (padding, radius, font, gap) so they visually pair with
   the system badges in the top-left stack. The inline `background:` set
   in the Blade overrides the gradient from .webinar-badge. */
.webinar-card .webinar-badge.webinar-badge-custom {
  /* Cancel the gradient defaults so the inline `background` color reads
     as a solid pill — preserves the admin-picked color. */
  background-image: none !important;
}
.webinar-card .webinar-badge.webinar-badge-custom .webinar-badge-custom-icon {
  width: 16px;
  height: 16px;
  object-fit: contain;
  flex-shrink: 0;
  border-radius: 4px;        /* gentle rounding for small images */
  display: inline-block;
}
.webinar-card .webinar-badge.discount   { --badge-from: #BE123C; --badge-to: #F43F5E; }
.webinar-card .webinar-badge.bestseller { --badge-from: #D97706; --badge-to: #F59E0B; }
.webinar-card .webinar-badge.featured   { --badge-from: #6D28D9; --badge-to: #8B5CF6; }
.webinar-card .webinar-badge.new        { --badge-from: #047857; --badge-to: #10B981; }
.webinar-card .webinar-badge.upcoming   { --badge-from: #1E40AF; --badge-to: #3B82F6; }
.webinar-card .webinar-badge.live       { --badge-from: #DC2626; --badge-to: #EF4444; }
.webinar-card .webinar-badge.finished   { --badge-from: #15803D; --badge-to: #22C55E; }
.webinar-card .webinar-badge.free       { --badge-from: #0E7490; --badge-to: #06B6D4; }
.webinar-card .webinar-badge.bundle     { --badge-from: #7C3AED; --badge-to: #A855F7; }
.webinar-card .webinar-badge.course     { --badge-from: #475569; --badge-to: #64748B; }
.webinar-card .webinar-badge.live::before {
  content: "";
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #FFFFFF;
  animation: webinarBadgePulse 1.4s ease-in-out infinite;
}
@keyframes webinarBadgePulse {
  0%, 100% { opacity: 1; transform: scale(1); }
  50% { opacity: 0.5; transform: scale(1.3); }
}
@media (prefers-reduced-motion: reduce) {
  .webinar-card .webinar-badge.live::before { animation: none; opacity: 1; }
}

/* Corner state badge (top-right) — completed / registered */
.webinar-card .webinar-corner-badge {
  position: absolute;
  top: 12px;
  inset-inline-end: 12px;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: linear-gradient(135deg, #10B981, #059669);
  color: #FFFFFF;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 4;
  box-shadow: 0 4px 12px rgba(16, 185, 129, 0.4);
}
.webinar-card .webinar-card-progress-text {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  background: rgba(8, 114, 186, 0.08);
  border-radius: 8px;
  padding: 8px 12px;
  font-size: 12px;
  font-weight: 600;
  color: #0872BA;
}
.webinar-card .webinar-card-progress-text.completed {
  background: rgba(16, 185, 129, 0.10);
  color: #059669;
}
.webinar-card .webinar-card-progress-text .mr-5 {
  flex-shrink: 0;
}
.webinar-card .webinar-card-cert-link {
  color: inherit;
  text-decoration: underline;
  white-space: nowrap;
}
.webinar-card .webinar-card-divider {
  height: 1px;
  background: rgba(34, 23, 85, 0.08);
  margin: 14px 0;
}
.webinar-card .webinar-author-row {
  display: flex;
  align-items: center;
  margin-top: 12px;
}
.webinar-card .webinar-author-avatar {
  width: 38px;
  height: 38px;
  border-radius: 50%;
  object-fit: cover;
  flex-shrink: 0;
}
.webinar-card .webinar-author-info {
  display: flex;
  flex-direction: column;
  margin-inline-start: 10px;
  min-width: 0;
}
.webinar-card .webinar-author-name {
  font-size: 14px;
  font-weight: 600;
  color: #221755;
  line-height: 1.3;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.webinar-card .webinar-author-name:hover {
  color: #221755;
  text-decoration: none;
}
.webinar-card .webinar-author-rating {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  margin-top: 2px;
  font-size: 12px;
}
.webinar-card .webinar-author-rating-star {
  color: #F59E0B;
  fill: #F59E0B;
  stroke: #F59E0B;
}
.webinar-card .webinar-author-rating-num {
  font-weight: 700;
  color: #221755;
}
.webinar-card .webinar-author-rating-count {
  color: #6B7280;
}
.webinar-card .webinar-card-cat-chip {
  position: absolute;
  bottom: 12px;
  inset-inline-start: 12px;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  max-width: calc(100% - 24px);
  padding: 4px 10px;
  background: rgba(255, 255, 255, 0.92);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  border-radius: 20px;
  font-size: 11px;
  font-weight: 600;
  color: #221755;
  text-decoration: none;
  z-index: 3;
  box-shadow: 0 2px 8px rgba(15, 23, 42, 0.12);
}
.webinar-card .webinar-card-cat-chip:hover {
  color: #221755;
  text-decoration: none;
}
.webinar-card .webinar-card-cat-chip span {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.webinar-card .webinar-card-cat-chip [data-feather],
.webinar-card .webinar-card-cat-chip i.ti {
  flex-shrink: 0;
  font-size: 12px;          /* webfont size for Tabler ti-school */
  line-height: 1;
  color: currentColor;
}

/* Webinar lifecycle states — finished overlay, Join Now, body state pills */
.webinar-card .image-box.webinar-finished-overlay::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.45);
  border-radius: 15px 15px 0 0;
  z-index: 2;
  pointer-events: none;
}
.webinar-card .image-box.webinar-finished-overlay .webinar-badges-area,
.webinar-card .image-box.webinar-finished-overlay .webinar-corner-badge,
.webinar-card .image-box.webinar-finished-overlay .webinar-card-cat-chip {
  z-index: 4;
}

.webinar-card .webinar-join-now {
  position: absolute;
  top: 50%;
  inset-inline-start: 50%;
  transform: translate(-50%, -50%);
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 10px 22px;
  background: linear-gradient(135deg, #DC2626, #EF4444);
  color: #FFFFFF;
  border-radius: 999px;
  font-size: 13px;
  font-weight: 700;
  text-decoration: none;
  z-index: 5;
  box-shadow: 0 8px 24px rgba(220, 38, 38, 0.45), 0 0 0 4px rgba(255, 255, 255, 0.15);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
  white-space: nowrap;
}
.webinar-card .webinar-join-now:hover {
  color: #FFFFFF;
  text-decoration: none;
  transform: translate(-50%, -50%) scale(1.04);
  box-shadow: 0 12px 28px rgba(220, 38, 38, 0.55), 0 0 0 4px rgba(255, 255, 255, 0.20);
}
[dir="rtl"] .webinar-card .webinar-join-now {
  transform: translate(50%, -50%);
}
[dir="rtl"] .webinar-card .webinar-join-now:hover {
  transform: translate(50%, -50%) scale(1.04);
}

.webinar-card .webinar-state-pill {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 8px 12px;
  border-radius: 8px;
  font-size: 12px;
  font-weight: 600;
  text-decoration: none;
  background: rgba(16, 185, 129, 0.10);
  color: #059669;
}
.webinar-card .webinar-state-pill:hover {
  color: #059669;
  text-decoration: none;
}
.webinar-card .webinar-state-pill.live-registered {
  background: rgba(16, 185, 129, 0.14);
}
.webinar-card .webinar-state-pill.live-registered:hover {
  background: rgba(16, 185, 129, 0.20);
}
/* Continue Learning pill — Resume action + time-left + inline progress bar */
.webinar-card .webinar-state-pill.continue-learning-pill {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  justify-content: center;
  gap: 8px;
  background: linear-gradient(135deg, rgba(8, 114, 186, 0.10), rgba(124, 58, 237, 0.08));
  color: #221755;
  padding: 10px 14px;
}
.webinar-card .webinar-state-pill.continue-learning-pill:hover {
  background: linear-gradient(135deg, rgba(8, 114, 186, 0.18), rgba(124, 58, 237, 0.14));
  color: #221755;
  text-decoration: none;
}
.webinar-card .continue-learning-pill .continue-learning-pill-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}
.webinar-card .continue-learning-pill .continue-learning-pill-action {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  font-weight: 700;
}
.webinar-card .continue-learning-pill .continue-learning-pill-action i.ti {
  font-size: 14px;
  line-height: 1;
}
.webinar-card .continue-learning-pill .continue-learning-pill-time {
  font-size: 11px;
  font-weight: 500;
  color: #4B5563;
  white-space: nowrap;
}
.webinar-card .continue-learning-pill .continue-learning-pill-bar {
  display: block;
  height: 4px;
  background: rgba(34, 23, 85, 0.12);
  border-radius: 999px;
  overflow: hidden;
}
.webinar-card .continue-learning-pill .continue-learning-pill-bar-fill {
  display: block;
  height: 100%;
  background: linear-gradient(90deg, #0872BA, #7C3AED);
  border-radius: inherit;
  transition: width 0.5s ease;
}

/* ============================================================ */
/* Continue Learning Section — themed background + decorations  */
/* ============================================================ */
.continue-learning-section {
  position: relative;
  isolation: isolate;
  /* Take only the brand HUE from --primary but force a high lightness, so the
     section stays as light as the original (#F0F0FF -> #E8F4FB) no matter how
     dark the brand color is. First line is the fallback for browsers without
     relative-color syntax. */
  background: linear-gradient(135deg, #F0F0FF 0%, #E8F4FB 100%);
  background: linear-gradient(135deg,
    hsl(from var(--primary) h 60% 96%) 0%,
    hsl(from var(--primary) h 45% 97%) 100%);
  border-radius: 16px;
  padding: 20px 16px;
  overflow: hidden;
}
.continue-learning-section::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background:
    radial-gradient(ellipse 45% 60% at 20% 50%, rgba(8, 114, 186, 0.16) 0%, transparent 70%),
    radial-gradient(ellipse 45% 60% at 80% 50%, rgba(124, 58, 237, 0.14) 0%, transparent 70%),
    radial-gradient(ellipse 60% 80% at 50% 55%, rgba(90, 180, 236, 0.10) 0%, transparent 75%);
  -webkit-mask-image: linear-gradient(180deg, transparent 0%, #000 8%, #000 92%, transparent 100%);
          mask-image: linear-gradient(180deg, transparent 0%, #000 8%, #000 92%, transparent 100%);
}
.continue-learning-bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 0;
}
.continue-learning-glow {
  position: absolute;
  border-radius: 50%;
  pointer-events: none;
  z-index: 0;
  filter: blur(2px);
}
.continue-learning-glow-tr {
  top: -40px;
  inset-inline-end: -40px;
  width: 240px;
  height: 240px;
  background: radial-gradient(circle, rgba(124, 58, 237, 0.16) 0%, transparent 70%);
}
.continue-learning-glow-bl {
  bottom: -60px;
  inset-inline-start: -60px;
  width: 260px;
  height: 260px;
  background: radial-gradient(circle, rgba(8, 114, 186, 0.14) 0%, transparent 70%);
}
.continue-learning-content {
  position: relative;
  z-index: 1;
}

/* Continue Learning — responsive (mirror Free Courses breakpoint pattern) */
/* Tablet (≥ 768px) */
@media (min-width: 768px) {
  .continue-learning-section { padding: 28px 24px; border-radius: 18px; }
  .continue-learning-glow-tr { width: 260px; height: 260px; top: -50px; inset-inline-end: -50px; }
  .continue-learning-glow-bl { width: 280px; height: 280px; bottom: -70px; inset-inline-start: -70px; }
}
/* Desktop (≥ 1024px) */
@media (min-width: 1024px) {
  .continue-learning-section { padding: 32px; border-radius: 20px; }
}
.webinar-card .webinar-state-text {
  margin: 0;
  font-size: 13px;
  font-style: italic;
  color: #6B7280;
}

/* Bundle card — "deck of courses" visual: two offset purple shadows
   peeking out top-right of the card body. Subtle pre-attentive cue
   so users see "this is a bundle" without reading the badge. */
.webinar-card.webinar-bundle-card {
  position: relative;
  box-shadow:
    5px -5px 0 rgba(124, 58, 237, 0.20),
    10px -10px 0 rgba(124, 58, 237, 0.10);
}
[dir="rtl"] .webinar-card.webinar-bundle-card {
  box-shadow:
    -5px -5px 0 rgba(124, 58, 237, 0.20),
    -10px -10px 0 rgba(124, 58, 237, 0.10);
}

/* Brand-tinted home-section backgrounds (driven by --primary). Applied only
   where relative-color syntax is supported; otherwise each section keeps its
   original light gradient as the fallback. Hue follows the brand color, held
   at high lightness so the sections stay as light as the originals. */
@supports (background: hsl(from white h s l)) {
  .trending-categories,
  .newest-courses-section,
  .blog-section,
  .organizations-section,
  .instructors-shell,
  .free-section,
  .discounted-section,
  .bestselling-section,
  .best-rated-section,
  .featured-courses-section,
  .bi-section,
  .fc-section,
  .tf-section {
    background: linear-gradient(135deg,
      hsl(from var(--primary) h 60% 96%) 0%,
      hsl(from var(--primary) h 45% 97%) 100%);
  }
}
