@charset "UTF-8";
/* =============================================================================
   RB Automation - style.css
   The whole site in one file. Sections are numbered below; edit in place.
   Responsive overrides live in responsive.css, which loads AFTER this file.
   Web fonts (Muli, Rajdhani) are linked separately in component/meta.php.
   ============================================================================= */

/* 00a. BRAND COLOUR ============================================================================
   The whole site runs on the two logo colours and one darker + one lighter shade of each.
   Blue  #05587c  (dark #04425d for hover/active, light #0a7ab0 for accents and hover on dark)
   Green #0b873f  (dark #08612d for hover/active, light #0d9c48 for accents and hover on dark)
   The -rgb twins exist for rgba(): rgba(var(--rb-blue-rgb), .1). Tints are mixed from these
   tokens with color-mix(), so no fifth or sixth colour ever enters the sheet.
   Neutrals (white, black, greys), form validation red/amber and third-party logo colours
   (WhatsApp, LinkedIn, Google, ChatGPT ...) are deliberately left alone. */
:root {
  --rb-blue: #05587c;
  --rb-blue-dark: #04425d;
  --rb-blue-light: #0a7ab0;
  --rb-blue-lighter: rgba(var(--rb-blue-rgb), .1);
  --rb-green: #0b873f;
  --rb-green-dark: #08612d;
  --rb-green-light: #0d9c48;
  --rb-green-lighter: rgba(var(--rb-green-rgb), .1);

  /* text and surface ramp, all mixed from the two logo colours above */
  --rb-ink: var(--rb-blue-dark);
  --rb-text: color-mix(in srgb, var(--rb-blue-dark) 80%, #fff);
  --rb-muted: color-mix(in srgb, var(--rb-blue-dark) 76%, #fff);
  --rb-line: color-mix(in srgb, var(--rb-blue) 12%, #fff);
  --rb-tint: color-mix(in srgb, var(--rb-blue) 5%, #fff);
  --rb-tint-2: color-mix(in srgb, var(--rb-blue) 9%, #fff);

  --rb-blue-rgb: 5, 88, 124;
  --rb-blue-dark-rgb: 4, 66, 93;
  --rb-blue-light-rgb: 10, 122, 176;
  --rb-green-rgb: 11, 135, 63;
  --rb-green-dark-rgb: 8, 97, 45;
  --rb-green-light-rgb: 13, 156, 72;
}

/* 00b. BRAND SHAPE ==============================================================================
   One radius for the whole site. Every rounded rule below reads these instead of its own value,
   so changing them here re-shapes buttons, cards, images, fields, tabs and panels at once.
   The four corner tokens exist because Bootstrap sets some corners one at a time (accordion,
   card header/footer, modal, toast, nav-tabs) and a four-value shorthand cannot go in a longhand.
   Keep them in sync with --rb-radius: top-left, top-right, bottom-right, bottom-left.
   Circles (50%), scrollbars, carousel dots, toggles and close buttons deliberately opt out. */
:root {
  --rb-radius: 0 30px 30px 0;
  --rb-radius-tl: 0;
  --rb-radius-tr: 30px;
  --rb-radius-br: 30px;
  --rb-radius-bl: 0;
}

/* 01. BOOTSTRAP 5.3.3 (VENDOR) ================================================================== */
/*!
 * Bootstrap  v5.3.3 (https://getbootstrap.com/)
 * Copyright 2011-2024 The Bootstrap Authors
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
 */
:root {
  --bs-blue: var(--rb-blue-light);
  --bs-indigo: #6610f2;
  --bs-purple: #6f42c1;
  --bs-pink: #d63384;
  --bs-red: #dc3545;
  --bs-orange: #fd7e14;
  --bs-yellow: #ffc107;
  --bs-green: var(--rb-green);
  --bs-teal: #20c997;
  --bs-cyan: #0dcaf0;
  --bs-black: #000;
  --bs-white: #fff;
  --bs-gray: #6c757d;
  --bs-gray-dark: #343a40;
  --bs-gray-100: #f8f9fa;
  --bs-gray-200: #e9ecef;
  --bs-gray-300: #dee2e6;
  --bs-gray-400: #ced4da;
  --bs-gray-500: #adb5bd;
  --bs-gray-600: #6c757d;
  --bs-gray-700: #495057;
  --bs-gray-800: #343a40;
  --bs-gray-900: #212529;
  --bs-primary: var(--rb-blue-light);
  --bs-secondary: #6c757d;
  --bs-success: var(--rb-green);
  --bs-info: #0dcaf0;
  --bs-warning: #ffc107;
  --bs-danger: #dc3545;
  --bs-light: #f8f9fa;
  --bs-dark: #212529;
  --bs-primary-rgb: 13, 110, 253;
  --bs-secondary-rgb: 108, 117, 125;
  --bs-success-rgb: 25, 135, 84;
  --bs-info-rgb: 13, 202, 240;
  --bs-warning-rgb: 255, 193, 7;
  --bs-danger-rgb: 220, 53, 69;
  --bs-light-rgb: 248, 249, 250;
  --bs-dark-rgb: 33, 37, 41;
  --bs-primary-text-emphasis: var(--rb-blue-dark);
  --bs-secondary-text-emphasis: #2b2f32;
  --bs-success-text-emphasis: var(--rb-green-dark);
  --bs-info-text-emphasis: var(--rb-blue-dark);
  --bs-warning-text-emphasis: #664d03;
  --bs-danger-text-emphasis: #58151c;
  --bs-light-text-emphasis: #495057;
  --bs-dark-text-emphasis: #495057;
  --bs-primary-bg-subtle: color-mix(in srgb, var(--rb-blue) 12%, #fff);
  --bs-secondary-bg-subtle: #e2e3e5;
  --bs-success-bg-subtle: color-mix(in srgb, var(--rb-green) 15%, #fff);
  --bs-info-bg-subtle: color-mix(in srgb, var(--rb-blue-light) 12%, #fff);
  --bs-warning-bg-subtle: #fff3cd;
  --bs-danger-bg-subtle: #f8d7da;
  --bs-light-bg-subtle: #fcfcfd;
  --bs-dark-bg-subtle: #ced4da;
  --bs-primary-border-subtle: color-mix(in srgb, var(--rb-blue) 30%, #fff);
  --bs-secondary-border-subtle: #c4c8cb;
  --bs-success-border-subtle: color-mix(in srgb, var(--rb-green) 30%, #fff);
  --bs-info-border-subtle: color-mix(in srgb, var(--rb-blue-light) 25%, #fff);
  --bs-warning-border-subtle: #ffe69c;
  --bs-danger-border-subtle: #f1aeb5;
  --bs-light-border-subtle: #e9ecef;
  --bs-dark-border-subtle: #adb5bd;
  --bs-white-rgb: 255, 255, 255;
  --bs-black-rgb: 0, 0, 0;
  --bs-font-sans-serif: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  --bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  --bs-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));
  --bs-body-font-family: var(--bs-font-sans-serif);
  --bs-body-font-size: 1rem;
  --bs-body-font-weight: 400;
  --bs-body-line-height: 1.5;
  --bs-body-color: #212529;
  --bs-body-color-rgb: 33, 37, 41;
  --bs-body-bg: #fff;
  --bs-body-bg-rgb: 255, 255, 255;
  --bs-emphasis-color: #000;
  --bs-emphasis-color-rgb: 0, 0, 0;
  --bs-secondary-color: rgba(33, 37, 41, 0.75);
  --bs-secondary-color-rgb: 33, 37, 41;
  --bs-secondary-bg: #e9ecef;
  --bs-secondary-bg-rgb: 233, 236, 239;
  --bs-tertiary-color: rgba(33, 37, 41, 0.5);
  --bs-tertiary-color-rgb: 33, 37, 41;
  --bs-tertiary-bg: #f8f9fa;
  --bs-tertiary-bg-rgb: 248, 249, 250;
  --bs-heading-color: inherit;
  --bs-link-color: var(--rb-blue-light);
  --bs-link-color-rgb: 13, 110, 253;
  --bs-link-decoration: underline;
  --bs-link-hover-color: var(--rb-blue-light);
  --bs-link-hover-color-rgb: 10, 88, 202;
  --bs-code-color: #d63384;
  --bs-highlight-color: #212529;
  --bs-highlight-bg: #fff3cd;
  --bs-border-width: 1px;
  --bs-border-style: solid;
  --bs-border-color: #dee2e6;
  --bs-border-color-translucent: rgba(0, 0, 0, 0.175);
  --bs-border-radius: var(--rb-radius);
  --bs-border-radius-sm: 0.25rem;
  --bs-border-radius-lg: 0.5rem;
  --bs-border-radius-xl: 1rem;
  --bs-border-radius-xxl: 2rem;
  --bs-border-radius-2xl: var(--bs-border-radius-xxl);
  --bs-border-radius-pill: 50rem;
  --bs-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
  --bs-box-shadow-sm: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);
  --bs-box-shadow-lg: 0 1rem 3rem rgba(0, 0, 0, 0.175);
  --bs-box-shadow-inset: inset 0 1px 2px rgba(0, 0, 0, 0.075);
  --bs-focus-ring-width: 0.25rem;
  --bs-focus-ring-opacity: 0.25;
  --bs-focus-ring-color: rgba(var(--rb-blue-light-rgb), 0.25);
  --bs-form-valid-color: var(--rb-green);
  --bs-form-valid-border-color: var(--rb-green);
  --bs-form-invalid-color: #dc3545;
  --bs-form-invalid-border-color: #dc3545;
}

@media (prefers-reduced-motion:no-preference) {
  :root {
    scroll-behavior: smooth;
  }
}

body {
  margin: 0;
  font-family: var(--bs-body-font-family);
  font-size: var(--bs-body-font-size);
  font-weight: var(--bs-body-font-weight);
  line-height: var(--bs-body-line-height);
  color: var(--bs-body-color);
  text-align: var(--bs-body-text-align);
  background-color: var(--bs-body-bg);
  -webkit-text-size-adjust: 100%;
  -webkit-tap-highlight-color: transparent;
}

hr {
  margin: 1rem 0;
  color: inherit;
  border: 0;
  border-top: var(--bs-border-width) solid;
  opacity: .25;
}

.h1,
.h2,
.h3,
.h4,
.h5,
.h6,
h1,
h2,
h3,
h4,
h5,
h6 {
  margin-top: 0;
  margin-bottom: .5rem;
  font-weight: 500;
  line-height: 1.2;
  color: var(--bs-heading-color);
}

.h1,
h1 {
  font-size: calc(1.375rem + 1.5vw);
}

@media (min-width:1200px) {

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

.h2,
h2 {
  font-size: calc(1.325rem + .9vw);
}

@media (min-width:1200px) {

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

.h3,
h3 {
  font-size: calc(1.3rem + .6vw);
}

@media (min-width:1200px) {

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

.h4,
h4 {
  font-size: calc(1.275rem + .3vw);
}

@media (min-width:1200px) {

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

abbr[title] {
  -webkit-text-decoration: underline dotted;
  text-decoration: underline dotted;
  cursor: help;
  -webkit-text-decoration-skip-ink: none;
  text-decoration-skip-ink: none;
}

ol,
ul {
  padding-left: 2rem;
}

.small,
small {
  font-size: .875em;
}

.mark,
mark {
  padding: .1875em;
  color: var(--bs-highlight-color);
  background-color: var(--bs-highlight-bg);
}

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

a {
  color: rgba(var(--bs-link-color-rgb), var(--bs-link-opacity, 1));
  text-decoration: underline;
}

a:hover {
  --bs-link-color-rgb: var(--bs-link-hover-color-rgb);
}

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

code,
pre {
  font-family: var(--bs-font-monospace);
  font-size: 1em;
}

pre {
  display: block;
  margin-top: 0;
  margin-bottom: 1rem;
  overflow: auto;
  font-size: .875em;
}

code {
  font-size: .875em;
  color: var(--bs-code-color);
  word-wrap: break-word;
}

img,
svg {
  vertical-align: middle;
}

table {
  caption-side: bottom;
  border-collapse: collapse;
}

caption {
  padding-top: .5rem;
  padding-bottom: .5rem;
  color: var(--bs-secondary-color);
  text-align: left;
}

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

tbody,
td,
tfoot,
th,
thead,
tr {
  border-color: inherit;
  border-style: solid;
  border-width: 0;
}

label {
  display: inline-block;
}

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

[role=button] {
  cursor: pointer;
}

select {
  word-wrap: normal;
}

select:disabled {
  opacity: 1;
}

[list]:not([type=date]):not([type=datetime-local]):not([type=month]):not([type=week]):not([type=time])::-webkit-calendar-picker-indicator {
  display: none !important;
}

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

::-moz-focus-inner {
  padding: 0;
  border-style: none;
}

textarea {
  resize: vertical;
}

legend {
  float: left;
  width: 100%;
  padding: 0;
  margin-bottom: .5rem;
  font-size: calc(1.275rem + .3vw);
  line-height: inherit;
}

@media (min-width:1200px) {
  legend {
    font-size: 1.5rem;
  }
}

legend+* {
  clear: left;
}

::-webkit-datetime-edit-day-field,
::-webkit-datetime-edit-fields-wrapper,
::-webkit-datetime-edit-hour-field,
::-webkit-datetime-edit-minute,
::-webkit-datetime-edit-month-field,
::-webkit-datetime-edit-text,
::-webkit-datetime-edit-year-field {
  padding: 0;
}

::-webkit-inner-spin-button {
  height: auto;
}

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

::-webkit-search-decoration {
  -webkit-appearance: none;
}

::-webkit-color-swatch-wrapper {
  padding: 0;
}

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

iframe {
  border: 0;
}

.blockquote>:last-child {
  margin-bottom: 0;
}

.container,
.container-fluid {
  --bs-gutter-x: 1.5rem;
  --bs-gutter-y: 0;
  width: 100%;
  padding-right: calc(var(--bs-gutter-x) * .5);
  padding-left: calc(var(--bs-gutter-x) * .5);
  margin-right: auto;
  margin-left: auto;
}

@media (min-width:1400px) {
  .container {
    max-width: 1320px;
  }
}

:root {
  --bs-breakpoint-xs: 0;
  --bs-breakpoint-sm: 576px;
  --bs-breakpoint-md: 768px;
  --bs-breakpoint-lg: 992px;
  --bs-breakpoint-xl: 1200px;
  --bs-breakpoint-xxl: 1400px;
}

.row {
  --bs-gutter-x: 1.5rem;
  --bs-gutter-y: 0;
  display: flex;
  flex-wrap: wrap;
  margin-top: calc(-1 * var(--bs-gutter-y));
  margin-right: calc(-.5 * var(--bs-gutter-x));
  margin-left: calc(-.5 * var(--bs-gutter-x));
}

.row>* {
  flex-shrink: 0;
  width: 100%;
  max-width: 100%;
  padding-right: calc(var(--bs-gutter-x) * .5);
  padding-left: calc(var(--bs-gutter-x) * .5);
  margin-top: var(--bs-gutter-y);
}

.col {
  flex: 1 0 0%;
}

.col-auto {
  flex: 0 0 auto;
  width: auto;
}

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

.g-0 {
  --bs-gutter-x: 0;
}

.g-0 {
  --bs-gutter-y: 0;
}

.g-1 {
  --bs-gutter-x: 0.25rem;
}

.g-1 {
  --bs-gutter-y: 0.25rem;
}

.g-2 {
  --bs-gutter-x: 0.5rem;
}

.g-2 {
  --bs-gutter-y: 0.5rem;
}

.g-3 {
  --bs-gutter-x: 1rem;
}

.g-3 {
  --bs-gutter-y: 1rem;
}

.g-4 {
  --bs-gutter-x: 1.5rem;
}

.g-4 {
  --bs-gutter-y: 1.5rem;
}

.g-5 {
  --bs-gutter-x: 3rem;
}

.g-5 {
  --bs-gutter-y: 3rem;
}

@media (min-width:576px) {
  .col-sm-6 {
    flex: 0 0 auto;
    width: 50%;
  }

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

@media (min-width:768px) {
  .col-md-1 {
    flex: 0 0 auto;
    width: 8.33333333%;
  }

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

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

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

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

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

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

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

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

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

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

@media (min-width:992px) {
  .col-lg-2 {
    flex: 0 0 auto;
    width: 16.66666667%;
  }

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

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

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

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

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

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

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

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

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

  .g-lg-5 {
    --bs-gutter-x: 3rem;
  }

  .g-lg-5 {
    --bs-gutter-y: 3rem;
  }
}

@media (min-width:1200px) {
  .col-xl-4 {
    flex: 0 0 auto;
    width: 33.33333333%;
  }

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

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

.table {
  --bs-table-color-type: initial;
  --bs-table-bg-type: initial;
  --bs-table-color-state: initial;
  --bs-table-bg-state: initial;
  --bs-table-color: var(--bs-emphasis-color);
  --bs-table-bg: var(--bs-body-bg);
  --bs-table-border-color: var(--bs-border-color);
  --bs-table-accent-bg: transparent;
  --bs-table-striped-color: var(--bs-emphasis-color);
  --bs-table-striped-bg: rgba(var(--bs-emphasis-color-rgb), 0.05);
  --bs-table-active-color: var(--bs-emphasis-color);
  --bs-table-active-bg: rgba(var(--bs-emphasis-color-rgb), 0.1);
  --bs-table-hover-color: var(--bs-emphasis-color);
  --bs-table-hover-bg: rgba(var(--bs-emphasis-color-rgb), 0.075);
  width: 100%;
  margin-bottom: 1rem;
  vertical-align: top;
  border-color: var(--bs-table-border-color);
}

.table>:not(caption)>*>* {
  padding: .5rem .5rem;
  color: var(--bs-table-color-state, var(--bs-table-color-type, var(--bs-table-color)));
  background-color: var(--bs-table-bg);
  border-bottom-width: var(--bs-border-width);
  box-shadow: inset 0 0 0 9999px var(--bs-table-bg-state, var(--bs-table-bg-type, var(--bs-table-accent-bg)));
}

.table>tbody {
  vertical-align: inherit;
}

.table>thead {
  vertical-align: bottom;
}

.table-bordered>:not(caption)>* {
  border-width: var(--bs-border-width) 0;
}

.table-bordered>:not(caption)>*>* {
  border-width: 0 var(--bs-border-width);
}

.table-striped>tbody>tr:nth-of-type(odd)>* {
  --bs-table-color-type: var(--bs-table-striped-color);
  --bs-table-bg-type: var(--bs-table-striped-bg);
}

.table-hover>tbody>tr:hover>* {
  --bs-table-color-state: var(--bs-table-hover-color);
  --bs-table-bg-state: var(--bs-table-hover-bg);
}

.table-secondary {
  --bs-table-color: #000;
  --bs-table-bg: #e2e3e5;
  --bs-table-border-color: #b5b6b7;
  --bs-table-striped-bg: #d7d8da;
  --bs-table-striped-color: #000;
  --bs-table-active-bg: #cbccce;
  --bs-table-active-color: #000;
  --bs-table-hover-bg: #d1d2d4;
  --bs-table-hover-color: #000;
  color: var(--bs-table-color);
  border-color: var(--bs-table-border-color);
}

.table-dark {
  --bs-table-color: #fff;
  --bs-table-bg: #212529;
  --bs-table-border-color: #4d5154;
  --bs-table-striped-bg: #2c3034;
  --bs-table-striped-color: #fff;
  --bs-table-active-bg: #373b3e;
  --bs-table-active-color: #fff;
  --bs-table-hover-bg: #323539;
  --bs-table-hover-color: #fff;
  color: var(--bs-table-color);
  border-color: var(--bs-table-border-color);
}

.table-responsive {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.form-control {
  display: block;
  width: 100%;
  padding: .375rem .75rem;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  color: var(--bs-body-color);
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background-color: var(--bs-body-bg);
  background-clip: padding-box;
  border: var(--bs-border-width) solid var(--bs-border-color);
  border-radius: var(--rb-radius);
  transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out;
}

@media (prefers-reduced-motion:reduce) {
  .form-control {
    transition: none;
  }
}

.form-control[type=file] {
  overflow: hidden;
}

.form-control[type=file]:not(:disabled):not([readonly]) {
  cursor: pointer;
}

.form-control:focus {
  color: var(--bs-body-color);
  background-color: var(--bs-body-bg);
  border-color: color-mix(in srgb, var(--rb-blue-light) 45%, #fff);
  outline: 0;
  box-shadow: 0 0 0 .25rem rgba(var(--rb-blue-light-rgb), .25);
}

.form-control::-webkit-date-and-time-value {
  min-width: 85px;
  height: 1.5em;
  margin: 0;
}

.form-control::-webkit-datetime-edit {
  display: block;
  padding: 0;
}

.form-control::-moz-placeholder {
  color: var(--bs-secondary-color);
  opacity: 1;
}

.form-control::placeholder {
  color: var(--bs-secondary-color);
  opacity: 1;
}

.form-control:disabled {
  background-color: var(--bs-secondary-bg);
  opacity: 1;
}

.form-control::-webkit-file-upload-button {
  padding: .375rem .75rem;
  margin: -.375rem -.75rem;
  -webkit-margin-end: .75rem;
  margin-inline-end: .75rem;
  color: var(--bs-body-color);
  background-color: var(--bs-tertiary-bg);
  pointer-events: none;
  border-color: inherit;
  border-style: solid;
  border-width: 0;
  border-inline-end-width: var(--bs-border-width);
  border-radius: 0;
  -webkit-transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out;
  transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out;
}

.form-control::file-selector-button {
  padding: .375rem .75rem;
  margin: -.375rem -.75rem;
  -webkit-margin-end: .75rem;
  margin-inline-end: .75rem;
  color: var(--bs-body-color);
  background-color: var(--bs-tertiary-bg);
  pointer-events: none;
  border-color: inherit;
  border-style: solid;
  border-width: 0;
  border-inline-end-width: var(--bs-border-width);
  border-radius: 0;
  transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out;
}

@media (prefers-reduced-motion:reduce) {
  .form-control::-webkit-file-upload-button {
    -webkit-transition: none;
    transition: none;
  }

  .form-control::file-selector-button {
    transition: none;
  }
}

.form-control:hover:not(:disabled):not([readonly])::-webkit-file-upload-button {
  background-color: var(--bs-secondary-bg);
}

.form-control:hover:not(:disabled):not([readonly])::file-selector-button {
  background-color: var(--bs-secondary-bg);
}

textarea.form-control {
  min-height: calc(1.5em + .75rem + calc(var(--bs-border-width) * 2));
}

.input-group {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  width: 100%;
}

.input-group>.form-control {
  position: relative;
  flex: 1 1 auto;
  width: 1%;
  min-width: 0;
}

.input-group>.form-control:focus {
  z-index: 5;
}

.input-group .btn {
  position: relative;
  z-index: 2;
}

.input-group .btn:focus {
  z-index: 5;
}

.input-group:not(.has-validation)>.dropdown-toggle:nth-last-child(n+3),
.input-group:not(.has-validation)>:not(:last-child):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating) {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}

.input-group.has-validation>.dropdown-toggle:nth-last-child(n+4),
.input-group.has-validation>:nth-last-child(n+3):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating) {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}

.input-group>:not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback) {
  margin-left: calc(var(--bs-border-width) * -1);
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}

.form-control.is-valid,
.was-validated .form-control:valid {
  border-color: var(--bs-form-valid-border-color);
  padding-right: calc(1.5em + .75rem);
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%230b873f' d='M2.3 6.73.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(.375em + .1875rem) center;
  background-size: calc(.75em + .375rem) calc(.75em + .375rem);
}

.form-control.is-valid:focus,
.was-validated .form-control:valid:focus {
  border-color: var(--bs-form-valid-border-color);
  box-shadow: 0 0 0 .25rem rgba(var(--bs-success-rgb), .25);
}

.was-validated textarea.form-control:valid,
textarea.form-control.is-valid {
  padding-right: calc(1.5em + .75rem);
  background-position: top calc(.375em + .1875rem) right calc(.375em + .1875rem);
}

.input-group>.form-control:not(:focus).is-valid,
.was-validated .input-group>.form-control:not(:focus):valid {
  z-index: 3;
}

.form-control.is-invalid,
.was-validated .form-control:invalid {
  border-color: var(--bs-form-invalid-border-color);
  padding-right: calc(1.5em + .75rem);
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%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='%23dc3545' stroke='none'/%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-position: right calc(.375em + .1875rem) center;
  background-size: calc(.75em + .375rem) calc(.75em + .375rem);
}

.form-control.is-invalid:focus,
.was-validated .form-control:invalid:focus {
  border-color: var(--bs-form-invalid-border-color);
  box-shadow: 0 0 0 .25rem rgba(var(--bs-danger-rgb), .25);
}

.was-validated textarea.form-control:invalid,
textarea.form-control.is-invalid {
  padding-right: calc(1.5em + .75rem);
  background-position: top calc(.375em + .1875rem) right calc(.375em + .1875rem);
}

.input-group>.form-control:not(:focus).is-invalid,
.was-validated .input-group>.form-control:not(:focus):invalid {
  z-index: 4;
}

.btn {
  --bs-btn-padding-x: 0.75rem;
  --bs-btn-padding-y: 0.375rem;
  --bs-btn-font-family: ;
  --bs-btn-font-size: 1rem;
  --bs-btn-font-weight: 400;
  --bs-btn-line-height: 1.5;
  --bs-btn-color: var(--bs-body-color);
  --bs-btn-bg: transparent;
  --bs-btn-border-width: var(--bs-border-width);
  --bs-btn-border-color: transparent;
  --bs-btn-border-radius: var(--rb-radius);
  --bs-btn-hover-border-color: transparent;
  --bs-btn-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075);
  --bs-btn-disabled-opacity: 0.65;
  --bs-btn-focus-box-shadow: 0 0 0 0.25rem rgba(var(--bs-btn-focus-shadow-rgb), .5);
  display: inline-block;
  padding: var(--bs-btn-padding-y) var(--bs-btn-padding-x);
  font-family: var(--bs-btn-font-family);
  font-size: var(--bs-btn-font-size);
  font-weight: var(--bs-btn-font-weight);
  line-height: var(--bs-btn-line-height);
  color: var(--bs-btn-color);
  text-align: center;
  text-decoration: none;
  vertical-align: middle;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  border: var(--bs-btn-border-width) solid var(--bs-btn-border-color);
  border-radius: var(--rb-radius);
  background-color: var(--bs-btn-bg);
  transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out;
}

@media (prefers-reduced-motion:reduce) {
  .btn {
    transition: none;
  }
}

.btn:hover {
  color: var(--bs-btn-hover-color);
  background-color: var(--bs-btn-hover-bg);
  border-color: var(--bs-btn-hover-border-color);
}

.btn:focus-visible {
  color: var(--bs-btn-hover-color);
  background-color: var(--bs-btn-hover-bg);
  border-color: var(--bs-btn-hover-border-color);
  outline: 0;
  box-shadow: var(--bs-btn-focus-box-shadow);
}

.btn.active,
.btn.show,
.btn:first-child:active,
:not(.btn-check)+.btn:active {
  color: var(--bs-btn-active-color);
  background-color: var(--bs-btn-active-bg);
  border-color: var(--bs-btn-active-border-color);
}

.btn.active:focus-visible,
.btn.show:focus-visible,
.btn:first-child:active:focus-visible,
:not(.btn-check)+.btn:active:focus-visible {
  box-shadow: var(--bs-btn-focus-box-shadow);
}

.btn.disabled,
.btn:disabled,
fieldset:disabled .btn {
  color: var(--bs-btn-disabled-color);
  pointer-events: none;
  background-color: var(--bs-btn-disabled-bg);
  border-color: var(--bs-btn-disabled-border-color);
  opacity: var(--bs-btn-disabled-opacity);
}

.btn-secondary {
  --bs-btn-color: #fff;
  --bs-btn-bg: #6c757d;
  --bs-btn-border-color: #6c757d;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #5c636a;
  --bs-btn-hover-border-color: #565e64;
  --bs-btn-focus-shadow-rgb: 130, 138, 145;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #565e64;
  --bs-btn-active-border-color: #51585e;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #fff;
  --bs-btn-disabled-bg: #6c757d;
  --bs-btn-disabled-border-color: #6c757d;
}

.btn-light {
  --bs-btn-color: #000;
  --bs-btn-bg: #f8f9fa;
  --bs-btn-border-color: #f8f9fa;
  --bs-btn-hover-color: #000;
  --bs-btn-hover-bg: #d3d4d5;
  --bs-btn-hover-border-color: #c6c7c8;
  --bs-btn-focus-shadow-rgb: 211, 212, 213;
  --bs-btn-active-color: #000;
  --bs-btn-active-bg: #c6c7c8;
  --bs-btn-active-border-color: #babbbc;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #000;
  --bs-btn-disabled-bg: #f8f9fa;
  --bs-btn-disabled-border-color: #f8f9fa;
}

.btn-dark {
  --bs-btn-color: #fff;
  --bs-btn-bg: #212529;
  --bs-btn-border-color: #212529;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #424649;
  --bs-btn-hover-border-color: #373b3e;
  --bs-btn-focus-shadow-rgb: 66, 70, 73;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #4d5154;
  --bs-btn-active-border-color: #373b3e;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #fff;
  --bs-btn-disabled-bg: #212529;
  --bs-btn-disabled-border-color: #212529;
}

.btn-group-sm>.btn,
.btn-sm {
  --bs-btn-padding-y: 0.25rem;
  --bs-btn-padding-x: 0.5rem;
  --bs-btn-font-size: 0.875rem;
  --bs-btn-border-radius: var(--rb-radius);
}

@media (prefers-reduced-motion:reduce) {
  .fade {
    transition: none;
  }
}

.collapsing {
  height: 0;
  overflow: hidden;
  transition: height .35s ease;
}

@media (prefers-reduced-motion:reduce) {
  .collapsing {
    transition: none;
  }
}

.collapsing.collapse-horizontal {
  width: 0;
  height: auto;
  transition: width .35s ease;
}

@media (prefers-reduced-motion:reduce) {
  .collapsing.collapse-horizontal {
    transition: none;
  }
}

.dropdown,
.dropdown-center,
.dropend,
.dropstart,
.dropup,
.dropup-center {
  position: relative;
}

.dropdown-toggle {
  white-space: nowrap;
}

.dropdown-menu {
  --bs-dropdown-zindex: 1000;
  --bs-dropdown-min-width: 10rem;
  --bs-dropdown-padding-x: 0;
  --bs-dropdown-padding-y: 0.5rem;
  --bs-dropdown-spacer: 0.125rem;
  --bs-dropdown-font-size: 1rem;
  --bs-dropdown-color: var(--bs-body-color);
  --bs-dropdown-bg: var(--bs-body-bg);
  --bs-dropdown-border-color: var(--bs-border-color-translucent);
  --bs-dropdown-border-radius: var(--rb-radius);
  --bs-dropdown-border-width: var(--bs-border-width);
  --bs-dropdown-inner-border-radius: var(--rb-radius);
  --bs-dropdown-divider-bg: var(--bs-border-color-translucent);
  --bs-dropdown-divider-margin-y: 0.5rem;
  --bs-dropdown-box-shadow: var(--bs-box-shadow);
  --bs-dropdown-link-color: var(--bs-body-color);
  --bs-dropdown-link-hover-color: var(--bs-body-color);
  --bs-dropdown-link-hover-bg: var(--bs-tertiary-bg);
  --bs-dropdown-link-active-color: #fff;
  --bs-dropdown-link-active-bg: var(--rb-blue-light);
  --bs-dropdown-link-disabled-color: var(--bs-tertiary-color);
  --bs-dropdown-item-padding-x: 1rem;
  --bs-dropdown-item-padding-y: 0.25rem;
  --bs-dropdown-header-color: #6c757d;
  --bs-dropdown-header-padding-x: 1rem;
  --bs-dropdown-header-padding-y: 0.5rem;
  position: absolute;
  z-index: var(--bs-dropdown-zindex);
  display: none;
  min-width: var(--bs-dropdown-min-width);
  padding: var(--bs-dropdown-padding-y) var(--bs-dropdown-padding-x);
  margin: 0;
  font-size: var(--bs-dropdown-font-size);
  color: var(--bs-dropdown-color);
  text-align: left;
  list-style: none;
  background-color: var(--bs-dropdown-bg);
  background-clip: padding-box;
  border: var(--bs-dropdown-border-width) solid var(--bs-dropdown-border-color);
  border-radius: var(--rb-radius);
}

.dropdown-menu-start {
  --bs-position: start;
}

.dropdown-menu-end {
  --bs-position: end;
}

@media (min-width:576px) {
  .dropdown-menu-sm-start {
    --bs-position: start;
  }

  .dropdown-menu-sm-end {
    --bs-position: end;
  }
}

@media (min-width:768px) {
  .dropdown-menu-md-start {
    --bs-position: start;
  }

  .dropdown-menu-md-end {
    --bs-position: end;
  }
}

@media (min-width:992px) {
  .dropdown-menu-lg-start {
    --bs-position: start;
  }

  .dropdown-menu-lg-end {
    --bs-position: end;
  }
}

@media (min-width:1200px) {
  .dropdown-menu-xl-start {
    --bs-position: start;
  }

  .dropdown-menu-xl-end {
    --bs-position: end;
  }
}

@media (min-width:1400px) {
  .dropdown-menu-xxl-start {
    --bs-position: start;
  }

  .dropdown-menu-xxl-end {
    --bs-position: end;
  }
}

.dropend .dropdown-toggle::after {
  display: inline-block;
  margin-left: .255em;
  vertical-align: .255em;
  content: "";
  border-top: .3em solid transparent;
  border-right: 0;
  border-bottom: .3em solid transparent;
  border-left: .3em solid;
}

.dropend .dropdown-toggle:empty::after {
  margin-left: 0;
}

.dropend .dropdown-toggle::after {
  vertical-align: 0;
}

.dropstart .dropdown-toggle::after {
  display: inline-block;
  margin-left: .255em;
  vertical-align: .255em;
  content: "";
}

.dropstart .dropdown-toggle::after {
  display: none;
}

.dropstart .dropdown-toggle::before {
  display: inline-block;
  margin-right: .255em;
  vertical-align: .255em;
  content: "";
  border-top: .3em solid transparent;
  border-right: .3em solid;
  border-bottom: .3em solid transparent;
}

.dropstart .dropdown-toggle:empty::after {
  margin-left: 0;
}

.dropstart .dropdown-toggle::before {
  vertical-align: 0;
}

.dropdown-divider {
  height: 0;
  margin: var(--bs-dropdown-divider-margin-y) 0;
  overflow: hidden;
  border-top: 1px solid var(--bs-dropdown-divider-bg);
  opacity: 1;
}

.dropdown-item {
  display: block;
  width: 100%;
  padding: var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);
  clear: both;
  font-weight: 400;
  color: var(--bs-dropdown-link-color);
  text-align: inherit;
  text-decoration: none;
  white-space: nowrap;
  background-color: transparent;
  border: 0;
  border-radius: var(--rb-radius);
}

.dropdown-item:focus,
.dropdown-item:hover {
  color: var(--bs-dropdown-link-hover-color);
  background-color: var(--bs-dropdown-link-hover-bg);
}

.dropdown-item.active,
.dropdown-item:active {
  color: var(--bs-dropdown-link-active-color);
  text-decoration: none;
  background-color: var(--bs-dropdown-link-active-bg);
}

.dropdown-item.disabled,
.dropdown-item:disabled {
  color: var(--bs-dropdown-link-disabled-color);
  pointer-events: none;
  background-color: transparent;
}

.dropdown-header {
  display: block;
  padding: var(--bs-dropdown-header-padding-y) var(--bs-dropdown-header-padding-x);
  margin-bottom: 0;
  font-size: .875rem;
  color: var(--bs-dropdown-header-color);
  white-space: nowrap;
}

.dropdown-item-text {
  display: block;
  padding: var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);
  color: var(--bs-dropdown-link-color);
}

.dropdown-menu-dark {
  --bs-dropdown-color: #dee2e6;
  --bs-dropdown-bg: #343a40;
  --bs-dropdown-border-color: var(--bs-border-color-translucent);
  --bs-dropdown-box-shadow: ;
  --bs-dropdown-link-color: #dee2e6;
  --bs-dropdown-link-hover-color: #fff;
  --bs-dropdown-divider-bg: var(--bs-border-color-translucent);
  --bs-dropdown-link-hover-bg: rgba(255, 255, 255, 0.15);
  --bs-dropdown-link-active-color: #fff;
  --bs-dropdown-link-active-bg: var(--rb-blue-light);
  --bs-dropdown-link-disabled-color: #adb5bd;
  --bs-dropdown-header-color: #adb5bd;
}

.btn-group {
  position: relative;
  display: inline-flex;
  vertical-align: middle;
}

.btn-group>.btn {
  position: relative;
  flex: 1 1 auto;
}

.btn-group>.btn.active,
.btn-group>.btn:active,
.btn-group>.btn:focus,
.btn-group>.btn:hover {
  z-index: 1;
}

.btn-group {
  border-radius: var(--rb-radius);
}

.btn-group>.btn-group:not(:first-child),
.btn-group>:not(.btn-check:first-child)+.btn {
  margin-left: calc(var(--bs-border-width) * -1);
}

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

.btn-group>.btn-group:not(:first-child)>.btn,
.btn-group>.btn:nth-child(n+3),
.btn-group>:not(.btn-check)+.btn {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}

.dropdown-toggle-split::after,
.dropend .dropdown-toggle-split::after,
.dropup .dropdown-toggle-split::after {
  margin-left: 0;
}

.dropstart .dropdown-toggle-split::before {
  margin-right: 0;
}

.nav {
  --bs-nav-link-padding-x: 1rem;
  --bs-nav-link-padding-y: 0.5rem;
  --bs-nav-link-font-weight: ;
  --bs-nav-link-color: var(--bs-link-color);
  --bs-nav-link-hover-color: var(--bs-link-hover-color);
  --bs-nav-link-disabled-color: var(--bs-secondary-color);
  display: flex;
  flex-wrap: wrap;
  padding-left: 0;
  margin-bottom: 0;
  list-style: none;
}

.nav-link {
  display: block;
  padding: var(--bs-nav-link-padding-y) var(--bs-nav-link-padding-x);
  font-size: var(--bs-nav-link-font-size);
  font-weight: var(--bs-nav-link-font-weight);
  color: var(--bs-nav-link-color);
  text-decoration: none;
  background: 0 0;
  border: 0;
  transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out;
}

@media (prefers-reduced-motion:reduce) {
  .nav-link {
    transition: none;
  }
}

.nav-link:focus,
.nav-link:hover {
  color: var(--bs-nav-link-hover-color);
}

.nav-link:focus-visible {
  outline: 0;
  box-shadow: 0 0 0 .25rem rgba(var(--rb-blue-light-rgb), .25);
}

.nav-link.disabled,
.nav-link:disabled {
  color: var(--bs-nav-link-disabled-color);
  pointer-events: none;
  cursor: default;
}

.nav-tabs {
  --bs-nav-tabs-border-width: var(--bs-border-width);
  --bs-nav-tabs-border-color: var(--bs-border-color);
  --bs-nav-tabs-border-radius: var(--rb-radius);
  --bs-nav-tabs-link-hover-border-color: var(--bs-secondary-bg) var(--bs-secondary-bg) var(--bs-border-color);
  --bs-nav-tabs-link-active-color: var(--bs-emphasis-color);
  --bs-nav-tabs-link-active-bg: var(--bs-body-bg);
  --bs-nav-tabs-link-active-border-color: var(--bs-border-color) var(--bs-border-color) var(--bs-body-bg);
  border-bottom: var(--bs-nav-tabs-border-width) solid var(--bs-nav-tabs-border-color);
}

.nav-tabs .nav-link {
  margin-bottom: calc(-1 * var(--bs-nav-tabs-border-width));
  border: var(--bs-nav-tabs-border-width) solid transparent;
  border-top-left-radius: var(--rb-radius-tl);
  border-top-right-radius: var(--rb-radius-tr);
}

.nav-tabs .nav-link:focus,
.nav-tabs .nav-link:hover {
  isolation: isolate;
  border-color: var(--bs-nav-tabs-link-hover-border-color);
}

.nav-tabs .nav-item.show .nav-link,
.nav-tabs .nav-link.active {
  color: var(--bs-nav-tabs-link-active-color);
  background-color: var(--bs-nav-tabs-link-active-bg);
  border-color: var(--bs-nav-tabs-link-active-border-color);
}

.nav-tabs .dropdown-menu {
  margin-top: calc(-1 * var(--bs-nav-tabs-border-width));
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}

.navbar {
  --bs-navbar-padding-x: 0;
  --bs-navbar-padding-y: 0.5rem;
  --bs-navbar-color: rgba(var(--bs-emphasis-color-rgb), 0.65);
  --bs-navbar-hover-color: rgba(var(--bs-emphasis-color-rgb), 0.8);
  --bs-navbar-disabled-color: rgba(var(--bs-emphasis-color-rgb), 0.3);
  --bs-navbar-active-color: rgba(var(--bs-emphasis-color-rgb), 1);
  --bs-navbar-brand-padding-y: 0.3125rem;
  --bs-navbar-brand-margin-end: 1rem;
  --bs-navbar-brand-font-size: 1.25rem;
  --bs-navbar-brand-color: rgba(var(--bs-emphasis-color-rgb), 1);
  --bs-navbar-brand-hover-color: rgba(var(--bs-emphasis-color-rgb), 1);
  --bs-navbar-nav-link-padding-x: 0.5rem;
  --bs-navbar-toggler-padding-y: 0.25rem;
  --bs-navbar-toggler-padding-x: 0.75rem;
  --bs-navbar-toggler-font-size: 1.25rem;
  --bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%2833, 37, 41, 0.75%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
  --bs-navbar-toggler-border-color: rgba(var(--bs-emphasis-color-rgb), 0.15);
  --bs-navbar-toggler-border-radius: var(--rb-radius);
  --bs-navbar-toggler-focus-width: 0.25rem;
  --bs-navbar-toggler-transition: box-shadow 0.15s ease-in-out;
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  padding: var(--bs-navbar-padding-y) var(--bs-navbar-padding-x);
}

.navbar>.container,
.navbar>.container-fluid {
  display: flex;
  flex-wrap: inherit;
  align-items: center;
  justify-content: space-between;
}

.navbar-nav {
  --bs-nav-link-padding-x: 0;
  --bs-nav-link-padding-y: 0.5rem;
  --bs-nav-link-font-weight: ;
  --bs-nav-link-color: var(--bs-navbar-color);
  --bs-nav-link-hover-color: var(--bs-navbar-hover-color);
  --bs-nav-link-disabled-color: var(--bs-navbar-disabled-color);
  display: flex;
  flex-direction: column;
  padding-left: 0;
  margin-bottom: 0;
  list-style: none;
}

.navbar-nav .nav-link.active,
.navbar-nav .nav-link.show {
  color: var(--bs-navbar-active-color);
}

.navbar-nav .dropdown-menu {
  position: static;
}

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

.navbar-toggler {
  padding: var(--bs-navbar-toggler-padding-y) var(--bs-navbar-toggler-padding-x);
  font-size: var(--bs-navbar-toggler-font-size);
  line-height: 1;
  color: var(--bs-navbar-color);
  background-color: transparent;
  border: var(--bs-border-width) solid var(--bs-navbar-toggler-border-color);
  border-radius: var(--bs-navbar-toggler-border-radius);
  transition: var(--bs-navbar-toggler-transition);
}

@media (prefers-reduced-motion:reduce) {
  .navbar-toggler {
    transition: none;
  }
}

.navbar-toggler:hover {
  text-decoration: none;
}

.navbar-toggler:focus {
  text-decoration: none;
  outline: 0;
  box-shadow: 0 0 0 var(--bs-navbar-toggler-focus-width);
}

.card {
  --bs-card-spacer-y: 1rem;
  --bs-card-spacer-x: 1rem;
  --bs-card-title-spacer-y: 0.5rem;
  --bs-card-title-color: ;
  --bs-card-subtitle-color: ;
  --bs-card-border-width: var(--bs-border-width);
  --bs-card-border-color: var(--bs-border-color-translucent);
  --bs-card-border-radius: var(--rb-radius);
  --bs-card-box-shadow: ;
  --bs-card-inner-border-radius: var(--rb-radius);
  --bs-card-cap-padding-y: 0.5rem;
  --bs-card-cap-padding-x: 1rem;
  --bs-card-cap-bg: rgba(var(--bs-body-color-rgb), 0.03);
  --bs-card-cap-color: ;
  --bs-card-height: ;
  --bs-card-color: ;
  --bs-card-bg: var(--bs-body-bg);
  --bs-card-img-overlay-padding: 1rem;
  --bs-card-group-margin: 0.75rem;
  position: relative;
  display: flex;
  flex-direction: column;
  min-width: 0;
  height: var(--bs-card-height);
  color: var(--bs-body-color);
  word-wrap: break-word;
  background-color: var(--bs-card-bg);
  background-clip: border-box;
  border: var(--bs-card-border-width) solid var(--bs-card-border-color);
  border-radius: var(--rb-radius);
}

.card>.list-group {
  border-top: inherit;
  border-bottom: inherit;
}

.card>.list-group:first-child {
  border-top-width: 0;
  border-top-left-radius: var(--rb-radius-tl);
  border-top-right-radius: var(--rb-radius-tr);
}

.card>.list-group:last-child {
  border-bottom-width: 0;
  border-bottom-right-radius: var(--rb-radius-br);
  border-bottom-left-radius: var(--rb-radius-bl);
}

.accordion {
  --bs-accordion-color: var(--bs-body-color);
  --bs-accordion-bg: var(--bs-body-bg);
  --bs-accordion-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, border-radius 0.15s ease;
  --bs-accordion-border-color: var(--bs-border-color);
  --bs-accordion-border-width: var(--bs-border-width);
  --bs-accordion-border-radius: var(--rb-radius);
  --bs-accordion-inner-border-radius: var(--rb-radius);
  --bs-accordion-btn-padding-x: 1.25rem;
  --bs-accordion-btn-padding-y: 1rem;
  --bs-accordion-btn-color: var(--bs-body-color);
  --bs-accordion-btn-bg: var(--bs-accordion-bg);
  --bs-accordion-btn-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23212529' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='M2 5L8 11L14 5'/%3e%3c/svg%3e");
  --bs-accordion-btn-icon-width: 1.25rem;
  --bs-accordion-btn-icon-transform: rotate(-180deg);
  --bs-accordion-btn-icon-transition: transform 0.2s ease-in-out;
  --bs-accordion-btn-active-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%2305587c' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='M2 5L8 11L14 5'/%3e%3c/svg%3e");
  --bs-accordion-btn-focus-box-shadow: 0 0 0 0.25rem rgba(var(--rb-blue-light-rgb), 0.25);
  --bs-accordion-body-padding-x: 1.25rem;
  --bs-accordion-body-padding-y: 1rem;
  --bs-accordion-active-color: var(--bs-primary-text-emphasis);
  --bs-accordion-active-bg: var(--bs-primary-bg-subtle);
}

.accordion-button {
  position: relative;
  display: flex;
  align-items: center;
  width: 100%;
  padding: var(--bs-accordion-btn-padding-y) var(--bs-accordion-btn-padding-x);
  font-size: 1rem;
  color: var(--bs-accordion-btn-color);
  text-align: left;
  background-color: var(--bs-accordion-btn-bg);
  border: 0;
  border-radius: 0;
  overflow-anchor: none;
  transition: var(--bs-accordion-transition);
}

@media (prefers-reduced-motion:reduce) {
  .accordion-button {
    transition: none;
  }
}

.accordion-button:not(.collapsed) {
  color: var(--bs-accordion-active-color);
  background-color: var(--bs-accordion-active-bg);
  box-shadow: inset 0 calc(-1 * var(--bs-accordion-border-width)) 0 var(--bs-accordion-border-color);
}

.accordion-button:not(.collapsed)::after {
  background-image: var(--bs-accordion-btn-active-icon);
  transform: var(--bs-accordion-btn-icon-transform);
}

.accordion-button::after {
  flex-shrink: 0;
  width: var(--bs-accordion-btn-icon-width);
  height: var(--bs-accordion-btn-icon-width);
  margin-left: auto;
  content: "";
  background-image: var(--bs-accordion-btn-icon);
  background-repeat: no-repeat;
  background-size: var(--bs-accordion-btn-icon-width);
  transition: var(--bs-accordion-btn-icon-transition);
}

@media (prefers-reduced-motion:reduce) {
  .accordion-button::after {
    transition: none;
  }
}

.accordion-button:hover {
  z-index: 2;
}

.accordion-button:focus {
  z-index: 3;
  outline: 0;
  box-shadow: var(--bs-accordion-btn-focus-box-shadow);
}

.accordion-header {
  margin-bottom: 0;
}

.accordion-item {
  color: var(--bs-accordion-color);
  background-color: var(--bs-accordion-bg);
  border: var(--bs-accordion-border-width) solid var(--bs-accordion-border-color);
}

.accordion-item:first-of-type {
  border-top-left-radius: var(--rb-radius-tl);
  border-top-right-radius: var(--rb-radius-tr);
}

.accordion-item:first-of-type>.accordion-header .accordion-button {
  border-top-left-radius: var(--rb-radius-tl);
  border-top-right-radius: var(--rb-radius-tr);
}

.accordion-item:not(:first-of-type) {
  border-top: 0;
}

.accordion-item:last-of-type {
  border-bottom-right-radius: var(--rb-radius-br);
  border-bottom-left-radius: var(--rb-radius-bl);
}

.accordion-item:last-of-type>.accordion-header .accordion-button.collapsed {
  border-bottom-right-radius: var(--rb-radius-br);
  border-bottom-left-radius: var(--rb-radius-bl);
}

.accordion-item:last-of-type>.accordion-collapse {
  border-bottom-right-radius: var(--rb-radius-br);
  border-bottom-left-radius: var(--rb-radius-bl);
}

.accordion-body {
  padding: var(--bs-accordion-body-padding-y) var(--bs-accordion-body-padding-x);
}

.accordion-flush>.accordion-item {
  border-right: 0;
  border-left: 0;
  border-radius: 0;
}

.accordion-flush>.accordion-item:first-child {
  border-top: 0;
}

.accordion-flush>.accordion-item:last-child {
  border-bottom: 0;
}

.accordion-flush>.accordion-item>.accordion-header .accordion-button,
.accordion-flush>.accordion-item>.accordion-header .accordion-button.collapsed {
  border-radius: 0;
}

.accordion-flush>.accordion-item>.accordion-collapse {
  border-radius: 0;
}

.breadcrumb {
  --bs-breadcrumb-padding-x: 0;
  --bs-breadcrumb-padding-y: 0;
  --bs-breadcrumb-margin-bottom: 1rem;
  --bs-breadcrumb-bg: ;
  --bs-breadcrumb-border-radius: var(--rb-radius);
  --bs-breadcrumb-divider-color: var(--bs-secondary-color);
  --bs-breadcrumb-item-padding-x: 0.5rem;
  --bs-breadcrumb-item-active-color: var(--bs-secondary-color);
  display: flex;
  flex-wrap: wrap;
  padding: var(--bs-breadcrumb-padding-y) var(--bs-breadcrumb-padding-x);
  margin-bottom: var(--bs-breadcrumb-margin-bottom);
  font-size: var(--bs-breadcrumb-font-size);
  list-style: none;
  background-color: var(--bs-breadcrumb-bg);
  border-radius: var(--rb-radius);
}

.pagination {
  --bs-pagination-padding-x: 0.75rem;
  --bs-pagination-padding-y: 0.375rem;
  --bs-pagination-font-size: 1rem;
  --bs-pagination-color: var(--bs-link-color);
  --bs-pagination-bg: var(--bs-body-bg);
  --bs-pagination-border-width: var(--bs-border-width);
  --bs-pagination-border-color: var(--bs-border-color);
  --bs-pagination-border-radius: var(--rb-radius);
  --bs-pagination-hover-color: var(--bs-link-hover-color);
  --bs-pagination-hover-bg: var(--bs-tertiary-bg);
  --bs-pagination-hover-border-color: var(--bs-border-color);
  --bs-pagination-focus-color: var(--bs-link-hover-color);
  --bs-pagination-focus-bg: var(--bs-secondary-bg);
  --bs-pagination-focus-box-shadow: 0 0 0 0.25rem rgba(var(--rb-blue-light-rgb), 0.25);
  --bs-pagination-active-color: #fff;
  --bs-pagination-active-bg: var(--rb-blue-light);
  --bs-pagination-active-border-color: var(--rb-blue-light);
  --bs-pagination-disabled-color: var(--bs-secondary-color);
  --bs-pagination-disabled-bg: var(--bs-secondary-bg);
  --bs-pagination-disabled-border-color: var(--bs-border-color);
  display: flex;
  padding-left: 0;
  list-style: none;
}

.badge {
  --bs-badge-padding-x: 0.65em;
  --bs-badge-padding-y: 0.35em;
  --bs-badge-font-size: 0.75em;
  --bs-badge-font-weight: 700;
  --bs-badge-color: #fff;
  --bs-badge-border-radius: var(--rb-radius);
  display: inline-block;
  padding: var(--bs-badge-padding-y) var(--bs-badge-padding-x);
  font-size: var(--bs-badge-font-size);
  font-weight: var(--bs-badge-font-weight);
  line-height: 1;
  color: var(--bs-badge-color);
  text-align: center;
  white-space: nowrap;
  vertical-align: baseline;
  border-radius: var(--rb-radius);
}

.alert {
  --bs-alert-bg: transparent;
  --bs-alert-padding-x: 1rem;
  --bs-alert-padding-y: 1rem;
  --bs-alert-margin-bottom: 1rem;
  --bs-alert-color: inherit;
  --bs-alert-border-color: transparent;
  --bs-alert-border: var(--bs-border-width) solid var(--bs-alert-border-color);
  --bs-alert-border-radius: var(--rb-radius);
  --bs-alert-link-color: inherit;
  position: relative;
  padding: var(--bs-alert-padding-y) var(--bs-alert-padding-x);
  margin-bottom: var(--bs-alert-margin-bottom);
  color: var(--bs-alert-color);
  background-color: var(--bs-alert-bg);
  border: var(--bs-alert-border);
  border-radius: var(--rb-radius);
}

.alert-danger {
  --bs-alert-color: var(--bs-danger-text-emphasis);
  --bs-alert-bg: var(--bs-danger-bg-subtle);
  --bs-alert-border-color: var(--bs-danger-border-subtle);
  --bs-alert-link-color: var(--bs-danger-text-emphasis);
}

@keyframes progress-bar-stripes {
  0% {
    background-position-x: 1rem;
  }
}

.progress {
  --bs-progress-height: 1rem;
  --bs-progress-font-size: 0.75rem;
  --bs-progress-bg: var(--bs-secondary-bg);
  --bs-progress-border-radius: var(--rb-radius);
  --bs-progress-box-shadow: var(--bs-box-shadow-inset);
  --bs-progress-bar-color: #fff;
  --bs-progress-bar-bg: var(--rb-blue-light);
  --bs-progress-bar-transition: width 0.6s ease;
  display: flex;
  height: var(--bs-progress-height);
  overflow: hidden;
  font-size: var(--bs-progress-font-size);
  background-color: var(--bs-progress-bg);
  border-radius: var(--rb-radius);
}

.list-group {
  --bs-list-group-color: var(--bs-body-color);
  --bs-list-group-bg: var(--bs-body-bg);
  --bs-list-group-border-color: var(--bs-border-color);
  --bs-list-group-border-width: var(--bs-border-width);
  --bs-list-group-border-radius: var(--rb-radius);
  --bs-list-group-item-padding-x: 1rem;
  --bs-list-group-item-padding-y: 0.5rem;
  --bs-list-group-action-color: var(--bs-secondary-color);
  --bs-list-group-action-hover-color: var(--bs-emphasis-color);
  --bs-list-group-action-hover-bg: var(--bs-tertiary-bg);
  --bs-list-group-action-active-color: var(--bs-body-color);
  --bs-list-group-action-active-bg: var(--bs-secondary-bg);
  --bs-list-group-disabled-color: var(--bs-secondary-color);
  --bs-list-group-disabled-bg: var(--bs-body-bg);
  --bs-list-group-active-color: #fff;
  --bs-list-group-active-bg: var(--rb-blue-light);
  --bs-list-group-active-border-color: var(--rb-blue-light);
  display: flex;
  flex-direction: column;
  padding-left: 0;
  margin-bottom: 0;
  border-radius: var(--rb-radius);
}

.list-group-item {
  position: relative;
  display: block;
  padding: var(--bs-list-group-item-padding-y) var(--bs-list-group-item-padding-x);
  color: var(--bs-list-group-color);
  text-decoration: none;
  background-color: var(--bs-list-group-bg);
  border: var(--bs-list-group-border-width) solid var(--bs-list-group-border-color);
}

.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: var(--bs-list-group-disabled-color);
  pointer-events: none;
  background-color: var(--bs-list-group-disabled-bg);
}

.list-group-item.active {
  z-index: 2;
  color: var(--bs-list-group-active-color);
  background-color: var(--bs-list-group-active-bg);
  border-color: var(--bs-list-group-active-border-color);
}

.list-group-item+.list-group-item {
  border-top-width: 0;
}

.list-group-item+.list-group-item.active {
  margin-top: calc(-1 * var(--bs-list-group-border-width));
  border-top-width: var(--bs-list-group-border-width);
}

.toast {
  --bs-toast-zindex: 1090;
  --bs-toast-padding-x: 0.75rem;
  --bs-toast-padding-y: 0.5rem;
  --bs-toast-spacing: 1.5rem;
  --bs-toast-max-width: 350px;
  --bs-toast-font-size: 0.875rem;
  --bs-toast-color: ;
  --bs-toast-bg: rgba(var(--bs-body-bg-rgb), 0.85);
  --bs-toast-border-width: var(--bs-border-width);
  --bs-toast-border-color: var(--bs-border-color-translucent);
  --bs-toast-border-radius: var(--rb-radius);
  --bs-toast-box-shadow: var(--bs-box-shadow);
  --bs-toast-header-color: var(--bs-secondary-color);
  --bs-toast-header-bg: rgba(var(--bs-body-bg-rgb), 0.85);
  --bs-toast-header-border-color: var(--bs-border-color-translucent);
  width: var(--bs-toast-max-width);
  max-width: 100%;
  font-size: var(--bs-toast-font-size);
  color: var(--bs-toast-color);
  pointer-events: auto;
  background-color: var(--bs-toast-bg);
  background-clip: padding-box;
  border: var(--bs-toast-border-width) solid var(--bs-toast-border-color);
  box-shadow: var(--bs-toast-box-shadow);
  border-radius: var(--rb-radius);
}

.toast.showing {
  opacity: 0;
}

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

.toast-container {
  --bs-toast-zindex: 1090;
  position: absolute;
  z-index: var(--bs-toast-zindex);
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  max-width: 100%;
  pointer-events: none;
}

.toast-container>:not(:last-child) {
  margin-bottom: var(--bs-toast-spacing);
}

.toast-header {
  display: flex;
  align-items: center;
  padding: var(--bs-toast-padding-y) var(--bs-toast-padding-x);
  color: var(--bs-toast-header-color);
  background-color: var(--bs-toast-header-bg);
  background-clip: padding-box;
  border-bottom: var(--bs-toast-border-width) solid var(--bs-toast-header-border-color);
  border-top-left-radius: var(--rb-radius-tl);
  border-top-right-radius: var(--rb-radius-tr);
}

.toast-body {
  padding: var(--bs-toast-padding-x);
  word-wrap: break-word;
}

.modal {
  --bs-modal-zindex: 1055;
  --bs-modal-width: 500px;
  --bs-modal-padding: 1rem;
  --bs-modal-margin: 0.5rem;
  --bs-modal-color: ;
  --bs-modal-bg: var(--bs-body-bg);
  --bs-modal-border-color: var(--bs-border-color-translucent);
  --bs-modal-border-width: var(--bs-border-width);
  --bs-modal-border-radius: var(--rb-radius);
  --bs-modal-box-shadow: var(--bs-box-shadow-sm);
  --bs-modal-inner-border-radius: var(--rb-radius);
  --bs-modal-header-padding-x: 1rem;
  --bs-modal-header-padding-y: 1rem;
  --bs-modal-header-padding: 1rem 1rem;
  --bs-modal-header-border-color: var(--bs-border-color);
  --bs-modal-header-border-width: var(--bs-border-width);
  --bs-modal-title-line-height: 1.5;
  --bs-modal-footer-gap: 0.5rem;
  --bs-modal-footer-bg: ;
  --bs-modal-footer-border-color: var(--bs-border-color);
  --bs-modal-footer-border-width: var(--bs-border-width);
  position: fixed;
  top: 0;
  left: 0;
  z-index: var(--bs-modal-zindex);
  display: none;
  width: 100%;
  height: 100%;
  overflow-x: hidden;
  overflow-y: auto;
  outline: 0;
}

.modal-dialog {
  position: relative;
  width: auto;
  margin: var(--bs-modal-margin);
  pointer-events: none;
}

.modal.fade .modal-dialog {
  transition: transform .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 {
  height: calc(100% - var(--bs-modal-margin) * 2);
}

.modal-dialog-scrollable .modal-content {
  max-height: 100%;
  overflow: hidden;
}

.modal-dialog-scrollable .modal-body {
  overflow-y: auto;
}

.modal-dialog-centered {
  display: flex;
  align-items: center;
  min-height: calc(100% - var(--bs-modal-margin) * 2);
}

.modal-content {
  position: relative;
  display: flex;
  flex-direction: column;
  width: 100%;
  color: var(--bs-modal-color);
  pointer-events: auto;
  background-color: var(--bs-modal-bg);
  background-clip: padding-box;
  border: var(--bs-modal-border-width) solid var(--bs-modal-border-color);
  border-radius: var(--rb-radius);
  outline: 0;
}

.modal-backdrop {
  --bs-backdrop-zindex: 1050;
  --bs-backdrop-bg: #000;
  --bs-backdrop-opacity: 0.5;
  position: fixed;
  top: 0;
  left: 0;
  z-index: var(--bs-backdrop-zindex);
  width: 100vw;
  height: 100vh;
  background-color: var(--bs-backdrop-bg);
}

.modal-backdrop.show {
  opacity: var(--bs-backdrop-opacity);
}

.modal-header {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  padding: var(--bs-modal-header-padding);
  border-bottom: var(--bs-modal-header-border-width) solid var(--bs-modal-header-border-color);
  border-top-left-radius: var(--rb-radius-tl);
  border-top-right-radius: var(--rb-radius-tr);
}

.modal-title {
  margin-bottom: 0;
  line-height: var(--bs-modal-title-line-height);
}

.modal-body {
  position: relative;
  flex: 1 1 auto;
  padding: var(--bs-modal-padding);
}

.modal-footer {
  display: flex;
  flex-shrink: 0;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  padding: calc(var(--bs-modal-padding) - var(--bs-modal-footer-gap) * .5);
  background-color: var(--bs-modal-footer-bg);
  border-top: var(--bs-modal-footer-border-width) solid var(--bs-modal-footer-border-color);
  border-bottom-right-radius: var(--rb-radius-br);
  border-bottom-left-radius: var(--rb-radius-bl);
}

.modal-footer>* {
  margin: calc(var(--bs-modal-footer-gap) * .5);
}

@media (min-width:576px) {
  .modal {
    --bs-modal-margin: 1.75rem;
    --bs-modal-box-shadow: var(--bs-box-shadow);
  }

  .modal-dialog {
    max-width: var(--bs-modal-width);
    margin-right: auto;
    margin-left: auto;
  }

  .modal-sm {
    --bs-modal-width: 300px;
  }
}

@media (min-width:992px) {

  .modal-lg,
  .modal-xl {
    --bs-modal-width: 800px;
  }
}

@media (min-width:1200px) {
  .modal-xl {
    --bs-modal-width: 1140px;
  }
}

.modal-fullscreen {
  width: 100vw;
  max-width: none;
  height: 100%;
  margin: 0;
}

.modal-fullscreen .modal-content {
  height: 100%;
  border: 0;
  border-radius: 0;
}

.modal-fullscreen .modal-footer,
.modal-fullscreen .modal-header {
  border-radius: 0;
}

.modal-fullscreen .modal-body {
  overflow-y: auto;
}

@media (max-width:575.98px) {
  .modal-fullscreen-sm-down {
    width: 100vw;
    max-width: none;
    height: 100%;
    margin: 0;
  }

  .modal-fullscreen-sm-down .modal-content {
    height: 100%;
    border: 0;
    border-radius: 0;
  }

  .modal-fullscreen-sm-down .modal-footer,
  .modal-fullscreen-sm-down .modal-header {
    border-radius: 0;
  }

  .modal-fullscreen-sm-down .modal-body {
    overflow-y: auto;
  }
}

@media (max-width:767.98px) {
  .modal-fullscreen-md-down {
    width: 100vw;
    max-width: none;
    height: 100%;
    margin: 0;
  }

  .modal-fullscreen-md-down .modal-content {
    height: 100%;
    border: 0;
    border-radius: 0;
  }

  .modal-fullscreen-md-down .modal-footer,
  .modal-fullscreen-md-down .modal-header {
    border-radius: 0;
  }

  .modal-fullscreen-md-down .modal-body {
    overflow-y: auto;
  }
}

@media (max-width:991.98px) {
  .modal-fullscreen-lg-down {
    width: 100vw;
    max-width: none;
    height: 100%;
    margin: 0;
  }

  .modal-fullscreen-lg-down .modal-content {
    height: 100%;
    border: 0;
    border-radius: 0;
  }

  .modal-fullscreen-lg-down .modal-footer,
  .modal-fullscreen-lg-down .modal-header {
    border-radius: 0;
  }

  .modal-fullscreen-lg-down .modal-body {
    overflow-y: auto;
  }
}

@media (max-width:1199.98px) {
  .modal-fullscreen-xl-down {
    width: 100vw;
    max-width: none;
    height: 100%;
    margin: 0;
  }

  .modal-fullscreen-xl-down .modal-content {
    height: 100%;
    border: 0;
    border-radius: 0;
  }

  .modal-fullscreen-xl-down .modal-footer,
  .modal-fullscreen-xl-down .modal-header {
    border-radius: 0;
  }

  .modal-fullscreen-xl-down .modal-body {
    overflow-y: auto;
  }
}

@media (max-width:1399.98px) {
  .modal-fullscreen-xxl-down {
    width: 100vw;
    max-width: none;
    height: 100%;
    margin: 0;
  }

  .modal-fullscreen-xxl-down .modal-content {
    height: 100%;
    border: 0;
    border-radius: 0;
  }

  .modal-fullscreen-xxl-down .modal-footer,
  .modal-fullscreen-xxl-down .modal-header {
    border-radius: 0;
  }

  .modal-fullscreen-xxl-down .modal-body {
    overflow-y: auto;
  }
}

.tooltip {
  --bs-tooltip-zindex: 1080;
  --bs-tooltip-max-width: 200px;
  --bs-tooltip-padding-x: 0.5rem;
  --bs-tooltip-padding-y: 0.25rem;
  --bs-tooltip-margin: ;
  --bs-tooltip-font-size: 0.875rem;
  --bs-tooltip-color: var(--bs-body-bg);
  --bs-tooltip-bg: var(--bs-emphasis-color);
  --bs-tooltip-border-radius: var(--rb-radius);
  --bs-tooltip-opacity: 0.9;
  --bs-tooltip-arrow-width: 0.8rem;
  --bs-tooltip-arrow-height: 0.4rem;
  z-index: var(--bs-tooltip-zindex);
  display: block;
  margin: var(--bs-tooltip-margin);
  font-family: var(--bs-font-sans-serif);
  font-style: normal;
  font-weight: 400;
  line-height: 1.5;
  text-align: left;
  text-align: start;
  text-decoration: none;
  text-shadow: none;
  text-transform: none;
  letter-spacing: normal;
  word-break: normal;
  white-space: normal;
  word-spacing: normal;
  line-break: auto;
  font-size: var(--bs-tooltip-font-size);
  word-wrap: break-word;
  opacity: 0;
}

.tooltip.show {
  opacity: var(--bs-tooltip-opacity);
}

.tooltip .tooltip-arrow {
  display: block;
  width: var(--bs-tooltip-arrow-width);
  height: var(--bs-tooltip-arrow-height);
}

.tooltip .tooltip-arrow::before {
  position: absolute;
  content: "";
  border-color: transparent;
  border-style: solid;
}

.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow,
.bs-tooltip-top .tooltip-arrow {
  bottom: calc(-1 * var(--bs-tooltip-arrow-height));
}

.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow::before,
.bs-tooltip-top .tooltip-arrow::before {
  top: -1px;
  border-width: var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width) * .5) 0;
  border-top-color: var(--bs-tooltip-bg);
}

.bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow,
.bs-tooltip-end .tooltip-arrow {
  left: calc(-1 * var(--bs-tooltip-arrow-height));
  width: var(--bs-tooltip-arrow-height);
  height: var(--bs-tooltip-arrow-width);
}

.bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow::before,
.bs-tooltip-end .tooltip-arrow::before {
  right: -1px;
  border-width: calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width) * .5) 0;
  border-right-color: var(--bs-tooltip-bg);
}

.bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow,
.bs-tooltip-bottom .tooltip-arrow {
  top: calc(-1 * var(--bs-tooltip-arrow-height));
}

.bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow::before,
.bs-tooltip-bottom .tooltip-arrow::before {
  bottom: -1px;
  border-width: 0 calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height);
  border-bottom-color: var(--bs-tooltip-bg);
}

.bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow,
.bs-tooltip-start .tooltip-arrow {
  right: calc(-1 * var(--bs-tooltip-arrow-height));
  width: var(--bs-tooltip-arrow-height);
  height: var(--bs-tooltip-arrow-width);
}

.bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow::before,
.bs-tooltip-start .tooltip-arrow::before {
  left: -1px;
  border-width: calc(var(--bs-tooltip-arrow-width) * .5) 0 calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height);
  border-left-color: var(--bs-tooltip-bg);
}

.tooltip-inner {
  max-width: var(--bs-tooltip-max-width);
  padding: var(--bs-tooltip-padding-y) var(--bs-tooltip-padding-x);
  color: var(--bs-tooltip-color);
  text-align: center;
  background-color: var(--bs-tooltip-bg);
  border-radius: var(--rb-radius);
}

.popover {
  --bs-popover-zindex: 1070;
  --bs-popover-max-width: 276px;
  --bs-popover-font-size: 0.875rem;
  --bs-popover-bg: var(--bs-body-bg);
  --bs-popover-border-width: var(--bs-border-width);
  --bs-popover-border-color: var(--bs-border-color-translucent);
  --bs-popover-border-radius: var(--rb-radius);
  --bs-popover-inner-border-radius: var(--rb-radius);
  --bs-popover-box-shadow: var(--bs-box-shadow);
  --bs-popover-header-padding-x: 1rem;
  --bs-popover-header-padding-y: 0.5rem;
  --bs-popover-header-font-size: 1rem;
  --bs-popover-header-color: inherit;
  --bs-popover-header-bg: var(--bs-secondary-bg);
  --bs-popover-body-padding-x: 1rem;
  --bs-popover-body-padding-y: 1rem;
  --bs-popover-body-color: var(--bs-body-color);
  --bs-popover-arrow-width: 1rem;
  --bs-popover-arrow-height: 0.5rem;
  --bs-popover-arrow-border: var(--bs-popover-border-color);
  z-index: var(--bs-popover-zindex);
  display: block;
  max-width: var(--bs-popover-max-width);
  font-family: var(--bs-font-sans-serif);
  font-style: normal;
  font-weight: 400;
  line-height: 1.5;
  text-align: left;
  text-align: start;
  text-decoration: none;
  text-shadow: none;
  text-transform: none;
  letter-spacing: normal;
  word-break: normal;
  white-space: normal;
  word-spacing: normal;
  line-break: auto;
  font-size: var(--bs-popover-font-size);
  word-wrap: break-word;
  background-color: var(--bs-popover-bg);
  background-clip: padding-box;
  border: var(--bs-popover-border-width) solid var(--bs-popover-border-color);
  border-radius: var(--rb-radius);
}

.popover .popover-arrow {
  display: block;
  width: var(--bs-popover-arrow-width);
  height: var(--bs-popover-arrow-height);
}

.popover .popover-arrow::after,
.popover .popover-arrow::before {
  position: absolute;
  display: block;
  content: "";
  border-color: transparent;
  border-style: solid;
  border-width: 0;
}

.bs-popover-auto[data-popper-placement^=top]>.popover-arrow,
.bs-popover-top>.popover-arrow {
  bottom: calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));
}

.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::after,
.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::before,
.bs-popover-top>.popover-arrow::after,
.bs-popover-top>.popover-arrow::before {
  border-width: var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * .5) 0;
}

.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::before,
.bs-popover-top>.popover-arrow::before {
  bottom: 0;
  border-top-color: var(--bs-popover-arrow-border);
}

.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::after,
.bs-popover-top>.popover-arrow::after {
  bottom: var(--bs-popover-border-width);
  border-top-color: var(--bs-popover-bg);
}

.bs-popover-auto[data-popper-placement^=right]>.popover-arrow,
.bs-popover-end>.popover-arrow {
  left: calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));
  width: var(--bs-popover-arrow-height);
  height: var(--bs-popover-arrow-width);
}

.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::after,
.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::before,
.bs-popover-end>.popover-arrow::after,
.bs-popover-end>.popover-arrow::before {
  border-width: calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * .5) 0;
}

.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::before,
.bs-popover-end>.popover-arrow::before {
  left: 0;
  border-right-color: var(--bs-popover-arrow-border);
}

.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::after,
.bs-popover-end>.popover-arrow::after {
  left: var(--bs-popover-border-width);
  border-right-color: var(--bs-popover-bg);
}

.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow,
.bs-popover-bottom>.popover-arrow {
  top: calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));
}

.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::after,
.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::before,
.bs-popover-bottom>.popover-arrow::after,
.bs-popover-bottom>.popover-arrow::before {
  border-width: 0 calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height);
}

.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::before,
.bs-popover-bottom>.popover-arrow::before {
  top: 0;
  border-bottom-color: var(--bs-popover-arrow-border);
}

.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::after,
.bs-popover-bottom>.popover-arrow::after {
  top: var(--bs-popover-border-width);
  border-bottom-color: var(--bs-popover-bg);
}

.bs-popover-auto[data-popper-placement^=bottom] .popover-header::before,
.bs-popover-bottom .popover-header::before {
  position: absolute;
  top: 0;
  left: 50%;
  display: block;
  width: var(--bs-popover-arrow-width);
  margin-left: calc(-.5 * var(--bs-popover-arrow-width));
  content: "";
  border-bottom: var(--bs-popover-border-width) solid var(--bs-popover-header-bg);
}

.bs-popover-auto[data-popper-placement^=left]>.popover-arrow,
.bs-popover-start>.popover-arrow {
  right: calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));
  width: var(--bs-popover-arrow-height);
  height: var(--bs-popover-arrow-width);
}

.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::after,
.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::before,
.bs-popover-start>.popover-arrow::after,
.bs-popover-start>.popover-arrow::before {
  border-width: calc(var(--bs-popover-arrow-width) * .5) 0 calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height);
}

.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::before,
.bs-popover-start>.popover-arrow::before {
  right: 0;
  border-left-color: var(--bs-popover-arrow-border);
}

.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::after,
.bs-popover-start>.popover-arrow::after {
  right: var(--bs-popover-border-width);
  border-left-color: var(--bs-popover-bg);
}

.popover-header {
  padding: var(--bs-popover-header-padding-y) var(--bs-popover-header-padding-x);
  margin-bottom: 0;
  font-size: var(--bs-popover-header-font-size);
  color: var(--bs-popover-header-color);
  background-color: var(--bs-popover-header-bg);
  border-bottom: var(--bs-popover-border-width) solid var(--bs-popover-border-color);
  border-top-left-radius: var(--rb-radius-tl);
  border-top-right-radius: var(--rb-radius-tr);
}

.popover-body {
  padding: var(--bs-popover-body-padding-y) var(--bs-popover-body-padding-x);
  color: var(--bs-popover-body-color);
}

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

.carousel-item {
  position: relative;
  display: none;
  float: left;
  width: 100%;
  margin-right: -100%;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  transition: transform .6s ease-in-out;
}

@media (prefers-reduced-motion:reduce) {
  .carousel-item {
    transition: none;
  }
}

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

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

.carousel-fade .carousel-item {
  opacity: 0;
  transition-property: opacity;
  transform: none;
}

.carousel-fade .carousel-item-next.carousel-item-start,
.carousel-fade .carousel-item-prev.carousel-item-end,
.carousel-fade .carousel-item.active {
  z-index: 1;
  opacity: 1;
}

.carousel-fade .active.carousel-item-end,
.carousel-fade .active.carousel-item-start {
  z-index: 0;
  opacity: 0;
  transition: opacity 0s .6s;
}

@media (prefers-reduced-motion:reduce) {

  .carousel-fade .active.carousel-item-end,
  .carousel-fade .active.carousel-item-start {
    transition: none;
  }
}

.carousel-control-next,
.carousel-control-prev {
  position: absolute;
  top: 0;
  bottom: 0;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 15%;
  padding: 0;
  color: #fff;
  text-align: center;
  background: 0 0;
  border: 0;
  opacity: .5;
  transition: opacity .15s ease;
}

@media (prefers-reduced-motion:reduce) {

  .carousel-control-next,
  .carousel-control-prev {
    transition: none;
  }
}

.carousel-control-next-icon,
.carousel-control-prev-icon {
  display: inline-block;
  width: 2rem;
  height: 2rem;
  background-repeat: no-repeat;
  background-position: 50%;
  background-size: 100% 100%;
}

.carousel-control-prev-icon {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/%3e%3c/svg%3e");
}

.carousel-control-next-icon {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
}

.carousel-indicators {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 2;
  display: flex;
  justify-content: center;
  padding: 0;
  margin-right: 15%;
  margin-bottom: 1rem;
  margin-left: 15%;
}

.carousel-indicators [data-bs-target] {
  box-sizing: content-box;
  flex: 0 1 auto;
  width: 30px;
  height: 3px;
  padding: 0;
  margin-right: 3px;
  margin-left: 3px;
  text-indent: -999px;
  cursor: pointer;
  background-color: #fff;
  background-clip: padding-box;
  border: 0;
  border-top: 10px solid transparent;
  border-bottom: 10px solid transparent;
  opacity: .5;
  transition: opacity .6s ease;
}

@media (prefers-reduced-motion:reduce) {
  .carousel-indicators [data-bs-target] {
    transition: none;
  }
}

.carousel-caption {
  position: absolute;
  right: 15%;
  bottom: 1.25rem;
  left: 15%;
  padding-top: 1.25rem;
  padding-bottom: 1.25rem;
  color: #fff;
  text-align: center;
}

.carousel-dark .carousel-control-next-icon,
.carousel-dark .carousel-control-prev-icon {
  filter: invert(1) grayscale(100);
}

.carousel-dark .carousel-indicators [data-bs-target] {
  background-color: #000;
}

.carousel-dark .carousel-caption {
  color: #000;
}

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

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

  50% {
    opacity: 1;
    transform: none;
  }
}

.offcanvas,
.offcanvas-lg,
.offcanvas-md,
.offcanvas-sm,
.offcanvas-xl,
.offcanvas-xxl {
  --bs-offcanvas-zindex: 1045;
  --bs-offcanvas-width: 400px;
  --bs-offcanvas-height: 30vh;
  --bs-offcanvas-padding-x: 1rem;
  --bs-offcanvas-padding-y: 1rem;
  --bs-offcanvas-color: var(--bs-body-color);
  --bs-offcanvas-bg: var(--bs-body-bg);
  --bs-offcanvas-border-width: var(--bs-border-width);
  --bs-offcanvas-border-color: var(--bs-border-color-translucent);
  --bs-offcanvas-box-shadow: var(--bs-box-shadow-sm);
  --bs-offcanvas-transition: transform 0.3s ease-in-out;
  --bs-offcanvas-title-line-height: 1.5;
}

@media (max-width:575.98px) {
  .offcanvas-sm {
    position: fixed;
    bottom: 0;
    z-index: var(--bs-offcanvas-zindex);
    display: flex;
    flex-direction: column;
    max-width: 100%;
    color: var(--bs-offcanvas-color);
    visibility: hidden;
    background-color: var(--bs-offcanvas-bg);
    background-clip: padding-box;
    outline: 0;
    transition: var(--bs-offcanvas-transition);
  }
}

@media (max-width:575.98px) and (prefers-reduced-motion:reduce) {
  .offcanvas-sm {
    transition: none;
  }
}

@media (max-width:575.98px) {
  .offcanvas-sm.offcanvas-start {
    top: 0;
    left: 0;
    width: var(--bs-offcanvas-width);
    border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateX(-100%);
  }

  .offcanvas-sm.offcanvas-end {
    top: 0;
    right: 0;
    width: var(--bs-offcanvas-width);
    border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateX(100%);
  }

  .offcanvas-sm.offcanvas-top {
    top: 0;
    right: 0;
    left: 0;
    height: var(--bs-offcanvas-height);
    max-height: 100%;
    border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateY(-100%);
  }

  .offcanvas-sm.offcanvas-bottom {
    right: 0;
    left: 0;
    height: var(--bs-offcanvas-height);
    max-height: 100%;
    border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateY(100%);
  }

  .offcanvas-sm.show:not(.hiding),
  .offcanvas-sm.showing {
    transform: none;
  }

  .offcanvas-sm.hiding,
  .offcanvas-sm.show,
  .offcanvas-sm.showing {
    visibility: visible;
  }
}

@media (min-width:576px) {
  .offcanvas-sm {
    --bs-offcanvas-height: auto;
    --bs-offcanvas-border-width: 0;
    background-color: transparent !important;
  }

  .offcanvas-sm .offcanvas-header {
    display: none;
  }

  .offcanvas-sm .offcanvas-body {
    display: flex;
    flex-grow: 0;
    padding: 0;
    overflow-y: visible;
    background-color: transparent !important;
  }
}

@media (max-width:767.98px) {
  .offcanvas-md {
    position: fixed;
    bottom: 0;
    z-index: var(--bs-offcanvas-zindex);
    display: flex;
    flex-direction: column;
    max-width: 100%;
    color: var(--bs-offcanvas-color);
    visibility: hidden;
    background-color: var(--bs-offcanvas-bg);
    background-clip: padding-box;
    outline: 0;
    transition: var(--bs-offcanvas-transition);
  }
}

@media (max-width:767.98px) and (prefers-reduced-motion:reduce) {
  .offcanvas-md {
    transition: none;
  }
}

@media (max-width:767.98px) {
  .offcanvas-md.offcanvas-start {
    top: 0;
    left: 0;
    width: var(--bs-offcanvas-width);
    border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateX(-100%);
  }

  .offcanvas-md.offcanvas-end {
    top: 0;
    right: 0;
    width: var(--bs-offcanvas-width);
    border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateX(100%);
  }

  .offcanvas-md.offcanvas-top {
    top: 0;
    right: 0;
    left: 0;
    height: var(--bs-offcanvas-height);
    max-height: 100%;
    border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateY(-100%);
  }

  .offcanvas-md.offcanvas-bottom {
    right: 0;
    left: 0;
    height: var(--bs-offcanvas-height);
    max-height: 100%;
    border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateY(100%);
  }

  .offcanvas-md.show:not(.hiding),
  .offcanvas-md.showing {
    transform: none;
  }

  .offcanvas-md.hiding,
  .offcanvas-md.show,
  .offcanvas-md.showing {
    visibility: visible;
  }
}

@media (min-width:768px) {
  .offcanvas-md {
    --bs-offcanvas-height: auto;
    --bs-offcanvas-border-width: 0;
    background-color: transparent !important;
  }

  .offcanvas-md .offcanvas-header {
    display: none;
  }

  .offcanvas-md .offcanvas-body {
    display: flex;
    flex-grow: 0;
    padding: 0;
    overflow-y: visible;
    background-color: transparent !important;
  }
}

@media (max-width:991.98px) {
  .offcanvas-lg {
    position: fixed;
    bottom: 0;
    z-index: var(--bs-offcanvas-zindex);
    display: flex;
    flex-direction: column;
    max-width: 100%;
    color: var(--bs-offcanvas-color);
    visibility: hidden;
    background-color: var(--bs-offcanvas-bg);
    background-clip: padding-box;
    outline: 0;
    transition: var(--bs-offcanvas-transition);
  }
}

@media (max-width:991.98px) and (prefers-reduced-motion:reduce) {
  .offcanvas-lg {
    transition: none;
  }
}

@media (max-width:991.98px) {
  .offcanvas-lg.offcanvas-start {
    top: 0;
    left: 0;
    width: var(--bs-offcanvas-width);
    border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateX(-100%);
  }

  .offcanvas-lg.offcanvas-end {
    top: 0;
    right: 0;
    width: var(--bs-offcanvas-width);
    border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateX(100%);
  }

  .offcanvas-lg.offcanvas-top {
    top: 0;
    right: 0;
    left: 0;
    height: var(--bs-offcanvas-height);
    max-height: 100%;
    border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateY(-100%);
  }

  .offcanvas-lg.offcanvas-bottom {
    right: 0;
    left: 0;
    height: var(--bs-offcanvas-height);
    max-height: 100%;
    border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateY(100%);
  }

  .offcanvas-lg.show:not(.hiding),
  .offcanvas-lg.showing {
    transform: none;
  }

  .offcanvas-lg.hiding,
  .offcanvas-lg.show,
  .offcanvas-lg.showing {
    visibility: visible;
  }
}

@media (min-width:992px) {
  .offcanvas-lg {
    --bs-offcanvas-height: auto;
    --bs-offcanvas-border-width: 0;
    background-color: transparent !important;
  }

  .offcanvas-lg .offcanvas-header {
    display: none;
  }

  .offcanvas-lg .offcanvas-body {
    display: flex;
    flex-grow: 0;
    padding: 0;
    overflow-y: visible;
    background-color: transparent !important;
  }
}

@media (max-width:1199.98px) {
  .offcanvas-xl {
    position: fixed;
    bottom: 0;
    z-index: var(--bs-offcanvas-zindex);
    display: flex;
    flex-direction: column;
    max-width: 100%;
    color: var(--bs-offcanvas-color);
    visibility: hidden;
    background-color: var(--bs-offcanvas-bg);
    background-clip: padding-box;
    outline: 0;
    transition: var(--bs-offcanvas-transition);
  }
}

@media (max-width:1199.98px) and (prefers-reduced-motion:reduce) {
  .offcanvas-xl {
    transition: none;
  }
}

@media (max-width:1199.98px) {
  .offcanvas-xl.offcanvas-start {
    top: 0;
    left: 0;
    width: var(--bs-offcanvas-width);
    border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateX(-100%);
  }

  .offcanvas-xl.offcanvas-end {
    top: 0;
    right: 0;
    width: var(--bs-offcanvas-width);
    border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateX(100%);
  }

  .offcanvas-xl.offcanvas-top {
    top: 0;
    right: 0;
    left: 0;
    height: var(--bs-offcanvas-height);
    max-height: 100%;
    border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateY(-100%);
  }

  .offcanvas-xl.offcanvas-bottom {
    right: 0;
    left: 0;
    height: var(--bs-offcanvas-height);
    max-height: 100%;
    border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateY(100%);
  }

  .offcanvas-xl.show:not(.hiding),
  .offcanvas-xl.showing {
    transform: none;
  }

  .offcanvas-xl.hiding,
  .offcanvas-xl.show,
  .offcanvas-xl.showing {
    visibility: visible;
  }
}

@media (min-width:1200px) {
  .offcanvas-xl {
    --bs-offcanvas-height: auto;
    --bs-offcanvas-border-width: 0;
    background-color: transparent !important;
  }

  .offcanvas-xl .offcanvas-header {
    display: none;
  }

  .offcanvas-xl .offcanvas-body {
    display: flex;
    flex-grow: 0;
    padding: 0;
    overflow-y: visible;
    background-color: transparent !important;
  }
}

@media (max-width:1399.98px) {
  .offcanvas-xxl {
    position: fixed;
    bottom: 0;
    z-index: var(--bs-offcanvas-zindex);
    display: flex;
    flex-direction: column;
    max-width: 100%;
    color: var(--bs-offcanvas-color);
    visibility: hidden;
    background-color: var(--bs-offcanvas-bg);
    background-clip: padding-box;
    outline: 0;
    transition: var(--bs-offcanvas-transition);
  }
}

@media (max-width:1399.98px) and (prefers-reduced-motion:reduce) {
  .offcanvas-xxl {
    transition: none;
  }
}

@media (max-width:1399.98px) {
  .offcanvas-xxl.offcanvas-start {
    top: 0;
    left: 0;
    width: var(--bs-offcanvas-width);
    border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateX(-100%);
  }

  .offcanvas-xxl.offcanvas-end {
    top: 0;
    right: 0;
    width: var(--bs-offcanvas-width);
    border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateX(100%);
  }

  .offcanvas-xxl.offcanvas-top {
    top: 0;
    right: 0;
    left: 0;
    height: var(--bs-offcanvas-height);
    max-height: 100%;
    border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateY(-100%);
  }

  .offcanvas-xxl.offcanvas-bottom {
    right: 0;
    left: 0;
    height: var(--bs-offcanvas-height);
    max-height: 100%;
    border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateY(100%);
  }

  .offcanvas-xxl.show:not(.hiding),
  .offcanvas-xxl.showing {
    transform: none;
  }

  .offcanvas-xxl.hiding,
  .offcanvas-xxl.show,
  .offcanvas-xxl.showing {
    visibility: visible;
  }
}

@media (min-width:1400px) {
  .offcanvas-xxl {
    --bs-offcanvas-height: auto;
    --bs-offcanvas-border-width: 0;
    background-color: transparent !important;
  }

  .offcanvas-xxl .offcanvas-header {
    display: none;
  }

  .offcanvas-xxl .offcanvas-body {
    display: flex;
    flex-grow: 0;
    padding: 0;
    overflow-y: visible;
    background-color: transparent !important;
  }
}

.offcanvas {
  position: fixed;
  bottom: 0;
  z-index: var(--bs-offcanvas-zindex);
  display: flex;
  flex-direction: column;
  max-width: 100%;
  color: var(--bs-offcanvas-color);
  visibility: hidden;
  background-color: var(--bs-offcanvas-bg);
  background-clip: padding-box;
  outline: 0;
  transition: var(--bs-offcanvas-transition);
}

@media (prefers-reduced-motion:reduce) {
  .offcanvas {
    transition: none;
  }
}

.offcanvas.offcanvas-start {
  top: 0;
  left: 0;
  width: var(--bs-offcanvas-width);
  border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
  transform: translateX(-100%);
}

.offcanvas.offcanvas-end {
  top: 0;
  right: 0;
  width: var(--bs-offcanvas-width);
  border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
  transform: translateX(100%);
}

.offcanvas.offcanvas-top {
  top: 0;
  right: 0;
  left: 0;
  height: var(--bs-offcanvas-height);
  max-height: 100%;
  border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
  transform: translateY(-100%);
}

.offcanvas.offcanvas-bottom {
  right: 0;
  left: 0;
  height: var(--bs-offcanvas-height);
  max-height: 100%;
  border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
  transform: translateY(100%);
}

.offcanvas.show:not(.hiding),
.offcanvas.showing {
  transform: none;
}

.offcanvas.hiding,
.offcanvas.show,
.offcanvas.showing {
  visibility: visible;
}

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

.offcanvas-backdrop.fade {
  opacity: 0;
}

.offcanvas-backdrop.show {
  opacity: .5;
}

.offcanvas-header {
  display: flex;
  align-items: center;
  padding: var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x);
}

.offcanvas-title {
  margin-bottom: 0;
  line-height: var(--bs-offcanvas-title-line-height);
}

.offcanvas-body {
  flex-grow: 1;
  padding: var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x);
  overflow-y: auto;
}

.placeholder {
  display: inline-block;
  min-height: 1em;
  vertical-align: middle;
  cursor: wait;
  background-color: currentcolor;
  opacity: .5;
}

.placeholder.btn::before {
  display: inline-block;
  content: "";
}

@keyframes placeholder-glow {
  50% {
    opacity: .2;
  }
}

@keyframes placeholder-wave {
  100% {
    -webkit-mask-position: -200% 0%;
    mask-position: -200% 0%;
  }
}

.ratio {
  position: relative;
  width: 100%;
}

.ratio::before {
  display: block;
  padding-top: var(--bs-aspect-ratio);
  content: "";
}

.ratio>* {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.sticky-top {
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  z-index: 1020;
}

.visually-hidden {
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.visually-hidden:not(caption) {
  position: absolute !important;
}

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

.shadow {
  box-shadow: var(--bs-box-shadow) !important;
}

.shadow-sm {
  box-shadow: var(--bs-box-shadow-sm) !important;
}

.border {
  border: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;
}

.border-top {
  border-top: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;
}

.border-bottom {
  border-bottom: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;
}

.flex-column {
  flex-direction: column !important;
}

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

.justify-content-center {
  justify-content: center !important;
}

.justify-content-between {
  justify-content: space-between !important;
}

.justify-content-evenly {
  justify-content: space-evenly !important;
}

.align-items-start {
  align-items: flex-start !important;
}

.align-items-center {
  align-items: center !important;
}

.order-1 {
  order: 1 !important;
}

.order-2 {
  order: 2 !important;
}

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

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

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

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

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

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

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

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

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

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

.py-1 {
  padding-top: .25rem !important;
  padding-bottom: .25rem !important;
}

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

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

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

.gap-2 {
  gap: .5rem !important;
}

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

.text-dark {
  --bs-text-opacity: 1;
  color: rgba(var(--bs-dark-rgb), var(--bs-text-opacity)) !important;
}

.text-white {
  --bs-text-opacity: 1;
  color: rgba(var(--bs-white-rgb), var(--bs-text-opacity)) !important;
}

.text-muted {
  --bs-text-opacity: 1;
  color: var(--bs-secondary-color) !important;
}

.bg-white {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-white-rgb), var(--bs-bg-opacity)) !important;
}

.rounded {
  border-radius: var(--rb-radius);
}

.rounded-3 {
  border-radius: var(--rb-radius);
}

@media (min-width:768px) {
  .flex-md-row {
    flex-direction: row !important;
  }

  .order-md-5 {
    order: 5 !important;
  }

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

@media (min-width:992px) {
  .order-lg-1 {
    order: 1 !important;
  }

  .order-lg-2 {
    order: 2 !important;
  }
}


/* 02. THEME FRAMEWORK GRID/UTILITIES ============================================================ */
:root {
  --blue: var(--rb-blue);
  --indigo: #6610f2;
  --purple: #6f42c1;
  --pink: #e83e8c;
  --red: #dc3545;
  --orange: #fd7e14;
  --yellow: #ffc107;
  --green: var(--rb-green);
  --teal: #20c997;
  --cyan: #17a2b8;
  --white: #fff;
  --gray: #6c757d;
  --gray-dark: #343a40;
  --primary: var(--rb-blue);
  --secondary: #6c757d;
  --success: var(--rb-green);
  --info: #17a2b8;
  --warning: #ffc107;
  --danger: #dc3545;
  --light: #f8f9fa;
  --dark: #343a40;
  --breakpoint-xs: 0;
  --breakpoint-sm: 576px;
  --breakpoint-md: 768px;
  --breakpoint-lg: 992px;
  --breakpoint-xl: 1200px;
  --font-family-sans-serif: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  --font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
}

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

html {
  font-family: sans-serif;
  line-height: 1.15;
  -webkit-text-size-adjust: 100%;
  -webkit-tap-highlight-color: transparent;
}

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

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

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

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

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

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

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

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

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

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

dt {
  font-weight: 700;
}

dd {
  margin-bottom: .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: -.25em;
}

sup {
  top: -.5em;
}

a {
  color: var(--rb-blue);
  text-decoration: none;
  background-color: transparent;
}

a:hover {
  color: var(--rb-blue-light);
  text-decoration: underline;
}

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

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

a:not([href]):not([tabindex]):focus {
  outline: 0;
}

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

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

figure {
  margin: 0 0 1rem;
}

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

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

table {
  border-collapse: collapse;
}

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

th {
  text-align: inherit;
}

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

button {
  border-radius: 0;
}

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

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

button,
input {
  overflow: visible;
}

button,
select {
  text-transform: none;
}

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

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

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

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

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: .5rem;
  font-size: 1.5rem;
  line-height: inherit;
  color: inherit;
  white-space: normal;
}

progress {
  vertical-align: baseline;
}

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

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

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

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

output {
  display: inline-block;
}

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

template {
  display: none;
}

[hidden] {
  display: none !important;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.figure {
  display: inline-block;
}

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

a>code {
  color: inherit;
}

pre {
  display: block;
  font-size: 87.5%;
  color: #212529;
}

pre code {
  font-size: inherit;
  color: inherit;
  word-break: normal;
}

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

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

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

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

@media (min-width:1200px) {
  .container {
    max-width: 1140px;
  }
}

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

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

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

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

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

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

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

.order-1 {
  -ms-flex-order: 1;
  order: 1;
}

.order-2 {
  -ms-flex-order: 2;
  order: 2;
}

@media (min-width:576px) {
  .col-sm-6 {
    -ms-flex: 0 0 50%;
    flex: 0 0 50%;
    max-width: 50%;
  }

  .col-sm-12 {
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%;
  }
}

@media (min-width:768px) {
  .col-md-1 {
    -ms-flex: 0 0 8.333333%;
    flex: 0 0 8.333333%;
    max-width: 8.333333%;
  }

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

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

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

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

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

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

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

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

  .col-md-12 {
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%;
  }

  .order-md-5 {
    -ms-flex-order: 5;
    order: 5;
  }

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

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

@media (min-width:992px) {
  .col-lg-2 {
    -ms-flex: 0 0 16.666667%;
    flex: 0 0 16.666667%;
    max-width: 16.666667%;
  }

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

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

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

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

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

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

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

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

  .col-lg-12 {
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%;
  }

  .order-lg-1 {
    -ms-flex-order: 1;
    order: 1;
  }

  .order-lg-2 {
    -ms-flex-order: 2;
    order: 2;
  }
}

@media (min-width:1200px) {
  .col-xl-4 {
    -ms-flex: 0 0 33.333333%;
    flex: 0 0 33.333333%;
    max-width: 33.333333%;
  }

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

  .col-xl-12 {
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%;
  }
}

.table {
  width: 100%;
  margin-bottom: 1rem;
  background-color: transparent;
}

.table td,
.table th {
  padding: .75rem;
  vertical-align: top;
  border-top: 1px solid #dee2e6;
}

.table thead th {
  vertical-align: bottom;
  border-bottom: 2px solid #dee2e6;
}

.table tbody+tbody {
  border-top: 2px solid #dee2e6;
}

.table .table {
  background-color: #fff;
}

.table-bordered {
  border: 1px solid #dee2e6;
}

.table-bordered td,
.table-bordered th {
  border: 1px solid #dee2e6;
}

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

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

.table-hover tbody tr:hover {
  background-color: rgba(0, 0, 0, .075);
}

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

.table-secondary tbody+tbody,
.table-secondary td,
.table-secondary th,
.table-secondary thead th {
  border-color: #b3b7bb;
}

.table-hover .table-secondary:hover {
  background-color: #c8cbcf;
}

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

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

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

.table-hover .table-dark:hover {
  background-color: #b9bbbe;
}

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

.table-dark {
  color: #fff;
  background-color: #212529;
}

.table-dark td,
.table-dark th,
.table-dark thead th {
  border-color: #32383e;
}

.table-dark.table-bordered {
  border: 0;
}

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

.table-dark.table-hover tbody tr:hover {
  background-color: rgba(255, 255, 255, .075);
}

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

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

.form-control {
  display: block;
  width: 100%;
  height: calc(2.25rem + 2px);
  padding: .375rem .75rem;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  color: #495057;
  background-color: #fff;
  background-clip: padding-box;
  border: 1px solid #ced4da;
  border-radius: var(--rb-radius);
  transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out;
}

@media screen and (prefers-reduced-motion:reduce) {
  .form-control {
    transition: none;
  }
}

.form-control::-ms-expand {
  background-color: transparent;
  border: 0;
}

.form-control:focus {
  color: #495057;
  background-color: #fff;
  border-color: color-mix(in srgb, var(--rb-blue-light) 45%, #fff);
  outline: 0;
  box-shadow: 0 0 0 .2rem rgba(var(--rb-blue-light-rgb), .25);
}

.form-control::-webkit-input-placeholder {
  color: #6c757d;
  opacity: 1;
}

.form-control::-moz-placeholder {
  color: #6c757d;
  opacity: 1;
}

.form-control:-ms-input-placeholder {
  color: #6c757d;
  opacity: 1;
}

.form-control::-ms-input-placeholder {
  color: #6c757d;
  opacity: 1;
}

.form-control::placeholder {
  color: #6c757d;
  opacity: 1;
}

.form-control:disabled,
.form-control[readonly] {
  background-color: #e9ecef;
  opacity: 1;
}

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

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

textarea.form-control {
  height: auto;
}

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

.form-control.is-valid,
.was-validated .form-control:valid {
  border-color: var(--rb-green);
  padding-right: 2.25rem;
  background-repeat: no-repeat;
  background-position: center right calc(2.25rem / 4);
  background-size: calc(2.25rem / 2) calc(2.25rem / 2);
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%230b873f' 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");
}

.form-control.is-valid:focus,
.was-validated .form-control:valid:focus {
  border-color: var(--rb-green);
  box-shadow: 0 0 0 .2rem rgba(var(--rb-green-rgb), .25);
}

.was-validated textarea.form-control:valid,
textarea.form-control.is-valid {
  padding-right: 2.25rem;
  background-position: top calc(2.25rem / 4) right calc(2.25rem / 4);
}

.form-control.is-invalid,
.was-validated .form-control:invalid {
  border-color: #dc3545;
  padding-right: 2.25rem;
  background-repeat: no-repeat;
  background-position: center right calc(2.25rem / 4);
  background-size: calc(2.25rem / 2) calc(2.25rem / 2);
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23dc3545' viewBox='-2 -2 7 7'%3e%3cpath stroke='%23d9534f' d='M0 0l3 3m0-3L0 3'/%3e%3ccircle r='.5'/%3e%3ccircle cx='3' r='.5'/%3e%3ccircle cy='3' r='.5'/%3e%3ccircle cx='3' cy='3' r='.5'/%3e%3c/svg%3E");
}

.form-control.is-invalid:focus,
.was-validated .form-control:invalid:focus {
  border-color: #dc3545;
  box-shadow: 0 0 0 .2rem rgba(220, 53, 69, .25);
}

.was-validated textarea.form-control:invalid,
textarea.form-control.is-invalid {
  padding-right: 2.25rem;
  background-position: top calc(2.25rem / 4) right calc(2.25rem / 4);
}

.btn {
  display: inline-block;
  font-weight: 400;
  color: #212529;
  text-align: center;
  vertical-align: middle;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  background-color: transparent;
  border: 1px solid transparent;
  padding: .375rem .75rem;
  font-size: 1rem;
  line-height: 1.5;
  border-radius: var(--rb-radius);
  transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out;
}

@media screen and (prefers-reduced-motion:reduce) {
  .btn {
    transition: none;
  }
}

.btn:hover {
  color: #212529;
  text-decoration: none;
}

.btn.focus,
.btn:focus {
  outline: 0;
  box-shadow: 0 0 0 .2rem rgba(var(--rb-blue-light-rgb), .25);
}

.btn.disabled,
.btn:disabled {
  opacity: .65;
}

.btn:not(:disabled):not(.disabled) {
  cursor: pointer;
}

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

.btn-secondary {
  color: #fff;
  background-color: #6c757d;
  border-color: #6c757d;
}

.btn-secondary:hover {
  color: #fff;
  background-color: #5a6268;
  border-color: #545b62;
}

.btn-secondary.focus,
.btn-secondary:focus {
  box-shadow: 0 0 0 .2rem rgba(130, 138, 145, .5);
}

.btn-secondary.disabled,
.btn-secondary:disabled {
  color: #fff;
  background-color: #6c757d;
  border-color: #6c757d;
}

.btn-secondary:not(:disabled):not(.disabled).active,
.btn-secondary:not(:disabled):not(.disabled):active,
.show>.btn-secondary.dropdown-toggle {
  color: #fff;
  background-color: #545b62;
  border-color: #4e555b;
}

.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 .2rem rgba(130, 138, 145, .5);
}

.btn-light {
  color: #212529;
  background-color: #f8f9fa;
  border-color: #f8f9fa;
}

.btn-light:hover {
  color: #212529;
  background-color: #e2e6ea;
  border-color: #dae0e5;
}

.btn-light.focus,
.btn-light:focus {
  box-shadow: 0 0 0 .2rem rgba(216, 217, 219, .5);
}

.btn-light.disabled,
.btn-light:disabled {
  color: #212529;
  background-color: #f8f9fa;
  border-color: #f8f9fa;
}

.btn-light:not(:disabled):not(.disabled).active,
.btn-light:not(:disabled):not(.disabled):active,
.show>.btn-light.dropdown-toggle {
  color: #212529;
  background-color: #dae0e5;
  border-color: #d3d9df;
}

.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 .2rem rgba(216, 217, 219, .5);
}

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

.btn-dark:hover {
  color: #fff;
  background-color: #23272b;
  border-color: #1d2124;
}

.btn-dark.focus,
.btn-dark:focus {
  box-shadow: 0 0 0 .2rem rgba(82, 88, 93, .5);
}

.btn-dark.disabled,
.btn-dark:disabled {
  color: #fff;
  background-color: #343a40;
  border-color: #343a40;
}

.btn-dark:not(:disabled):not(.disabled).active,
.btn-dark:not(:disabled):not(.disabled):active,
.show>.btn-dark.dropdown-toggle {
  color: #fff;
  background-color: #1d2124;
  border-color: #171a1d;
}

.btn-dark:not(:disabled):not(.disabled).active:focus,
.btn-dark:not(:disabled):not(.disabled):active:focus,
.show>.btn-dark.dropdown-toggle:focus {
  box-shadow: 0 0 0 .2rem rgba(82, 88, 93, .5);
}

.btn-group-sm>.btn,
.btn-sm {
  padding: .25rem .5rem;
  font-size: .875rem;
  line-height: 1.5;
  border-radius: var(--rb-radius);
}

.btn-block {
  display: block;
  width: 100%;
}

.btn-block+.btn-block {
  margin-top: .5rem;
}

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

.fade {
  transition: opacity .15s linear;
}

@media screen and (prefers-reduced-motion:reduce) {
  .fade {
    transition: none;
  }
}

.fade:not(.show) {
  opacity: 0;
}

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

.collapsing {
  position: relative;
  height: 0;
  overflow: hidden;
  transition: height .35s ease;
}

@media screen and (prefers-reduced-motion:reduce) {
  .collapsing {
    transition: none;
  }
}

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

.dropdown-toggle::after {
  display: inline-block;
  margin-left: .255em;
  vertical-align: .255em;
  content: "";
  border-top: .3em solid;
  border-right: .3em solid transparent;
  border-bottom: 0;
  border-left: .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: .5rem 0;
  margin: .125rem 0 0;
  font-size: 1rem;
  color: #212529;
  text-align: left;
  list-style: none;
  background-color: #fff;
  background-clip: padding-box;
  border: 1px solid rgba(0, 0, 0, .15);
  border-radius: var(--rb-radius);
}

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

@media (min-width:576px) {
  .dropdown-menu-sm-right {
    right: 0;
    left: auto;
  }
}

@media (min-width:768px) {
  .dropdown-menu-md-right {
    right: 0;
    left: auto;
  }
}

@media (min-width:992px) {
  .dropdown-menu-lg-right {
    right: 0;
    left: auto;
  }
}

@media (min-width:1200px) {
  .dropdown-menu-xl-right {
    right: 0;
    left: auto;
  }
}

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

@media (min-width:576px) {
  .dropdown-menu-sm-left {
    right: auto;
    left: 0;
  }
}

@media (min-width:768px) {
  .dropdown-menu-md-left {
    right: auto;
    left: 0;
  }
}

@media (min-width:992px) {
  .dropdown-menu-lg-left {
    right: auto;
    left: 0;
  }
}

@media (min-width:1200px) {
  .dropdown-menu-xl-left {
    right: auto;
    left: 0;
  }
}

.dropup .dropdown-menu {
  top: auto;
  bottom: 100%;
  margin-top: 0;
  margin-bottom: .125rem;
}

.dropup .dropdown-toggle::after {
  display: inline-block;
  margin-left: .255em;
  vertical-align: .255em;
  content: "";
  border-top: 0;
  border-right: .3em solid transparent;
  border-bottom: .3em solid;
  border-left: .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: .125rem;
}

.dropright .dropdown-toggle::after {
  display: inline-block;
  margin-left: .255em;
  vertical-align: .255em;
  content: "";
  border-top: .3em solid transparent;
  border-right: 0;
  border-bottom: .3em solid transparent;
  border-left: .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: .125rem;
}

.dropleft .dropdown-toggle::after {
  display: inline-block;
  margin-left: .255em;
  vertical-align: .255em;
  content: "";
}

.dropleft .dropdown-toggle::after {
  display: none;
}

.dropleft .dropdown-toggle::before {
  display: inline-block;
  margin-right: .255em;
  vertical-align: .255em;
  content: "";
  border-top: .3em solid transparent;
  border-right: .3em solid;
  border-bottom: .3em solid transparent;
}

.dropleft .dropdown-toggle:empty::after {
  margin-left: 0;
}

.dropleft .dropdown-toggle::before {
  vertical-align: 0;
}

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

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

.dropdown-item {
  display: block;
  width: 100%;
  padding: .25rem 1.5rem;
  clear: both;
  font-weight: 400;
  color: #212529;
  text-align: inherit;
  white-space: nowrap;
  background-color: transparent;
  border: 0;
}

.dropdown-item:first-child {
  border-top-left-radius: var(--rb-radius-tl);
  border-top-right-radius: var(--rb-radius-tr);
}

.dropdown-item:last-child {
  border-bottom-right-radius: var(--rb-radius-br);
  border-bottom-left-radius: var(--rb-radius-bl);
}

.dropdown-item:focus,
.dropdown-item:hover {
  color: #16181b;
  text-decoration: none;
  background-color: #f8f9fa;
}

.dropdown-item.active,
.dropdown-item:active {
  color: #fff;
  text-decoration: none;
  background-color: var(--rb-blue);
}

.dropdown-item.disabled,
.dropdown-item:disabled {
  color: #6c757d;
  pointer-events: none;
  background-color: transparent;
}

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

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

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

.btn-group {
  position: relative;
  display: -ms-inline-flexbox;
  display: inline-flex;
  vertical-align: middle;
}

.btn-group>.btn {
  position: relative;
  -ms-flex: 1 1 auto;
  flex: 1 1 auto;
}

.btn-group>.btn:hover {
  z-index: 1;
}

.btn-group>.btn.active,
.btn-group>.btn:active,
.btn-group>.btn:focus {
  z-index: 1;
}

.btn-group>.btn-group:not(:first-child),
.btn-group>.btn:not(:first-child) {
  margin-left: -1px;
}

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

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

.dropdown-toggle-split {
  padding-right: .5625rem;
  padding-left: .5625rem;
}

.dropdown-toggle-split::after,
.dropright .dropdown-toggle-split::after,
.dropup .dropdown-toggle-split::after {
  margin-left: 0;
}

.dropleft .dropdown-toggle-split::before {
  margin-right: 0;
}

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

.input-group {
  position: relative;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -ms-flex-align: stretch;
  align-items: stretch;
  width: 100%;
}

.input-group>.form-control {
  position: relative;
  -ms-flex: 1 1 auto;
  flex: 1 1 auto;
  width: 1%;
  margin-bottom: 0;
}

.input-group>.form-control+.form-control {
  margin-left: -1px;
}

.input-group>.form-control:focus {
  z-index: 3;
}

.input-group>.form-control:not(:last-child) {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}

.input-group>.form-control:not(:first-child) {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}

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

.nav-link {
  display: block;
  padding: .5rem 1rem;
}

.nav-link:focus,
.nav-link:hover {
  text-decoration: none;
}

.nav-link.disabled {
  color: #6c757d;
  pointer-events: none;
  cursor: default;
}

.nav-tabs {
  border-bottom: 1px solid #dee2e6;
}

.nav-tabs .nav-item {
  margin-bottom: -1px;
}

.nav-tabs .nav-link {
  border: 1px solid transparent;
  border-top-left-radius: var(--rb-radius-tl);
  border-top-right-radius: var(--rb-radius-tr);
}

.nav-tabs .nav-link:focus,
.nav-tabs .nav-link:hover {
  border-color: #e9ecef #e9ecef #dee2e6;
}

.nav-tabs .nav-link.disabled {
  color: #6c757d;
  background-color: transparent;
  border-color: transparent;
}

.nav-tabs .nav-item.show .nav-link,
.nav-tabs .nav-link.active {
  color: #495057;
  background-color: #fff;
  border-color: #dee2e6 #dee2e6 #fff;
}

.nav-tabs .dropdown-menu {
  margin-top: -1px;
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}

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

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

.navbar {
  position: relative;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-pack: justify;
  justify-content: space-between;
  padding: .5rem 1rem;
}

.navbar>.container,
.navbar>.container-fluid {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

.navbar-nav {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
  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-collapse {
  -ms-flex-preferred-size: 100%;
  flex-basis: 100%;
  -ms-flex-positive: 1;
  flex-grow: 1;
  -ms-flex-align: center;
  align-items: center;
}

.navbar-toggler {
  padding: .25rem .75rem;
  font-size: 1.25rem;
  line-height: 1;
  background-color: transparent;
  border: 1px solid transparent;
  border-radius: .25rem;
}

.navbar-toggler:focus,
.navbar-toggler:hover {
  text-decoration: none;
}

.navbar-toggler:not(:disabled):not(.disabled) {
  cursor: pointer;
}

.card {
  position: relative;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
  flex-direction: column;
  min-width: 0;
  word-wrap: break-word;
  background-color: #fff;
  background-clip: border-box;
  border: 1px solid rgba(0, 0, 0, .125);
  border-radius: var(--rb-radius);
}

.card>hr {
  margin-right: 0;
  margin-left: 0;
}

.card>.list-group:first-child .list-group-item:first-child {
  border-top-left-radius: var(--rb-radius-tl);
  border-top-right-radius: var(--rb-radius-tr);
}

.card>.list-group:last-child .list-group-item:last-child {
  border-bottom-right-radius: var(--rb-radius-br);
  border-bottom-left-radius: var(--rb-radius-bl);
}

.accordion .card {
  overflow: hidden;
}

.accordion .card:not(:first-of-type):not(:last-of-type) {
  border-bottom: 0;
  border-radius: 0;
}

.accordion .card:first-of-type {
  border-bottom: 0;
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
}

.accordion .card:last-of-type {
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}

.breadcrumb {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  padding: .75rem 1rem;
  margin-bottom: 1rem;
  list-style: none;
  background-color: #e9ecef;
  border-radius: var(--rb-radius);
}

.pagination {
  display: -ms-flexbox;
  display: flex;
  padding-left: 0;
  list-style: none;
  border-radius: var(--rb-radius);
}

.badge {
  display: inline-block;
  padding: .25em .4em;
  font-size: 75%;
  font-weight: 700;
  line-height: 1;
  text-align: center;
  white-space: nowrap;
  vertical-align: baseline;
  border-radius: var(--rb-radius);
}

a.badge:focus,
a.badge:hover {
  text-decoration: none;
}

.badge:empty {
  display: none;
}

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

.alert {
  position: relative;
  padding: .75rem 1.25rem;
  margin-bottom: 1rem;
  border: 1px solid transparent;
  border-radius: var(--rb-radius);
}

.alert-danger {
  color: #721c24;
  background-color: #f8d7da;
  border-color: #f5c6cb;
}

.alert-danger hr {
  border-top-color: #f1b0b7;
}

@-webkit-keyframes progress-bar-stripes {
  from {
    background-position: 1rem 0;
  }

  to {
    background-position: 0 0;
  }
}

@keyframes progress-bar-stripes {
  from {
    background-position: 1rem 0;
  }

  to {
    background-position: 0 0;
  }
}

.progress {
  display: -ms-flexbox;
  display: flex;
  height: 1rem;
  overflow: hidden;
  font-size: .75rem;
  background-color: #e9ecef;
  border-radius: var(--rb-radius);
}

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

.list-group {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
  flex-direction: column;
  padding-left: 0;
  margin-bottom: 0;
}

.list-group-item {
  position: relative;
  display: block;
  padding: .75rem 1.25rem;
  margin-bottom: -1px;
  background-color: #fff;
  border: 1px solid rgba(0, 0, 0, .125);
}

.list-group-item:first-child {
  border-top-left-radius: var(--rb-radius-tl);
  border-top-right-radius: var(--rb-radius-tr);
}

.list-group-item:last-child {
  margin-bottom: 0;
  border-bottom-right-radius: var(--rb-radius-br);
  border-bottom-left-radius: var(--rb-radius-bl);
}

.list-group-item:focus,
.list-group-item:hover {
  z-index: 1;
  text-decoration: none;
}

.list-group-item.disabled,
.list-group-item:disabled {
  color: #6c757d;
  pointer-events: none;
  background-color: #fff;
}

.list-group-item.active {
  z-index: 2;
  color: #fff;
  background-color: var(--rb-blue);
  border-color: var(--rb-blue);
}

.close {
  float: right;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1;
  color: #000;
  text-shadow: 0 1px 0 #fff;
  opacity: .5;
}

.close:hover {
  color: #000;
  text-decoration: none;
}

.close:not(:disabled):not(.disabled) {
  cursor: pointer;
}

.close:not(:disabled):not(.disabled):focus,
.close:not(:disabled):not(.disabled):hover {
  opacity: .75;
}

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

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

.toast {
  max-width: 350px;
  overflow: hidden;
  font-size: .875rem;
  background-color: rgba(255, 255, 255, .85);
  background-clip: padding-box;
  border: 1px solid rgba(0, 0, 0, .1);
  border-radius: var(--rb-radius);
  box-shadow: 0 .25rem .75rem rgba(0, 0, 0, .1);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  opacity: 0;
}

.toast:not(:last-child) {
  margin-bottom: .75rem;
}

.toast.showing {
  opacity: 1;
}

.toast.show {
  display: block;
  opacity: 1;
}

.toast.hide {
  display: none;
}

.toast-header {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
  align-items: center;
  padding: .25rem .75rem;
  color: #6c757d;
  background-color: rgba(255, 255, 255, .85);
  background-clip: padding-box;
  border-bottom: 1px solid rgba(0, 0, 0, .05);
}

.toast-body {
  padding: .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: .5rem;
  pointer-events: none;
}

.modal.fade .modal-dialog {
  transition: -webkit-transform .3s ease-out;
  transition: transform .3s ease-out;
  transition: transform .3s ease-out, -webkit-transform .3s ease-out;
  -webkit-transform: translate(0, -50px);
  transform: translate(0, -50px);
}

@media screen and (prefers-reduced-motion:reduce) {
  .modal.fade .modal-dialog {
    transition: none;
  }
}

.modal.show .modal-dialog {
  -webkit-transform: none;
  transform: none;
}

.modal-dialog-centered {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
  align-items: center;
  min-height: calc(100% - (.5rem * 2));
}

.modal-dialog-centered::before {
  display: block;
  height: calc(100vh - (.5rem * 2));
  content: "";
}

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

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

.modal-backdrop.fade {
  opacity: 0;
}

.modal-backdrop.show {
  opacity: .5;
}

.modal-header {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: start;
  align-items: flex-start;
  -ms-flex-pack: justify;
  justify-content: space-between;
  padding: 1rem 1rem;
  border-bottom: 1px solid #e9ecef;
  border-top-left-radius: var(--rb-radius-tl);
  border-top-right-radius: var(--rb-radius-tr);
}

.modal-header .close {
  padding: 1rem 1rem;
  margin: -1rem -1rem -1rem auto;
}

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

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

.modal-footer {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-pack: end;
  justify-content: flex-end;
  padding: 1rem;
  border-top: 1px solid #e9ecef;
  border-bottom-right-radius: var(--rb-radius-br);
  border-bottom-left-radius: var(--rb-radius-bl);
}

.modal-footer>:not(:first-child) {
  margin-left: .25rem;
}

.modal-footer>:not(:last-child) {
  margin-right: .25rem;
}

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

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

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

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

  .modal-sm {
    max-width: 300px;
  }
}

@media (min-width:992px) {

  .modal-lg,
  .modal-xl {
    max-width: 800px;
  }
}

@media (min-width:1200px) {
  .modal-xl {
    max-width: 1140px;
  }
}

.tooltip {
  position: absolute;
  z-index: 1070;
  display: block;
  margin: 0;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  font-style: normal;
  font-weight: 400;
  line-height: 1.5;
  text-align: left;
  text-align: start;
  text-decoration: none;
  text-shadow: none;
  text-transform: none;
  letter-spacing: normal;
  word-break: normal;
  word-spacing: normal;
  white-space: normal;
  line-break: auto;
  font-size: .875rem;
  word-wrap: break-word;
  opacity: 0;
}

.tooltip.show {
  opacity: .9;
}

.tooltip .arrow {
  position: absolute;
  display: block;
  width: .8rem;
  height: .4rem;
}

.tooltip .arrow::before {
  position: absolute;
  content: "";
  border-color: transparent;
  border-style: solid;
}

.bs-tooltip-auto[x-placement^=top],
.bs-tooltip-top {
  padding: .4rem 0;
}

.bs-tooltip-auto[x-placement^=top] .arrow,
.bs-tooltip-top .arrow {
  bottom: 0;
}

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

.bs-tooltip-auto[x-placement^=right],
.bs-tooltip-right {
  padding: 0 .4rem;
}

.bs-tooltip-auto[x-placement^=right] .arrow,
.bs-tooltip-right .arrow {
  left: 0;
  width: .4rem;
  height: .8rem;
}

.bs-tooltip-auto[x-placement^=right] .arrow::before,
.bs-tooltip-right .arrow::before {
  right: 0;
  border-width: .4rem .4rem .4rem 0;
  border-right-color: #000;
}

.bs-tooltip-auto[x-placement^=bottom],
.bs-tooltip-bottom {
  padding: .4rem 0;
}

.bs-tooltip-auto[x-placement^=bottom] .arrow,
.bs-tooltip-bottom .arrow {
  top: 0;
}

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

.bs-tooltip-auto[x-placement^=left],
.bs-tooltip-left {
  padding: 0 .4rem;
}

.bs-tooltip-auto[x-placement^=left] .arrow,
.bs-tooltip-left .arrow {
  right: 0;
  width: .4rem;
  height: .8rem;
}

.bs-tooltip-auto[x-placement^=left] .arrow::before,
.bs-tooltip-left .arrow::before {
  left: 0;
  border-width: .4rem 0 .4rem .4rem;
  border-left-color: #000;
}

.tooltip-inner {
  max-width: 200px;
  padding: .25rem .5rem;
  color: #fff;
  text-align: center;
  background-color: #000;
  border-radius: var(--rb-radius);
}

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

.popover .arrow {
  position: absolute;
  display: block;
  width: 1rem;
  height: .5rem;
  margin: 0 .3rem;
}

.popover .arrow::after,
.popover .arrow::before {
  position: absolute;
  display: block;
  content: "";
  border-color: transparent;
  border-style: solid;
}

.bs-popover-auto[x-placement^=top],
.bs-popover-top {
  margin-bottom: .5rem;
}

.bs-popover-auto[x-placement^=top] .arrow,
.bs-popover-top .arrow {
  bottom: calc((.5rem + 1px) * -1);
}

.bs-popover-auto[x-placement^=top] .arrow::after,
.bs-popover-auto[x-placement^=top] .arrow::before,
.bs-popover-top .arrow::after,
.bs-popover-top .arrow::before {
  border-width: .5rem .5rem 0;
}

.bs-popover-auto[x-placement^=top] .arrow::before,
.bs-popover-top .arrow::before {
  bottom: 0;
  border-top-color: rgba(0, 0, 0, .25);
}

.bs-popover-auto[x-placement^=top] .arrow::after,
.bs-popover-top .arrow::after {
  bottom: 1px;
  border-top-color: #fff;
}

.bs-popover-auto[x-placement^=right],
.bs-popover-right {
  margin-left: .5rem;
}

.bs-popover-auto[x-placement^=right] .arrow,
.bs-popover-right .arrow {
  left: calc((.5rem + 1px) * -1);
  width: .5rem;
  height: 1rem;
  margin: .3rem 0;
}

.bs-popover-auto[x-placement^=right] .arrow::after,
.bs-popover-auto[x-placement^=right] .arrow::before,
.bs-popover-right .arrow::after,
.bs-popover-right .arrow::before {
  border-width: .5rem .5rem .5rem 0;
}

.bs-popover-auto[x-placement^=right] .arrow::before,
.bs-popover-right .arrow::before {
  left: 0;
  border-right-color: rgba(0, 0, 0, .25);
}

.bs-popover-auto[x-placement^=right] .arrow::after,
.bs-popover-right .arrow::after {
  left: 1px;
  border-right-color: #fff;
}

.bs-popover-auto[x-placement^=bottom],
.bs-popover-bottom {
  margin-top: .5rem;
}

.bs-popover-auto[x-placement^=bottom] .arrow,
.bs-popover-bottom .arrow {
  top: calc((.5rem + 1px) * -1);
}

.bs-popover-auto[x-placement^=bottom] .arrow::after,
.bs-popover-auto[x-placement^=bottom] .arrow::before,
.bs-popover-bottom .arrow::after,
.bs-popover-bottom .arrow::before {
  border-width: 0 .5rem .5rem .5rem;
}

.bs-popover-auto[x-placement^=bottom] .arrow::before,
.bs-popover-bottom .arrow::before {
  top: 0;
  border-bottom-color: rgba(0, 0, 0, .25);
}

.bs-popover-auto[x-placement^=bottom] .arrow::after,
.bs-popover-bottom .arrow::after {
  top: 1px;
  border-bottom-color: #fff;
}

.bs-popover-auto[x-placement^=bottom] .popover-header::before,
.bs-popover-bottom .popover-header::before {
  position: absolute;
  top: 0;
  left: 50%;
  display: block;
  width: 1rem;
  margin-left: -.5rem;
  content: "";
  border-bottom: 1px solid #f7f7f7;
}

.bs-popover-auto[x-placement^=left],
.bs-popover-left {
  margin-right: .5rem;
}

.bs-popover-auto[x-placement^=left] .arrow,
.bs-popover-left .arrow {
  right: calc((.5rem + 1px) * -1);
  width: .5rem;
  height: 1rem;
  margin: .3rem 0;
}

.bs-popover-auto[x-placement^=left] .arrow::after,
.bs-popover-auto[x-placement^=left] .arrow::before,
.bs-popover-left .arrow::after,
.bs-popover-left .arrow::before {
  border-width: .5rem 0 .5rem .5rem;
}

.bs-popover-auto[x-placement^=left] .arrow::before,
.bs-popover-left .arrow::before {
  right: 0;
  border-left-color: rgba(0, 0, 0, .25);
}

.bs-popover-auto[x-placement^=left] .arrow::after,
.bs-popover-left .arrow::after {
  right: 1px;
  border-left-color: #fff;
}

.popover-header {
  padding: .5rem .75rem;
  margin-bottom: 0;
  font-size: 1rem;
  color: inherit;
  background-color: #f7f7f7;
  border-bottom: 1px solid #ebebeb;
  border-top-left-radius: var(--rb-radius-tl);
  border-top-right-radius: var(--rb-radius-tr);
}

.popover-header:empty {
  display: none;
}

.popover-body {
  padding: .5rem .75rem;
  color: #212529;
}

.carousel {
  position: relative;
}

.carousel.pointer-event {
  -ms-touch-action: pan-y;
  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%;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  transition: -webkit-transform .6s ease-in-out;
  transition: transform .6s ease-in-out;
  transition: transform .6s ease-in-out, -webkit-transform .6s ease-in-out;
}

@media screen and (prefers-reduced-motion:reduce) {
  .carousel-item {
    transition: none;
  }
}

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

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

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

.carousel-fade .carousel-item {
  opacity: 0;
  transition-property: opacity;
  -webkit-transform: none;
  transform: none;
}

.carousel-fade .carousel-item-next.carousel-item-left,
.carousel-fade .carousel-item-prev.carousel-item-right,
.carousel-fade .carousel-item.active {
  z-index: 1;
  opacity: 1;
}

.carousel-fade .active.carousel-item-left,
.carousel-fade .active.carousel-item-right {
  z-index: 0;
  opacity: 0;
  transition: 0s .6s opacity;
}

@media screen and (prefers-reduced-motion:reduce) {

  .carousel-fade .active.carousel-item-left,
  .carousel-fade .active.carousel-item-right {
    transition: none;
  }
}

.carousel-control-next,
.carousel-control-prev {
  position: absolute;
  top: 0;
  bottom: 0;
  z-index: 1;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: 15%;
  color: #fff;
  text-align: center;
  opacity: .5;
  transition: opacity .15s ease;
}

@media screen and (prefers-reduced-motion:reduce) {

  .carousel-control-next,
  .carousel-control-prev {
    transition: none;
  }
}

.carousel-control-next:focus,
.carousel-control-next:hover,
.carousel-control-prev:focus,
.carousel-control-prev:hover {
  color: #fff;
  text-decoration: none;
  outline: 0;
  opacity: .9;
}

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

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

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

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

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

.carousel-indicators {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 15;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
  justify-content: center;
  padding-left: 0;
  margin-right: 15%;
  margin-left: 15%;
  list-style: none;
}

.carousel-indicators li {
  box-sizing: content-box;
  -ms-flex: 0 1 auto;
  flex: 0 1 auto;
  width: 30px;
  height: 3px;
  margin-right: 3px;
  margin-left: 3px;
  text-indent: -999px;
  cursor: pointer;
  background-color: #fff;
  background-clip: padding-box;
  border-top: 10px solid transparent;
  border-bottom: 10px solid transparent;
  opacity: .5;
  transition: opacity .6s ease;
}

@media screen and (prefers-reduced-motion:reduce) {
  .carousel-indicators li {
    transition: none;
  }
}

.carousel-indicators .active {
  opacity: 1;
}

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

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

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

@-webkit-keyframes spinner-grow {
  0% {
    -webkit-transform: scale(0);
    transform: scale(0);
  }

  50% {
    opacity: 1;
  }
}

@keyframes spinner-grow {
  0% {
    -webkit-transform: scale(0);
    transform: scale(0);
  }

  50% {
    opacity: 1;
  }
}

.align-middle {
  vertical-align: middle !important;
}

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

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

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

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

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

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

.rounded {
  border-radius: var(--rb-radius);
}

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

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

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

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

.d-flex {
  display: -ms-flexbox !important;
  display: flex !important;
}

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

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

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

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

.flex-column {
  -ms-flex-direction: column !important;
  flex-direction: column !important;
}

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

.justify-content-center {
  -ms-flex-pack: center !important;
  justify-content: center !important;
}

.justify-content-between {
  -ms-flex-pack: justify !important;
  justify-content: space-between !important;
}

.align-items-start {
  -ms-flex-align: start !important;
  align-items: flex-start !important;
}

.align-items-center {
  -ms-flex-align: center !important;
  align-items: center !important;
}

@media (min-width:768px) {
  .flex-md-row {
    -ms-flex-direction: row !important;
    flex-direction: row !important;
  }
}

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

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

.position-sticky {
  position: -webkit-sticky !important;
  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:-webkit-sticky) or (position:sticky)) {
  .sticky-top {
    position: -webkit-sticky;
    position: sticky;
    top: 0;
    z-index: 1020;
  }
}

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

.shadow-sm {
  box-shadow: 0 .125rem .25rem rgba(0, 0, 0, .075) !important;
}

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

.w-25 {
  width: 25% !important;
}

.w-100 {
  width: 100% !important;
}

.h-100 {
  height: 100% !important;
}

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

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

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

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

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

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

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

.ml-2 {
  margin-left: .5rem !important;
}

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

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

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

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

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

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

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

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

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

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

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

.py-1 {
  padding-top: .25rem !important;
}

.py-1 {
  padding-bottom: .25rem !important;
}

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

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

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

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

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

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

@media (min-width:768px) {
  .mb-md-0 {
    margin-bottom: 0 !important;
  }
}

.text-justify {
  text-align: justify !important;
}

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

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

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

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

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

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

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

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

.visible {
  visibility: visible !important;
}

.invisible {
  visibility: hidden !important;
}

@media print {

  *,
  ::after,
  ::before {
    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;
  }

  blockquote,
  pre {
    border: 1px solid #adb5bd;
    page-break-inside: avoid;
  }

  thead {
    display: table-header-group;
  }

  img,
  tr {
    page-break-inside: avoid;
  }

  h2,
  h3,
  p {
    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 #000;
  }

  .table {
    border-collapse: collapse !important;
  }

  .table td,
  .table th {
    background-color: #fff !important;
  }

  .table-bordered td,
  .table-bordered th {
    border: 1px solid #dee2e6 !important;
  }

  .table-dark {
    color: inherit;
  }

  .table-dark tbody+tbody,
  .table-dark td,
  .table-dark th,
  .table-dark thead th {
    border-color: #dee2e6;
  }
}


/* 03. FONT FACE: SWANSEA ======================================================================== */
@font-face {
  font-family: swansea;
  src: url("../fonts/Swansea/swansea-webfont.html") format('woff2'), url("../fonts/Swansea/swansea-webfont.woff") format('woff');
  font-weight: 400;
  font-style: normal;
}

@font-face {
  font-family: swansea;
  src: url("../fonts/Swansea/swansea_bold-webfont.html") format('woff2'), url("../fonts/Swansea/swansea_bold-webfont.woff") format('woff');
  font-weight: 700;
  font-style: normal;
}


/* 04. FONT FACE + ICONS: SKAPE ================================================================== */
@font-face {
  font-family: skape;
  src: url("../fonts/Skape/fonts/Skape3c13.eot?3bmeia");
  src: url("../fonts/Skape/fonts/Skape3c13.eot?3bmeia#iefix") format('embedded-opentype'), url("../fonts/Skape/fonts/Skape3c13.ttf?3bmeia") format('truetype'), url("../fonts/Skape/fonts/Skape3c13.woff?3bmeia") format('woff'), url("../fonts/Skape/fonts/Skape3c13.svg?3bmeia#Skape") format('svg');
  font-weight: 400;
  font-style: normal;
  font-display: block;
}

[class^=icon-],
[class*=" icon-"] {
  font-family: skape !important;
  speak: never;
  font-style: normal;
  font-weight: 400;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-page:before {
  content: "\e901";
}

.icon-clean:before {
  content: "\e922";
}

.icon-update:before {
  content: "\e923";
}

.icon-menu {
  font-size: 75%;
}

.icon-menu:before {
  content: "\e924";
}

.icon-time:before {
  content: "\e925";
}

.icon-heart-2:before {
  content: "\e900";
}

.icon-search-2:before {
  content: "\e921";
}

.icon-heart:before {
  content: "\e902";
}

.icon-quote:before {
  content: "\e903";
}

.icon-reply:before {
  content: "\e904";
}

.icon-search:before {
  content: "\e905";
}

.icon-corner-down-right:before {
  content: "\e906";
}

.icon-cross:before {
  content: "\e907";
}

.icon-plus:before {
  content: "\e908";
}

.icon-toolbox:before {
  content: "\e909";
}

.icon-star:before {
  content: "\e90a";
}

.icon-reward:before {
  content: "\e90b";
}

.icon-protactor:before {
  content: "\e90c";
}

.icon-play:before {
  content: "\e90d";
}

.icon-pin:before {
  content: "\e90e";
}

.icon-paint-bucket:before {
  content: "\e90f";
}

.icon-layers:before {
  content: "\e910";
}

.icon-image:before {
  content: "\e911";
}

.icon-helmet:before {
  content: "\e912";
}

.icon-grid:before {
  content: "\e913";
}

.icon-focus:before {
  content: "\e914";
}

.icon-envelope:before {
  content: "\e915";
}

.icon-drill:before {
  content: "\e916";
}

.icon-drawing-tools:before {
  content: "\e917";
}

.icon-check:before {
  content: "\e918";
}

.icon-case:before {
  content: "\e919";
}

.icon-camera:before {
  content: "\e91a";
}

.icon-box:before {
  content: "\e91b";
}

.icon-arrow-top-right:before {
  content: "\e91c";
}

.icon-arrow-right:before {
  content: "\e91d";
}

.icon-arrow-left:before {
  content: "\e91e";
}

.icon-arrow-down:before {
  content: "\e91f";
}

.icon-anchor:before {
  content: "\e920";
}


/* 05. FONT FACE + ICONS: SOCICON ================================================================ */
@font-face {
  font-family: socicon;
  src: url("../fonts/Socicons/Sociconb8b7.eot?484r1f");
  src: url("../fonts/Socicons/Sociconb8b7.eot?484r1f#iefix") format('embedded-opentype'), url("../fonts/Socicons/Sociconb8b7.html?484r1f") format('woff2'), url("../fonts/Socicons/Sociconb8b7.ttf?484r1f") format('truetype'), url("../fonts/Socicons/Sociconb8b7.woff?484r1f") format('woff'), url("../fonts/Socicons/Sociconb8b7.svg?484r1f#Socicon") format('svg');
  font-weight: 400;
  font-style: normal;
}


/* 06. THEME PLUGINS (MAGNIFIC POPUP, NICE SELECT, SWIPER SKIN, ...) ============================= */
/*!
 * animate.css - https://animate.style/
 * Version - 4.1.0
 * Licensed under the MIT license - http://opensource.org/licenses/MIT
 *
 * Copyright (c) 2020 Animate.css
 */
:root {
  --animate-duration: 700ms;
  --animate-delay: 0s;
  --animate-repeat: 1;
}

.animate__animated {
  -webkit-animation-delay: 1s;
  animation-delay: 1s;
  -webkit-animation-delay: var(--animate-delay);
  animation-delay: var(--animate-delay);
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-duration: var(--animate-duration);
  animation-duration: var(--animate-duration);
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
}

@media (prefers-reduced-motion:reduce),
print {
  .animate__animated {
    -webkit-animation-duration: 1ms !important;
    animation-duration: 1ms !important;
    -webkit-transition-duration: 1ms !important;
    transition-duration: 1ms !important;
    -webkit-animation-iteration-count: 1 !important;
    animation-iteration-count: 1 !important;
  }

  .animate__animated[class*=Out] {
    opacity: 0;
  }
}

@-webkit-keyframes bounce {

  0%,
  20%,
  53%,
  to {
    -webkit-animation-timing-function: cubic-bezier(.215, .61, .355, 1);
    animation-timing-function: cubic-bezier(.215, .61, .355, 1);
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
  }

  40%,
  43% {
    -webkit-animation-timing-function: cubic-bezier(.755, .05, .855, .06);
    animation-timing-function: cubic-bezier(.755, .05, .855, .06);
    -webkit-transform: translate3d(0, -30px, 0) scaleY(1.1);
    transform: translate3d(0, -30px, 0) scaleY(1.1);
  }

  70% {
    -webkit-animation-timing-function: cubic-bezier(.755, .05, .855, .06);
    animation-timing-function: cubic-bezier(.755, .05, .855, .06);
    -webkit-transform: translate3d(0, -15px, 0) scaleY(1.05);
    transform: translate3d(0, -15px, 0) scaleY(1.05);
  }

  80% {
    -webkit-transition-timing-function: cubic-bezier(.215, .61, .355, 1);
    transition-timing-function: cubic-bezier(.215, .61, .355, 1);
    -webkit-transform: translateZ(0) scaleY(.95);
    transform: translateZ(0) scaleY(.95);
  }

  90% {
    -webkit-transform: translate3d(0, -4px, 0) scaleY(1.02);
    transform: translate3d(0, -4px, 0) scaleY(1.02);
  }
}

@keyframes bounce {

  0%,
  20%,
  53%,
  to {
    -webkit-animation-timing-function: cubic-bezier(.215, .61, .355, 1);
    animation-timing-function: cubic-bezier(.215, .61, .355, 1);
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
  }

  40%,
  43% {
    -webkit-animation-timing-function: cubic-bezier(.755, .05, .855, .06);
    animation-timing-function: cubic-bezier(.755, .05, .855, .06);
    -webkit-transform: translate3d(0, -30px, 0) scaleY(1.1);
    transform: translate3d(0, -30px, 0) scaleY(1.1);
  }

  70% {
    -webkit-animation-timing-function: cubic-bezier(.755, .05, .855, .06);
    animation-timing-function: cubic-bezier(.755, .05, .855, .06);
    -webkit-transform: translate3d(0, -15px, 0) scaleY(1.05);
    transform: translate3d(0, -15px, 0) scaleY(1.05);
  }

  80% {
    -webkit-transition-timing-function: cubic-bezier(.215, .61, .355, 1);
    transition-timing-function: cubic-bezier(.215, .61, .355, 1);
    -webkit-transform: translateZ(0) scaleY(.95);
    transform: translateZ(0) scaleY(.95);
  }

  90% {
    -webkit-transform: translate3d(0, -4px, 0) scaleY(1.02);
    transform: translate3d(0, -4px, 0) scaleY(1.02);
  }
}

@-webkit-keyframes flash {

  0%,
  50%,
  to {
    opacity: 1;
  }

  25%,
  75% {
    opacity: 0;
  }
}

@keyframes flash {

  0%,
  50%,
  to {
    opacity: 1;
  }

  25%,
  75% {
    opacity: 0;
  }
}

@-webkit-keyframes pulse {
  0% {
    -webkit-transform: scaleX(1);
    transform: scaleX(1);
  }

  50% {
    -webkit-transform: scale3d(1.05, 1.05, 1.05);
    transform: scale3d(1.05, 1.05, 1.05);
  }

  to {
    -webkit-transform: scaleX(1);
    transform: scaleX(1);
  }
}

@keyframes pulse {
  0% {
    -webkit-transform: scaleX(1);
    transform: scaleX(1);
  }

  50% {
    -webkit-transform: scale3d(1.05, 1.05, 1.05);
    transform: scale3d(1.05, 1.05, 1.05);
  }

  to {
    -webkit-transform: scaleX(1);
    transform: scaleX(1);
  }
}

@-webkit-keyframes rubberBand {
  0% {
    -webkit-transform: scaleX(1);
    transform: scaleX(1);
  }

  30% {
    -webkit-transform: scale3d(1.25, .75, 1);
    transform: scale3d(1.25, .75, 1);
  }

  40% {
    -webkit-transform: scale3d(.75, 1.25, 1);
    transform: scale3d(.75, 1.25, 1);
  }

  50% {
    -webkit-transform: scale3d(1.15, .85, 1);
    transform: scale3d(1.15, .85, 1);
  }

  65% {
    -webkit-transform: scale3d(.95, 1.05, 1);
    transform: scale3d(.95, 1.05, 1);
  }

  75% {
    -webkit-transform: scale3d(1.05, .95, 1);
    transform: scale3d(1.05, .95, 1);
  }

  to {
    -webkit-transform: scaleX(1);
    transform: scaleX(1);
  }
}

@keyframes rubberBand {
  0% {
    -webkit-transform: scaleX(1);
    transform: scaleX(1);
  }

  30% {
    -webkit-transform: scale3d(1.25, .75, 1);
    transform: scale3d(1.25, .75, 1);
  }

  40% {
    -webkit-transform: scale3d(.75, 1.25, 1);
    transform: scale3d(.75, 1.25, 1);
  }

  50% {
    -webkit-transform: scale3d(1.15, .85, 1);
    transform: scale3d(1.15, .85, 1);
  }

  65% {
    -webkit-transform: scale3d(.95, 1.05, 1);
    transform: scale3d(.95, 1.05, 1);
  }

  75% {
    -webkit-transform: scale3d(1.05, .95, 1);
    transform: scale3d(1.05, .95, 1);
  }

  to {
    -webkit-transform: scaleX(1);
    transform: scaleX(1);
  }
}

@-webkit-keyframes shakeX {

  0%,
  to {
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
  }

  10%,
  30%,
  50%,
  70%,
  90% {
    -webkit-transform: translate3d(-10px, 0, 0);
    transform: translate3d(-10px, 0, 0);
  }

  20%,
  40%,
  60%,
  80% {
    -webkit-transform: translate3d(10px, 0, 0);
    transform: translate3d(10px, 0, 0);
  }
}

@keyframes shakeX {

  0%,
  to {
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
  }

  10%,
  30%,
  50%,
  70%,
  90% {
    -webkit-transform: translate3d(-10px, 0, 0);
    transform: translate3d(-10px, 0, 0);
  }

  20%,
  40%,
  60%,
  80% {
    -webkit-transform: translate3d(10px, 0, 0);
    transform: translate3d(10px, 0, 0);
  }
}

@-webkit-keyframes shakeY {

  0%,
  to {
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
  }

  10%,
  30%,
  50%,
  70%,
  90% {
    -webkit-transform: translate3d(0, -10px, 0);
    transform: translate3d(0, -10px, 0);
  }

  20%,
  40%,
  60%,
  80% {
    -webkit-transform: translate3d(0, 10px, 0);
    transform: translate3d(0, 10px, 0);
  }
}

@keyframes shakeY {

  0%,
  to {
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
  }

  10%,
  30%,
  50%,
  70%,
  90% {
    -webkit-transform: translate3d(0, -10px, 0);
    transform: translate3d(0, -10px, 0);
  }

  20%,
  40%,
  60%,
  80% {
    -webkit-transform: translate3d(0, 10px, 0);
    transform: translate3d(0, 10px, 0);
  }
}

@-webkit-keyframes headShake {
  0% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }

  6.5% {
    -webkit-transform: translateX(-6px) rotateY(-9deg);
    transform: translateX(-6px) rotateY(-9deg);
  }

  18.5% {
    -webkit-transform: translateX(5px) rotateY(7deg);
    transform: translateX(5px) rotateY(7deg);
  }

  31.5% {
    -webkit-transform: translateX(-3px) rotateY(-5deg);
    transform: translateX(-3px) rotateY(-5deg);
  }

  43.5% {
    -webkit-transform: translateX(2px) rotateY(3deg);
    transform: translateX(2px) rotateY(3deg);
  }

  50% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
}

@keyframes headShake {
  0% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }

  6.5% {
    -webkit-transform: translateX(-6px) rotateY(-9deg);
    transform: translateX(-6px) rotateY(-9deg);
  }

  18.5% {
    -webkit-transform: translateX(5px) rotateY(7deg);
    transform: translateX(5px) rotateY(7deg);
  }

  31.5% {
    -webkit-transform: translateX(-3px) rotateY(-5deg);
    transform: translateX(-3px) rotateY(-5deg);
  }

  43.5% {
    -webkit-transform: translateX(2px) rotateY(3deg);
    transform: translateX(2px) rotateY(3deg);
  }

  50% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
}

@-webkit-keyframes swing {
  20% {
    -webkit-transform: rotate(15deg);
    transform: rotate(15deg);
  }

  40% {
    -webkit-transform: rotate(-10deg);
    transform: rotate(-10deg);
  }

  60% {
    -webkit-transform: rotate(5deg);
    transform: rotate(5deg);
  }

  80% {
    -webkit-transform: rotate(-5deg);
    transform: rotate(-5deg);
  }

  to {
    -webkit-transform: rotate(0);
    transform: rotate(0);
  }
}

@keyframes swing {
  20% {
    -webkit-transform: rotate(15deg);
    transform: rotate(15deg);
  }

  40% {
    -webkit-transform: rotate(-10deg);
    transform: rotate(-10deg);
  }

  60% {
    -webkit-transform: rotate(5deg);
    transform: rotate(5deg);
  }

  80% {
    -webkit-transform: rotate(-5deg);
    transform: rotate(-5deg);
  }

  to {
    -webkit-transform: rotate(0);
    transform: rotate(0);
  }
}

@-webkit-keyframes tada {
  0% {
    -webkit-transform: scaleX(1);
    transform: scaleX(1);
  }

  10%,
  20% {
    -webkit-transform: scale3d(.9, .9, .9) rotate(-3deg);
    transform: scale3d(.9, .9, .9) rotate(-3deg);
  }

  30%,
  50%,
  70%,
  90% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate(3deg);
    transform: scale3d(1.1, 1.1, 1.1) rotate(3deg);
  }

  40%,
  60%,
  80% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate(-3deg);
    transform: scale3d(1.1, 1.1, 1.1) rotate(-3deg);
  }

  to {
    -webkit-transform: scaleX(1);
    transform: scaleX(1);
  }
}

@keyframes tada {
  0% {
    -webkit-transform: scaleX(1);
    transform: scaleX(1);
  }

  10%,
  20% {
    -webkit-transform: scale3d(.9, .9, .9) rotate(-3deg);
    transform: scale3d(.9, .9, .9) rotate(-3deg);
  }

  30%,
  50%,
  70%,
  90% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate(3deg);
    transform: scale3d(1.1, 1.1, 1.1) rotate(3deg);
  }

  40%,
  60%,
  80% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate(-3deg);
    transform: scale3d(1.1, 1.1, 1.1) rotate(-3deg);
  }

  to {
    -webkit-transform: scaleX(1);
    transform: scaleX(1);
  }
}

@-webkit-keyframes wobble {
  0% {
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
  }

  15% {
    -webkit-transform: translate3d(-25%, 0, 0) rotate(-5deg);
    transform: translate3d(-25%, 0, 0) rotate(-5deg);
  }

  30% {
    -webkit-transform: translate3d(20%, 0, 0) rotate(3deg);
    transform: translate3d(20%, 0, 0) rotate(3deg);
  }

  45% {
    -webkit-transform: translate3d(-15%, 0, 0) rotate(-3deg);
    transform: translate3d(-15%, 0, 0) rotate(-3deg);
  }

  60% {
    -webkit-transform: translate3d(10%, 0, 0) rotate(2deg);
    transform: translate3d(10%, 0, 0) rotate(2deg);
  }

  75% {
    -webkit-transform: translate3d(-5%, 0, 0) rotate(-1deg);
    transform: translate3d(-5%, 0, 0) rotate(-1deg);
  }

  to {
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
  }
}

@keyframes wobble {
  0% {
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
  }

  15% {
    -webkit-transform: translate3d(-25%, 0, 0) rotate(-5deg);
    transform: translate3d(-25%, 0, 0) rotate(-5deg);
  }

  30% {
    -webkit-transform: translate3d(20%, 0, 0) rotate(3deg);
    transform: translate3d(20%, 0, 0) rotate(3deg);
  }

  45% {
    -webkit-transform: translate3d(-15%, 0, 0) rotate(-3deg);
    transform: translate3d(-15%, 0, 0) rotate(-3deg);
  }

  60% {
    -webkit-transform: translate3d(10%, 0, 0) rotate(2deg);
    transform: translate3d(10%, 0, 0) rotate(2deg);
  }

  75% {
    -webkit-transform: translate3d(-5%, 0, 0) rotate(-1deg);
    transform: translate3d(-5%, 0, 0) rotate(-1deg);
  }

  to {
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
  }
}

@-webkit-keyframes jello {

  0%,
  11.1%,
  to {
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
  }

  22.2% {
    -webkit-transform: skewX(-12.5deg) skewY(-12.5deg);
    transform: skewX(-12.5deg) skewY(-12.5deg);
  }

  33.3% {
    -webkit-transform: skewX(6.25deg) skewY(6.25deg);
    transform: skewX(6.25deg) skewY(6.25deg);
  }

  44.4% {
    -webkit-transform: skewX(-3.125deg) skewY(-3.125deg);
    transform: skewX(-3.125deg) skewY(-3.125deg);
  }

  55.5% {
    -webkit-transform: skewX(1.5625deg) skewY(1.5625deg);
    transform: skewX(1.5625deg) skewY(1.5625deg);
  }

  66.6% {
    -webkit-transform: skewX(-.78125deg) skewY(-.78125deg);
    transform: skewX(-.78125deg) skewY(-.78125deg);
  }

  77.7% {
    -webkit-transform: skewX(.390625deg) skewY(.390625deg);
    transform: skewX(.390625deg) skewY(.390625deg);
  }

  88.8% {
    -webkit-transform: skewX(-.1953125deg) skewY(-.1953125deg);
    transform: skewX(-.1953125deg) skewY(-.1953125deg);
  }
}

@keyframes jello {

  0%,
  11.1%,
  to {
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
  }

  22.2% {
    -webkit-transform: skewX(-12.5deg) skewY(-12.5deg);
    transform: skewX(-12.5deg) skewY(-12.5deg);
  }

  33.3% {
    -webkit-transform: skewX(6.25deg) skewY(6.25deg);
    transform: skewX(6.25deg) skewY(6.25deg);
  }

  44.4% {
    -webkit-transform: skewX(-3.125deg) skewY(-3.125deg);
    transform: skewX(-3.125deg) skewY(-3.125deg);
  }

  55.5% {
    -webkit-transform: skewX(1.5625deg) skewY(1.5625deg);
    transform: skewX(1.5625deg) skewY(1.5625deg);
  }

  66.6% {
    -webkit-transform: skewX(-.78125deg) skewY(-.78125deg);
    transform: skewX(-.78125deg) skewY(-.78125deg);
  }

  77.7% {
    -webkit-transform: skewX(.390625deg) skewY(.390625deg);
    transform: skewX(.390625deg) skewY(.390625deg);
  }

  88.8% {
    -webkit-transform: skewX(-.1953125deg) skewY(-.1953125deg);
    transform: skewX(-.1953125deg) skewY(-.1953125deg);
  }
}

@-webkit-keyframes heartBeat {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }

  14% {
    -webkit-transform: scale(1.3);
    transform: scale(1.3);
  }

  28% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }

  42% {
    -webkit-transform: scale(1.3);
    transform: scale(1.3);
  }

  70% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}

@keyframes heartBeat {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }

  14% {
    -webkit-transform: scale(1.3);
    transform: scale(1.3);
  }

  28% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }

  42% {
    -webkit-transform: scale(1.3);
    transform: scale(1.3);
  }

  70% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}

@-webkit-keyframes backInDown {
  0% {
    -webkit-transform: translateY(-1200px) scale(.7);
    transform: translateY(-1200px) scale(.7);
    opacity: .7;
  }

  80% {
    -webkit-transform: translateY(0) scale(.7);
    transform: translateY(0) scale(.7);
    opacity: .7;
  }

  to {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1;
  }
}

@keyframes backInDown {
  0% {
    -webkit-transform: translateY(-1200px) scale(.7);
    transform: translateY(-1200px) scale(.7);
    opacity: .7;
  }

  80% {
    -webkit-transform: translateY(0) scale(.7);
    transform: translateY(0) scale(.7);
    opacity: .7;
  }

  to {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1;
  }
}

@-webkit-keyframes backInLeft {
  0% {
    -webkit-transform: translateX(-2000px) scale(.7);
    transform: translateX(-2000px) scale(.7);
    opacity: .7;
  }

  80% {
    -webkit-transform: translateX(0) scale(.7);
    transform: translateX(0) scale(.7);
    opacity: .7;
  }

  to {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1;
  }
}

@keyframes backInLeft {
  0% {
    -webkit-transform: translateX(-2000px) scale(.7);
    transform: translateX(-2000px) scale(.7);
    opacity: .7;
  }

  80% {
    -webkit-transform: translateX(0) scale(.7);
    transform: translateX(0) scale(.7);
    opacity: .7;
  }

  to {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1;
  }
}

@-webkit-keyframes backInRight {
  0% {
    -webkit-transform: translateX(2000px) scale(.7);
    transform: translateX(2000px) scale(.7);
    opacity: .7;
  }

  80% {
    -webkit-transform: translateX(0) scale(.7);
    transform: translateX(0) scale(.7);
    opacity: .7;
  }

  to {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1;
  }
}

@keyframes backInRight {
  0% {
    -webkit-transform: translateX(2000px) scale(.7);
    transform: translateX(2000px) scale(.7);
    opacity: .7;
  }

  80% {
    -webkit-transform: translateX(0) scale(.7);
    transform: translateX(0) scale(.7);
    opacity: .7;
  }

  to {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1;
  }
}

@-webkit-keyframes backInUp {
  0% {
    -webkit-transform: translateY(1200px) scale(.7);
    transform: translateY(1200px) scale(.7);
    opacity: .7;
  }

  80% {
    -webkit-transform: translateY(0) scale(.7);
    transform: translateY(0) scale(.7);
    opacity: .7;
  }

  to {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1;
  }
}

@keyframes backInUp {
  0% {
    -webkit-transform: translateY(1200px) scale(.7);
    transform: translateY(1200px) scale(.7);
    opacity: .7;
  }

  80% {
    -webkit-transform: translateY(0) scale(.7);
    transform: translateY(0) scale(.7);
    opacity: .7;
  }

  to {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1;
  }
}

@-webkit-keyframes backOutDown {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1;
  }

  20% {
    -webkit-transform: translateY(0) scale(.7);
    transform: translateY(0) scale(.7);
    opacity: .7;
  }

  to {
    -webkit-transform: translateY(700px) scale(.7);
    transform: translateY(700px) scale(.7);
    opacity: .7;
  }
}

@keyframes backOutDown {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1;
  }

  20% {
    -webkit-transform: translateY(0) scale(.7);
    transform: translateY(0) scale(.7);
    opacity: .7;
  }

  to {
    -webkit-transform: translateY(700px) scale(.7);
    transform: translateY(700px) scale(.7);
    opacity: .7;
  }
}

@-webkit-keyframes backOutLeft {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1;
  }

  20% {
    -webkit-transform: translateX(0) scale(.7);
    transform: translateX(0) scale(.7);
    opacity: .7;
  }

  to {
    -webkit-transform: translateX(-2000px) scale(.7);
    transform: translateX(-2000px) scale(.7);
    opacity: .7;
  }
}

@keyframes backOutLeft {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1;
  }

  20% {
    -webkit-transform: translateX(0) scale(.7);
    transform: translateX(0) scale(.7);
    opacity: .7;
  }

  to {
    -webkit-transform: translateX(-2000px) scale(.7);
    transform: translateX(-2000px) scale(.7);
    opacity: .7;
  }
}

@-webkit-keyframes backOutRight {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1;
  }

  20% {
    -webkit-transform: translateX(0) scale(.7);
    transform: translateX(0) scale(.7);
    opacity: .7;
  }

  to {
    -webkit-transform: translateX(2000px) scale(.7);
    transform: translateX(2000px) scale(.7);
    opacity: .7;
  }
}

@keyframes backOutRight {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1;
  }

  20% {
    -webkit-transform: translateX(0) scale(.7);
    transform: translateX(0) scale(.7);
    opacity: .7;
  }

  to {
    -webkit-transform: translateX(2000px) scale(.7);
    transform: translateX(2000px) scale(.7);
    opacity: .7;
  }
}

@-webkit-keyframes backOutUp {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1;
  }

  20% {
    -webkit-transform: translateY(0) scale(.7);
    transform: translateY(0) scale(.7);
    opacity: .7;
  }

  to {
    -webkit-transform: translateY(-700px) scale(.7);
    transform: translateY(-700px) scale(.7);
    opacity: .7;
  }
}

@keyframes backOutUp {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1;
  }

  20% {
    -webkit-transform: translateY(0) scale(.7);
    transform: translateY(0) scale(.7);
    opacity: .7;
  }

  to {
    -webkit-transform: translateY(-700px) scale(.7);
    transform: translateY(-700px) scale(.7);
    opacity: .7;
  }
}

@-webkit-keyframes bounceIn {

  0%,
  20%,
  40%,
  60%,
  80%,
  to {
    -webkit-animation-timing-function: cubic-bezier(.215, .61, .355, 1);
    animation-timing-function: cubic-bezier(.215, .61, .355, 1);
  }

  0% {
    opacity: 0;
    -webkit-transform: scale3d(.3, .3, .3);
    transform: scale3d(.3, .3, .3);
  }

  20% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1);
    transform: scale3d(1.1, 1.1, 1.1);
  }

  40% {
    -webkit-transform: scale3d(.9, .9, .9);
    transform: scale3d(.9, .9, .9);
  }

  60% {
    opacity: 1;
    -webkit-transform: scale3d(1.03, 1.03, 1.03);
    transform: scale3d(1.03, 1.03, 1.03);
  }

  80% {
    -webkit-transform: scale3d(.97, .97, .97);
    transform: scale3d(.97, .97, .97);
  }

  to {
    opacity: 1;
    -webkit-transform: scaleX(1);
    transform: scaleX(1);
  }
}

@keyframes bounceIn {

  0%,
  20%,
  40%,
  60%,
  80%,
  to {
    -webkit-animation-timing-function: cubic-bezier(.215, .61, .355, 1);
    animation-timing-function: cubic-bezier(.215, .61, .355, 1);
  }

  0% {
    opacity: 0;
    -webkit-transform: scale3d(.3, .3, .3);
    transform: scale3d(.3, .3, .3);
  }

  20% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1);
    transform: scale3d(1.1, 1.1, 1.1);
  }

  40% {
    -webkit-transform: scale3d(.9, .9, .9);
    transform: scale3d(.9, .9, .9);
  }

  60% {
    opacity: 1;
    -webkit-transform: scale3d(1.03, 1.03, 1.03);
    transform: scale3d(1.03, 1.03, 1.03);
  }

  80% {
    -webkit-transform: scale3d(.97, .97, .97);
    transform: scale3d(.97, .97, .97);
  }

  to {
    opacity: 1;
    -webkit-transform: scaleX(1);
    transform: scaleX(1);
  }
}

@-webkit-keyframes bounceInDown {

  0%,
  60%,
  75%,
  90%,
  to {
    -webkit-animation-timing-function: cubic-bezier(.215, .61, .355, 1);
    animation-timing-function: cubic-bezier(.215, .61, .355, 1);
  }

  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, -3000px, 0) scaleY(3);
    transform: translate3d(0, -3000px, 0) scaleY(3);
  }

  60% {
    opacity: 1;
    -webkit-transform: translate3d(0, 25px, 0) scaleY(.9);
    transform: translate3d(0, 25px, 0) scaleY(.9);
  }

  75% {
    -webkit-transform: translate3d(0, -10px, 0) scaleY(.95);
    transform: translate3d(0, -10px, 0) scaleY(.95);
  }

  90% {
    -webkit-transform: translate3d(0, 5px, 0) scaleY(.985);
    transform: translate3d(0, 5px, 0) scaleY(.985);
  }

  to {
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
  }
}

@keyframes bounceInDown {

  0%,
  60%,
  75%,
  90%,
  to {
    -webkit-animation-timing-function: cubic-bezier(.215, .61, .355, 1);
    animation-timing-function: cubic-bezier(.215, .61, .355, 1);
  }

  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, -3000px, 0) scaleY(3);
    transform: translate3d(0, -3000px, 0) scaleY(3);
  }

  60% {
    opacity: 1;
    -webkit-transform: translate3d(0, 25px, 0) scaleY(.9);
    transform: translate3d(0, 25px, 0) scaleY(.9);
  }

  75% {
    -webkit-transform: translate3d(0, -10px, 0) scaleY(.95);
    transform: translate3d(0, -10px, 0) scaleY(.95);
  }

  90% {
    -webkit-transform: translate3d(0, 5px, 0) scaleY(.985);
    transform: translate3d(0, 5px, 0) scaleY(.985);
  }

  to {
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
  }
}

@-webkit-keyframes bounceInLeft {

  0%,
  60%,
  75%,
  90%,
  to {
    -webkit-animation-timing-function: cubic-bezier(.215, .61, .355, 1);
    animation-timing-function: cubic-bezier(.215, .61, .355, 1);
  }

  0% {
    opacity: 0;
    -webkit-transform: translate3d(-3000px, 0, 0) scaleX(3);
    transform: translate3d(-3000px, 0, 0) scaleX(3);
  }

  60% {
    opacity: 1;
    -webkit-transform: translate3d(25px, 0, 0) scaleX(1);
    transform: translate3d(25px, 0, 0) scaleX(1);
  }

  75% {
    -webkit-transform: translate3d(-10px, 0, 0) scaleX(.98);
    transform: translate3d(-10px, 0, 0) scaleX(.98);
  }

  90% {
    -webkit-transform: translate3d(5px, 0, 0) scaleX(.995);
    transform: translate3d(5px, 0, 0) scaleX(.995);
  }

  to {
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
  }
}

@keyframes bounceInLeft {

  0%,
  60%,
  75%,
  90%,
  to {
    -webkit-animation-timing-function: cubic-bezier(.215, .61, .355, 1);
    animation-timing-function: cubic-bezier(.215, .61, .355, 1);
  }

  0% {
    opacity: 0;
    -webkit-transform: translate3d(-3000px, 0, 0) scaleX(3);
    transform: translate3d(-3000px, 0, 0) scaleX(3);
  }

  60% {
    opacity: 1;
    -webkit-transform: translate3d(25px, 0, 0) scaleX(1);
    transform: translate3d(25px, 0, 0) scaleX(1);
  }

  75% {
    -webkit-transform: translate3d(-10px, 0, 0) scaleX(.98);
    transform: translate3d(-10px, 0, 0) scaleX(.98);
  }

  90% {
    -webkit-transform: translate3d(5px, 0, 0) scaleX(.995);
    transform: translate3d(5px, 0, 0) scaleX(.995);
  }

  to {
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
  }
}

@-webkit-keyframes bounceInRight {

  0%,
  60%,
  75%,
  90%,
  to {
    -webkit-animation-timing-function: cubic-bezier(.215, .61, .355, 1);
    animation-timing-function: cubic-bezier(.215, .61, .355, 1);
  }

  0% {
    opacity: 0;
    -webkit-transform: translate3d(3000px, 0, 0) scaleX(3);
    transform: translate3d(3000px, 0, 0) scaleX(3);
  }

  60% {
    opacity: 1;
    -webkit-transform: translate3d(-25px, 0, 0) scaleX(1);
    transform: translate3d(-25px, 0, 0) scaleX(1);
  }

  75% {
    -webkit-transform: translate3d(10px, 0, 0) scaleX(.98);
    transform: translate3d(10px, 0, 0) scaleX(.98);
  }

  90% {
    -webkit-transform: translate3d(-5px, 0, 0) scaleX(.995);
    transform: translate3d(-5px, 0, 0) scaleX(.995);
  }

  to {
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
  }
}

@keyframes bounceInRight {

  0%,
  60%,
  75%,
  90%,
  to {
    -webkit-animation-timing-function: cubic-bezier(.215, .61, .355, 1);
    animation-timing-function: cubic-bezier(.215, .61, .355, 1);
  }

  0% {
    opacity: 0;
    -webkit-transform: translate3d(3000px, 0, 0) scaleX(3);
    transform: translate3d(3000px, 0, 0) scaleX(3);
  }

  60% {
    opacity: 1;
    -webkit-transform: translate3d(-25px, 0, 0) scaleX(1);
    transform: translate3d(-25px, 0, 0) scaleX(1);
  }

  75% {
    -webkit-transform: translate3d(10px, 0, 0) scaleX(.98);
    transform: translate3d(10px, 0, 0) scaleX(.98);
  }

  90% {
    -webkit-transform: translate3d(-5px, 0, 0) scaleX(.995);
    transform: translate3d(-5px, 0, 0) scaleX(.995);
  }

  to {
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
  }
}

@-webkit-keyframes bounceInUp {

  0%,
  60%,
  75%,
  90%,
  to {
    -webkit-animation-timing-function: cubic-bezier(.215, .61, .355, 1);
    animation-timing-function: cubic-bezier(.215, .61, .355, 1);
  }

  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, 3000px, 0) scaleY(5);
    transform: translate3d(0, 3000px, 0) scaleY(5);
  }

  60% {
    opacity: 1;
    -webkit-transform: translate3d(0, -20px, 0) scaleY(.9);
    transform: translate3d(0, -20px, 0) scaleY(.9);
  }

  75% {
    -webkit-transform: translate3d(0, 10px, 0) scaleY(.95);
    transform: translate3d(0, 10px, 0) scaleY(.95);
  }

  90% {
    -webkit-transform: translate3d(0, -5px, 0) scaleY(.985);
    transform: translate3d(0, -5px, 0) scaleY(.985);
  }

  to {
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
  }
}

@keyframes bounceInUp {

  0%,
  60%,
  75%,
  90%,
  to {
    -webkit-animation-timing-function: cubic-bezier(.215, .61, .355, 1);
    animation-timing-function: cubic-bezier(.215, .61, .355, 1);
  }

  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, 3000px, 0) scaleY(5);
    transform: translate3d(0, 3000px, 0) scaleY(5);
  }

  60% {
    opacity: 1;
    -webkit-transform: translate3d(0, -20px, 0) scaleY(.9);
    transform: translate3d(0, -20px, 0) scaleY(.9);
  }

  75% {
    -webkit-transform: translate3d(0, 10px, 0) scaleY(.95);
    transform: translate3d(0, 10px, 0) scaleY(.95);
  }

  90% {
    -webkit-transform: translate3d(0, -5px, 0) scaleY(.985);
    transform: translate3d(0, -5px, 0) scaleY(.985);
  }

  to {
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
  }
}

@-webkit-keyframes bounceOut {
  20% {
    -webkit-transform: scale3d(.9, .9, .9);
    transform: scale3d(.9, .9, .9);
  }

  50%,
  55% {
    opacity: 1;
    -webkit-transform: scale3d(1.1, 1.1, 1.1);
    transform: scale3d(1.1, 1.1, 1.1);
  }

  to {
    opacity: 0;
    -webkit-transform: scale3d(.3, .3, .3);
    transform: scale3d(.3, .3, .3);
  }
}

@keyframes bounceOut {
  20% {
    -webkit-transform: scale3d(.9, .9, .9);
    transform: scale3d(.9, .9, .9);
  }

  50%,
  55% {
    opacity: 1;
    -webkit-transform: scale3d(1.1, 1.1, 1.1);
    transform: scale3d(1.1, 1.1, 1.1);
  }

  to {
    opacity: 0;
    -webkit-transform: scale3d(.3, .3, .3);
    transform: scale3d(.3, .3, .3);
  }
}

@-webkit-keyframes bounceOutDown {
  20% {
    -webkit-transform: translate3d(0, 10px, 0) scaleY(.985);
    transform: translate3d(0, 10px, 0) scaleY(.985);
  }

  40%,
  45% {
    opacity: 1;
    -webkit-transform: translate3d(0, -20px, 0) scaleY(.9);
    transform: translate3d(0, -20px, 0) scaleY(.9);
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0) scaleY(3);
    transform: translate3d(0, 2000px, 0) scaleY(3);
  }
}

@keyframes bounceOutDown {
  20% {
    -webkit-transform: translate3d(0, 10px, 0) scaleY(.985);
    transform: translate3d(0, 10px, 0) scaleY(.985);
  }

  40%,
  45% {
    opacity: 1;
    -webkit-transform: translate3d(0, -20px, 0) scaleY(.9);
    transform: translate3d(0, -20px, 0) scaleY(.9);
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0) scaleY(3);
    transform: translate3d(0, 2000px, 0) scaleY(3);
  }
}

@-webkit-keyframes bounceOutLeft {
  20% {
    opacity: 1;
    -webkit-transform: translate3d(20px, 0, 0) scaleX(.9);
    transform: translate3d(20px, 0, 0) scaleX(.9);
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0) scaleX(2);
    transform: translate3d(-2000px, 0, 0) scaleX(2);
  }
}

@keyframes bounceOutLeft {
  20% {
    opacity: 1;
    -webkit-transform: translate3d(20px, 0, 0) scaleX(.9);
    transform: translate3d(20px, 0, 0) scaleX(.9);
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0) scaleX(2);
    transform: translate3d(-2000px, 0, 0) scaleX(2);
  }
}

@-webkit-keyframes bounceOutRight {
  20% {
    opacity: 1;
    -webkit-transform: translate3d(-20px, 0, 0) scaleX(.9);
    transform: translate3d(-20px, 0, 0) scaleX(.9);
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0) scaleX(2);
    transform: translate3d(2000px, 0, 0) scaleX(2);
  }
}

@keyframes bounceOutRight {
  20% {
    opacity: 1;
    -webkit-transform: translate3d(-20px, 0, 0) scaleX(.9);
    transform: translate3d(-20px, 0, 0) scaleX(.9);
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0) scaleX(2);
    transform: translate3d(2000px, 0, 0) scaleX(2);
  }
}

@-webkit-keyframes bounceOutUp {
  20% {
    -webkit-transform: translate3d(0, -10px, 0) scaleY(.985);
    transform: translate3d(0, -10px, 0) scaleY(.985);
  }

  40%,
  45% {
    opacity: 1;
    -webkit-transform: translate3d(0, 20px, 0) scaleY(.9);
    transform: translate3d(0, 20px, 0) scaleY(.9);
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0) scaleY(3);
    transform: translate3d(0, -2000px, 0) scaleY(3);
  }
}

@keyframes bounceOutUp {
  20% {
    -webkit-transform: translate3d(0, -10px, 0) scaleY(.985);
    transform: translate3d(0, -10px, 0) scaleY(.985);
  }

  40%,
  45% {
    opacity: 1;
    -webkit-transform: translate3d(0, 20px, 0) scaleY(.9);
    transform: translate3d(0, 20px, 0) scaleY(.9);
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0) scaleY(3);
    transform: translate3d(0, -2000px, 0) scaleY(3);
  }
}

@-webkit-keyframes fadeIn {
  0% {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

@keyframes fadeIn {
  0% {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

@-webkit-keyframes fadeInDown {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
  }
}

@keyframes fadeInDown {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
  }
}

@-webkit-keyframes fadeInDownBig {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0);
    transform: translate3d(0, -2000px, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
  }
}

@keyframes fadeInDownBig {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0);
    transform: translate3d(0, -2000px, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
  }
}

@-webkit-keyframes fadeInLeft {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
  }
}

@keyframes fadeInLeft {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
  }
}

@-webkit-keyframes fadeInLeftBig {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0);
    transform: translate3d(-2000px, 0, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
  }
}

@keyframes fadeInLeftBig {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0);
    transform: translate3d(-2000px, 0, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
  }
}

@-webkit-keyframes fadeInRight {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
  }
}

@keyframes fadeInRight {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
  }
}

@-webkit-keyframes fadeInRightBig {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0);
    transform: translate3d(2000px, 0, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
  }
}

@keyframes fadeInRightBig {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0);
    transform: translate3d(2000px, 0, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
  }
}

@-webkit-keyframes fadeInUp {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
  }
}

@keyframes fadeInUp {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
  }
}

.animate__fadeInUp {
  -webkit-animation-name: fadeInUp;
  animation-name: fadeInUp;
}

@-webkit-keyframes fadeInUpBig {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0);
    transform: translate3d(0, 2000px, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
  }
}

@keyframes fadeInUpBig {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0);
    transform: translate3d(0, 2000px, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
  }
}

@-webkit-keyframes fadeInTopLeft {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(-100%, -100%, 0);
    transform: translate3d(-100%, -100%, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
  }
}

@keyframes fadeInTopLeft {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(-100%, -100%, 0);
    transform: translate3d(-100%, -100%, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
  }
}

@-webkit-keyframes fadeInTopRight {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(100%, -100%, 0);
    transform: translate3d(100%, -100%, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
  }
}

@keyframes fadeInTopRight {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(100%, -100%, 0);
    transform: translate3d(100%, -100%, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
  }
}

@-webkit-keyframes fadeInBottomLeft {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 100%, 0);
    transform: translate3d(-100%, 100%, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
  }
}

@keyframes fadeInBottomLeft {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 100%, 0);
    transform: translate3d(-100%, 100%, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
  }
}

@-webkit-keyframes fadeInBottomRight {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(100%, 100%, 0);
    transform: translate3d(100%, 100%, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
  }
}

@keyframes fadeInBottomRight {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(100%, 100%, 0);
    transform: translate3d(100%, 100%, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
  }
}

@-webkit-keyframes fadeOut {
  0% {
    opacity: 1;
  }

  to {
    opacity: 0;
  }
}

@keyframes fadeOut {
  0% {
    opacity: 1;
  }

  to {
    opacity: 0;
  }
}

@-webkit-keyframes fadeOutDown {
  0% {
    opacity: 1;
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
  }
}

@keyframes fadeOutDown {
  0% {
    opacity: 1;
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
  }
}

@-webkit-keyframes fadeOutDownBig {
  0% {
    opacity: 1;
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0);
    transform: translate3d(0, 2000px, 0);
  }
}

@keyframes fadeOutDownBig {
  0% {
    opacity: 1;
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0);
    transform: translate3d(0, 2000px, 0);
  }
}

@-webkit-keyframes fadeOutLeft {
  0% {
    opacity: 1;
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
  }
}

@keyframes fadeOutLeft {
  0% {
    opacity: 1;
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
  }
}

@-webkit-keyframes fadeOutLeftBig {
  0% {
    opacity: 1;
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0);
    transform: translate3d(-2000px, 0, 0);
  }
}

@keyframes fadeOutLeftBig {
  0% {
    opacity: 1;
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0);
    transform: translate3d(-2000px, 0, 0);
  }
}

@-webkit-keyframes fadeOutRight {
  0% {
    opacity: 1;
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
  }
}

@keyframes fadeOutRight {
  0% {
    opacity: 1;
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
  }
}

@-webkit-keyframes fadeOutRightBig {
  0% {
    opacity: 1;
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0);
    transform: translate3d(2000px, 0, 0);
  }
}

@keyframes fadeOutRightBig {
  0% {
    opacity: 1;
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0);
    transform: translate3d(2000px, 0, 0);
  }
}

@-webkit-keyframes fadeOutUp {
  0% {
    opacity: 1;
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
  }
}

@keyframes fadeOutUp {
  0% {
    opacity: 1;
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
  }
}

@-webkit-keyframes fadeOutUpBig {
  0% {
    opacity: 1;
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0);
    transform: translate3d(0, -2000px, 0);
  }
}

@keyframes fadeOutUpBig {
  0% {
    opacity: 1;
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0);
    transform: translate3d(0, -2000px, 0);
  }
}

@-webkit-keyframes fadeOutTopLeft {
  0% {
    opacity: 1;
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(-100%, -100%, 0);
    transform: translate3d(-100%, -100%, 0);
  }
}

@keyframes fadeOutTopLeft {
  0% {
    opacity: 1;
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(-100%, -100%, 0);
    transform: translate3d(-100%, -100%, 0);
  }
}

@-webkit-keyframes fadeOutTopRight {
  0% {
    opacity: 1;
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(100%, -100%, 0);
    transform: translate3d(100%, -100%, 0);
  }
}

@keyframes fadeOutTopRight {
  0% {
    opacity: 1;
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(100%, -100%, 0);
    transform: translate3d(100%, -100%, 0);
  }
}

@-webkit-keyframes fadeOutBottomRight {
  0% {
    opacity: 1;
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(100%, 100%, 0);
    transform: translate3d(100%, 100%, 0);
  }
}

@keyframes fadeOutBottomRight {
  0% {
    opacity: 1;
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(100%, 100%, 0);
    transform: translate3d(100%, 100%, 0);
  }
}

@-webkit-keyframes fadeOutBottomLeft {
  0% {
    opacity: 1;
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 100%, 0);
    transform: translate3d(-100%, 100%, 0);
  }
}

@keyframes fadeOutBottomLeft {
  0% {
    opacity: 1;
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 100%, 0);
    transform: translate3d(-100%, 100%, 0);
  }
}

@-webkit-keyframes flip {
  0% {
    -webkit-transform: perspective(400px) scaleX(1) translateZ(0) rotateY(-1turn);
    transform: perspective(400px) scaleX(1) translateZ(0) rotateY(-1turn);
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out;
  }

  40% {
    -webkit-transform: perspective(400px) scaleX(1) translateZ(150px) rotateY(-190deg);
    transform: perspective(400px) scaleX(1) translateZ(150px) rotateY(-190deg);
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out;
  }

  50% {
    -webkit-transform: perspective(400px) scaleX(1) translateZ(150px) rotateY(-170deg);
    transform: perspective(400px) scaleX(1) translateZ(150px) rotateY(-170deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }

  80% {
    -webkit-transform: perspective(400px) scale3d(.95, .95, .95) translateZ(0) rotateY(0);
    transform: perspective(400px) scale3d(.95, .95, .95) translateZ(0) rotateY(0);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }

  to {
    -webkit-transform: perspective(400px) scaleX(1) translateZ(0) rotateY(0);
    transform: perspective(400px) scaleX(1) translateZ(0) rotateY(0);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }
}

@keyframes flip {
  0% {
    -webkit-transform: perspective(400px) scaleX(1) translateZ(0) rotateY(-1turn);
    transform: perspective(400px) scaleX(1) translateZ(0) rotateY(-1turn);
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out;
  }

  40% {
    -webkit-transform: perspective(400px) scaleX(1) translateZ(150px) rotateY(-190deg);
    transform: perspective(400px) scaleX(1) translateZ(150px) rotateY(-190deg);
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out;
  }

  50% {
    -webkit-transform: perspective(400px) scaleX(1) translateZ(150px) rotateY(-170deg);
    transform: perspective(400px) scaleX(1) translateZ(150px) rotateY(-170deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }

  80% {
    -webkit-transform: perspective(400px) scale3d(.95, .95, .95) translateZ(0) rotateY(0);
    transform: perspective(400px) scale3d(.95, .95, .95) translateZ(0) rotateY(0);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }

  to {
    -webkit-transform: perspective(400px) scaleX(1) translateZ(0) rotateY(0);
    transform: perspective(400px) scaleX(1) translateZ(0) rotateY(0);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }
}

@-webkit-keyframes flipInX {
  0% {
    -webkit-transform: perspective(400px) rotateX(90deg);
    transform: perspective(400px) rotateX(90deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
    opacity: 0;
  }

  40% {
    -webkit-transform: perspective(400px) rotateX(-20deg);
    transform: perspective(400px) rotateX(-20deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }

  60% {
    -webkit-transform: perspective(400px) rotateX(10deg);
    transform: perspective(400px) rotateX(10deg);
    opacity: 1;
  }

  80% {
    -webkit-transform: perspective(400px) rotateX(-5deg);
    transform: perspective(400px) rotateX(-5deg);
  }

  to {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
  }
}

@keyframes flipInX {
  0% {
    -webkit-transform: perspective(400px) rotateX(90deg);
    transform: perspective(400px) rotateX(90deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
    opacity: 0;
  }

  40% {
    -webkit-transform: perspective(400px) rotateX(-20deg);
    transform: perspective(400px) rotateX(-20deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }

  60% {
    -webkit-transform: perspective(400px) rotateX(10deg);
    transform: perspective(400px) rotateX(10deg);
    opacity: 1;
  }

  80% {
    -webkit-transform: perspective(400px) rotateX(-5deg);
    transform: perspective(400px) rotateX(-5deg);
  }

  to {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
  }
}

@-webkit-keyframes flipInY {
  0% {
    -webkit-transform: perspective(400px) rotateY(90deg);
    transform: perspective(400px) rotateY(90deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
    opacity: 0;
  }

  40% {
    -webkit-transform: perspective(400px) rotateY(-20deg);
    transform: perspective(400px) rotateY(-20deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }

  60% {
    -webkit-transform: perspective(400px) rotateY(10deg);
    transform: perspective(400px) rotateY(10deg);
    opacity: 1;
  }

  80% {
    -webkit-transform: perspective(400px) rotateY(-5deg);
    transform: perspective(400px) rotateY(-5deg);
  }

  to {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
  }
}

@keyframes flipInY {
  0% {
    -webkit-transform: perspective(400px) rotateY(90deg);
    transform: perspective(400px) rotateY(90deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
    opacity: 0;
  }

  40% {
    -webkit-transform: perspective(400px) rotateY(-20deg);
    transform: perspective(400px) rotateY(-20deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }

  60% {
    -webkit-transform: perspective(400px) rotateY(10deg);
    transform: perspective(400px) rotateY(10deg);
    opacity: 1;
  }

  80% {
    -webkit-transform: perspective(400px) rotateY(-5deg);
    transform: perspective(400px) rotateY(-5deg);
  }

  to {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
  }
}

@-webkit-keyframes flipOutX {
  0% {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
  }

  30% {
    -webkit-transform: perspective(400px) rotateX(-20deg);
    transform: perspective(400px) rotateX(-20deg);
    opacity: 1;
  }

  to {
    -webkit-transform: perspective(400px) rotateX(90deg);
    transform: perspective(400px) rotateX(90deg);
    opacity: 0;
  }
}

@keyframes flipOutX {
  0% {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
  }

  30% {
    -webkit-transform: perspective(400px) rotateX(-20deg);
    transform: perspective(400px) rotateX(-20deg);
    opacity: 1;
  }

  to {
    -webkit-transform: perspective(400px) rotateX(90deg);
    transform: perspective(400px) rotateX(90deg);
    opacity: 0;
  }
}

@-webkit-keyframes flipOutY {
  0% {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
  }

  30% {
    -webkit-transform: perspective(400px) rotateY(-15deg);
    transform: perspective(400px) rotateY(-15deg);
    opacity: 1;
  }

  to {
    -webkit-transform: perspective(400px) rotateY(90deg);
    transform: perspective(400px) rotateY(90deg);
    opacity: 0;
  }
}

@keyframes flipOutY {
  0% {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
  }

  30% {
    -webkit-transform: perspective(400px) rotateY(-15deg);
    transform: perspective(400px) rotateY(-15deg);
    opacity: 1;
  }

  to {
    -webkit-transform: perspective(400px) rotateY(90deg);
    transform: perspective(400px) rotateY(90deg);
    opacity: 0;
  }
}

@-webkit-keyframes lightSpeedInRight {
  0% {
    -webkit-transform: translate3d(100%, 0, 0) skewX(-30deg);
    transform: translate3d(100%, 0, 0) skewX(-30deg);
    opacity: 0;
  }

  60% {
    -webkit-transform: skewX(20deg);
    transform: skewX(20deg);
    opacity: 1;
  }

  80% {
    -webkit-transform: skewX(-5deg);
    transform: skewX(-5deg);
  }

  to {
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
  }
}

@keyframes lightSpeedInRight {
  0% {
    -webkit-transform: translate3d(100%, 0, 0) skewX(-30deg);
    transform: translate3d(100%, 0, 0) skewX(-30deg);
    opacity: 0;
  }

  60% {
    -webkit-transform: skewX(20deg);
    transform: skewX(20deg);
    opacity: 1;
  }

  80% {
    -webkit-transform: skewX(-5deg);
    transform: skewX(-5deg);
  }

  to {
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
  }
}

@-webkit-keyframes lightSpeedInLeft {
  0% {
    -webkit-transform: translate3d(-100%, 0, 0) skewX(30deg);
    transform: translate3d(-100%, 0, 0) skewX(30deg);
    opacity: 0;
  }

  60% {
    -webkit-transform: skewX(-20deg);
    transform: skewX(-20deg);
    opacity: 1;
  }

  80% {
    -webkit-transform: skewX(5deg);
    transform: skewX(5deg);
  }

  to {
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
  }
}

@keyframes lightSpeedInLeft {
  0% {
    -webkit-transform: translate3d(-100%, 0, 0) skewX(30deg);
    transform: translate3d(-100%, 0, 0) skewX(30deg);
    opacity: 0;
  }

  60% {
    -webkit-transform: skewX(-20deg);
    transform: skewX(-20deg);
    opacity: 1;
  }

  80% {
    -webkit-transform: skewX(5deg);
    transform: skewX(5deg);
  }

  to {
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
  }
}

@-webkit-keyframes lightSpeedOutRight {
  0% {
    opacity: 1;
  }

  to {
    -webkit-transform: translate3d(100%, 0, 0) skewX(30deg);
    transform: translate3d(100%, 0, 0) skewX(30deg);
    opacity: 0;
  }
}

@keyframes lightSpeedOutRight {
  0% {
    opacity: 1;
  }

  to {
    -webkit-transform: translate3d(100%, 0, 0) skewX(30deg);
    transform: translate3d(100%, 0, 0) skewX(30deg);
    opacity: 0;
  }
}

@-webkit-keyframes lightSpeedOutLeft {
  0% {
    opacity: 1;
  }

  to {
    -webkit-transform: translate3d(-100%, 0, 0) skewX(-30deg);
    transform: translate3d(-100%, 0, 0) skewX(-30deg);
    opacity: 0;
  }
}

@keyframes lightSpeedOutLeft {
  0% {
    opacity: 1;
  }

  to {
    -webkit-transform: translate3d(-100%, 0, 0) skewX(-30deg);
    transform: translate3d(-100%, 0, 0) skewX(-30deg);
    opacity: 0;
  }
}

@-webkit-keyframes rotateIn {
  0% {
    -webkit-transform: rotate(-200deg);
    transform: rotate(-200deg);
    opacity: 0;
  }

  to {
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
    opacity: 1;
  }
}

@keyframes rotateIn {
  0% {
    -webkit-transform: rotate(-200deg);
    transform: rotate(-200deg);
    opacity: 0;
  }

  to {
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
    opacity: 1;
  }
}

@-webkit-keyframes rotateInDownLeft {
  0% {
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
    opacity: 0;
  }

  to {
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
    opacity: 1;
  }
}

@keyframes rotateInDownLeft {
  0% {
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
    opacity: 0;
  }

  to {
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
    opacity: 1;
  }
}

@-webkit-keyframes rotateInDownRight {
  0% {
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    opacity: 0;
  }

  to {
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
    opacity: 1;
  }
}

@keyframes rotateInDownRight {
  0% {
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    opacity: 0;
  }

  to {
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
    opacity: 1;
  }
}

@-webkit-keyframes rotateInUpLeft {
  0% {
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    opacity: 0;
  }

  to {
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
    opacity: 1;
  }
}

@keyframes rotateInUpLeft {
  0% {
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    opacity: 0;
  }

  to {
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
    opacity: 1;
  }
}

@-webkit-keyframes rotateInUpRight {
  0% {
    -webkit-transform: rotate(-90deg);
    transform: rotate(-90deg);
    opacity: 0;
  }

  to {
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
    opacity: 1;
  }
}

@keyframes rotateInUpRight {
  0% {
    -webkit-transform: rotate(-90deg);
    transform: rotate(-90deg);
    opacity: 0;
  }

  to {
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
    opacity: 1;
  }
}

@-webkit-keyframes rotateOut {
  0% {
    opacity: 1;
  }

  to {
    -webkit-transform: rotate(200deg);
    transform: rotate(200deg);
    opacity: 0;
  }
}

@keyframes rotateOut {
  0% {
    opacity: 1;
  }

  to {
    -webkit-transform: rotate(200deg);
    transform: rotate(200deg);
    opacity: 0;
  }
}

@-webkit-keyframes rotateOutDownLeft {
  0% {
    opacity: 1;
  }

  to {
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    opacity: 0;
  }
}

@keyframes rotateOutDownLeft {
  0% {
    opacity: 1;
  }

  to {
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    opacity: 0;
  }
}

@-webkit-keyframes rotateOutDownRight {
  0% {
    opacity: 1;
  }

  to {
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
    opacity: 0;
  }
}

@keyframes rotateOutDownRight {
  0% {
    opacity: 1;
  }

  to {
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
    opacity: 0;
  }
}

@-webkit-keyframes rotateOutUpLeft {
  0% {
    opacity: 1;
  }

  to {
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
    opacity: 0;
  }
}

@keyframes rotateOutUpLeft {
  0% {
    opacity: 1;
  }

  to {
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
    opacity: 0;
  }
}

@-webkit-keyframes rotateOutUpRight {
  0% {
    opacity: 1;
  }

  to {
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
    opacity: 0;
  }
}

@keyframes rotateOutUpRight {
  0% {
    opacity: 1;
  }

  to {
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
    opacity: 0;
  }
}

@-webkit-keyframes hinge {
  0% {
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
  }

  20%,
  60% {
    -webkit-transform: rotate(80deg);
    transform: rotate(80deg);
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
  }

  40%,
  80% {
    -webkit-transform: rotate(60deg);
    transform: rotate(60deg);
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
    opacity: 1;
  }

  to {
    -webkit-transform: translate3d(0, 700px, 0);
    transform: translate3d(0, 700px, 0);
    opacity: 0;
  }
}

@keyframes hinge {
  0% {
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
  }

  20%,
  60% {
    -webkit-transform: rotate(80deg);
    transform: rotate(80deg);
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
  }

  40%,
  80% {
    -webkit-transform: rotate(60deg);
    transform: rotate(60deg);
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
    opacity: 1;
  }

  to {
    -webkit-transform: translate3d(0, 700px, 0);
    transform: translate3d(0, 700px, 0);
    opacity: 0;
  }
}

@-webkit-keyframes jackInTheBox {
  0% {
    opacity: 0;
    -webkit-transform: scale(.1) rotate(30deg);
    transform: scale(.1) rotate(30deg);
    -webkit-transform-origin: center bottom;
    transform-origin: center bottom;
  }

  50% {
    -webkit-transform: rotate(-10deg);
    transform: rotate(-10deg);
  }

  70% {
    -webkit-transform: rotate(3deg);
    transform: rotate(3deg);
  }

  to {
    opacity: 1;
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}

@keyframes jackInTheBox {
  0% {
    opacity: 0;
    -webkit-transform: scale(.1) rotate(30deg);
    transform: scale(.1) rotate(30deg);
    -webkit-transform-origin: center bottom;
    transform-origin: center bottom;
  }

  50% {
    -webkit-transform: rotate(-10deg);
    transform: rotate(-10deg);
  }

  70% {
    -webkit-transform: rotate(3deg);
    transform: rotate(3deg);
  }

  to {
    opacity: 1;
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}

@-webkit-keyframes rollIn {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0) rotate(-120deg);
    transform: translate3d(-100%, 0, 0) rotate(-120deg);
  }

  to {
    opacity: 1;
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
  }
}

@keyframes rollIn {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0) rotate(-120deg);
    transform: translate3d(-100%, 0, 0) rotate(-120deg);
  }

  to {
    opacity: 1;
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
  }
}

@-webkit-keyframes rollOut {
  0% {
    opacity: 1;
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0) rotate(120deg);
    transform: translate3d(100%, 0, 0) rotate(120deg);
  }
}

@keyframes rollOut {
  0% {
    opacity: 1;
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0) rotate(120deg);
    transform: translate3d(100%, 0, 0) rotate(120deg);
  }
}

@-webkit-keyframes zoomIn {
  0% {
    opacity: 0;
    -webkit-transform: scale3d(.3, .3, .3);
    transform: scale3d(.3, .3, .3);
  }

  50% {
    opacity: 1;
  }
}

@keyframes zoomIn {
  0% {
    opacity: 0;
    -webkit-transform: scale3d(.3, .3, .3);
    transform: scale3d(.3, .3, .3);
  }

  50% {
    opacity: 1;
  }
}

@-webkit-keyframes zoomInDown {
  0% {
    opacity: 0;
    -webkit-transform: scale3d(.1, .1, .1) translate3d(0, -1000px, 0);
    transform: scale3d(.1, .1, .1) translate3d(0, -1000px, 0);
    -webkit-animation-timing-function: cubic-bezier(.55, .055, .675, .19);
    animation-timing-function: cubic-bezier(.55, .055, .675, .19);
  }

  60% {
    opacity: 1;
    -webkit-transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0);
    transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0);
    -webkit-animation-timing-function: cubic-bezier(.175, .885, .32, 1);
    animation-timing-function: cubic-bezier(.175, .885, .32, 1);
  }
}

@keyframes zoomInDown {
  0% {
    opacity: 0;
    -webkit-transform: scale3d(.1, .1, .1) translate3d(0, -1000px, 0);
    transform: scale3d(.1, .1, .1) translate3d(0, -1000px, 0);
    -webkit-animation-timing-function: cubic-bezier(.55, .055, .675, .19);
    animation-timing-function: cubic-bezier(.55, .055, .675, .19);
  }

  60% {
    opacity: 1;
    -webkit-transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0);
    transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0);
    -webkit-animation-timing-function: cubic-bezier(.175, .885, .32, 1);
    animation-timing-function: cubic-bezier(.175, .885, .32, 1);
  }
}

@-webkit-keyframes zoomInLeft {
  0% {
    opacity: 0;
    -webkit-transform: scale3d(.1, .1, .1) translate3d(-1000px, 0, 0);
    transform: scale3d(.1, .1, .1) translate3d(-1000px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(.55, .055, .675, .19);
    animation-timing-function: cubic-bezier(.55, .055, .675, .19);
  }

  60% {
    opacity: 1;
    -webkit-transform: scale3d(.475, .475, .475) translate3d(10px, 0, 0);
    transform: scale3d(.475, .475, .475) translate3d(10px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(.175, .885, .32, 1);
    animation-timing-function: cubic-bezier(.175, .885, .32, 1);
  }
}

@keyframes zoomInLeft {
  0% {
    opacity: 0;
    -webkit-transform: scale3d(.1, .1, .1) translate3d(-1000px, 0, 0);
    transform: scale3d(.1, .1, .1) translate3d(-1000px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(.55, .055, .675, .19);
    animation-timing-function: cubic-bezier(.55, .055, .675, .19);
  }

  60% {
    opacity: 1;
    -webkit-transform: scale3d(.475, .475, .475) translate3d(10px, 0, 0);
    transform: scale3d(.475, .475, .475) translate3d(10px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(.175, .885, .32, 1);
    animation-timing-function: cubic-bezier(.175, .885, .32, 1);
  }
}

@-webkit-keyframes zoomInRight {
  0% {
    opacity: 0;
    -webkit-transform: scale3d(.1, .1, .1) translate3d(1000px, 0, 0);
    transform: scale3d(.1, .1, .1) translate3d(1000px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(.55, .055, .675, .19);
    animation-timing-function: cubic-bezier(.55, .055, .675, .19);
  }

  60% {
    opacity: 1;
    -webkit-transform: scale3d(.475, .475, .475) translate3d(-10px, 0, 0);
    transform: scale3d(.475, .475, .475) translate3d(-10px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(.175, .885, .32, 1);
    animation-timing-function: cubic-bezier(.175, .885, .32, 1);
  }
}

@keyframes zoomInRight {
  0% {
    opacity: 0;
    -webkit-transform: scale3d(.1, .1, .1) translate3d(1000px, 0, 0);
    transform: scale3d(.1, .1, .1) translate3d(1000px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(.55, .055, .675, .19);
    animation-timing-function: cubic-bezier(.55, .055, .675, .19);
  }

  60% {
    opacity: 1;
    -webkit-transform: scale3d(.475, .475, .475) translate3d(-10px, 0, 0);
    transform: scale3d(.475, .475, .475) translate3d(-10px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(.175, .885, .32, 1);
    animation-timing-function: cubic-bezier(.175, .885, .32, 1);
  }
}

@-webkit-keyframes zoomInUp {
  0% {
    opacity: 0;
    -webkit-transform: scale3d(.1, .1, .1) translate3d(0, 1000px, 0);
    transform: scale3d(.1, .1, .1) translate3d(0, 1000px, 0);
    -webkit-animation-timing-function: cubic-bezier(.55, .055, .675, .19);
    animation-timing-function: cubic-bezier(.55, .055, .675, .19);
  }

  60% {
    opacity: 1;
    -webkit-transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0);
    transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0);
    -webkit-animation-timing-function: cubic-bezier(.175, .885, .32, 1);
    animation-timing-function: cubic-bezier(.175, .885, .32, 1);
  }
}

@keyframes zoomInUp {
  0% {
    opacity: 0;
    -webkit-transform: scale3d(.1, .1, .1) translate3d(0, 1000px, 0);
    transform: scale3d(.1, .1, .1) translate3d(0, 1000px, 0);
    -webkit-animation-timing-function: cubic-bezier(.55, .055, .675, .19);
    animation-timing-function: cubic-bezier(.55, .055, .675, .19);
  }

  60% {
    opacity: 1;
    -webkit-transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0);
    transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0);
    -webkit-animation-timing-function: cubic-bezier(.175, .885, .32, 1);
    animation-timing-function: cubic-bezier(.175, .885, .32, 1);
  }
}

@-webkit-keyframes zoomOut {
  0% {
    opacity: 1;
  }

  50% {
    opacity: 0;
    -webkit-transform: scale3d(.3, .3, .3);
    transform: scale3d(.3, .3, .3);
  }

  to {
    opacity: 0;
  }
}

@keyframes zoomOut {
  0% {
    opacity: 1;
  }

  50% {
    opacity: 0;
    -webkit-transform: scale3d(.3, .3, .3);
    transform: scale3d(.3, .3, .3);
  }

  to {
    opacity: 0;
  }
}

@-webkit-keyframes zoomOutDown {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0);
    transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0);
    -webkit-animation-timing-function: cubic-bezier(.55, .055, .675, .19);
    animation-timing-function: cubic-bezier(.55, .055, .675, .19);
  }

  to {
    opacity: 0;
    -webkit-transform: scale3d(.1, .1, .1) translate3d(0, 2000px, 0);
    transform: scale3d(.1, .1, .1) translate3d(0, 2000px, 0);
    -webkit-animation-timing-function: cubic-bezier(.175, .885, .32, 1);
    animation-timing-function: cubic-bezier(.175, .885, .32, 1);
  }
}

@keyframes zoomOutDown {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0);
    transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0);
    -webkit-animation-timing-function: cubic-bezier(.55, .055, .675, .19);
    animation-timing-function: cubic-bezier(.55, .055, .675, .19);
  }

  to {
    opacity: 0;
    -webkit-transform: scale3d(.1, .1, .1) translate3d(0, 2000px, 0);
    transform: scale3d(.1, .1, .1) translate3d(0, 2000px, 0);
    -webkit-animation-timing-function: cubic-bezier(.175, .885, .32, 1);
    animation-timing-function: cubic-bezier(.175, .885, .32, 1);
  }
}

@-webkit-keyframes zoomOutLeft {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(.475, .475, .475) translate3d(42px, 0, 0);
    transform: scale3d(.475, .475, .475) translate3d(42px, 0, 0);
  }

  to {
    opacity: 0;
    -webkit-transform: scale(.1) translate3d(-2000px, 0, 0);
    transform: scale(.1) translate3d(-2000px, 0, 0);
  }
}

@keyframes zoomOutLeft {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(.475, .475, .475) translate3d(42px, 0, 0);
    transform: scale3d(.475, .475, .475) translate3d(42px, 0, 0);
  }

  to {
    opacity: 0;
    -webkit-transform: scale(.1) translate3d(-2000px, 0, 0);
    transform: scale(.1) translate3d(-2000px, 0, 0);
  }
}

@-webkit-keyframes zoomOutRight {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(.475, .475, .475) translate3d(-42px, 0, 0);
    transform: scale3d(.475, .475, .475) translate3d(-42px, 0, 0);
  }

  to {
    opacity: 0;
    -webkit-transform: scale(.1) translate3d(2000px, 0, 0);
    transform: scale(.1) translate3d(2000px, 0, 0);
  }
}

@keyframes zoomOutRight {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(.475, .475, .475) translate3d(-42px, 0, 0);
    transform: scale3d(.475, .475, .475) translate3d(-42px, 0, 0);
  }

  to {
    opacity: 0;
    -webkit-transform: scale(.1) translate3d(2000px, 0, 0);
    transform: scale(.1) translate3d(2000px, 0, 0);
  }
}

@-webkit-keyframes zoomOutUp {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0);
    transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0);
    -webkit-animation-timing-function: cubic-bezier(.55, .055, .675, .19);
    animation-timing-function: cubic-bezier(.55, .055, .675, .19);
  }

  to {
    opacity: 0;
    -webkit-transform: scale3d(.1, .1, .1) translate3d(0, -2000px, 0);
    transform: scale3d(.1, .1, .1) translate3d(0, -2000px, 0);
    -webkit-animation-timing-function: cubic-bezier(.175, .885, .32, 1);
    animation-timing-function: cubic-bezier(.175, .885, .32, 1);
  }
}

@keyframes zoomOutUp {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0);
    transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0);
    -webkit-animation-timing-function: cubic-bezier(.55, .055, .675, .19);
    animation-timing-function: cubic-bezier(.55, .055, .675, .19);
  }

  to {
    opacity: 0;
    -webkit-transform: scale3d(.1, .1, .1) translate3d(0, -2000px, 0);
    transform: scale3d(.1, .1, .1) translate3d(0, -2000px, 0);
    -webkit-animation-timing-function: cubic-bezier(.175, .885, .32, 1);
    animation-timing-function: cubic-bezier(.175, .885, .32, 1);
  }
}

@-webkit-keyframes slideInDown {
  0% {
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
    visibility: visible;
  }

  to {
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
  }
}

@keyframes slideInDown {
  0% {
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
    visibility: visible;
  }

  to {
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
  }
}

@-webkit-keyframes slideInLeft {
  0% {
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
    visibility: visible;
  }

  to {
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
  }
}

@keyframes slideInLeft {
  0% {
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
    visibility: visible;
  }

  to {
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
  }
}

@-webkit-keyframes slideInRight {
  0% {
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
    visibility: visible;
  }

  to {
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
  }
}

@keyframes slideInRight {
  0% {
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
    visibility: visible;
  }

  to {
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
  }
}

@-webkit-keyframes slideInUp {
  0% {
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
    visibility: visible;
  }

  to {
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
  }
}

@keyframes slideInUp {
  0% {
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
    visibility: visible;
  }

  to {
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
  }
}

@-webkit-keyframes slideOutDown {
  0% {
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
  }

  to {
    visibility: hidden;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
  }
}

@keyframes slideOutDown {
  0% {
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
  }

  to {
    visibility: hidden;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
  }
}

@-webkit-keyframes slideOutLeft {
  0% {
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
  }

  to {
    visibility: hidden;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
  }
}

@keyframes slideOutLeft {
  0% {
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
  }

  to {
    visibility: hidden;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
  }
}

@-webkit-keyframes slideOutRight {
  0% {
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
  }

  to {
    visibility: hidden;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
  }
}

@keyframes slideOutRight {
  0% {
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
  }

  to {
    visibility: hidden;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
  }
}

@-webkit-keyframes slideOutUp {
  0% {
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
  }

  to {
    visibility: hidden;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
  }
}

@keyframes slideOutUp {
  0% {
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
  }

  to {
    visibility: hidden;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
  }
}

[data-aos][data-aos][data-aos-duration="50"],
body[data-aos-duration="50"] [data-aos] {
  transition-duration: 50ms;
}

[data-aos][data-aos][data-aos-delay="50"],
body[data-aos-delay="50"] [data-aos] {
  transition-delay: 0;
}

[data-aos][data-aos][data-aos-delay="50"].aos-animate,
body[data-aos-delay="50"] [data-aos].aos-animate {
  transition-delay: 50ms;
}

[data-aos][data-aos][data-aos-duration="100"],
body[data-aos-duration="100"] [data-aos] {
  transition-duration: .1s;
}

[data-aos][data-aos][data-aos-delay="100"],
body[data-aos-delay="100"] [data-aos] {
  transition-delay: 0;
}

[data-aos][data-aos][data-aos-delay="100"].aos-animate,
body[data-aos-delay="100"] [data-aos].aos-animate {
  transition-delay: .1s;
}

[data-aos][data-aos][data-aos-duration="150"],
body[data-aos-duration="150"] [data-aos] {
  transition-duration: .15s;
}

[data-aos][data-aos][data-aos-delay="150"],
body[data-aos-delay="150"] [data-aos] {
  transition-delay: 0;
}

[data-aos][data-aos][data-aos-delay="150"].aos-animate,
body[data-aos-delay="150"] [data-aos].aos-animate {
  transition-delay: .15s;
}

[data-aos][data-aos][data-aos-duration="200"],
body[data-aos-duration="200"] [data-aos] {
  transition-duration: .2s;
}

[data-aos][data-aos][data-aos-delay="200"],
body[data-aos-delay="200"] [data-aos] {
  transition-delay: 0;
}

[data-aos][data-aos][data-aos-delay="200"].aos-animate,
body[data-aos-delay="200"] [data-aos].aos-animate {
  transition-delay: .2s;
}

[data-aos][data-aos][data-aos-duration="250"],
body[data-aos-duration="250"] [data-aos] {
  transition-duration: .25s;
}

[data-aos][data-aos][data-aos-delay="250"],
body[data-aos-delay="250"] [data-aos] {
  transition-delay: 0;
}

[data-aos][data-aos][data-aos-delay="250"].aos-animate,
body[data-aos-delay="250"] [data-aos].aos-animate {
  transition-delay: .25s;
}

[data-aos][data-aos][data-aos-duration="300"],
body[data-aos-duration="300"] [data-aos] {
  transition-duration: .3s;
}

[data-aos][data-aos][data-aos-delay="300"],
body[data-aos-delay="300"] [data-aos] {
  transition-delay: 0;
}

[data-aos][data-aos][data-aos-delay="300"].aos-animate,
body[data-aos-delay="300"] [data-aos].aos-animate {
  transition-delay: .3s;
}

[data-aos][data-aos][data-aos-duration="350"],
body[data-aos-duration="350"] [data-aos] {
  transition-duration: .35s;
}

[data-aos][data-aos][data-aos-delay="350"],
body[data-aos-delay="350"] [data-aos] {
  transition-delay: 0;
}

[data-aos][data-aos][data-aos-delay="350"].aos-animate,
body[data-aos-delay="350"] [data-aos].aos-animate {
  transition-delay: .35s;
}

[data-aos][data-aos][data-aos-duration="400"],
body[data-aos-duration="400"] [data-aos] {
  transition-duration: .4s;
}

[data-aos][data-aos][data-aos-delay="400"],
body[data-aos-delay="400"] [data-aos] {
  transition-delay: 0;
}

[data-aos][data-aos][data-aos-delay="400"].aos-animate,
body[data-aos-delay="400"] [data-aos].aos-animate {
  transition-delay: .4s;
}

[data-aos][data-aos][data-aos-duration="450"],
body[data-aos-duration="450"] [data-aos] {
  transition-duration: .45s;
}

[data-aos][data-aos][data-aos-delay="450"],
body[data-aos-delay="450"] [data-aos] {
  transition-delay: 0;
}

[data-aos][data-aos][data-aos-delay="450"].aos-animate,
body[data-aos-delay="450"] [data-aos].aos-animate {
  transition-delay: .45s;
}

[data-aos][data-aos][data-aos-duration="500"],
body[data-aos-duration="500"] [data-aos] {
  transition-duration: .5s;
}

[data-aos][data-aos][data-aos-delay="500"],
body[data-aos-delay="500"] [data-aos] {
  transition-delay: 0;
}

[data-aos][data-aos][data-aos-delay="500"].aos-animate,
body[data-aos-delay="500"] [data-aos].aos-animate {
  transition-delay: .5s;
}

[data-aos][data-aos][data-aos-duration="550"],
body[data-aos-duration="550"] [data-aos] {
  transition-duration: .55s;
}

[data-aos][data-aos][data-aos-delay="550"],
body[data-aos-delay="550"] [data-aos] {
  transition-delay: 0;
}

[data-aos][data-aos][data-aos-delay="550"].aos-animate,
body[data-aos-delay="550"] [data-aos].aos-animate {
  transition-delay: .55s;
}

[data-aos][data-aos][data-aos-duration="600"],
body[data-aos-duration="600"] [data-aos] {
  transition-duration: .6s;
}

[data-aos][data-aos][data-aos-delay="600"],
body[data-aos-delay="600"] [data-aos] {
  transition-delay: 0;
}

[data-aos][data-aos][data-aos-delay="600"].aos-animate,
body[data-aos-delay="600"] [data-aos].aos-animate {
  transition-delay: .6s;
}

[data-aos][data-aos][data-aos-duration="650"],
body[data-aos-duration="650"] [data-aos] {
  transition-duration: .65s;
}

[data-aos][data-aos][data-aos-delay="650"],
body[data-aos-delay="650"] [data-aos] {
  transition-delay: 0;
}

[data-aos][data-aos][data-aos-delay="650"].aos-animate,
body[data-aos-delay="650"] [data-aos].aos-animate {
  transition-delay: .65s;
}

[data-aos][data-aos][data-aos-duration="700"],
body[data-aos-duration="700"] [data-aos] {
  transition-duration: .7s;
}

[data-aos][data-aos][data-aos-delay="700"],
body[data-aos-delay="700"] [data-aos] {
  transition-delay: 0;
}

[data-aos][data-aos][data-aos-delay="700"].aos-animate,
body[data-aos-delay="700"] [data-aos].aos-animate {
  transition-delay: .7s;
}

[data-aos][data-aos][data-aos-duration="750"],
body[data-aos-duration="750"] [data-aos] {
  transition-duration: .75s;
}

[data-aos][data-aos][data-aos-delay="750"],
body[data-aos-delay="750"] [data-aos] {
  transition-delay: 0;
}

[data-aos][data-aos][data-aos-delay="750"].aos-animate,
body[data-aos-delay="750"] [data-aos].aos-animate {
  transition-delay: .75s;
}

[data-aos][data-aos][data-aos-duration="800"],
body[data-aos-duration="800"] [data-aos] {
  transition-duration: .8s;
}

[data-aos][data-aos][data-aos-delay="800"],
body[data-aos-delay="800"] [data-aos] {
  transition-delay: 0;
}

[data-aos][data-aos][data-aos-delay="800"].aos-animate,
body[data-aos-delay="800"] [data-aos].aos-animate {
  transition-delay: .8s;
}

[data-aos][data-aos][data-aos-duration="850"],
body[data-aos-duration="850"] [data-aos] {
  transition-duration: .85s;
}

[data-aos][data-aos][data-aos-delay="850"],
body[data-aos-delay="850"] [data-aos] {
  transition-delay: 0;
}

[data-aos][data-aos][data-aos-delay="850"].aos-animate,
body[data-aos-delay="850"] [data-aos].aos-animate {
  transition-delay: .85s;
}

[data-aos][data-aos][data-aos-duration="900"],
body[data-aos-duration="900"] [data-aos] {
  transition-duration: .9s;
}

[data-aos][data-aos][data-aos-delay="900"],
body[data-aos-delay="900"] [data-aos] {
  transition-delay: 0;
}

[data-aos][data-aos][data-aos-delay="900"].aos-animate,
body[data-aos-delay="900"] [data-aos].aos-animate {
  transition-delay: .9s;
}

[data-aos][data-aos][data-aos-duration="950"],
body[data-aos-duration="950"] [data-aos] {
  transition-duration: .95s;
}

[data-aos][data-aos][data-aos-delay="950"],
body[data-aos-delay="950"] [data-aos] {
  transition-delay: 0;
}

[data-aos][data-aos][data-aos-delay="950"].aos-animate,
body[data-aos-delay="950"] [data-aos].aos-animate {
  transition-delay: .95s;
}

[data-aos][data-aos][data-aos-duration="1000"],
body[data-aos-duration="1000"] [data-aos] {
  transition-duration: 1s;
}

[data-aos][data-aos][data-aos-delay="1000"],
body[data-aos-delay="1000"] [data-aos] {
  transition-delay: 0;
}

[data-aos][data-aos][data-aos-delay="1000"].aos-animate,
body[data-aos-delay="1000"] [data-aos].aos-animate {
  transition-delay: 1s;
}

[data-aos][data-aos][data-aos-duration="1050"],
body[data-aos-duration="1050"] [data-aos] {
  transition-duration: 1.05s;
}

[data-aos][data-aos][data-aos-delay="1050"],
body[data-aos-delay="1050"] [data-aos] {
  transition-delay: 0;
}

[data-aos][data-aos][data-aos-delay="1050"].aos-animate,
body[data-aos-delay="1050"] [data-aos].aos-animate {
  transition-delay: 1.05s;
}

[data-aos][data-aos][data-aos-duration="1100"],
body[data-aos-duration="1100"] [data-aos] {
  transition-duration: 1.1s;
}

[data-aos][data-aos][data-aos-delay="1100"],
body[data-aos-delay="1100"] [data-aos] {
  transition-delay: 0;
}

[data-aos][data-aos][data-aos-delay="1100"].aos-animate,
body[data-aos-delay="1100"] [data-aos].aos-animate {
  transition-delay: 1.1s;
}

[data-aos][data-aos][data-aos-duration="1150"],
body[data-aos-duration="1150"] [data-aos] {
  transition-duration: 1.15s;
}

[data-aos][data-aos][data-aos-delay="1150"],
body[data-aos-delay="1150"] [data-aos] {
  transition-delay: 0;
}

[data-aos][data-aos][data-aos-delay="1150"].aos-animate,
body[data-aos-delay="1150"] [data-aos].aos-animate {
  transition-delay: 1.15s;
}

[data-aos][data-aos][data-aos-duration="1200"],
body[data-aos-duration="1200"] [data-aos] {
  transition-duration: 1.2s;
}

[data-aos][data-aos][data-aos-delay="1200"],
body[data-aos-delay="1200"] [data-aos] {
  transition-delay: 0;
}

[data-aos][data-aos][data-aos-delay="1200"].aos-animate,
body[data-aos-delay="1200"] [data-aos].aos-animate {
  transition-delay: 1.2s;
}

[data-aos][data-aos][data-aos-duration="1250"],
body[data-aos-duration="1250"] [data-aos] {
  transition-duration: 1.25s;
}

[data-aos][data-aos][data-aos-delay="1250"],
body[data-aos-delay="1250"] [data-aos] {
  transition-delay: 0;
}

[data-aos][data-aos][data-aos-delay="1250"].aos-animate,
body[data-aos-delay="1250"] [data-aos].aos-animate {
  transition-delay: 1.25s;
}

[data-aos][data-aos][data-aos-duration="1300"],
body[data-aos-duration="1300"] [data-aos] {
  transition-duration: 1.3s;
}

[data-aos][data-aos][data-aos-delay="1300"],
body[data-aos-delay="1300"] [data-aos] {
  transition-delay: 0;
}

[data-aos][data-aos][data-aos-delay="1300"].aos-animate,
body[data-aos-delay="1300"] [data-aos].aos-animate {
  transition-delay: 1.3s;
}

[data-aos][data-aos][data-aos-duration="1350"],
body[data-aos-duration="1350"] [data-aos] {
  transition-duration: 1.35s;
}

[data-aos][data-aos][data-aos-delay="1350"],
body[data-aos-delay="1350"] [data-aos] {
  transition-delay: 0;
}

[data-aos][data-aos][data-aos-delay="1350"].aos-animate,
body[data-aos-delay="1350"] [data-aos].aos-animate {
  transition-delay: 1.35s;
}

[data-aos][data-aos][data-aos-duration="1400"],
body[data-aos-duration="1400"] [data-aos] {
  transition-duration: 1.4s;
}

[data-aos][data-aos][data-aos-delay="1400"],
body[data-aos-delay="1400"] [data-aos] {
  transition-delay: 0;
}

[data-aos][data-aos][data-aos-delay="1400"].aos-animate,
body[data-aos-delay="1400"] [data-aos].aos-animate {
  transition-delay: 1.4s;
}

[data-aos][data-aos][data-aos-duration="1450"],
body[data-aos-duration="1450"] [data-aos] {
  transition-duration: 1.45s;
}

[data-aos][data-aos][data-aos-delay="1450"],
body[data-aos-delay="1450"] [data-aos] {
  transition-delay: 0;
}

[data-aos][data-aos][data-aos-delay="1450"].aos-animate,
body[data-aos-delay="1450"] [data-aos].aos-animate {
  transition-delay: 1.45s;
}

[data-aos][data-aos][data-aos-duration="1500"],
body[data-aos-duration="1500"] [data-aos] {
  transition-duration: 1.5s;
}

[data-aos][data-aos][data-aos-delay="1500"],
body[data-aos-delay="1500"] [data-aos] {
  transition-delay: 0;
}

[data-aos][data-aos][data-aos-delay="1500"].aos-animate,
body[data-aos-delay="1500"] [data-aos].aos-animate {
  transition-delay: 1.5s;
}

[data-aos][data-aos][data-aos-duration="1550"],
body[data-aos-duration="1550"] [data-aos] {
  transition-duration: 1.55s;
}

[data-aos][data-aos][data-aos-delay="1550"],
body[data-aos-delay="1550"] [data-aos] {
  transition-delay: 0;
}

[data-aos][data-aos][data-aos-delay="1550"].aos-animate,
body[data-aos-delay="1550"] [data-aos].aos-animate {
  transition-delay: 1.55s;
}

[data-aos][data-aos][data-aos-duration="1600"],
body[data-aos-duration="1600"] [data-aos] {
  transition-duration: 1.6s;
}

[data-aos][data-aos][data-aos-delay="1600"],
body[data-aos-delay="1600"] [data-aos] {
  transition-delay: 0;
}

[data-aos][data-aos][data-aos-delay="1600"].aos-animate,
body[data-aos-delay="1600"] [data-aos].aos-animate {
  transition-delay: 1.6s;
}

[data-aos][data-aos][data-aos-duration="1650"],
body[data-aos-duration="1650"] [data-aos] {
  transition-duration: 1.65s;
}

[data-aos][data-aos][data-aos-delay="1650"],
body[data-aos-delay="1650"] [data-aos] {
  transition-delay: 0;
}

[data-aos][data-aos][data-aos-delay="1650"].aos-animate,
body[data-aos-delay="1650"] [data-aos].aos-animate {
  transition-delay: 1.65s;
}

[data-aos][data-aos][data-aos-duration="1700"],
body[data-aos-duration="1700"] [data-aos] {
  transition-duration: 1.7s;
}

[data-aos][data-aos][data-aos-delay="1700"],
body[data-aos-delay="1700"] [data-aos] {
  transition-delay: 0;
}

[data-aos][data-aos][data-aos-delay="1700"].aos-animate,
body[data-aos-delay="1700"] [data-aos].aos-animate {
  transition-delay: 1.7s;
}

[data-aos][data-aos][data-aos-duration="1750"],
body[data-aos-duration="1750"] [data-aos] {
  transition-duration: 1.75s;
}

[data-aos][data-aos][data-aos-delay="1750"],
body[data-aos-delay="1750"] [data-aos] {
  transition-delay: 0;
}

[data-aos][data-aos][data-aos-delay="1750"].aos-animate,
body[data-aos-delay="1750"] [data-aos].aos-animate {
  transition-delay: 1.75s;
}

[data-aos][data-aos][data-aos-duration="1800"],
body[data-aos-duration="1800"] [data-aos] {
  transition-duration: 1.8s;
}

[data-aos][data-aos][data-aos-delay="1800"],
body[data-aos-delay="1800"] [data-aos] {
  transition-delay: 0;
}

[data-aos][data-aos][data-aos-delay="1800"].aos-animate,
body[data-aos-delay="1800"] [data-aos].aos-animate {
  transition-delay: 1.8s;
}

[data-aos][data-aos][data-aos-duration="1850"],
body[data-aos-duration="1850"] [data-aos] {
  transition-duration: 1.85s;
}

[data-aos][data-aos][data-aos-delay="1850"],
body[data-aos-delay="1850"] [data-aos] {
  transition-delay: 0;
}

[data-aos][data-aos][data-aos-delay="1850"].aos-animate,
body[data-aos-delay="1850"] [data-aos].aos-animate {
  transition-delay: 1.85s;
}

[data-aos][data-aos][data-aos-duration="1900"],
body[data-aos-duration="1900"] [data-aos] {
  transition-duration: 1.9s;
}

[data-aos][data-aos][data-aos-delay="1900"],
body[data-aos-delay="1900"] [data-aos] {
  transition-delay: 0;
}

[data-aos][data-aos][data-aos-delay="1900"].aos-animate,
body[data-aos-delay="1900"] [data-aos].aos-animate {
  transition-delay: 1.9s;
}

[data-aos][data-aos][data-aos-duration="1950"],
body[data-aos-duration="1950"] [data-aos] {
  transition-duration: 1.95s;
}

[data-aos][data-aos][data-aos-delay="1950"],
body[data-aos-delay="1950"] [data-aos] {
  transition-delay: 0;
}

[data-aos][data-aos][data-aos-delay="1950"].aos-animate,
body[data-aos-delay="1950"] [data-aos].aos-animate {
  transition-delay: 1.95s;
}

[data-aos][data-aos][data-aos-duration="2000"],
body[data-aos-duration="2000"] [data-aos] {
  transition-duration: 2s;
}

[data-aos][data-aos][data-aos-delay="2000"],
body[data-aos-delay="2000"] [data-aos] {
  transition-delay: 0;
}

[data-aos][data-aos][data-aos-delay="2000"].aos-animate,
body[data-aos-delay="2000"] [data-aos].aos-animate {
  transition-delay: 2s;
}

[data-aos][data-aos][data-aos-duration="2050"],
body[data-aos-duration="2050"] [data-aos] {
  transition-duration: 2.05s;
}

[data-aos][data-aos][data-aos-delay="2050"],
body[data-aos-delay="2050"] [data-aos] {
  transition-delay: 0;
}

[data-aos][data-aos][data-aos-delay="2050"].aos-animate,
body[data-aos-delay="2050"] [data-aos].aos-animate {
  transition-delay: 2.05s;
}

[data-aos][data-aos][data-aos-duration="2100"],
body[data-aos-duration="2100"] [data-aos] {
  transition-duration: 2.1s;
}

[data-aos][data-aos][data-aos-delay="2100"],
body[data-aos-delay="2100"] [data-aos] {
  transition-delay: 0;
}

[data-aos][data-aos][data-aos-delay="2100"].aos-animate,
body[data-aos-delay="2100"] [data-aos].aos-animate {
  transition-delay: 2.1s;
}

[data-aos][data-aos][data-aos-duration="2150"],
body[data-aos-duration="2150"] [data-aos] {
  transition-duration: 2.15s;
}

[data-aos][data-aos][data-aos-delay="2150"],
body[data-aos-delay="2150"] [data-aos] {
  transition-delay: 0;
}

[data-aos][data-aos][data-aos-delay="2150"].aos-animate,
body[data-aos-delay="2150"] [data-aos].aos-animate {
  transition-delay: 2.15s;
}

[data-aos][data-aos][data-aos-duration="2200"],
body[data-aos-duration="2200"] [data-aos] {
  transition-duration: 2.2s;
}

[data-aos][data-aos][data-aos-delay="2200"],
body[data-aos-delay="2200"] [data-aos] {
  transition-delay: 0;
}

[data-aos][data-aos][data-aos-delay="2200"].aos-animate,
body[data-aos-delay="2200"] [data-aos].aos-animate {
  transition-delay: 2.2s;
}

[data-aos][data-aos][data-aos-duration="2250"],
body[data-aos-duration="2250"] [data-aos] {
  transition-duration: 2.25s;
}

[data-aos][data-aos][data-aos-delay="2250"],
body[data-aos-delay="2250"] [data-aos] {
  transition-delay: 0;
}

[data-aos][data-aos][data-aos-delay="2250"].aos-animate,
body[data-aos-delay="2250"] [data-aos].aos-animate {
  transition-delay: 2.25s;
}

[data-aos][data-aos][data-aos-duration="2300"],
body[data-aos-duration="2300"] [data-aos] {
  transition-duration: 2.3s;
}

[data-aos][data-aos][data-aos-delay="2300"],
body[data-aos-delay="2300"] [data-aos] {
  transition-delay: 0;
}

[data-aos][data-aos][data-aos-delay="2300"].aos-animate,
body[data-aos-delay="2300"] [data-aos].aos-animate {
  transition-delay: 2.3s;
}

[data-aos][data-aos][data-aos-duration="2350"],
body[data-aos-duration="2350"] [data-aos] {
  transition-duration: 2.35s;
}

[data-aos][data-aos][data-aos-delay="2350"],
body[data-aos-delay="2350"] [data-aos] {
  transition-delay: 0;
}

[data-aos][data-aos][data-aos-delay="2350"].aos-animate,
body[data-aos-delay="2350"] [data-aos].aos-animate {
  transition-delay: 2.35s;
}

[data-aos][data-aos][data-aos-duration="2400"],
body[data-aos-duration="2400"] [data-aos] {
  transition-duration: 2.4s;
}

[data-aos][data-aos][data-aos-delay="2400"],
body[data-aos-delay="2400"] [data-aos] {
  transition-delay: 0;
}

[data-aos][data-aos][data-aos-delay="2400"].aos-animate,
body[data-aos-delay="2400"] [data-aos].aos-animate {
  transition-delay: 2.4s;
}

[data-aos][data-aos][data-aos-duration="2450"],
body[data-aos-duration="2450"] [data-aos] {
  transition-duration: 2.45s;
}

[data-aos][data-aos][data-aos-delay="2450"],
body[data-aos-delay="2450"] [data-aos] {
  transition-delay: 0;
}

[data-aos][data-aos][data-aos-delay="2450"].aos-animate,
body[data-aos-delay="2450"] [data-aos].aos-animate {
  transition-delay: 2.45s;
}

[data-aos][data-aos][data-aos-duration="2500"],
body[data-aos-duration="2500"] [data-aos] {
  transition-duration: 2.5s;
}

[data-aos][data-aos][data-aos-delay="2500"],
body[data-aos-delay="2500"] [data-aos] {
  transition-delay: 0;
}

[data-aos][data-aos][data-aos-delay="2500"].aos-animate,
body[data-aos-delay="2500"] [data-aos].aos-animate {
  transition-delay: 2.5s;
}

[data-aos][data-aos][data-aos-duration="2550"],
body[data-aos-duration="2550"] [data-aos] {
  transition-duration: 2.55s;
}

[data-aos][data-aos][data-aos-delay="2550"],
body[data-aos-delay="2550"] [data-aos] {
  transition-delay: 0;
}

[data-aos][data-aos][data-aos-delay="2550"].aos-animate,
body[data-aos-delay="2550"] [data-aos].aos-animate {
  transition-delay: 2.55s;
}

[data-aos][data-aos][data-aos-duration="2600"],
body[data-aos-duration="2600"] [data-aos] {
  transition-duration: 2.6s;
}

[data-aos][data-aos][data-aos-delay="2600"],
body[data-aos-delay="2600"] [data-aos] {
  transition-delay: 0;
}

[data-aos][data-aos][data-aos-delay="2600"].aos-animate,
body[data-aos-delay="2600"] [data-aos].aos-animate {
  transition-delay: 2.6s;
}

[data-aos][data-aos][data-aos-duration="2650"],
body[data-aos-duration="2650"] [data-aos] {
  transition-duration: 2.65s;
}

[data-aos][data-aos][data-aos-delay="2650"],
body[data-aos-delay="2650"] [data-aos] {
  transition-delay: 0;
}

[data-aos][data-aos][data-aos-delay="2650"].aos-animate,
body[data-aos-delay="2650"] [data-aos].aos-animate {
  transition-delay: 2.65s;
}

[data-aos][data-aos][data-aos-duration="2700"],
body[data-aos-duration="2700"] [data-aos] {
  transition-duration: 2.7s;
}

[data-aos][data-aos][data-aos-delay="2700"],
body[data-aos-delay="2700"] [data-aos] {
  transition-delay: 0;
}

[data-aos][data-aos][data-aos-delay="2700"].aos-animate,
body[data-aos-delay="2700"] [data-aos].aos-animate {
  transition-delay: 2.7s;
}

[data-aos][data-aos][data-aos-duration="2750"],
body[data-aos-duration="2750"] [data-aos] {
  transition-duration: 2.75s;
}

[data-aos][data-aos][data-aos-delay="2750"],
body[data-aos-delay="2750"] [data-aos] {
  transition-delay: 0;
}

[data-aos][data-aos][data-aos-delay="2750"].aos-animate,
body[data-aos-delay="2750"] [data-aos].aos-animate {
  transition-delay: 2.75s;
}

[data-aos][data-aos][data-aos-duration="2800"],
body[data-aos-duration="2800"] [data-aos] {
  transition-duration: 2.8s;
}

[data-aos][data-aos][data-aos-delay="2800"],
body[data-aos-delay="2800"] [data-aos] {
  transition-delay: 0;
}

[data-aos][data-aos][data-aos-delay="2800"].aos-animate,
body[data-aos-delay="2800"] [data-aos].aos-animate {
  transition-delay: 2.8s;
}

[data-aos][data-aos][data-aos-duration="2850"],
body[data-aos-duration="2850"] [data-aos] {
  transition-duration: 2.85s;
}

[data-aos][data-aos][data-aos-delay="2850"],
body[data-aos-delay="2850"] [data-aos] {
  transition-delay: 0;
}

[data-aos][data-aos][data-aos-delay="2850"].aos-animate,
body[data-aos-delay="2850"] [data-aos].aos-animate {
  transition-delay: 2.85s;
}

[data-aos][data-aos][data-aos-duration="2900"],
body[data-aos-duration="2900"] [data-aos] {
  transition-duration: 2.9s;
}

[data-aos][data-aos][data-aos-delay="2900"],
body[data-aos-delay="2900"] [data-aos] {
  transition-delay: 0;
}

[data-aos][data-aos][data-aos-delay="2900"].aos-animate,
body[data-aos-delay="2900"] [data-aos].aos-animate {
  transition-delay: 2.9s;
}

[data-aos][data-aos][data-aos-duration="2950"],
body[data-aos-duration="2950"] [data-aos] {
  transition-duration: 2.95s;
}

[data-aos][data-aos][data-aos-delay="2950"],
body[data-aos-delay="2950"] [data-aos] {
  transition-delay: 0;
}

[data-aos][data-aos][data-aos-delay="2950"].aos-animate,
body[data-aos-delay="2950"] [data-aos].aos-animate {
  transition-delay: 2.95s;
}

[data-aos][data-aos][data-aos-duration="3000"],
body[data-aos-duration="3000"] [data-aos] {
  transition-duration: 3s;
}

[data-aos][data-aos][data-aos-delay="3000"],
body[data-aos-delay="3000"] [data-aos] {
  transition-delay: 0;
}

[data-aos][data-aos][data-aos-delay="3000"].aos-animate,
body[data-aos-delay="3000"] [data-aos].aos-animate {
  transition-delay: 3s;
}

[data-aos][data-aos][data-aos-easing=linear],
body[data-aos-easing=linear] [data-aos] {
  transition-timing-function: cubic-bezier(.25, .25, .75, .75);
}

[data-aos][data-aos][data-aos-easing=ease],
body[data-aos-easing=ease] [data-aos] {
  transition-timing-function: ease;
}

[data-aos][data-aos][data-aos-easing=ease-in],
body[data-aos-easing=ease-in] [data-aos] {
  transition-timing-function: ease-in;
}

[data-aos][data-aos][data-aos-easing=ease-out],
body[data-aos-easing=ease-out] [data-aos] {
  transition-timing-function: ease-out;
}

[data-aos][data-aos][data-aos-easing=ease-in-out],
body[data-aos-easing=ease-in-out] [data-aos] {
  transition-timing-function: ease-in-out;
}

[data-aos][data-aos][data-aos-easing=ease-in-back],
body[data-aos-easing=ease-in-back] [data-aos] {
  transition-timing-function: cubic-bezier(.6, -.28, .735, .045);
}

[data-aos][data-aos][data-aos-easing=ease-out-back],
body[data-aos-easing=ease-out-back] [data-aos] {
  transition-timing-function: cubic-bezier(.175, .885, .32, 1.275);
}

[data-aos][data-aos][data-aos-easing=ease-in-out-back],
body[data-aos-easing=ease-in-out-back] [data-aos] {
  transition-timing-function: cubic-bezier(.68, -.55, .265, 1.55);
}

[data-aos][data-aos][data-aos-easing=ease-in-sine],
body[data-aos-easing=ease-in-sine] [data-aos] {
  transition-timing-function: cubic-bezier(.47, 0, .745, .715);
}

[data-aos][data-aos][data-aos-easing=ease-out-sine],
body[data-aos-easing=ease-out-sine] [data-aos] {
  transition-timing-function: cubic-bezier(.39, .575, .565, 1);
}

[data-aos][data-aos][data-aos-easing=ease-in-out-sine],
body[data-aos-easing=ease-in-out-sine] [data-aos] {
  transition-timing-function: cubic-bezier(.445, .05, .55, .95);
}

[data-aos][data-aos][data-aos-easing=ease-in-quad],
body[data-aos-easing=ease-in-quad] [data-aos] {
  transition-timing-function: cubic-bezier(.55, .085, .68, .53);
}

[data-aos][data-aos][data-aos-easing=ease-out-quad],
body[data-aos-easing=ease-out-quad] [data-aos] {
  transition-timing-function: cubic-bezier(.25, .46, .45, .94);
}

[data-aos][data-aos][data-aos-easing=ease-in-out-quad],
body[data-aos-easing=ease-in-out-quad] [data-aos] {
  transition-timing-function: cubic-bezier(.455, .03, .515, .955);
}

[data-aos][data-aos][data-aos-easing=ease-in-cubic],
body[data-aos-easing=ease-in-cubic] [data-aos] {
  transition-timing-function: cubic-bezier(.55, .085, .68, .53);
}

[data-aos][data-aos][data-aos-easing=ease-out-cubic],
body[data-aos-easing=ease-out-cubic] [data-aos] {
  transition-timing-function: cubic-bezier(.25, .46, .45, .94);
}

[data-aos][data-aos][data-aos-easing=ease-in-out-cubic],
body[data-aos-easing=ease-in-out-cubic] [data-aos] {
  transition-timing-function: cubic-bezier(.455, .03, .515, .955);
}

[data-aos][data-aos][data-aos-easing=ease-in-quart],
body[data-aos-easing=ease-in-quart] [data-aos] {
  transition-timing-function: cubic-bezier(.55, .085, .68, .53);
}

[data-aos][data-aos][data-aos-easing=ease-out-quart],
body[data-aos-easing=ease-out-quart] [data-aos] {
  transition-timing-function: cubic-bezier(.25, .46, .45, .94);
}

[data-aos][data-aos][data-aos-easing=ease-in-out-quart],
body[data-aos-easing=ease-in-out-quart] [data-aos] {
  transition-timing-function: cubic-bezier(.455, .03, .515, .955);
}

[data-aos^=fade][data-aos^=fade] {
  opacity: 0;
  transition-property: opacity, transform;
}

[data-aos^=fade][data-aos^=fade].aos-animate {
  opacity: 1;
  transform: translateZ(0);
}

[data-aos=fade-up] {
  transform: translate3d(0, 100px, 0);
}

[data-aos=fade-down] {
  transform: translate3d(0, -100px, 0);
}

[data-aos=fade-right] {
  transform: translate3d(-100px, 0, 0);
}

[data-aos=fade-left] {
  transform: translate3d(100px, 0, 0);
}

[data-aos=fade-up-right] {
  transform: translate3d(-100px, 100px, 0);
}

[data-aos=fade-up-left] {
  transform: translate3d(100px, 100px, 0);
}

[data-aos=fade-down-right] {
  transform: translate3d(-100px, -100px, 0);
}

[data-aos=fade-down-left] {
  transform: translate3d(100px, -100px, 0);
}

[data-aos^=zoom][data-aos^=zoom] {
  opacity: 0;
  transition-property: opacity, transform;
}

[data-aos^=zoom][data-aos^=zoom].aos-animate {
  opacity: 1;
  transform: translateZ(0) scale(1);
}

[data-aos=zoom-in] {
  transform: scale(.6);
}

[data-aos=zoom-in-up] {
  transform: translate3d(0, 100px, 0) scale(.6);
}

[data-aos=zoom-in-down] {
  transform: translate3d(0, -100px, 0) scale(.6);
}

[data-aos=zoom-in-right] {
  transform: translate3d(-100px, 0, 0) scale(.6);
}

[data-aos=zoom-in-left] {
  transform: translate3d(100px, 0, 0) scale(.6);
}

[data-aos=zoom-out] {
  transform: scale(1.2);
}

[data-aos=zoom-out-up] {
  transform: translate3d(0, 100px, 0) scale(1.2);
}

[data-aos=zoom-out-down] {
  transform: translate3d(0, -100px, 0) scale(1.2);
}

[data-aos=zoom-out-right] {
  transform: translate3d(-100px, 0, 0) scale(1.2);
}

[data-aos=zoom-out-left] {
  transform: translate3d(100px, 0, 0) scale(1.2);
}

[data-aos^=slide][data-aos^=slide] {
  transition-property: transform;
}

[data-aos^=slide][data-aos^=slide].aos-animate {
  transform: translateZ(0);
}

[data-aos=slide-up] {
  transform: translate3d(0, 100%, 0);
}

[data-aos=slide-down] {
  transform: translate3d(0, -100%, 0);
}

[data-aos=slide-right] {
  transform: translate3d(-100%, 0, 0);
}

[data-aos=slide-left] {
  transform: translate3d(100%, 0, 0);
}

[data-aos^=flip][data-aos^=flip] {
  backface-visibility: hidden;
  transition-property: transform;
}

[data-aos=flip-left] {
  transform: perspective(2500px) rotateY(-100deg);
}

[data-aos=flip-left].aos-animate {
  transform: perspective(2500px) rotateY(0);
}

[data-aos=flip-right] {
  transform: perspective(2500px) rotateY(100deg);
}

[data-aos=flip-right].aos-animate {
  transform: perspective(2500px) rotateY(0);
}

[data-aos=flip-up] {
  transform: perspective(2500px) rotateX(-100deg);
}

[data-aos=flip-up].aos-animate {
  transform: perspective(2500px) rotateX(0);
}

[data-aos=flip-down] {
  transform: perspective(2500px) rotateX(100deg);
}

[data-aos=flip-down].aos-animate {
  transform: perspective(2500px) rotateX(0);
}

body.compensate-for-scrollbar {
  overflow: hidden;
}

.fancybox-active {
  height: auto;
}

.fancybox-is-hidden {
  left: -9999px;
  margin: 0;
  position: absolute !important;
  top: -9999px;
  visibility: hidden;
}

.fancybox-container {
  -webkit-backface-visibility: hidden;
  height: 100%;
  left: 0;
  outline: 0;
  position: fixed;
  -webkit-tap-highlight-color: transparent;
  top: 0;
  -ms-touch-action: manipulation;
  touch-action: manipulation;
  transform: translateZ(0);
  width: 100%;
  z-index: 99992;
}

.fancybox-container * {
  box-sizing: border-box;
}

.fancybox-bg,
.fancybox-inner,
.fancybox-outer,
.fancybox-stage {
  bottom: 0;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
}

.fancybox-outer {
  -webkit-overflow-scrolling: touch;
  overflow-y: auto;
}

.fancybox-bg {
  background: #1e1e1e;
  opacity: 0;
  transition-duration: inherit;
  transition-property: opacity;
  transition-timing-function: cubic-bezier(.47, 0, .74, .71);
}

.fancybox-is-open .fancybox-bg {
  opacity: .9;
  transition-timing-function: cubic-bezier(.22, .61, .36, 1);
}

.fancybox-caption,
.fancybox-infobar,
.fancybox-navigation .fancybox-button,
.fancybox-toolbar {
  direction: ltr;
  opacity: 0;
  position: absolute;
  transition: opacity .25s ease, visibility 0s ease .25s;
  visibility: hidden;
  z-index: 99997;
}

.fancybox-show-caption .fancybox-caption,
.fancybox-show-infobar .fancybox-infobar,
.fancybox-show-nav .fancybox-navigation .fancybox-button,
.fancybox-show-toolbar .fancybox-toolbar {
  opacity: 1;
  transition: opacity .25s ease 0s, visibility 0s ease 0s;
  visibility: visible;
}

.fancybox-infobar {
  color: #ccc;
  font-size: 13px;
  -webkit-font-smoothing: subpixel-antialiased;
  height: 44px;
  left: 0;
  line-height: 44px;
  min-width: 44px;
  mix-blend-mode: difference;
  padding: 0 10px;
  pointer-events: none;
  top: 0;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.fancybox-toolbar {
  right: 0;
  top: 0;
}

.fancybox-stage {
  direction: ltr;
  overflow: visible;
  transform: translateZ(0);
  z-index: 99994;
}

.fancybox-is-open .fancybox-stage {
  overflow: hidden;
}

.fancybox-slide {
  -webkit-backface-visibility: hidden;
  display: none;
  height: 100%;
  left: 0;
  outline: 0;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
  padding: 44px;
  position: absolute;
  text-align: center;
  top: 0;
  transition-property: transform, opacity;
  white-space: normal;
  width: 100%;
  z-index: 99994;
}

.fancybox-slide::before {
  content: '';
  display: inline-block;
  font-size: 0;
  height: 100%;
  vertical-align: middle;
  width: 0;
}

.fancybox-is-sliding .fancybox-slide,
.fancybox-slide--current,
.fancybox-slide--next,
.fancybox-slide--previous {
  display: block;
}

.fancybox-slide--image {
  overflow: hidden;
  padding: 44px 0;
}

.fancybox-slide--image::before {
  display: none;
}

.fancybox-slide--html {
  padding: 6px;
}

.fancybox-content {
  background: #fff;
  display: inline-block;
  margin: 0;
  max-width: 100%;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
  padding: 44px;
  position: relative;
  text-align: left;
  vertical-align: middle;
}

.fancybox-slide--image .fancybox-content {
  animation-timing-function: cubic-bezier(.5, 0, .14, 1);
  -webkit-backface-visibility: hidden;
  background: 0 0;
  background-repeat: no-repeat;
  background-size: 100% 100%;
  left: 0;
  max-width: none;
  overflow: visible;
  padding: 0;
  position: absolute;
  top: 0;
  -ms-transform-origin: top left;
  transform-origin: top left;
  transition-property: transform, opacity;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  z-index: 99995;
}

.fancybox-can-zoomOut .fancybox-content {
  cursor: zoom-out;
}

.fancybox-can-zoomIn .fancybox-content {
  cursor: zoom-in;
}

.fancybox-can-pan .fancybox-content,
.fancybox-can-swipe .fancybox-content {
  cursor: -webkit-grab;
  cursor: grab;
}

.fancybox-is-grabbing .fancybox-content {
  cursor: -webkit-grabbing;
  cursor: grabbing;
}

.fancybox-image,
.fancybox-spaceball {
  background: 0 0;
  border: 0;
  height: 100%;
  left: 0;
  margin: 0;
  max-height: none;
  max-width: none;
  padding: 0;
  position: absolute;
  top: 0;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  width: 100%;
}

.fancybox-spaceball {
  z-index: 1;
}

.fancybox-slide--iframe .fancybox-content,
.fancybox-slide--map .fancybox-content,
.fancybox-slide--pdf .fancybox-content,
.fancybox-slide--video .fancybox-content {
  height: 100%;
  overflow: visible;
  padding: 0;
  width: 100%;
}

.fancybox-slide--video .fancybox-content {
  background: #000;
}

.fancybox-slide--map .fancybox-content {
  background: #e5e3df;
}

.fancybox-slide--iframe .fancybox-content {
  background: #fff;
}

.fancybox-iframe,
.fancybox-video {
  background: 0 0;
  border: 0;
  display: block;
  height: 100%;
  margin: 0;
  overflow: hidden;
  padding: 0;
  width: 100%;
}

.fancybox-iframe {
  left: 0;
  position: absolute;
  top: 0;
}

.fancybox-error {
  background: #fff;
  cursor: default;
  max-width: 400px;
  padding: 40px;
  width: 100%;
}

.fancybox-error p {
  color: #444;
  font-size: 16px;
  line-height: 20px;
  margin: 0;
  padding: 0;
}

.fancybox-button {
  background: rgba(30, 30, 30, .6);
  border: 0;
  border-radius: 0;
  box-shadow: none;
  cursor: pointer;
  display: inline-block;
  height: 44px;
  margin: 0;
  padding: 10px;
  position: relative;
  transition: color .2s;
  vertical-align: top;
  visibility: inherit;
  width: 44px;
}

.fancybox-button,
.fancybox-button:link,
.fancybox-button:visited {
  color: #ccc;
}

.fancybox-button:hover {
  color: #fff;
}

.fancybox-button:focus {
  outline: 0;
}

.fancybox-button.fancybox-focus {
  outline: 1px dotted;
}

.fancybox-button[disabled],
.fancybox-button[disabled]:hover {
  color: #888;
  cursor: default;
  outline: 0;
}

.fancybox-button div {
  height: 100%;
}

.fancybox-button svg {
  display: block;
  height: 100%;
  overflow: visible;
  position: relative;
  width: 100%;
}

.fancybox-button svg path {
  fill: currentColor;
  stroke-width: 0;
}

.fancybox-button--fsenter svg:nth-child(2),
.fancybox-button--play svg:nth-child(2) {
  display: none;
}

.fancybox-button--fsexit svg:nth-child(1),
.fancybox-button--pause svg:nth-child(1) {
  display: none;
}

.fancybox-progress {
  background: #ff5268;
  height: 2px;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  -ms-transform: scaleX(0);
  transform: scaleX(0);
  -ms-transform-origin: 0;
  transform-origin: 0;
  transition-property: transform;
  transition-timing-function: linear;
  z-index: 99998;
}

.fancybox-close-small {
  background: 0 0;
  border: 0;
  border-radius: 0;
  color: #ccc;
  cursor: pointer;
  opacity: .8;
  padding: 8px;
  position: absolute;
  right: -12px;
  top: -44px;
  z-index: 401;
}

.fancybox-close-small:hover {
  color: #fff;
  opacity: 1;
}

.fancybox-slide--html .fancybox-close-small {
  color: currentColor;
  padding: 10px;
  right: 0;
  top: 0;
}

.fancybox-slide--image.fancybox-is-scaling .fancybox-content {
  overflow: hidden;
}

.fancybox-is-scaling .fancybox-close-small,
.fancybox-is-zoomable.fancybox-can-pan .fancybox-close-small {
  display: none;
}

.fancybox-navigation .fancybox-button {
  background-clip: content-box;
  height: 100px;
  opacity: 0;
  position: absolute;
  top: calc(50% - 50px);
  width: 70px;
}

.fancybox-navigation .fancybox-button div {
  padding: 7px;
}

.fancybox-navigation .fancybox-button--arrow_left {
  left: 0;
  left: env(safe-area-inset-left);
  padding: 31px 26px 31px 6px;
}

.fancybox-navigation .fancybox-button--arrow_right {
  padding: 31px 6px 31px 26px;
  right: 0;
  right: env(safe-area-inset-right);
}

.fancybox-caption {
  background: linear-gradient(to top, rgba(0, 0, 0, .85) 0, rgba(0, 0, 0, .3) 50%, rgba(0, 0, 0, .15) 65%, rgba(0, 0, 0, .075) 75.5%, rgba(0, 0, 0, .037) 82.85%, rgba(0, 0, 0, .019) 88%, rgba(0, 0, 0, 0) 100%);
  bottom: 0;
  color: #eee;
  font-size: 14px;
  font-weight: 400;
  left: 0;
  line-height: 1.5;
  padding: 75px 44px 25px 44px;
  pointer-events: none;
  right: 0;
  text-align: center;
  z-index: 99996;
}

@supports (padding:max(0px)) {
  .fancybox-caption {
    padding: 75px max(44px, env(safe-area-inset-right)) max(25px, env(safe-area-inset-bottom)) max(44px, env(safe-area-inset-left));
  }
}

.fancybox-caption--separate {
  margin-top: -50px;
}

.fancybox-caption__body {
  max-height: 50vh;
  overflow: auto;
  pointer-events: all;
}

.fancybox-caption a,
.fancybox-caption a:link,
.fancybox-caption a:visited {
  color: #ccc;
  text-decoration: none;
}

.fancybox-caption a:hover {
  color: #fff;
  text-decoration: underline;
}

.fancybox-loading {
  animation: fancybox-rotate 1s linear infinite;
  background: 0 0;
  border: 4px solid #888;
  border-bottom-color: #fff;
  border-radius: 50%;
  height: 50px;
  left: 50%;
  margin: -25px 0 0 -25px;
  opacity: .7;
  padding: 0;
  position: absolute;
  top: 50%;
  width: 50px;
  z-index: 99999;
}

@keyframes fancybox-rotate {
  100% {
    transform: rotate(360deg);
  }
}

.fancybox-animated {
  transition-timing-function: cubic-bezier(0, 0, .25, 1);
}

.fancybox-fx-slide.fancybox-slide--previous {
  opacity: 0;
  transform: translate3d(-100%, 0, 0);
}

.fancybox-fx-slide.fancybox-slide--next {
  opacity: 0;
  transform: translate3d(100%, 0, 0);
}

.fancybox-fx-slide.fancybox-slide--current {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}

.fancybox-fx-fade.fancybox-slide--next,
.fancybox-fx-fade.fancybox-slide--previous {
  opacity: 0;
  transition-timing-function: cubic-bezier(.19, 1, .22, 1);
}

.fancybox-fx-fade.fancybox-slide--current {
  opacity: 1;
}

.fancybox-fx-zoom-in-out.fancybox-slide--previous {
  opacity: 0;
  transform: scale3d(1.5, 1.5, 1.5);
}

.fancybox-fx-zoom-in-out.fancybox-slide--next {
  opacity: 0;
  transform: scale3d(.5, .5, .5);
}

.fancybox-fx-zoom-in-out.fancybox-slide--current {
  opacity: 1;
  transform: scale3d(1, 1, 1);
}

.fancybox-fx-rotate.fancybox-slide--previous {
  opacity: 0;
  -ms-transform: rotate(-360deg);
  transform: rotate(-360deg);
}

.fancybox-fx-rotate.fancybox-slide--next {
  opacity: 0;
  -ms-transform: rotate(360deg);
  transform: rotate(360deg);
}

.fancybox-fx-rotate.fancybox-slide--current {
  opacity: 1;
  -ms-transform: rotate(0);
  transform: rotate(0);
}

.fancybox-fx-circular.fancybox-slide--previous {
  opacity: 0;
  transform: scale3d(0, 0, 0) translate3d(-100%, 0, 0);
}

.fancybox-fx-circular.fancybox-slide--next {
  opacity: 0;
  transform: scale3d(0, 0, 0) translate3d(100%, 0, 0);
}

.fancybox-fx-circular.fancybox-slide--current {
  opacity: 1;
  transform: scale3d(1, 1, 1) translate3d(0, 0, 0);
}

.fancybox-fx-tube.fancybox-slide--previous {
  transform: translate3d(-100%, 0, 0) scale(.1) skew(-10deg);
}

.fancybox-fx-tube.fancybox-slide--next {
  transform: translate3d(100%, 0, 0) scale(.1) skew(10deg);
}

.fancybox-fx-tube.fancybox-slide--current {
  transform: translate3d(0, 0, 0) scale(1);
}

@media all and (max-height:576px) {
  .fancybox-slide {
    padding-left: 6px;
    padding-right: 6px;
  }

  .fancybox-slide--image {
    padding: 6px 0;
  }

  .fancybox-close-small {
    right: -6px;
  }

  .fancybox-slide--image .fancybox-close-small {
    background: #4e4e4e;
    color: #f2f4f6;
    height: 36px;
    opacity: 1;
    padding: 6px;
    right: 0;
    top: 0;
    width: 36px;
  }

  .fancybox-caption {
    padding-left: 12px;
    padding-right: 12px;
  }

  @supports (padding:max(0px)) {
    .fancybox-caption {
      padding-left: max(12px, env(safe-area-inset-left));
      padding-right: max(12px, env(safe-area-inset-right));
    }
  }
}

.fancybox-share {
  background: #f4f4f4;
  border-radius: 3px;
  max-width: 90%;
  padding: 30px;
  text-align: center;
}

.fancybox-share h1 {
  color: #222;
  font-size: 35px;
  font-weight: 700;
  margin: 0 0 20px 0;
}

.fancybox-share p {
  margin: 0;
  padding: 0;
}

.fancybox-share__button {
  border: 0;
  border-radius: 3px;
  display: inline-block;
  font-size: 14px;
  font-weight: 700;
  line-height: 40px;
  margin: 0 5px 10px 5px;
  min-width: 130px;
  padding: 0 15px;
  text-decoration: none;
  transition: all .2s;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  white-space: nowrap;
}

.fancybox-share__button:link,
.fancybox-share__button:visited {
  color: #fff;
}

.fancybox-share__button:hover {
  text-decoration: none;
}

.fancybox-share__button--fb {
  background: #3b5998;
}

.fancybox-share__button--fb:hover {
  background: #344e86;
}

.fancybox-share__button--pt {
  background: #bd081d;
}

.fancybox-share__button--pt:hover {
  background: #aa0719;
}

.fancybox-share__button--tw {
  background: #1da1f2;
}

.fancybox-share__button--tw:hover {
  background: #0d95e8;
}

.fancybox-share__button svg {
  height: 25px;
  margin-right: 7px;
  position: relative;
  top: -1px;
  vertical-align: middle;
  width: 25px;
}

.fancybox-share__button svg path {
  fill: #fff;
}

.fancybox-share__input {
  background: 0 0;
  border: 0;
  border-bottom: 1px solid #d7d7d7;
  border-radius: 0;
  color: #5d5b5b;
  font-size: 14px;
  margin: 10px 0 0 0;
  outline: 0;
  padding: 10px 15px;
  width: 100%;
}

.fancybox-thumbs {
  background: #ddd;
  bottom: 0;
  display: none;
  margin: 0;
  -webkit-overflow-scrolling: touch;
  -ms-overflow-style: -ms-autohiding-scrollbar;
  padding: 2px 2px 4px 2px;
  position: absolute;
  right: 0;
  -webkit-tap-highlight-color: transparent;
  top: 0;
  width: 212px;
  z-index: 99995;
}

.fancybox-thumbs-x {
  overflow-x: auto;
  overflow-y: hidden;
}

.fancybox-show-thumbs .fancybox-thumbs {
  display: block;
}

.fancybox-show-thumbs .fancybox-inner {
  right: 212px;
}

.fancybox-thumbs__list {
  font-size: 0;
  height: 100%;
  list-style: none;
  margin: 0;
  overflow-x: hidden;
  overflow-y: auto;
  padding: 0;
  position: absolute;
  position: relative;
  white-space: nowrap;
  width: 100%;
}

.fancybox-thumbs-x .fancybox-thumbs__list {
  overflow: hidden;
}

.fancybox-thumbs-y .fancybox-thumbs__list::-webkit-scrollbar {
  width: 7px;
}

.fancybox-thumbs-y .fancybox-thumbs__list::-webkit-scrollbar-track {
  background: #fff;
  border-radius: 10px;
  box-shadow: inset 0 0 6px rgba(0, 0, 0, .3);
}

.fancybox-thumbs-y .fancybox-thumbs__list::-webkit-scrollbar-thumb {
  background: #2a2a2a;
  border-radius: 10px;
}

.fancybox-thumbs__list a {
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  background-color: rgba(0, 0, 0, .1);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  cursor: pointer;
  float: left;
  height: 75px;
  margin: 2px;
  max-height: calc(100% - 8px);
  max-width: calc(50% - 4px);
  outline: 0;
  overflow: hidden;
  padding: 0;
  position: relative;
  -webkit-tap-highlight-color: transparent;
  width: 100px;
}

.fancybox-thumbs__list a::before {
  border: 6px solid #ff5268;
  bottom: 0;
  content: '';
  left: 0;
  opacity: 0;
  position: absolute;
  right: 0;
  top: 0;
  transition: all .2s cubic-bezier(.25, .46, .45, .94);
  z-index: 99991;
}

.fancybox-thumbs__list a:focus::before {
  opacity: .5;
}

.fancybox-thumbs__list a.fancybox-thumbs-active::before {
  opacity: 1;
}

@media all and (max-width:576px) {
  .fancybox-thumbs {
    width: 110px;
  }

  .fancybox-show-thumbs .fancybox-inner {
    right: 110px;
  }

  .fancybox-thumbs__list a {
    max-width: calc(100% - 10px);
  }
}

/*!
 * justifiedGallery - v3.8.1
 * http://miromannino.github.io/Justified-Gallery/
 * Copyright (c) 2020 Miro Mannino
 * Licensed under the MIT license.
 */
.justified-gallery {
  width: 100%;
  position: relative;
  overflow: hidden;
}

.justified-gallery>a,
.justified-gallery>div,
.justified-gallery>figure {
  position: absolute;
  display: inline-block;
  overflow: hidden;
  filter: "alpha(opacity=10)";
  opacity: .1;
  margin: 0;
  padding: 0;
}

.justified-gallery>a>a>img,
.justified-gallery>a>a>svg,
.justified-gallery>a>img,
.justified-gallery>a>svg,
.justified-gallery>div>a>img,
.justified-gallery>div>a>svg,
.justified-gallery>div>img,
.justified-gallery>div>svg,
.justified-gallery>figure>a>img,
.justified-gallery>figure>a>svg,
.justified-gallery>figure>img,
.justified-gallery>figure>svg {
  position: absolute;
  top: 50%;
  left: 50%;
  margin: 0;
  padding: 0;
  border: none;
  filter: "alpha(opacity=0)";
  opacity: 0;
}

.justified-gallery>a>.jg-caption,
.justified-gallery>div>.jg-caption,
.justified-gallery>figure>.jg-caption {
  display: none;
  position: absolute;
  bottom: 0;
  padding: 5px;
  background-color: #000;
  left: 0;
  right: 0;
  margin: 0;
  color: #fff;
  font-size: 12px;
  font-weight: 300;
  font-family: sans-serif;
}

.justified-gallery>a>.jg-caption.jg-caption-visible,
.justified-gallery>div>.jg-caption.jg-caption-visible,
.justified-gallery>figure>.jg-caption.jg-caption-visible {
  display: initial;
  filter: "alpha(opacity=70)";
  opacity: .7;
  -webkit-transition: opacity .5s ease-in;
  -moz-transition: opacity .5s ease-in;
  -o-transition: opacity .5s ease-in;
  transition: opacity .5s ease-in;
}

.justified-gallery>.jg-entry-visible {
  filter: "alpha(opacity=100)";
  opacity: 1;
  background: 0 0;
}

.justified-gallery>.jg-entry-visible>a>img,
.justified-gallery>.jg-entry-visible>a>svg,
.justified-gallery>.jg-entry-visible>img,
.justified-gallery>.jg-entry-visible>svg {
  filter: "alpha(opacity=100)";
  opacity: 1;
  -webkit-transition: opacity .5s ease-in;
  -moz-transition: opacity .5s ease-in;
  -o-transition: opacity .5s ease-in;
  transition: opacity .5s ease-in;
}

.justified-gallery>.jg-filtered {
  display: none;
}

.justified-gallery>.jg-spinner {
  position: absolute;
  bottom: 0;
  margin-left: -24px;
  padding: 10px 0 10px 0;
  left: 50%;
  filter: "alpha(opacity=100)";
  opacity: 1;
  overflow: initial;
}

.justified-gallery>.jg-spinner>span {
  display: inline-block;
  filter: "alpha(opacity=0)";
  opacity: 0;
  width: 8px;
  height: 8px;
  margin: 0 4px 0 4px;
  background-color: #000;
  border-radius: 6px;
}

.sf-menu,
.sf-menu * {
  margin: 0;
  /*padding:0;*/
  list-style: none;
}

.sf-menu li {
  position: relative;
}

.sf-menu ul {
  position: absolute;
  display: none;
  top: 100%;
  left: 0;
  z-index: 99;
}

.sf-menu a,
.sf-menu li.sfHover>ul,
.sf-menu li:hover>ul {
  display: block;
}

.sf-menu>li {
  float: left;
}

.sf-menu a {
  position: relative;
}

.sf-menu ul ul {
  top: 0;
  left: 100%;
  margin-left: 3px;
}

.sf-menu>li.left>ul {
  left: auto;
  right: 0;
}

.sf-menu ul li.left>ul {
  left: auto;
  right: 100%;
  margin-right: 3px;
}

.sf-menu .sf-mega {
  position: absolute;
  display: none;
  top: 100%;
  left: 0;
  z-index: 99;
}

.sf-menu li.sfHover>.sf-mega,
.sf-menu li:hover>.sf-mega {
  display: block;
}

@font-face {
  font-family: swiper-icons;
  src: url("data:application/font-woff;charset=utf-8;base64, d09GRgABAAAAAAZgABAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAGRAAAABoAAAAci6qHkUdERUYAAAWgAAAAIwAAACQAYABXR1BPUwAABhQAAAAuAAAANuAY7+xHU1VCAAAFxAAAAFAAAABm2fPczU9TLzIAAAHcAAAASgAAAGBP9V5RY21hcAAAAkQAAACIAAABYt6F0cBjdnQgAAACzAAAAAQAAAAEABEBRGdhc3AAAAWYAAAACAAAAAj//wADZ2x5ZgAAAywAAADMAAAD2MHtryVoZWFkAAABbAAAADAAAAA2E2+eoWhoZWEAAAGcAAAAHwAAACQC9gDzaG10eAAAAigAAAAZAAAArgJkABFsb2NhAAAC0AAAAFoAAABaFQAUGG1heHAAAAG8AAAAHwAAACAAcABAbmFtZQAAA/gAAAE5AAACXvFdBwlwb3N0AAAFNAAAAGIAAACE5s74hXjaY2BkYGAAYpf5Hu/j+W2+MnAzMYDAzaX6QjD6/4//Bxj5GA8AuRwMYGkAPywL13jaY2BkYGA88P8Agx4j+/8fQDYfA1AEBWgDAIB2BOoAeNpjYGRgYNBh4GdgYgABEMnIABJzYNADCQAACWgAsQB42mNgYfzCOIGBlYGB0YcxjYGBwR1Kf2WQZGhhYGBiYGVmgAFGBiQQkOaawtDAoMBQxXjg/wEGPcYDDA4wNUA2CCgwsAAAO4EL6gAAeNpj2M0gyAACqxgGNWBkZ2D4/wMA+xkDdgAAAHjaY2BgYGaAYBkGRgYQiAHyGMF8FgYHIM3DwMHABGQrMOgyWDLEM1T9/w8UBfEMgLzE////P/5//f/V/xv+r4eaAAeMbAxwIUYmIMHEgKYAYjUcsDAwsLKxc3BycfPw8jEQA/gZBASFhEVExcQlJKWkZWTl5BUUlZRVVNXUNTQZBgMAAMR+E+gAEQFEAAAAKgAqACoANAA+AEgAUgBcAGYAcAB6AIQAjgCYAKIArAC2AMAAygDUAN4A6ADyAPwBBgEQARoBJAEuATgBQgFMAVYBYAFqAXQBfgGIAZIBnAGmAbIBzgHsAAB42u2NMQ6CUAyGW568x9AneYYgm4MJbhKFaExIOAVX8ApewSt4Bic4AfeAid3VOBixDxfPYEza5O+Xfi04YADggiUIULCuEJK8VhO4bSvpdnktHI5QCYtdi2sl8ZnXaHlqUrNKzdKcT8cjlq+rwZSvIVczNiezsfnP/uznmfPFBNODM2K7MTQ45YEAZqGP81AmGGcF3iPqOop0r1SPTaTbVkfUe4HXj97wYE+yNwWYxwWu4v1ugWHgo3S1XdZEVqWM7ET0cfnLGxWfkgR42o2PvWrDMBSFj/IHLaF0zKjRgdiVMwScNRAoWUoH78Y2icB/yIY09An6AH2Bdu/UB+yxopYshQiEvnvu0dURgDt8QeC8PDw7Fpji3fEA4z/PEJ6YOB5hKh4dj3EvXhxPqH/SKUY3rJ7srZ4FZnh1PMAtPhwP6fl2PMJMPDgeQ4rY8YT6Gzao0eAEA409DuggmTnFnOcSCiEiLMgxCiTI6Cq5DZUd3Qmp10vO0LaLTd2cjN4fOumlc7lUYbSQcZFkutRG7g6JKZKy0RmdLY680CDnEJ+UMkpFFe1RN7nxdVpXrC4aTtnaurOnYercZg2YVmLN/d/gczfEimrE/fs/bOuq29Zmn8tloORaXgZgGa78yO9/cnXm2BpaGvq25Dv9S4E9+5SIc9PqupJKhYFSSl47+Qcr1mYNAAAAeNptw0cKwkAAAMDZJA8Q7OUJvkLsPfZ6zFVERPy8qHh2YER+3i/BP83vIBLLySsoKimrqKqpa2hp6+jq6RsYGhmbmJqZSy0sraxtbO3sHRydnEMU4uR6yx7JJXveP7WrDycAAAAAAAH//wACeNpjYGRgYOABYhkgZgJCZgZNBkYGLQZtIJsFLMYAAAw3ALgAeNolizEKgDAQBCchRbC2sFER0YD6qVQiBCv/H9ezGI6Z5XBAw8CBK/m5iQQVauVbXLnOrMZv2oLdKFa8Pjuru2hJzGabmOSLzNMzvutpB3N42mNgZGBg4GKQYzBhYMxJLMlj4GBgAYow/P/PAJJhLM6sSoWKfWCAAwDAjgbRAAB42mNgYGBkAIIbCZo5IPrmUn0hGA0AO8EFTQAA") format("woff");
  font-weight: 400;
  font-style: normal;
}

:root {
  --swiper-theme-color: var(--rb-blue);
}

.swiper-container {
  margin-left: auto;
  margin-right: auto;
  position: relative;
  overflow: hidden;
  list-style: none;
  padding: 0;
  z-index: 1;
}

.swiper-container-vertical>.swiper-wrapper {
  flex-direction: column;
}

.swiper-wrapper {
  position: relative;
  width: 100%;
  height: 100%;
  z-index: 1;
  display: flex;
  transition-property: transform;
  box-sizing: content-box;
}

.swiper-container-android .swiper-slide,
.swiper-wrapper {
  transform: translate3d(0, 0, 0);
}

.swiper-container-multirow>.swiper-wrapper {
  flex-wrap: wrap;
}

.swiper-container-multirow-column>.swiper-wrapper {
  flex-wrap: wrap;
  flex-direction: column;
}

.swiper-container-free-mode>.swiper-wrapper {
  transition-timing-function: ease-out;
  margin: 0 auto;
}

.swiper-slide {
  flex-shrink: 0;
  width: 100%;
  height: 100%;
  position: relative;
  transition-property: transform;
}

.swiper-container-autoheight,
.swiper-container-autoheight .swiper-slide {
  height: auto;
}

.swiper-container-autoheight .swiper-wrapper {
  align-items: flex-start;
  transition-property: transform, height;
}

.swiper-container-3d {
  perspective: 1200px;
}

.swiper-container-3d .swiper-cube-shadow,
.swiper-container-3d .swiper-slide,
.swiper-container-3d .swiper-slide-shadow-bottom,
.swiper-container-3d .swiper-slide-shadow-left,
.swiper-container-3d .swiper-slide-shadow-right,
.swiper-container-3d .swiper-slide-shadow-top,
.swiper-container-3d .swiper-wrapper {
  transform-style: preserve-3d;
}

.swiper-container-3d .swiper-slide-shadow-bottom,
.swiper-container-3d .swiper-slide-shadow-left,
.swiper-container-3d .swiper-slide-shadow-right,
.swiper-container-3d .swiper-slide-shadow-top {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 10;
}

.swiper-container-3d .swiper-slide-shadow-left {
  background-image: linear-gradient(to left, rgba(0, 0, 0, .5), rgba(0, 0, 0, 0));
}

.swiper-container-3d .swiper-slide-shadow-right {
  background-image: linear-gradient(to right, rgba(0, 0, 0, .5), rgba(0, 0, 0, 0));
}

.swiper-container-3d .swiper-slide-shadow-top {
  background-image: linear-gradient(to top, rgba(0, 0, 0, .5), rgba(0, 0, 0, 0));
}

.swiper-container-3d .swiper-slide-shadow-bottom {
  background-image: linear-gradient(to bottom, rgba(0, 0, 0, .5), rgba(0, 0, 0, 0));
}

.swiper-container-css-mode>.swiper-wrapper {
  overflow: auto;
  scrollbar-width: none;
  -ms-overflow-style: none;
}

.swiper-container-css-mode>.swiper-wrapper::-webkit-scrollbar {
  display: none;
}

.swiper-container-css-mode>.swiper-wrapper>.swiper-slide {
  scroll-snap-align: start start;
}

.swiper-container-horizontal.swiper-container-css-mode>.swiper-wrapper {
  scroll-snap-type: x mandatory;
}

.swiper-container-vertical.swiper-container-css-mode>.swiper-wrapper {
  scroll-snap-type: y mandatory;
}

.swiper-button-next,
.swiper-button-prev {
  position: absolute;
  top: 50%;
  width: calc(var(--swiper-navigation-size)/ 44 * 27);
  height: var(--swiper-navigation-size);
  margin-top: calc(-1 * var(--swiper-navigation-size)/ 2);
  z-index: 10;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--swiper-navigation-color, var(--swiper-theme-color));
}

.swiper-button-next:after,
.swiper-button-prev:after {
  font-family: swiper-icons;
  font-size: var(--swiper-navigation-size);
  text-transform: none !important;
  letter-spacing: 0;
  text-transform: none;
  font-variant: initial;
  line-height: 1;
}

.swiper-button-prev,
.swiper-container-rtl .swiper-button-next {
  left: 10px;
  right: auto;
}

.swiper-button-prev:after,
.swiper-container-rtl .swiper-button-next:after {
  content: 'prev';
}

.swiper-button-next,
.swiper-container-rtl .swiper-button-prev {
  right: 10px;
  left: auto;
}

.swiper-button-next:after,
.swiper-container-rtl .swiper-button-prev:after {
  content: 'next';
}

.swiper-button-next.swiper-button-white,
.swiper-button-prev.swiper-button-white {
  --swiper-navigation-color: #ffffff;
}

.swiper-button-next.swiper-button-black,
.swiper-button-prev.swiper-button-black {
  --swiper-navigation-color: #000000;
}

.swiper-container-horizontal>.swiper-pagination-bullets,
.swiper-pagination-custom,
.swiper-pagination-fraction {
  bottom: 10px;
  left: 0;
  width: 100%;
}

.swiper-pagination-bullet {
  width: 8px;
  height: 8px;
  display: inline-block;
  border-radius: 100%;
  background: #000;
  opacity: .2;
}

button.swiper-pagination-bullet {
  border: none;
  margin: 0;
  padding: 0;
  box-shadow: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

.swiper-pagination-bullet-active {
  opacity: 1;
  background: var(--swiper-pagination-color, var(--swiper-theme-color));
}

.swiper-container-vertical>.swiper-pagination-bullets {
  right: 10px;
  top: 50%;
  transform: translate3d(0, -50%, 0);
}

.swiper-container-vertical>.swiper-pagination-bullets .swiper-pagination-bullet {
  margin: 6px 0;
  display: block;
}

.swiper-container-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
  top: 50%;
  transform: translateY(-50%);
  width: 8px;
}

.swiper-container-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  display: inline-block;
  transition: .2s transform, .2s top;
}

.swiper-container-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet {
  margin: 0 4px;
}

.swiper-container-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
  left: 50%;
  transform: translateX(-50%);
  white-space: nowrap;
}

.swiper-container-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  transition: .2s transform, .2s left;
}

.swiper-container-horizontal.swiper-container-rtl>.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  transition: .2s transform, .2s right;
}

.swiper-pagination-progressbar {
  background: rgba(0, 0, 0, .25);
  position: absolute;
}

.swiper-container-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
  transform-origin: right top;
}

.swiper-container-horizontal>.swiper-pagination-progressbar,
.swiper-container-vertical>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite {
  width: 100%;
  height: 4px;
  left: 0;
  top: 0;
}

.swiper-container-horizontal>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,
.swiper-container-vertical>.swiper-pagination-progressbar {
  width: 4px;
  height: 100%;
  left: 0;
  top: 0;
}

.swiper-pagination-white {
  --swiper-pagination-color: #ffffff;
}

.swiper-pagination-black {
  --swiper-pagination-color: #000000;
}

.swiper-scrollbar {
  border-radius: 10px;
  position: relative;
  -ms-touch-action: none;
  background: rgba(0, 0, 0, .1);
}

.swiper-container-horizontal>.swiper-scrollbar {
  position: absolute;
  left: 1%;
  bottom: 3px;
  z-index: 50;
  height: 5px;
  width: 98%;
}

.swiper-container-vertical>.swiper-scrollbar {
  position: absolute;
  right: 3px;
  top: 1%;
  z-index: 50;
  width: 5px;
  height: 98%;
}

.swiper-scrollbar-drag {
  height: 100%;
  width: 100%;
  position: relative;
  background: rgba(0, 0, 0, .5);
  border-radius: 10px;
  left: 0;
  top: 0;
}

.swiper-slide-zoomed {
  cursor: move;
}

.swiper-lazy-preloader {
  width: 42px;
  height: 42px;
  position: absolute;
  left: 50%;
  top: 50%;
  margin-left: -21px;
  margin-top: -21px;
  z-index: 10;
  transform-origin: 50%;
  animation: swiper-preloader-spin 1s infinite linear;
  box-sizing: border-box;
  border: 4px solid var(--swiper-preloader-color, var(--swiper-theme-color));
  border-radius: 50%;
  border-top-color: transparent;
}

.swiper-container .swiper-notification {
  position: absolute;
  left: 0;
  top: 0;
  pointer-events: none;
  opacity: 0;
  z-index: -1000;
}

.swiper-container-fade.swiper-container-free-mode .swiper-slide {
  transition-timing-function: ease-out;
}

.swiper-container-fade .swiper-slide {
  pointer-events: none;
  transition-property: opacity;
}

.swiper-container-fade .swiper-slide .swiper-slide {
  pointer-events: none;
}

.swiper-container-fade .swiper-slide-active,
.swiper-container-fade .swiper-slide-active .swiper-slide-active {
  pointer-events: auto;
}

.swiper-container-cube {
  overflow: visible;
}

.swiper-container-cube .swiper-slide {
  pointer-events: none;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  z-index: 1;
  visibility: hidden;
  transform-origin: 0 0;
  width: 100%;
  height: 100%;
}

.swiper-container-cube .swiper-slide .swiper-slide {
  pointer-events: none;
}

.swiper-container-cube.swiper-container-rtl .swiper-slide {
  transform-origin: 100% 0;
}

.swiper-container-cube .swiper-slide-active,
.swiper-container-cube .swiper-slide-active .swiper-slide-active {
  pointer-events: auto;
}

.swiper-container-cube .swiper-slide-active,
.swiper-container-cube .swiper-slide-next,
.swiper-container-cube .swiper-slide-next+.swiper-slide,
.swiper-container-cube .swiper-slide-prev {
  pointer-events: auto;
  visibility: visible;
}

.swiper-container-cube .swiper-slide-shadow-bottom,
.swiper-container-cube .swiper-slide-shadow-left,
.swiper-container-cube .swiper-slide-shadow-right,
.swiper-container-cube .swiper-slide-shadow-top {
  z-index: 0;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

.swiper-container-cube .swiper-cube-shadow {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  background: #000;
  opacity: .6;
  -webkit-filter: blur(50px);
  filter: blur(50px);
  z-index: 0;
}

.swiper-container-flip {
  overflow: visible;
}

.swiper-container-flip .swiper-slide {
  pointer-events: none;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  z-index: 1;
}

.swiper-container-flip .swiper-slide .swiper-slide {
  pointer-events: none;
}

.swiper-container-flip .swiper-slide-active,
.swiper-container-flip .swiper-slide-active .swiper-slide-active {
  pointer-events: auto;
}

.swiper-container-flip .swiper-slide-shadow-bottom,
.swiper-container-flip .swiper-slide-shadow-left,
.swiper-container-flip .swiper-slide-shadow-right,
.swiper-container-flip .swiper-slide-shadow-top {
  z-index: 0;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}


/* 07. THEME MAIN ================================================================================ */
:root {
  --pf: "Muli", sans-serif;
  --green: var(--rb-green);
  --blue: var(--rb-blue);
}

@-webkit-keyframes vlt_animate_icon_top_right {
  49% {
    -webkit-transform: translateX(50%) translateY(-50%);
    transform: translateX(50%) translateY(-50%);
    opacity: 0;
  }

  50% {
    -webkit-transform: translateX(-50%) translateY(50%);
    transform: translateX(-50%) translateY(50%);
    opacity: 0;
  }

  51% {
    -webkit-transform: translateX(-50%) translateY(50%);
    transform: translateX(-50%) translateY(50%);
    opacity: 1;
  }
}

@keyframes vlt_animate_icon_top_right {
  49% {
    -webkit-transform: translateX(50%) translateY(-50%);
    transform: translateX(50%) translateY(-50%);
    opacity: 0;
  }

  50% {
    -webkit-transform: translateX(-50%) translateY(50%);
    transform: translateX(-50%) translateY(50%);
    opacity: 0;
  }

  51% {
    -webkit-transform: translateX(-50%) translateY(50%);
    transform: translateX(-50%) translateY(50%);
    opacity: 1;
  }
}

@-webkit-keyframes vlt_animate_icon_top {
  49% {
    -webkit-transform: translateY(-100%);
    transform: translateY(-100%);
  }

  50% {
    -webkit-transform: translateY(100%);
    transform: translateY(100%);
    opacity: 0;
  }

  51% {
    opacity: 1;
  }
}

@keyframes vlt_animate_icon_top {
  49% {
    -webkit-transform: translateY(-100%);
    transform: translateY(-100%);
  }

  50% {
    -webkit-transform: translateY(100%);
    transform: translateY(100%);
    opacity: 0;
  }

  51% {
    opacity: 1;
  }
}

@-webkit-keyframes vlt_animate_icon_bottom {
  49% {
    -webkit-transform: translateY(100%);
    transform: translateY(100%);
  }

  50% {
    -webkit-transform: translateY(-100%);
    transform: translateY(-100%);
    opacity: 0;
  }

  51% {
    opacity: 1;
  }
}

@keyframes vlt_animate_icon_bottom {
  49% {
    -webkit-transform: translateY(100%);
    transform: translateY(100%);
  }

  50% {
    -webkit-transform: translateY(-100%);
    transform: translateY(-100%);
    opacity: 0;
  }

  51% {
    opacity: 1;
  }
}

@-webkit-keyframes vlt_animate_icon_right {
  49% {
    -webkit-transform: translateX(100%);
    transform: translateX(100%);
  }

  50% {
    -webkit-transform: translateX(-100%);
    transform: translateX(-100%);
    opacity: 0;
  }

  51% {
    opacity: 1;
  }
}

@keyframes vlt_animate_icon_right {
  49% {
    -webkit-transform: translateX(100%);
    transform: translateX(100%);
  }

  50% {
    -webkit-transform: translateX(-100%);
    transform: translateX(-100%);
    opacity: 0;
  }

  51% {
    opacity: 1;
  }
}

@-webkit-keyframes vlt_animate_icon_left {
  49% {
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    opacity: 0;
  }

  50% {
    -webkit-transform: translateX(50%);
    transform: translateX(50%);
    opacity: 0;
  }

  51% {
    opacity: 1;
  }
}

@keyframes vlt_animate_icon_left {
  49% {
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    opacity: 0;
  }

  50% {
    -webkit-transform: translateX(50%);
    transform: translateX(50%);
    opacity: 0;
  }

  51% {
    opacity: 1;
  }
}

@-webkit-keyframes vlt_fade_in_down {
  0% {
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
  }

  100% {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

@keyframes vlt_fade_in_down {
  0% {
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
  }

  100% {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

@-webkit-keyframes vlt_fade_out_up {
  0% {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }

  100% {
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
  }
}

@keyframes vlt_fade_out_up {
  0% {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }

  100% {
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
  }
}

@-webkit-keyframes vlt_menu_svg_path {
  0% {
    stroke-dasharray: 5279.2841796875;
    stroke-dashoffset: 5279.2841796875;
  }

  100% {
    stroke-dasharray: 5279.2841796875;
    stroke-dashoffset: 0;
  }
}

@keyframes vlt_menu_svg_path {
  0% {
    stroke-dasharray: 5279.2841796875;
    stroke-dashoffset: 5279.2841796875;
  }

  100% {
    stroke-dasharray: 5279.2841796875;
    stroke-dashoffset: 0;
  }
}

@-webkit-keyframes vlt_rotate_90_deg {
  100% {
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
  }
}

@keyframes vlt_rotate_90_deg {
  100% {
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
  }
}

@-webkit-keyframes vlt_fade_in_from_bottom {
  0% {
    -webkit-transform: translateY(10px);
    transform: translateY(10px);
    opacity: 0;
  }

  100% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
    opacity: 1;
  }
}

@keyframes vlt_fade_in_from_bottom {
  0% {
    -webkit-transform: translateY(10px);
    transform: translateY(10px);
    opacity: 0;
  }

  100% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
    opacity: 1;
  }
}

@-webkit-keyframes vlt_marquee {
  0% {
    -webkit-transform: translateX(0) translateZ(0);
    transform: translateX(0) translateZ(0);
  }

  100% {
    -webkit-transform: translateX(-100%) translateZ(0);
    transform: translateX(-100%) translateZ(0);
  }
}

@keyframes vlt_marquee {
  0% {
    -webkit-transform: translateX(0) translateZ(0);
    transform: translateX(0) translateZ(0);
  }

  100% {
    -webkit-transform: translateX(-100%) translateZ(0);
    transform: translateX(-100%) translateZ(0);
  }
}

@-webkit-keyframes vlt_bounce {

  0%,
  100%,
  20%,
  50%,
  80% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }

  40% {
    -webkit-transform: translateY(-20px);
    transform: translateY(-20px);
  }

  60% {
    -webkit-transform: translateY(-10px);
    transform: translateY(-10px);
  }
}

@keyframes vlt_bounce {

  0%,
  100%,
  20%,
  50%,
  80% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }

  40% {
    -webkit-transform: translateY(-20px);
    transform: translateY(-20px);
  }

  60% {
    -webkit-transform: translateY(-10px);
    transform: translateY(-10px);
  }
}

@-webkit-keyframes vlt_mask_circle_out {
  0% {
    -webkit-clip-path: circle(120px at var(--x) var(--y));
    clip-path: circle(120px at var(--x) var(--y));
  }

  100% {
    -webkit-clip-path: circle(0 at var(--x) var(--y));
    clip-path: circle(0 at var(--x) var(--y));
  }
}

@keyframes vlt_mask_circle_out {
  0% {
    -webkit-clip-path: circle(120px at var(--x) var(--y));
    clip-path: circle(120px at var(--x) var(--y));
  }

  100% {
    -webkit-clip-path: circle(0 at var(--x) var(--y));
    clip-path: circle(0 at var(--x) var(--y));
  }
}

@-webkit-keyframes vlt_mask_circle_in {
  0% {
    -webkit-clip-path: circle(0 at var(--x) var(--y));
    clip-path: circle(0 at var(--x) var(--y));
  }

  100% {
    -webkit-clip-path: circle(120px at var(--x) var(--y));
    clip-path: circle(120px at var(--x) var(--y));
  }
}

@keyframes vlt_mask_circle_in {
  0% {
    -webkit-clip-path: circle(0 at var(--x) var(--y));
    clip-path: circle(0 at var(--x) var(--y));
  }

  100% {
    -webkit-clip-path: circle(120px at var(--x) var(--y));
    clip-path: circle(120px at var(--x) var(--y));
  }
}

@-webkit-keyframes vlt_spin {
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}

@keyframes vlt_spin {
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}

.vlt-project-showcase--style-3 .vlt-project-showcase__next-slide a {
  font-size: 13px;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 2px;
  text-transform: uppercase;
}

dl dd {
  font-size: 16px;
  line-height: 1.2;
}

.has-primary-color {
  color: var(--rb-blue);
}

.has-primary-background-color {
  background-color: var(--rb-blue);
}

.has-white-color {
  color: #fff;
}

.has-white-background-color {
  background-color: #fff;
}

.has-black-color {
  color: #101010;
}

.has-black-background-color {
  background-color: #222;
}

.has-light-gray-color {
  color: #e5e5e5;
}

.has-light-gray-background-color {
  background-color: #e5e5e5;
}

.has-extra-light-gray-color {
  color: #f5f5f5;
}

.has-extra-light-gray-background-color {
  background-color: #f5f5f5;
}

.has-gray-color {
  color: #bbb;
}

.has-gray-background-color {
  background-color: #bbb;
}

.vlt-gap-120 {
  height: 120px;
}

.vlt-gap-100 {
  height: 100px;
}

.vlt-gap-90 {
  height: 90px;
}

.vlt-gap-80 {
  height: 25px;
}

.vlt-gap-70 {
  height: 70px;
}

.vlt-gap-60 {
  height: 60px;
}

@media only screen and (max-width: 767px) {
  .vlt-gap-60--sm {
    height: 60px;
  }
}

.vlt-gap-50 {
  height: 50px;
}

.vlt-gap-40 {
  height: 40px;
}

.vlt-gap-30 {
  height: 30px;
}

@media only screen and (max-width: 767px) {
  .vlt-gap-30--sm {
    height: 30px;
  }
}

@media only screen and (max-width: 991px) {
  .vlt-gap-30--md {
    height: 30px;
  }
}

.vlt-gap-20 {
  height: 20px;
}

.vlt-gap-10 {
  height: 10px;
}

.message.success {
  color: var(--success);
}

.message.danger {
  color: var(--danger);
}

.spin {
  -webkit-animation: vlt_spin 5s linear infinite;
  animation: vlt_spin 5s linear infinite;
}

::selection {
  color: #fff;
  background-color: #101010;
}

::-moz-selection {
  color: #fff;
  background-color: #101010;
}

body {
  font-family: var(--pf);
  font-size: 18px;
  line-height: 1.5;
  min-width: 320px;
  margin: 0;
  padding: 0;
  color: #525252;
  background-color: #fff;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

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

p {
  margin: 0 0 30px;
  font-size: 17px;
  line-height: 1.68;
  color: #626262;
}

p:empty {
  display: none;
}

p:last-of-type {
  margin-bottom: 0;
}

strong {
  font-weight: 700;
}

mark {
  background-color: var(--rb-blue);
}

a {
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  text-decoration: none;
  color: inherit;
}

a:active,
a:focus,
a:hover {
  text-decoration: none;
  outline: 0;
}

a:hover,
p a {
  color: var(--rb-blue);
}

.h1,
.h2,
.h3,
.h4,
.h5,
.h6,
h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: 700;
  margin: 0;
  padding: 0;
  color: #333;
}

.h1 i,
.h2 i,
.h3 i,
.h4 i,
.h5 i,
.h6 i,
h1 i,
h2 i,
h3 i,
h4 i,
h5 i,
h6 i {
  margin-right: 18px;
}

.h1,
h1 {
  font-size: 70px;
  line-height: 1.15;
}

.h2,
h2 {
  font-size: 30px;
  line-height: 1.25;
}

.h3,
h3 {
  font-size: 32px;
  line-height: 1.4;
}

.h4,
h4 {
  font-size: 32px;
  line-height: 1.4;
}

.h5,
h5 {
  font-size: 24px;
  line-height: 1.4;
}

.h6,
h6 {
  font-size: 18px;
  line-height: 1.5;
}

blockquote {
  font-size: 18px;
  font-weight: 700;
  margin: 0;
  padding: 25px 0 25px 40px;
  color: #101010;
  border-left: 3px solid var(--rb-blue);
}

form {
  max-width: 100%;
}

label {
  font-size: 16px;
  display: block;
  margin-bottom: 5px;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  color: #101010;
}

input[type="date"],
input[type="email"],
input[type="number"],
input[type="password"],
input[type="search"],
input[type="tel"],
input[type="text"],
input[type="url"],
select,
textarea {
  font-size: 16px;
  display: block;
  width: 100%;
  margin: 0;
  padding: 10px 0;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  color: #101010;
  border: none;
  border-bottom: 1px solid #d6d6d6;
  outline: 0;
  background-color: transparent;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

select {
  background-image: url("data:image/svg+xml;utf8,<svg fill='%23D6D6D6' height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'><path d='M7 10l5 5 5-5z'/><path d='M0 0h24v24H0z' fill='none'/></svg>");
  background-repeat: no-repeat;
  background-position: right 0 bottom 50%;
  background-size: 18px 18px;
}

textarea {
  width: 100%;
  max-width: 100%;
}

button:focus,
input[type="submit"]:focus {
  outline: 0;
}

input[type="date"].placeholder,
input[type="email"].placeholder,
input[type="number"].placeholder,
input[type="password"].placeholder,
input[type="search"].placeholder,
input[type="tel"].placeholder,
input[type="text"].placeholder,
input[type="url"].placeholder,
select.placeholder,
textarea.placeholder {
  opacity: 1;
  color: #101010;
}

input[type="date"]:-moz-placeholder,
input[type="email"]:-moz-placeholder,
input[type="number"]:-moz-placeholder,
input[type="password"]:-moz-placeholder,
input[type="search"]:-moz-placeholder,
input[type="tel"]:-moz-placeholder,
input[type="text"]:-moz-placeholder,
input[type="url"]:-moz-placeholder,
select:-moz-placeholder,
textarea:-moz-placeholder {
  opacity: 1;
  color: #101010;
}

input[type="date"]::-moz-placeholder,
input[type="email"]::-moz-placeholder,
input[type="number"]::-moz-placeholder,
input[type="password"]::-moz-placeholder,
input[type="search"]::-moz-placeholder,
input[type="tel"]::-moz-placeholder,
input[type="text"]::-moz-placeholder,
input[type="url"]::-moz-placeholder,
select::-moz-placeholder,
textarea::-moz-placeholder {
  opacity: 1;
  color: #101010;
}

input[type="date"]:-ms-input-placeholder,
input[type="email"]:-ms-input-placeholder,
input[type="number"]:-ms-input-placeholder,
input[type="password"]:-ms-input-placeholder,
input[type="search"]:-ms-input-placeholder,
input[type="tel"]:-ms-input-placeholder,
input[type="text"]:-ms-input-placeholder,
input[type="url"]:-ms-input-placeholder,
select:-ms-input-placeholder,
textarea:-ms-input-placeholder {
  opacity: 1;
  color: #101010;
}

input[type="date"]::-webkit-input-placeholder,
input[type="email"]::-webkit-input-placeholder,
input[type="number"]::-webkit-input-placeholder,
input[type="password"]::-webkit-input-placeholder,
input[type="search"]::-webkit-input-placeholder,
input[type="tel"]::-webkit-input-placeholder,
input[type="text"]::-webkit-input-placeholder,
input[type="url"]::-webkit-input-placeholder,
select::-webkit-input-placeholder,
textarea::-webkit-input-placeholder {
  opacity: 1;
  color: #101010;
}

input[type="date"]:focus.placeholder,
input[type="email"]:focus.placeholder,
input[type="number"]:focus.placeholder,
input[type="password"]:focus.placeholder,
input[type="search"]:focus.placeholder,
input[type="tel"]:focus.placeholder,
input[type="text"]:focus.placeholder,
input[type="url"]:focus.placeholder,
select:focus.placeholder,
textarea:focus.placeholder {
  opacity: 0;
}

input[type="date"]:focus:-moz-placeholder,
input[type="email"]:focus:-moz-placeholder,
input[type="number"]:focus:-moz-placeholder,
input[type="password"]:focus:-moz-placeholder,
input[type="search"]:focus:-moz-placeholder,
input[type="tel"]:focus:-moz-placeholder,
input[type="text"]:focus:-moz-placeholder,
input[type="url"]:focus:-moz-placeholder,
select:focus:-moz-placeholder,
textarea:focus:-moz-placeholder {
  opacity: 0;
}

input[type="date"]:focus::-moz-placeholder,
input[type="email"]:focus::-moz-placeholder,
input[type="number"]:focus::-moz-placeholder,
input[type="password"]:focus::-moz-placeholder,
input[type="search"]:focus::-moz-placeholder,
input[type="tel"]:focus::-moz-placeholder,
input[type="text"]:focus::-moz-placeholder,
input[type="url"]:focus::-moz-placeholder,
select:focus::-moz-placeholder,
textarea:focus::-moz-placeholder {
  opacity: 0;
}

input[type="date"]:focus:-ms-input-placeholder,
input[type="email"]:focus:-ms-input-placeholder,
input[type="number"]:focus:-ms-input-placeholder,
input[type="password"]:focus:-ms-input-placeholder,
input[type="search"]:focus:-ms-input-placeholder,
input[type="tel"]:focus:-ms-input-placeholder,
input[type="text"]:focus:-ms-input-placeholder,
input[type="url"]:focus:-ms-input-placeholder,
select:focus:-ms-input-placeholder,
textarea:focus:-ms-input-placeholder {
  opacity: 0;
}

input[type="date"]:focus::-webkit-input-placeholder,
input[type="email"]:focus::-webkit-input-placeholder,
input[type="number"]:focus::-webkit-input-placeholder,
input[type="password"]:focus::-webkit-input-placeholder,
input[type="search"]:focus::-webkit-input-placeholder,
input[type="tel"]:focus::-webkit-input-placeholder,
input[type="text"]:focus::-webkit-input-placeholder,
input[type="url"]:focus::-webkit-input-placeholder,
select:focus::-webkit-input-placeholder,
textarea:focus::-webkit-input-placeholder {
  opacity: 0;
}

.vlt-form-label {
  position: absolute;
  top: 10px;
  left: 50px;
  margin-bottom: 0;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  pointer-events: none;
}

.iti {
  width: 100%;
}

.vlt-form-group input::placeholder {
  color: #fff;
}

.vlt-form-control:not(:-moz-placeholder-shown)~.vlt-form-label {
  top: -20px;
}

.vlt-form-control:not(:-ms-input-placeholder)~.vlt-form-label {
  top: -20px;
}

.vlt-form-control:focus~.vlt-form-label,
.vlt-form-control:not(:placeholder-shown)~.vlt-form-label {
  top: -20px;
}

.vlt-form-group {
  position: relative;
  display: block;
  margin-bottom: 30px;
}

.vlt-form-row {
  display: grid;
  grid-gap: 30px;
  grid-template-columns: repeat(1, 1fr);
}

.vlt-form-row.two-col {
  grid-template-columns: repeat(2, 1fr);
}

@media only screen and (max-width: 767px) {
  .vlt-form-row.two-col {
    grid-gap: 0;
    grid-template-columns: repeat(1, 1fr);
  }
}

dl {
  margin-bottom: 0;
}

dl dt {
  font-size: 18px;
  font-weight: 700;
  color: #101010;
}

dl dd {
  margin-top: 8px;
  margin-bottom: 0;
  color: #8a8a8a;
}

.vlt-main {
  position: relative;
  overflow: clip;
  background-color: #fff;
}

.vlt-header--default,
.vlt-header--fullscreen,
.vlt-header--slide {
  position: absolute;
  z-index: 30;
  top: 0;
  left: 0;
  width: 100%;
  color: #101010;
}

.vlt-header--default.vlt-header--dark,
.vlt-header--fullscreen.vlt-header--dark,
.vlt-header--slide.vlt-header--dark {
  color: #fff;
}

.vlt-navbar {
  position: relative;
  z-index: 50;
  -webkit-transition: background-color 0.3s;
  transition: background-color 0.3s;
  will-change: background-color;
}

.vlt-navbar .vlt-navbar-inner {
  position: relative;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  min-height: 90px;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

.vlt-navbar.vlt-navbar--fixed {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}

.vlt-navbar.vlt-navbar--fixed.vlt-navbar--sticky {
  -webkit-animation: vlt_fade_in_down 0.3s forwards;
  animation: vlt_fade_in_down 0.3s forwards;
}

.vlt-navbar.vlt-navbar--fixed.vlt-on-scroll-show {
  -webkit-animation: vlt_fade_in_down 0.3s forwards;
  animation: vlt_fade_in_down 0.3s forwards;
}

.vlt-navbar.vlt-navbar--fixed.vlt-on-scroll-hide {
  -webkit-animation: vlt_fade_out_up 0.3s forwards;
  animation: vlt_fade_out_up 0.3s forwards;
}

.vlt-navbar.vlt-navbar--transparent {
  background-color: transparent;
}

.vlt-header--dark .vlt-navbar.vlt-navbar--transparent {
  background-color: transparent;
}

.vlt-navbar,
.vlt-navbar.vlt-navbar--solid {
  background-color: #fff;
}

.vlt-header--dark .vlt-navbar,
.vlt-header--dark .vlt-navbar.vlt-navbar--solid {
  background-color: transparent;
}

.vlt-navbar--fixed {
  background-color: #fff !important;
}

.vlt-navbar.vlt-navbar--transparent-always {
  background-color: transparent;
}

.vlt-header--dark .vlt-navbar.vlt-navbar--transparent-always {
  background-color: transparent;
}

.vlt-navbar .vlt-navbar-logo {
  line-height: 1;
  display: inline-block;
}

.vlt-navbar .vlt-navbar-logo:hover {
  color: currentColor;
}

.vlt-navbar .vlt-navbar-logo h2 {
  font-size: 26px;
  line-height: 1;
  margin: 0;
  color: currentColor;
}

.vlt-navbar .vlt-navbar-logo img {
  display: block;
  max-width: none;
}

.vlt-header--dark .vlt-navbar .vlt-navbar-logo img {
  display: none;
}

.vlt-navbar .vlt-navbar-logo img.white {
  display: none;
}

.vlt-header--dark .vlt-navbar .vlt-navbar-logo img.white {
  display: block;
  /* filter: invert(1) brightness(10);*/
}

.vlt-navbar.vlt-navbar--white-text-on-top {
  color: #fff;
}

.vlt-navbar.vlt-navbar--white-text-on-top .vlt-navbar-logo img.black {
  display: none;
}

.vlt-navbar.vlt-navbar--white-text-on-top .vlt-navbar-logo img.white {
  display: block;
}

.vlt-navbar.vlt-navbar--white-text-on-top.vlt-navbar--solid {
  color: #101010;
}

.vlt-header--dark .vlt-navbar.vlt-navbar--white-text-on-top.vlt-navbar--solid {
  color: #fff;
}

.vlt-navbar.vlt-navbar--white-text-on-top.vlt-navbar--solid .vlt-navbar-logo {
  color: #101010;
}

.vlt-navbar.vlt-navbar--white-text-on-top.vlt-navbar--solid .vlt-navbar-logo img.black {
  display: block;
}

.vlt-header--dark .vlt-navbar.vlt-navbar--white-text-on-top.vlt-navbar--solid .vlt-navbar-logo img.black {
  display: none;
}

.vlt-navbar.vlt-navbar--white-text-on-top.vlt-navbar--solid .vlt-navbar-logo img.white {
  display: none;
}

.vlt-header--dark .vlt-navbar.vlt-navbar--white-text-on-top.vlt-navbar--solid .vlt-navbar-logo img.white {
  display: block;
}

.vlt-navbar-buttons {
  margin-left: 35px;
}

.vlt-navbar-buttons a {
  font-size: 18px;
  line-height: 1;
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-transition: none;
  transition: none;
  color: currentColor;
}

.vlt-navbar-buttons a+a {
  margin-left: 30px;
}

.vlt-nav .vlt-nav-table {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  flex-direction: column;
  width: 100%;
  height: 100%;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
}

.vlt-nav .vlt-nav-table>* {
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 auto;
  -ms-flex: 0 0 auto;
  flex: 0 0 auto;
}

.vlt-nav .vlt-nav-table>.vlt-nav,
.vlt-nav .vlt-nav-table>.vlt-nav-row--full {
  -webkit-box-flex: 1;
  -webkit-flex: 1 1 100%;
  -ms-flex: 1 1 100%;
  flex: 1 1 100%;
}

.vlt-nav .vlt-nav-table .vlt-nav-row--full {
  overflow: hidden;
  overflow-y: auto;
  min-height: 0;
}

.vlt-nav .vlt-nav-table>.vlt-nav-row--center {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  flex-direction: column;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
}

.vlt-nav .vlt-nav-table>.vlt-nav-row--center>* {
  /* margin-top: auto; */
  /* margin-bottom: auto; */
}

.vlt-menu-burger {
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  flex-direction: column;
  width: 34px;
  -webkit-transition: none;
  transition: none;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
}

.vlt-menu-burger span {
  display: inline-block;
  height: 2px;
  margin: 4px 0;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  background-color: currentColor;
}

.vlt-menu-burger span.line-one {
  width: 34px;
}

.vlt-menu-burger span.line-two {
  width: 20px;
  -webkit-align-self: flex-end;
  -ms-flex-item-align: end;
  align-self: flex-end;
}

.vlt-menu-burger:hover {
  color: inherit;
}

.vlt-menu-burger:hover:not(.vlt-menu-burger--opened) span.line-two {
  width: 34px;
}

.vlt-menu-burger--opened span.line-one,
.vlt-menu-burger--opened span.line-two {
  width: 34px;
}

.vlt-menu-burger--opened span.line-one {
  -webkit-transform: rotate(45deg) translateX(4px) translateY(3px);
  -ms-transform: rotate(45deg) translateX(4px) translateY(3px);
  transform: rotate(45deg) translateX(4px) translateY(3px);
}

.vlt-menu-burger--opened span.line-two {
  -webkit-transform: rotate(-45deg) translateX(4px) translateY(-3px);
  -ms-transform: rotate(-45deg) translateX(4px) translateY(-3px);
  transform: rotate(-45deg) translateX(4px) translateY(-3px);
  -webkit-align-self: center;
  -ms-flex-item-align: center;
  align-self: center;
}

[data-submenu-effect="style-1"] ul.sf-menu {
  overflow: hidden;
}

[data-submenu-effect="style-1"] ul.sf-menu ul.sub-menu>li,
[data-submenu-effect="style-1"] ul.sf-menu>li {
  position: static;
  display: block;
  float: none;
}

[data-submenu-effect="style-1"] ul.sub-menu {
  display: block;
  visibility: inherit;
}

[data-submenu-effect="style-1"] li.menu-item-has-children li.menu-item-has-children>ul.sub-menu,
[data-submenu-effect="style-1"] li.menu-item-has-children>ul.sub-menu {
  top: 0;
  left: 0;
  width: 100%;
  margin-top: 0;
  margin-left: 0;
}

[data-submenu-effect="style-1"] li.menu-item-has-children li.menu-item-has-children>ul.sub-menu>li>a,
[data-submenu-effect="style-1"] li.menu-item-has-children>ul.sub-menu>li>a {
  display: none;
}

[data-submenu-effect="style-2"] ul.sf-menu {
  overflow: hidden;
}

[data-submenu-effect="style-2"] ul.sf-menu ul.sub-menu>li,
[data-submenu-effect="style-2"] ul.sf-menu>li {
  position: static;
  display: inline-block;
  float: none;
}

[data-submenu-effect="style-2"] ul.sub-menu {
  display: block;
  visibility: inherit;
}

[data-submenu-effect="style-2"] li.menu-item-has-children li.menu-item-has-children>ul.sub-menu,
[data-submenu-effect="style-2"] li.menu-item-has-children>ul.sub-menu {
  top: 0;
  left: 0;
  width: 100%;
  margin-top: 0;
  margin-left: 0;
}

[data-submenu-effect="style-2"] li.menu-item-has-children li.menu-item-has-children>ul.sub-menu>li>a,
[data-submenu-effect="style-2"] li.menu-item-has-children>ul.sub-menu>li>a {
  display: none;
}

[data-submenu-effect="style-3"] ul.sf-menu {
  overflow: hidden;
}

[data-submenu-effect="style-3"] ul.sf-menu>li {
  display: block;
  float: none;
}

[data-submenu-effect="style-3"] ul.sub-menu {
  position: static;
  display: none;
  margin: 0;
}

[data-submenu-effect="style-3"] li:hover ul.sub-menu {
  display: none;
}

.vlt-nav--default .sf-menu {
  font-size: 0;
}

.vlt-nav--default .sf-menu>li {
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  float: none;
  min-height: 90px;
  padding: 0 7px;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
}

.vlt-nav--default .sf-menu>li>a {
  font-size: 16px;
  font-weight: 500;
  opacity: 0.85;
}

.vlt-nav--default .sf-menu>li>a span {
  position: relative;
  padding: 0 8px;
  font-weight: normal;
}

.vlt-nav--default .sf-menu>li>a span::after {
  position: absolute;
  bottom: -5px;
  left: 0;
  width: 100%;
  height: 2px;
  content: "";
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  -webkit-transform: scaleX(0);
  -ms-transform: scaleX(0);
  transform: scaleX(0);
  background-color: var(--rb-blue);
}

.vlt-header--dark .vlt-nav--default .sf-menu>li>a span::after {
  background-color: #fff;
}

.vlt-nav--default .sf-menu>li.current-menu-item>a,
.vlt-nav--default .sf-menu>li.sfHover>a,
.vlt-nav--default .sf-menu>li:hover>a {
  color: var(--rb-blue);
}

.vlt-header--dark .vlt-nav--default .sf-menu>li.current-menu-item>a,
.vlt-header--dark .vlt-nav--default .sf-menu>li.sfHover>a,
.vlt-header--dark .vlt-nav--default .sf-menu>li:hover>a {
  opacity: 1;
  color: inherit;
}

.vlt-nav--default .sf-menu>li.current-menu-item>a>span::after,
.vlt-nav--default .sf-menu>li.sfHover>a>span::after,
.vlt-nav--default .sf-menu>li:hover>a>span::after {
  -webkit-transform: scaleX(1);
  -ms-transform: scaleX(1);
  transform: scaleX(1);
}

.vlt-nav--default .sf-menu ul.sub-menu {
  min-width: 290px;
  padding: 30px 0;
  background-color: #101010;
  -webkit-box-shadow: 0 5px 10px 0 rgba(16, 16, 16, 0.05);
  box-shadow: 0 5px 10px 0 rgba(16, 16, 16, 0.05);
}

.vlt-header--dark .vlt-nav--default .sf-menu ul.sub-menu {
  background-color: #fff;
}

.vlt-nav--default .sf-menu ul.sub-menu ul.sub-menu {
  top: -30px;
}

.vlt-nav--default .sf-menu ul.sub-menu li {
  display: block;
}

.vlt-nav--default .sf-menu ul.sub-menu li a {
  font-size: 16px;
  line-height: 1.8;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  padding: 0px 40px;
  white-space: nowrap;
  color: #b3b3b3;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

.vlt-header--dark .vlt-nav--default .sf-menu ul.sub-menu li a {
  color: #656565;
}

.vlt-nav--default .sf-menu ul.sub-menu li a>span {
  -webkit-transition: -webkit-transform 0.3s;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition: transform 0.3s, -webkit-transform 0.3s;
}

.vlt-nav--default .sf-menu ul.sub-menu li.menu-item-has-children>a::after {
  font-family: Skape;
  font-size: 50%;
  content: "\e908";
}

.vlt-nav--default .sf-menu ul.sub-menu li:hover>a:not(.label)>span {
  -webkit-transform: translateX(10px);
  -ms-transform: translateX(10px);
  transform: translateX(10px);
}

.vlt-nav--default .sf-menu ul.sub-menu li.current-menu-item>a,
.vlt-nav--default .sf-menu ul.sub-menu li.sfHover>a,
.vlt-nav--default .sf-menu ul.sub-menu li:hover>a {
  color: #fff;
}

.vlt-header--dark .vlt-nav--default .sf-menu ul.sub-menu li.current-menu-item>a,
.vlt-header--dark .vlt-nav--default .sf-menu ul.sub-menu li.sfHover>a,
.vlt-header--dark .vlt-nav--default .sf-menu ul.sub-menu li:hover>a {
  color: var(--rb-blue);
}

.vlt-nav--creative {
  position: fixed;
  z-index: 70;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  visibility: hidden;
  overflow: hidden;
  flex-direction: column;
  width: 100%;
  height: 100%;
  -webkit-transition: opacity 0.3s, visibility 0.3s;
  transition: opacity 0.3s, visibility 0.3s;
  opacity: 0;
  background-color: #fff;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

.vlt-nav--creative.is-open {
  visibility: visible;
  opacity: 1;
}

.vlt-nav--offcanvas {
  position: fixed;
  z-index: 70;
  top: 0;
  right: 0;
  bottom: 0;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  visibility: hidden;
  overflow: hidden;
  flex-direction: column;
  width: 65vw;
  height: 100%;
  padding: 120px 60px 120px 165px;
  -webkit-transition: visibility 0.3s, -webkit-transform 0.3s;
  transition: visibility 0.3s, -webkit-transform 0.3s;
  transition: transform 0.3s, visibility 0.3s;
  transition: transform 0.3s, visibility 0.3s, -webkit-transform 0.3s;
  -webkit-transform: translate3d(100%, 0, 0);
  transform: translate3d(100%, 0, 0);
  background-color: #fff;
  background-position: center center;
  background-size: cover;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

.vlt-nav--offcanvas.is-open {
  visibility: visible;
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}

.vlt-nav--offcanvas .vlt-nav-row {
  margin-right: 60px;
}

.vlt-nav--offcanvas .vlt-menu-burger {
  position: absolute;
  z-index: 1;
  top: 35px;
  right: 60px;
  cursor: pointer;
  color: #101010;
}

.vlt-nav--fullscreen {
  position: fixed;
  z-index: 70;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  visibility: hidden;
  overflow: hidden;
  flex-direction: column;
  width: 100%;
  height: 100%;
  -webkit-transition: opacity 0.3s, visibility 0.3s;
  transition: opacity 0.3s, visibility 0.3s;
  opacity: 0;
  background-color: #fff;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

.vlt-nav--fullscreen.is-open {
  visibility: visible;
  opacity: 1;
}

.vlt-nav--fullscreen__header {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  min-height: 90px;
  color: #101010;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
}

.vlt-nav--fullscreen__navigation {
  z-index: 2;
  text-align: center;
}

.vlt-nav--fullscreen__navigation ul.sf-menu {
  position: relative;
  z-index: 2;
  width: 100%;
}

.vlt-nav--fullscreen__navigation ul.sf-menu li {
  width: 100%;
}

.vlt-nav--fullscreen__navigation ul.sf-menu li a {
  font-size: 46px;
  font-weight: 700;
  line-height: 1.9;
  color: #101010;
}

@media only screen and (max-width: 767px) {
  .vlt-nav--fullscreen__navigation ul.sf-menu li a {
    font-size: 32px;
  }
}

.vlt-nav--fullscreen__navigation ul.sf-menu li a::after {
  font-family: Skape;
  font-size: 16px;
  position: absolute;
  top: 50%;
  margin-left: 30px;
  content: "\e91c";
  -webkit-transition: opacity 0.3s, -webkit-transform 0.3s;
  transition: opacity 0.3s, -webkit-transform 0.3s;
  transition: opacity 0.3s, transform 0.3s;
  transition: opacity 0.3s, transform 0.3s, -webkit-transform 0.3s;
  -webkit-transform: translate3d(-15px, -50%, 0);
  transform: translate3d(-15px, -50%, 0);
  opacity: 0;
}

.vlt-nav--fullscreen__navigation ul.sf-menu li.current-menu-item>a,
.vlt-nav--fullscreen__navigation ul.sf-menu li:hover>a {
  color: var(--rb-blue);
}

.vlt-nav--fullscreen__navigation ul.sf-menu li.current-menu-item>a::after,
.vlt-nav--fullscreen__navigation ul.sf-menu li:hover>a::after {
  -webkit-transform: translate3d(0, -50%, 0);
  transform: translate3d(0, -50%, 0);
  opacity: 1;
}

.vlt-header--slide {
  position: fixed;
  z-index: 90;
  top: 0;
  bottom: 0;
  left: 0;
  width: 90px;
}

.vlt-header--slide .vlt-navbar {
  height: 100%;
  padding: 0;
}

.vlt-header--slide .vlt-navbar-inner {
  flex-direction: column;
  height: 100%;
  padding: 40px 20px;
  text-align: center;
  border-right: 1px solid #e6e6e6;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
}

.vlt-header--slide .vlt-navbar-logo h2 {
  font-size: 46px;
}

.vlt-nav--slide {
  position: fixed;
  z-index: 80;
  top: 0;
  bottom: 0;
  left: 0;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  visibility: hidden;
  width: 65vw;
  padding: 120px 0 120px 210px;
  -webkit-transition: visibility 0.3s, -webkit-transform 0.3s;
  transition: visibility 0.3s, -webkit-transform 0.3s;
  transition: transform 0.3s, visibility 0.3s;
  transition: transform 0.3s, visibility 0.3s, -webkit-transform 0.3s;
  -webkit-transform: translate3d(-100%, 0, 0);
  transform: translate3d(-100%, 0, 0);
  background-color: #fff;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

.vlt-nav--slide.is-open {
  visibility: visible;
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}

.vlt-nav--slide .vlt-nav-row {
  margin-right: 60px;
}

.vlt-footer {
  position: relative;
  overflow: hidden;
  background-color: #101010;
}

.vlt-footer--fixed {
  z-index: 10;
  will-change: transform;
}

.vlt-is--footer-fixed .vlt-main {
  z-index: 20;
}

.vlt-widget--white {
  color: #fff;
}

.vlt-widget--white a:hover {
  color: rgba(255, 255, 255, 0.8);
}

.vlt-project-showcase--style-2 {
  height: 100vh;
  min-height: 550px;
  text-align: center;
}

.vlt-project-showcase--style-2 .swiper-container,
.vlt-project-showcase--style-2 .swiper-wrapper {
  height: 100%;
}

.vlt-project-showcase--style-2 .swiper-slide {
  height: auto;
}

.vlt-project-showcase--style-2 .vlt-project-showcase__item {
  position: relative;
  z-index: 1;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  flex-direction: column;
  height: 50vh;
  color: #fff;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

.vlt-project-showcase--style-2 .vlt-project-showcase__image {
  position: absolute;
  z-index: -1;
  top: -50px;
  right: 0;
  bottom: -50px;
  left: 0;
  -webkit-transition: -webkit-clip-path 0.5s;
  transition: -webkit-clip-path 0.5s;
  transition: clip-path 0.5s;
  transition: clip-path 0.5s, -webkit-clip-path 0.5s;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  -webkit-clip-path: inset(0 100% 0 0);
  clip-path: inset(0 100% 0 0);
}

.vlt-project-showcase--style-2 .vlt-project-showcase__title {
  font-size: 110px;
  line-height: 1.1;
  display: inline-block;
  color: inherit;
}

@media only screen and (max-width: 767px) {
  .vlt-project-showcase--style-2 .vlt-project-showcase__title {
    font-size: 70px;
  }
}

.vlt-project-showcase--style-2 .vlt-project-showcase__title a {
  -webkit-transition: background-position 0.5s;
  transition: background-position 0.5s;
  background-image: -webkit-gradient(linear,
      right top,
      left top,
      from(currentColor),
      color-stop(50%, currentColor),
      color-stop(50%, transparent));
  background-image: -webkit-linear-gradient(right,
      currentColor 0,
      currentColor 50%,
      transparent 50%);
  background-image: linear-gradient(to left,
      currentColor 0,
      currentColor 50%,
      transparent 50%);
  background-position: 0 0;
  -webkit-background-clip: text;
  background-clip: text;
  background-size: 200%;
  -webkit-text-stroke-color: currentColor;
  -webkit-text-fill-color: transparent;
  -webkit-text-stroke-width: 1px;
}

.vlt-project-showcase--style-2 .vlt-project-showcase__title a:hover {
  color: inherit;
}

.vlt-project-showcase--style-2 .swiper-slide-active .vlt-project-showcase__title a {
  -webkit-transition-delay: 0.5s;
  transition-delay: 0.5s;
  color: inherit;
  background-position: -100% 0;
}

.vlt-project-showcase--style-2 .swiper-slide-active .vlt-project-showcase__image {
  -webkit-transition-delay: 0.5s;
  transition-delay: 0.5s;
  -webkit-clip-path: inset(0 0 0 0);
  clip-path: inset(0 0 0 0);
}

.vlt-project-showcase--style-3 {
  height: 100vh;
  min-height: 550px;
}

.vlt-project-showcase--style-3 .swiper-container,
.vlt-project-showcase--style-3 .swiper-slide,
.vlt-project-showcase--style-3 .swiper-wrapper {
  height: 100%;
}

.vlt-project-showcase--style-3 .vlt-project-showcase__item {
  position: relative;
  height: 100%;
  background-color: #101010;
}

.vlt-project-showcase--style-3 .vlt-project-showcase__image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}

.vlt-project-showcase--style-3 .vlt-project-showcase__image img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0.5;
  -o-object-fit: cover;
  object-fit: cover;
}

.vlt-project-showcase--style-3 .vlt-project-showcase__next-slide {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  text-align: right;
}

@media only screen and (max-width: 991px) {
  .vlt-project-showcase--style-3 .vlt-project-showcase__next-slide {
    display: none;
  }
}

.vlt-project-showcase--style-3 .vlt-project-showcase__next-slide a {
  position: relative;
  z-index: 1;
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  overflow: hidden;
  flex-direction: column;
  width: 360px;
  height: 200px;
  color: #fff;
  background-color: #101010;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
}

.vlt-project-showcase--style-3 .vlt-project-showcase__next-slide a img {
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -webkit-transition: -webkit-transform 0.3s;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition: transform 0.3s, -webkit-transform 0.3s;
  opacity: 0.7;
  -o-object-fit: cover;
  object-fit: cover;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

.vlt-project-showcase--style-3 .vlt-project-showcase__next-slide a span {
  margin-top: 16px;
}

.vlt-project-showcase--style-3 .vlt-project-showcase__next-slide a i {
  font-size: 16px;
  margin-top: 16px;
}

.vlt-project-showcase--style-3 .vlt-project-showcase__next-slide a:hover img {
  -webkit-transform: scale(1.1);
  -ms-transform: scale(1.1);
  transform: scale(1.1);
}

.vlt-project-showcase--style-3 .vlt-project-showcase__next-slide a:hover i {
  -webkit-animation: vlt_animate_icon_bottom 0.3s forwards;
  animation: vlt_animate_icon_bottom 0.3s forwards;
}

.vlt-project-showcase--style-3 .vlt-project-showcase__title {
  font-size: 70px;
  line-height: 1.2;
  max-width: 90%;
  color: #fff;
}

@media only screen and (max-width: 767px) {
  .vlt-project-showcase--style-3 .vlt-project-showcase__title {
    font-size: 46px;
  }
}

.vlt-project-showcase--style-3 .vlt-project-showcase__title a:hover {
  color: inherit;
}

.vlt-project-showcase--style-4 {
  height: 100vh;
  min-height: 550px;
}

.vlt-project-showcase--style-4 .swiper-container,
.vlt-project-showcase--style-4 .swiper-slide,
.vlt-project-showcase--style-4 .swiper-wrapper {
  height: 100%;
}

.vlt-project-showcase--style-4 .vlt-project-showcase__item {
  position: relative;
  overflow: hidden;
  height: 100%;
}

.vlt-project-showcase--style-4 .vlt-project-showcase__background {
  width: 100%;
  height: 100%;
  -webkit-transition: 0.2s;
  transition: 0.2s;
  -webkit-animation: vlt_mask_circle_out 0.3s forwards;
  animation: vlt_mask_circle_out 0.3s forwards;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  -webkit-clip-path: circle(0 at var(--x) var(--y));
  clip-path: circle(0 at var(--x) var(--y));
}

.vlt-project-showcase--style-4 .swiper-slide:hover .vlt-project-showcase__background {
  -webkit-animation: vlt_mask_circle_in 0.3s forwards;
  animation: vlt_mask_circle_in 0.3s forwards;
}

.vlt-project-showcase--style-4 .vlt-project-showcase__next-slide a:hover {
  color: inherit;
}

.vlt-project-showcase--style-4 .vlt-project-showcase__next-slide a {
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
}

.vlt-project-showcase--style-4 .vlt-project-showcase__next-slide a:hover i {
  -webkit-animation: vlt_animate_icon_bottom 0.3s forwards;
  animation: vlt_animate_icon_bottom 0.3s forwards;
}

.vlt-project-showcase--style-4 .vlt-project-showcase__image {
  position: relative;
  overflow: hidden;
  width: 100%;
  height: calc(100% - 90px);
  margin-top: auto;
}

@media only screen and (max-width: 767px) {
  .vlt-project-showcase--style-4 .vlt-project-showcase__image {
    height: 300px;
  }
}

.vlt-project-showcase--style-4 .vlt-project-showcase__image img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -webkit-transition: -webkit-transform 0.3s;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition: transform 0.3s, -webkit-transform 0.3s;
  -o-object-fit: cover;
  object-fit: cover;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

.vlt-project-showcase--style-4 .vlt-project-showcase__image:hover img {
  -webkit-transform: scale(1.1);
  -ms-transform: scale(1.1);
  transform: scale(1.1);
}

.vlt-project-showcase--style-5 {
  /*height: 107vh;
  min-height: 550px*/
  height: 500px;
  padding: 0 50px 50px;
}

.vlt-project-showcase--style-5 .swiper-container,
.vlt-project-showcase--style-5 .swiper-slide,
.vlt-project-showcase--style-5 .swiper-wrapper {
  height: 100%;
}

.vlt-project-showcase--style-5 .vlt-project-showcase__item {
  position: relative;
  z-index: 1;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  overflow: hidden;
  flex-direction: column;
  height: 100%;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

.vlt-project-showcase--style-5 .vlt-project-showcase__image {
  position: absolute;
  z-index: -1;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}

.vlt-project-showcase--style-5 .vlt-project-showcase__title {
  color: #222;
}

.vlt-project-showcase--style-5 .vlt-project-showcase__title a:hover {
  opacity: 0.8;
  color: inherit;
}

.vlt-project-showcase--style-6 {
  height: 100vh;
  min-height: 550px;
}

.vlt-project-showcase--style-6 .swiper-container,
.vlt-project-showcase--style-6 .swiper-slide,
.vlt-project-showcase--style-6 .swiper-wrapper {
  height: 100%;
}

.vlt-project-showcase--style-6 .vlt-project-showcase__item {
  position: relative;
  z-index: 1;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  overflow: hidden;
  flex-direction: column;
  height: 100%;
  background-color: #fff;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

.vlt-project-showcase--style-6 .vlt-project-showcase__image {
  position: absolute;
  z-index: -1;
  top: 0;
  right: 0;
  bottom: 0;
  left: 50%;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}

@media only screen and (max-width: 767px) {
  .vlt-project-showcase--style-6 .vlt-project-showcase__image {
    display: none;
  }
}

.vlt-project-showcase--style-6 .vlt-project-showcase__title {
  font-size: 130px;
  position: relative;
  display: inline-block;
}

@media only screen and (max-width: 767px) {
  .vlt-project-showcase--style-6 .vlt-project-showcase__title {
    font-size: 84px;
  }
}

@media only screen and (max-width: 575px) {
  .vlt-project-showcase--style-6 .vlt-project-showcase__title {
    font-size: 70px;
  }
}

.vlt-project-showcase--style-6 .vlt-project-showcase__title.original {
  z-index: 1;
}

@media only screen and (min-width: 768px) {
  .vlt-project-showcase--style-6 .vlt-project-showcase__title.original {
    color: #fff;
  }
}

.vlt-project-showcase--style-6 .vlt-project-showcase__title.mask {
  position: absolute;
  z-index: 3;
}

@media only screen and (max-width: 767px) {
  .vlt-project-showcase--style-6 .vlt-project-showcase__title.mask {
    display: none;
  }
}

.vlt-project-showcase--style-6 .vlt-project-showcase__title a:hover {
  color: inherit;
}

.vlt-project-showcase--style-7 {
  height: 100vh;
  min-height: 550px;
}

.vlt-project-showcase--style-7 .swiper-container,
.vlt-project-showcase--style-7 .swiper-slide,
.vlt-project-showcase--style-7 .swiper-wrapper {
  height: 100%;
}

.vlt-project-showcase--style-7 .vlt-project-showcase__item {
  position: relative;
  z-index: 1;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  overflow: hidden;
  flex-direction: column;
  height: 100%;
  background-color: #101010;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

.vlt-project-showcase--style-7 .vlt-project-showcase__item::after,
.vlt-project-showcase--style-7 .vlt-project-showcase__item::before {
  position: absolute;
  z-index: -1;
  top: 0;
  bottom: 0;
  width: 20%;
  content: "";
  border-right: 1px solid rgba(255, 255, 255, 0.25);
  border-left: 1px solid rgba(255, 255, 255, 0.25);
}

@media only screen and (max-width: 991px) {

  .vlt-project-showcase--style-7 .vlt-project-showcase__item::after,
  .vlt-project-showcase--style-7 .vlt-project-showcase__item::before {
    display: none;
  }
}

.vlt-project-showcase--style-7 .vlt-project-showcase__item::before {
  left: 20%;
}

.vlt-project-showcase--style-7 .vlt-project-showcase__item::after {
  left: 60%;
}

.vlt-project-showcase--style-7 .vlt-project-showcase__image {
  position: absolute;
  z-index: -1;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  opacity: 0.65;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}

@media only screen and (max-width: 575px) {
  .vlt-project-showcase--style-7 .vlt-project-showcase__title {
    font-size: 46px;
  }
}

.vlt-project-showcase--style-7 .vlt-project-showcase__title {
  color: #fff;
}

.vlt-project-showcase--style-7 .vlt-btn {
  margin-top: 50px;
}

.vlt-project-showcase--style-7 .vlt-project-showcase__navigation {
  position: relative;
  z-index: 2;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  margin: 0;
  padding: 0 0 0 9%;
  list-style-type: none;
  background-color: #fff;
  -webkit-flex-basis: 60%;
  -ms-flex-preferred-size: 60%;
  flex-basis: 60%;
}

@media only screen and (max-width: 1199px) {
  .vlt-project-showcase--style-7 .vlt-project-showcase__navigation {
    display: none;
  }
}

.vlt-project-showcase--style-7 .vlt-project-showcase__navigation li {
  font-size: 16px;
  font-weight: 700;
  max-width: 220px;
  padding: 35px 30px;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  color: rgba(16, 16, 16, 0.5);
  border-bottom: 1px solid transparent;
}

.vlt-project-showcase--style-7 .vlt-project-showcase__navigation li.is-active {
  color: #101010;
  border-color: #101010;
}

.vlt-work--tilt .vlt-work__meta {
  -webkit-transition: -webkit-transform 0.3s !important;
  transition: -webkit-transform 0.3s !important;
  transition: transform 0.3s !important;
  transition: transform 0.3s, -webkit-transform 0.3s !important;
}

.vlt-work--style-4 .vlt-work__meta {
  position: absolute;
  top: 0;
  left: 0;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  flex-direction: column;
  width: 100%;
  height: 100%;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
  opacity: 0;
  color: #fff;
  background-color: rgba(16, 16, 16, 0.3);
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
}

.vlt-work--style-4:hover .vlt-work__meta {
  opacity: 1;
}

.vlt-work--style-4 .vlt-work__meta {
  padding: 50px 60px;
  opacity: 1;
  background-color: unset;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
  -ms-flex-align: start;
  align-items: flex-start;
  -webkit-box-pack: end;
  -webkit-justify-content: flex-end;
  -ms-flex-pack: end;
  justify-content: flex-end;
  -webkit-backdrop-filter: unset;
  backdrop-filter: unset;
}

.vlt-apply-position-form .error+label,
.vlt-contact-form .error+label {
  color: var(--danger);
}

.vlt-apply-position-form .message,
.vlt-contact-form .message {
  font-size: 14px;
  display: none;
  margin-top: 30px;
}

.vlt-cursor {
  position: fixed;
  z-index: 110;
  top: 0;
  left: 0;
  visibility: hidden;
  pointer-events: none;
  mix-blend-mode: difference;
  -webkit-filter: invert(1) grayscale(1);
  filter: invert(1) grayscale(1);
}

.vlt-cursor .inner,
.vlt-cursor .outer {
  position: fixed;
  top: 0;
  left: 0;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  width: 80px;
  height: 80px;
  pointer-events: none;
}

.vlt-cursor .inner .circle,
.vlt-cursor .inner .icon,
.vlt-cursor .outer .circle,
.vlt-cursor .outer .icon {
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  -webkit-transform: scale(0.8) translate3d(0, 0, 0);
  transform: scale(0.8) translate3d(0, 0, 0);
  opacity: 0;
}

.vlt-cursor .outer .circle {
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  -webkit-box-shadow: inset 0 0 0 2px #101010;
  box-shadow: inset 0 0 0 2px #101010;
}

.vlt-cursor .inner {
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.vlt-cursor .inner .icon {
  font-size: 16px;
  line-height: 0;
  display: inline-block;
  color: #101010;
}

.vlt-cursor.is-active {
  visibility: visible;
}

.vlt-cursor.is-visible .inner .icon,
.vlt-cursor.is-visible .outer .circle {
  -webkit-transform: scale(1) translate3d(0, 0, 0);
  transform: scale(1) translate3d(0, 0, 0);
  opacity: 1;
}

.vlt-cursor.is-visible .inner .icon {
  -webkit-transition-delay: 150ms;
  transition-delay: 150ms;
}

::-webkit-scrollbar {
  width: 5px;
}

::-webkit-scrollbar-track {
  background-color: rgba(16, 16, 16, 0.05);
}

::-webkit-scrollbar-thumb {
  background-color: var(--rb-blue);
}

[data-marquee] {
  max-width: 100%;
  white-space: nowrap;
}

[data-marquee] [data-marquee-text] {
  display: inline-block;
  padding-right: 2em;
  -webkit-animation: vlt_marquee 5s linear infinite;
  animation: vlt_marquee 5s linear infinite;
}

.vlt-search-popup {
  position: fixed;
  z-index: 60;
  top: 0;
  left: 0;
  visibility: hidden;
  width: 100%;
  padding: 95px 0;
  -webkit-transform: translateY(-100%);
  -ms-transform: translateY(-100%);
  transform: translateY(-100%);
  color: #656565;
  background-color: #fff;
}

.vlt-search-popup.vlt-search-popup--dark {
  color: #b3b3b3;
  background-color: #101010;
}

.vlt-site-fixed-bar {
  line-height: 1;
  z-index: 25;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  flex-direction: column;
  width: 115px;
  pointer-events: none;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
}

@media only screen and (max-width: 767px) {
  .vlt-site-fixed-bar {
    display: none;
  }
}

.vlt-site-fixed-bar a:hover {
  color: inherit;
}

.vlt-site-overlay {
  position: fixed;
  z-index: 55;
  top: 0;
  left: 0;
  visibility: hidden;
  width: 100%;
  height: 100%;
  opacity: 0;
  background-color: rgba(16, 16, 16, 0.4);
}

.vlt-site-preloader {
  position: fixed;
  z-index: 120;
  top: 0;
  left: 0;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  height: 100%;
  -webkit-transition: opacity 0.3s, visibility 0.3s;
  transition: opacity 0.3s, visibility 0.3s;
  color: #101010;
  background-color: #fff;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.vlt-site-preloader.is-loaded {
  visibility: hidden;
  opacity: 0;
}

.vlt-hover-reveal {
  position: fixed;
  z-index: 100;
  top: 0;
  left: 0;
  width: 367px;
  height: 250px;
  pointer-events: none;
  opacity: 0;
}

.vlt-hover-reveal__img,
.vlt-hover-reveal__inner {
  position: relative;
  width: 100%;
  height: 100%;
}

.vlt-hover-reveal__inner {
  overflow: hidden;
}

.vlt-hover-reveal__img {
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}

[data-aos="image-mask-animation"] {
  -webkit-transition-property: -webkit-transform;
  transition-property: -webkit-transform;
  transition-property: transform;
  transition-property: transform, -webkit-transform;
  -webkit-transform: translate3d(-100%, 0, 0);
  transform: translate3d(-100%, 0, 0);
}

[data-aos="image-mask-animation"].aos-animate {
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
}

.vlt-isotope-load-more {
  font-size: 16px;
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  width: 70px;
  height: 70px;
  color: #101010;
  border-radius: 50%;
  -webkit-box-shadow: inset 0 0 0 2px currentColor;
  box-shadow: inset 0 0 0 2px currentColor;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.vlt-isotope-load-more i {
  display: inline-block;
}

.vlt-isotope-load-more:hover {
  color: #101010;
}

.vlt-isotope-load-more:hover i {
  -webkit-animation: vlt_animate_icon_bottom 0.3s forwards;
  animation: vlt_animate_icon_bottom 0.3s forwards;
}

.vlt-isotope-load-more.disabled {
  pointer-events: none;
}

.vlt-isotope-filters--white {
  color: rgba(255, 255, 255, 0.5);
}

.vlt-isotope-filters--white li.active,
.vlt-isotope-filters--white li:hover {
  color: #fff;
}

.vlt-isotope-grid .grid-item,
.vlt-isotope-grid .grid-sizer {
  float: left;
}

.vlt-isotope-grid .grid-item.w-100 {
  width: 100% !important;
}

.fancybox-bg {
  background-color: #101010;
}

.fancybox-is-open .fancybox-bg {
  opacity: 0.8;
}

.fancybox-loading {
  border: 2px solid rgba(255, 255, 255, 0.2);
  border-top-color: var(--rb-blue);
}

.fancybox-content .fancybox-button,
.fancybox-navigation .fancybox-button,
.fancybox-toolbar .fancybox-button {
  font-size: 16px;
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  width: 60px;
  height: 60px;
  padding: 0;
  cursor: pointer;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  color: #fff;
  background-color: #101010;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.fancybox-content .fancybox-button:hover,
.fancybox-navigation .fancybox-button:hover,
.fancybox-toolbar .fancybox-button:hover {
  color: #fff;
  background-color: var(--rb-blue);
}

.fancybox-content .fancybox-close-small,
.fancybox-navigation .fancybox-close-small,
.fancybox-toolbar .fancybox-close-small {
  top: -30px;
  right: -30px;
  opacity: 1;
}

.fancybox-navigation .fancybox-button--arrow_left:hover i {
  -webkit-animation: vlt_animate_icon_left 0.3s forwards;
  animation: vlt_animate_icon_left 0.3s forwards;
}

.fancybox-navigation .fancybox-button--arrow_right:hover i {
  -webkit-animation: vlt_animate_icon_right 0.3s forwards;
  animation: vlt_animate_icon_right 0.3s forwards;
}

.jarallax {
  position: relative;
  z-index: 0;
}

.jarallax>.jarallax-img {
  font-family: "object-fit: cover;";
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

:root {
  --swiper-theme-color: #101010;
}

.swiper-lazy:not(.swiper-lazy-loaded) {
  opacity: 0;
}

.swiper-lazy-preloader {
  border: 4px solid rgba(16, 16, 16, 0.1);
  border-top-color: transparent;
}

.swiper-lazy-preloader::after {
  display: none !important;
}

.vlt-swiper-pagination.swiper-pagination-fraction {
  color: inherit;
}

.vlt-swiper-button-next,
.vlt-swiper-button-prev {
  outline: 0;
}

.vlt-btn {
  font-weight: 700;
  line-height: 1.1;
  position: relative;
  z-index: 1;
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  overflow: hidden;
  cursor: pointer;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  white-space: nowrap;
  text-decoration: none;
  border: none;
  outline: 0;
  -webkit-box-shadow: none;
  box-shadow: none;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
}

.vlt-btn.disabled,
.vlt-btn:disabled {
  cursor: not-allowed;
  pointer-events: none;
}

.vlt-btn:focus {
  outline: 0;
}

.vlt-btn i.left {
  margin-right: 0.7em;
}

.vlt-btn i.right {
  margin-left: 0.7em;
}

.vlt-btn span {
  position: absolute;
  z-index: -1;
  display: block;
  width: 0;
  height: 0;
  -webkit-transition: width 0.6s, height 0.6s;
  transition: width 0.6s, height 0.6s;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  border-radius: 50%;
}

.vlt-btn:hover {
  text-decoration: none;
}

.vlt-btn:hover span {
  width: 40rem;
  height: 40rem;
}

.vlt-btn--primary {
  color: #fff;
  background-color: var(--rb-blue);
}

.vlt-btn--primary.vlt-btn--white {
  color: #101010;
  background-color: #fff;
}

.vlt-btn--primary span {
  background-color: #101010;
}

.vlt-btn--primary:hover {
  color: #fff;
}

.vlt-btn--secondary {
  color: #fff;
  background-color: var(--rb-green);
  border-radius: var(--rb-radius);
}

.vlt-btn--secondary.vlt-btn--white {
  color: #101010;
  background-color: #fff;
}

.vlt-btn--secondary span {
  background-color: var(--rb-blue);
}

.vlt-btn--secondary:hover {
  color: #fff;
}

.vlt-btn,
.vlt-btn--md {
  font-size: 18px;
  padding: 20px 60px;
  font-weight: normal;
}

.vlt-btn--lg {
  font-size: 18px;
  padding: 20px 70px;
}

.vlt-btn--sm {
  font-size: 14px;
  padding: 13px 27px;
}

.vlt-content-slider {
  width: 100%;
}

.vlt-countdown {
  font-size: 36px;
  font-weight: 700;
  color: var(--rb-blue);
}

.vlt-countdown span+span::before {
  margin-right: 18px;
  margin-left: 18px;
  content: ":";
}

.vlt-counter-up--style-2 {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
}

.vlt-counter-up--style-2 .vlt-counter-up__counter {
  font-size: 46px;
  font-weight: 700;
  line-height: 1;
  -webkit-flex-shrink: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0;
}

.vlt-demo-feature--style-2 {
  padding: 60px 40px;
  -webkit-transition: -webkit-box-shadow 0.3s;
  transition: -webkit-box-shadow 0.3s;
  transition: box-shadow 0.3s;
  transition: box-shadow 0.3s, -webkit-box-shadow 0.3s;
  text-align: center;
  -webkit-box-shadow: inset 0 0 0 1px #d6d6d6;
  box-shadow: inset 0 0 0 1px #d6d6d6;
}

.vlt-demo-feature--style-2:hover {
  -webkit-box-shadow: inset 0 0 0 1px #101010;
  box-shadow: inset 0 0 0 1px #101010;
}

.vlt-page-title {
  position: relative;
  z-index: 1;
  overflow: hidden;
}

.vlt-page-title--style-3 {
  padding: 270px 0;
  text-align: center;
}

.vlt-page-title--style-3 .vlt-page-title__title {
  font-size: 130px;
  color: #fff;
}

@media only screen and (max-width: 767px) {
  .vlt-page-title--style-3 .vlt-page-title__title {
    font-size: 84px;
  }
}

@media only screen and (max-width: 575px) {
  .vlt-page-title--style-3 .vlt-page-title__title {
    font-size: 46px;
  }
}

.vlt-particle {
  z-index: 0;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  will-change: transform;
}

.vlt-particle:not([data-animation-name="none"]) {
  visibility: hidden;
}

.vlt-particle.animate__animated {
  visibility: visible;
}

.vlt-particle~ :not(.vlt-particle) {
  position: relative;
  z-index: 1;
}

.vlt-partner {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  min-height: 55px;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-flex-shrink: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0;
}

.vlt-partner img {
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
  -webkit-flex-shrink: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0;
}

.vlt-partner:hover img {
  opacity: 0.9;
}

.vlt-partner--center {
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.vlt-progress-bar__title {
  font-size: 18px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  margin: 0 0 8px;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

.vlt-progress-bar__title>span::after {
  content: "%";
}

.vlt-progress-bar__bar {
  position: relative;
  overflow: hidden;
  width: 100%;
  height: 3px;
  background-color: #3d3d3d;
}

.vlt-progress-bar__bar span {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  background-color: var(--rb-blue);
}

/* .vlt-section-title--style-2 .vlt-section-title__title {
  font-size: 2.5em
} */
@media only screen and (max-width: 767px) {
  .vlt-section-title--style-2 .vlt-section-title__title {
    font-size: 50px;
  }
}

@media only screen and (max-width: 575px) {
  .vlt-section-title--style-2 .vlt-section-title__title {
    font-size: 40px;
  }
}

.vlt-service-box {
  position: relative;
  overflow: hidden;
  -webkit-transition: -webkit-transform 0.3s;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition: transform 0.3s, -webkit-transform 0.3s;
}

.vlt-service-box img {
  -webkit-transition: -webkit-transform 0.3s;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition: transform 0.3s, -webkit-transform 0.3s;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

.vlt-service-box__content {
  position: absolute;
  top: 0;
  left: 0;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  flex-direction: column;
  width: 100%;
  height: 100%;
  -webkit-transition: background-color 0.3s;
  transition: background-color 0.3s;
  color: #fff;
  background-color: rgba(16, 16, 16, 0.4);
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
}

.vlt-service-box__link {
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.vlt-service-box__icon {
  font-size: 32px;
  margin-bottom: 10px;
}

.vlt-service-box__icon i {
  display: inline-block;
}

.vlt-service-box__title {
  color: inherit;
}

.vlt-service-box:hover {
  -webkit-transform: translateY(-20px);
  -ms-transform: translateY(-20px);
  transform: translateY(-20px);
}

.vlt-service-box:hover img {
  -webkit-transform: scale(1.1);
  -ms-transform: scale(1.1);
  transform: scale(1.1);
}

.vlt-service-box:hover .vlt-service-box__content {
  background-color: var(--rb-green);
  opacity: 0.8;
}

.vlt-service-box:hover .vlt-service-box__icon i {
  -webkit-animation: vlt_bounce 0.7s forwards;
  animation: vlt_bounce 0.7s forwards;
}

.vlt-simple-image {
  position: relative;
  overflow: hidden;
}

.vlt-simple-image__mask {
  position: absolute;
  z-index: 1;
  top: 0;
  bottom: 0;
  left: 100%;
  width: 120%;
}

.vlt-simple-image__mask .inside {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  -webkit-transform: skewX(-10deg);
  -ms-transform: skewX(-10deg);
  transform: skewX(-10deg);
  -webkit-transform-origin: bottom;
  -ms-transform-origin: bottom;
  transform-origin: bottom;
  background-color: #fff;
}

.vlt-tabs {
  margin: 0;
  padding: 0;
  list-style-type: none;
}

.vlt-tabs li+li {
  margin-top: 25px;
}

.vlt-tabs a {
  font-size: 24px;
  font-weight: 700;
  opacity: 0.3;
}

.vlt-tabs a:hover {
  opacity: 1;
  color: inherit;
}

.vlt-tabs li.is-active a {
  opacity: 1;
}

.vlt-tabs-image {
  position: relative;
  min-height: 550px;
  margin: 0;
  padding: 0;
  list-style-type: none;
}

.vlt-tabs-image li {
  position: absolute;
  top: 0;
  left: 0;
  overflow: hidden;
  width: 100%;
  height: 100%;
}

.vlt-tabs-image li img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -webkit-transition: opacity 0.3s, -webkit-transform 0.6s;
  transition: opacity 0.3s, -webkit-transform 0.6s;
  transition: opacity 0.3s, transform 0.6s;
  transition: opacity 0.3s, transform 0.6s, -webkit-transform 0.6s;
  -webkit-transform: scale3d(1, 1.75, 1) skewY(5deg);
  transform: scale3d(1, 1.75, 1) skewY(5deg);
  -webkit-transform-origin: center left;
  -ms-transform-origin: center left;
  transform-origin: center left;
  opacity: 0;
  -o-object-fit: cover;
  object-fit: cover;
}

.vlt-tabs-image li.is-active img {
  -webkit-transform: scale3d(1, 1, 1) skewY(0);
  transform: scale3d(1, 1, 1) skewY(0);
  opacity: 1;
}

.vlt-types-background,
.vlt-types-background__image,
.vlt-types-list {
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  flex-direction: column;
  width: 100%;
  height: 100%;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.vlt-types-background {
  z-index: 1;
}

@media only screen and (max-width: 991px) {
  .vlt-types-background {
    display: none;
  }
}

.vlt-types-background__image {
  -webkit-transition: opacity 0.5s;
  transition: opacity 0.5s;
  opacity: 0;
  background-color: #101010;
}

.vlt-types-background__image img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0.6;
  -o-object-fit: cover;
  object-fit: cover;
}

.vlt-types-background__image.is-active {
  opacity: 1;
}

.vlt-types-list {
  z-index: 2;
}

@media only screen and (max-width: 991px) {
  .vlt-types-list {
    position: relative;
  }
}

.vlt-types-list::after,
.vlt-types-list::before {
  position: absolute;
  z-index: 1;
  top: 0;
  width: 1px;
  height: 100%;
  content: "";
  -webkit-transition: background-color 0.5s;
  transition: background-color 0.5s;
  background-color: rgba(255, 255, 255, 0);
}

@media only screen and (max-width: 991px) {

  .vlt-types-list::after,
  .vlt-types-list::before {
    display: none;
  }
}

.vlt-types-list::before {
  left: calc(100% / 3);
}

.vlt-types-list::after {
  left: calc((100% / 3) * 2);
}

.vlt-types-list.is-active::after,
.vlt-types-list.is-active::before {
  background-color: rgba(255, 255, 255, 0.1);
}

.vlt-types-list .vlt-types-list__item {
  position: relative;
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  overflow: hidden;
  width: calc(100% / 3);
  height: 100%;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

@media only screen and (max-width: 991px) {
  .vlt-types-list .vlt-types-list__item {
    width: 100%;
    height: 180px;
  }
}

.vlt-types-list .vlt-types-list__item a {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.vlt-navbar-logo img {
  height: 75px;
}

/*.about-section{
    margin-top: 42px
}*/
.has-logo-background-color {
  background-color: #222;
}

.customizes-solution-section h2 {
  color: #fff;
  /* font-size: 80px !important;*/
  margin-bottom: 30px;
}

.customizes-solution-section p {
  max-width: 800px;
  margin: 0 auto;
  color: #ccc;
}

.customizes-solution-section .vlt-btn--secondary {
  background: var(--rb-blue-light);
  margin-top: 30px;
}

.customizes-solution-section .vlt-btn--secondary span {
  background-color: var(--rb-green-light);
}

.vlt-navbar .container {
  /*max-width: 100%*/
}

.vlt-work__meta ul {
  padding-left: 0;
  margin-bottom: 0;
}

.vlt-work__meta ul li {
  list-style: square;
  font-size: 16px;
  letter-spacing: 1px;
  font-weight: normal;
}

.vlt-work__meta ul li a:hover {
  /*color:#ccc*/
}

.vlt-work__meta {
  opacity: 1 !important;
  background-color: rgba(0, 0, 0, 0.6) !important;
}

.vlt-content-slider .swiper-slide {
  cursor: pointer;
}

.applications-details .col-lg-2 {
  flex: 0 0 20%;
  max-width: 20%;
}

.applications-details .vlt-service-box__title {
  font-size: 18px;
}

/* Applications: tinted band between the white sections above and below, 3 across on desktop */
.applications-details {
  background: #f3f3f3;
  padding-top: 20px;
  padding-bottom: 40px;
}

/* only where it follows the applications band on the homepage - the class is shared with product pages */
.applications-details+.about-us-section {
  padding-top: 70px;
}

@media (max-width: 767px) {
  .applications-details {
    padding-bottom: 10px;
  }

  .applications-details+.about-us-section {
    padding-top: 44px;
  }
}

.applications-details .app-grid {
  margin-bottom: 30px;
}

.applications-details .vlt-service-box {
  box-shadow: 0 10px 26px -18px rgba(16, 16, 16, .55);
}

.applications-details .app-grid .vlt-service-box>img {
  aspect-ratio: 16/10;
}

@media (max-width: 767px) {
  .applications-details .app-grid .vlt-service-box>img {
    aspect-ratio: 16/9;
  }
}

/* Applications: caption sits bottom-left over a bottom-weighted scrim */
.applications-details .vlt-service-box__content {
  align-items: flex-start;
  justify-content: flex-end;
  padding: 22px 22px 20px;
  text-align: left;
  background-color: rgba(16, 16, 16, .18);
  transition: background-color .3s, background-image .3s;
}

/* Tiles alternate blue / green down the grid */
.applications-details .app-grid:nth-child(odd) .vlt-service-box__content {
  background-image: linear-gradient(to top, rgba(var(--rb-blue-rgb), .94) 0%, rgba(var(--rb-blue-rgb), .52) 46%, rgba(var(--rb-blue-rgb), 0) 78%);
}

.applications-details .app-grid:nth-child(even) .vlt-service-box__content {
  background-image: linear-gradient(to top, rgba(var(--rb-green-rgb), .94) 0%, rgba(var(--rb-green-rgb), .52) 46%, rgba(var(--rb-green-rgb), 0) 78%);
}

.applications-details .vlt-service-box:hover .vlt-service-box__content {
  background-image: none;
}

.applications-details .app-grid:nth-child(odd) .vlt-service-box:hover .vlt-service-box__content {
  background-color: var(--rb-blue);
}

.applications-details .vlt-service-box__icon {
  margin-bottom: 10px;
}

.applications-details .vlt-service-box__icon img {
  width: auto;
  height: 54px;
  aspect-ratio: auto;
  object-fit: contain;
}

@media (max-width: 575px) {
  .applications-details .vlt-service-box__content {
    padding: 18px;
  }

  .applications-details .vlt-service-box__icon img {
    height: 46px;
  }
}

.vlt-service-box__icon img {
  filter: invert(1) brightness(10);
  width: 40px;
}

.inner-page-banner {
  padding: 150px 0;
  height: 400px;
  /*background-position: center bottom !important;*/
  position: relative;
}

/* .inner-page-banner h1 {
  font-size: 60px !important;
  color: #fff;
  text-transform: uppercase;
  z-index: 9;
  position: relative
} */
.inner-page-banner:after {
  /*position: absolute;
    width: 100%;
    height: 100%;
    top:0;
    right: 0;
    content: '';
    background: rgba(0,0,0,0.4)*/
}

.inner-page-banner .container {
  max-width: 80%;
}

.blog-inner-single {
  justify-content: center;
  align-items: center;
  margin: 20px 0;
  padding-bottom: 30px;
  border-bottom: 1px solid #bdbdbd;
}

.blog-inner-single:last-child {
  border-bottom: none;
}

.blog-inner-single .blog-subheading {
  margin-bottom: 10px;
}

.blog-inner-single img {
  border-radius: var(--rb-radius);
}

.blog-subheading {
  color: var(--blue);
  font-size: 25px;
}

/* Exhibition tabs */
.tabs {
  display: flex;
  flex-wrap: wrap;
}

.tabs__label {
  padding: 12px 16px;
  cursor: pointer;
  width: 50%;
  border-bottom: 2px solid #ddd;
  border-radius: 0;
  text-align: center;
  color: var(--blue);
  transition: background-color .2s ease, color .2s ease, border-color .2s ease;
}

.tabs__label:hover {
  background-color: #f3f3f3;
  border-bottom-color: var(--blue);
}

/* Upcoming Exhibitions with nothing in it: the radio carries `disabled`, so the label
   cannot select it - this is the matching look. */
.tabs__label--disabled {
  color: #9aa5ac;
  cursor: not-allowed;
}

.tabs__label--disabled:hover {
  background-color: transparent;
  border-bottom-color: #ddd;
}

.tabs__radio {
  display: none;
}

.tabs__content {
  order: 1;
  width: 100%;
  line-height: 1.5;
  font-size: 0.9em;
  display: none;
}

.tabs__radio:checked+.tabs__label {
  font-weight: bold;
  color: #fff;
  background-color: var(--blue);
  border-bottom-color: var(--blue);
  border-radius: var(--rb-radius);
}

.tabs__radio:focus-visible+.tabs__label {
  outline: 2px solid var(--blue);
  outline-offset: 2px;
}

.tabs__radio:checked+.tabs__label+.tabs__content {
  display: initial;
}

.exb-single {
  background-color: #fff;
  margin: 20px 0;
  border-radius: var(--rb-radius);
  overflow: hidden;
  box-shadow: 0 3px 6px rgba(114, 114, 114, 0.16),
    0 3px 6px rgba(132, 132, 132, 0.23);
  transition: all ease 0.5s;
}

.exb-single img {
  transition: all ease 0.5s;
  aspect-ratio: 1/1 !important;
  object-fit: cover !important;
}

.exb-single .img {
  overflow: hidden;
}

.exb-single .txt {
  padding: 10px;
  display: flex;
  flex-direction: column;
  height: 120px;
  text-align: center;
  justify-content: center;
  align-items: center;
}

.date {
  color: var(--green);
  text-transform: uppercase;
  font-size: 12px;
  letter-spacing: 3px;
  font-weight: 700;
  margin-bottom: 15px;
}

.exb-single .txt h5 {
  font-size: 20px;
  color: var(--blue);
}

.exb-single:hover img {
  filter: grayscale(0.6);
}

.exb-inner h2 {
  font-size: 25px;
  color: var(--blue);
}

.response-page {
  height: 90vh;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-around;
  padding-bottom: 50px;
}

.response-page img {
  max-height: 300px;
}

.response-page h1 {
  color: var(--rb-blue);
}

.applications-details .resp-tab-content a {
  text-transform: uppercase;
}

.position-sticky {
  position: sticky;
  top: 0;
}

/*  */
/* blog-page css */
.blog-page .blog-post .blog-post-img {
  box-shadow: 0 3px 6px rgba(114, 114, 114, 0.16),
    0 3px 6px rgba(132, 132, 132, 0.23);
  width: 100%;
  margin: 0 auto 20px;
}

.blog-page .blog-post .blog-post-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.blog-page .blog-post :is(p, li) {
  text-align: justify;
  margin: 10px 0;
}

.blog-page .blog-post h2 {
  color: var(--blue);
  font-size: clamp(1.5rem, 2vw + 1rem, 2.3rem);
}

.blog-page .blog-post h3 {
  font-size: clamp(1.25rem, 2vw + 1rem, 2rem);
}

.blog-page .blog-post h4 {
  font-size: clamp(1.1rem, 2vw + 0.7rem, 1.3rem);
}

.blog-page .blog-post ul {
  padding-left: 15px;
  list-style: none;
}

.blog-page .blog-post .key-takeaways {
  background: #f8fafc;
  border-left: 5px solid var(--blue);
  border-radius: var(--rb-radius);
  padding: 18px 24px;
  margin: 0 0 24px;
}

.blog-page .blog-post .key-takeaways h3 {
  margin: 0 0 12px;
  color: var(--rb-blue);
  font-size: clamp(1.15rem, 1vw + 0.9rem, 1.35rem);
  line-height: 1.3;
  font-weight: 700;
}

.blog-page .blog-post .key-takeaways ul {
  margin: 0;
}

.blog-page .blog-post .key-takeaways li:last-child {
  margin-bottom: 0;
}

/* FAQ accordion */
.blog-page .blog-post .faq-accordion {
  margin: 32px 0 0;
  border-top: 1px solid #e5e7eb;
  padding-top: 24px;
}

.blog-page .blog-post .faq-accordion>h3 {
  margin: 0 0 16px;
  color: var(--blue);
}

.blog-page .blog-post .faq-accordion details {
  border: 1px solid #e5e7eb;
  border-radius: var(--rb-radius);
  margin-bottom: 12px;
  background: #fff;
  transition: border-color .2s ease, box-shadow .2s ease;
}

.blog-page .blog-post .faq-accordion details[open] {
  border-color: var(--blue);
  box-shadow: 0 2px 10px rgba(var(--rb-blue-dark-rgb), .06);
}

.blog-page .blog-post .faq-accordion summary {
  cursor: pointer;
  list-style: none;
  font-weight: 600;
  color: var(--blue);
  padding: 14px 46px 14px 18px;
  position: relative;
}

.blog-page .blog-post .faq-accordion summary::-webkit-details-marker {
  display: none;
}

.blog-page .blog-post .faq-accordion summary::after {
  content: "+";
  position: absolute;
  right: 18px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 22px;
  line-height: 1;
  font-weight: 400;
  color: var(--blue);
  transition: transform .2s ease;
}

.blog-page .blog-post .faq-accordion details[open] summary::after {
  content: "2";
}

.blog-page .blog-post .faq-accordion .faq-answer {
  padding: 0 18px 16px;
}

.blog-page .blog-post .faq-accordion .faq-answer> :last-child {
  margin-bottom: 0;
}

.blog-page .blog-post li {
  padding-left: 10px;

  &::before {
    content: "\2022";
    color: var(--blue);
    font-weight: bold;
    display: inline-block;
    width: 1em;
    margin-left: -1em;
  }
}

.blog-page .blog-post a {
  font-weight: bold;
}

.banner {
  position: relative;
  padding: 100px 0;
  /* Adjust padding as needed */
  color: #fff;
  text-align: center;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
}

.blog-post-img.blog-post-img2 {
  width: 40% !important;
  margin: 20px 0;
}

/* Blog Section Grid Container - Works with Bootstrap */
.blog-section-grid .grid-item {
  margin-bottom: 30px;
}

/* Blog Grid Card */
.blog-section-grid .blog-grid {
  display: flex;
  flex-direction: column;
  width: 100%;
  height: 100%;
  /* min-height: 450px; */
  box-shadow: rgba(var(--rb-blue-dark-rgb), 0.25) 0px 4px 8px -2px,
    rgba(var(--rb-blue-dark-rgb), 0.08) 0px 0px 0px 1px;
  background-color: #ffffff;
  border-radius: var(--rb-radius);
  overflow: hidden;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  position: relative;
  transform: translateY(0);
}

/* Hover Animation */
.blog-section-grid .blog-grid:hover {
  transform: translateY(-8px);
  box-shadow: rgba(var(--rb-blue-dark-rgb), 0.35) 0px 8px 25px -5px,
    rgba(var(--rb-blue-dark-rgb), 0.12) 0px 0px 0px 1px;
}

/* Blog Image Container */
.blog-section-grid .blog-grid .blog-img {
  background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
  overflow: hidden;
  position: relative;
}

.blog-section-grid .blog-grid .blog-img::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(45deg, transparent 30%, rgba(255, 255, 255, 0.1) 50%, transparent 70%);
  transform: translateX(-100%);
  transition: transform 0.6s ease;
}

.blog-section-grid .blog-grid:hover .blog-img::before {
  transform: translateX(100%);
}

.blog-section-grid .blog-grid .blog-img img {
  object-fit: cover;
  padding: 0;
  transition: transform 0.3s ease, filter 0.3s ease;
  border-radius: var(--rb-radius);
}

.blog-section-grid .blog-grid:hover .blog-img img {
  transform: scale(1.05);
  filter: brightness(1.1);
}

/* Blog Content */
.blog-section-grid .blog-grid .blog-content {
  padding: 24px;
  flex-grow: 1;
  display: flex;
  flex-direction: column;
  background: linear-gradient(180deg, #ffffff 0%, #fafbfc 100%);
}

/* Blog Title */
.blog-section-grid .blog-grid .blog-content h3 {
  font-size: 18px;
  line-height: 28px;
  color: var(--blue);
  margin: 0 0 16px 0;
  font-weight: 600;
  transition: color 0.3s ease;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.blog-section-grid .blog-grid .blog-content h3 a {
  text-decoration: none;
  color: inherit;
  transition: color 0.3s ease;
}

/* whole card is the link (bootstrap CDN loads after this file, so be explicit) */
.blog-section-grid a.blog-grid,
.blog-section-grid a.blog-grid:hover,
.blog-section-grid a.blog-grid:focus {
  text-decoration: none;
  color: inherit;
}

.blog-section-grid .blog-grid:hover .blog-content h3,
.blog-section-grid .blog-grid:hover .blog-content h3 a {
  color: var(--blue);
}

/* Blog Description */
.blog-section-grid .blog-grid .blog-content p {
  font-size: 15px;
  line-height: 24px;
  color: #64748b;
  text-align: justify;
  margin: 0 0 24px 0;
  flex-grow: 1;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* Read More Button */
.blog-section-grid .blog-grid .blog-content .vlt-btn {
  border-radius: var(--rb-radius);
  transition: all 0.3s ease;
  align-self: flex-start;
  position: relative;
  overflow: hidden;
}

/* Responsive Design - Bootstrap handles breakpoints */
@media (max-width: 767px) {
  .blog-section-grid .blog-grid .blog-content {
    padding: 20px;
  }

  .blog-section-grid .blog-grid .blog-content h3 {
    font-size: 18px;
    line-height: 26px;
  }
}

/* pagination code
 */
.pagination {
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 50px 0;
}

/* Previous/Next at the first or last page: visibly out of range, not just inert. */
.pagination .vlt-btn.is-disabled {
  opacity: .45;
  pointer-events: none;
}

/* Jump-to-page is one control: the wrap draws the border and the brand shape, the
   input and the Go button sit flush inside it with none of their own. */
.jump-to-page {
  display: flex;
  margin: 0 10px;
  background: #fff;
  border: 1px solid var(--rb-blue-dark);
  border-radius: var(--rb-radius);
  overflow: hidden;
  transition: border-color .2s ease, box-shadow .2s ease;
}

.jump-to-page input,
.jump-to-page input:focus {
  width: 150px;
  padding: 0 15px;
  height: 45px;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  outline: 0;
}

.jump-to-page:focus-within {
  border-color: var(--rb-blue-light);
  box-shadow: 0 0 0 3px rgba(var(--rb-blue-rgb), .18);
}

.btn-jump {
  height: 45px;
  border: 0;
  border-radius: 0 !important;
  background: #101010;
  padding: 0 22px;
  color: #fff;
}

@media (max-width:500px) {
  .pagination {
    flex-direction: column;
    margin: 25px 0;
  }

  .pagination a,
  .jump-to-page {
    margin: 10px 0;
  }
}


/* 08. RESPONSIVE TABS =========================================================================== */
/* Responsive tab */
h4.resp-accordion:hover,
h4.resp-accordion:focus,
.resp-tabs-list li:hover,
.resp-tabs-list li:focus {
  text-decoration: none;
  background-color: #eee;
  /*border-color: #eee #eee #ddd;*/
  cursor: pointer;
  color: var(--rb-blue);
}

h4.resp-accordion,
.resp-tabs-list li {
  position: relative;
  font-size: 16px;
  background: #fafafa;
  line-height: 1.42857;
  padding: 10px 15px;
  border: 1px solid #ddd;
  margin-bottom: 10px;
  transition: all 0.4s ease-in-out 0s;
  -moz-transition: all 0.4s ease-in-out 0s;
  -webkit-transition: all 0.4s ease-in-out 0s;
  -o-transition: all 0.4s ease-in-out 0s;
  -ms-transition: all 0.4s ease-in-out 0s;
}

h4.resp-accordion.resp-tab-active,
h4.resp-accordion.resp-tab-active:hover,
h4.resp-accordion.resp-tab-active:active,
.resp-tabs-list li.resp-tab-active,
.resp-tabs-list li.resp-tab-active:hover,
.resp-tabs-list li.resp-tab-active:active {
  color: #fff !important;
  background: var(--rb-blue);
  border: 1px solid var(--rb-blue);
}

.resp-tab-content {
  display: none;
  padding: 15px;
  margin-bottom: 10px;
}

.resp-arrow:before {
  font-family: 'FontAwesome';
  background: none;
  width: auto;
  height: auto;
  font-style: normal;
  content: '\f078';
  font-size: 11px;
  position: relative;
}

.resp-tab-active .resp-arrow:before {
  font-family: 'FontAwesome';
  content: '\f077';
}

/* responsive tab top */
.resp-tabs-top .resp-tabs-list li {
  display: block;
  float: left;
  margin-bottom: -1px;
  margin-right: 2px;
  border-radius: 0;
}

.resp-tabs-top .resp-tab-content {}

/* responsive tab bottom */
.resp-tabs-bottom .resp-tabs-list li {
  display: block;
  float: left;
  margin-top: -1px;
  margin-right: 2px;
}

.resp-tabs-bottom .resp-tab-content {
  margin-bottom: 0px;
}

/* responsive tab left */
.resp-tabs-left .resp-tabs-list {
  float: left;
  width: 30%;
  margin-top: 20px;
}

.resp-tabs-left .resp-tabs-list li {
  margin-right: -1px;
  margin-bottom: 2px;
}

.resp-tabs-left .resp-tabs-list li.resp-tab-active,
.resp-tabs-left .resp-tabs-list li.resp-tab-active:hover,
.resp-tabs-left .resp-tabs-list li.resp-tab-active:active {
  border-right: none;
  cursor: default;
}

.resp-tabs-left .resp-tabs-container {
  float: left;
  width: 70%;
}

.resp-tabs-left .resp-tab-content {}

/* responsive tab right */
.resp-tabs-right .resp-tabs-list li {
  margin-left: -1px;
  margin-bottom: 2px;
}

/* Accordion */
.resp-accordion h4.resp-accordion {
  display: block;
}

.resp-accordion .resp-tab-content {}

@media only screen and (max-width: 767px) {
  h4.resp-accordion {
    display: block;
  }

  .resp-tab-content {}
}

.header-navigation .main-menu ul li .sub-menu .resp-tab-content li a {
  padding: 0px 2px;
  border-bottom: 0;
}

.resp-tab-content h6 {
  margin-bottom: 10px;
  text-transform: uppercase;
  font-size: 14px;
}

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

.resp-tab-content .col-md-3 div,
.resp-tab-content .col-md-4 div {
  border: 0;
  padding: 10px;
  min-height: 340px;
  background: #f3f3f3;
  height: 100%;
}

.p-0 {
  padding: 0;
}



/* 09. TIMELINE ================================================================================== */
.history-section {
  position: relative;
  background-repeat: no-repeat !important;
  margin: 0 auto;
  padding: 100px 0 70px;
  width: 100%;
}

.history-section .auto-container {
  max-width: 1300px;
}

.timeline--horizontal .timeline-divider {
  background: #31333e;
  height: 2px;
}

.timeline--horizontal .timeline__item:after {
  left: 0;
  transform: translate(0, -50%);
  border: 0;
  border-radius: 0;
  width: 12px;
  height: 12px;
  border-radius: 50%;
}

.timeline__content {
  border-radius: 0;
  border: 0;
  border-left: 1px solid #fff;
  background: 0 0;
}

.timeline--horizontal .timeline__item .timeline__content:before {
  display: none;
}

.timeline--horizontal .timeline__item .timeline__content:after {
  display: none;
}

.timeline__content .date {
  color: var(--rb-green);
  font-size: 20px;
  font-weight: 900;
  margin-bottom: 10px;
  line-height: 1em;
}

.timeline__content .content {
  position: relative;
}

.timeline__content .content .image {
  position: absolute;
  left: 0;
  top: 0;
  opacity: 0;
  transition: all .5s ease;
}

.timeline__content:hover .content .image {
  opacity: 0;
}

.timeline__content .content .text {
  transition: all .5s ease;
}

.timeline__content:hover .content .text {
  opacity: 1;
}

.timeline-nav-button {
  background-color: transparent;
}

.timeline {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  position: relative;
}

.timeline *,
.timeline :after,
.timeline :before {
  -webkit-box-sizing: inherit;
  box-sizing: inherit;
}

.timeline:not(.timeline--horizontal):before {
  background-color: #fff;
  bottom: 0;
  content: '';
  left: 50%;
  margin-left: -2px;
  position: absolute;
  top: 0;
  width: 2px;
  z-index: 1;
}

.timeline__wrap {
  overflow: hidden;
  position: relative;
  z-index: 2;
}

.timeline__item {
  font-size: 12pt;
  padding: .625rem 2.5rem .625rem 0;
  position: relative;
  width: 50%;
  z-index: 2;
}

.timeline__item:after {
  background-color: #fff;
  border: 4px solid #f8f9fa;
  border-radius: 50%;
  content: '';
  height: 20px;
  position: absolute;
  right: -10px;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  top: 50%;
  width: 20px;
  z-index: 1;
}

.timeline__item.animated {
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
  opacity: 0;
}

.timeline__item.fadeIn {
  -webkit-animation-name: fadeIn;
  animation-name: fadeIn;
}

.timeline__item--left {
  left: 0;
}

.timeline__item--right {
  left: 50%;
  padding: .625rem 0 .625rem 2.5rem;
}

.timeline__item--right:after {
  left: -10px;
}

.timeline__item--right .timeline__content:before {
  border-bottom: 10px solid transparent;
  border-right: 12px solid #ccc;
  border-left: none;
  border-top: 10px solid transparent;
  left: -12px;
}

.timeline__item--right .timeline__content:after {
  border-bottom: 9px solid transparent;
  border-right: 11px solid #fff;
  border-left: none;
  border-top: 9px solid transparent;
  left: -10px;
}

.timeline__content {
  color: #666;
  display: block;
  padding: 0 0 0 15px;
  position: relative;
  text-align: left;
}

.timeline__content ul {
  padding-left: 15px;
}

.timeline__content:after,
.timeline__content:before {
  content: '';
  height: 0;
  position: absolute;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  top: 50%;
  width: 0;
}

.timeline__content:before {
  border-bottom: 10px solid transparent;
  border-left: 12px solid #ccc;
  border-top: 10px solid transparent;
  right: -12px;
  z-index: 1;
}

.timeline__content:after {
  border-bottom: 9px solid transparent;
  border-left: 11px solid #fff;
  border-top: 9px solid transparent;
  right: -10px;
  z-index: 2;
}

.timeline__content h2 {
  font-size: 1.25rem;
  font-weight: 700;
  margin: 0 0 .625rem;
}

.timeline__content p {
  font-size: .9375rem;
  line-height: 1.5;
  margin-bottom: 10px;
}

.timeline--horizontal {
  font-size: 0;
  padding: 0 3.125rem;
  overflow: hidden;
  white-space: nowrap;
}

.timeline--horizontal .timeline-divider {
  background-color: #fff;
  display: block;
  height: 2px;
  left: 40px;
  position: absolute;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  right: 40px;
  z-index: 1;
}

.timeline--horizontal .timeline__items {
  -webkit-transition: all .8s;
  -o-transition: all .8s;
  transition: all .8s;
  will-change: transform;
}

.timeline--horizontal .timeline__item {
  display: inline-block;
  left: 0;
  padding: 0 0 2.5rem;
  position: relative;
  -webkit-transition: none;
  -o-transition: none;
  transition: none;
  vertical-align: top;
  white-space: normal;
}

.timeline--horizontal .timeline__item:after {
  left: 50%;
  right: auto;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  top: 100%;
}

.timeline--horizontal .timeline__item .timeline__item__inner {
  display: table;
  height: 100%;
  width: 100%;
}

.timeline--horizontal .timeline__item .timeline__content__wrap {
  display: table-cell;
  margin: 0;
  padding: 0;
  vertical-align: bottom;
}

.timeline--horizontal .timeline__item .timeline__content:before {
  border-left: 12px solid transparent;
  border-right: 12px solid transparent;
  border-top: 12px solid #ccc;
  left: 50%;
  right: auto;
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transform: translateX(-50%);
  top: 100%;
}

.timeline--horizontal .timeline__item .timeline__content:after {
  border-left: 10px solid transparent;
  border-right: 10px solid transparent;
  border-top: 10px solid #fff;
  left: 50%;
  right: auto;
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transform: translateX(-50%);
  top: 100%;
}

.timeline--horizontal .timeline__item--bottom {
  padding: 2.5rem 0 0;
}

.timeline--horizontal .timeline__item--bottom:after {
  top: 0;
}

.timeline--horizontal .timeline__item--bottom .timeline__content__wrap {
  vertical-align: top;
}

.timeline--horizontal .timeline__item--bottom .timeline__content:before {
  border-bottom: 12px solid #ccc;
  border-left: 12px solid transparent;
  border-right: 12px solid transparent;
  border-top: none;
  bottom: 100%;
  top: auto;
}

.timeline--horizontal .timeline__item--bottom .timeline__content:after {
  border-bottom: 10px solid #fff;
  border-left: 10px solid transparent;
  border-right: 10px solid transparent;
  border-top: none;
  bottom: 100%;
  top: auto;
}

.timeline-nav-button {
  border: 2px solid #fff;
  border-radius: var(--rb-radius);
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-box-shadow: none;
  box-shadow: none;
  cursor: pointer;
  display: block;
  height: 40px;
  outline: 0;
  position: absolute;
  text-indent: -9999px;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  top: 50%;
  width: 40px;
  z-index: 10;
}

.timeline-nav-button:disabled {
  pointer-events: none;
}

.timeline-nav-button:before {
  background-position: center center;
  background-repeat: no-repeat;
  content: '';
  display: block;
  height: 14px;
  left: 50%;
  position: absolute;
  -webkit-transform: translateX(-50%) translateY(-50%);
  -ms-transform: translateX(-50%) translateY(-50%);
  transform: translateX(-50%) translateY(-50%);
  top: 50%;
  width: 8px;
}

.timeline-nav-button--prev {
  left: 0;
}

.timeline-nav-button--prev:before {
  background-image: url("../img/arrow-left.svg");
}

.timeline-nav-button--next {
  right: 0;
}

.timeline-nav-button--next:before {
  background-image: url("../img/arrow-right.svg");
}

.timeline--mobile {
  padding: 0;
}

.timeline--mobile:before {
  left: 12px !important;
  margin: 0 !important;
}

.timeline--mobile .timeline__item {
  left: 0;
  padding-left: 40px;
  padding-right: 0;
  width: 100%;
}

.timeline--mobile .timeline__item:after {
  left: 2px;
  margin: 0;
}

.timeline--mobile .timeline__item .timeline__content:before {
  left: -12px;
  border-bottom: 12px solid transparent;
  border-right: 12px solid #ccc;
  border-left: none;
  border-top: 12px solid transparent;
}

.timeline--mobile .timeline__item .timeline__content:after {
  left: -10px;
  border-bottom: 10px solid transparent;
  border-right: 10px solid #fff;
  border-left: none;
  border-top: 10px solid transparent;
}

@-webkit-keyframes fadeIn {
  0% {
    opacity: 0;
    top: 70px;
  }

  100% {
    opacity: 1;
    top: 0;
  }
}

@keyframes fadeIn {
  0% {
    opacity: 0;
    top: 70px;
  }

  100% {
    opacity: 1;
    top: 0;
  }
}

@-webkit-keyframes liftUp {
  0% {
    top: 0;
  }

  100% {
    top: -15px;
  }
}

@keyframes liftUp {
  0% {
    top: 0;
  }

  100% {
    top: -15px;
  }
}

.image img {
  max-width: 100%;
  height: 90px !important;
  border-radius: var(--rb-radius);
}

.history-section {
  position: relative;
  background: var(--rb-blue) !important;
}

.timeline__content .content .text {
  color: #fff;
}


/* 10. RB AUTOMATION CUSTOM STYLES =============================================================== */
/* Former @import chain now loads as parallel <link> tags in component/meta.php (same cascade order).
   Remote Font Awesome 6.2.1 dropped: local Font Awesome 7 (all.css) already covers these icons. */
body {
  scroll-behavior: smooth;
}

::selection {
  background-color: var(--blue);
  color: #fff;
}

.clear {
  clear: both;
}

/* Responsive tab */
.resp-tabs-list {
  margin-bottom: 0;
  padding-left: 0;
  list-style: none;
}

.resp-tabs-list:before,
.resp-tabs-list:after {
  content: " ";
  display: table;
}

.resp-tabs-list:after {
  clear: both;
}

h4.resp-accordion:hover,
h4.resp-accordion:focus,
.resp-tabs-list li:hover a,
.resp-tabs-list li:focus a {
  text-decoration: none;
  background-color: #eee;
  border-color: #eee #eee #ddd;
  cursor: pointer;
  color: var(--rb-blue-light);
}

h4.resp-accordion,
.resp-tabs-list li {
  position: relative;
  font-size: 16px;
  background: #fafafa;
  line-height: 1.42857;
  padding: 10px 15px;
  /*border: 1px solid #ddd;*/
  /*margin-bottom: 10px;*/
  transition: all 0.4s ease-in-out 0s;
  -moz-transition: all 0.4s ease-in-out 0s;
  -webkit-transition: all 0.4s ease-in-out 0s;
  -o-transition: all 0.4s ease-in-out 0s;
  -ms-transition: all 0.4s ease-in-out 0s;
  border-bottom: 1px solid #ccc;
}

/*
h4.resp-accordion.resp-tab-active, h4.resp-accordion.resp-tab-active:hover, h4.resp-accordion.resp-tab-active:active, .resp-tabs-list li.resp-tab-active, .resp-tabs-list li.resp-tab-active:hover, .resp-tabs-list li.resp-tab-active:active {
	color: #fff;
	background: #2d6eff;
	
}
*/
.resp-tab-content {
  display: none;
  /* padding: 8% 8% 0; */
  /*border: 1px solid #ddd;*/
  margin-bottom: 10px;
}

.resp-arrow {
  float: right;
}

.resp-arrow:before {
  font-family: 'WebHostingHub-Glyphs';
  background: none;
  width: auto;
  height: auto;
  font-style: normal;
  content: '\f488';
  font-size: 11px;
  position: relative;
}

.resp-tab-active .resp-arrow {
  float: right;
}

.resp-tab-active .resp-arrow:before {
  font-family: 'WebHostingHub-Glyphs';
  content: '\f48b';
}

h4.resp-accordion {
  cursor: pointer;
  display: none;
}

.resp-content-active,
.resp-accordion-active {
  display: block;
}

/* responsive tab top */
.resp-tabs-top .resp-tabs-list li {
  display: block;
  float: left;
  margin-bottom: -1px;
  margin-right: 2px;
  /* -moz-border-radius-topright: 5px;
    -moz-border-radius-topleft: 5px;
    -webkit-border-top-right-radius: var(--rb-radius-tr);
    -webkit-border-top-left-radius: var(--rb-radius-tl);
    border-top-right-radius: var(--rb-radius-tr);
    border-top-left-radius: var(--rb-radius-tl); */
}

.resp-tabs-top .resp-tabs-list li.resp-tab-active,
.resp-tabs-top .resp-tabs-list li.resp-tab-active:hover,
.resp-tabs-top .resp-tabs-list li.resp-tab-active:active {
  border-bottom-color: transparent;
  cursor: default;
}

.resp-tabs-top .resp-tab-content {
  -webkit-border-radius: var(--rb-radius);
  -webkit-border-top-left-radius: 0;
  -moz-border-radius: var(--rb-radius);
  -moz-border-radius-topleft: 0;
  border-radius: var(--rb-radius);
  border-top-left-radius: 0;
}

/* responsive tab bottom */
.resp-tabs-bottom .resp-tabs-list li {
  display: block;
  float: left;
  margin-top: -1px;
  margin-right: 2px;
  -moz-border-radius-bottomright: 5px;
  -moz-border-radius-bottomleft: 5px;
  -webkit-border-bottom-right-radius: var(--rb-radius-br);
  -webkit-border-bottom-left-radius: var(--rb-radius-bl);
  border-bottom-right-radius: var(--rb-radius-br);
  border-bottom-left-radius: var(--rb-radius-bl);
}

.resp-tabs-bottom .resp-tabs-list li.resp-tab-active,
.resp-tabs-bottom .resp-tabs-list li.resp-tab-active:hover,
.resp-tabs-bottom .resp-tabs-list li.resp-tab-active:active {
  border-top-color: transparent;
  cursor: default;
}

.resp-tabs-bottom .resp-tab-content {
  margin-bottom: 0px;
  -webkit-border-radius: var(--rb-radius);
  -webkit-border-bottom-left-radius: 0;
  -moz-border-radius: var(--rb-radius);
  -moz-border-radius-bottomleft: 0;
  border-radius: var(--rb-radius);
  border-bottom-left-radius: 0;
}

/* responsive tab left */
/* responsive tab right */
.resp-tabs-right .resp-tabs-list {
  float: right;
  width: 30%;
  margin-top: 20px;
}

.resp-tabs-right .resp-tabs-list li {
  margin-left: -1px;
  margin-bottom: 2px;
  -moz-border-radius-topright: 5px;
  -moz-border-radius-bottomright: 5px;
  -webkit-border-top-right-radius: var(--rb-radius-tr);
  -webkit-border-bottom-right-radius: var(--rb-radius-br);
  border-top-right-radius: var(--rb-radius-tr);
  border-bottom-right-radius: var(--rb-radius-br);
}

.resp-tabs-right .resp-tabs-list li.resp-tab-active,
.resp-tabs-right .resp-tabs-list li.resp-tab-active:hover,
.resp-tabs-right .resp-tabs-list li.resp-tab-active:active {
  border-left: none;
  cursor: default;
}

.resp-tabs-right .resp-tabs-container {
  float: left;
  width: 70%;
}

.resp-tabs-right .resp-tab-content {
  -webkit-border-radius: var(--rb-radius);
  border-radius: var(--rb-radius);
}

/* Accordion */
.resp-accordion h4.resp-accordion {
  display: block;
  -webkit-border-radius: var(--rb-radius);
  -moz-border-radius: var(--rb-radius);
  -ms-border-radius: var(--rb-radius);
  -o-border-radius: var(--rb-radius);
  border-radius: var(--rb-radius);
}

.resp-accordion .resp-tab-content {
  -webkit-border-radius: var(--rb-radius);
  -moz-border-radius: var(--rb-radius);
  -ms-border-radius: var(--rb-radius);
  -o-border-radius: var(--rb-radius);
  border-radius: var(--rb-radius);
}

.product-display-1 .product-image {
  max-width: 22%;
}

.product-display-1 .product-image img {
  aspect-ratio: 3/3;
  object-fit: scale-down;
  background: var(--bs-body-bg);
}

.product-display-1 .product-card .product-info p {
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  color: #626262;
}

.product-display-1 .product-card {
  background-color: #f3f3f3;
}

.product-info h5 {
  color: var(--blue);
  font-size: 20px;
}

.product-info h5 a:hover {
  color: var(--rb-green);
}

/* .modal-backdrop.show {
    visibility: hidden;
} */
.accordion-cust .accordion-item .accordion-button {
  font-size: 16px;
  font-weight: 600;
}

ul.list-unstyled li a {
  font-weight: 600;
}

/*  */
.inquiry-off-detail {
  display: flex;
  flex-wrap: wrap;
}

/* Custom hover effects for Inquiry button */
.custom-inquiry,
.custom-detail,
.custom-whatsapp {
  font-weight: 600;
  padding: 8px 12px;
  font-size: 14px;
  text-transform: uppercase;
  letter-spacing: 1px;
  display: inline-block;
  position: relative;
  overflow: hidden;
  color: #fff;
  text-align: center;
  transition: all 0.4s ease;
}

.custom-inquiry {
  background-color: var(--rb-blue);
}

.custom-detail {
  background-color: var(--rb-green);
}

.custom-whatsapp {
  background-color: #075e54;
}

.custom-inquiry:hover,
.custom-detail:hover {
  color: #fff;
  box-shadow: 0 6px 15px rgba(0, 0, 0, 0.2);
}

.custom-inquiry:hover {
  background: linear-gradient(45deg, var(--rb-blue), var(--rb-green));
  color: #fff;
  border: none;
}

.custom-detail:hover,
.custom-whatsapp:hover {
  background: linear-gradient(45deg, var(--rb-green), var(--rb-blue));
  color: #fff;
  border: none;
}

/* Image Styling */
/* 🎯 Custom Arrow Colors */
/* Dots (Indicators) */
/* product section css */
/*  Unique Section Wrapper */
.product-tabs-section {
  border: 1px solid #e6ebee;
  border-radius: var(--rb-radius);
  overflow: hidden;
  margin: 40px 0;
  background: #fff;
  box-shadow: 0 6px 20px rgba(16, 16, 16, .05);
}

/* Tabs Navigation: underline tabs. The strip is flush white and carries no
   chips - the current tab is named by weight, colour and a 3px rule that grows
   under it, sitting on the strip's own hairline. With a Downloads tab the strip
   can hold four or more tabs, so on a narrow screen it scrolls sideways instead
   of wrapping into stacked rows. */
.product-tabs-section .nav-tabs {
  /* inline-flex, not flex: the strip and its rule stop at the last tab instead of
     running the full width of the card. max-width keeps it scrollable when the
     tabs are wider than the card. */
  display: inline-flex;
  max-width: 100%;
  gap: 0;
  padding: 0 24px;
  background-color: #fff;
  border-bottom: 1px solid #e6ebee;
  flex-wrap: nowrap;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}

.product-tabs-section .nav-tabs::-webkit-scrollbar {
  display: none;
}

.product-tabs-section .nav-tabs .nav-item+.nav-item {
  margin-left: 32px;
}

.product-tabs-section .nav-tabs .nav-link {
  position: relative;
  /* no negative margin here: .nav-tabs scrolls sideways, so it clips anything that
     hangs past its box - the rule below would lose 2 of its 3 pixels */
  margin-bottom: 0;
  color: #5c6b74;
  font-size: 15px;
  font-weight: 600;
  white-space: nowrap;
  background: transparent;
  border: 0;
  padding: 18px 2px 16px;
  transition: color .2s ease;
}

/* the active rule, drawn on every tab so it can grow in without a reflow */
.product-tabs-section .nav-tabs .nav-link::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 3px;
  border-radius: 0;
  background: var(--rb-blue);
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform .25s ease, background-color .2s ease;
}

.product-tabs-section .nav-tabs .nav-link:hover {
  color: var(--rb-blue);
  background: transparent;
}

/* hover previews the rule at a lighter weight; the active tab keeps the solid one */
.product-tabs-section .nav-tabs .nav-link:hover::after {
  background: rgba(var(--rb-blue-rgb), .3);
  transform: scaleX(1);
}

.product-tabs-section .nav-tabs .nav-link:focus-visible {
  outline: 2px solid var(--rb-blue);
  outline-offset: -3px;
}

.product-tabs-section .nav-tabs .nav-link.active {
  color: var(--rb-blue);
  font-weight: 700;
  background: transparent;
  border: 0;
  box-shadow: none;
}

.product-tabs-section .nav-tabs .nav-link.active::after {
  background: var(--rb-blue);
  transform: scaleX(1);
}

@media (prefers-reduced-motion: reduce) {

  .product-tabs-section .nav-tabs .nav-link,
  .product-tabs-section .nav-tabs .nav-link::after {
    transition: none !important;
  }
}

.tab-content-new {
  padding: 30px;
}

/* Tab Content */
.product-tabs-section .tab-content {
  padding: 30px;
  background-color: #fff;
}

/* Product Introduction Banner */
.product-tabs-section p {
  color: #fff;
  line-height: 1.7;
}

#support-form-section input[type="date"],
#support-form-section input[type="email"],
#support-form-section input[type="number"],
#support-form-section input[type="password"],
#support-form-section input[type="search"],
#support-form-section input[type="tel"],
#support-form-section input[type="text"],
#support-form-section input[type="url"],
#support-form-section select,
#support-form-section textarea {
  background: #fff;
  padding: 10px;
  border-radius: var(--rb-radius);
  max-width: 100%;
}

#support-form-section .btn-one {
  background: #fff;
  padding: 10px 40px;
}

.custom-inquiry,
.custom-detail {
  transition: background 0.3s, box-shadow 0.3s, transform 0.3s ease;
}

.servo-product-slider .product-card {
  background: #fff;
  padding: 20px;
  border-radius: var(--rb-radius);
  text-align: center;
  box-shadow: 0 4px 18px rgba(0, 0, 0, 0.1);
}

.servo-product-slider .product-card img {
  width: 100%;
  height: auto;
  object-fit: contain;
}

.servo-product-slider .swiper-button-next,
.servo-product-slider .swiper-button-prev {
  color: var(--rb-blue);
}

.servo-product-slider .swiper-pagination-bullet-active {
  background: var(--rb-blue);
}

.applications-details1 .product-tabs-section th p {
  color: #fff !important;
}

.dropdown-item:hover {
  background-color: var(--rb-green);
  color: #fff;
}

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

.application-section {
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  transition: background-image .35s ease-in-out;
  padding: 24px 0;
}

.appplication-inner .inner-tabs li.active>a {
  font-weight: 700;
  color: var(--blue);
  background: #ffff;
}

.appplication-inner .inner-tabs li.active {
  background: rgba(0, 0, 0, 0.03);
}

/* ul.list-unstyled li a.active {
    color: #0b873f !important;
} */
.accordion-body a.active-link {
  color: var(--rb-green) !important;
}

/* .product-display-1 {
    overflow-y: scroll;
    height: 764px;
} */
.product_icon {
  display: flex;
  flex-wrap: nowrap;
  width: 300px;
  gap: 15px;
  margin-top: 25px;
}

.product_icon img {
  border-radius: var(--rb-radius);
}

ul.product-list {
  padding-left: 0;
}

.product-list li {
  position: relative;
  list-style: none;
  padding-left: 30px;
}

.product-list li:before {
  position: absolute;
  font-family: fontAwesome;
  content: "\f013";
  left: 0px;
  top: 5px;
  color: var(--rb-green);
  font-size: 14px;
}

.features-section {
  background: var(--rb-blue);
  padding: 40px 20px;
}

.features-container {
  display: grid;
  grid-template-columns: repeat(3, 2fr);
  text-align: center;
}

.features-container-1 {
  display: grid;
  grid-template-columns: repeat(4, 2fr);
  text-align: center;
}

.feature-item {
  padding: 10px 15px;
  border-right-style: outset;
  text-align: end;
  border-color: #ffffff;
}

.feature-number {
  font-size: 32px;
  font-weight: 700;
  color: #fff;
  display: block;
  margin-bottom: 8px;
}

.feature-text {
  font-size: 16px;
  font-weight: 600;
  color: var(--rb-green-light);
  /* highlight green */
  letter-spacing: 0.3px;
}

/* Vertical divider */
/* .divider {
    width: 2px;
    height: 100px;
    background: #dcdcdc;
} */
/* Hover effect */
/* .feature-item:hover .feature-number {
    color: #1f8540;
} */
/* .feature-item:hover .feature-text {
    color: #222;
} */
.main-sticky-1 {
  position: sticky;
  top: 100px;
  height: auto;
  align-self: flex-start;
}

.naming-rule-list-1 img {
  aspect-ratio: 6/2;
  height: auto;
  object-fit: contain;
  background: #d9d9da;
  border-radius: var(--rb-radius);
  margin-bottom: 9px;
  display: flex;
}

.naming-rule-list-1 {
  margin-top: 12px;
}

.naming-rule-list-2 img {
  width: 20%;
}

.career-gallery .img-box img {
  aspect-ratio: 4/3;
  object-fit: cover;
}

.career-gallery .col-md-3.col-6 {
  padding: 5px;
}

/* ===== Career Section ===== */
.current-opening {
  background: #f3f3f3;
  padding: 80px 0;
}

/* Job Card */
.job-single {
  background: #ffffff;
  border-radius: var(--rb-radius);
  padding: 25px;
  margin-bottom: 25px;
  border-left: 5px solid var(--rb-blue);
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
}

.job-description h5 {
  font-size: 20px;
  margin: 10px 0;
}

.job-title {
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-bottom: 1px solid #eee;
  padding-bottom: 10px;
  margin-bottom: 15px;
}

.job-title h4 {
  color: var(--rb-blue);
  font-weight: 700;
  font-size: 28px;
}

/* .vacancy {
    background: #1f8540;
    color: #fff;
    padding: 5px 12px;
    font-size: 13px;
    border-radius: var(--rb-radius);
} */
/* Buttons */
/* ===== Career Form ===== */
.form-style-one1 {
  background: #ffffff;
  padding: 35px;
  border-radius: var(--rb-radius);
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.08);
}

.form-style-one1 .section-title {
  color: var(--rb-blue);
}

.input-group-meta input,
.input-group-meta textarea {
  width: 100%;
  border: 1px solid #ddd;
  padding: 12px 15px;
  border-radius: var(--rb-radius);
}

.input-group-meta input:focus,
.input-group-meta textarea:focus {
  border-color: var(--rb-green);
  outline: none;
}

/* Upload */
.file-wrapper {
  position: relative;
}

.file-wrapper input {
  opacity: 0;
  position: absolute;
  width: 100%;
  height: 100%;
}

.file-button {
  display: flex;
  align-items: center;
  justify-content: center;
  border: 2px dashed var(--rb-blue);
  padding: 15px;
  border-radius: var(--rb-radius);
  color: var(--rb-blue);
  cursor: pointer;
}

/* Submit Button */
.btn-plane {
  background: var(--rb-green);
  color: #fff;
  padding: 12px 30px;
  border-radius: var(--rb-radius);
  border: none;
}

.btn-plane:hover {
  background: var(--rb-green-dark);
}

.stickycontent {
  position: sticky;
  position: -webkit-sticky;
  top: 112px;
  height: calc(100vh - 5rem);
}

.download-btn-1 {
  padding: 16px 22px;
  background: var(--rb-green);
  color: #fff;
  border-radius: 0;
  font-weight: 600;
  cursor: pointer;
  margin-left: 17px;
}

.key-takeaways {
  background: #f8f9fa;
  padding: 30px;
  border-left: 4px solid var(--rb-blue);
  margin: 30px 0;
  border-radius: var(--rb-radius);
}

@media only screen and (max-width: 767px) {
  .product-tabs-section {
    margin: 10px;
  }

  .product-tabs-section .nav-tabs {
    padding: 0 14px;
  }

  .product-tabs-section .nav-tabs .nav-item+.nav-item {
    margin-left: 22px;
  }

  .product-tabs-section .nav-tabs .nav-link {
    font-size: 14px;
    padding: 15px 2px 13px;
  }

  .product-tabs-section .tab-content {
    padding: 15px;
  }

  .tab-content-new {
    padding: 40px 20px;
  }

  .inquiry-off-detail {
    justify-content: center;
  }

  .product-display-1 .product-image {
    max-width: 80%;
  }

  .product-display-1 .product-card .product-info {
    text-align: center;
  }

  ul.resp-tabs-list {
    display: none;
  }

  h4.resp-accordion {
    display: block;
    -webkit-border-radius: var(--rb-radius);
    -moz-border-radius: var(--rb-radius);
    -ms-border-radius: var(--rb-radius);
    -o-border-radius: var(--rb-radius);
    border-radius: var(--rb-radius);
  }

  .resp-tabs-container {
    width: 100% !important;
  }

  .resp-tab-content {
    -webkit-border-radius: var(--rb-radius);
    -moz-border-radius: var(--rb-radius);
    -ms-border-radius: var(--rb-radius);
    -o-border-radius: var(--rb-radius);
    border-radius: var(--rb-radius);
  }

  h4.resp-accordion,
  .resp-tabs-list li {
    transition: none !important;
    -moz-transition: none !important;
    -webkit-transition: none !important;
    -o-transition: none !important;
    -ms-transition: none !important;
  }
}

ul.ul_li {
  list-style: circle;
  font-size: 16px;
  line-height: 26px;
  padding-left: 17px;
}

section.page-title {
  height: 34vh !important;
  overflow: hidden;
}

.page-title h1.vlt-project-showcase__title.has-cursor {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  text-align: center;
  left: 0;
  right: 0;
  color: #fff;
}

/*
.left_content_tab ul.resp-tabs-list {
    position: absolute;
    top: 0;
    left: 539px;
    width: 150px;
    text-align: center;
    z-index: 9
}
*/
.resp-tabs-container {
  display: block;
  width: 100%;
}

.ul_li {
  margin-bottom: 0;
}

.ul_li li a {
  color: var(--blue);
}

.vlt-section-title__title {
  color: var(--rb-blue);
  margin: 30px 0;
  text-transform: uppercase;
  font-size: 26px;
}

.margin-auto {
  margin: 0 auto;
}

.resp-tab-item:before {
  background: 0 0;
  border-bottom: 2px solid #000;
}

.resp-tab-item:active:before,
.resp-tab-item:focus:before,
.resp-tab-item:hover:before {
  -webkit-transform: scaleX(1);
  transform: scaleX(1);
}

.resp-tab-item:active,
.resp-tab-item:focus,
.resp-tab-item:hover {
  color: #fff !important;
  border-color: #222;
}

.resp-tab-item:hover {
  text-decoration: none;
}

.resp-tab-item {
  /* display: inline-block;
  vertical-align: middle;*/
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  /*box-shadow: 0 0 1px transparent;
  position: relative;
  background: #e1e1e1;*/
  -webkit-transition-property: color;
  transition-property: color;
  -webkit-transition-duration: .3s;
  transition-duration: .3s;
}

.resp-tab-item:before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background: var(--rb-blue);
  -webkit-transform: scaleX(0);
  transform: scaleX(0);
  -webkit-transform-origin: 50%;
  transform-origin: 50%;
  -webkit-transition-property: transform;
  transition-property: transform;
  -webkit-transition-duration: .3s;
  transition-duration: .3s;
  -webkit-transition-timing-function: ease-out;
  transition-timing-function: ease-out;
}

.rwd-table {
  padding: 20px;
  width: 100%;
}

.rwd-table tr {
  border: 1px solid #ccc;
}

.rwd-table td {
  padding: 10px;
  border: 1px solid #ccc;
  background: #eeeeee52;
  font-size: 16px;
}

.rwd-table th {
  color: #fff;
  background: var(--rb-blue);
  padding: 10px;
  font-weight: 500;
  border: 1px solid #ccc;
  text-align: center;
  /*    text-transform: uppercase*/
}

/* .rwd-table tr:nth-child(even) {
    background: #dadada;
} */
.bg-light-gray {
  background: #f3f3f3;
}

.products-section-title {
  color: var(--rb-blue);
  text-transform: uppercase;
  font-size: 25px;
}

.inner-page-banner h1 {
  width: 40%;
  font-size: 45px;
  line-height: 50px;
  text-transform: none;
  position: absolute;
  top: 50%;
  right: 50px;
  transform: translateY(-50%);
  z-index: 3;
}

.background-white {
  background: #fff;
}

.product-parallax {
  background: url("../img/background-principal.webp");
  background-position: center;
  position: relative;
  background-attachment: fixed;
  z-index: 9;
  padding: 100px 0;
}

.product-parallax:after {
  background: rgba(0, 0, 0, 0.5);
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  position: absolute;
  content: '';
  z-index: -1;
}

.product-parallax h4 {
  text-align: center;
  color: #fff;
  margin-bottom: 0;
  font-size: 40px;
  line-height: 55px;
}

#floatdiv {
  transition: all 1.5s ease 0s;
}

@-webkit-keyframes float {
  0% {
    -webkit-transform: translatey(0);
    transform: translatey(0);
  }

  50% {
    -webkit-transform: translatey(-20px);
    transform: translatey(-20px);
  }

  100% {
    -webkit-transform: translatey(0);
    transform: translatey(0);
  }
}

@keyframes float {
  0% {
    -webkit-transform: translatey(0);
    transform: translatey(0);
  }

  50% {
    -webkit-transform: translatey(-20px);
    transform: translatey(-20px);
  }

  100% {
    -webkit-transform: translatey(0);
    transform: translatey(0);
  }
}

.benefit-list {
  /* box-shadow: 0 10px 20px rgba(0,0,0,0.1);
    background: #ececec;
    padding: 50px;
    border-bottom: 5px solid #2d6eff;*/
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1);
  background: #ececec;
  padding: 40px;
  border-bottom: 5px solid var(--rb-blue);
  min-height: 100%;
  margin-left: auto;
}

.benefit-list-2 {
  background: #ffffff;
}

.benefit-list .feat.ul_li {
  margin-bottom: 10px;
  text-align: initial;
}

.specification-list li {
  color: #fff;
}

.fuel-area-application {
  min-height: 520px;
}

.oval-area-application {
  min-height: 390px;
}

.ecomonic-features {
  min-height: 310px;
}

.hygienic-applications {
  min-height: 415px;
}

.naming {
  width: 200px;
  margin: 0 auto;
  text-align: center;
  display: block;
}

.naming-sec h5 span {
  background: #fff;
  color: #111;
  border-radius: 100%;
  padding: 3px 6px;
  margin-right: 2px;
}

.naming-sec h5 {
  font-size: 16px;
  margin-bottom: 10px;
  font-weight: normal;
}

.naming-sec p {
  font-size: 16px;
  /* color: #ccc;*/
  padding-left: 0;
  text-align: center;
  margin: 20px 0 0;
}

.submenu-position {
  position: inherit !important;
}

/* Header Top Bar */
header .header-navigation .primary-menu,
header .container-fluid {
  padding: 0 50px;
}

/* Header Area One */
/*.header-area-one .primary-menu:before,
.header-area-one .primary-menu:after {
	position: absolute;
	top: 0;
	content: '';
	width: 300px;
	height: 100%;
	background-color: var(--primary-color);
	z-index: -1;
}*/
/* Header Area Two */
/*---=======================
   02. Start Header  css 
===========================---*/
header {
  z-index: 9;
  position: relative;
  width: 100%;
}

.header-navigation .main-menu ul>li.menu-item-has-children>a:after {
  /*	content: "ï„‡";*/
  font-family: "Font Awesome 5 Pro";
  font-weight: 400;
  display: inline-block;
  /*	color: #fff;*/
  font-size: 14px;
  margin-left: 5px;
}

.sticky.header-navigation .main-menu ul>li.menu-item-has-children>a:after {
  color: #111;
}

.header-navigation .nav-menu {
  text-align: right;
  /*width: 70%;*/
}

.header-navigation .main-menu ul li {
  display: inline-block;
  position: relative;
}

/* .header-navigation .main-menu ul li:last-child>a {
	padding-right: 0px;
} */
.header-navigation .main-menu ul li>a {
  display: block;
  font-weight: 500;
  font-size: 16px;
  color: var(--rb-ink);
  text-transform: capitalize;
  padding: 16px 7px;
  line-height: 1;
}

.header-navigation .main-menu ul li>a:hover {
  color: var(--rb-green);
}

.header-navigation .main-menu ul li .sub-menu {
  position: absolute;
  padding: 0;
  left: 0;
  top: 120%;
  width: 200px;
  background-color: var(--white);
  opacity: 0;
  visibility: hidden;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
  z-index: 999;
  height: auto;
  text-align: left;
  border-top: 5px solid var(--rb-blue);
}

.header-navigation .main-menu ul li .sub-menu li {
  display: block;
  margin: 0;
  color: #212529;
}

.header-navigation .main-menu ul li .sub-menu li:last-child>a {
  border-bottom: none;
}

.header-navigation .main-menu ul li .sub-menu li a {
  display: block;
  padding: 5px 15px;
  position: relative;
  -webkit-transition: all 0.3s ease-out 0s;
  transition: all 0.3s ease-out 0s;
  border-radius: 0;
  line-height: 2;
  margin: 0;
  border-bottom: 1px solid #ececec;
  color: var(--heading-color);
  font-size: 14px;
  line-height: 24px;
}

/*
.header-navigation .main-menu ul li .sub-menu li a:hover {
	background-color: var(--primary-color);
	color: var(--white);
	border-color: transparent;
}
*/
.header-navigation .main-menu ul li .sub-menu li .sub-menu {
  left: 100%;
  top: 50%;
}

.header-navigation .main-menu ul li .sub-menu li:hover .sub-menu {
  top: 0%;
}

.header-navigation .main-menu ul li .sub-menu li:hover>a {
  background-color: var(--heading-color);
  color: var(--rb-blue-light);
}

.header-navigation .main-menu ul li:hover.menu-item-has-children>a:after {
  color: #fff;
}

.header-navigation .main-menu ul li:hover>a {
  color: var(--rb-green);
}

.header-navigation .main-menu ul li:hover>.sub-menu {
  opacity: 1;
  visibility: visible;
  top: 100%;
}

/* ---------- Simple dropdowns (Support, Company): same card language as the mega menu ---------- */
.header-navigation .main-menu ul li .sub-menu:not(.rb-mega) {
  width: 236px;
  padding: 0;
  border-top: 0;
  border-radius: var(--rb-radius);
  background: #fff;
  box-shadow: 0 24px 44px -20px rgba(var(--rb-blue-dark-rgb), .28), 0 8px 18px -12px rgba(var(--rb-blue-dark-rgb), .14);
}

/* hover bridge across the gap between the nav link and the panel */
.header-navigation .main-menu ul li>.sub-menu:not(.rb-mega)::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 100%;
  height: 18px;
}

.header-navigation .main-menu ul li .sub-menu:not(.rb-mega) li a {
  padding: 9px 14px;
  border-bottom: 0;
  border-radius: var(--rb-radius);
  line-height: 2;
  font-weight: 600;
  color: var(--rb-ink);
}

.header-navigation .main-menu ul li .sub-menu:not(.rb-mega) li:hover>a,
.header-navigation .main-menu ul li .sub-menu:not(.rb-mega) li>a:focus-visible {
  background-color: var(--rb-blue-lighter);
  color: var(--rb-blue);
}

/* parent rows carry a chevron towards their flyout */
.header-navigation .main-menu ul li .sub-menu:not(.rb-mega) li.menu-item-has-children>a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.header-navigation .main-menu ul li .sub-menu:not(.rb-mega) li.menu-item-has-children>a::after {
  content: "›";
  font-size: 18px;
  line-height: 1;
  color: var(--rb-muted);
  transition: transform .2s ease, color .2s ease;
}

.header-navigation .main-menu ul li .sub-menu:not(.rb-mega) li.menu-item-has-children:hover>a::after {
  color: var(--rb-blue);
  transform: translateX(2px);
}

/* the Guides / Brands flyout opens rightwards, level with its row */
.header-navigation .main-menu ul li .sub-menu:not(.rb-mega) li .sub-menu {
  width: 220px;
}

/* hover bridge across the gap back to the parent row */
.header-navigation .main-menu ul li .sub-menu:not(.rb-mega) li .sub-menu::before {
  content: "";
  position: absolute;
  right: 100%;
  top: 0;
  bottom: 0;
  width: 16px;
}

/* Company is the last item, so below ~1400px its rightwards flyout would leave the viewport:
   that one alone flips, with the house shape mirrored so the round side still faces outwards. */
@media (max-width: 1400px) {
  .header-navigation .main-menu ul.mainmenubar>li:last-child .sub-menu:not(.rb-mega) li .sub-menu {
    left: auto;
    right: 100%;
    margin-right: 14px;
    border-radius: var(--rb-radius-tr) var(--rb-radius-tl) var(--rb-radius-bl) var(--rb-radius-br);
  }

  .header-navigation .main-menu ul.mainmenubar>li:last-child .sub-menu:not(.rb-mega) li .sub-menu::before {
    right: auto;
    left: 100%;
  }

  .header-navigation .main-menu ul.mainmenubar>li:last-child .sub-menu:not(.rb-mega) li .sub-menu li a {
    border-radius: var(--rb-radius-tr) var(--rb-radius-tl) var(--rb-radius-bl) var(--rb-radius-br);
  }
}


.header-navigation .main-menu ul li .dd-trigger {
  display: none;
}

.header-navigation .navbar-toggler {
  padding: 0;
  border: none;
  background-color: transparent;
  cursor: pointer;
  display: none;
  margin-left: 10px;
}

.header-navigation .navbar-toggler span {
  position: relative;
  background-color: var(--heading-color);
  border-radius: 3px;
  display: block;
  height: 3px;
  margin-top: 5px;
  padding: 0;
  -webkit-transition-duration: 300ms;
  transition-duration: 300ms;
  width: 30px;
  cursor: pointer;
  display: block;
}

.header-navigation .navbar-toggler.active span:nth-of-type(1) {
  -webkit-transform: rotate3d(0, 0, 1, 45deg);
  transform: rotate3d(0, 0, 1, 45deg);
  top: 8px;
}

.header-navigation .navbar-toggler.active span:nth-of-type(2) {
  opacity: 0;
}

.header-navigation .navbar-toggler.active span:nth-of-type(3) {
  -webkit-transform: rotate3d(0, 0, 1, -45deg);
  transform: rotate3d(0, 0, 1, -45deg);
  top: -8px;
}

.header-navigation .navbar-close {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 12;
  width: 40px;
  height: 40px;
  text-align: center;
  line-height: 40px;
  display: none;
  background: var(--heading-color);
}

.header-navigation .navbar-close i {
  color: var(--white);
  font-size: 20px;
}

/* Sticky */
.header-navigation.sticky {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1100;
  -webkit-animation: sticky 1.2s;
  animation: sticky 1.2s;
}

header .header-navigation.sticky {
  background-color: var(--white);
  box-shadow: 0px 8px 60px rgba(24, 24, 24, .1);
}

@-webkit-keyframes sticky {
  0% {
    top: -200px;
  }

  100% {
    top: 0;
  }
}

@keyframes sticky {
  0% {
    top: -200px;
  }

  100% {
    top: 0;
  }
}

/* Header Top Bar */
header .header-navigation .primary-menu,
header .container-fluid {
  padding: 0 35px;
}

/* Header Area One */
/*.header-area-one .primary-menu:before,
.header-area-one .primary-menu:after {
	position: absolute;
	top: 0;
	content: '';
	width: 300px;
	height: 100%;
	background-color: var(--primary-color);
	z-index: -1;
}*/
/* Header Area Two */
.resp-tabs-left .resp-tabs-list {
  float: left;
  width: 20% !important;
  margin-top: 24px;
}

.mb-30 {
  margin-top: 5%;
}

nav.main-menu {
  margin-top: 0px !important;
}

ul.mainmenubar {
  margin-top: 18px;
  margin-bottom: 1rem;
  padding-left: 0;
}

/* ---------- Desktop header: logo | centred menu | Contact CTA ---------- */
.vlt-header--default .vlt-navbar .vlt-navbar-inner {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 16px;
}

.vlt-header--default .vlt-navbar-inner .header-navigation {
  justify-self: center;
  width: 100%;
}

.vlt-header--default .vlt-navbar-inner .main-menu {
  text-align: center;
}

.vlt-header--default .vlt-navbar-inner ul.mainmenubar {
  margin-top: 0;
  margin-bottom: 0;
  text-align: center;
}

.vlt-header--default .vlt-navbar-inner--right {
  justify-self: end;
}

.hdr-cta {
  display: inline-block;
  padding: 11px 24px;
  border-radius: var(--rb-radius);
  background: var(--rb-blue);
  color: #fff;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.2;
  white-space: nowrap;
  transition: background-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

.hdr-cta:hover,
.hdr-cta:focus-visible {
  background: var(--rb-green);
  color: #fff;
  box-shadow: 0 10px 22px -12px rgba(var(--rb-green-rgb), .7);
  transform: translateY(-1px);
}

@media (max-width: 1199px) {

  header .header-navigation .primary-menu,
  header .container-fluid {
    padding: 0 18px;
  }

  .hdr-cta {
    padding: 10px 18px;
    font-size: 14px;
  }
}

.h7-contact-form-area {
  position: relative;
  display: block;
  z-index: 11;
  background: #ffffff;
}

.contact-sec .h7-contact-form {
  padding-bottom: 60px;
}

.h7-contact-form {
  position: relative;
  display: block;
  padding-top: 60px;
}

.contact-sec .form-style-one {
  position: relative;
  display: block;
  background: #f5f6f7;
  max-width: 100%;
  width: 100%;
  padding: 25px 50px 40px;
  box-shadow: none;
  transition: all 200ms linear;
  transition-delay: 0.1s;
  border-radius: 0;
}

.mb-25 {
  margin-bottom: 25px;
}

.contact-sec .form-style-one .input-group-meta input,
.contact-sec .form-style-one .input-group-meta textarea {
  display: block;
  width: 100% !important;
  max-width: 100%;
  border-bottom: 1px solid #333;
  border-radius: 0;
  padding: 0;
  font-size: 16px;
  background: #f5f6f7;
}

.form-style-one .input-group-meta input {
  height: 60px;
}

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

#error_data {
  color: red;
  font-size: 14px;
  margin: 0px 0px 10px;
  line-height: normal;
}

.btn-one.style2 {
  color: #ffffff;
  border: none;
}

.btn-one {
  position: relative;
  display: inline-block;
  overflow: hidden;
  padding-left: 25px;
  padding-right: 30px;
  background-color: transparent;
  color: #ffffff;
  font-size: 14px;
  line-height: 60px;
  font-weight: 700;
  text-transform: uppercase;
  border-radius: var(--rb-radius);
  -webkit-transition: all 0.3s linear;
  -o-transition: all 0.3s linear;
  transition: all 0.3s linear;
  font-family: var(--thm-font-2);
  z-index: 2;
}

.contact-sec .contact-info {
  padding-bottom: 30px;
  /*height: 51%;*/
  width: 100%;
  margin-top: 50%;
}

.opening-hour-box {
  position: relative;
  display: block;
  background: var(--rb-blue-light);
  padding: 27px 20px 158px;
  margin-left: -54px;
  z-index: 1;
}

.contact-sec .opening-hour-box .top-tiltle {
  position: relative;
  display: block;
  padding-bottom: 20px;
}

.contact-sec .opening-hour-box .top-tiltle h2 {
  font-size: 35px;
  line-height: 35px;
  margin-bottom: 10px;
}

.opening-hour-box .top-tiltle h2 {
  color: #ffffff;
  font-weight: 300;
}

.opening-hour-box .top-tiltle h2 span {
  font-weight: 700;
}

.opening-hour-box ul {
  position: relative;
  display: block;
  padding: 0;
  margin: 0;
}

.contact-sec .contact-info ul li {
  color: #ffffff;
  font-size: 16px;
  line-height: 35px;
  font-weight: 500;
  text-transform: unset;
  padding-left: 50px;
  margin-bottom: 10px;
}

.contact-sec.form-style-one i {
  font-size: 25px;
  background: var(--rb-blue);
  width: 50px;
  height: 50px;
  border-radius: 100%;
  color: #fff;
  line-height: 50px;
  display: block;
  margin: 0 auto 20px;
}

.contact-sec.form-style-one span {
  font-size: 18px;
  margin-bottom: 0px;
  display: block;
  font-weight: 600;
  color: #000;
}

.contact-sec .opening-hour-box .text {
  position: relative;
  display: block;
  padding-bottom: 15px;
}

.contact-sec .opening-hour-box .text p {
  text-decoration: none;
  color: rgba(255, 255, 255, .7);
  font-size: 16px;
  line-height: 32px;
  margin: 0;
}

.btn-one .bg.bg--base {
  background-image: none;
  background-color: var(--rb-blue-light);
}

.btn-one .bg {
  position: absolute;
  top: 2px;
  left: 2px;
  bottom: 2px;
  right: 2px;
  border-radius: var(--rb-radius);
}

.btn-one .txt {
  position: relative;
  display: flex;
  align-items: center;
  line-height: 26px;
  z-index: 2;
}

.contact-sec .contact-info ul li i {
  margin-left: -53px;
  position: absolute;
  color: var(--rb-blue);
  font-size: 20px;
  background: #fff;
  width: 40px;
  height: 40px;
  border-radius: 100%;
  text-align: center;
  line-height: 40px;
}

.contactul {
  list-style: none;
}

a:hover,
p a {
  color: #ffffff;
}

.contact-sec .form-style-one {
  position: relative;
  display: block;
  background: #f3f3f3 !important;
  max-width: 100%;
  width: 100%;
  font-size: 16px;
  padding: 25px 50px 40px;
  box-shadow: none;
  transition: all 200ms linear;
  transition-delay: 0.1s;
  border-radius: 0;
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1);
}

.form-style-one {
  background: #fff;
  border-radius: var(--rb-radius);
  padding: 55px;
  margin-right: 0px;
  position: relative;
  z-index: 1;
  box-shadow: 0 10px 20px rgb(0 0 0 / 10%);
}

.dispaddress {
  text-align: center;
  margin-top: 40px;
  /*    max-width: 100%;*/
  padding-bottom: 100px;
}

.flex {
  display: flex;
}

.form-style-one .input-group-meta textarea {
  min-height: 140px;
  padding: 15px 0px;
}

.form-style-one1 {
  background: #fff;
  border-radius: var(--rb-radius);
  padding: 30px;
  margin-right: 0px;
  position: relative;
  z-index: 1;
  /* margin-top: 3%; */
  margin-bottom: 5%;
  box-shadow: 0 10px 20px rgb(0 0 0 / 10%);
}

.file-wrapper {
  overflow: hidden;
  background: #fff;
  padding: 0 20px;
  position: relative;
  margin-bottom: 12px;
  /* border-bottom: 1px solid #333; */
  cursor: pointer;
  font-family: 'Quicksand', sans-serif;
  width: calc(100% - 2em);
}

.file-wrapper input {
  left: 0;
  opacity: .01;
  cursor: pointer;
  position: absolute;
  width: 100%;
  height: 50px;
  -moz-opacity: .01;
  filter: alpha(opacity=1);
}

.file-wrapper .file-button {
  color: #fff;
  float: left;
  cursor: pointer;
  margin-left: -20px;
  padding: 15px;
  background: var(--rb-blue);
  display: inline-block;
}

.form-style-one1 .input-group-meta textarea {
  min-height: 140px;
  padding: 15px 0px;
  max-width: 100%;
}

.input-group-meta.form-group.input.mb-25 {
  display: block;
  width: 100% !important;
  max-width: 100%;
  border-bottom: 1px solid #333;
  border-radius: 0;
  padding: 0;
  font-size: 16px;
}

select#select {
  margin-bottom: 3%;
}

.contact-section-one.box-layout.pt-100.pb-100 {
  background: #ffffff;
}

.about-lines {
  font-size: 20px;
  margin-bottom: 30px;
  text-transform: uppercase;
  line-height: 1.33;
  font-weight: 600;
}

.about-icons img {
  width: 80px;
}

.about-icons .products-section-title {
  font-size: 18px;
  text-align: center;
  margin: 20px 0 30px;
}

.mt-50 {
  margin-top: 50px;
}

.vlt-site-preloader img {
  width: 200px;
}

.vlt-partner img {
  width: 145px;
}

.free-consultaion-form {
  background: url("../img/background-principal.webp");
  background-size: cover;
  background-position: center;
  position: relative;
  background-attachment: fixed;
  background-attachment: fixed;
}

.free-consultaion-form:after {
  content: "";
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(135deg, rgba(var(--rb-blue-rgb), .96) 0%, rgba(var(--rb-blue-rgb), .96) 52%, rgba(var(--rb-blue-rgb), .97) 100%);
}

/* Two columns: contact actions on the left, the form on the right */
.free-consultaion-form .fcf-intro {
  text-align: left;
}

.free-consultaion-form .fcf-intro .sec-sub {
  margin-left: 0;
  margin-right: 0;
}

.fcf-actions {
  display: grid;
  gap: 12px;
  margin-top: 28px;
}

.fcf-action {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 14px 16px;
  border: 1px solid rgba(255, 255, 255, .28);
  border-radius: var(--rb-radius);
  background: rgba(255, 255, 255, .10);
  color: #fff;
  transition: background-color .2s ease, border-color .2s ease, transform .2s ease;
}

.fcf-action:hover,
.fcf-action:focus-visible {
  background: rgba(255, 255, 255, .18);
  border-color: rgba(255, 255, 255, .5);
  color: #fff;
  transform: translateX(3px);
}

.fcf-action__icon {
  display: grid;
  place-items: center;
  flex-shrink: 0;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background: rgba(255, 255, 255, .16);
  font-size: 17px;
}

.fcf-action__text {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}

.fcf-action__text strong {
  font-size: 15px;
  font-weight: 700;
  line-height: 1.25;
}

.fcf-action__text small {
  font-size: 13px;
  color: rgba(255, 255, 255, .82);
}

.fcf-note {
  margin: 18px 0 0;
  font-size: 13.5px;
  color: rgba(255, 255, 255, .8);
}

.fcf-card {
  padding: 28px;
  border: 1px solid rgba(255, 255, 255, .22);
  border-radius: var(--rb-radius);
  background: rgba(255, 255, 255, .10);
}

@media (max-width: 991px) {
  .free-consultaion-form .fcf-intro {
    text-align: center;
  }

  .free-consultaion-form .fcf-intro .sec-sub {
    margin-left: auto;
    margin-right: auto;
  }

  .fcf-card {
    padding: 22px 18px;
  }
}

.position-relative {
  position: relative;
}

.z-index1 {
  z-index: 1;
}

.vlt-apply-position-form label {
  color: #fff;
}

.mc4wp-form {
  position: relative;
  margin: 0 40px;
}

.mc4wp-form .btn {
  position: absolute;
  top: 5px;
  right: 5px;
}

.mc4wp-response {
  text-align: center;
  margin-top: 10px;
}

.section-pad-sm {
  padding-top: 75px;
  padding-bottom: 50px;
}

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

/*::placeholder{
    color: #fff !important
}
::-webkit-input-placeholder {
     color: #fff !important
}*/
.about-us-section video {
  width: 100%;
}

.inner-page-header .vlt-navbar--sticky {
  background: #fff;
}

.blue-color {
  color: var(--rb-blue);
}

.blue-bold {
  color: var(--rb-blue);
  font-weight: 700;
}

.naming-sec {
  background: #f3f3f3;
}

.naming-sec .products-section-title {
  margin: 20px 0;
  font-size: 25px;
}

.naming-sec .single-service-style11 img {
  width: 90px;
}

.why-automation-icon {
  width: 180px;
  /*  background: #cccccc29;
    border-radius: 100%;
    padding: 20px;*/
}

.process-sec .about-lines {
  font-weight: 800;
  color: var(--rb-blue);
  margin-bottom: 20px;
  font-size: 25px;
}

.border-bottom {
  border-bottom: 1px solid #ccc;
}

.pb-30 {
  padding-bottom: 30px;
}

.diagram-section {
  background: var(--rb-blue);
  padding: 50px;
}

.rse-series-img {
  background: #f3f3f3;
  padding: 20px;
}

.tab-content-new h5 {
  margin-bottom: 20px;
}

/*
.dia-image{
    filter: invert(1) brightness(11);
}
*/
.dia-image {
  filter: brightness(0) invert(1);
}

.naming-rule-section h3 {
  font-size: 20px;
  margin-bottom: 30px;
  text-align: center;
  color: #fff;
}

.naming-rule-list {
  list-style: decimal;
  font-weight: 800;
  margin-bottom: 10px;
  padding-left: 0;
}

.naming-rule-list li {
  color: #fff;
}

.naming-rule-list li span {
  font-weight: normal;
  font-size: 16px;
}

.naming-sections {
  background: linear-gradient(15deg, rgba(var(--rb-blue-rgb), 1) 26%, rgba(var(--rb-green-rgb), 0.89) 59%);
  color: #ffff;
  padding: 30px 50px;
  box-shadow: 20px 6px 20px 20px rgba(0, 0, 0, 0.1);
  border-radius: var(--rb-radius);
}

.naming-notes {
  font-size: 12px;
  text-align: center;
  line-height: 15px;
  margin-top: 20px;
}

.f-25 {
  font-size: 25px !important;
}

.about-us-section h2.about-lines {
  font-weight: 800;
  color: var(--rb-blue);
  margin-bottom: 20px;
  font-size: 25px;
  text-transform: uppercase;
  line-height: 1.33;
}

.about-us-section {
  background: #f3f3f3;
}

section.jarallax.about-us-section p {
  text-align: justify;
}

.naming-rule-section h3 span {
  display: inline-block;
  margin: 0 5px;
}

.btn-one .bg.bg--base {
  background-image: none;
  background-color: var(--rb-blue);
}

.btn-one .txt {
  color: #fff;
}

.opening-hour-box {
  background: var(--rb-blue);
}

h4.resp-accordion,
.resp-tabs-list li {
  margin-bottom: 0;
}

.resp-tabs-left .resp-tabs-list {
  margin-top: 0;
}

.inner-page-banner {
  padding: 91px 0 0 0px;
}

.vlt-header--default.vlt-header--dark,
.vlt-header--fullscreen.vlt-header--dark,
.vlt-header--slide.vlt-header--dark {
  /*    color: #fff;*/
  position: relative;
}

.vlt-page-title--style-3 .vlt-page-title__title {
  margin-right: 70%;
}

.section_title_wrapper h2.section-title {
  margin-top: 12%;
  padding: 16px 4px 8px 13px;
}

.inner-banner {
  position: relative;
}

.inner-banner h1 {
  font-size: 42px;
  line-height: 50px;
  text-transform: none;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-10%, -50%);
  z-index: 9;
}

.inner-banner .tp-header {
  width: 100%;
  left: 50%;
  transform: translateX(-50%);
}

.left_txt h1 {
  width: 40%;
  font-size: 45px;
  line-height: 50px;
  text-transform: none;
  position: absolute;
  top: 50%;
  left: 50px;
  transform: translateY(-50%);
  z-index: 3;
}

.sub-title {
  font-size: 32px !important;
}

.custom-heading .inner-banner h1 {
  font-size: 45px;
  line-height: 50px;
  text-transform: none;
  position: absolute;
  top: 50%;
  left: 20px;
  transform: translateY(-50%);
  z-index: 3;
}

.inner-banner:before {
  content: "";
  display: block;
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background: #14151577;
}

.right_txt h2 {
  right: 35px;
}

/* A right_txt banner puts its title on the right at every width (user, 2026-09-24). The title is
   absolutely positioned against the full-bleed section, so stretch the .container over the section
   and hang the title off that - it then keeps the same right gutter as the rest of the page, and on
   phones it sits clear of the tile artwork on the left instead of on top of it. */
.inner-banner.right_txt .container {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin-left: auto;
  margin-right: auto;
}

.inner-banner.right_txt h1,
.inner-banner.right_txt h2 {
  position: absolute;          /* the h1 already is; the three h2 banners were not */
  left: 15px;
  right: 15px;
  width: auto;
  top: 50%;
  transform: translateY(-50%);
  text-align: right;
}

h2.text-center.text-white.img {
  width: 120%;
}

.inner-banner.right_txt:before {
  background: #14151521;
}

/* Page banner for every non-hero page (user, 2026-09-28): the city-page hero cut down to
   breadcrumb + title over one shared backdrop. The banner art is mirrored so its icon tiles sit
   under the light end of the gradient, clear of the left-aligned title. Crumbs reuse .cp-crumbs. */
.pg-banner {
  position: relative;
  overflow: hidden;
  color: #fff;
  padding: 100px 0 104px;
  background: var(--rb-blue-dark);
}

.pg-banner__bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: left center;
  transform: scaleX(-1);
}

.pg-banner::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(100deg, rgba(var(--rb-blue-dark-rgb), .96) 0%, rgba(var(--rb-blue-dark-rgb), .85) 45%, rgba(var(--rb-blue-rgb), .25) 100%);
}

/* product banner: real product photo on the right, so no mirroring (it would flip brand names) */
.pg-banner--product .pg-banner__bg {
  object-position: right center;
  transform: none;
}

.pg-banner--product::before {
  background: linear-gradient(90deg, rgba(var(--rb-blue-dark-rgb), .95) 0%, rgba(var(--rb-blue-dark-rgb), .85) 45%, rgba(var(--rb-blue-dark-rgb), .45) 68%, rgba(var(--rb-blue-dark-rgb), .35) 100%);
}

.pg-banner>.container {
  position: relative;
  z-index: 2;
}

.pg-banner h1,
.pg-banner h2 {
  color: #fff;
  font-size: 42px;
  line-height: 1.2;
  text-transform: none;
  max-width: 760px;
  margin: 0;
}

/* h2.vlt-section-title__title.text-center.mb-0 {
    font-size: 2.5em;
} */
@-webkit-keyframes spinnerRotate {
  from {
    -webkit-transform: rotate(0);
  }

  to {
    -webkit-transform: rotate(360deg);
  }
}

@-moz-keyframes spinnerRotate {
  from {
    -moz-transform: rotate(0);
  }

  to {
    -moz-transform: rotate(360deg);
  }
}

@-ms-keyframes spinnerRotate {
  from {
    -ms-transform: rotate(0);
  }

  to {
    -ms-transform: rotate(360deg);
  }
}

#form_process {
  -webkit-animation-name: spinnerRotate;
  -webkit-animation-duration: 1.1s;
  -webkit-animation-iteration-count: infinite;
  -webkit-animation-timing-function: linear;
  -moz-animation-name: spinnerRotate;
  -moz-animation-duration: 1.1s;
  -moz-animation-iteration-count: infinite;
  -moz-animation-timing-function: linear;
  -ms-animation-name: spinnerRotate;
  -ms-animation-duration: 1.1s;
  -ms-animation-iteration-count: infinite;
  -ms-animation-timing-function: linear;
  display: inline-block;
  margin-left: 10px;
  position: relative;
  visibility: hidden;
}

.swiper-button-prev {
  color: var(--rb-blue);
}

.box-float {
  position: relative;
  float: right;
  width: 100px;
  z-index: 99;
  -moz-animation: slide 1s ease 3.5s forwards;
  -webkit-animation: slide 1s ease 3.5s forwards;
  -o-animation: slide 1s ease 3.5s forwards;
  -ms-animation: slide 1s ease 3.5s forwards;
  animation: slide 1s ease 3.5s forwards;
  right: 0;
}

.box-float {
  position: absolute;
}

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

.vlt-navbar-logo img {
  height: 75px;
  max-width: 100%;
}

.vlt-form-label {
  color: #fff;
}

.vlt-project-showcase--style-5 .vlt-project-showcase__title {
  color: #222;
  font-size: 50px;
  text-align: center;
  top: -90px;
  position: relative;
}

.rwd-table td,
.rwd-table th {
  padding: 1em 0 !important;
}

.vlt-project-showcase--style-5 .vlt-project-showcase__title {
  color: #222;
  font-size: 50px;
  text-align: center;
  top: 0;
  position: relative;
}

@media screen and (max-width: 767px) {
  .vlt-main {
    margin-top: 0px;
  }

  section.page-title {
    height: auto !important;
  }
}

.contact-sec .form-style-one .input-group-meta input,
.contact-sec .form-style-one .input-group-meta textarea {
  color: black;
}

.size-full {
  max-width: 100%;
  height: auto;
}

.swiper-button-prev:after,
.swiper-container-rtl,
.swiper-button-next:after {
  color: var(--rb-blue);
}

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

.services-ex-title {
  color: var(--rb-blue) !important;
  font-size: 35px !important;
}

.table-product th {
  text-align: center;
  vertical-align: center;
  background-color: var(--blue);
  color: #fff;
}

.table-product tr td {
  vertical-align: middle;
  /* text-align: center; */
}

.input-group-meta input {
  color: #333;
}

.contact-page-map-outer iframe {
  border: 0;
}

.black {
  height: 25px;
}

.white {
  height: 25px;
}

.rwd-table td,
.rwd-table th {
  padding: 1em 10px !important;
}

/* .naming-sections {
    background: #cccccca3;
} */
.vlt-particle {
  position: absolute;
  top: -115px;
  left: -120px;
  max-width: 232px;
  --animate-delay: .5s;
}

.products-section-title {
  text-align: left;
}

.bg-color {
  background-color: #f3f3f3;
}

.table-color {
  background-color: var(--blue) !important;
  color: #fff !important;
}

.contact-heading {
  font-size: 30px;
  color: var(--rb-blue);
}

.vlt-section-title h1 {
  color: var(--rb-blue);
}

.product-img img {
  border-radius: var(--rb-radius);
  margin-bottom: 20px;
}

.tp-section p {
  text-align: justify;
}

.tp-subheading {
  color: var(--rb-blue);
  font-size: 25px;
  border-left: 5px solid var(--green);
  padding-left: 10px;
}

.tp-products {
  margin-top: 20px;
  margin-bottom: 50px;
}

.tp-products h3 {
  color: var(--blue);
  text-transform: uppercase;
  font-size: 25px;
  margin-bottom: 20px;
  border-left: 5px solid var(--green);
  padding-left: 10px;
  line-height: 40px;
}

.tp-products ul {
  list-style: none;
  padding-left: 0;
}

.tp-products ul li {
  background-color: var(--blue);
  color: #fff;
  text-align: center;
  margin-bottom: 10px;
  transition: all ease 0.3s;
  border: 2px solid var(--blue);
}

.tp-products ul li a {
  width: 100%;
  line-height: 50px;
}

.tp-products ul li:hover {
  background-color: #fff;
  color: var(--blue);
}

.tp-products ul li:hover a {
  color: var(--blue);
  font-weight: 700;
}

.tp-cta {
  background-color: var(--green);
  text-align: center;
  padding: 20px;
}

.tp-cta h3,
.tp-cta p,
.tp-cta h4,
.tp-cta h5,
.tp-cta a {
  color: #fff;
}

.tp-cta h3 {
  color: 25px !important;
}

.tp-cta h5 a {
  font-size: 18px;
  font-weight: 500;
}

.table-responsive {
  overflow-x: hidden;
}

.resp-tabs-list li a {
  border-bottom: none !important;
  color: var(--blue) !important;
}

.resp-tabs-list li:hover a,
.resp-tabs-list li:active a,
.resp-tabs-list li .active a,
.resp-tabs-top .resp-tabs-list li.resp-tab-active a {
  color: #fff !important;
}

/* ............somnath....... */
.benefit-list-two {
  background: #ffffff;
  padding: 50px;
  border-bottom: 5px solid var(--rb-blue);
  min-height: 100%;
  margin-left: auto;
  box-shadow: 0px 0px 7px 2px #e3e3e3;
}

.mt_40 {
  margin-top: 40px;
}

.box-image {
  padding: 10px;
  margin-top: 10px;
}

.box-listing {
  margin-top: 10px;
}

.box-listing ul {
  padding-left: 20px !important;
  margin-bottom: 0px !important;
}

.box-listing ul li {
  list-style: none;
  position: relative;
  padding: 5px 0px;
}

.box-listing ul li::before {
  content: "";
  position: absolute;
  top: 9px;
  left: -25px;
  width: 13px;
  height: 19px;
  background-image: url("../img/product/control-system/arrow-right.webp");
  background-position: center;
  background-repeat: no-repeat;
  background-size: auto;
}

.works-block-two .inner-box {
  position: relative;
  display: block;
  padding: 0px 20px;
}

.works-block-two .inner-box .text {
  position: relative;
  display: block;
  background: #ffffff;
  border-radius: var(--rb-radius);
  box-shadow: 0 5px 30px rgb(0 0 0 / 20%);
  padding: 21px 15px;
  margin-bottom: 85px;
}

.works-block-two .inner-box .text:before {
  position: absolute;
  content: '';
  background-color: #ffffff;
  width: 43px;
  height: 27px;
  right: 100px;
  bottom: -26px;
  clip-path: polygon(0% 0%, 100% 0%, 0% 100%, 0% 100%, 25% 0%);
}

.works-block-two .inner-box .text h3 {
  color: #222;
  margin-bottom: 5px;
}

.works-block-two .inner-box .text p {
  font-size: 16px;
  line-height: 24px;
}

.works-block-two .inner-box .count-box {
  position: relative;
  display: block;
  width: 100%;
  height: 2px;
  margin: 0px 2px;
  margin-bottom: 50px;
}

.works-block-two .inner-box .count-box .count-text {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  top: -19px;
  width: 40px;
  height: 40px;
  line-height: 40px;
  font-size: 18px;
  color: #ffffff;
  font-weight: 600;
  text-align: center;
  border-radius: 50%;
}

.works-block-two .inner-box .count-box .dot-1,
.works-block-two .inner-box .count-box .dot-2 {
  position: absolute;
  top: -12px;
  width: 26px;
  height: 26px;
  border: 3px solid #ffffff;
  border-radius: 50%;
}

.works-block-two .inner-box .count-box .dot-1 {
  left: 0px;
}

.works-block-two .inner-box .count-box .dot-2 {
  right: 0px;
}

.works-block-two .inner-box .count-box .dot-1:before,
.works-block-two .inner-box .count-box .dot-2:before {
  position: absolute;
  content: '';
  width: 30px;
  height: 30px;
  border-radius: 50%;
  top: -5px;
}

.works-block-two .inner-box .count-box .dot-1:before {
  left: -5px;
}

.works-block-two .inner-box .count-box .dot-2:before {
  right: -5px;
}

.works-block-two .inner-box .icon-box {
  position: relative;
  width: 240px;
  height: 240px;
  line-height: 260px;
  text-align: center;
  border-radius: 50%;
  font-size: 85px;
  z-index: 1;
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0 auto;
}

.works-block-two .inner-box .icon-box .icon-bg {
  position: absolute;
  left: 0px;
  top: 0px;
  width: 240px;
  height: 240px;
  background-repeat: no-repeat;
  z-index: -1;
}

.works-block-two .inner-box .count-box .dot-1:before,
.works-block-two .inner-box .count-box .dot-2:before {
  border: 2px solid var(--rb-blue);
}

.works-block-two .inner-box .count-box .count-text {
  background-color: var(--rb-blue);
}

.works-block-two .inner-box .count-box {
  background-color: var(--rb-blue);
}

.works-block:last-child .works-block-two .inner-box .count-box .dot-1:before,
.works-block:last-child .works-block-two .inner-box .count-box .dot-2:before {
  border-color: var(--rb-blue);
}

.works-block-two .inner-box .count-box .count-text:before {
  background-color: var(--rb-blue);
}

.works-block-two .inner-box .count-box .count-text:before {
  position: absolute;
  content: '';
  width: 2px;
  height: 32px;
  left: 50%;
  transform: translateX(-50%);
  bottom: -32px;
}

.works-block-two .inner-box:hover .icon-box {
  transform: rotateY(180deg);
}

.works-block-two .inner-box .icon-box {
  transition: all 500ms ease;
}

.works-block-two .inner-box .text h5 {
  font-size: 20px;
  text-align: center;
}

.icon-box::before {
  display: none !important;
}

.carousel-caption {
  left: 5%;
  top: 50%;
  transform: translateY(-50%);
  text-align: left;
  width: 40%;
}

.carousel-caption .txt {
  background-color: #fff;
  padding: 30px;
}

.carousel-caption .txt h5 {
  color: var(--blue);
}

.carousel-caption .txt p {
  color: #000;
  font-size: 20px;
}

.carousel-inner {
  width: 95%;
  margin: auto;
}

/* Home banner is full-bleed: the global .carousel-inner rule above would gutter it by 2.5% each side */
.main-slider .carousel-inner {
  width: 100%;
  margin: 0;
}

.carousel-control-next,
.carousel-control-prev {
  width: 5%;
  color: var(--blue) !important;
}

/* ===== Home main slider (component/main-slider.php) =====
   3 layers per slide: .hero-slide__bg | .hero-slide__text (left) | .hero-slide__media (right) */
.hero-slider {
  position: relative;
}

.hero-slider .carousel-inner {
  width: 100%;
}

.hero-slider .carousel-item {
  height: 80vh;
  min-height: 540px;
}

.hero-slide {
  position: relative;
  height: 100%;
  overflow: hidden;
}

/* 1. Background */
/* one shared gradient for every slide; soft teal glow sits behind the product image */
.hero-slide__bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  background: radial-gradient(circle at 72% 55%, rgba(var(--rb-blue-rgb), .16) 0, rgba(var(--rb-blue-rgb), 0) 42%),
    linear-gradient(120deg, color-mix(in srgb, var(--rb-blue) 8%, #fff) 0%, color-mix(in srgb, var(--rb-blue) 4%, #fff) 48%, color-mix(in srgb, var(--rb-blue) 10%, #fff) 100%);
}

.hero-slide__bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.hero-slide__inner {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
  grid-template-rows: minmax(0, 1fr);
  align-items: center;
  gap: 40px;
  height: 100%;
  padding-block: 40px 80px;
}

/* 2. Left text */
.hero-slide__label {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 20px;
  padding: 7px 18px 7px 14px;
  border-radius: var(--rb-radius);
  background-color: rgba(255, 255, 255, .75);
  box-shadow: 0 4px 14px rgba(var(--rb-blue-rgb), .12);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--blue);
}

.hero-slide__label::before {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background-color: var(--green);
  box-shadow: 0 0 0 4px rgba(var(--rb-green-rgb), .18);
}

.hero-slide__title {
  font-size: clamp(34px, 3.1vw, 58px);
  line-height: 1.08;
  letter-spacing: -.01em;
  color: var(--blue);
  margin-bottom: 22px;
}

.hero-slide__title-accent {
  display: block;
  color: var(--green);
}

.hero-slide__title::after {
  content: "";
  display: block;
  width: 72px;
  height: 4px;
  margin-top: 22px;
  border-radius: var(--rb-radius);
  background: linear-gradient(90deg, var(--green), var(--blue));
}

.hero-slide__desc {
  max-width: 480px;
  margin: 0;
  font-size: clamp(16px, 1.15vw, 20px);
  line-height: 1.6;
  color: #34495a;
}

.hero-slide__points {
  list-style: none;
  padding: 0;
  margin: 0;
}

.hero-slide__points li {
  display: flex;
  align-items: baseline;
  gap: 12px;
  padding: 5px 0;
  font-size: clamp(16px, 1.1vw, 19px);
  font-weight: 600;
  color: #2b3d4a;
}

.hero-slide__points i {
  color: var(--green);
}

.hero-slide__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 30px;
}

.hero-slide__btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 15px 28px;
  border: 2px solid var(--blue);
  border-radius: var(--rb-radius);
  background-color: var(--blue);
  font-size: 16px;
  font-weight: 700;
  line-height: 1.1;
  color: #fff;
  box-shadow: 0 10px 24px rgba(var(--rb-blue-rgb), .25);
  transition: background-color .2s ease, border-color .2s ease, color .2s ease, box-shadow .2s ease;
}

.hero-slide__btn i {
  font-size: .85em;
  transition: transform .2s ease;
}

.hero-slide__btn:hover,
.hero-slide__btn:focus-visible {
  border-color: var(--green);
  background-color: var(--green);
  color: #fff;
  box-shadow: 0 10px 24px rgba(var(--rb-green-rgb), .3);
}

.hero-slide__btn:hover i {
  transform: translateX(4px);
}

.hero-slide__btn--outline {
  background-color: rgba(255, 255, 255, .6);
  color: var(--blue);
  box-shadow: none;
}

.hero-slide__btn--outline:hover,
.hero-slide__btn--outline:focus-visible {
  border-color: var(--blue);
  background-color: var(--blue);
  color: #fff;
  box-shadow: none;
}

.hero-slide__btn:focus-visible {
  outline: 3px solid rgba(var(--rb-green-rgb), .45);
  outline-offset: 3px;
}

/* 3. Right image — transparent feathered webp, fills its column */
.hero-slide__media {
  align-self: stretch;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 0;
}

.hero-slide__media img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

/* Wide screens: image column bleeds past the container towards the right edge (min() keeps it >= column) */
@media (min-width: 1200px) {
  .hero-slide__media {
    margin-right: min(0px, calc((1140px - 100vw) / 2 + 90px));
  }
}

@media (min-width: 1400px) {
  .hero-slide__media {
    margin-right: min(0px, calc((1320px - 100vw) / 2 + 90px));
  }
}

/* Indicators — aligned with the text column */
.hero-slider__indicators {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 32px;
  z-index: 2;
}

.hero-slider .carousel-indicators {
  position: static;
  justify-content: flex-start;
  margin: 0;
}

.hero-slider .carousel-indicators [data-bs-target] {
  width: 36px;
  margin: 0 8px 0 0;
  background-color: var(--blue);
  opacity: .35;
}

.hero-slider .carousel-indicators .active {
  background-color: var(--green);
  opacity: 1;
}

/* Prev / next - no chip behind the control: the arrow itself carries the colour. The 52px box
   stays as the tap target, the arrow is drawn from two borders so it can take a theme colour
   (Bootstrap ships these icons as white SVG background images, which cannot be recoloured). */
.hero-slider .carousel-control-prev,
.hero-slider .carousel-control-next {
  top: 50%;
  bottom: auto;
  width: 52px;
  height: 52px;
  background: none;
  border: 0;
  opacity: 1;
  transform: translateY(-50%);
  z-index: 3;
}

.hero-slider .carousel-control-prev {
  left: 20px;
}

.hero-slider .carousel-control-next {
  right: 20px;
}

.hero-slider .carousel-control-prev-icon,
.hero-slider .carousel-control-next-icon {
  width: 20px;
  height: 20px;
  background-image: none;
  border-top: 3px solid var(--rb-blue);
  border-right: 3px solid var(--rb-blue);
  border-radius: 2px;
  transition: border-color .2s ease, transform .2s ease;
}

.hero-slider .carousel-control-prev-icon {
  transform: rotate(-135deg);
}

.hero-slider .carousel-control-next-icon {
  transform: rotate(45deg);
}

.hero-slider .carousel-control-prev:hover .carousel-control-prev-icon,
.hero-slider .carousel-control-prev:focus-visible .carousel-control-prev-icon {
  border-color: var(--rb-green);
  transform: rotate(-135deg) translate(2px, -2px);
}

.hero-slider .carousel-control-next:hover .carousel-control-next-icon,
.hero-slider .carousel-control-next:focus-visible .carousel-control-next-icon {
  border-color: var(--rb-green);
  transform: rotate(45deg) translate(2px, -2px);
}

@media (max-width: 991px) {
  .hero-slider .carousel-item {
    min-height: 520px;
  }

  .hero-slide__inner {
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: auto minmax(0, 1fr);
    gap: 16px;
    padding-block: 32px 60px;
    text-align: center;
  }

  .hero-slide__label {
    margin-bottom: 12px;
    padding: 5px 12px;
    font-size: 11px;
  }

  .hero-slide__title {
    font-size: clamp(28px, 7vw, 42px);
    margin-bottom: 14px;
  }

  .hero-slide__title::after {
    width: 56px;
    margin: 14px auto 0;
  }

  .hero-slide__desc {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    width: 100%;
    margin: 0 auto;
    font-size: 15px;
  }

  .hero-slide__points {
    display: inline-block;
    text-align: left;
    margin: 0;
  }

  .hero-slide__points li {
    padding: 2px 0;
    font-size: 15px;
  }

  .hero-slide__actions {
    justify-content: center;
    margin-top: 18px;
  }

  .hero-slide__btn {
    padding: 12px 22px;
    font-size: 15px;
  }

  .hero-slide__btn--outline {
    display: none;
  }

  .hero-slide__bg {
    background: radial-gradient(circle at 50% 74%, rgba(var(--rb-blue-rgb), .16) 0, rgba(var(--rb-blue-rgb), 0) 55%),
      linear-gradient(180deg, color-mix(in srgb, var(--rb-blue) 8%, #fff) 0%, color-mix(in srgb, var(--rb-blue) 4%, #fff) 50%, color-mix(in srgb, var(--rb-blue) 10%, #fff) 100%);
  }

  .hero-slider__indicators {
    bottom: 24px;
  }

  /* pill keeps the dots visible on teal, light and white slides */
  .hero-slider .carousel-indicators {
    justify-content: center;
    width: max-content;
    margin: 0 auto;
    padding: 2px 10px;
    border-radius: var(--rb-radius);
    background-color: rgba(255, 255, 255, .8);
    box-shadow: 0 4px 14px rgba(0, 0, 0, .12);
  }

  .hero-slider .carousel-indicators [data-bs-target] {
    width: 24px;
    margin: 0 3px;
  }

  .hero-slider .carousel-control-prev,
  .hero-slider .carousel-control-next {
    display: none;
  }
}

.application-sub-heading span {
  color: #fff !important;
}

@media (max-width:991px) {
  .main-application-parent {
    width: 90%;
    margin: 0 auto;
  }

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

.app-grid .vlt-service-box>img {
  aspect-ratio: 4/3;
  object-fit: cover;
}

.table-blue th {
  background-color: var(--rb-blue) !important;
  color: #fff !important;
}

.app-grid {
  margin-bottom: 30px;
}

.table-multi table {
  width: 100%;
  display: inline-table;
  margin-bottom: 50px;
}

.rm-500-features-heading {
  margin-bottom: 40px;
}

.rm-500-features-heading h2,
.rm-500-features-heading h3 {
  font-size: 36px;
  margin-bottom: 6px;
  color: var(--rb-green);
}

.rm-500-features-heading span {
  font-size: 16px;
  color: var(--rb-blue);
}

.rm-500-features-img {
  width: 450px;
  margin-bottom: 40px;
}

.rm500-function-content {
  display: flex;
  justify-content: space-around;
  margin: 20px 0;
}

.rm500-function-content-potion p {
  margin-bottom: 5px !important;
}

.rm500-function-content-potion {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  padding: 16px;
  border-radius: var(--rb-radius);
  background-color: #ffffff;
  transition: all ease 0.3s;
  text-align: center;
  margin-bottom: 20px;
}

.rm500-function-content-potion:hover {
  box-shadow: rgba(50, 50, 93, 0.25) 0px 50px 100px -20px, rgba(0, 0, 0, 0.3) 0px 30px 60px -30px;
  transform: translateY(-3px);
}

.rm500-function-left-image {
  width: 80px;
  height: 80px;
  padding: 16px;
  border-radius: 50%;
  background-color: #f3f3f3;
}

.rm500-function-left-image img {
  width: 100%;
  height: 100%;
}

.rm500-function-right {
  margin: 10px 0;
}

/* FAQs custom CSS */
.accordion-button {
  font-size: 22px;
}

.accordion-button:not(.collapsed) {
  background: var(--rb-blue);
  color: white;
}

.accordion-body a {
  color: var(--rb-blue) !important;
}

.blog-page a {
  color: var(--blue);
}

.new-cate-1 {
  position: relative;
}

.accordion-cust {
  position: sticky !important;
  top: 110px !important;
  height: auto;
  align-self: flex-start;
}

/* The category rows are <button>s, so the global --rb-radius pill rule rounds each one on the
   right and the filled active row reads as if it is breaking out of the card. Square inside the
   card; only the first and last rows follow the card's own corners. */
#categoryAccordion .accordion-item .accordion-button {
  border-radius: 0 !important;
  line-height: 1.35;
}

#categoryAccordion .accordion-item:first-of-type .accordion-button {
  border-top-right-radius: var(--rb-radius-tr) !important;
}

#categoryAccordion .accordion-item:last-of-type .accordion-button.collapsed {
  border-bottom-right-radius: var(--rb-radius-br) !important;
}

/* Bootstrap's open-state chevron is dark, which disappears on the filled active row */
.accordion-cust .accordion-button:not(.collapsed)::after {
  filter: brightness(0) invert(1);
}

/* the row is a link wrapped around the button, so the whole row has to carry the hit area */
.accordion-cust .accordion-item > a {
  padding: 0 !important;
}

.accordion-cust .accordion-button.collapsed:hover {
  background-color: var(--cp-soft, #f2f6f9);
}

/* ================= EXHIBITION / EVENT PAGE GALLERY ================= */
/* Square (1:1) carousel thumbnails */
.exb-inner .carousel {
  position: relative;
}

/* Global rule above sets .carousel-inner{width:95%} + controls{width:5%}, which
   pushes the arrows outside the image — keep them inside for event galleries */
.exb-inner .carousel-inner {
  width: 100%;
  margin: 0;
}

.exb-inner .carousel-item a {
  display: block;
}

.exb-inner .carousel-item img {
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: contain;
  object-position: center;
  background-color: #f4f4f4;
  cursor: zoom-in;
}

/* Carousel arrows — inside the image, always readable */
.exb-inner .carousel-control-prev,
.exb-inner .carousel-control-next {
  width: auto;
  top: 50%;
  bottom: auto;
  transform: translateY(-50%);
  opacity: 1;
}

.exb-inner .carousel-control-prev {
  left: 12px;
}

.exb-inner .carousel-control-next {
  right: 12px;
}

.exb-inner .carousel-control-prev-icon,
.exb-inner .carousel-control-next-icon {
  width: 42px;
  height: 42px;
  background-color: rgba(0, 0, 0, .45);
  background-size: 45% 45%;
  border-radius: 50%;
  transition: background-color .3s ease;
}

.exb-inner .carousel-control-prev:hover .carousel-control-prev-icon,
.exb-inner .carousel-control-next:hover .carousel-control-next-icon {
  background-color: rgba(0, 0, 0, .75);
}

/* Lightbox (assets/js/exhibition-lightbox.js) */
@media (max-width: 575px) {

  .exb-inner .carousel-control-prev-icon,
  .exb-inner .carousel-control-next-icon {
    width: 34px;
    height: 34px;
  }
}

/* ---- Industrial Applications section on product pages (generated by
   _build/product-applications/build_product_applications.py) ---- */
.product-applications .pa-lead {
  max-width: 900px;
  margin: 0 auto 34px;
  text-align: center;
  color: #4a5560;
}

.product-applications .pa-grid {
  row-gap: 24px;
}

/* Each card is backed by its own industry photo, set per industry by the
   .pa-card--<anchor> rules below. build_product_applications.py puts that class
   on the card; an industry with no photo keeps the flat blue fallback. */
.pa-card {
  /* the wash colour, swapped to green on every second card below */
  --pa-wash: 6, 40, 63;
  position: relative;
  isolation: isolate;
  height: 100%;
  min-height: 210px;
  padding: 24px 22px 20px;
  border: 0;
  border-radius: var(--rb-radius);
  overflow: hidden;
  background-color: rgb(var(--pa-wash));
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  transition: box-shadow .25s ease, transform .25s ease;
}

/* the photo needs a wash over it before white text reads on every image */
.pa-card::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  background: linear-gradient(180deg, rgba(var(--pa-wash), .74), rgba(var(--pa-wash), .93));
  transition: background .25s ease;
}

/* cards 2, 4, 6 take the brand green instead, so the grid alternates */
.pa-grid>[class*="col-"]:nth-child(even) .pa-card {
  --pa-wash: 10, 61, 32;
}

.pa-card>* {
  position: relative;
  z-index: 1;
}

.pa-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 14px 30px rgba(var(--rb-blue-dark-rgb), .28);
}

/* lift the wash on hover so the photo reads without losing the text */
.pa-card:hover::before {
  background: linear-gradient(180deg, rgba(var(--pa-wash), .62), rgba(var(--pa-wash), .88));
}

.pa-card__title {
  margin: 0 0 12px;
  font-size: 18px;
  line-height: 1.35;
}

.pa-card__title a {
  color: #fff;
}

.pa-card__title a:hover {
  color: #fff;
  text-decoration: underline;
}

.pa-card__list {
  margin: 0;
  padding-left: 18px;
  list-style: disc;
}

.pa-card__list li {
  margin-bottom: 6px;
  font-size: 15px;
  line-height: 1.5;
  color: rgba(255, 255, 255, .9);
}

.pa-card__list li:last-child {
  margin-bottom: 0;
}

.product-applications .pa-note {
  margin: 28px auto 0;
  max-width: 900px;
  text-align: center;
  font-size: 15px;
  color: #4a5560;
}

.product-applications .pa-note a {
  color: var(--rb-blue);
  font-weight: 600;
}

/* industry photos, 720x460 crops built from assets/img/applications/ */
.pa-card--pharmaceuticals {
  background-image: url("../img/applications/card/pharma.webp");
}

.pa-card--food-industry {
  background-image: url("../img/applications/card/food.webp");
}

.pa-card--aluminum-steel {
  background-image: url("../img/applications/card/aluminum.webp");
}

.pa-card--wood-industry {
  background-image: url("../img/applications/card/wood.webp");
}

.pa-card--cable-industry {
  background-image: url("../img/applications/card/cable.webp");
}

.pa-card--jewellery-industry {
  background-image: url("../img/applications/card/jwellery.webp");
}

.pa-card--oil-industry {
  background-image: url("../img/applications/card/oil.webp");
}

.pa-card--gas-industry {
  background-image: url("../img/applications/card/gas.webp");
}

.pa-card--process-plant {
  background-image: url("../img/applications/card/process-plant.webp");
}

.pa-card--automobile {
  background-image: url("../img/applications/card/automobile.webp");
}

.pa-card--railway-industry {
  background-image: url("../img/applications/card/railway.webp");
}

.pa-card--spm-macinery {
  background-image: url("../img/applications/card/spm.webp");
}

@media (max-width: 575px) {
  .pa-card {
    padding: 18px 16px 14px;
  }

  .pa-card__title {
    font-size: 17px;
  }
}

/* ==========================================================================
   Guide pages — stepper-motor-vs-servo-motor.php, plc-vs-scada.php
   Scoped to .gd-page. Brand tokens only (see section 00), plus neutral ink and lines.
   ========================================================================== */
.gd-page {
  --gd-blue: var(--rb-blue);
  --gd-blue-dark: var(--rb-blue-dark);
  --gd-green: var(--rb-green);
  --gd-green-dark: var(--rb-green-dark);
  --gd-dark: var(--rb-blue);
  /* heavy fills: table head, hero h1, badges — teal, never black */
  --gd-ink: #222;
  --gd-text: #333;
  --gd-muted: #6c757d;
  --gd-line: #ececec;
  --gd-soft: #f3f3f3;
}

/* the purged bundle drops col-lg-5; without it the hero image falls below the text */
@media (min-width: 992px) {
  .gd-page .col-lg-5 {
    flex: 0 0 auto;
    width: 41.66666667%;
  }
}

.gd-page .cp-crumbs {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  list-style: none;
  padding: 0;
  margin: 0 0 18px;
  font-size: 13px;
  color: var(--gd-muted);
}

.gd-page .cp-crumbs li+li::before {
  content: "›";
  margin-right: 6px;
}

.gd-page .cp-crumbs a {
  color: var(--gd-blue);
}

.gd-page .cp-section {
  padding: 64px 0;
}

.gd-page .cp-section--soft {
  background: var(--gd-soft);
}

.gd-page .cp-section[id] {
  scroll-margin-top: 100px;
}

.gd-page .accordion-header {
  font-size: inherit;
  margin: 0;
}

.gd-page .accordion-item {
  border-color: var(--gd-line);
}

.gd-page .cp-eyebrow {
  display: inline-block;
  margin-bottom: 14px;
  padding: 6px 16px;
  border: 1px solid rgba(var(--rb-blue-rgb), .2);
  border-radius: 50px;
  background: rgba(var(--rb-blue-rgb), .06);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 1.6px;
  text-transform: uppercase;
  color: var(--rb-blue);
}

.gd-page .cp-h2 {
  font-size: 30px;
  line-height: 1.25;
  color: var(--gd-blue);
  margin: 0 0 14px;
}

.gd-page .cp-lead {
  font-size: 17px;
  line-height: 1.7;
  color: var(--gd-text);
}

.gd-page .cp-cta {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 22px;
}

.gd-page .cp-cta--center {
  justify-content: center;
}

.gd-page .cp-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  height: 46px;
  padding: 0 20px;
  border-radius: var(--rb-radius);
  border: 2px solid transparent;
  font-size: 15px;
  font-weight: 600;
  line-height: 1;
  white-space: nowrap;
  text-decoration: none;
  transition: background-color .2s, border-color .2s, color .2s, transform .2s;
}

.gd-page .cp-btn:hover {
  transform: translateY(-1px);
}

.gd-page .cp-btn i {
  font-size: 14px;
}

.gd-page .cp-btn--solid {
  background: var(--gd-blue);
  border-color: var(--gd-blue);
  color: #fff;
}

.gd-page .cp-btn--solid:hover {
  background: var(--gd-blue-dark);
  border-color: var(--gd-blue-dark);
  color: #fff;
}

.gd-page .cp-btn--outline {
  background: #fff;
  border-color: var(--gd-blue);
  color: var(--gd-blue);
}

.gd-page .cp-btn--outline:hover {
  background: var(--gd-blue);
  color: #fff;
}

.gd-page .cp-btn--wa {
  background: var(--gd-green);
  border-color: var(--gd-green);
  color: #fff;
}

.gd-page .cp-btn--wa:hover {
  background: var(--gd-green-dark);
  border-color: var(--gd-green-dark);
  color: #fff;
}

.gd-page .cp-card {
  display: flex;
  flex-direction: column;
  height: 100%;
  background: #fff;
  border: 1px solid var(--gd-line);
  border-radius: var(--rb-radius);
  overflow: hidden;
  color: var(--gd-ink);
  transition: transform .2s, box-shadow .2s, border-color .2s;
}

.gd-page .cp-card:hover {
  transform: translateY(-3px);
  border-color: var(--gd-blue);
  box-shadow: 0 10px 24px rgba(var(--rb-blue-rgb), .12);
  color: var(--gd-ink);
}

.gd-page .cp-card__img {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 170px;
  padding: 14px;
  background: var(--gd-soft);
}

.gd-page .cp-card__img img {
  max-width: 100%;
  max-height: 142px;
  width: auto;
  height: auto;
  object-fit: contain;
  mix-blend-mode: multiply;
}

.gd-page .cp-card__body {
  display: flex;
  flex-direction: column;
  padding: 14px 14px 6px;
}

.gd-page .cp-card__brand {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--gd-muted);
  margin-bottom: 4px;
}

.gd-page .cp-card__name {
  font-size: 15px;
  font-weight: 600;
  line-height: 1.35;
}

.gd-page .cp-card__more {
  margin-top: auto;
  padding: 8px 14px 14px;
  font-size: 13px;
  font-weight: 700;
  color: var(--gd-blue);
}


.gd-page h2,
.gd-page h3 {
  text-transform: none;
}

.gd-page p {
  text-align: left;
}

.gd-page p a,
.gd-page li a,
.gd-page td a {
  color: var(--gd-blue);
  font-weight: 600;
}

.gd-page p a:hover,
.gd-page li a:hover,
.gd-page td a:hover {
  color: var(--gd-blue-dark);
  text-decoration: underline;
}

.gd-page .gd-body {
  font-size: 16px;
  line-height: 1.75;
  color: var(--gd-text);
}

.gd-page .gd-body p {
  margin: 0 0 14px;
}

.gd-page .gd-narrow {
  max-width: 860px;
  margin: 0 auto;
}

/* hero: light, so the dark controllers and motors stay visible */
.gd-page .gd-hero {
  position: relative;
  overflow: hidden;
  padding: 56px 0 60px;
  background: linear-gradient(120deg, #f3f3f3 0%, #fafafa 55%, #fff 100%);
}

.gd-page .gd-hero h1 {
  color: var(--gd-dark);
  font-size: 44px;
  line-height: 1.15;
  margin: 0 0 18px;
  text-transform: none;
}

.gd-page .gd-answer {
  background: #fff;
  border: 1px solid var(--gd-line);
  border-left: 4px solid var(--gd-green);
  border-radius: var(--rb-radius);
  padding: 18px 20px;
  box-shadow: 0 10px 28px rgba(var(--rb-blue-rgb), .07);
}

.gd-page .gd-answer__label {
  display: block;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--gd-green);
  margin-bottom: 6px;
}

.gd-page .gd-answer p {
  margin: 0;
  font-size: 17px;
  line-height: 1.65;
  color: var(--gd-ink);
}

.gd-page .gd-byline {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 16px;
  margin: 18px 0 0;
  padding: 0;
  list-style: none;
  font-size: 14px;
  color: var(--gd-muted);
}

.gd-page .gd-byline li+li::before {
  content: "·";
  margin-right: 16px;
}

.gd-page .gd-byline a {
  color: var(--gd-blue);
  font-weight: 600;
}

.gd-page .gd-hero__img {
  display: block;
  width: 100%;
  height: auto;
}

/* on-this-page chips */
.gd-page .gd-toc {
  border-bottom: 1px solid var(--gd-line);
  background: #fff;
  padding: 16px 0;
}

.gd-page .gd-toc__inner {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}

.gd-page .gd-toc__label {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--gd-muted);
  margin-right: 6px;
}

.gd-page .gd-toc a {
  display: inline-block;
  padding: 6px 12px;
  border: 1px solid var(--gd-line);
  border-radius: var(--rb-radius);
  background: var(--gd-soft);
  color: var(--gd-ink);
  font-size: 14px;
  font-weight: 600;
  transition: all .2s;
}

.gd-page .gd-toc a:hover {
  border-color: var(--gd-blue);
  color: var(--gd-blue);
  background: #fff;
}

/* tables */
.gd-page .gd-table-wrap {
  overflow-x: auto;
  border: 1px solid var(--gd-line);
  border-radius: var(--rb-radius);
  background: #fff;
  box-shadow: 0 12px 30px rgba(var(--rb-blue-rgb), .06);
}

.gd-page .gd-table {
  width: 100%;
  min-width: 760px;
  border-collapse: collapse;
  font-size: 15px;
  line-height: 1.5;
  color: var(--gd-text);
}

.gd-page .gd-table th,
.gd-page .gd-table td {
  padding: 14px 16px;
  text-align: left;
  vertical-align: top;
  border-bottom: 1px solid var(--gd-line);
}

.gd-page .gd-table thead th {
  background: var(--gd-dark);
  color: #fff;
  font-size: 14px;
  font-weight: 700;
}

.gd-page .gd-table thead th:first-child {
  width: 20%;
}

.gd-page .gd-table tbody th {
  background: var(--gd-soft);
  color: var(--gd-ink);
  font-weight: 700;
}

.gd-page .gd-table tbody tr:last-child th,
.gd-page .gd-table tbody tr:last-child td {
  border-bottom: 0;
}

.gd-page .gd-tag {
  display: inline-block;
  padding: 2px 9px;
  border-radius: var(--rb-radius);
  font-size: 13px;
  font-weight: 700;
  white-space: nowrap;
  color: #fff;
}

.gd-page .gd-tag--plc,
.gd-page .gd-tag--step {
  background: var(--gd-green);
}

.gd-page .gd-tag--hmi,
.gd-page .gd-tag--cl {
  background: #fff;
  color: var(--gd-blue);
  box-shadow: inset 0 0 0 1.5px var(--gd-blue);
}

.gd-page .gd-tag--scada,
.gd-page .gd-tag--servo {
  background: var(--gd-blue);
}

/* in the tables the labels read as plain text, not pills */
.gd-page .gd-table .gd-tag {
  padding: 0;
  border-radius: 0;
  background: none;
  box-shadow: none;
  color: var(--gd-ink);
}

.gd-page .gd-note {
  margin: 12px 0 0;
  font-size: 13px;
  color: var(--gd-muted);
}

.gd-page .gd-swipe {
  display: none;
  margin: 0 0 8px;
  font-size: 13px;
  font-weight: 600;
  color: var(--gd-muted);
}

@media (max-width: 767px) {
  .gd-page .gd-swipe {
    display: block;
  }

  .gd-page .gd-table thead th:first-child,
  .gd-page .gd-table tbody th {
    position: sticky;
    left: 0;
    z-index: 1;
    width: 132px;
    min-width: 132px;
  }

  .gd-page .gd-table thead th:first-child {
    background: var(--gd-dark);
  }
}

/* how they work */
.gd-page .gd-duo {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
}

.gd-page .gd-box {
  background: #fff;
  border: 1px solid var(--gd-line);
  border-top: 4px solid var(--gd-blue);
  border-radius: var(--rb-radius);
  padding: 26px;
}

.gd-page .gd-box--plc,
.gd-page .gd-box--step {
  border-top-color: var(--gd-green);
}

.gd-page .gd-box h3 {
  font-size: 21px;
  line-height: 1.3;
  color: var(--gd-ink);
  margin: 0 0 12px;
}

.gd-page .gd-box p {
  font-size: 15.5px;
  line-height: 1.7;
  color: var(--gd-text);
  margin: 0 0 12px;
}

.gd-page .gd-box p:last-child {
  margin-bottom: 0;
}

.gd-page .gd-middle {
  margin-top: 18px;
  display: flex;
  gap: 18px;
  align-items: flex-start;
  background: var(--gd-soft);
  border: 1px solid var(--gd-line);
  border-radius: var(--rb-radius);
  padding: 22px 24px;
}

.gd-page .gd-middle__badge {
  flex: 0 0 auto;
  padding: 4px 10px;
  border-radius: var(--rb-radius);
  background: var(--gd-dark);
  color: #fff;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.gd-page .gd-middle h3 {
  font-size: 19px;
  color: var(--gd-ink);
  margin: 0 0 6px;
}

.gd-page .gd-middle p {
  margin: 0;
  font-size: 15.5px;
  line-height: 1.7;
  color: var(--gd-text);
}

/* figures: torque-speed chart (stepper guide) and layer diagram (plc guide) */
.gd-page .gd-chart {
  background: #fff;
  border: 1px solid var(--gd-line);
  border-radius: var(--rb-radius);
  padding: 20px 20px 14px;
  margin: 0;
}

.gd-page .gd-chart svg {
  display: block;
  width: 100%;
  height: auto;
}

.gd-page .gd-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 20px;
  margin: 10px 0 0;
  padding: 0;
  list-style: none;
  font-size: 14px;
  color: var(--gd-text);
}

.gd-page .gd-legend li {
  display: flex;
  align-items: center;
  gap: 8px;
}

.gd-page .gd-legend i {
  display: inline-block;
  width: 22px;
  height: 4px;
  border-radius: var(--rb-radius);
}

.gd-page .gd-key--blue {
  background: var(--gd-blue);
}

.gd-page .gd-key--blue-soft {
  background: rgba(var(--rb-blue-rgb), .25);
}

.gd-page .gd-key--green {
  background: var(--gd-green);
}

.gd-page .gd-key--green-soft {
  background: var(--gd-green);
  opacity: .3;
}

.gd-page .gd-key--dark {
  background: rgba(var(--rb-blue-rgb), .45);
}

.gd-page .gd-rule {
  margin-top: 18px;
  padding: 16px 18px;
  border-radius: var(--rb-radius);
  background: var(--gd-blue);
  color: #fff;
  font-size: 15.5px;
  line-height: 1.65;
}

.gd-page .gd-rule b {
  color: #fff;
}

/* svg parts: CSS beats presentation attributes, so no colours sit in the markup */
.gd-page .gd-svg-box {
  fill: #fff;
  stroke: var(--gd-line);
  stroke-width: 2;
}

.gd-page .gd-svg-box--scada {
  fill: var(--gd-soft);
  stroke: var(--gd-blue);
}

.gd-page .gd-svg-box--plc {
  fill: var(--gd-soft);
  stroke: var(--gd-green);
}

.gd-page .gd-svg-box--hmi {
  fill: #fff;
  stroke: var(--gd-dark);
}

.gd-page .gd-svg-t {
  fill: var(--gd-text);
}

.gd-page .gd-svg-t--ink {
  fill: var(--gd-ink);
}

.gd-page .gd-svg-t--blue {
  fill: var(--gd-blue);
}

.gd-page .gd-svg-t--green {
  fill: var(--gd-green);
}

.gd-page .gd-svg-t--dark {
  fill: var(--gd-dark);
}

.gd-page .gd-svg-link--blue {
  stroke: var(--gd-blue);
}

.gd-page .gd-svg-link--green {
  stroke: var(--gd-green);
}

.gd-page .gd-svg-link--dark {
  stroke: var(--gd-dark);
}

.gd-page .gd-svg-tip--blue {
  fill: var(--gd-blue);
}

.gd-page .gd-svg-tip--green {
  fill: var(--gd-green);
}

.gd-page .gd-svg-grid {
  stroke: var(--gd-line);
  stroke-width: 1;
}

.gd-page .gd-svg-axis {
  stroke: var(--gd-muted);
  stroke-width: 1.5;
}

.gd-page .gd-svg-area {
  fill: var(--gd-blue);
  fill-opacity: .10;
}

.gd-page .gd-svg-area--green {
  fill: var(--gd-green);
}

.gd-page .gd-svg-curve--blue {
  fill: none;
  stroke: var(--gd-blue);
}

.gd-page .gd-svg-curve--green {
  fill: none;
  stroke: var(--gd-green);
}

/* decision cards */
.gd-page .gd-choose {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
}

.gd-page .gd-pick {
  display: flex;
  flex-direction: column;
  background: #fff;
  border: 1px solid var(--gd-line);
  border-radius: var(--rb-radius);
  padding: 24px;
}

.gd-page .gd-pick__head {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 14px;
}

.gd-page .gd-pick h3 {
  font-size: 20px;
  line-height: 1.3;
  color: var(--gd-ink);
  margin: 0;
}

.gd-page .gd-pick ul {
  margin: 0 0 16px;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 9px;
}

.gd-page .gd-pick li {
  position: relative;
  padding-left: 24px;
  font-size: 15px;
  line-height: 1.55;
  color: var(--gd-text);
}

.gd-page .gd-pick li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 4px;
  width: 15px;
  height: 15px;
  border-radius: 50%;
  background: var(--gd-green) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8.5l2.5 2.5L12 5.5' fill='none' stroke='%23ffffff' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/11px no-repeat;
}

.gd-page .gd-pick__eg {
  margin: 0 0 16px;
  padding: 12px 14px;
  border-radius: var(--rb-radius);
  background: var(--gd-soft);
  font-size: 14px;
  line-height: 1.55;
  color: var(--gd-text);
}

.gd-page .gd-pick__eg b {
  color: var(--gd-ink);
}

.gd-page .gd-pick__links {
  margin-top: auto;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.gd-page .gd-pick__links a {
  display: inline-block;
  padding: 7px 12px;
  border: 1px solid var(--gd-line);
  border-radius: var(--rb-radius);
  background: #fff;
  color: var(--gd-blue);
  font-size: 14px;
  font-weight: 600;
  transition: all .2s;
}

.gd-page .gd-pick__links a:hover {
  border-color: var(--gd-blue);
  background: var(--gd-soft);
}

/* checklist */
.gd-page .gd-steps {
  counter-reset: gd;
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 14px;
}

.gd-page .gd-steps li {
  counter-increment: gd;
  position: relative;
  padding: 18px 20px 18px 72px;
  background: #fff;
  border: 1px solid var(--gd-line);
  border-radius: var(--rb-radius);
  font-size: 15.5px;
  line-height: 1.7;
  color: var(--gd-text);
}

.gd-page .gd-steps li::before {
  content: counter(gd, decimal-leading-zero);
  position: absolute;
  left: 20px;
  top: 18px;
  width: 36px;
  height: 36px;
  border-radius: var(--rb-radius);
  background: var(--gd-blue);
  color: #fff;
  font-size: 14px;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
}

.gd-page .gd-steps b {
  display: block;
  color: var(--gd-ink);
  font-size: 16.5px;
  margin-bottom: 2px;
}

/* hub links */
.gd-page .gd-hubs {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px;
  margin-top: 26px;
}

.gd-page .gd-hubs a {
  display: inline-block;
  padding: 8px 14px;
  border: 1px solid var(--gd-line);
  border-radius: var(--rb-radius);
  background: #fff;
  color: var(--gd-ink);
  font-size: 14px;
  font-weight: 600;
  transition: all .2s;
}

.gd-page .gd-hubs a:hover {
  border-color: var(--gd-blue);
  color: var(--gd-blue);
}

@media (max-width: 991px) {
  .gd-page .gd-hero h1 {
    font-size: 36px;
  }

  .gd-page .gd-duo,
  .gd-page .gd-choose {
    grid-template-columns: 1fr;
  }

  .gd-page .gd-hero__img {
    max-width: 520px;
    margin: 8px auto 0;
  }
}

@media (max-width: 767px) {

  /* the theme drops .vlt-main's top margin here and the fixed header overlays the page top */
  .gd-page .gd-hero {
    padding-top: 126px;
  }
}

@media (max-width: 575px) {
  .gd-page .gd-hero {
    padding: 126px 0 44px;
  }

  .gd-page .gd-hero h1 {
    font-size: 29px;
  }

  .gd-page .gd-answer p {
    font-size: 16px;
  }

  .gd-page .cp-section {
    padding: 44px 0;
  }

  .gd-page .cp-h2 {
    font-size: 24px;
  }


  .gd-page .cp-cta .cp-btn {
    flex: 1 1 100%;
  }

  .gd-page .gd-middle {
    flex-direction: column;
    gap: 10px;
  }

  .gd-page .gd-steps li {
    padding: 64px 16px 16px;
  }

  .gd-page .gd-steps li::before {
    left: 16px;
    top: 16px;
  }

  .gd-page .gd-box,
  .gd-page .gd-pick {
    padding: 20px;
  }

  .gd-page .cp-card__img {
    height: 130px;
  }

  .gd-page .cp-card__img img {
    max-height: 104px;
  }

  .gd-page .cp-card__name {
    font-size: 14px;
  }
}

/* homepage: Popular Products — product image grid under About Us */
.popular-products {
  background: #f7fafc;
  padding: 60px 0;
}

.popular-products .pk-head {
  text-align: center;
  margin-bottom: 34px;
}

.popular-products .pk-head h2 {
  font-size: 30px;
  color: var(--rb-blue);
  margin: 0 0 10px;
}

.popular-products .pk-head p {
  font-size: 16px;
  color: #4a5560;
  margin: 0;
}

.popular-products .pk-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}

.popular-products .pk-card {
  display: flex;
  flex-direction: column;
  background: #ffffff;
  border: 1px solid #e3ebf0;
  border-radius: var(--rb-radius);
  overflow: hidden;
  text-decoration: none;
  transition: border-color .25s ease, box-shadow .25s ease, transform .25s ease;
}

.popular-products .pk-card__img {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 168px;
  padding: 16px;
  background: #ffffff;
}

.popular-products .pk-card__img img {
  max-width: 100%;
  max-height: 136px;
  width: auto;
  height: auto;
  object-fit: contain;
  transition: transform .3s ease;
}

.popular-products .pk-card__name {
  display: block;
  border-top: 1px solid #eef3f6;
  padding: 14px 16px;
  text-align: center;
  color: var(--rb-blue);
  font-size: 16px;
  font-weight: 600;
  line-height: 1.35;
}

.popular-products .pk-card:hover {
  border-color: var(--rb-blue);
  box-shadow: 0 10px 24px rgba(var(--rb-blue-rgb), .12);
  transform: translateY(-3px);
}

.popular-products .pk-card:hover .pk-card__img img {
  transform: scale(1.05);
}

.popular-products .pk-card--all .pk-card__img--all {
  background: color-mix(in srgb, var(--rb-blue) 5%, #fff);
}

.popular-products .pk-card--all .pk-card__img--all i {
  font-size: 44px;
  color: var(--rb-blue-light);
}

@media (max-width: 1199px) {
  .popular-products .pk-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (max-width: 767px) {
  .popular-products {
    padding: 46px 0;
  }

  .popular-products .pk-head h2 {
    font-size: 24px;
  }

  .popular-products .pk-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 14px;
  }

  .popular-products .pk-card__img {
    height: 132px;
    padding: 12px;
  }

  .popular-products .pk-card__img img {
    max-height: 108px;
  }

  .popular-products .pk-card__name {
    padding: 12px 10px;
    font-size: 14px;
  }
}

@media (max-width: 479px) {
  .popular-products .pk-card__img {
    height: 118px;
  }

  .popular-products .pk-card__img img {
    max-height: 94px;
  }
}

/* ---------- Downloads page (download-product-catalogue.php) ---------- */
.dl-section {
  padding: 90px 0 100px;
  background: #fff;
}

/* the second line of the intro is the same theme sec-sub, just spaced under the first */
.sec-head .dl-note {
  margin-top: 10px;
  margin-bottom: 0;
}

.sec-head .dl-note a {
  color: var(--rb-blue);
  text-decoration: underline;
}

.dl-group {
  margin-bottom: 56px;
}

.dl-group__title {
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 22px;
  color: var(--rb-blue);
  margin-bottom: 26px;
  padding-bottom: 14px;
  border-bottom: 1px solid #e6ebee;
}

.dl-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 26px;
}

.dl-card {
  display: flex;
  flex-direction: column;
  border: 1px solid #e6ebee;
  border-radius: var(--rb-radius);
  overflow: hidden;
  background: #fff;
  transition: box-shadow .25s ease, transform .25s ease, border-color .25s ease;
}

.dl-card:hover {
  box-shadow: 0 14px 32px rgba(16, 16, 16, .12);
  transform: translateY(-4px);
  border-color: #cfdae1;
}

.dl-card__cover {
  position: relative;
  background: color-mix(in srgb, var(--rb-blue) 5%, #fff);
  padding: 16px;
  border-bottom: 1px solid #eef2f5;
}

.dl-card__cover img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 3 / 4;
  object-fit: contain;
  background: #fff;
  border: 1px solid #e6ebee;
  border-radius: var(--rb-radius);
}

.dl-card__badge {
  position: absolute;
  top: 24px;
  right: 24px;
  background: var(--rb-blue);
  color: #fff;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .06em;
  padding: 3px 8px;
  border-radius: var(--rb-radius);
}

.dl-card__body {
  display: flex;
  flex-direction: column;
  flex: 1;
  padding: 18px 18px 20px;
}

.dl-card__title {
  font-size: 16px;
  line-height: 1.4;
  color: #101010;
  margin: 0 0 8px;
}

.dl-card__meta {
  font-size: 13.5px;
  line-height: 1.55;
  color: #5c6b74;
  margin: 0 0 10px;
}

.dl-card__size {
  font-size: 12px;
  color: #8a97a0;
  letter-spacing: .04em;
  margin: 0 0 16px;
}

.dl-card__actions {
  margin-top: auto;
  display: flex;
  flex-direction: column;
  gap: 10px;
  align-items: flex-start;
}

.dl-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: var(--rb-green);
  color: #fff;
  font-size: 14px;
  font-weight: 600;
  padding: 10px 18px;
  border-radius: var(--rb-radius);
  transition: background .2s ease;
}

.dl-btn:hover,
.dl-btn:focus {
  background: var(--rb-blue);
  color: #fff;
}

.dl-btn i {
  font-size: 13px;
}

.dl-link {
  font-size: 13.5px;
  color: var(--rb-blue);
  text-decoration: underline;
}

.dl-link:hover {
  color: var(--rb-green);
}

.dl-cta {
  margin-top: 10px;
  padding: 40px;
  text-align: center;
  background: color-mix(in srgb, var(--rb-blue) 5%, #fff);
  border: 1px solid #e6ebee;
  border-radius: var(--rb-radius);
}

.dl-cta h3 {
  font-size: 24px;
  color: var(--rb-blue);
  margin-bottom: 12px;
}

.dl-cta p {
  font-size: 15.5px;
  line-height: 1.7;
  color: #5c6b74;
  max-width: 620px;
  margin: 0 auto 22px;
}

.dl-cta__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 18px;
  align-items: center;
  justify-content: center;
}

@media (max-width: 1199px) {
  .dl-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (max-width: 991px) {
  .dl-section {
    padding: 64px 0 72px;
  }

  .dl-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
  }
}

@media (max-width: 575px) {
  .dl-grid {
    grid-template-columns: 1fr;
  }

  .dl-group__title {
    font-size: 19px;
  }

  .dl-cta {
    padding: 28px 20px;
  }

  .dl-cta__actions {
    flex-direction: column;
    gap: 12px;
  }
}

/* Product page datasheet list - component/product-downloads.php.
   Sits under .product-btn-one; each row opens the brochure popup. */
.pd-docs {
  margin-top: 34px;
  padding: 24px 26px 8px;
  background: color-mix(in srgb, var(--rb-blue) 5%, #fff);
  border: 1px solid #e6ebee;
  border-radius: var(--rb-radius);
}

.pd-docs__title {
  font-size: 19px;
  line-height: 1.35;
  color: #101010;
  margin: 0 0 6px;
}

.pd-docs__note {
  font-size: 13.5px;
  line-height: 1.6;
  color: #5c6b74;
  margin: 0 0 16px;
}

.pd-docs__list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.pd-docs__item {
  border-top: 1px solid #e6ebee;
}

.pd-docs__row {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 13px 4px;
  color: #101010;
}

/* Download + Share, the pair the Downloads page cards use. */
.pd-docs__actions {
  flex: 0 0 auto;
  display: flex;
  align-items: stretch;
  gap: 8px;
}

.pd-docs__actions .dl-btn {
  padding: 9px 16px;
  font-size: 13px;
  white-space: nowrap;
}

.pd-docs__actions .dl-share {
  padding: 9px 14px;
}

.pd-docs__icon {
  flex: 0 0 auto;
  font-size: 20px;
  color: var(--rb-blue);
}

.pd-docs__text {
  display: flex;
  flex-direction: column;
  gap: 3px;
  flex: 1 1 auto;
  min-width: 0;
}

.pd-docs__name {
  font-size: 15px;
  font-weight: 600;
  line-height: 1.4;
}

.pd-docs__meta {
  font-size: 12px;
  letter-spacing: .04em;
  color: #8a97a0;
}

@media (max-width: 575px) {
  .pd-docs {
    padding: 20px 18px 6px;
  }

  .pd-docs__row {
    align-items: flex-start;
    gap: 11px;
    flex-wrap: wrap;
  }

  .pd-docs__actions {
    width: 100%;
    padding-left: 34px;
  }

  .pd-docs__actions .dl-btn {
    flex: 1 1 auto;
    justify-content: center;
  }
}

/* Download page: typographic cover for a PDF whose page-1 image is not rendered yet. */
.dl-card__placeholder {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 14px;
  width: 100%;
  aspect-ratio: 3 / 4;
  padding: 22px;
  text-align: center;
  background: #fff;
  border: 1px solid #e6ebee;
  border-radius: var(--rb-radius);
}

.dl-card__placeholder i {
  font-size: 42px;
  color: var(--rb-blue);
}

.dl-card__placeholder-text {
  font-size: 13.5px;
  font-weight: 600;
  line-height: 1.5;
  color: #5c6b74;
}

/* Downloads page: search box, share button, empty state. */
.dl-search {
  max-width: 760px;
  margin: 0 auto 40px;
  padding: 26px 28px 22px;
  text-align: center;
  background: #fff;
  border: 1px solid #e6ebee;
  border-radius: var(--rb-radius);
  box-shadow: 0 10px 30px rgba(16, 16, 16, .06);
}

.dl-search__label {
  display: block;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--rb-blue);
  margin-bottom: 12px;
}

.dl-search__field {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 0 16px 0 18px;
  background: color-mix(in srgb, var(--rb-blue) 5%, #fff);
  border: 1px solid #dde6ec;
  border-radius: var(--rb-radius);
  transition: border-color .2s ease, box-shadow .2s ease, background .2s ease;
}

.dl-search__field:focus-within {
  background: #fff;
  border-color: var(--rb-blue);
  box-shadow: 0 0 0 4px rgba(var(--rb-blue-rgb), .1);
}

.dl-search__icon {
  flex: 0 0 auto;
  font-size: 16px;
  color: var(--rb-blue);
}

.dl-search .dl-search__input {
  flex: 1 1 auto;
  min-width: 0;
  border: 0;
  border-radius: 0;
  outline: 0;
  background: transparent;
  padding: 16px 0;
  font-size: 16px;
  color: #101010;
}

.dl-search__input::placeholder {
  color: #8a97a0;
}

/* The native search affordance duplicates .dl-search__clear. */
.dl-search__input::-webkit-search-cancel-button,
.dl-search__input::-webkit-search-decoration {
  -webkit-appearance: none;
  appearance: none;
}

.dl-search__clear {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  padding: 0;
  background: #e6ebee;
  border: 0;
  border-radius: 50%;
  color: #5c6b74;
  font-size: 13px;
  cursor: pointer;
  transition: background .2s ease, color .2s ease;
}

.dl-search__clear:hover,
.dl-search__clear:focus {
  background: var(--rb-blue);
  color: #fff;
}

.dl-search__count {
  margin: 14px 0 0;
  font-size: 13px;
  color: #5c6b74;
  min-height: 19px;
}

@media (max-width: 575px) {
  .dl-search {
    padding: 20px 16px 18px;
    border-radius: var(--rb-radius);
    margin-bottom: 30px;
  }

  .dl-search__field {
    gap: 9px;
    padding: 0 10px 0 14px;
  }

  .dl-search__input {
    font-size: 15px;
    padding: 14px 0;
  }

  .dl-search__label {
    font-size: 11px;
    letter-spacing: .1em;
  }
}

.dl-empty {
  margin: 0 0 30px;
  padding: 22px 24px;
  background: color-mix(in srgb, var(--rb-blue) 5%, #fff);
  border: 1px solid #e6ebee;
  border-radius: var(--rb-radius);
  font-size: 15px;
  color: #5c6b74;
}

.dl-empty a {
  color: var(--rb-blue);
  text-decoration: underline;
}

/* Download and Share share one row: Download takes the slack, Share stays compact. */
.dl-card__actions {
  flex-direction: row;
  align-items: stretch;
  gap: 8px;
  flex-wrap: nowrap;
}

.dl-card__actions .dl-btn {
  flex: 1 1 auto;
  min-width: 0;
  justify-content: center;
  padding: 10px 12px;
  font-size: 13px;
  white-space: nowrap;
}

.dl-share {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  gap: 7px;
  white-space: nowrap;
  padding: 10px 12px;
  background: transparent;
  border: 1px solid #cfdae1;
  border-radius: var(--rb-radius);
  font-size: 13px;
  font-weight: 600;
  color: var(--rb-blue);
  cursor: pointer;
  transition: border-color .2s ease, color .2s ease, background .2s ease;
}

.dl-share:hover,
.dl-share:focus {
  border-color: var(--rb-blue-dark);
  background: color-mix(in srgb, var(--rb-blue) 5%, #fff);
  color: var(--rb-blue-dark);
}

.dl-share i {
  font-size: 13px;
}

/* Product page with no button row: the downloads block carries the CTA itself. */
.pd-docs--request {
  padding-bottom: 26px;
}

.pd-docs--request .dl-btn {
  display: inline-flex;
  margin-left: 0;
}

/* Pages with no tab strip of their own get one carrying just the Downloads tab
   - component/product-downloads-section.php. .product-tabs-section supplies the
   card and the tab styling, so this only spaces the section on the page. */
.pd-docs-section {
  padding: 10px 0 50px;
}

.pd-docs-section .product-tabs-section {
  margin: 0;
}

.pd-docs-section .pd-docs {
  margin-top: 0;
}

/* Header stacking band: the mega menu must paint above every page section below it. */
.vlt-header {
  position: relative;
  z-index: 1100;
}

/* Product page hero CTA row - .product-btn-one on the product pages.
   Same button system the city pages use for .cp-btn, kept on its own classes so
   the theme's .vlt-btn rules stay untouched. */
.product-btn-one {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
}

.product-btn-one .pd-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  height: 52px;
  padding: 0 28px;
  border-radius: var(--rb-radius);
  border: 2px solid transparent;
  font-size: 15px;
  font-weight: 600;
  line-height: 1;
  white-space: nowrap;
  text-decoration: none;
  cursor: pointer;
  transition: background-color .2s, border-color .2s, color .2s, transform .2s, box-shadow .2s;
}

.product-btn-one .pd-btn:hover,
.product-btn-one .pd-btn:focus-visible {
  transform: translateY(-2px);
  text-decoration: none;
}

.product-btn-one .pd-btn:focus-visible {
  outline: 2px solid var(--rb-blue);
  outline-offset: 3px;
}

.product-btn-one .pd-btn i {
  font-size: 15px;
}

.product-btn-one .pd-btn--solid {
  background: var(--rb-blue);
  border-color: var(--rb-blue);
  color: #fff;
  box-shadow: 0 6px 16px rgba(var(--rb-blue-rgb), .22);
}

.product-btn-one .pd-btn--solid:hover,
.product-btn-one .pd-btn--solid:focus-visible {
  background: var(--rb-blue-dark);
  border-color: var(--rb-blue-dark);
  color: #fff;
  box-shadow: 0 10px 22px rgba(var(--rb-blue-rgb), .3);
}

.product-btn-one .pd-btn--green {
  background: var(--rb-green);
  border-color: var(--rb-green);
  color: #fff;
  box-shadow: 0 6px 16px rgba(var(--rb-green-rgb), .22);
}

.product-btn-one .pd-btn--green:hover,
.product-btn-one .pd-btn--green:focus-visible {
  background: var(--rb-green-dark);
  border-color: var(--rb-green-dark);
  color: #fff;
  box-shadow: 0 10px 22px rgba(var(--rb-green-rgb), .3);
}

@media only screen and (max-width: 575px) {
  .product-btn-one .pd-btn {
    flex: 1 1 100%;
    padding: 0 18px;
  }
}

/* Downloads tab on a product page - component/product-downloads-pane.php.
   The tab pane already supplies the white card and its 30px padding, so inside
   it the datasheet list drops the standalone block's own background, border and
   top margin. .pd-docs (the standalone block) still styles the pages with no
   tab strip. */
.pd-docs--tab {
  margin-top: 0;
  padding: 0;
  background: none;
  border: 0;
  border-radius: 0;
}

/* .product-tabs-section p is white for the dark Features panel; the note sits on
   the white pane, so it takes the list's own colours back. */
.product-tabs-section .pd-docs--tab .pd-docs__title {
  color: #101010;
}

.product-tabs-section .pd-docs--tab .pd-docs__note {
  color: #5c6b74;
}

@media only screen and (max-width: 575px) {
  .pd-docs--tab {
    padding: 0;
  }
}

/* ---- The "Inquiry Now" form: component/inquiry-form.php wrapping
   component/support-form.php. One component for every page that carries the
   form - product, city, state, industry, brand and guide - so these rules are
   the only styling it gets. ---- */
#support-form-section.diagram-section {
  background: linear-gradient(160deg, var(--rb-blue) 0%, var(--rb-blue-dark) 58%, var(--rb-blue-dark) 100%);
  padding: 66px 0 70px;
  overflow: hidden;
}

/* consent line of component/support-form.php: dark on the light cards (support, quick-inquiry,
   customized-solutions), white on this dark section */
.sf-consent {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  margin-bottom: 14px;
  font-size: 14px;
  line-height: 1.5;
  color: var(--rb-text);
  cursor: pointer;
}

.sf-consent input {
  flex-shrink: 0;
  width: 15px;
  height: 15px;
  margin-top: 3px;
  accent-color: var(--rb-blue);
}

.sf-consent a {
  color: var(--rb-blue);
  text-decoration: underline;
}

#support-form-section .sf-consent {
  font-size: 13px;
  color: #fff;
}

#support-form-section .sf-consent input {
  accent-color: #fff;
}

#support-form-section .sf-consent a {
  color: #fff;
}

/* left column: the ways to reach a person, right column: the form */
#support-form-section .inq-split {
  align-items: center;
  row-gap: 34px;
}

#support-form-section .inq-aside {
  padding-right: 20px;
  text-align: left;
}

#support-form-section .inq-eyebrow {
  display: inline-block;
  margin-bottom: 12px;
  padding: 5px 12px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: #fff;
  background: rgba(255, 255, 255, .14);
  border-radius: var(--rb-radius);
}

#support-form-section .inq-title {
  margin: 0 0 14px;
  font-size: 38px;
  line-height: 1.15;
  color: #fff;
}

#support-form-section .inq-lead {
  margin: 0 0 22px;
  font-size: 16px;
  line-height: 1.7;
  color: rgba(255, 255, 255, .88);
}

#support-form-section .inq-points {
  list-style: none;
  margin: 0 0 26px;
  padding: 0;
  font-size: 15px;
}

#support-form-section .inq-points li {
  position: relative;
  margin-bottom: 9px;
  padding-left: 27px;
  color: rgba(255, 255, 255, .92);
}

/* same tick the city page trust list uses */
#support-form-section .inq-points li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 4px;
  width: 17px;
  height: 17px;
  border-radius: 50%;
  background: var(--rb-green) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8.5l2.5 2.5L12 5.5' fill='none' stroke='%23ffffff' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/13px no-repeat;
}

#support-form-section .inq-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

#support-form-section .inq-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  height: 48px;
  padding: 0 20px;
  font-size: 15px;
  font-weight: 600;
  line-height: 1;
  white-space: nowrap;
  text-decoration: none;
  border: 2px solid transparent;
  border-radius: var(--rb-radius);
  transition: background-color .2s ease, border-color .2s ease, color .2s ease, transform .2s ease;
}

#support-form-section .inq-btn:hover {
  transform: translateY(-2px);
  text-decoration: none;
}

#support-form-section .inq-btn--accent {
  background: #fff;
  border-color: #fff;
  color: var(--rb-blue);
}

#support-form-section .inq-btn--accent:hover {
  background: color-mix(in srgb, var(--rb-blue) 8%, #fff);
  border-color: color-mix(in srgb, var(--rb-blue) 8%, #fff);
  color: var(--rb-blue);
}

#support-form-section .inq-btn--wa {
  background: var(--rb-green);
  border-color: var(--rb-green);
  color: #fff;
}

#support-form-section .inq-btn--wa:hover {
  background: var(--rb-green-dark);
  border-color: var(--rb-green-dark);
  color: #fff;
}

/* call and WhatsApp split the first row evenly */
#support-form-section .inq-btn--accent,
#support-form-section .inq-btn--wa {
  flex: 1 1 0;
  min-width: 0;
}

/* the email address is the long one, so it takes its own full-width row
   under the call and WhatsApp pair */
#support-form-section .inq-btn--ghost {
  flex: 1 1 100%;
  background: transparent;
  border-color: rgba(255, 255, 255, .75);
  color: #fff;
}

#support-form-section .inq-btn--ghost:hover {
  background: #fff;
  border-color: #fff;
  color: var(--rb-blue-dark);
}

/* the fields sit on a translucent panel, the treatment the city page hero
   already uses for .cp-range */
.diagram-section .Product_Inquiry {
  padding: 30px 28px 26px;
  text-align: left;
  background: rgba(255, 255, 255, .08);
  border: 1px solid rgba(255, 255, 255, .18);
  border-radius: var(--rb-radius);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
}

.diagram-section .Product_Inquiry input:not([type="checkbox"]):not([type="hidden"]),
.diagram-section .Product_Inquiry select,
.diagram-section .Product_Inquiry textarea {
  width: 100%;
  padding: 14px 16px;
  font-size: 15px;
  line-height: 1.4;
  color: #101010;
  background-color: #fff;
  border: 1px solid transparent;
  border-radius: var(--rb-radius);
  box-shadow: 0 1px 2px rgba(var(--rb-blue-dark-rgb), .12);
  transition: border-color .2s ease, box-shadow .2s ease;
}

.diagram-section .Product_Inquiry ::placeholder {
  color: #8a97a0;
  opacity: 1;
}

.diagram-section .Product_Inquiry input:not([type="checkbox"]):focus,
.diagram-section .Product_Inquiry select:focus,
.diagram-section .Product_Inquiry textarea:focus {
  outline: none;
  border-color: var(--rb-green);
  box-shadow: 0 0 0 3px rgba(var(--rb-green-rgb), .28);
}

.diagram-section .Product_Inquiry textarea {
  min-height: 132px;
  resize: vertical;
}

/* the native select arrow differs per browser, so draw our own */
.diagram-section .Product_Inquiry select {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  padding-right: 42px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 6l4 4 4-4' fill='none' stroke='%235c6b74' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 15px center;
  background-size: 14px;
  cursor: pointer;
}

/* the theme's .btn-one paints a white pill with an inset coloured span; this is
   a plain solid button instead, matching the product page CTAs */
.diagram-section .Product_Inquiry .col-12:last-child {
  text-align: center;
}

#support-form-section .Product_Inquiry button[type="submit"],
.diagram-section .Product_Inquiry button[type="submit"] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 210px;
  margin-top: 6px;
  padding: 0 34px;
  height: 52px;
  line-height: 1;
  background: var(--rb-green);
  color: #fff;
  border: 0;
  border-radius: var(--rb-radius);
  box-shadow: 0 8px 20px rgba(var(--rb-green-rgb), .3);
  transition: background .2s ease, transform .2s ease, box-shadow .2s ease;
}

#support-form-section .Product_Inquiry button[type="submit"]:hover,
.diagram-section .Product_Inquiry button[type="submit"]:hover {
  background: var(--rb-green-dark);
  transform: translateY(-2px);
  box-shadow: 0 12px 26px rgba(var(--rb-green-rgb), .36);
}

.diagram-section .Product_Inquiry button[type="submit"] .bg {
  display: none;
}

.diagram-section .Product_Inquiry button[type="submit"] .txt {
  gap: 8px;
  line-height: 1;
}

@media (max-width: 991px) {
  #support-form-section .inq-aside {
    padding-right: 0;
    text-align: center;
  }

  #support-form-section .inq-points {
    display: inline-block;
    text-align: left;
  }

  #support-form-section .inq-actions {
    justify-content: center;
  }
}

@media (max-width: 575px) {
  #support-form-section.diagram-section {
    padding: 44px 0 48px;
  }

  #support-form-section .inq-title {
    font-size: 28px;
  }

  #support-form-section .inq-btn,
  #support-form-section .inq-btn--accent,
  #support-form-section .inq-btn--wa {
    flex: 1 1 100%;
  }

  .diagram-section .Product_Inquiry {
    padding: 22px 18px 20px;
    border-radius: var(--rb-radius);
  }

  .diagram-section .Product_Inquiry button[type="submit"] {
    width: 100%;
  }
}



/* 11. FONT AWESOME 7 ============================================================================ */
/*!
 * Font Awesome Pro 7.2.0 by @fontawesome - https://fontawesome.com
 * License - https://fontawesome.com/license (Commercial License)
 * Copyright 2026 Fonticons, Inc.
 */
.fa-solid,
.fa-regular,
.fa-brands,
.fa-classic,
.fas,
.far,
.fab,
.fal,
.fat,
.fad,
.fass,
.fasr,
.fasl,
.fast,
.fans,
.fa-solid,
.fa-regular,
.fa-light,
.fa-thin,
.fa-brands,
.fa-classic,
.fa-duotone,
.fa-sharp,
.fa {
  --_fa-family: var(--fa-family, var(--fa-style-family, 'Font Awesome 7 Pro'));
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  display: var(--fa-display, inline-block);
  font-family: var(--_fa-family);
  font-feature-settings: normal;
  font-style: normal;
  font-synthesis: none;
  font-variant: normal;
  font-weight: var(--fa-style, 900);
  line-height: 1;
  text-align: center;
  text-rendering: auto;
  width: var(--fa-width, 1.25em);
}

:is(.fas,
  .fass,
  .far,
  .fasr,
  .fal,
  .fasl,
  .fat,
  .fast,
  .fad,
  .fab,
  .fans,
  .fa-solid,
  .fa-regular,
  .fa-light,
  .fa-thin,
  .fa-brands,
  .fa-classic,
  .fa-duotone,
  .fa-sharp,
  .fa)::before {
  content: var(--fa)/"";
}

@supports not (content: "" /"") {

  :is(.fas,
    .fass,
    .far,
    .fasr,
    .fal,
    .fasl,
    .fat,
    .fast,
    .fad,
    .fab,
    .fans,
    .fa-solid,
    .fa-regular,
    .fa-light,
    .fa-thin,
    .fa-brands,
    .fa-classic,
    .fa-duotone,
    .fa-sharp,
    .fa)::before {
    content: var(--fa);
  }
}

:is(.fad,
  .fa-duotone)::after {
  content: var(--fa)/"";
  font-feature-settings: "ss01";
}

@supports not (content: "" /"") {

  :is(.fad,
    .fa-duotone)::after {
    content: var(--fa);
  }
}

.fa-1x {
  font-size: 1em;
}

.fa-2x {
  font-size: 2em;
}

.fa-3x {
  font-size: 3em;
}

.fa-4x {
  font-size: 4em;
}

.fa-5x {
  font-size: 5em;
}

.fa-6x {
  font-size: 6em;
}

.fa-7x {
  font-size: 7em;
}

.fa-8x {
  font-size: 8em;
}

.fa-9x {
  font-size: 9em;
}

.fa-10x {
  font-size: 10em;
}

.fa-2xs {
  font-size: calc(10 / 16 * 1em);
  /* converts a 10px size into an em-based value that's relative to the scale's 16px base */
  line-height: calc(1 / 10 * 1em);
  /* sets the line-height of the icon back to that of it's parent */
  vertical-align: calc((6 / 10 - 0.375) * 1em);
  /* vertically centers the icon taking into account the surrounding text's descender */
}

.fa-xs {
  font-size: calc(12 / 16 * 1em);
  /* converts a 12px size into an em-based value that's relative to the scale's 16px base */
  line-height: calc(1 / 12 * 1em);
  /* sets the line-height of the icon back to that of it's parent */
  vertical-align: calc((6 / 12 - 0.375) * 1em);
  /* vertically centers the icon taking into account the surrounding text's descender */
}

.fa-sm {
  font-size: calc(14 / 16 * 1em);
  /* converts a 14px size into an em-based value that's relative to the scale's 16px base */
  line-height: calc(1 / 14 * 1em);
  /* sets the line-height of the icon back to that of it's parent */
  vertical-align: calc((6 / 14 - 0.375) * 1em);
  /* vertically centers the icon taking into account the surrounding text's descender */
}

.fa-lg {
  font-size: calc(20 / 16 * 1em);
  /* converts a 20px size into an em-based value that's relative to the scale's 16px base */
  line-height: calc(1 / 20 * 1em);
  /* sets the line-height of the icon back to that of it's parent */
  vertical-align: calc((6 / 20 - 0.375) * 1em);
  /* vertically centers the icon taking into account the surrounding text's descender */
}

.fa-xl {
  font-size: calc(24 / 16 * 1em);
  /* converts a 24px size into an em-based value that's relative to the scale's 16px base */
  line-height: calc(1 / 24 * 1em);
  /* sets the line-height of the icon back to that of it's parent */
  vertical-align: calc((6 / 24 - 0.375) * 1em);
  /* vertically centers the icon taking into account the surrounding text's descender */
}

.fa-2xl {
  font-size: calc(32 / 16 * 1em);
  /* converts a 32px size into an em-based value that's relative to the scale's 16px base */
  line-height: calc(1 / 32 * 1em);
  /* sets the line-height of the icon back to that of it's parent */
  vertical-align: calc((6 / 32 - 0.375) * 1em);
  /* vertically centers the icon taking into account the surrounding text's descender */
}

.fa-width-auto {
  --fa-width: auto;
}

.fa-fw {
  --fa-width: 1.25em;
}

.fa-ul {
  list-style-type: none;
  margin-inline-start: var(--fa-li-margin, 2.5em);
  padding-inline-start: 0;
}

.fa-ul>li {
  position: relative;
}

.fa-li {
  inset-inline-start: calc(-1 * var(--fa-li-width, 2em));
  position: absolute;
  text-align: center;
  width: var(--fa-li-width, 2em);
  line-height: inherit;
}

/* Heads Up: Bordered Icons will not be supported in the future!
  - This feature will be deprecated in the next major release of Font Awesome (v8)!
  - You may continue to use it in this version *v7), but it will not be supported in Font Awesome v8.
*/
/* Notes:
* --@{v.$css-prefix}-border-width = 1/16 by default (to render as ~1px based on a 16px default font-size)
* --@{v.$css-prefix}-border-padding =
  ** 3/16 for vertical padding (to give ~2px of vertical whitespace around an icon considering it's vertical alignment)
  ** 4/16 for horizontal padding (to give ~4px of horizontal whitespace around an icon)
*/
.fa-border {
  border-color: var(--fa-border-color, #eee);
  border-radius: var(--rb-radius);
  border-style: var(--fa-border-style, solid);
  border-width: var(--fa-border-width, 0.0625em);
  box-sizing: var(--fa-border-box-sizing, content-box);
  padding: var(--fa-border-padding, 0.1875em 0.25em);
}

.fa-pull-left,
.fa-pull-start {
  float: inline-start;
  margin-inline-end: var(--fa-pull-margin, 0.3em);
}

.fa-pull-right,
.fa-pull-end {
  float: inline-end;
  margin-inline-start: var(--fa-pull-margin, 0.3em);
}

.fa-beat {
  animation-name: fa-beat;
  animation-delay: var(--fa-animation-delay, 0s);
  animation-direction: var(--fa-animation-direction, normal);
  animation-duration: var(--fa-animation-duration, 1s);
  animation-iteration-count: var(--fa-animation-iteration-count, infinite);
  animation-timing-function: var(--fa-animation-timing, ease-in-out);
}

.fa-bounce {
  animation-name: fa-bounce;
  animation-delay: var(--fa-animation-delay, 0s);
  animation-direction: var(--fa-animation-direction, normal);
  animation-duration: var(--fa-animation-duration, 1s);
  animation-iteration-count: var(--fa-animation-iteration-count, infinite);
  animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.28, 0.84, 0.42, 1));
}

.fa-fade {
  animation-name: fa-fade;
  animation-delay: var(--fa-animation-delay, 0s);
  animation-direction: var(--fa-animation-direction, normal);
  animation-duration: var(--fa-animation-duration, 1s);
  animation-iteration-count: var(--fa-animation-iteration-count, infinite);
  animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1));
}

.fa-beat-fade {
  animation-name: fa-beat-fade;
  animation-delay: var(--fa-animation-delay, 0s);
  animation-direction: var(--fa-animation-direction, normal);
  animation-duration: var(--fa-animation-duration, 1s);
  animation-iteration-count: var(--fa-animation-iteration-count, infinite);
  animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1));
}

.fa-flip {
  animation-name: fa-flip;
  animation-delay: var(--fa-animation-delay, 0s);
  animation-direction: var(--fa-animation-direction, normal);
  animation-duration: var(--fa-animation-duration, 1s);
  animation-iteration-count: var(--fa-animation-iteration-count, infinite);
  animation-timing-function: var(--fa-animation-timing, ease-in-out);
}

.fa-shake {
  animation-name: fa-shake;
  animation-delay: var(--fa-animation-delay, 0s);
  animation-direction: var(--fa-animation-direction, normal);
  animation-duration: var(--fa-animation-duration, 1s);
  animation-iteration-count: var(--fa-animation-iteration-count, infinite);
  animation-timing-function: var(--fa-animation-timing, linear);
}

.fa-spin {
  animation-name: fa-spin;
  animation-delay: var(--fa-animation-delay, 0s);
  animation-direction: var(--fa-animation-direction, normal);
  animation-duration: var(--fa-animation-duration, 2s);
  animation-iteration-count: var(--fa-animation-iteration-count, infinite);
  animation-timing-function: var(--fa-animation-timing, linear);
}

.fa-spin-reverse {
  --fa-animation-direction: reverse;
}

.fa-pulse,
.fa-spin-pulse {
  animation-name: fa-spin;
  animation-direction: var(--fa-animation-direction, normal);
  animation-duration: var(--fa-animation-duration, 1s);
  animation-iteration-count: var(--fa-animation-iteration-count, infinite);
  animation-timing-function: var(--fa-animation-timing, steps(8));
}

@media (prefers-reduced-motion: reduce) {

  .fa-beat,
  .fa-bounce,
  .fa-fade,
  .fa-beat-fade,
  .fa-flip,
  .fa-pulse,
  .fa-shake,
  .fa-spin,
  .fa-spin-pulse {
    animation: none !important;
    transition: none !important;
  }
}

@keyframes fa-beat {

  0%,
  90% {
    transform: scale(1);
  }

  45% {
    transform: scale(var(--fa-beat-scale, 1.25));
  }
}

@keyframes fa-bounce {
  0% {
    transform: scale(1, 1) translateY(0);
  }

  10% {
    transform: scale(var(--fa-bounce-start-scale-x, 1.1), var(--fa-bounce-start-scale-y, 0.9)) translateY(0);
  }

  30% {
    transform: scale(var(--fa-bounce-jump-scale-x, 0.9), var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -0.5em));
  }

  50% {
    transform: scale(var(--fa-bounce-land-scale-x, 1.05), var(--fa-bounce-land-scale-y, 0.95)) translateY(0);
  }

  57% {
    transform: scale(1, 1) translateY(var(--fa-bounce-rebound, -0.125em));
  }

  64% {
    transform: scale(1, 1) translateY(0);
  }

  100% {
    transform: scale(1, 1) translateY(0);
  }
}

@keyframes fa-fade {
  50% {
    opacity: var(--fa-fade-opacity, 0.4);
  }
}

@keyframes fa-beat-fade {

  0%,
  100% {
    opacity: var(--fa-beat-fade-opacity, 0.4);
    transform: scale(1);
  }

  50% {
    opacity: 1;
    transform: scale(var(--fa-beat-fade-scale, 1.125));
  }
}

@keyframes fa-flip {
  50% {
    transform: rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), var(--fa-flip-angle, -180deg));
  }
}

@keyframes fa-shake {
  0% {
    transform: rotate(-15deg);
  }

  4% {
    transform: rotate(15deg);
  }

  8%,
  24% {
    transform: rotate(-18deg);
  }

  12%,
  28% {
    transform: rotate(18deg);
  }

  16% {
    transform: rotate(-22deg);
  }

  20% {
    transform: rotate(22deg);
  }

  32% {
    transform: rotate(-12deg);
  }

  36% {
    transform: rotate(12deg);
  }

  40%,
  100% {
    transform: rotate(0deg);
  }
}

@keyframes fa-spin {
  0% {
    transform: rotate(0deg);
  }

  100% {
    transform: rotate(360deg);
  }
}

.fa-rotate-90 {
  transform: rotate(90deg);
}

.fa-rotate-180 {
  transform: rotate(180deg);
}

.fa-rotate-270 {
  transform: rotate(270deg);
}

.fa-flip-horizontal {
  transform: scale(-1, 1);
}

.fa-flip-vertical {
  transform: scale(1, -1);
}

.fa-flip-both,
.fa-flip-horizontal.fa-flip-vertical {
  transform: scale(-1, -1);
}

.fa-rotate-by {
  transform: rotate(var(--fa-rotate-angle, 0));
}

.fa-stack {
  display: inline-block;
  height: 2em;
  line-height: 2em;
  position: relative;
  vertical-align: middle;
  width: 2.5em;
}

.fa-stack-1x,
.fa-stack-2x {
  --fa-width: 100%;
  inset: 0;
  position: absolute;
  text-align: center;
  width: var(--fa-width);
  z-index: var(--fa-stack-z-index, auto);
}

.fa-stack-1x {
  line-height: inherit;
}

.fa-stack-2x {
  font-size: 2em;
}

.fa-inverse {
  color: var(--fa-inverse, #fff);
}

/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen
   readers do not read off random characters that represent icons */
.fa-sensor {
  --fa: "\e028";
}

.fa-grid-2 {
  --fa: "\e196";
}

.fa-messages-question {
  --fa: "\e1e7";
}

.fa-magnifying-glass {
  --fa: "\f002";
}

.fa-xmark {
  --fa: "\f00d";
}

.fa-times {
  --fa: "\f00d";
}

.fa-download {
  --fa: "\f019";
}

.fa-chevron-right {
  --fa: "\f054";
}

.fa-circle-xmark {
  --fa: "\f057";
}

.fa-circle-check {
  --fa: "\f058";
}

.fa-arrow-right {
  --fa: "\f061";
}

.fa-gears {
  --fa: "\f085";
}

.fa-upload {
  --fa: "\f093";
}

.fa-phone {
  --fa: "\f095";
}

.fa-envelope {
  --fa: "\f0e0";
}

.fa-angle-left {
  --fa: "\f104";
}

.fa-angle-right {
  --fa: "\f105";
}

.fa-angle-down {
  --fa: "\f107";
}

.fa-file-pdf {
  --fa: "\f1c1";
}

.fa-share-nodes {
  --fa: "\f1e0";
}

.fa-phone-volume {
  --fa: "\f2a0";
}

.fa-microchip {
  --fa: "\f2db";
}

.fa-location-dot {
  --fa: "\f3c5";
}

.fa-map-marker-alt {
  --fa: "\f3c5";
}

.fa-file-arrow-down {
  --fa: "\f56d";
}

.fa-map-location {
  --fa: "\f59f";
}

.fa-gauge-high {
  --fa: "\f625";
}

.fa-envelopes-bulk {
  --fa: "\f674";
}

/* Chat assistant (§24). Only the class-to-codepoint map above is subsetted —
   fa-solid-900.woff2 is the full Pro font, so these glyphs are already in it.
   Re-add this block if the icon CSS is ever re-exported. */
.fa-arrow-rotate-right {
  --fa: "\f01e";
}

.fa-paper-plane {
  --fa: "\f1d8";
}

.fa-comment-dots {
  --fa: "\f4ad";
}

:root {
  --fa-family-brands: 'Font Awesome 7 Brands';
  --fa-font-brands: normal 400 1em/1 var(--fa-family-brands);
}

@font-face {
  font-family: "Font Awesome 7 Brands";
  font-style: normal;
  font-weight: 400;
  font-display: block;
  src: url("../webfonts/fa-brands-400.woff2");
}

.fab,
.fa-brands,
.fa-classic.fa-brands {
  --fa-family: var(--fa-family-brands);
  --fa-style: 400;
}

.fa-linkedin {
  --fa: "\f08c";
}

.fa-twitter {
  --fa: "\f099";
}

.fa-facebook {
  --fa: "\f09a";
}

.fa-linkedin-in {
  --fa: "\f0e1";
}

.fa-whatsapp {
  --fa: "\f232";
}

.fa-facebook-f {
  --fa: "\f39e";
}

:root {
  --fa-family-duotone: 'Font Awesome 7 Duotone';
  --fa-font-duotone: normal 900 1em/1 var(--fa-family-duotone);
  /* deprecated: this older custom property will be removed next major release */
  --fa-style-family-duotone: var(--fa-family-duotone);
}

@font-face {
  font-family: "Font Awesome 7 Duotone";
  font-style: normal;
  font-weight: 900;
  font-display: block;
  src: url("../webfonts/fa-duotone-900.woff2");
}

.fad,
.fa-duotone {
  --fa-family: var(--fa-family-duotone);
  --fa-style: 900;
  position: relative;
  letter-spacing: normal;
}

.fad::before,
.fa-duotone::before {
  position: absolute;
  color: var(--fa-primary-color, currentColor);
  opacity: var(--fa-primary-opacity, 1);
}

.fad::after,
.fa-duotone::after {
  color: var(--fa-secondary-color, currentColor);
  opacity: var(--fa-secondary-opacity, 0.4);
}

.fad.fa-li,
.fa-duotone.fa-li,
.fad.fa-stack-1x,
.fa-duotone.fa-stack-1x,
.fad.fa-stack-2x,
.fa-duotone.fa-stack-2x {
  position: absolute;
}

:root {
  --fa-family-classic: 'Font Awesome 7 Pro';
  --fa-font-light: normal 300 1em/1 var(--fa-family-classic);
  /* deprecated: this older custom property will be removed next major release */
  --fa-style-family-classic: var(--fa-family-classic);
}

@font-face {
  font-family: "Font Awesome 7 Pro";
  font-style: normal;
  font-weight: 300;
  font-display: block;
  src: url("../webfonts/fa-light-300.woff2");
}

.fal {
  --fa-family: var(--fa-family-classic);
  --fa-style: 300;
}

.fa-light {
  --fa-style: 300;
}

:root {
  --fa-family-classic: 'Font Awesome 7 Pro';
  --fa-font-regular: normal 400 1em/1 var(--fa-family-classic);
  /* deprecated: this older custom property will be removed next major release */
  --fa-style-family-classic: var(--fa-family-classic);
}

@font-face {
  font-family: "Font Awesome 7 Pro";
  font-style: normal;
  font-weight: 400;
  font-display: block;
  src: url("../webfonts/fa-regular-400.woff2");
}

.far {
  --fa-family: var(--fa-family-classic);
  --fa-style: 400;
}

.fa-regular {
  --fa-style: 400;
}

:root {
  --fa-family-classic: 'Font Awesome 7 Pro';
  --fa-font-solid: normal 900 1em/1 var(--fa-family-classic);
  /* deprecated: this older custom property will be removed next major release */
  --fa-style-family-classic: var(--fa-family-classic);
}

@font-face {
  font-family: "Font Awesome 7 Pro";
  font-style: normal;
  font-weight: 900;
  font-display: block;
  src: url("../webfonts/fa-solid-900.woff2");
}

.fas {
  --fa-family: var(--fa-family-classic);
  --fa-style: 900;
}

.fa-solid {
  --fa-style: 900;
}

:root {
  --fa-family-classic: 'Font Awesome 7 Pro';
  --fa-font-thin: normal 100 1em/1 var(--fa-family-classic);
  /* deprecated: this older custom property will be removed next major release */
  --fa-style-family-classic: var(--fa-family-classic);
}

@font-face {
  font-family: "Font Awesome 7 Pro";
  font-style: normal;
  font-weight: 100;
  font-display: block;
  src: url("../webfonts/fa-thin-100.woff2");
}

.fat {
  --fa-family: var(--fa-family-classic);
  --fa-style: 100;
}

.fa-classic {
  --fa-family: var(--fa-family-classic);
}

.fa-thin {
  --fa-style: 100;
}

@font-face {
  font-family: "Font Awesome 5 Brands";
  font-display: block;
  font-weight: 400;
  src: url("../webfonts/fa-brands-400.woff2") format("woff2");
}

@font-face {
  font-family: "Font Awesome 5 Pro";
  font-display: block;
  font-weight: 900;
  src: url("../webfonts/fa-solid-900.woff2") format("woff2");
}

@font-face {
  font-family: "Font Awesome 5 Pro";
  font-display: block;
  font-weight: 400;
  src: url("../webfonts/fa-regular-400.woff2") format("woff2");
}

@font-face {
  font-family: "Font Awesome 5 Pro";
  font-display: block;
  font-weight: 300;
  src: url("../webfonts/fa-light-300.woff2") format("woff2");
}

@font-face {
  font-family: "Font Awesome 5 Duotone";
  font-display: block;
  font-weight: 900;
  src: url("../webfonts/fa-duotone-900.woff2") format("woff2");
}

@font-face {
  font-family: "FontAwesome";
  font-display: block;
  src: url("../webfonts/fa-solid-900.woff2") format("woff2");
}

@font-face {
  font-family: "FontAwesome";
  font-display: block;
  src: url("../webfonts/fa-brands-400.woff2") format("woff2");
}

@font-face {
  font-family: "FontAwesome";
  font-display: block;
  src: url("../webfonts/fa-regular-400.woff2") format("woff2");
  unicode-range: U+F003, U+F006, U+F014, U+F016-F017, U+F01A-F01B, U+F01D, U+F022, U+F03E, U+F044, U+F046, U+F05C-F05D, U+F06E, U+F070, U+F087-F088, U+F08A, U+F094, U+F096-F097, U+F09D, U+F0A0, U+F0A2, U+F0A4-F0A7, U+F0C5, U+F0C7, U+F0E5-F0E6, U+F0EB, U+F0F6-F0F8, U+F10C, U+F114-F115, U+F118-F11A, U+F11C-F11D, U+F133, U+F147, U+F14E, U+F150-F152, U+F185-F186, U+F18E, U+F190-F192, U+F196, U+F1C1-F1C9, U+F1D9, U+F1DB, U+F1E3, U+F1EA, U+F1F7, U+F1F9, U+F20A, U+F247-F248, U+F24A, U+F24D, U+F255-F25B, U+F25D, U+F271-F274, U+F278, U+F27B, U+F28C, U+F28E, U+F29C, U+F2B5, U+F2B7, U+F2BA, U+F2BC, U+F2BE, U+F2C0-F2C1, U+F2C3, U+F2D0, U+F2D2, U+F2D4, U+F2DC;
}

@font-face {
  font-family: "FontAwesome";
  font-display: block;
  src: url("../webfonts/fa-v4compatibility.woff2") format("woff2");
  unicode-range: U+F041, U+F047, U+F065-F066, U+F07D-F07E, U+F080, U+F08B, U+F08E, U+F090, U+F09A, U+F0AC, U+F0AE, U+F0B2, U+F0D0, U+F0D6, U+F0E4, U+F0EC, U+F10A-F10B, U+F123, U+F13E, U+F148-F149, U+F14C, U+F156, U+F15E, U+F160-F161, U+F163, U+F175-F178, U+F195, U+F1F8, U+F219, U+F27A;
}


/* 12. SWIPER 11 (VENDOR) ======================================================================== */
/**
 * Swiper 11.2.10
 * Most modern mobile touch slider and framework with hardware accelerated transitions
 * https://swiperjs.com
 *
 * Copyright 2014-2025 Vladimir Kharlampidi
 *
 * Released under the MIT License
 *
 * Released on: June 28, 2025
 */
@font-face {
  font-family: swiper-icons;
  src: url('data:application/font-woff;charset=utf-8;base64, d09GRgABAAAAAAZgABAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAGRAAAABoAAAAci6qHkUdERUYAAAWgAAAAIwAAACQAYABXR1BPUwAABhQAAAAuAAAANuAY7+xHU1VCAAAFxAAAAFAAAABm2fPczU9TLzIAAAHcAAAASgAAAGBP9V5RY21hcAAAAkQAAACIAAABYt6F0cBjdnQgAAACzAAAAAQAAAAEABEBRGdhc3AAAAWYAAAACAAAAAj//wADZ2x5ZgAAAywAAADMAAAD2MHtryVoZWFkAAABbAAAADAAAAA2E2+eoWhoZWEAAAGcAAAAHwAAACQC9gDzaG10eAAAAigAAAAZAAAArgJkABFsb2NhAAAC0AAAAFoAAABaFQAUGG1heHAAAAG8AAAAHwAAACAAcABAbmFtZQAAA/gAAAE5AAACXvFdBwlwb3N0AAAFNAAAAGIAAACE5s74hXjaY2BkYGAAYpf5Hu/j+W2+MnAzMYDAzaX6QjD6/4//Bxj5GA8AuRwMYGkAPywL13jaY2BkYGA88P8Agx4j+/8fQDYfA1AEBWgDAIB2BOoAeNpjYGRgYNBh4GdgYgABEMnIABJzYNADCQAACWgAsQB42mNgYfzCOIGBlYGB0YcxjYGBwR1Kf2WQZGhhYGBiYGVmgAFGBiQQkOaawtDAoMBQxXjg/wEGPcYDDA4wNUA2CCgwsAAAO4EL6gAAeNpj2M0gyAACqxgGNWBkZ2D4/wMA+xkDdgAAAHjaY2BgYGaAYBkGRgYQiAHyGMF8FgYHIM3DwMHABGQrMOgyWDLEM1T9/w8UBfEMgLzE////P/5//f/V/xv+r4eaAAeMbAxwIUYmIMHEgKYAYjUcsDAwsLKxc3BycfPw8jEQA/gZBASFhEVExcQlJKWkZWTl5BUUlZRVVNXUNTQZBgMAAMR+E+gAEQFEAAAAKgAqACoANAA+AEgAUgBcAGYAcAB6AIQAjgCYAKIArAC2AMAAygDUAN4A6ADyAPwBBgEQARoBJAEuATgBQgFMAVYBYAFqAXQBfgGIAZIBnAGmAbIBzgHsAAB42u2NMQ6CUAyGW568x9AneYYgm4MJbhKFaExIOAVX8ApewSt4Bic4AfeAid3VOBixDxfPYEza5O+Xfi04YADggiUIULCuEJK8VhO4bSvpdnktHI5QCYtdi2sl8ZnXaHlqUrNKzdKcT8cjlq+rwZSvIVczNiezsfnP/uznmfPFBNODM2K7MTQ45YEAZqGP81AmGGcF3iPqOop0r1SPTaTbVkfUe4HXj97wYE+yNwWYxwWu4v1ugWHgo3S1XdZEVqWM7ET0cfnLGxWfkgR42o2PvWrDMBSFj/IHLaF0zKjRgdiVMwScNRAoWUoH78Y2icB/yIY09An6AH2Bdu/UB+yxopYshQiEvnvu0dURgDt8QeC8PDw7Fpji3fEA4z/PEJ6YOB5hKh4dj3EvXhxPqH/SKUY3rJ7srZ4FZnh1PMAtPhwP6fl2PMJMPDgeQ4rY8YT6Gzao0eAEA409DuggmTnFnOcSCiEiLMgxCiTI6Cq5DZUd3Qmp10vO0LaLTd2cjN4fOumlc7lUYbSQcZFkutRG7g6JKZKy0RmdLY680CDnEJ+UMkpFFe1RN7nxdVpXrC4aTtnaurOnYercZg2YVmLN/d/gczfEimrE/fs/bOuq29Zmn8tloORaXgZgGa78yO9/cnXm2BpaGvq25Dv9S4E9+5SIc9PqupJKhYFSSl47+Qcr1mYNAAAAeNptw0cKwkAAAMDZJA8Q7OUJvkLsPfZ6zFVERPy8qHh2YER+3i/BP83vIBLLySsoKimrqKqpa2hp6+jq6RsYGhmbmJqZSy0sraxtbO3sHRydnEMU4uR6yx7JJXveP7WrDycAAAAAAAH//wACeNpjYGRgYOABYhkgZgJCZgZNBkYGLQZtIJsFLMYAAAw3ALgAeNolizEKgDAQBCchRbC2sFER0YD6qVQiBCv/H9ezGI6Z5XBAw8CBK/m5iQQVauVbXLnOrMZv2oLdKFa8Pjuru2hJzGabmOSLzNMzvutpB3N42mNgZGBg4GKQYzBhYMxJLMlj4GBgAYow/P/PAJJhLM6sSoWKfWCAAwDAjgbRAAB42mNgYGBkAIIbCZo5IPrmUn0hGA0AO8EFTQAA');
  font-weight: 400;
  font-style: normal;
}

:root {
  --swiper-theme-color: var(--rb-blue);
}

:host {
  position: relative;
  display: block;
  margin-left: auto;
  margin-right: auto;
  z-index: 1;
}

.swiper {
  margin-left: auto;
  margin-right: auto;
  position: relative;
  overflow: hidden;
  list-style: none;
  padding: 0;
  z-index: 1;
  display: block;
}

.swiper-vertical>.swiper-wrapper {
  flex-direction: column;
}

.swiper-wrapper {
  position: relative;
  width: 100%;
  height: 100%;
  z-index: 1;
  display: flex;
  transition-property: transform;
  transition-timing-function: var(--swiper-wrapper-transition-timing-function, initial);
  box-sizing: content-box;
}

.swiper-android .swiper-slide,
.swiper-ios .swiper-slide,
.swiper-wrapper {
  transform: translate3d(0px, 0, 0);
}

.swiper-horizontal {
  touch-action: pan-y;
}

.swiper-vertical {
  touch-action: pan-x;
}

.swiper-slide {
  flex-shrink: 0;
  width: 100%;
  height: 100%;
  position: relative;
  transition-property: transform;
  display: block;
}

.swiper-slide-invisible-blank {
  visibility: hidden;
}

.swiper-autoheight,
.swiper-autoheight .swiper-slide {
  height: auto;
}

.swiper-autoheight .swiper-wrapper {
  align-items: flex-start;
  transition-property: transform, height;
}

.swiper-backface-hidden .swiper-slide {
  transform: translateZ(0);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

.swiper-3d.swiper-css-mode .swiper-wrapper {
  perspective: 1200px;
}

.swiper-3d .swiper-wrapper {
  transform-style: preserve-3d;
}

.swiper-3d {
  perspective: 1200px;
}

.swiper-3d .swiper-cube-shadow,
.swiper-3d .swiper-slide {
  transform-style: preserve-3d;
}

.swiper-css-mode>.swiper-wrapper {
  overflow: auto;
  scrollbar-width: none;
  -ms-overflow-style: none;
}

.swiper-css-mode>.swiper-wrapper::-webkit-scrollbar {
  display: none;
}

.swiper-css-mode>.swiper-wrapper>.swiper-slide {
  scroll-snap-align: start start;
}

.swiper-css-mode.swiper-horizontal>.swiper-wrapper {
  scroll-snap-type: x mandatory;
}

.swiper-css-mode.swiper-vertical>.swiper-wrapper {
  scroll-snap-type: y mandatory;
}

.swiper-css-mode.swiper-free-mode>.swiper-wrapper {
  scroll-snap-type: none;
}

.swiper-css-mode.swiper-free-mode>.swiper-wrapper>.swiper-slide {
  scroll-snap-align: none;
}

.swiper-css-mode.swiper-centered>.swiper-wrapper::before {
  content: '';
  flex-shrink: 0;
  order: 9999;
}

.swiper-css-mode.swiper-centered>.swiper-wrapper>.swiper-slide {
  scroll-snap-align: center center;
  scroll-snap-stop: always;
}

.swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper>.swiper-slide:first-child {
  margin-inline-start: var(--swiper-centered-offset-before);
}

.swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper::before {
  height: 100%;
  min-height: 1px;
  width: var(--swiper-centered-offset-after);
}

.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper>.swiper-slide:first-child {
  margin-block-start: var(--swiper-centered-offset-before);
}

.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper::before {
  width: 100%;
  min-width: 1px;
  height: var(--swiper-centered-offset-after);
}

.swiper-3d .swiper-slide-shadow,
.swiper-3d .swiper-slide-shadow-bottom,
.swiper-3d .swiper-slide-shadow-left,
.swiper-3d .swiper-slide-shadow-right,
.swiper-3d .swiper-slide-shadow-top {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 10;
}

.swiper-3d .swiper-slide-shadow {
  background: rgba(0, 0, 0, .15);
}

.swiper-3d .swiper-slide-shadow-left {
  background-image: linear-gradient(to left, rgba(0, 0, 0, .5), rgba(0, 0, 0, 0));
}

.swiper-3d .swiper-slide-shadow-right {
  background-image: linear-gradient(to right, rgba(0, 0, 0, .5), rgba(0, 0, 0, 0));
}

.swiper-3d .swiper-slide-shadow-top {
  background-image: linear-gradient(to top, rgba(0, 0, 0, .5), rgba(0, 0, 0, 0));
}

.swiper-3d .swiper-slide-shadow-bottom {
  background-image: linear-gradient(to bottom, rgba(0, 0, 0, .5), rgba(0, 0, 0, 0));
}

.swiper-lazy-preloader {
  width: 42px;
  height: 42px;
  position: absolute;
  left: 50%;
  top: 50%;
  margin-left: -21px;
  margin-top: -21px;
  z-index: 10;
  transform-origin: 50%;
  box-sizing: border-box;
  border: 4px solid var(--swiper-preloader-color, var(--swiper-theme-color));
  border-radius: 50%;
  border-top-color: transparent;
}

.swiper-watch-progress .swiper-slide-visible .swiper-lazy-preloader,
.swiper:not(.swiper-watch-progress) .swiper-lazy-preloader {
  animation: swiper-preloader-spin 1s infinite linear;
}

.swiper-lazy-preloader-white {
  --swiper-preloader-color: #fff;
}

.swiper-lazy-preloader-black {
  --swiper-preloader-color: #000;
}

@keyframes swiper-preloader-spin {
  0% {
    transform: rotate(0deg);
  }

  100% {
    transform: rotate(360deg);
  }
}

.swiper-virtual .swiper-slide {
  -webkit-backface-visibility: hidden;
  transform: translateZ(0);
}

.swiper-virtual.swiper-css-mode .swiper-wrapper::after {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  pointer-events: none;
}

.swiper-virtual.swiper-css-mode.swiper-horizontal .swiper-wrapper::after {
  height: 1px;
  width: var(--swiper-virtual-size);
}

.swiper-virtual.swiper-css-mode.swiper-vertical .swiper-wrapper::after {
  width: 1px;
  height: var(--swiper-virtual-size);
}

:root {
  --swiper-navigation-size: 44px;
}

.swiper-button-next,
.swiper-button-prev {
  position: absolute;
  top: var(--swiper-navigation-top-offset, 50%);
  width: calc(var(--swiper-navigation-size)/ 44 * 27);
  height: var(--swiper-navigation-size);
  margin-top: calc(0px - (var(--swiper-navigation-size)/ 2));
  z-index: 10;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--swiper-navigation-color, var(--swiper-theme-color));
}

.swiper-button-next.swiper-button-disabled,
.swiper-button-prev.swiper-button-disabled {
  opacity: .35;
  cursor: auto;
  pointer-events: none;
}

.swiper-button-next.swiper-button-hidden,
.swiper-button-prev.swiper-button-hidden {
  opacity: 0;
  cursor: auto;
  pointer-events: none;
}

.swiper-navigation-disabled .swiper-button-next,
.swiper-navigation-disabled .swiper-button-prev {
  display: none !important;
}

.swiper-button-next svg,
.swiper-button-prev svg {
  width: 100%;
  height: 100%;
  object-fit: contain;
  transform-origin: center;
}

.swiper-rtl .swiper-button-next svg,
.swiper-rtl .swiper-button-prev svg {
  transform: rotate(180deg);
}

.swiper-button-prev,
.swiper-rtl .swiper-button-next {
  left: var(--swiper-navigation-sides-offset, 10px);
  right: auto;
}

.swiper-button-lock {
  display: none;
}

.swiper-button-next:after,
.swiper-button-prev:after {
  font-family: swiper-icons;
  font-size: var(--swiper-navigation-size);
  text-transform: none !important;
  letter-spacing: 0;
  font-variant: initial;
  line-height: 1;
}

.swiper-button-prev:after,
.swiper-rtl .swiper-button-next:after {
  content: 'prev';
}

.swiper-button-next,
.swiper-rtl .swiper-button-prev {
  right: var(--swiper-navigation-sides-offset, 10px);
  left: auto;
}

.swiper-button-next:after,
.swiper-rtl .swiper-button-prev:after {
  content: 'next';
}

.swiper-pagination {
  position: absolute;
  text-align: center;
  transition: .3s opacity;
  transform: translate3d(0, 0, 0);
  z-index: 10;
}

.swiper-pagination.swiper-pagination-hidden {
  opacity: 0;
}

.swiper-pagination-disabled>.swiper-pagination,
.swiper-pagination.swiper-pagination-disabled {
  display: none !important;
}

.swiper-horizontal>.swiper-pagination-bullets,
.swiper-pagination-bullets.swiper-pagination-horizontal,
.swiper-pagination-custom,
.swiper-pagination-fraction {
  bottom: var(--swiper-pagination-bottom, 8px);
  top: var(--swiper-pagination-top, auto);
  left: 0;
  width: 100%;
}

.swiper-pagination-bullets-dynamic {
  overflow: hidden;
  font-size: 0;
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  transform: scale(.33);
  position: relative;
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active {
  transform: scale(1);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main {
  transform: scale(1);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev {
  transform: scale(.66);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev {
  transform: scale(.33);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next {
  transform: scale(.66);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next {
  transform: scale(.33);
}

.swiper-pagination-bullet {
  width: var(--swiper-pagination-bullet-width, var(--swiper-pagination-bullet-size, 8px));
  height: var(--swiper-pagination-bullet-height, var(--swiper-pagination-bullet-size, 8px));
  display: inline-block;
  border-radius: var(--swiper-pagination-bullet-border-radius, 50%);
  background: var(--swiper-pagination-bullet-inactive-color, #000);
  opacity: var(--swiper-pagination-bullet-inactive-opacity, .2);
}

button.swiper-pagination-bullet {
  border: none;
  margin: 0;
  padding: 0;
  box-shadow: none;
  -webkit-appearance: none;
  appearance: none;
}

.swiper-pagination-clickable .swiper-pagination-bullet {
  cursor: pointer;
}

.swiper-pagination-bullet:only-child {
  display: none !important;
}

.swiper-pagination-bullet-active {
  opacity: var(--swiper-pagination-bullet-opacity, 1);
  background: var(--swiper-pagination-color, var(--swiper-theme-color));
}

.swiper-pagination-vertical.swiper-pagination-bullets,
.swiper-vertical>.swiper-pagination-bullets {
  right: var(--swiper-pagination-right, 8px);
  left: var(--swiper-pagination-left, auto);
  top: 50%;
  transform: translate3d(0px, -50%, 0);
}

.swiper-pagination-vertical.swiper-pagination-bullets .swiper-pagination-bullet,
.swiper-vertical>.swiper-pagination-bullets .swiper-pagination-bullet {
  margin: var(--swiper-pagination-bullet-vertical-gap, 6px) 0;
  display: block;
}

.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,
.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
  top: 50%;
  transform: translateY(-50%);
  width: 8px;
}

.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,
.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  display: inline-block;
  transition: .2s transform, .2s top;
}

.swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet,
.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
  margin: 0 var(--swiper-pagination-bullet-horizontal-gap, 4px);
}

.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,
.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
  left: 50%;
  transform: translateX(-50%);
  white-space: nowrap;
}

.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,
.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  transition: .2s transform, .2s left;
}

.swiper-horizontal.swiper-rtl>.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  transition: .2s transform, .2s right;
}

.swiper-pagination-fraction {
  color: var(--swiper-pagination-fraction-color, inherit);
}

.swiper-pagination-progressbar {
  background: var(--swiper-pagination-progressbar-bg-color, rgba(0, 0, 0, .25));
  position: absolute;
}

.swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
  background: var(--swiper-pagination-color, var(--swiper-theme-color));
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  transform: scale(0);
  transform-origin: left top;
}

.swiper-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
  transform-origin: right top;
}

.swiper-horizontal>.swiper-pagination-progressbar,
.swiper-pagination-progressbar.swiper-pagination-horizontal,
.swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite,
.swiper-vertical>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite {
  width: 100%;
  height: var(--swiper-pagination-progressbar-size, 4px);
  left: 0;
  top: 0;
}

.swiper-horizontal>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,
.swiper-pagination-progressbar.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite,
.swiper-pagination-progressbar.swiper-pagination-vertical,
.swiper-vertical>.swiper-pagination-progressbar {
  width: var(--swiper-pagination-progressbar-size, 4px);
  height: 100%;
  left: 0;
  top: 0;
}

.swiper-pagination-lock {
  display: none;
}

.swiper-scrollbar {
  border-radius: var(--swiper-scrollbar-border-radius, 10px);
  position: relative;
  touch-action: none;
  background: var(--swiper-scrollbar-bg-color, rgba(0, 0, 0, .1));
}

.swiper-scrollbar-disabled>.swiper-scrollbar,
.swiper-scrollbar.swiper-scrollbar-disabled {
  display: none !important;
}

.swiper-horizontal>.swiper-scrollbar,
.swiper-scrollbar.swiper-scrollbar-horizontal {
  position: absolute;
  left: var(--swiper-scrollbar-sides-offset, 1%);
  bottom: var(--swiper-scrollbar-bottom, 4px);
  top: var(--swiper-scrollbar-top, auto);
  z-index: 50;
  height: var(--swiper-scrollbar-size, 4px);
  width: calc(100% - 2 * var(--swiper-scrollbar-sides-offset, 1%));
}

.swiper-scrollbar.swiper-scrollbar-vertical,
.swiper-vertical>.swiper-scrollbar {
  position: absolute;
  left: var(--swiper-scrollbar-left, auto);
  right: var(--swiper-scrollbar-right, 4px);
  top: var(--swiper-scrollbar-sides-offset, 1%);
  z-index: 50;
  width: var(--swiper-scrollbar-size, 4px);
  height: calc(100% - 2 * var(--swiper-scrollbar-sides-offset, 1%));
}

.swiper-scrollbar-drag {
  height: 100%;
  width: 100%;
  position: relative;
  background: var(--swiper-scrollbar-drag-bg-color, rgba(0, 0, 0, .5));
  border-radius: var(--swiper-scrollbar-border-radius, 10px);
  left: 0;
  top: 0;
}

.swiper-scrollbar-cursor-drag {
  cursor: move;
}

.swiper-scrollbar-lock {
  display: none;
}

.swiper-zoom-container {
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
}

.swiper-zoom-container>canvas,
.swiper-zoom-container>img,
.swiper-zoom-container>svg {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}

.swiper-slide-zoomed {
  cursor: move;
  touch-action: none;
}

.swiper .swiper-notification {
  position: absolute;
  left: 0;
  top: 0;
  pointer-events: none;
  opacity: 0;
  z-index: -1000;
}

.swiper-free-mode>.swiper-wrapper {
  transition-timing-function: ease-out;
  margin: 0 auto;
}

.swiper-grid>.swiper-wrapper {
  flex-wrap: wrap;
}

.swiper-grid-column>.swiper-wrapper {
  flex-wrap: wrap;
  flex-direction: column;
}

.swiper-fade.swiper-free-mode .swiper-slide {
  transition-timing-function: ease-out;
}

.swiper-fade .swiper-slide {
  pointer-events: none;
  transition-property: opacity;
}

.swiper-fade .swiper-slide .swiper-slide {
  pointer-events: none;
}

.swiper-fade .swiper-slide-active {
  pointer-events: auto;
}

.swiper-fade .swiper-slide-active .swiper-slide-active {
  pointer-events: auto;
}

.swiper.swiper-cube {
  overflow: visible;
}

.swiper-cube .swiper-slide {
  pointer-events: none;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  z-index: 1;
  visibility: hidden;
  transform-origin: 0 0;
  width: 100%;
  height: 100%;
}

.swiper-cube .swiper-slide .swiper-slide {
  pointer-events: none;
}

.swiper-cube.swiper-rtl .swiper-slide {
  transform-origin: 100% 0;
}

.swiper-cube .swiper-slide-active,
.swiper-cube .swiper-slide-active .swiper-slide-active {
  pointer-events: auto;
}

.swiper-cube .swiper-slide-active,
.swiper-cube .swiper-slide-next,
.swiper-cube .swiper-slide-prev {
  pointer-events: auto;
  visibility: visible;
}

.swiper-cube .swiper-cube-shadow {
  position: absolute;
  left: 0;
  bottom: 0px;
  width: 100%;
  height: 100%;
  opacity: .6;
  z-index: 0;
}

.swiper-cube .swiper-cube-shadow:before {
  content: '';
  background: #000;
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  right: 0;
  filter: blur(50px);
}

.swiper-cube .swiper-slide-next+.swiper-slide {
  pointer-events: auto;
  visibility: visible;
}

.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-bottom,
.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-left,
.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-right,
.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-top {
  z-index: 0;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

.swiper.swiper-flip {
  overflow: visible;
}

.swiper-flip .swiper-slide {
  pointer-events: none;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  z-index: 1;
}

.swiper-flip .swiper-slide .swiper-slide {
  pointer-events: none;
}

.swiper-flip .swiper-slide-active,
.swiper-flip .swiper-slide-active .swiper-slide-active {
  pointer-events: auto;
}

.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-bottom,
.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-left,
.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-right,
.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-top {
  z-index: 0;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

.swiper-creative .swiper-slide {
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  overflow: hidden;
  transition-property: transform, opacity, height;
}

.swiper.swiper-cards {
  overflow: visible;
}

.swiper-cards .swiper-slide {
  transform-origin: center bottom;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  overflow: hidden;
}


/* 13. MEGA MENU + MOBILE DRAWER ================================================================= */
/* Product megamenu (component/header.php).
   Loads after custom.css + responsive.css. Selectors carry the
   ".header-navigation .main-menu .rb-mega" prefix so they beat the generic
   ".header-navigation .main-menu ul li .sub-menu li a" rules in custom.css. */
.rb-mega {
  --rbm-blue: var(--rb-blue);
  --rbm-blue-deep: var(--rb-blue-dark);
  --rbm-green: var(--rb-green);
  --rbm-ink: var(--rb-ink);
  --rbm-text: var(--rb-text);
  --rbm-muted: var(--rb-muted);
  --rbm-line: var(--rb-line);
  --rbm-tint: var(--rb-tint);
  --rbm-tint-2: var(--rb-tint-2);
  --rbm-max-h: calc(100vh - 110px);
}

/* ---------- Shell: open / close ---------- */
/* Wider than the header container and centred on it, so long product names wrap less */
.header-navigation .main-menu ul li .sub-menu.rb-mega {
  top: 100%;
  left: 50%;
  width: min(1320px, calc(100vw - 48px));
  padding: 0;
  border: 0;
  border-radius: var(--rb-radius);
  background: #fff;
  box-shadow: 0 30px 60px -20px rgba(var(--rb-blue-dark-rgb), .30), 0 12px 24px -14px rgba(var(--rb-blue-dark-rgb), .14);
  text-align: left;
  transform: translate(-50%, 8px);
  transition: opacity .2s ease, transform .2s ease, visibility .2s;
}

/* Hover bridge across the gap between the nav link and the panel */
.header-navigation .main-menu ul li .sub-menu.rb-mega::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 100%;
  height: 20px;
}

/* Brand accent line - drawn inside .rb-mega__inner, not on the panel itself. The panel cannot
   clip it (overflow:hidden there would eat the ::before hover bridge above the panel), so a bar
   sitting on the panel ran straight past the rounded top-right corner. __inner already clips to
   the same radius, so in there the line follows the curve. */

.header-navigation .main-menu ul li:hover>.sub-menu.rb-mega {
  top: 100%;
  opacity: 1;
  visibility: visible;
  transform: translate(-50%, 0);
}

/* Keyboard open (kept separate: an unsupported :has() must not drop the hover rule) */
.header-navigation .main-menu ul li:has(:focus-visible)>.sub-menu.rb-mega {
  top: 100%;
  opacity: 1;
  visibility: visible;
  transform: translate(-50%, 0);
}

.header-navigation .main-menu ul li.rb-mega-dismissed>.sub-menu.rb-mega {
  opacity: 0;
  visibility: hidden;
  transform: translate(-50%, 8px);
}

/* Rail and panels cap their own height (not the grid) so each scrolls independently */
.header-navigation .main-menu .rb-mega .rb-mega__inner {
  position: relative;
  display: grid;
  grid-template-columns: 280px minmax(0, 1fr);
  border-radius: var(--rb-radius);
  overflow: hidden;
}

.header-navigation .main-menu .rb-mega .rb-mega__inner::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: 3;
  height: 3px;
  background: linear-gradient(90deg, var(--rbm-blue), var(--rbm-green));
  pointer-events: none;
}

.header-navigation .main-menu .rb-mega p {
  margin: 0;
}

/* ---------- Category rail ---------- */
.header-navigation .main-menu .rb-mega .rb-mega__rail {
  display: flex;
  flex-direction: column;
  max-height: var(--rbm-max-h);
  padding: 22px 16px 16px;
  background: var(--rbm-tint);
  border-right: 1px solid var(--rbm-line);
  overflow-y: auto;
}

.header-navigation .main-menu .rb-mega .rb-mega__eyebrow {
  padding: 0 12px 10px;
  font-size: 11px;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--rbm-muted);
}

.header-navigation .main-menu .rb-mega .rb-mega__tabs {
  display: flex;
  flex-direction: column;
  gap: 4px;
  margin-bottom: 20px;
}

.header-navigation .main-menu .rb-mega .rb-mega__tab {
  display: grid;
  grid-template-columns: 40px minmax(0, 1fr) 12px;
  align-items: center;
  gap: 12px;
  width: 100%;
  margin: 0;
  padding: 11px 12px;
  border: 1px solid transparent;
  border-radius: var(--rb-radius);
  background: transparent;
  box-shadow: none;
  color: var(--rbm-ink);
  font: inherit;
  text-align: left;
  text-transform: none;
  cursor: pointer;
  transition: background-color .18s ease, border-color .18s ease, box-shadow .18s ease;
}

.header-navigation .main-menu .rb-mega .rb-mega__tab:hover {
  background: rgba(255, 255, 255, .75);
}

.header-navigation .main-menu .rb-mega .rb-mega__tab.is-active {
  background: #fff;
  border-color: var(--rbm-line);
  box-shadow: 0 8px 20px -12px rgba(var(--rb-blue-rgb), .40);
}

.header-navigation .main-menu .rb-mega .rb-mega__tab:focus-visible {
  outline: 2px solid var(--rbm-blue);
  outline-offset: 2px;
}

.header-navigation .main-menu .rb-mega .rb-mega__tab-icon {
  display: grid;
  place-items: center;
  width: 40px;
  height: 40px;
  border-radius: var(--rb-radius);
  background: var(--rbm-tint-2);
  color: var(--rbm-blue);
  font-size: 18px;
  transition: background-color .18s ease, color .18s ease;
}

.header-navigation .main-menu .rb-mega .rb-mega__tab.is-active .rb-mega__tab-icon {
  background: var(--rbm-blue);
  color: #fff;
}

.header-navigation .main-menu .rb-mega .rb-mega__tab-text {
  display: flex;
  flex-direction: column;
  gap: 3px;
  min-width: 0;
}

.header-navigation .main-menu .rb-mega .rb-mega__tab-text strong {
  font-size: 15px;
  font-weight: 700;
  line-height: 1.25;
  color: inherit;
  transition: color .18s ease;
}

.header-navigation .main-menu .rb-mega .rb-mega__tab.is-active .rb-mega__tab-text strong {
  color: var(--rbm-blue);
}

.header-navigation .main-menu .rb-mega .rb-mega__tab-text small {
  font-size: 12.5px;
  font-weight: 400;
  line-height: 1.35;
  color: var(--rbm-muted);
}

.header-navigation .main-menu .rb-mega .rb-mega__tab-arrow {
  font-size: 12px;
  color: var(--rbm-blue);
  opacity: 0;
  transform: translateX(-4px);
  transition: opacity .18s ease, transform .18s ease;
}

.header-navigation .main-menu .rb-mega .rb-mega__tab.is-active .rb-mega__tab-arrow {
  opacity: 1;
  transform: none;
}

/* Rail entry that is also a link to its own page */
.header-navigation .main-menu .rb-mega .rb-mega__tab--link {
  text-decoration: none;
}

/* Panel intro line */
.header-navigation .main-menu .rb-mega .rb-mega__lead {
  max-width: 62ch;
  margin: 0 0 20px;
  font-size: 13.5px;
  line-height: 1.6;
  color: var(--rbm-muted);
}

/* Help box */
.header-navigation .main-menu .rb-mega .rb-mega__help {
  margin-top: auto;
  padding: 16px;
  border: 1px solid var(--rbm-line);
  border-radius: var(--rb-radius);
  background: #fff;
}

.header-navigation .main-menu .rb-mega .rb-mega__help p {
  margin-bottom: 8px;
  font-size: 13px;
  line-height: 1.45;
  color: var(--rbm-text);
}

.header-navigation .main-menu .rb-mega .rb-mega__help a {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 0;
  border: 0;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.3;
  color: var(--rbm-blue);
  text-transform: none;
  transition: color .15s ease;
}

.header-navigation .main-menu .rb-mega .rb-mega__help a i {
  font-size: 12px;
  transition: transform .18s ease;
}

.header-navigation .main-menu .rb-mega .rb-mega__help a:hover {
  color: var(--rbm-green);
}

.header-navigation .main-menu .rb-mega .rb-mega__help a:hover .fa-arrow-right {
  transform: translateX(3px);
}

.header-navigation .main-menu .rb-mega .rb-mega__help .rb-mega__phone {
  display: flex;
  margin-top: 8px;
  font-size: 13px;
  font-weight: 600;
  color: var(--rbm-muted);
}

/* ---------- Panels ---------- */
.header-navigation .main-menu .rb-mega .rb-mega__panels {
  max-height: var(--rbm-max-h);
  padding: 26px 36px 28px;
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-width: thin;
}

.header-navigation .main-menu .rb-mega .rb-mega__panel {
  display: none;
}

.header-navigation .main-menu .rb-mega .rb-mega__panel.is-active {
  display: block;
  animation: rbMegaPanelIn .24s ease both;
}

@keyframes rbMegaPanelIn {
  from {
    opacity: 0;
    transform: translateY(6px);
  }

  to {
    opacity: 1;
    transform: none;
  }
}

.header-navigation .main-menu .rb-mega .rb-mega__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 24px;
  padding-bottom: 14px;
  border-bottom: 1px solid var(--rbm-line);
}

.header-navigation .main-menu .rb-mega .rb-mega__title {
  font-size: 19px;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: -.01em;
  color: var(--rbm-ink);
}

.header-navigation .main-menu .rb-mega .rb-mega__all {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 0;
  border: 0;
  font-size: 13.5px;
  font-weight: 600;
  line-height: 1.2;
  color: var(--rbm-blue);
  text-transform: none;
  white-space: nowrap;
  transition: color .15s ease;
}

.header-navigation .main-menu .rb-mega .rb-mega__all i {
  font-size: 12px;
  transition: transform .18s ease;
}

.header-navigation .main-menu .rb-mega .rb-mega__all:hover {
  color: var(--rbm-green);
}

.header-navigation .main-menu .rb-mega .rb-mega__all:hover i {
  transform: translateX(3px);
}

/* Link columns: each group stays whole inside its column */
.header-navigation .main-menu .rb-mega .rb-mega__cols {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: start;
  gap: 0 44px;
}

.header-navigation .main-menu .rb-mega .rb-mega__group+.rb-mega__group {
  margin-top: 28px;
}

.header-navigation .main-menu .rb-mega .rb-mega__group-title {
  display: block;
  margin-bottom: 6px;
  padding: 0 0 9px;
  border: 0;
  border-bottom: 1px solid var(--rbm-line);
  font-size: 11.5px;
  font-weight: 800;
  line-height: 1.3;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--rbm-blue-deep);
  transition: color .15s ease, border-color .15s ease;
}

.header-navigation .main-menu .rb-mega .rb-mega__group-title:hover {
  border-bottom-color: var(--rbm-blue);
  color: var(--rbm-blue);
}

.header-navigation .main-menu .rb-mega .rb-mega__links {
  margin: 0;
  padding: 0;
  list-style: none;
}

.header-navigation .main-menu .rb-mega .rb-mega__links li {
  display: block;
  margin: 0;
  padding: 0;
}

/* Row: name on the left, model code pinned right so it never wraps onto its own line */
.header-navigation .main-menu .rb-mega .rb-mega__links a {
  display: flex;
  align-items: baseline;
  justify-content: flex-start;
  gap: 12px;
  margin: 0;
  padding: 5px 0;
  border: 0;
  border-radius: 0;
  background: none;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.35;
  color: var(--rbm-text);
  text-transform: none;
  transition: color .15s ease;
}

.header-navigation .main-menu .rb-mega .rb-mega__links a:hover,
.header-navigation .main-menu .rb-mega .rb-mega__links a:focus-visible {
  background: none;
  color: var(--rbm-blue);
}

/* No pseudo-element: it would become an extra flex item and shift the row */
.header-navigation .main-menu .rb-mega .rb-mega__links a::before {
  content: none;
}

.header-navigation .main-menu .rb-mega .rb-mega__code {
  flex: none;
  margin-left: auto;
  padding: 1px 7px;
  border-radius: var(--rb-radius);
  background: var(--rbm-tint-2);
  font-size: 10.5px;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: .03em;
  color: var(--rbm-muted);
  white-space: nowrap;
  transition: color .15s ease, background-color .15s ease;
}

.header-navigation .main-menu .rb-mega .rb-mega__links a:hover .rb-mega__code {
  background: rgba(var(--rb-blue-rgb), .1);
  color: var(--rbm-blue);
}

/* Text panel (Customized Solutions): prose + one call to action, no card grid */
.header-navigation .main-menu .rb-mega .rb-mega__prose {
  max-width: 68ch;
  margin: 0 0 22px;
  font-size: 14px;
  line-height: 1.7;
  color: var(--rbm-text);
}

.header-navigation .main-menu .rb-mega .rb-mega__cta {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin: 0;
  padding: 13px 22px;
  border: 0;
  border-radius: var(--rb-radius);
  background: var(--rbm-blue);
  font-size: 13.5px;
  font-weight: 600;
  line-height: 1.2;
  color: #fff;
  text-transform: none;
  transition: background .15s ease;
}

.header-navigation .main-menu .rb-mega .rb-mega__cta i {
  font-size: 12px;
  transition: transform .18s ease;
}

.header-navigation .main-menu .rb-mega .rb-mega__cta:hover {
  background: var(--rbm-green);
  color: #fff;
}

.header-navigation .main-menu .rb-mega .rb-mega__cta:hover i {
  transform: translateX(3px);
}

/* Cards (Object Detection) */
.header-navigation .main-menu .rb-mega .rb-mega__cards {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.header-navigation .main-menu .rb-mega .rb-mega__cards li {
  display: block;
  margin: 0;
}

/* .rb-mega__cards prefix outranks ".sub-menu li:last-child>a { border-bottom: none }" */
.header-navigation .main-menu .rb-mega .rb-mega__cards .rb-mega__card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-height: 72px;
  margin: 0;
  padding: 16px 18px;
  border: 1px solid var(--rbm-line);
  border-radius: var(--rb-radius);
  background: #fff;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.3;
  color: var(--rbm-ink);
  text-transform: none;
  transition: border-color .18s ease, background-color .18s ease, box-shadow .18s ease, color .18s ease;
}

.header-navigation .main-menu .rb-mega .rb-mega__card i {
  flex: none;
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: var(--rbm-tint-2);
  font-size: 12px;
  color: var(--rbm-blue);
  transition: background-color .18s ease, color .18s ease, transform .18s ease;
}

.header-navigation .main-menu .rb-mega .rb-mega__card:hover,
.header-navigation .main-menu .rb-mega .rb-mega__card:focus-visible {
  border-color: rgba(var(--rb-blue-rgb), .35);
  background: var(--rbm-tint);
  box-shadow: 0 10px 22px -16px rgba(var(--rb-blue-rgb), .50);
  color: var(--rbm-blue);
}

.header-navigation .main-menu .rb-mega .rb-mega__card:hover i,
.header-navigation .main-menu .rb-mega .rb-mega__card:focus-visible i {
  background: var(--rbm-blue);
  color: #fff;
  transform: translateX(2px);
}

/* ---------- 992px - 1199px ---------- */
@media (max-width: 1199px) {
  .header-navigation .main-menu ul li .sub-menu.rb-mega {
    width: calc(100vw - 32px);
  }

  .header-navigation .main-menu .rb-mega .rb-mega__inner {
    grid-template-columns: 236px minmax(0, 1fr);
  }

  .header-navigation .main-menu .rb-mega .rb-mega__panels {
    padding: 22px 24px 26px;
  }

  .header-navigation .main-menu .rb-mega .rb-mega__cols {
    column-gap: 24px;
  }

  .header-navigation .main-menu .rb-mega .rb-mega__tab-text small {
    display: none;
  }

  .header-navigation .main-menu .rb-mega .rb-mega__links a {
    font-size: 13.5px;
  }

  .header-navigation .main-menu .rb-mega .rb-mega__cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (prefers-reduced-motion: reduce) {

  .header-navigation .main-menu ul li .sub-menu.rb-mega,
  .header-navigation .main-menu .rb-mega *,
  .header-navigation .main-menu .rb-mega *::before {
    transition: none !important;
    animation: none !important;
  }
}

/* =====================================================================
   Mobile drawer (component/header.php, below 992px)
   ===================================================================== */
.rb-drawer-toggle {
  margin: 0;
  padding: 10px 0;
  border: 0;
  background: none;
  color: var(--rb-blue-dark);
  cursor: pointer;
}

.rb-drawer-toggle:focus-visible {
  outline: 2px solid var(--rb-blue);
  outline-offset: 4px;
  border-radius: var(--rb-radius);
}

html.rb-drawer-lock,
html.rb-drawer-lock body {
  overflow: hidden;
}

.rb-drawer {
  --rbd-blue: var(--rb-blue);
  --rbd-blue-dark: var(--rb-blue-dark);
  --rbd-green: var(--rb-green);
  --rbd-ink: var(--rb-blue-dark);
  --rbd-text: var(--rb-text);
  --rbd-muted: var(--rb-muted);
  --rbd-line: var(--rb-line);
  --rbd-tint: var(--rb-tint);
  --rbd-active: var(--rb-tint-2);
  position: fixed;
  inset: 0;
  z-index: 10050;
  visibility: hidden;
  transition: visibility 0s linear .32s;
}

.rb-drawer.is-open {
  visibility: visible;
  transition-delay: 0s;
}

.rb-drawer__overlay {
  position: absolute;
  inset: 0;
  background: rgba(var(--rb-blue-dark-rgb), .55);
  opacity: 0;
  transition: opacity .32s ease;
}

.rb-drawer.is-open .rb-drawer__overlay {
  opacity: 1;
}

.rb-drawer .rb-drawer__panel {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  display: flex;
  flex-direction: column;
  width: min(88vw, 380px);
  background: #fff;
  box-shadow: -18px 0 40px -12px rgba(var(--rb-blue-dark-rgb), .35);
  transform: translateX(100%);
  transition: transform .32s cubic-bezier(.32, .72, 0, 1);
}

.rb-drawer.is-open .rb-drawer__panel {
  transform: none;
}

/* Head */
.rb-drawer .rb-drawer__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 12px 16px 12px 20px;
}

.rb-drawer .rb-drawer__logo img {
  display: block;
  width: auto;
  height: 48px;
}

.rb-drawer .rb-drawer__close {
  display: grid;
  place-items: center;
  flex: none;
  width: 44px;
  height: 44px;
  margin: 0;
  padding: 0;
  border: 2px solid var(--rbd-green);
  border-radius: 10px;
  background: #fff;
  color: var(--rbd-ink);
  font-size: 20px;
  cursor: pointer;
  transition: background-color .15s ease, color .15s ease;
}

.rb-drawer .rb-drawer__close:hover {
  background: var(--rbd-green);
  color: #fff;
}

.rb-drawer .rb-drawer__close:focus-visible {
  outline: 2px solid var(--rbd-blue);
  outline-offset: 2px;
}

/* Tabs */
.rb-drawer .rb-drawer__tabs {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  background: var(--rbd-tint);
  border-top: 1px solid var(--rbd-line);
  border-bottom: 1px solid var(--rbd-line);
}

.rb-drawer .rb-drawer__tab {
  position: relative;
  margin: 0;
  padding: 16px 6px;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--rbd-muted);
  font: inherit;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: .08em;
  text-transform: uppercase;
  cursor: pointer;
  transition: color .15s ease, background-color .15s ease;
}

.rb-drawer .rb-drawer__tab.is-active {
  background: #fff;
  color: var(--rbd-blue);
}

.rb-drawer .rb-drawer__tab.is-active::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -1px;
  height: 2px;
  background: var(--rbd-blue);
}

.rb-drawer .rb-drawer__tab:focus-visible {
  outline: 2px solid var(--rbd-blue);
  outline-offset: -2px;
}

.rb-drawer .rb-drawer__body {
  flex: 1;
  min-height: 0;
  overflow-y: auto;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
}

/* Menu list */
.rb-drawer .rb-drawer__list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.rb-drawer .rb-drawer__list li {
  margin: 0;
  border-bottom: 1px solid var(--rbd-line);
}

.rb-drawer .rb-drawer__list a {
  display: block;
  padding: 15px 20px 15px 17px;
  border-left: 3px solid transparent;
  color: var(--rbd-ink);
  font-size: 16px;
  font-weight: 600;
  line-height: 1.3;
  text-decoration: none;
  transition: background-color .15s ease, color .15s ease;
}

.rb-drawer .rb-drawer__list a:hover {
  background: var(--rbd-tint);
  color: var(--rbd-blue);
}

.rb-drawer .rb-drawer__list a.is-current {
  background: var(--rbd-active);
  border-left-color: var(--rbd-blue);
  color: var(--rbd-blue);
}

/* Products accordion (built by JS from the desktop megamenu) */
.rb-drawer .rb-drawer__acc {
  border-bottom: 1px solid var(--rbd-line);
}

.rb-drawer .rb-drawer__acc-btn {
  display: flex;
  align-items: center;
  gap: 12px;
  width: 100%;
  margin: 0;
  padding: 13px 20px;
  border: 0;
  background: none;
  color: var(--rbd-ink);
  font: inherit;
  font-size: 16px;
  font-weight: 600;
  line-height: 1.3;
  text-align: left;
  cursor: pointer;
}

.rb-drawer .rb-drawer__acc-icon {
  display: grid;
  place-items: center;
  flex: none;
  width: 36px;
  height: 36px;
  border-radius: var(--rb-radius);
  background: var(--rbd-tint);
  color: var(--rbd-blue);
  font-size: 16px;
  transition: background-color .15s ease, color .15s ease;
}

.rb-drawer .rb-drawer__acc-label {
  flex: 1;
}

.rb-drawer .rb-drawer__acc-chev {
  font-size: 13px;
  color: var(--rbd-muted);
  transition: transform .2s ease;
}

.rb-drawer .rb-drawer__acc-btn[aria-expanded="true"] {
  color: var(--rbd-blue);
}

.rb-drawer .rb-drawer__acc-btn[aria-expanded="true"] .rb-drawer__acc-icon {
  background: var(--rbd-blue);
  color: #fff;
}

.rb-drawer .rb-drawer__acc-btn[aria-expanded="true"] .rb-drawer__acc-chev {
  transform: rotate(180deg);
}

.rb-drawer .rb-drawer__acc-btn:focus-visible {
  outline: 2px solid var(--rbd-blue);
  outline-offset: -2px;
}

.rb-drawer .rb-drawer__acc-body {
  padding: 2px 20px 16px 68px;
}

.rb-drawer .rb-drawer__group+.rb-drawer__group {
  margin-top: 14px;
}

.rb-drawer .rb-drawer__group-title {
  display: block;
  margin-bottom: 2px;
  padding: 4px 0;
  color: var(--rbd-blue);
  font-size: 12px;
  font-weight: 800;
  line-height: 1.3;
  letter-spacing: .08em;
  text-transform: uppercase;
  text-decoration: none;
}

.rb-drawer .rb-drawer__sublist {
  margin: 0;
  padding: 0;
  list-style: none;
}

.rb-drawer .rb-drawer__sublist li {
  margin: 0;
}

.rb-drawer .rb-drawer__sublist a {
  display: block;
  padding: 7px 0;
  color: var(--rbd-text);
  font-size: 15px;
  font-weight: 400;
  line-height: 1.35;
  text-decoration: none;
}

.rb-drawer .rb-drawer__sublist a:hover,
.rb-drawer .rb-drawer__sublist a.is-current {
  color: var(--rbd-blue);
}

.rb-drawer .rb-drawer__sublist a.is-current {
  font-weight: 700;
}

.rb-drawer .rb-mega__code {
  display: inline-block;
  margin-left: 4px;
  padding: 0 6px;
  border-radius: var(--rb-radius);
  background: var(--rbd-tint);
  color: var(--rbd-muted);
  font-size: 11px;
  font-weight: 600;
  line-height: 1.6;
  white-space: nowrap;
  vertical-align: 1px;
}

.rb-drawer .rb-drawer__all {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin: 16px 20px 20px;
  padding: 14px 16px;
  border-radius: var(--rb-radius);
  background: var(--rbd-tint);
  color: var(--rbd-blue);
  font-size: 15px;
  font-weight: 700;
  text-decoration: none;
}

/* Contact */
.rb-drawer .rb-drawer__contact {
  margin: 0;
  padding: 4px 0 0;
  list-style: none;
}

.rb-drawer .rb-drawer__contact li {
  margin: 0;
  border-bottom: 1px solid var(--rbd-line);
}

.rb-drawer .rb-drawer__contact a,
.rb-drawer .rb-drawer__contact .rb-drawer__ci-row {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 14px 20px;
  color: var(--rbd-ink);
  font-size: 15px;
  font-weight: 600;
  line-height: 1.4;
  text-decoration: none;
}

.rb-drawer .rb-drawer__contact a:hover {
  background: var(--rbd-tint);
  color: var(--rbd-blue);
}

.rb-drawer .rb-drawer__ci {
  display: grid;
  place-items: center;
  flex: none;
  width: 40px;
  height: 40px;
  border-radius: var(--rb-radius);
  background: var(--rbd-tint);
  color: var(--rbd-blue);
  font-size: 17px;
}

.rb-drawer .rb-drawer__ci--wa {
  background: color-mix(in srgb, var(--rb-green) 8%, #fff);
  color: var(--rbd-green);
  font-size: 19px;
}

.rb-drawer .rb-drawer__contact small {
  display: block;
  margin-bottom: 2px;
  color: var(--rbd-muted);
  font-size: 11.5px;
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.rb-drawer .rb-drawer__contact .rb-drawer__addr {
  color: var(--rbd-text);
  font-size: 14px;
  font-weight: 500;
}

.rb-drawer .rb-drawer__cta {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  margin: 20px;
  padding: 15px 18px;
  border-radius: var(--rb-radius);
  background: var(--rbd-blue);
  color: #fff;
  font-size: 15px;
  font-weight: 700;
  text-decoration: none;
  transition: background-color .15s ease;
}

.rb-drawer .rb-drawer__cta:hover {
  background: var(--rbd-blue-dark);
  color: #fff;
}

@media (prefers-reduced-motion: reduce) {

  .rb-drawer,
  .rb-drawer * {
    transition: none !important;
  }
}



/* 14. SEARCHABLE PRODUCT PICKER =============================================================== */
/* Replaces the Product Name field in component/inquiry-form.php on the pages that do not name a
   product (city, state, industry, brand, guide). Everything around it is styled by the
   #support-form-section / .diagram-section rules above. */

/* it sits next to the category select, so it carries the same drawn arrow */
#support-form-section .cp-combo__input {
  padding-right: 42px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 6l4 4 4-4' fill='none' stroke='%235c6b74' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 15px center;
  background-size: 14px;
  cursor: pointer;
}

#support-form-section .cp-combo__input:disabled {
  color: #8a97a0;
  cursor: not-allowed;
}




.cp-combo {
  position: relative;
}




.cp-combo__list {
  position: absolute;
  left: 0;
  right: 0;
  top: calc(100% + 4px);
  z-index: 30;
  max-height: 290px;
  overflow-y: auto;
  padding: 6px 0;
  background: #fff;
  border: 1px solid var(--cp-line);
  border-radius: var(--rb-radius);
  box-shadow: 0 14px 30px rgba(var(--rb-blue-rgb), .16);
  text-align: left;
}

.cp-combo__group {
  padding: 10px 14px 4px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--cp-muted);
}

.cp-combo__opt {
  padding: 8px 14px 8px 22px;
  font-size: 15px;
  line-height: 1.35;
  color: #333;
  cursor: pointer;
}

.cp-combo__opt:hover,
.cp-combo__opt.is-active {
  background: var(--cp-soft);
  color: var(--cp-blue);
}

.cp-combo__empty {
  padding: 10px 14px;
  font-size: 14px;
  color: var(--cp-muted);
}





/* 15. APPLICATIONS PAGE TABS ==================================================================== */
.application-section {
  background-image: url("../img/applications/main.webp");
  color: #fff;
  background-size: cover;
  background-position: top center;
  padding: 10px;
}

.main-application-parent {
  background-color: #000000b0;
}

.main-application {
  display: flex;
  width: 100%;
  justify-content: flex-start;
  list-style: none;
  margin: 0;
  padding: 0;
  overflow: auto;
  align-items: center;
  background-color: #0000007d;
}

/* width */
.main-application::-webkit-scrollbar {
  height: 5px !important;
}

/* Track */
.main-application::-webkit-scrollbar-track {
  background: transparent;
}

/* Handle */
.main-application::-webkit-scrollbar-thumb {
  background: var(--blue);
}

/* Handle on hover */
.main-application::-webkit-scrollbar-thumb:hover {
  background: var(--green);
}

.main-application li {
  display: flex;
  flex: 0 0 auto;
  min-width: 156px;
  border: 1px solid #333;
}

.main-application-tab {
  cursor: pointer;
  flex: 1;
  padding: 16px 12px;
  text-shadow: 0 0 0.5px currentColor;
  letter-spacing: 1px;
  transition: 0.2s;
  font-size: 16px;
  color: #ffff;
  text-align: center;
  display: flex;
  flex-direction: column;
  gap: 10px;
  align-items: center;
  justify-content: center;
  height: 120px;
}

/* the industry icons are black or dark-grey line art on transparent, so they are
   forced to white to read on the dark tab strip (same files the homepage uses) */
.main-application__icon {
  width: 34px;
  height: 34px;
  object-fit: contain;
  filter: brightness(0) invert(1);
  opacity: .8;
  transition: opacity .2s ease, transform .2s ease;
}

.main-application-tab:hover .main-application__icon {
  opacity: 1;
  transform: translateY(-2px);
}

.main-application .ui-tabs-active .main-application__icon {
  opacity: 1;
}

.main-application__label {
  display: block;
  line-height: 1.3;
}

.main-application .ui-tabs-active {
  background-color: var(--blue) !important;
  border-bottom: 3px solid #eee;
}

/* Height follows the content: industries with 1-3 machines stay short instead of being
   padded out to a full screen. */
.main-application-inner {
  padding: 40px;
}

/* The products under a machine are links to their own pages, so they read as chips that fill
   the column rather than a single tall column of plain text. */
.inner-content ul {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.inner-content ul li {
  line-height: normal;
  position: relative;
  padding-left: 0;
  text-transform: uppercase;
}

/* the chip carries its own arrow; the old fontAwesome bullet would sit on top of it */
.inner-content ul li::before {
  content: none;
}

.inner-content ul li a {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 9px 16px;
  border: 1px solid rgba(255, 255, 255, .24);
  border-radius: var(--rb-radius);
  background: rgba(255, 255, 255, .07);
  color: #fff;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: .04em;
  line-height: 1.2;
  transition: background-color .2s ease, border-color .2s ease, transform .2s ease;
}

.inner-content ul li a::after {
  content: "\2192";
  font-size: 13px;
  opacity: .5;
  transition: opacity .2s ease, transform .2s ease;
}

.inner-content ul li a:hover {
  transform: translateY(-1px);
  border-color: var(--rb-blue-light);
  background: var(--rb-blue);
  color: #fff;
}

.inner-content ul li a:hover::after {
  opacity: 1;
  transform: translateX(2px);
}

.appplication-inner h3 {
  color: #fff;
  text-align: center;
  margin-bottom: 20px;
}

/* short brand rule under the industry title */
.appplication-inner h3::after {
  content: "";
  display: block;
  width: 64px;
  height: 3px;
  margin: 14px auto 0;
  border-radius: 3px;
  background: linear-gradient(90deg, var(--rb-blue-light), var(--rb-green-light));
}

/* the machine name sits above its chips, so it needs a little air and a divider */
.inner-content .application-sub-heading {
  margin-bottom: 22px;
  padding-top: 26px;
  padding-bottom: 16px;
  border-bottom: 1px solid rgba(255, 255, 255, .14);
}

/* one line about the machine, between its name and the product chips */
.inner-content .app-machine-intro {
  max-width: 62ch;
  margin: -6px 0 20px;
  font-size: 15px;
  line-height: 1.65;
  color: rgba(255, 255, 255, .76);
}

.inner-tabs ul {
  list-style: none;
}

.inner-tabs ul li {
  border-bottom: 1px solid rgba(255, 255, 255, .14);
  transition: all ease 0.3s;
}

.inner-tabs ul li:last-child {
  border-bottom: 0;
}

.inner-tabs ul li a {
  position: relative;
  display: block;
  padding: 15px 34px 15px 25px;
  color: #fff;
  transition: background-color .2s ease, color .2s ease;
}

/* chevron on the row you are pointing at, so the list reads as choosable */
.inner-tabs ul li a::after {
  content: "\203a";
  position: absolute;
  top: 50%;
  right: 18px;
  transform: translateY(-52%);
  font-size: 19px;
  line-height: 1;
  opacity: 0;
  transition: opacity .2s ease, right .2s ease;
}

.inner-tabs ul li:not(.ui-tabs-active) a:hover {
  background: rgba(255, 255, 255, .09);
  border-radius: var(--rb-radius);
}

.inner-tabs ul li a:hover::after {
  opacity: .6;
  right: 14px;
}

.inner-tabs ul .ui-tabs-active a::after {
  opacity: .75;
}

.inner-tabs ul .ui-tabs-active {
  background-color: #eee;
  border-radius: var(--rb-radius);
}

.inner-tabs ul .ui-tabs-active a {
  color: var(--blue);
  font-weight: 600;
}

.inner-tabs ul li:first-child {
  border-radius: var(--rb-radius);
}

.inner-tabs ul li:last-child {
  border-radius: var(--rb-radius);
}


/* ---- Applications page copy: intro, per-industry line, why block, CTA (application.php) ---- */
.app-intro {
  padding: 70px 0 60px;
}

.app-intro p {
  font-size: 16px;
  line-height: 1.8;
  color: #4b5563;
  margin-bottom: 16px;
}

.app-intro p a {
  color: var(--rb-blue);
  font-weight: 600;
}

.app-intro p a:hover {
  color: var(--rb-blue-light);
  text-decoration: underline;
}

.app-stats {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
  margin-top: 40px;
}

.app-stat {
  padding: 22px 20px;
  border: 1px solid rgba(var(--rb-blue-rgb), .14);
  border-radius: var(--rb-radius);
  background: #fff;
  text-align: center;
}

.app-stat strong {
  display: block;
  font-size: 32px;
  line-height: 1.1;
  color: var(--rb-blue);
}

.app-stat span {
  display: block;
  margin-top: 6px;
  font-size: 13px;
  line-height: 1.45;
  color: #6b7280;
}

/* the one-liner under each industry title, inside the dark panel */
/* This is a flex child of .appplication-inner (a Bootstrap .row), so the reading width is set
   with padding, NOT max-width: a max-width here sizes the flex ITEM, which lets the col-lg-4
   machine list slot in beside it and pushes the col-lg-8 panel onto the next row. */
.app-ind-intro {

  flex: 0 0 100%;
  width: 100%;
  max-width: 100%;
  margin: -6px 0 46px;
  padding: 0 20%;
  text-align: center;
  font-size: 15px;
  line-height: 1.7;
  color: rgba(255, 255, 255, .82);
}

@media (max-width: 1199px) {
  .app-ind-intro {
    padding: 0 10%;
  }
}

@media (max-width: 767px) {
  .app-ind-intro {
    padding: 0;
  }
}

/* the industry title is a flex item of .appplication-inner (a .row), so it is pinned to the
   full width rather than shrinking to its text */
.appplication-inner>h3 {
  flex: 0 0 100%;
}

/* the exact-match keyword link out to each industry landing page */
.app-ind-intro a {
  color: #fff;
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.app-ind-intro a:hover {
  color: color-mix(in srgb, var(--rb-green-light) 55%, #fff);
}

/* the 30-40 word line under each machine heading, above its product chips */
.app-mach-intro {
  max-width: 760px;
  margin: 0 0 26px;
  font-size: 14.5px;
  line-height: 1.75;
  margin-bottom: 20px !important;
  color: rgba(255, 255, 255, .8);
}

/* keep the products column clear of the machine list beside it */
@media (min-width: 992px) {
  .inner-content {
    padding-left: 34px;
  }
}

.app-why {
  padding: 70px 0;
}

.app-why__card {
  height: 100%;
  padding: 26px 24px;
  border: 1px solid rgba(var(--rb-blue-rgb), .14);
  border-radius: var(--rb-radius);
  background: #fff;
  transition: box-shadow .25s ease, transform .25s ease;
}

.app-why__card:hover {
  transform: translateY(-3px);
  box-shadow: 0 14px 30px rgba(var(--rb-blue-rgb), .12);
}

.app-why__card strong {
  display: block;
  margin-bottom: 10px;
  font-size: 17px;
  line-height: 1.35;
  color: var(--rb-blue);
}

.app-why__card span {
  display: block;
  font-size: 14.5px;
  line-height: 1.6;
  color: #4b5563;
}

.app-cta {
  margin-top: 40px;
  padding: 30px;
  border-radius: var(--rb-radius);
  background: linear-gradient(100deg, var(--rb-blue-dark) 0%, var(--rb-blue) 100%);
  text-align: center;
}

.app-cta p {
  max-width: 720px;
  margin: 0 auto 20px;
  font-size: 16px;
  line-height: 1.7;
  color: rgba(255, 255, 255, .92);
}

.app-cta__btns {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  justify-content: center;
}

@media (max-width: 767px) {
  .app-intro {
    padding: 46px 0 40px;
  }

  .app-stats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin-top: 30px;
  }

  .app-stat {
    padding: 18px 14px;
  }

  .app-stat strong {
    font-size: 26px;
  }

  .app-why {
    padding: 46px 0 10px;
  }

  .app-cta {
    padding: 24px 18px;
  }

  .app-cta__btns .btn {
    width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .app-why__card {
    transition: none;
  }

  .app-why__card:hover {
    transform: none;
  }
}


/* 16. SITE LOADER (COMPONENT/SITE-LOADER.PHP) =================================================== */
.rb-loader {
  position: fixed;
  inset: 0;
  z-index: 100000;
  display: flex;
  align-items: center;
  justify-content: center;
  background: radial-gradient(circle at 50% 46%, rgba(var(--rb-blue-rgb), .14) 0, rgba(var(--rb-blue-rgb), 0) 42%),
    linear-gradient(120deg, color-mix(in srgb, var(--rb-blue) 8%, #fff) 0%, color-mix(in srgb, var(--rb-blue) 4%, #fff) 48%, color-mix(in srgb, var(--rb-blue) 10%, #fff) 100%);
  contain: strict;
  transition: opacity .35s ease, visibility .35s ease;
}

.rb-loader.is-hidden {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

.rb-loader__stage {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 200px;
  height: 200px;
  contain: layout paint;
}

.rb-loader__layer {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  overflow: visible;
}

.rb-loader__ticks line {
  stroke: rgba(var(--rb-blue-rgb), .22);
  stroke-width: 3;
  stroke-linecap: round;
}

.rb-loader__track {
  fill: none;
  stroke: rgba(var(--rb-blue-rgb), .1);
}

.rb-loader__disc {
  fill: #fff;
}

.rb-loader__tick {
  stroke: var(--rb-green);
  stroke-width: 4;
  stroke-linecap: round;
}

.rb-loader__arc {
  fill: none;
  stroke-linecap: round;
}

/* dash + gap = circumference (2 * PI * r) */
.rb-loader__arc--outer {
  stroke: var(--rb-blue);
  stroke-width: 5;
  stroke-dasharray: 150 353;
}

.rb-loader__arc--inner {
  stroke: var(--rb-green);
  stroke-width: 4;
  stroke-dasharray: 90 325;
}

/* moving parts: own compositor layers, transform-only animations */
.rb-loader__step,
.rb-loader__outer,
.rb-loader__inner,
.rb-loader__logo {
  will-change: transform;
}

/* green tick jumps one position at a time, like a stepper motor */
.rb-loader__step {
  animation: rbLoaderSpin 2.4s steps(24) infinite;
}

.rb-loader__outer {
  animation: rbLoaderSpin 1.4s linear infinite;
}

.rb-loader__inner {
  animation: rbLoaderSpin 1.1s linear infinite reverse;
}

.rb-loader__logo {
  position: relative;
  width: 96px;
  height: auto;
  animation: rbLoaderPulse 1.6s ease-in-out infinite;
}

.rb-loader__text {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}

@keyframes rbLoaderSpin {
  to {
    transform: rotate(360deg);
  }
}

@keyframes rbLoaderPulse {

  0%,
  100% {
    transform: scale(1);
  }

  50% {
    transform: scale(.94);
  }
}

@media (prefers-reduced-motion: reduce) {

  .rb-loader__step,
  .rb-loader__outer,
  .rb-loader__inner,
  .rb-loader__logo {
    animation: none;
  }

  .rb-loader {
    transition-duration: .01s;
  }
}



/* 17. TABLE OF CONTENTS (COMPONENT/TOC.PHP) ===================================================== */
.toc-wrapper {
  background: #fff;
  border: 1px solid var(--rb-line);
  border-radius: var(--rb-radius);
  box-shadow: 0 10px 30px rgba(var(--rb-blue-dark-rgb), .06);
  overflow: hidden;
  width: 100%;
  max-width: 380px;
  max-height: calc(100vh - 150px);
  display: flex;
  flex-direction: column;
  position: sticky;
  top: 130px;
}

.toc-title {
  background: var(--rb-blue);
  color: #fff;
  margin: 0;
  padding: 16px 22px;
  border-radius: 0;
  font-size: 18px;
  font-weight: 700;
  letter-spacing: .01em;
  flex-shrink: 0;
}

#toc-list {
  list-style: none;
  margin: 0;
  padding: 8px 0;
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-width: thin;
  scrollbar-color: var(--rb-line) transparent;
}

.toc-item {
  position: relative;
  padding: 10px 20px 10px 22px;
  border-left: 3px solid transparent;
  color: var(--rb-text);
  font-size: 14px;
  font-weight: 500;
  line-height: 1.45;
  cursor: pointer;
  transition: background-color .2s ease, color .2s ease, border-color .2s ease;
}

.toc-item + .toc-item {
  border-top: 1px solid var(--rb-tint);
}

.toc-item:hover {
  background: var(--rb-tint);
  color: var(--rb-blue);
}

.toc-item:focus-visible {
  outline: 2px solid var(--rb-blue-light);
  outline-offset: -2px;
}

.toc-item.active {
  background: var(--rb-green-lighter);
  border-left-color: var(--rb-green);
  color: var(--rb-green-dark);
  font-weight: 600;
}



/* 18. AUTHOR BOX (COMPONENT/AUTHOR-BOX.PHP) ===================================================== */
/* CARD */
.profile-card {
  background: #ffffff;
  border-radius: var(--rb-radius);
  padding: 25px;
  margin-top: 15px;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.08);
  transition: 0.3s ease;
}

.profile-card:hover {
  transform: translateY(-6px);
}

/* FLEX LAYOUT */
.profile-wrapper {
  display: flex;
  align-items: center;
  gap: 30px;
}

/* LEFT SIDE */
.profile-left {
  text-align: center;
  min-width: 200px;
}

.profile-left img {
  width: 220px;
  height: 220px;
  object-fit: cover;
  border-radius: 50%;
  border: 6px solid #f1f1f1;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

/* BUTTONS */
.profile-actions {
  display: flex;
  justify-content: center;
  gap: 10px;
  margin-top: 15px;
}

.btn-profile {
  padding: 8px 18px;
  border-radius: var(--rb-radius);
  border: 1px solid var(--rb-blue-dark);
  color: var(--rb-blue-dark);
  text-decoration: none;
  font-size: 14px;
  transition: 0.3s;
}

.social-icon {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  background: var(--rb-blue);
  transition: 0.3s;
}

.profile-actions .social-icon i {
  font-size: 16px;
  color: #fff;
}

/* HOVER */
.btn-profile:hover {
  border: none;
  color: #fff;
  background: var(--rb-blue-dark);
}

.social-icon:hover {
  border: 1px solid var(--rb-blue);
  color: var(--rb-blue);
  background: transparent;
}

.profile-actions .social-icon:hover i {
  color: var(--rb-blue);
}

/* RIGHT SIDE */
.profile-right {
  flex: 1;
}

.profile-right h4 {
  font-size: 26px;
  margin-bottom: 8px;
}

.profile-right h5 {
  font-size: 14px;
  color: #666;
  margin-bottom: 12px;
}

.profile-right p {
  font-size: 14px;
  line-height: 1.6;
  color: #444;
  text-align: justify;
}

/* RESPONSIVE */
@media (max-width: 767px) {
  .profile-wrapper {
    flex-direction: column;
    text-align: center;
  }

  .profile-left {
    min-width: auto;
  }

  .profile-left img {
    width: 180px;
    height: 180px;
  }
}



/* 19. BLOG SIDEBAR (COMPONENT/SIDEBAR.PHP) ====================================================== */
.share-widget i {
  font-size: 18px;
  height: 50px;
  width: 50px;
  display: flex;
  justify-content: Center;
  align-items: Center;
  transition: all ease 0.5s;
}

.share-widget i:hover {
  border-radius: 50%;
}

.share-widget {
  display: flex;
  justify-content: space-evenly;
  list-style: none;
  padding-left: 0px;
}

.share-widget .facebook {
  background-color: #3b5998;
  color: #fff;
}

.share-widget .twitter {
  background-color: #00acee;
  color: #fff;
}

.share-widget .linkedin {
  background-color: #0A66C2;
  color: #fff;
}

.share-widget .whatsapp1 {
  background-color: color-mix(in srgb, var(--rb-green-light) 65%, #fff);
  color: #fff;
}

.sidebar-content-right h5 {
  color: var(--blue);
  font-weight: 600;
  margin-bottom: 20px;
  border-left: 5px solid var(--green);
  padding: 0;
  padding-left: 10px;
}

.rating-star {
  display: flex;
  justify-content: space-evenly;
}

.rating-star li i {
  color: #fdcc0d !important;
}

.sidebar-content-right {
  box-shadow: 0 0 50px 0 rgba(0, 0, 0, 0.1);
  padding: 25px;
  margin-bottom: 30px;
  background-color: #ffff;
}

.font-12 {
  font-size: 17px;
}

:where(.blog-page) li {
  list-style: none;
  margin-bottom: 10px;
}

.sidebar {
  position: sticky;
  top: 100px;
  height: auto;
  align-self: flex-start;
}



/* 20. WEB STORIES (COMPONENT/WEBSTORIES.PHP) ==================================================== */
.ws-section {
  padding: 40px 15px 20px;
  text-align: center;
}

.ws-title {
  font-size: 28px;
  font-weight: 700;
  color: var(--rb-blue);
  margin: 0 0 25px;
}

.ws-thumbs {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 18px;
}

.ws-thumb {
  position: relative;
  width: 126px;
  height: 126px;
  border-radius: 50%;
  padding: 4px;
  cursor: pointer;
  flex-shrink: 0;
  box-sizing: border-box;
  background: linear-gradient(135deg, var(--rb-blue) 0%, var(--rb-blue) 45%, var(--rb-green) 100%);
  transition: transform .25s ease, box-shadow .25s ease;
}

.ws-thumb:hover,
.ws-thumb:focus-visible {
  transform: translateY(-4px);
  box-shadow: 0 14px 28px -14px rgba(var(--rb-blue-rgb), .55);
}

.ws-thumb:focus-visible {
  outline: 2px solid var(--rb-blue);
  outline-offset: 4px;
}

.ws-thumb img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  border-radius: 50%;
  display: block;
  padding: 10px;
  background: #fff;
  box-sizing: border-box;
}

/* play cue: these open a story reel */
.ws-thumb::after {
  content: "";
  position: absolute;
  right: 4px;
  bottom: 4px;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  border: 2px solid #fff;
  background: var(--rb-green) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M6 4l6 4-6 4z' fill='%23ffffff'/%3E%3C/svg%3E") 55% 50% / 11px no-repeat;
  transition: transform .25s ease;
}

.ws-thumb:hover::after {
  transform: scale(1.12);
}

@keyframes ws-fade-in {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

@keyframes ws-pop-in {
  from {
    opacity: 0;
    transform: scale(.92);
  }

  to {
    opacity: 1;
    transform: scale(1);
  }
}

.ws-overlay {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(10, 12, 18, .82);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  z-index: 2147483000;
  justify-content: center;
  align-items: center;
  padding: 20px;
  box-sizing: border-box;
}

.ws-overlay.ws-open {
  display: flex !important;
  animation: ws-fade-in .25s ease both;
}

.ws-stage {
  position: relative;
  width: 100%;
  max-width: 400px;
  height: min(88vh, 720px);
  background: #111;
  border-radius: var(--rb-radius);
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 30px 80px rgba(0, 0, 0, .55), 0 0 0 1px rgba(255, 255, 255, .06);
  animation: ws-pop-in .32s cubic-bezier(.34, 1.56, .64, 1) both;
}

.ws-stage img,
.ws-stage video {
  width: 100%;
  height: 100%;
  object-fit: contain;
  background: #000;
  display: block;
}

.ws-progress {
  position: absolute;
  top: 12px;
  left: 12px;
  right: 12px;
  display: flex;
  gap: 4px;
  z-index: 5;
}

.ws-bar {
  flex: 1;
  height: 3px;
  background: rgba(255, 255, 255, .3);
  border-radius: var(--rb-radius);
  overflow: hidden;
}

.ws-bar-fill {
  height: 100%;
  width: 0;
  background: #fff;
  border-radius: var(--rb-radius);
  transition: width linear;
}

.ws-close,
.ws-prev,
.ws-next {
  position: absolute;
  background: #fff;
  color: #111;
  border: none;
  border-radius: 50%;
  cursor: pointer;
  line-height: 1;
  z-index: 10;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  box-shadow: 0 4px 12px rgba(0, 0, 0, .35);
  transition: background .2s ease, transform .2s ease, box-shadow .2s ease;
  padding: 0;
}

.ws-close:hover {
  background: #f5f5f5;
  transform: scale(1.1);
  box-shadow: 0 6px 18px rgba(0, 0, 0, .45);
}

.ws-prev:hover,
.ws-next:hover {
  background: #f5f5f5;
  transform: translateY(-50%) scale(1.1);
  box-shadow: 0 6px 18px rgba(0, 0, 0, .45);
}

.ws-close {
  top: 28px;
  right: 12px;
  width: 36px;
  height: 36px;
  font-size: 26px;
}

.ws-prev,
.ws-next {
  top: 50%;
  transform: translateY(-50%);
  width: 40px;
  height: 40px;
  font-size: 30px;
  font-family: Arial, sans-serif;
}

.ws-prev {
  left: 10px;
  padding-right: 3px;
}

.ws-next {
  right: 10px;
  padding-left: 3px;
}

@media (max-width: 767px) {
  .ws-section {
    padding: 30px 10px 20px;
  }

  .ws-thumb {
    width: 88px;
    height: 88px;
    padding: 2px;
  }

  .ws-thumb img {
    padding: 9px;
  }

  .ws-thumb::after {
    right: 2px;
    bottom: 2px;
    width: 22px;
    height: 22px;
    background-size: 9px;
  }

  .ws-thumbs {
    gap: 10px;
  }

  .ws-title {
    font-size: 22px;
  }

  .ws-overlay {
    padding: 0;
  }

  .ws-stage {
    max-width: none;
    width: 100%;
    height: 100vh;
    border-radius: 0;
  }
}



/* 21. IMAGE / BROCHURE POPUP (COMPONENT/POPUP.PHP) ============================================== */
#getbrochure {
  -webkit-user-select: none;
  /* Chrome/Safari */
  -moz-user-select: none;
  /* Firefox */
  -ms-user-select: none;
  /* IE10+ */
  margin: 4em auto;
  height: 30px;
  color: white;
  font-weight: 700;
  text-align: center;
  cursor: pointer;
  /* border: 1px solid white; */
}

#imagepopup {
  /* display: none; */
  width: 100vw;
  height: 100vh;
  position: fixed;
  top: 0px;
  left: 0px;
  background: rgba(0, 0, 0, 0.8);
  z-index: 99999;
  transition: all ease;
  animation: fadeOut 0.5s;
}

#imagepopup .img {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  z-index: 99999;
  transition: all ease;
}

#imagepopup .img img {
  height: 35vw;
  width: auto;
  text-align: center;
  background: #fff;
  animation: zoom 1s;
}

#imagepopup .closebtn {
  position: absolute;
  top: 20px;
  right: 20px;
  z-index: 99999999;
}

#imagepopup .closebtn i:hover {
  background-color: red;
}

#imagepopup .closebtn i {
  color: white;
  background-color: var(--rb-blue-dark);
  font-size: 30px;
  padding: 5px 8px;
  transition: all ease 0.5s;
}

@keyframes fadeOut {
  0% {
    opacity: 0;
  }

  100% {
    opacity: 1;
  }
}

@keyframes slide {
  0% {
    top: -50%;
  }

  100% {
    top: 50%;
  }
}

@keyframes zoom {
  0% {
    transform: scale(0.0);
  }

  50% {
    transform: scale(1.2);
  }

  100% {
    transform: scale(1);
  }
}

@media only screen and (max-width:700px) {
  #imagepopup .img img {
    width: 95vw !important;
    height: 100%;
  }
}



/* 22. BROCHURE DOWNLOAD POPUP (COMPONENT/BROCHURE-DOWNLOAD-POPUP.PHP) =========================== */
.download-btn {
  padding: 16px 22px;
  background: var(--rb-green);
  color: #fff;
  border-radius: 0;
  font-weight: 600;
  cursor: pointer;
  margin-left: 17px;
}

.popup-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, .6);
  display: flex;
  justify-content: center;
  align-items: center;
  opacity: 0;
  visibility: hidden;
  transition: .35s;
  z-index: 9999;
}

.popup-overlay.active {
  opacity: 1;
  visibility: visible;
}

.popup-box {
  background: #fff;
  padding: 35px;
  max-width: 650px;
  width: 100%;
  border-radius: var(--rb-radius);
  position: relative;
  transform: scale(.85);
  opacity: 0;
  transition: .35s;
}

.popup-overlay.active .popup-box {
  transform: scale(1);
  opacity: 1;
}

.popup-box h3 {
  text-align: center;
  margin-bottom: 10px;
  font-size: 24px;
}

.popup-box p {
  text-align: center;
  margin-bottom: 25px;
  color: #555;
}

.popup-box input {
  width: 100%;
  padding: 14px;
  margin-bottom: 15px;
  border: 1px solid #ddd;
  border-radius: var(--rb-radius);
}

.popup-box button {
  width: 100%;
  padding: 14px;
  background: var(--rb-green);
  color: #fff;
  border: none;
  margin-top: 20px;
  border-radius: var(--rb-radius);
  font-weight: 600;
  cursor: pointer;
}

.close-btn {
  position: absolute;
  top: 12px;
  right: 16px;
  font-size: 28px;
  cursor: pointer;
  color: #555;
}

.close-btn:hover {
  color: #000;
}

@media screen and (max-width: 767px) {
  .download-btn {
    margin: 20px 0;
  }
}



/* 23. QUICK CONNECT FAB + MODAL (COMPONENT/QUICKCONNECT.PHP) ==================================== */
/* ---------- Floating Action Buttons (stack) ---------- */
.cn-cb-fab-stack {
  position: fixed;
  bottom: 28px;
  left: 28px;
  z-index: 9998;
  display: flex;
  flex-direction: column;
  gap: 18px;
  align-items: flex-start;
}

.cn-cb-fab {
  position: relative;
  width: 58px;
  height: 58px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--rb-blue) 0%, var(--rb-blue-light) 100%);
  border: 2px solid rgba(255, 255, 255, 0.85);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 8px 22px rgba(var(--rb-blue-rgb), 0.35), 0 2px 6px rgba(0, 0, 0, 0.12);
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.cn-cb-fab--wa {
  background: linear-gradient(135deg, #25D366 0%, #128C7E 100%);
  box-shadow: 0 8px 22px rgba(37, 211, 102, 0.35), 0 2px 6px rgba(0, 0, 0, 0.12);
}

.cn-cb-fab--wa:hover {
  box-shadow: 0 12px 30px rgba(37, 211, 102, 0.5), 0 4px 10px rgba(0, 0, 0, 0.15);
}

.cn-cb-fab--wa .cn-cb-fab-pulse {
  background: #25D366;
}

.cn-cb-fab:hover {
  transform: scale(1.08);
  box-shadow: 0 12px 30px rgba(var(--rb-blue-rgb), 0.5), 0 4px 10px rgba(0, 0, 0, 0.15);
}

.cn-cb-fab:active {
  transform: scale(0.96);
}

.cn-cb-fab svg {
  width: 26px;
  height: 26px;
  position: relative;
  z-index: 2;
}

/* Tooltip label on hover */
.cn-cb-fab[data-label]::before {
  content: attr(data-label);
  position: absolute;
  left: calc(100% + 12px);
  top: 50%;
  transform: translateY(-50%) translateX(-6px);
  background: var(--rb-blue-dark);
  color: #fff;
  font-size: 12px;
  font-weight: 600;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  padding: 7px 12px;
  border-radius: 8px;
  white-space: nowrap;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.2s ease, transform 0.2s ease;
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.25);
}

.cn-cb-fab[data-label]::after {
  content: '';
  position: absolute;
  left: calc(100% + 6px);
  top: 50%;
  transform: translateY(-50%) translateX(-6px);
  border: 6px solid transparent;
  border-right-color: var(--rb-blue-dark);
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.2s ease, transform 0.2s ease;
}

.cn-cb-fab[data-label]:hover::before,
.cn-cb-fab[data-label]:hover::after {
  opacity: 1;
  transform: translateY(-50%) translateX(0);
}

.cn-cb-fab-pulse {
  position: absolute;
  inset: -2px;
  border-radius: 50%;
  background: var(--rb-blue);
  opacity: 0.45;
  animation: cnCbPulse 2.4s ease-out infinite;
  z-index: 0;
}

.cn-cb-fab--wa .cn-cb-fab-pulse {
  animation-delay: 1.2s;
}

@keyframes cnCbPulse {
  0% {
    transform: scale(1);
    opacity: 0.45;
  }

  100% {
    transform: scale(1.35);
    opacity: 0;
  }
}

/* ---------- Overlay ---------- */
.cn-cb-overlay {
  position: fixed;
  inset: 0;
  background: rgba(var(--rb-blue-dark-rgb), 0.65);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
  overflow: hidden;
  animation: cnCbFadeIn 0.25s ease forwards;
}

.cn-cb-overlay[hidden] {
  display: none;
}

@keyframes cnCbFadeIn {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

/* ---------- Modal Container ---------- */
.cn-cb-modal {
  background: var(--rb-blue-dark);
  border-radius: var(--rb-radius);
  width: 100%;
  max-height: calc(100vh - 40px);
  overflow-y: auto;
  overscroll-behavior: contain;
  max-width: 460px;
  margin: auto;
  box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.4);
  position: relative;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
  color: #f1f5f9;
  animation: cnCbSlideUp 0.35s cubic-bezier(0.16, 1, 0.3, 1) forwards;
  background-image: radial-gradient(circle at 20% 0%, rgba(var(--rb-blue-rgb), 0.18) 0%, transparent 45%),
    radial-gradient(circle at 80% 100%, rgba(var(--rb-blue-light-rgb), 0.10) 0%, transparent 45%);
  flex-shrink: 0;
}

@keyframes cnCbSlideUp {
  from {
    opacity: 0;
    transform: translateY(20px) scale(0.96);
  }

  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

.cn-cb-modal {
  scrollbar-width: thin;
  scrollbar-color: rgba(255, 255, 255, 0.15) transparent;
}

.cn-cb-modal::-webkit-scrollbar {
  width: 6px;
}

.cn-cb-modal::-webkit-scrollbar-track {
  background: transparent;
}

.cn-cb-modal::-webkit-scrollbar-thumb {
  background: rgba(255, 255, 255, 0.15);
  border-radius: 3px;
}

.cn-cb-modal::-webkit-scrollbar-button {
  display: none;
  height: 0;
  width: 0;
}

/* ---------- Close button ---------- */
.cn-cb-close {
  position: absolute;
  top: 14px;
  right: 14px;
  width: 32px;
  height: 32px;
  border: 1.5px solid rgba(255, 255, 255, 0.3);
  background: rgba(255, 255, 255, 0.18);
  color: #fff;
  border-radius: 8px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 0.2s, color 0.2s;
  z-index: 10;
}

.cn-cb-close:hover {
  background: rgba(255, 255, 255, 0.30);
  color: #fff;
}

/* ---------- Tabs ---------- */
.cn-cb-tabs {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 4px;
  padding: 58px 22px 0;
}

.cn-cb-tab {
  background: transparent;
  border: none;
  color: #cbd5e1;
  padding: 12px 6px;
  cursor: pointer;
  border-radius: var(--rb-radius);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  font-weight: 500;
  font-family: inherit;
  transition: color 0.2s, background 0.2s;
  text-align: center;
  line-height: 1.2;
}

.cn-cb-tab svg {
  transition: transform 0.2s;
}

.cn-cb-tab:hover {
  color: #fff;
  background: rgba(255, 255, 255, 0.04);
}

.cn-cb-tab.is-active {
  /* the panel behind is --rb-blue-dark, so the accent is lightened to clear 4.5:1 */
  color: color-mix(in srgb, var(--rb-blue-light) 55%, #fff);
  background: rgba(var(--rb-blue-rgb), 0.18);
}

.cn-cb-tab.is-active svg {
  transform: translateY(-2px);
}

/* ---------- Header ---------- */
.cn-cb-header {
  padding: 24px 28px 16px;
  text-align: center;
}

.cn-cb-brand {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 18px;
}

.cn-cb-brand-icon {
  width: 44px;
  height: 44px;
  border-radius: 12px;
  background: linear-gradient(135deg, var(--rb-blue), var(--rb-blue-light));
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 6px 16px rgba(var(--rb-blue-rgb), 0.35);
}

.cn-cb-brand-name {
  font-size: 18px;
  font-weight: 700;
  letter-spacing: -0.4px;
  color: #fff;
}

.cn-cb-title {
  margin: 0;
  font-size: 20px;
  font-weight: 600;
  line-height: 1.35;
  letter-spacing: -0.3px;
  color: #fff;
}

/* ---------- Body ---------- */
.cn-cb-body {
  padding: 8px 28px 24px;
  position: relative;
}

.cn-cb-pane {
  display: none;
}

.cn-cb-pane.is-active {
  display: block;
  animation: cnCbPaneIn 0.3s ease forwards;
}

@keyframes cnCbPaneIn {
  from {
    opacity: 0;
    transform: translateY(6px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* ---------- Form fields ---------- */
.cn-cb-label {
  display: block;
  font-size: 13px;
  font-weight: 500;
  color: #cbd5e1;
  margin: 10px 0 6px;
}

.cn-cb-input {
  width: 100%;
  padding: 12px 14px;
  background: #fff !important;
  border: 1.5px solid #cbd5e1 !important;
  border-radius: var(--rb-radius);
  color: var(--rb-blue-dark) !important;
  font-size: 15px;
  font-family: inherit;
  transition: border-color 0.2s, background 0.2s;
  outline: none;
}

.cn-cb-input::placeholder {
  color: #94a3b8 !important;
}

.cn-cb-input:focus {
  border-color: var(--rb-blue-light) !important;
  background: #fff !important;
  box-shadow: 0 0 0 3px rgba(var(--rb-blue-rgb), 0.18);
}

.cn-cb-input.is-invalid {
  border-color: #ef4444;
  box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.18);
}

.cn-cb-textarea {
  resize: vertical;
  min-height: 88px;
  font-family: inherit;
}

.cn-cb-input[type="date"],
.cn-cb-input[type="time"] {
  color-scheme: dark;
}

/* Country code + number are one control, so the border belongs to the group, not to
   each field: the wrap draws it (and the focus/invalid states), the select and the
   input inside draw none and are split by a single divider. */
.cn-cb-phone-wrap {
  display: grid;
  grid-template-columns: 104px 1fr;
  gap: 0;
  background: #fff;
  border: 1.5px solid #cbd5e1;
  border-radius: var(--rb-radius);
  overflow: hidden;
  transition: border-color .2s, box-shadow .2s;
}

.cn-cb-phone-wrap .cn-cb-cc,
.cn-cb-phone-wrap .cn-cb-input,
.cn-cb-phone-wrap .cn-cb-cc:focus,
.cn-cb-phone-wrap .cn-cb-input:focus,
.cn-cb-phone-wrap .cn-cb-input.is-invalid {
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.cn-cb-phone-wrap .cn-cb-cc {
  border-right: 1.5px solid #cbd5e1 !important;
}

.cn-cb-phone-wrap:focus-within {
  border-color: var(--rb-blue-light);
  box-shadow: 0 0 0 3px rgba(var(--rb-blue-rgb), .18);
}

.cn-cb-phone-wrap:has(.is-invalid) {
  border-color: #ef4444;
  box-shadow: 0 0 0 3px rgba(239, 68, 68, .18);
}

.cn-cb-cc {
  padding: 13px 8px;
  background: #fff;
  border: 1.5px solid #cbd5e1;
  border-radius: var(--rb-radius);
  color: var(--rb-blue-dark);
  font-size: 14px;
  font-family: inherit;
  cursor: pointer;
  outline: none;
  transition: border-color 0.2s;
}

.cn-cb-cc:focus {
  border-color: var(--rb-blue-light);
}

.cn-cb-cc option {
  background: #fff;
  color: var(--rb-blue-dark);
}

.cn-cb-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}

/* ---------- Submit ---------- */
.cn-cb-submit {
  width: 100%;
  margin-top: 22px;
  padding: 14px 20px;
  background: linear-gradient(135deg, var(--rb-blue) 0%, var(--rb-blue-light) 100%);
  color: #fff;
  border: none;
  border-radius: var(--rb-radius);
  font-size: 15px;
  font-weight: 600;
  font-family: inherit;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  transition: transform 0.15s, box-shadow 0.2s, opacity 0.2s;
  box-shadow: 0 6px 18px rgba(var(--rb-blue-rgb), 0.3);
  letter-spacing: 0.2px;
}

.cn-cb-submit:hover:not(:disabled) {
  transform: translateY(-1px);
  box-shadow: 0 10px 24px rgba(var(--rb-blue-rgb), 0.45);
}

.cn-cb-submit:active:not(:disabled) {
  transform: translateY(0);
}

.cn-cb-submit:disabled {
  opacity: 0.7;
  cursor: not-allowed;
}

.cn-cb-spinner {
  width: 18px;
  height: 18px;
  border: 2.5px solid rgba(255, 255, 255, 0.3);
  border-top-color: #fff;
  border-radius: 50%;
  animation: cnCbSpin 0.7s linear infinite;
  display: inline-block;
}

@keyframes cnCbSpin {
  to {
    transform: rotate(360deg);
  }
}

/* ---------- Fine print ---------- */
.cn-cb-fineprint {
  font-size: 11.5px;
  color: #cbd5e1;
  text-align: center;
  margin: 14px 0 0;
  line-height: 1.5;
}

.cn-cb-fineprint a {
  color: color-mix(in srgb, var(--rb-blue-light) 55%, #fff);
  text-decoration: none;
}

.cn-cb-fineprint a:hover {
  text-decoration: underline;
}

/* ---------- Success state ---------- */
.cn-cb-success {
  text-align: center;
  padding: 32px 16px;
  animation: cnCbPaneIn 0.4s ease;
}

.cn-cb-success-icon {
  width: 88px;
  height: 88px;
  margin: 0 auto 20px;
  border-radius: 50%;
  background: rgba(var(--rb-green-rgb), 0.15);
  border: 2px solid rgba(var(--rb-green-rgb), 0.4);
  display: flex;
  align-items: center;
  justify-content: center;
  animation: cnCbPop 0.5s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.cn-cb-success-icon svg {
  stroke: var(--rb-green);
}

@keyframes cnCbPop {
  0% {
    transform: scale(0);
  }

  100% {
    transform: scale(1);
  }
}

.cn-cb-success h3 {
  margin: 0 0 8px;
  font-size: 22px;
  color: #fff;
}

.cn-cb-success-msg {
  margin: 0;
  color: #cbd5e1;
  font-size: 14.5px;
  line-height: 1.55;
}

/* ---------- Error banner ---------- */
.cn-cb-error-banner {
  margin-top: 16px;
  padding: 12px 14px;
  background: rgba(239, 68, 68, 0.12);
  border: 1px solid rgba(239, 68, 68, 0.35);
  border-radius: var(--rb-radius);
  color: #fecaca;
  font-size: 13.5px;
  text-align: center;
}

/* ---------- Mobile ---------- */
@media (max-width: 480px) {
  .cn-cb-fab-stack {
    bottom: 12px;
    left: 12px;
    right: 12px;
    gap: 10px;
    flex-direction: row;
    align-items: stretch;
    justify-content: stretch;
  }

  .cn-cb-fab {
    flex: 1 1 50%;
    width: auto;
    height: 46px;
    border-radius: 999px;
    border: 1.5px solid rgba(255, 255, 255, 0.25);
    gap: 8px;
    padding: 0 12px;
    box-shadow: 0 8px 22px rgba(0, 0, 0, 0.2), 0 2px 5px rgba(0, 0, 0, 0.1);
  }

  .cn-cb-fab:active {
    transform: scale(0.97);
  }

  .cn-cb-fab:hover {
    transform: none;
    box-shadow: 0 10px 28px rgba(0, 0, 0, 0.22), 0 2px 6px rgba(0, 0, 0, 0.12);
  }

  .cn-cb-fab svg {
    width: 18px;
    height: 18px;
    flex-shrink: 0;
  }

  .cn-cb-fab[data-label]::before {
    position: static;
    transform: none;
    background: transparent;
    box-shadow: none;
    padding: 0;
    opacity: 1;
    color: #fff;
    font-size: 12.5px;
    font-weight: 700;
    letter-spacing: 0.2px;
  }

  #cnCbFab[data-label]::before {
    content: 'Call Us';
  }

  #cnCbWaFab[data-label]::before {
    content: 'WhatsApp';
  }

  .cn-cb-fab[data-label]::after {
    display: none;
  }

  .cn-cb-fab-pulse {
    display: none;
  }

  .cn-cb-modal {
    max-width: 100%;
  }

  .cn-cb-tab span {
    font-size: 11px;
  }

  .cn-cb-title {
    font-size: 18px;
  }

  .cn-cb-header {
    padding: 20px 20px 12px;
  }

  .cn-cb-body {
    padding: 6px 20px 20px;
  }

  .cn-cb-phone-wrap {
    grid-template-columns: 100px 1fr;
  }

  .footer__copyright {
    padding-bottom: 60px;
  }
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {

  .cn-cb-fab-pulse,
  .cn-cb-modal,
  .cn-cb-overlay,
  .cn-cb-pane,
  .cn-cb-success-icon,
  .cn-cb-spinner {
    animation: none !important;
  }
}



/* 24. CHAT ASSISTANT (COMPONENT/CHATBOX.PHP) ==================================================== */
/* Icons come from the site-wide Font Awesome 7 (assets/css/all.css). The launcher sits bottom-right,
   opposite the quick-connect FAB stack (§23) which is pinned bottom-left. Round button radii survive
   the global override through the exclusion list further down this file. */
.rbchat {
  --rbc-brand: var(--rb-blue);
  --rbc-brand-2: var(--rb-blue-light);
  --rbc-ink: #1f2b37;
  --rbc-line: #e3e9ee;
  --rbc-bg: #f4f7fa;
  position: fixed;
  right: 28px;
  bottom: 28px;
  z-index: 9998;
  font-size: 14px;
  line-height: 1.55;
}

/* ---- launcher ---- */
.rbchat__fab {
  position: relative;
  width: 60px;
  height: 60px;
  /* The unscoped `button` rule further down this file injects padding 10px 25px
     into every bare button, which stretches the round ones into pills. */
  padding: 0;
  margin: 0;
  border: 2px solid rgba(255, 255, 255, 0.85);
  border-radius: 50% !important;
  background: linear-gradient(135deg, var(--rbc-brand) 0%, var(--rbc-brand-2) 100%);
  color: #fff;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 8px 22px rgba(var(--rb-blue-rgb), 0.35), 0 2px 6px rgba(0, 0, 0, 0.12);
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.rbchat__fab:hover {
  transform: scale(1.08);
  box-shadow: 0 12px 30px rgba(var(--rb-blue-rgb), 0.5), 0 4px 10px rgba(0, 0, 0, 0.15);
}

.rbchat__fab:active {
  transform: scale(0.96);
}

.rbchat__fab-ico {
  font-size: 24px;
  line-height: 1;
  transition: opacity 0.2s ease, transform 0.2s ease;
}

.rbchat__fab-ico--close {
  position: absolute;
  opacity: 0;
  transform: rotate(-90deg);
}

.rbchat.is-open .rbchat__fab-ico--open {
  opacity: 0;
  transform: rotate(90deg);
}

.rbchat.is-open .rbchat__fab-ico--close {
  opacity: 1;
  transform: rotate(0);
}

.rbchat__badge {
  position: absolute;
  top: -2px;
  right: -2px;
  min-width: 20px;
  height: 20px;
  padding: 0 5px;
  border-radius: 999px;
  background: #e23b2e;
  color: #fff;
  font-size: 11px;
  font-weight: 700;
  line-height: 20px;
  text-align: center;
  box-shadow: 0 0 0 2px #fff;
}

/* ---- panel ---- */
.rbchat__panel {
  position: absolute;
  right: 0;
  bottom: 76px;
  width: 370px;
  max-width: calc(100vw - 32px);
  height: 540px;
  max-height: calc(100vh - 150px);
  max-height: calc(100dvh - 150px);
  display: flex;
  flex-direction: column;
  overflow: hidden;
  background: #fff;
  border-radius: 18px;
  box-shadow: 0 18px 50px rgba(var(--rb-blue-dark-rgb), 0.22), 0 4px 12px rgba(0, 0, 0, 0.08);
  opacity: 0;
  transform: translateY(14px) scale(0.97);
  transform-origin: 100% 100%;
  transition: opacity 0.22s ease, transform 0.22s ease;
}

.rbchat.is-open .rbchat__panel {
  opacity: 1;
  transform: none;
}

.rbchat__head {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px 12px 12px 14px;
  background: linear-gradient(135deg, var(--rbc-brand) 0%, var(--rbc-brand-2) 100%);
  color: #fff;
}

.rbchat__avatar {
  flex: 0 0 auto;
  width: 42px;
  height: 42px;
  padding: 6px;
  border-radius: 50%;
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
}

.rbchat__avatar img {
  width: 100%;
  height: auto;
}

.rbchat__who {
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  flex-direction: column;
}

.rbchat__who strong {
  font-size: 15px;
  font-weight: 600;
}

.rbchat__who small {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 11.5px;
  opacity: 0.85;
}

.rbchat__dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: color-mix(in srgb, var(--rb-green-light) 65%, #fff);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--rb-green-light) 65%, #fff);
}

.rbchat__icon {
  flex: 0 0 auto;
  width: 30px;
  height: 30px;
  padding: 0;
  margin: 0;
  border: 0;
  border-radius: 50% !important;
  background: rgba(255, 255, 255, 0.14);
  color: #fff;
  font-size: 13px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 0.2s ease;
}

.rbchat__icon:hover {
  background: rgba(255, 255, 255, 0.3);
}

/* ---- messages ---- */
.rbchat__body {
  flex: 1 1 auto;
  overflow-y: auto;
  overscroll-behavior: contain;
  padding: 16px 14px;
  background: var(--rbc-bg);
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
}

.rbchat__body::-webkit-scrollbar {
  width: 6px;
}

.rbchat__body::-webkit-scrollbar-thumb {
  background: #cbd6df;
  border-radius: 3px;
}

.rbchat__msg {
  max-width: 85%;
  padding: 9px 13px;
  border-radius: 16px 16px 16px 5px;
  background: #fff;
  color: var(--rbc-ink);
  box-shadow: 0 1px 2px rgba(var(--rb-blue-dark-rgb), 0.08);
  overflow-wrap: anywhere;
  animation: rbchat-in 0.22s ease both;
}

.rbchat__msg--user {
  align-self: flex-end;
  border-radius: 16px 16px 5px 16px;
  background: linear-gradient(135deg, var(--rbc-brand) 0%, var(--rbc-brand-2) 100%);
  color: #fff;
  box-shadow: 0 2px 6px rgba(var(--rb-blue-rgb), 0.25);
}

@keyframes rbchat-in {
  from {
    opacity: 0;
    transform: translateY(6px);
  }

  to {
    opacity: 1;
    transform: none;
  }
}

.rbchat__typing {
  display: flex;
  align-items: center;
  gap: 4px;
  padding: 13px 14px;
}

.rbchat__typing span {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #9fb0bd;
  animation: rbchat-bounce 1.1s infinite ease-in-out;
}

.rbchat__typing span:nth-child(2) {
  animation-delay: 0.15s;
}

.rbchat__typing span:nth-child(3) {
  animation-delay: 0.3s;
}

@keyframes rbchat-bounce {

  0%,
  60%,
  100% {
    transform: translateY(0);
    opacity: 0.5;
  }

  30% {
    transform: translateY(-4px);
    opacity: 1;
  }
}

.rbchat__pending {
  opacity: 0.7;
  font-style: italic;
}

/* ---- in-chat call to action ---- */
.rbchat__cta {
  align-self: flex-start;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 16px;
  border-radius: 999px;
  background: #25D366;
  color: #fff;
  font-weight: 600;
  text-decoration: none;
  box-shadow: 0 4px 12px rgba(37, 211, 102, 0.32);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.rbchat__cta:hover {
  color: #fff;
  transform: translateY(-1px);
  box-shadow: 0 8px 18px rgba(37, 211, 102, 0.42);
}

.rbchat__cta--ghost {
  background: #fff;
  color: var(--rbc-brand);
  border: 1px solid var(--rbc-line);
  box-shadow: none;
}

.rbchat__cta--ghost:hover {
  background: #eef5f9;
  color: var(--rbc-brand);
  box-shadow: none;
}

/* ---- quick replies ---- */
.rbchat__chips {
  display: none;
  flex-wrap: wrap;
  gap: 8px;
  padding: 10px 14px;
  max-height: 180px;
  overflow-y: auto;
  background: var(--rbc-bg);
}

.rbchat__chips.is-on {
  display: flex;
}

.rbchat__chip {
  border: 1px solid var(--rbc-brand);
  border-radius: 999px !important;
  background: #fff;
  color: var(--rbc-brand);
  padding: 7px 14px;
  margin: 0;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.35;
  cursor: pointer;
  transition: background 0.18s ease, color 0.18s ease, transform 0.18s ease;
}

.rbchat__chip:hover {
  background: var(--rbc-brand);
  color: #fff;
}

.rbchat__chip:active {
  transform: scale(0.97);
}

.rbchat__chip--ghost {
  border-color: var(--rbc-line);
  color: #6b7b88;
  font-weight: 500;
}

.rbchat__chip--ghost:hover {
  background: #6b7b88;
  border-color: #6b7b88;
  color: #fff;
}

/* ---- composer ---- */
.rbchat__foot {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 4px 14px 8px;
  background: var(--rbc-bg);
}

.rbchat__input {
  flex: 1 1 auto;
  width: auto;
  min-width: 0;
  border: 1px solid var(--rbc-line);
  border-radius: 999px;
  /* Overrides the unscoped `input, textarea` rule further down this file. */
  padding: 10px 16px;
  margin: 0;
  font-size: 14px;
  color: var(--rbc-ink);
  background: #fff;
  outline: none;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.rbchat__input:focus {
  border-color: var(--rbc-brand);
  box-shadow: 0 0 0 3px rgba(var(--rb-blue-rgb), 0.12);
}

.rbchat__send {
  flex: 0 0 auto;
  width: 40px;
  height: 40px;
  padding: 0;
  margin: 0;
  border: 0;
  border-radius: 50% !important;
  background: linear-gradient(135deg, var(--rbc-brand) 0%, var(--rbc-brand-2) 100%);
  color: #fff;
  font-size: 15px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: transform 0.2s ease;
}

.rbchat__send:hover {
  transform: scale(1.06);
}

/* Honeypot: off-screen, never announced. */
.rbchat__hp {
  position: absolute;
  left: -9999px;
  width: 1px;
  height: 1px;
  overflow: hidden;
}

.rbchat__legal {
  margin: 0;
  padding: 0 14px 12px;
  background: var(--rbc-bg);
  font-size: 10.5px;
  line-height: 1.45;
  color: #8896a2;
}

/* The quick-connect FABs (§23) become a full-width row at this width, so the chat clears them. */
@media (max-width: 576px) {
  .rbchat {
    right: 14px;
    bottom: 70px;
  }

  .rbchat__fab {
    width: 52px;
    height: 52px;
    transition: opacity 0.2s ease, transform 0.25s ease;
  }

  .rbchat__fab-ico {
    font-size: 21px;
  }

  .rbchat.is-open .rbchat__fab {
    opacity: 0;
    pointer-events: none;
  }

  .rbchat__panel {
    position: fixed;
    top: 64px;
    right: 10px;
    bottom: 70px;
    left: 10px;
    width: auto;
    max-width: none;
    height: auto;
    max-height: none;
  }
}

@media (prefers-reduced-motion: reduce) {

  .rbchat__fab,
  .rbchat__fab-ico,
  .rbchat__panel,
  .rbchat__msg,
  .rbchat__chip,
  .rbchat__cta,
  .rbchat__send,
  .rbchat__typing span {
    transition: none !important;
    animation: none !important;
  }
}



/* 25. PRODUCT INQUIRY POPUP (COMPONENT/PRODUCT-INQUIRY.PHP) ===================================== */
/* Popup overlay */
.productPopup {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.6);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 9999;
  /* animation */
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.4s ease, visibility 0.4s ease;
}

/* Popup active */
.productPopup.active {
  opacity: 1;
  visibility: visible;
}

/* Popup box */
.popup-content {
  background: #fff;
  width: 550px;
  border-radius: var(--rb-radius);
  overflow: hidden;
  /* animation */
  transform: scale(0.9) translateY(20px);
  opacity: 0;
  transition: transform 0.4s ease, opacity 0.4s ease;
}

/* Popup content active */
.productPopup.active .popup-content {
  transform: scale(1) translateY(0);
  opacity: 1;
}

/* Popup box */
.popup-content {
  background: #fff;
  width: 550px;
  border-radius: var(--rb-radius);
  overflow: hidden;
}

/* Header */
.popup-header {
  background: linear-gradient(45deg, var(--rb-blue), var(--rb-green));
  color: #fff;
  padding: 15px 20px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.popup-header p {
  margin: 0;
  font-weight: 600;
  color: #fff !important;
}

/* Close button */
.close-btn {
  cursor: pointer;
  font-size: 24px;
}

/* Body */
.popup-body {
  padding: 20px;
}

/* Inputs */
input,
textarea {
  width: 100%;
  padding: 10px;
  margin-bottom: 12px;
  border-radius: var(--rb-radius);
  border: 1px solid #ccc;
}

button {
  padding: 10px 25px;
  border: none;
  border-radius: var(--rb-radius);
  background: var(--rb-blue-light);
  color: #fff;
  cursor: pointer;
}



/* 26. COOKIE CONSENT (COMPONENT/CONSENT-FORM.PHP) =============================================== */
.rba-cc {
  position: fixed;
  left: 16px;
  right: 16px;
  bottom: 16px;
  z-index: 10040;
  /* above the chat / quick-connect buttons, below the mobile nav drawer */
  max-width: 1000px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  gap: 16px 32px;
  padding: 20px 24px;
  background: #fff;
  color: #33414b;
  border: 1px solid #e3e9ee;
  border-radius: var(--rb-radius);
  box-shadow: 0 18px 50px rgba(var(--rb-blue-dark-rgb), .22), 0 2px 6px rgba(var(--rb-blue-dark-rgb), .08);
  font-family: inherit;
  font-size: 14px;
  line-height: 1.55;
  text-align: left;
  opacity: 0;
  transform: translateY(16px);
  transition: opacity .3s ease, transform .3s ease;
}

.rba-cc.is-in {
  opacity: 1;
  transform: none;
}

.rba-cc[hidden] {
  display: none !important;
}

/* the site's global p rule is larger; keep the banner compact */
.rba-cc p,
.rba-cc-dialog p {
  margin: 0;
  font-size: 14px;
  line-height: 1.55;
}

.rba-cc a,
.rba-cc-dialog a {
  color: var(--rb-blue);
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.rba-cc p.rba-cc__title {
  margin: 0 0 4px;
  color: var(--rb-blue-dark);
  font-size: 15px;
  font-weight: 700;
}

.rba-cc__text {
  flex: 1 1 auto;
}

.rba-cc__actions {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-shrink: 0;
}

.rba-cc__btn {
  -webkit-appearance: none;
  appearance: none;
  min-height: 42px;
  margin: 0;
  padding: 10px 18px;
  border: 1.5px solid var(--rb-blue);
  border-radius: var(--rb-radius);
  box-shadow: none;
  font: inherit;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: normal;
  text-transform: none;
  white-space: nowrap;
  cursor: pointer;
  transition: background-color .2s ease, border-color .2s ease, color .2s ease;
}

.rba-cc__btn--solid {
  background: var(--rb-blue);
  color: #fff;
}

.rba-cc__btn--solid:hover {
  background: var(--rb-blue-dark);
  border-color: var(--rb-blue-dark);
  color: #fff;
}

.rba-cc__btn--ghost {
  background: #fff;
  color: var(--rb-blue);
}

.rba-cc__btn--ghost:hover {
  background: #eef4fa;
  color: var(--rb-blue-dark);
}

.rba-cc__btn--link {
  padding-left: 8px;
  padding-right: 8px;
  background: transparent;
  border-color: transparent;
  color: var(--rb-blue);
  text-decoration: underline;
  text-underline-offset: 3px;
}

.rba-cc__btn--link:hover {
  color: var(--rb-blue-dark);
}

.rba-cc__btn:focus-visible,
.rba-cc-dialog__close:focus-visible,
.rba-cc-switch:focus-visible {
  outline: 3px solid rgba(var(--rb-blue-rgb), .4);
  outline-offset: 2px;
}

/* ---------- Preferences dialog (native <dialog>: top layer, focus trap, Esc to close) ---------- */
.rba-cc-dialog {
  width: min(560px, calc(100% - 32px));
  max-width: none;
  max-height: min(88vh, 720px);
  margin: auto;
  padding: 0;
  border: 0;
  border-radius: var(--rb-radius);
  background: #fff;
  color: #33414b;
  box-shadow: 0 30px 80px rgba(var(--rb-blue-dark-rgb), .35);
  font-family: inherit;
  font-size: 14px;
  line-height: 1.55;
  text-align: left;
  overflow: hidden;
}

.rba-cc-dialog[open] {
  display: flex;
  flex-direction: column;
}

.rba-cc-dialog:not([open]) {
  display: none;
}

.rba-cc-dialog::backdrop {
  background: rgba(var(--rb-blue-dark-rgb), .55);
  -webkit-backdrop-filter: blur(3px);
  backdrop-filter: blur(3px);
}

.rba-cc-dialog__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 18px 20px 16px 24px;
  border-bottom: 1px solid #eaeef2;
}

.rba-cc-dialog__title {
  color: var(--rb-blue-dark);
  font-size: 18px;
  font-weight: 700;
  line-height: 1.3;
}

.rba-cc-dialog__close {
  width: 38px;
  height: 38px;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 8px;
  background: transparent;
  color: #5b6b76;
  font-size: 26px;
  line-height: 1;
  cursor: pointer;
}

.rba-cc-dialog__close:hover {
  background: #f3f6f9;
  color: var(--rb-blue-dark);
}

.rba-cc-dialog__body {
  flex: 1 1 auto;
  padding: 16px 24px 4px;
  overflow-y: auto;
}

.rba-cc-cat {
  padding: 16px 0;
  border-bottom: 1px solid #eaeef2;
}

.rba-cc-cat:last-child {
  border-bottom: 0;
}

.rba-cc-cat__row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin: 0;
  font-weight: 400;
}

label.rba-cc-cat__row {
  cursor: pointer;
}

.rba-cc-cat__name {
  color: var(--rb-blue-dark);
  font-size: 15px;
  font-weight: 700;
}

.rba-cc-cat p {
  margin-top: 6px;
  color: #5b6b76;
  font-size: 13.5px;
}

.rba-cc-cat__always {
  flex-shrink: 0;
  padding: 3px 10px;
  border-radius: var(--rb-radius);
  background: color-mix(in srgb, var(--rb-green) 8%, #fff);
  color: var(--rb-green);
  font-size: 12px;
  font-weight: 700;
}

.rba-cc-switch {
  -webkit-appearance: none;
  appearance: none;
  position: relative;
  flex-shrink: 0;
  width: 44px;
  height: 24px;
  margin: 0;
  border: 0;
  border-radius: 999px;
  background: #c5d0d8;
  cursor: pointer;
  transition: background-color .2s ease;
}

.rba-cc-switch::before {
  content: "";
  position: absolute;
  top: 3px;
  left: 3px;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 1px 3px rgba(0, 0, 0, .25);
  transition: transform .2s ease;
}

.rba-cc-switch:checked {
  background: var(--rb-blue);
}

.rba-cc-switch:checked::before {
  transform: translateX(20px);
}

.rba-cc-dialog__foot {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 10px;
  padding: 16px 24px;
  border-top: 1px solid #eaeef2;
  background: #f7f9fb;
}

@media (max-width: 767.98px) {
  .rba-cc {
    left: 10px;
    right: 10px;
    bottom: 10px;
    flex-direction: column;
    align-items: stretch;
    padding: 16px;
  }

  .rba-cc__actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }

  .rba-cc__btn--link {
    order: 3;
    grid-column: 1 / -1;
    min-height: 36px;
  }

  .rba-cc-dialog__foot .rba-cc__btn {
    flex: 1 1 auto;
  }
}

@media (prefers-reduced-motion: reduce) {

  .rba-cc,
  .rba-cc-switch,
  .rba-cc-switch::before {
    transition: none;
  }
}



/* 27. LANDING PAGES: CITY / STATE / INDUSTRY / BRAND SHARED BASE (.CITY-PAGE) =================== */
/* ---- city page (scoped; site.min.css is purged, so layout styles live here) ---- */
.city-page {
  --cp-blue: var(--rb-blue);
  --cp-ink: #2d2d2d;
  --cp-muted: #6b7280;
  --cp-line: #e3e8ee;
  --cp-soft: #f4f8fc;
}

.city-page p a,
.city-page .cp-pill,
.city-page .cp-link-btn {
  color: var(--cp-blue);
  font-weight: 600;
}

.city-page p a:hover {
  text-decoration: underline;
}

@media (min-width: 992px) {
  .city-page .col-lg-5 {
    flex: 0 0 auto;
    width: 41.66666667%;
  }
}

.cp-hero {
  position: relative;
  overflow: hidden;
  color: #fff;
  padding: 70px 0 76px;
  background: var(--rb-blue-dark);
}

.cp-hero__bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  opacity: .9;
}

.cp-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(100deg, rgba(var(--rb-blue-dark-rgb), .96) 0%, rgba(var(--rb-blue-dark-rgb), .88) 45%, rgba(var(--rb-blue-rgb), .45) 100%);
}

.cp-hero>.container {
  position: relative;
  z-index: 2;
}

.cp-crumbs {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  list-style: none;
  padding: 0;
  margin: 0 0 18px;
  font-size: 13px;
  opacity: .85;
}

.cp-crumbs li+li::before {
  content: "\203A";
  margin-right: 6px;
}

.cp-crumbs a {
  color: #fff;
}

.cp-hero__eyebrow {
  display: inline-block;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: color-mix(in srgb, var(--rb-green-light) 50%, #fff);
  margin-bottom: 12px;
}

.cp-hero h1 {
  color: #fff;
  font-size: 46px;
  line-height: 1.15;
  margin: 0 0 18px;
}

.cp-hero__lead {
  font-size: 18px;
  line-height: 1.7;
  color: rgba(255, 255, 255, .9);
  max-width: 640px;
  margin: 0;
}

.cp-hero .cp-cta {
  margin-top: 28px;
}

.cp-trust {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 22px;
  list-style: none;
  padding: 0;
  margin: 26px 0 0;
  font-size: 15px;
}

.cp-trust li {
  position: relative;
  padding-left: 26px;
  color: rgba(255, 255, 255, .92);
}

.cp-trust li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 3px;
  width: 17px;
  height: 17px;
  border-radius: 50%;
  background: var(--rb-green-light) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8.5l2.5 2.5L12 5.5' fill='none' stroke='%23ffffff' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/13px no-repeat;
}

.cp-range {
  background: rgba(255, 255, 255, .08);
  border: 1px solid rgba(255, 255, 255, .18);
  border-radius: var(--rb-radius);
  padding: 24px;
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
}

.cp-range__title {
  display: block;
  font-size: 18px;
  font-weight: 700;
  margin-bottom: 4px;
}

.cp-range__sub {
  display: block;
  font-size: 14px;
  opacity: .8;
  margin-bottom: 14px;
}

.cp-range ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.cp-range li+li {
  border-top: 1px solid rgba(255, 255, 255, .14);
}

.cp-range a {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  padding: 11px 2px;
  color: #fff;
  font-size: 15px;
}

.cp-range a:hover {
  color: color-mix(in srgb, var(--rb-green-light) 50%, #fff);
}

.cp-why {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 12px;
}

.cp-why li {
  background: var(--cp-soft);
  border: 1px solid var(--cp-line);
  border-left: 4px solid var(--cp-blue);
  border-radius: var(--rb-radius);
  padding: 14px 16px;
}

.cp-why strong {
  display: block;
  color: var(--cp-ink);
  font-size: 16px;
  margin-bottom: 4px;
}

.cp-why span {
  font-size: 14px;
  line-height: 1.55;
  color: #4b5563;
}

.cp-section {
  padding: 64px 0;
}

.cp-section--soft {
  background: var(--cp-soft);
}

.cp-section--head {
  padding-bottom: 0;
}

.city-page .accordion-header {
  font-size: inherit;
  margin: 0;
}

.cp-eyebrow {
  display: inline-block;
  margin-bottom: 14px;
  padding: 6px 16px;
  border: 1px solid rgba(var(--rb-blue-rgb), .2);
  border-radius: 50px;
  background: rgba(var(--rb-blue-rgb), .06);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 1.6px;
  text-transform: uppercase;
  color: var(--rb-blue);
}

.cp-h2 {
  font-size: 30px;
  line-height: 1.25;
  color: var(--cp-blue);
  margin: 0 0 14px;
}

.cp-lead {
  font-size: 17px;
  line-height: 1.7;
  color: #4b5563;
}

.cp-about p {
  font-size: 16px;
  line-height: 1.75;
  color: #4b5563;
  margin-bottom: 14px;
  text-align: left;
}

.cp-cta {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 22px;
}

/* a text link inside a button row takes its own line, so the buttons above it stay on one row */
.cp-cta .cp-btn+.cp-link-btn {
  flex: 1 1 100%;
  margin-top: 2px;
}

.cp-cta--center {
  justify-content: center;
}

.city-page .cp-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  height: 46px;
  padding: 0 20px;
  border-radius: var(--rb-radius);
  border: 2px solid transparent;
  font-size: 15px;
  font-weight: 600;
  line-height: 1;
  white-space: nowrap;
  text-decoration: none;
  transition: background-color .2s, border-color .2s, color .2s, transform .2s;
}

.city-page .cp-btn:hover {
  transform: translateY(-1px);
}

.city-page .cp-btn i {
  font-size: 14px;
}

.city-page .cp-btn--accent {
  background: #fff;
  border-color: #fff;
  color: var(--cp-blue);
}

.city-page .cp-btn--accent:hover {
  background: color-mix(in srgb, var(--rb-blue) 8%, #fff);
  border-color: color-mix(in srgb, var(--rb-blue) 8%, #fff);
  color: var(--cp-blue);
}

.city-page .cp-btn--ghost {
  background: transparent;
  border-color: rgba(255, 255, 255, .75);
  color: #fff;
}

.city-page .cp-btn--ghost:hover {
  background: #fff;
  border-color: #fff;
  color: var(--rb-blue-dark);
}

.city-page .cp-btn--wa {
  background: var(--rb-green-light);
  border-color: var(--rb-green-light);
  color: #fff;
}

.city-page .cp-btn--wa:hover {
  background: var(--rb-green);
  border-color: var(--rb-green);
  color: #fff;
}

.city-page .cp-btn--outline {
  background: #fff;
  border-color: var(--cp-blue);
  color: var(--cp-blue);
}

.city-page .cp-btn--outline:hover {
  background: var(--cp-blue);
  color: #fff;
}

.cp-section[id] {
  scroll-margin-top: 100px;
}

.city-page .cp-btn--solid {
  background: var(--cp-blue);
  border-color: var(--cp-blue);
  color: #fff;
}

.city-page .cp-btn--solid:hover {
  background: var(--rb-blue-dark);
  border-color: var(--rb-blue-dark);
  color: #fff;
}

.cp-bcard {
  background: #fff;
  border: 1px solid var(--cp-line);
  border-radius: var(--rb-radius);
  overflow: hidden;
  box-shadow: 0 14px 34px rgba(var(--rb-blue-rgb), .07);
}

.cp-bcard__logo {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 140px;
  padding: 12px;
  background: var(--cp-soft);
  border-bottom: 1px solid var(--cp-line);
}

.cp-bcard__logo img {
  width: 280px;
  max-width: 100%;
  height: 116px;
  object-fit: cover;
  mix-blend-mode: multiply;
}

.cp-bcard__body {
  padding: 22px;
}

.cp-bcard__label {
  display: block;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--cp-muted);
  margin-bottom: 14px;
}

.cp-bcard__links {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
}

.cp-plink {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  border: 1px solid var(--cp-line);
  border-radius: var(--rb-radius);
  background: #fff;
  color: var(--cp-ink);
  font-size: 14px;
  font-weight: 600;
  line-height: 1.3;
  transition: all .2s;
}

.cp-plink i {
  font-style: normal;
  color: var(--cp-blue);
  transition: transform .2s;
}

.cp-plink:hover {
  border-color: var(--cp-blue);
  background: var(--cp-soft);
  color: var(--cp-blue);
}

.cp-plink:hover i {
  transform: translateX(3px);
}

.cp-ind-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 14px;
  margin-top: 34px;
}

.cp-ind {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  padding: 20px 12px;
  background: #fff;
  border: 1px solid var(--cp-line);
  border-radius: var(--rb-radius);
  color: var(--cp-ink);
  text-align: center;
  transition: transform .2s, box-shadow .2s, border-color .2s;
}

.cp-ind:hover {
  transform: translateY(-3px);
  border-color: var(--cp-blue);
  box-shadow: 0 10px 24px rgba(var(--rb-blue-rgb), .10);
  color: var(--cp-blue);
}

.cp-ind__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 64px;
  height: 64px;
  border-radius: 50%;
  background: var(--cp-soft);
}

.cp-ind__icon img {
  width: 36px;
  height: 36px;
  object-fit: contain;
}

.cp-ind__name {
  font-size: 15px;
  font-weight: 600;
  line-height: 1.3;
}

.cp-areas {
  margin: 34px 0 0;
  text-align: center;
}

.cp-areas__label {
  display: block;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--rb-green);
  margin-bottom: 14px;
}

.cp-areas__pills {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
}

.cp-area-pill {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 14px;
  border: 1px solid var(--cp-line);
  border-radius: var(--rb-radius);
  background: var(--cp-soft);
  font-size: 14px;
  font-weight: 600;
  color: var(--cp-ink);
}

.city-page a.cp-area-pill:hover {
  border-color: var(--cp-blue);
  color: var(--cp-blue);
}

.cp-area-pill::before {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--rb-green);
}

.cp-schneider .cp-count {
  display: block;
  margin-bottom: 12px;
}

.cp-facts {
  background: var(--cp-blue);
  color: #fff;
  border-radius: var(--rb-radius);
  padding: 28px;
  height: 100%;
}

.cp-facts__title {
  display: block;
  font-size: 14px;
  letter-spacing: .08em;
  text-transform: uppercase;
  opacity: .8;
  margin-bottom: 16px;
}

.cp-facts ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}

.cp-facts li {
  background: rgba(255, 255, 255, .08);
  border: 1px solid rgba(255, 255, 255, .15);
  border-radius: var(--rb-radius);
  padding: 16px;
}

.cp-facts li strong {
  display: block;
  font-size: 26px;
  line-height: 1.1;
  margin-bottom: 6px;
}

.cp-facts li span {
  font-size: 14px;
  line-height: 1.4;
  opacity: .9;
}

.cp-facts__addr {
  margin: 18px 0 0;
  font-size: 14px;
  line-height: 1.6;
  opacity: .9;
}

.cp-brands {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 14px;
  align-items: center;
}

.cp-brand {
  display: flex;
  align-items: center;
  justify-content: center;
  background: #fff;
  border: 1px solid var(--cp-line);
  border-radius: var(--rb-radius);
  height: 88px;
  padding: 10px 16px;
  transition: border-color .2s, box-shadow .2s;
}

.cp-brand:hover {
  border-color: var(--cp-blue);
  box-shadow: 0 6px 18px rgba(var(--rb-blue-rgb), .10);
}

.cp-brand img {
  width: 100%;
  height: 62px;
  object-fit: cover;
}

.cp-brands__label {
  display: block;
  text-align: center;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--cp-muted);
  margin-bottom: 14px;
}

.cp-chips {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
  margin: 26px 0 8px;
}

.cp-chip {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 14px;
  border: 1px solid var(--cp-line);
  border-radius: var(--rb-radius);
  background: #fff;
  color: var(--cp-ink);
  font-size: 14px;
  font-weight: 600;
  transition: all .2s;
}

.cp-chip:hover {
  border-color: var(--cp-blue);
  color: var(--cp-blue);
}

.cp-group {
  background: #fff;
  border: 1px solid var(--cp-line);
  border-radius: var(--rb-radius);
  padding: 26px;
  margin-top: 28px;
  scroll-margin-top: 110px;
}

.cp-group__head {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
  gap: 16px;
  margin-bottom: 20px;
  padding-bottom: 18px;
  border-bottom: 1px solid var(--cp-line);
}

.cp-group__head>div:first-child {
  flex: 1 1 520px;
}

.cp-group__title {
  font-size: 22px;
  line-height: 1.3;
  color: var(--cp-blue);
  margin: 0 0 8px;
  text-transform: none;
}

.cp-group__intro {
  margin: 0;
  font-size: 15px;
  line-height: 1.65;
  color: #4b5563;
}

.cp-group__links {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 6px;
}

.cp-count {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--cp-muted);
}

.cp-link-btn {
  font-size: 14px;
  white-space: nowrap;
}

.cp-card {
  display: flex;
  flex-direction: column;
  height: 100%;
  background: #fff;
  border: 1px solid var(--cp-line);
  border-radius: var(--rb-radius);
  overflow: hidden;
  color: var(--cp-ink);
  transition: transform .2s, box-shadow .2s, border-color .2s;
}

.cp-card:hover {
  transform: translateY(-3px);
  border-color: var(--cp-blue);
  box-shadow: 0 10px 24px rgba(var(--rb-blue-rgb), .12);
  color: var(--cp-ink);
}

.cp-card__img {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 170px;
  padding: 14px;
  background: var(--cp-soft);
}

.cp-card__img img {
  max-width: 100%;
  max-height: 142px;
  width: auto;
  height: auto;
  object-fit: contain;
  mix-blend-mode: multiply;
}

.cp-card__body {
  display: flex;
  flex-direction: column;
  padding: 14px 14px 6px;
}

.cp-card__brand {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--cp-muted);
  margin-bottom: 4px;
}

.cp-card__name {
  font-size: 15px;
  font-weight: 600;
  line-height: 1.35;
}

.cp-card__more {
  margin-top: auto;
  padding: 8px 14px 14px;
  font-size: 13px;
  font-weight: 700;
  color: var(--cp-blue);
}

.cp-area {
  height: 100%;
  background: #fff;
  border: 1px solid var(--cp-line);
  border-top: 4px solid var(--cp-blue);
  border-radius: var(--rb-radius);
  padding: 22px;
}

.cp-area__name {
  display: block;
  font-size: 18px;
  font-weight: 700;
  color: var(--cp-ink);
  margin-bottom: 14px;
}

.cp-area__label {
  display: block;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--cp-muted);
}

.cp-area p {
  font-size: 15px;
  line-height: 1.55;
  color: #4b5563;
  margin: 2px 0 12px;
}

.cp-area__link {
  font-size: 14px;
  font-weight: 700;
  color: var(--cp-blue);
}

.cp-schneider {
  background: #fff;
  border: 1px solid var(--cp-line);
  border-radius: var(--rb-radius);
  padding: 28px;
  height: 100%;
}

.cp-schneider__logo {
  display: block;
  max-width: 220px;
  height: auto;
  margin-bottom: 16px;
}

.cp-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.cp-pill {
  display: inline-block;
  padding: 7px 12px;
  border: 1px solid var(--cp-line);
  border-radius: var(--rb-radius);
  background: var(--cp-soft);
  font-size: 14px;
}

.cp-pill:hover {
  border-color: var(--cp-blue);
}

.cp-nap {
  background: var(--cp-blue);
  color: #fff;
  padding: 28px 26px;
  border-radius: var(--rb-radius);
  height: 100%;
}

.cp-nap__title {
  display: block;
  font-size: 22px;
  font-weight: 700;
  margin-bottom: 18px;
}

.cp-nap ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.cp-nap li {
  margin-bottom: 14px;
  line-height: 1.5;
}

.cp-nap li b {
  display: block;
  font-size: 12px;
  letter-spacing: .06em;
  text-transform: uppercase;
  opacity: .75;
}

.cp-nap a {
  color: #fff;
}

.cp-map {
  height: 100%;
  min-height: 380px;
}

.cp-map iframe {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 380px;
  border: 0;
  border-radius: var(--rb-radius);
}


.city-page .accordion-item {
  border-color: var(--cp-line);
}

@media (max-width: 991px) {
  .cp-brands {
    grid-template-columns: repeat(3, 1fr);
  }

  .cp-ind-grid {
    grid-template-columns: repeat(3, 1fr);
  }

  .cp-group__links {
    align-items: flex-start;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 12px;
  }
}

@media (max-width: 991px) {
  .cp-hero h1 {
    font-size: 36px;
  }

  .cp-range {
    margin-top: 10px;
  }
}

@media (max-width: 575px) {
  .cp-hero {
    padding: 44px 0 50px;
  }

  .cp-hero h1 {
    font-size: 30px;
  }

  .cp-hero__lead {
    font-size: 16px;
  }

  .cp-section {
    padding: 44px 0;
  }

  .cp-h2 {
    font-size: 24px;
  }

  .cp-group {
    padding: 16px;
  }

  .cp-group__title {
    font-size: 19px;
  }

  .cp-card__img {
    height: 130px;
  }

  .cp-card__img img {
    max-height: 104px;
  }

  .cp-card__name {
    font-size: 14px;
  }

  .cp-facts ul {
    grid-template-columns: 1fr 1fr;
  }


  .cp-brand {
    height: 72px;
  }

  .cp-cta .cp-btn {
    flex: 1 1 100%;
  }

  .cp-ind-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .cp-bcard__links {
    grid-template-columns: 1fr;
  }
}

/* <=767px: the theme drops .vlt-main's top margin and the fixed header overlays the page top */
@media (max-width: 767px) {
  .cp-hero {
    padding-top: 126px;
  }
}



/* 28. LANDING PAGES: INDUSTRY ADDITIONS (.IND-PAGE) ============================================= */
/* ---- industry page additions ---- */
/* hero: the industry photo shows at full strength; the gradient only darkens the text side */
.ind-page .cp-hero__bg {
  opacity: 1;
  object-position: 70% 30%;
}

.ind-page .cp-hero::before {
  background: linear-gradient(90deg, rgba(var(--rb-blue-dark-rgb), .94) 0%, rgba(var(--rb-blue-dark-rgb), .84) 38%, rgba(var(--rb-blue-dark-rgb), .45) 66%, rgba(var(--rb-blue-dark-rgb), .15) 100%);
}

.ind-page .cp-range {
  background: rgba(var(--rb-blue-dark-rgb), .66);
  border-color: rgba(255, 255, 255, .22);
}

@media (max-width: 991px) {
  .ind-page .cp-hero::before {
    background: linear-gradient(180deg, rgba(var(--rb-blue-dark-rgb), .90) 0%, rgba(var(--rb-blue-dark-rgb), .82) 100%);
  }
}

/* intro: statement + copy, need cards, logo band */
.ip-statement {
  font-size: 30px;
  line-height: 1.3;
  font-weight: 700;
  color: var(--cp-blue);
  margin: 0;
  padding-left: 20px;
  border-left: 4px solid var(--rb-green);
  text-align: left;
}

.ip-intro__copy p:last-child {
  margin-bottom: 0;
}

.ip-needs__head {
  margin-top: 48px;
}

.ip-needs {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 18px;
}

.ip-need {
  display: flex;
  flex-direction: column;
  padding: 24px 22px 20px;
  border-radius: var(--rb-radius);
  background: var(--cp-soft);
  border: 1px solid transparent;
  color: var(--cp-ink);
  transition: transform .2s, border-color .2s, background-color .2s, box-shadow .2s;
}

.ip-need:hover {
  transform: translateY(-3px);
  background: #fff;
  border-color: var(--cp-blue);
  box-shadow: 0 12px 28px rgba(var(--rb-blue-rgb), .10);
  color: var(--cp-ink);
}

.ip-need__top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 18px;
}

.ip-need__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 56px;
  height: 56px;
  border-radius: var(--rb-radius);
  background: var(--cp-blue);
  color: #fff;
  transition: background-color .2s;
}

.ip-need:hover .ip-need__icon {
  background: var(--rb-green);
}

.ip-need__icon svg {
  width: 30px !important;
  height: 30px !important;
  stroke-width: 2;
}

.ip-need__num {
  font-size: 28px;
  font-weight: 700;
  line-height: 1;
  color: #d5e1ec;
}

.ip-need__title {
  font-size: 17px;
  font-weight: 700;
  line-height: 1.35;
  color: var(--cp-ink);
  margin-bottom: 8px;
}

.ip-need__text {
  font-size: 14px;
  line-height: 1.6;
  color: #4b5563;
}

.ip-need__more {
  margin-top: auto;
  padding-top: 14px;
  font-size: 13px;
  font-weight: 700;
  color: var(--cp-blue);
}

.ip-logos {
  display: flex;
  align-items: center;
  gap: 28px;
  margin-top: 48px;
  padding-top: 28px;
  border-top: 1px solid var(--cp-line);
}

.ip-logos__label {
  flex: 0 0 170px;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--cp-muted);
  line-height: 1.5;
}

.ip-logos__row {
  flex: 1;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 10px 18px;
}

.ip-logo {
  display: block;
  opacity: .85;
  transition: opacity .2s, transform .2s;
}

.ip-logo:hover {
  opacity: 1;
  transform: translateY(-2px);
}

.ip-logo img {
  display: block;
  width: 130px;
  height: 56px;
  object-fit: cover;
}

@media (max-width: 1199px) {
  .ip-needs {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 991px) {
  .ip-statement {
    font-size: 25px;
  }

  .ip-logos {
    flex-direction: column;
    align-items: flex-start;
    gap: 14px;
  }

  .ip-logos__label {
    flex: none;
  }

  .ip-logos__row {
    width: 100%;
    justify-content: flex-start;
  }
}

@media (max-width: 575px) {
  .ip-needs {
    grid-template-columns: 1fr;
  }

  .ip-statement {
    font-size: 22px;
    padding-left: 16px;
  }

  .ip-logo img {
    width: 100px;
    height: 44px;
  }
}

.ip-used {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  margin-top: 12px;
}

.ip-used__label {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--rb-green);
  margin-right: 4px;
}

.ip-used a {
  display: inline-block;
  padding: 4px 10px;
  border-radius: var(--rb-radius);
  background: color-mix(in srgb, var(--rb-green) 8%, #fff);
  border: 1px solid color-mix(in srgb, var(--rb-green) 15%, #fff);
  color: var(--rb-green);
  font-size: 13px;
  font-weight: 600;
  line-height: 1.35;
  transition: all .2s;
}

.ip-used a:hover {
  background: var(--rb-green);
  border-color: var(--rb-green);
  color: #fff;
}

.ip-mach-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
}

.ip-mach {
  position: relative;
  display: flex;
  flex-direction: column;
  background: #fff;
  border: 1px solid var(--cp-line);
  border-radius: var(--rb-radius);
  padding: 24px 22px 22px;
  scroll-margin-top: 110px;
  transition: border-color .2s, box-shadow .2s;
}

.ip-mach:hover,
.ip-mach:target {
  border-color: var(--cp-blue);
  box-shadow: 0 12px 28px rgba(var(--rb-blue-rgb), .10);
}

.ip-mach__num {
  position: absolute;
  top: 18px;
  right: 20px;
  font-size: 13px;
  font-weight: 700;
  color: #9aa7b4;
  letter-spacing: .04em;
}

.ip-mach__title {
  font-size: 19px;
  line-height: 1.3;
  color: var(--cp-blue);
  margin: 0 36px 10px 0;
  text-transform: none;
}

.ip-mach p {
  font-size: 15px;
  line-height: 1.6;
  color: #4b5563;
  margin: 0 0 16px;
  text-align: left;
}

.ip-mach__label {
  display: block;
  margin-top: auto;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--cp-muted);
  margin-bottom: 8px;
}

.ip-mach__chips {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.ip-mach__chips a {
  display: inline-block;
  padding: 5px 10px;
  border: 1px solid var(--cp-line);
  border-radius: var(--rb-radius);
  background: var(--cp-soft);
  color: var(--cp-ink);
  font-size: 13px;
  font-weight: 600;
  line-height: 1.3;
  transition: all .2s;
}

.ip-mach__chips a:hover {
  border-color: var(--cp-blue);
  color: var(--cp-blue);
  background: #fff;
}

.ip-panel {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 36px 40px;
  border-radius: var(--rb-radius);
  color: #fff;
  background: linear-gradient(110deg, var(--rb-blue-dark) 0%, var(--rb-blue) 100%);
}

.ip-panel>div:first-child {
  flex: 1 1 520px;
}

.ip-panel__eyebrow {
  display: inline-block;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: color-mix(in srgb, var(--rb-green-light) 50%, #fff);
  margin-bottom: 10px;
}

.ip-panel__title {
  color: #fff;
  font-size: 26px;
  line-height: 1.25;
  margin: 0 0 10px;
}

.ip-panel p {
  color: rgba(255, 255, 255, .9);
  font-size: 16px;
  line-height: 1.65;
  margin: 0 0 12px;
  text-align: left;
}

.city-page .ip-panel__link {
  color: color-mix(in srgb, var(--rb-green-light) 50%, #fff);
  font-weight: 700;
  font-size: 15px;
}

.city-page .ip-panel__link:hover {
  color: #fff;
}

.ip-panel .cp-cta {
  margin-top: 0;
}

.ip-ind-grid {
  grid-template-columns: repeat(7, 1fr);
}

@media (max-width: 1199px) {
  .ip-ind-grid {
    grid-template-columns: repeat(5, 1fr);
  }
}

@media (max-width: 991px) {
  .ip-mach-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .ip-ind-grid {
    grid-template-columns: repeat(3, 1fr);
  }

  .cp-brands[style] {
    grid-template-columns: repeat(3, 1fr) !important;
  }
}

@media (max-width: 575px) {
  .ip-mach-grid {
    grid-template-columns: 1fr;
  }

  .ip-ind-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .ip-panel {
    padding: 24px 20px;
  }

  .ip-panel__title {
    font-size: 22px;
  }
}



/* 29. LANDING PAGES: BRAND ADDITIONS (.BP-PAGE) ================================================= */
/* ---- brand page additions ----
       The page carries .city-page + .bp-page, NOT .ind-page: the ip-* card styles above are unscoped and
       still apply, while the `.ind-page .cp-range` / `.cp-hero` overrides (higher specificity) stay off. */
.bp-page .cp-hero__bg {
  object-position: 72% center;
}

/* products in the bg image stay visible on the right; the text side stays dark for contrast */
.bp-page .cp-hero::before {
  background: linear-gradient(90deg, rgba(var(--rb-blue-dark-rgb), .95) 0%, rgba(var(--rb-blue-dark-rgb), .9) 46%, rgba(var(--rb-blue-dark-rgb), .45) 68%, rgba(var(--rb-blue-dark-rgb), .35) 100%);
}

.bp-hero__logo {
  display: flex;
  width: max-content;
  align-items: center;
  justify-content: center;
  height: 56px;
  padding: 0 14px;
  margin-bottom: 18px;
  background: #fff;
  border-radius: var(--rb-radius);
  overflow: hidden;
}

.bp-hero__logo img {
  width: 150px;
  height: 56px;
  object-fit: cover;
}

/* product group jump strip, directly below the hero */
.bp-jump {
  background: #fff;
  border-bottom: 1px solid var(--cp-line);
  padding: 18px 0;
}

.bp-jump .container {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px 18px;
}

.bp-jump__title {
  font-size: 14px;
  font-weight: 700;
  color: var(--cp-blue);
}

.bp-jump ul {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.bp-jump a {
  display: inline-block;
  padding: 7px 14px;
  font-size: 13px;
  font-weight: 600;
  color: var(--cp-ink);
  border: 1px solid var(--cp-line);
  border-radius: var(--rb-radius);
  transition: border-color .2s, color .2s;
}

.bp-jump a:hover {
  border-color: var(--cp-blue);
  color: var(--cp-blue);
}

.bp-facts {
  height: auto;
}

.bp-facts ul {
  grid-template-columns: repeat(4, 1fr);
}

.bp-need {
  cursor: default;
}

.bp-need:hover {
  transform: none;
  background: var(--cp-soft);
  border-color: transparent;
  box-shadow: none;
}

.bp-need:hover .ip-need__icon {
  background: var(--cp-blue);
}

.bp-others {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 18px;
}

.bp-other {
  display: flex;
  flex-direction: column;
  background: #fff;
  border: 1px solid var(--cp-line);
  border-radius: var(--rb-radius);
  padding: 18px 18px 16px;
  color: var(--cp-ink);
  transition: border-color .2s, box-shadow .2s, transform .2s;
}

.bp-other:hover {
  border-color: var(--cp-blue);
  box-shadow: 0 12px 28px rgba(var(--rb-blue-rgb), .10);
  transform: translateY(-3px);
  color: var(--cp-ink);
}

.bp-other__logo {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 72px;
  margin-bottom: 12px;
  overflow: hidden;
}

.bp-other__logo img {
  width: 170px;
  max-width: 100%;
  height: 72px;
  object-fit: cover;
}

.bp-other__name {
  font-size: 15px;
  font-weight: 700;
  line-height: 1.35;
  color: var(--cp-blue);
  margin-bottom: 6px;
}

.bp-other__more {
  margin-top: auto;
  font-size: 13px;
  font-weight: 700;
  color: var(--rb-green);
}

@media (max-width: 1199px) {
  .bp-others {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (max-width: 991px) {
  .bp-facts ul {
    grid-template-columns: repeat(2, 1fr);
  }

  .bp-page .cp-hero::before {
    background: rgba(var(--rb-blue-dark-rgb), .86);
  }
}

@media (max-width: 575px) {
  .bp-others {
    grid-template-columns: repeat(2, 1fr);
  }

  .bp-facts ul {
    grid-template-columns: 1fr;
  }
}



/* 30. 404 PAGE ================================================================================== */
.rba-404 {
  padding: 60px 0 80px;
}

.rba-404__img {
  max-height: 260px;
  max-width: 100%;
  width: auto;
  height: auto;
}

.rba-404__code {
  font-size: 14px;
  font-weight: 700;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--rb-blue-light);
}

.rba-404__title {
  color: var(--rb-blue);
  font-size: 34px;
  font-weight: 700;
  margin: 10px 0 12px;
}

.rba-404__text {
  color: #5c6b82;
  font-size: 16px;
  max-width: 620px;
  margin: 0 auto 28px;
}

.rba-404__card {
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: var(--rb-radius);
  padding: 22px 24px;
  height: 100%;
}

.rba-404__card h3 {
  font-size: 17px;
  font-weight: 700;
  color: var(--rb-blue-dark);
  margin: 0 0 14px;
}

.rba-404__list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.rba-404__list li {
  margin: 0 0 9px;
}

.rba-404__list a {
  color: var(--rb-blue-light);
  text-decoration: none;
  font-size: 15px;
}

.rba-404__list a:hover {
  text-decoration: underline;
}

.rba-404__help {
  background: #f1f6fb;
  border: 1px solid color-mix(in srgb, var(--rb-blue) 12%, #fff);
  border-radius: var(--rb-radius);
  padding: 22px 24px;
}

.rba-404__help a {
  color: var(--rb-blue);
  font-weight: 600;
  text-decoration: none;
  overflow-wrap: anywhere;
}

.rba-404__help .sep {
  color: #9bb3c7;
  padding: 0 6px;
}

.rba-404__help a:hover {
  text-decoration: underline;
}

@media (max-width: 767px) {
  .rba-404 {
    padding: 40px 0 60px;
  }

  .rba-404__title {
    font-size: 26px;
  }

  .rba-404__img {
    max-height: 180px;
  }

  .rba-404__card,
  .rba-404__help {
    padding: 18px 16px;
  }

  .rba-404__help p {
    line-height: 2;
  }
}



/* 31. LEGAL PAGES (.PAGE-FORMAT: PRIVACY POLICY, TERMS) ========================================= */
.page-format {
  margin: 100px 0;
}

.page-format .page-wrap {
  background: rgba(255, 255, 255, 1);
  width: 100%;
  max-width: 100%;
  padding: 50px;
  margin: 0 auto;
  position: relative;
  -webkit-border-radius: var(--rb-radius);
  -moz-border-radius: var(--rb-radius);
  border-radius: var(--rb-radius);
  -webkit-box-shadow: 0px 0px 40px rgba(0, 0, 0, 0.15);
  -moz-box-shadow: 0px 0px 40px rgba(0, 0, 0, 0.15);
  box-shadow: 0px 0px 40px rgba(0, 0, 0, 0.15);
}

.page-format .page-wrap .date {
  text-align: right;
  line-height: 1.5;
  letter-spacing: normal;
  font-weight: 600;
}

.page-format .page-wrap a {
  color: var(--rb-blue);
}

.page-format .page-wrap a:hover {
  color: var(--rb-blue-dark);
}

.page-format h1 {
  margin-bottom: 30px;
  font-size: 40px;
}

.page-format p {
  text-align: justify;
  margin-bottom: 5px;
}

.page-format li {
  margin-bottom: 10px;
}

.page-format .page-wrap-is {
  padding: 20px 0;
  border-bottom: 1px solid #aaa;
}

.page-format .page-wrap-is:last-child {
  border-bottom: none;
}



/* 32. SOCIAL SHARE BUTTONS (SOCIAL-SHARE.PHP) =================================================== */
.social-share {
  position: fixed;
  top: 40%;
  right: 0;
  z-index: 9999;
}

.social-btn {
  background-color: var(--rb-blue);
  color: white;
  font-size: 18px;
  border-radius: var(--rb-radius);
  height: 35px;
  width: 35px;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 1px;
}

.social-btn a {
  color: #fff;
}

.social-btn.fb {
  background-color: #3b5998;
}

.social-btn.whats-app {
  background-color: #25d366;
}

.social-btn.tweetr {
  background-color: #00acee;
}

.social-btn.linkdin {
  background-color: #0A66C2;
}



/* 33. SUMMARIZE-WITH-AI BAR (SUMMARIZE-WITH-AI.PHP) ============================================= */
.summarize-ai {
  position: relative;
  margin: 28px 0;
  padding: 18px 20px;
  background: #f8fafc;
  border: 1px solid #e5e7eb;
  border-radius: var(--rb-radius);
}

.summarize-ai__label {
  font-size: 15px;
  font-weight: 600;
  color: var(--rb-blue-dark);
  margin-bottom: 12px;
  letter-spacing: -0.2px;
}

.summarize-ai__btns {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.summarize-ai .ai-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 16px;
  border-radius: var(--rb-radius);
  color: #fff;
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
  line-height: 1;
  cursor: pointer;
  transition: transform .15s ease, box-shadow .2s ease, opacity .2s ease;
  box-shadow: 0 2px 6px rgba(var(--rb-blue-dark-rgb), .08);
}

.summarize-ai .ai-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 14px rgba(var(--rb-blue-dark-rgb), .15);
  color: #fff;
  text-decoration: none;
}

.summarize-ai .ai-btn:active {
  transform: translateY(0);
}

.summarize-ai .ai-btn svg {
  flex-shrink: 0;
}

.summarize-ai .ai-btn--chatgpt {
  background: #0b7a5f;
}

.summarize-ai .ai-btn--claude {
  background: #a84f2e;
}

.summarize-ai .ai-btn--google {
  background: #ffffff;
  color: #1f2937;
  border: 1px solid #e5e7eb;
}

.summarize-ai .ai-btn--google:hover {
  color: #1f2937;
}

.summarize-ai .ai-btn--perplexity {
  background: #4f46e5;
}

.summarize-ai__toast {
  position: absolute;
  left: 50%;
  bottom: -14px;
  transform: translate(-50%, 100%);
  background: var(--rb-blue-dark);
  color: #fff;
  font-size: 13px;
  padding: 10px 16px;
  border-radius: var(--rb-radius);
  box-shadow: 0 10px 24px rgba(var(--rb-blue-dark-rgb), .25);
  z-index: 5;
  white-space: nowrap;
  opacity: 0;
  transition: opacity .25s ease, transform .25s ease;
  pointer-events: none;
}

.summarize-ai__toast.is-show {
  opacity: 1;
  transform: translate(-50%, 100%) translateY(-6px);
}

@media (max-width: 480px) {
  .summarize-ai {
    padding: 14px;
  }

  .summarize-ai__btns {
    gap: 8px;
  }

  .summarize-ai .ai-btn {
    padding: 9px 12px;
    font-size: 13px;
  }

  .summarize-ai__toast {
    white-space: normal;
    max-width: 90%;
    text-align: center;
  }
}



/* 34. SENSOR SPEC TABLE (TEMPERATURE-TRANSMITTER-HEAD-MOUNT-RB01.PHP) =========================== */
/* Sensors List table - keep the merged Type column as the blue label column
           and stop the Model column from picking up the first-child label style */
.sensors-table td[rowspan] {
  background: var(--rb-blue) !important;
  color: #fff !important;
  font-weight: 600;
}

.sensors-table tr:nth-child(odd) td:first-child {
  background: #ececec !important;
  color: #333 !important;
}

.sensors-table tr:nth-child(2n) td:first-child {
  background: #d9dada !important;
  color: #333 !important;
}



/* 35. GLOBAL SHAPE: SAFETY NET ================================================================== */
/* The tokens live in section 00 and every rule above already reads them. What is left here is the
   safety net: elements that had NO radius of their own but should still carry the brand shape.
   Deliberately left out: close buttons (x), toggle switches, radio/checkbox, circular avatars and
   icons, the site loader and full-bleed hero backdrops - the shape reads as damage on those. */

/* ---- buttons + CTAs ----
   Matched by shape, not by name: anything whose class contains "btn" (.btn, .vlt-btn, .cp-btn,
   .hero-slide__btn, .pd-btn, .download-btn-1, .ai-btn ...), every <button>, submit/reset inputs
   and [role="button"]. The :not() list is the exceptions - close and dismiss controls, round
   affordances and layout wrappers, which the shape would wreck. Add a name to one of the two
   lists rather than writing a new rule. */
:is(button,
  [class*="btn"],
  [role="button"],
  input[type="submit"],
  input[type="button"],
  input[type="reset"],
  .cn-cb-submit,
  .cn-cb-tab,
  .nav-link,
  .cp-cta > a,
  .ip-used a,
  .ip-mach__chips a):not(.close-btn,
  .closebtn,
  .btn-close,
  .btn-group,
  .btn-group-vertical,
  .btn-toolbar,
  .cn-cb-close,
  .cn-cb-fab,
  .rba-cc-dialog__close,
  .ws-close,
  .ws-next,
  .ws-prev,
  .navbar-toggler,
  .mfp-close,
  .mfp-arrow,
  .fancybox-button,
  .vlt-menu-burger,
  .social-icon,
  .rbchat__fab,
  .rbchat__icon,
  .rbchat__chip,
  .rbchat__send,
  #closebtn) {
  border-radius: var(--rb-radius) !important;
}

/* ---- cards + boxes ---- */
.cp-card,
.cp-bcard,
.pa-card,
.product-card,
.cp-range,
.ip-need,
.ip-mach,
.ip-panel,
.rba-404__card,
.profile-card,
.toc-wrapper,
.sidebar-content-right,
.page-format .page-wrap,
.popup-content,
.popup-box,
.cn-cb-modal,
.vlt-service-box,
.timeline__content {
  border-radius: var(--rb-radius) !important;
}

/* ---- images + media ---- */
.cp-card__img img,
.cp-bcard__logo img,
.pa-card img,
.product-card img,
.app-left-img img,
.profile-left img,
.vlt-post-thumbnail img,
.blog-page .blog-post img,
.about-us-section video,
.diagram-section img {
  border-radius: var(--rb-radius) !important;
}

/* ---- inputs, textareas, selects ---- */
input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]):not([type="hidden"]):not(.rbchat__input):not(.dl-search__input),
textarea,
select,
.form-control,
.input-round,
.cn-cb-input,
.cn-cb-cc,
.popup-box input,
.popup-body input,
.popup-body textarea {
  border-radius: var(--rb-radius) !important;
}

/* ===== CUSTOMIZED SOLUTIONS PROCESS (homepage 8-step animated flow) ===== */
.csp-section {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  padding: 100px 0 110px;
  background: linear-gradient(140deg, var(--rb-blue-dark) 0%, var(--rb-blue) 55%, var(--rb-blue-dark) 100%);
  color: #fff;
}

.csp-section::before {
  content: "";
  position: absolute;
  inset: -80px;
  z-index: -2;
  background-image: linear-gradient(rgba(255, 255, 255, .05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, .05) 1px, transparent 1px);
  background-size: 64px 64px;
  animation: cspGrid 24s linear infinite;
  will-change: transform;
}

@keyframes cspGrid {
  from {
    transform: translate3d(0, 0, 0);
  }

  to {
    transform: translate3d(64px, 64px, 0);
  }
}

.csp-orb {
  position: absolute;
  z-index: -1;
  width: 420px;
  height: 420px;
  border-radius: 50%;
  filter: blur(10px);
  opacity: .45;
  pointer-events: none;
  will-change: transform;
}

.csp-orb--1 {
  top: -140px;
  left: -120px;
  background: radial-gradient(circle, rgba(var(--rb-green-rgb), .45) 0%, rgba(var(--rb-green-rgb), 0) 68%);
  animation: cspDrift1 18s ease-in-out infinite;
}

.csp-orb--2 {
  right: -140px;
  bottom: -160px;
  background: radial-gradient(circle, rgba(var(--rb-blue-light-rgb), .5) 0%, rgba(var(--rb-blue-light-rgb), 0) 68%);
  animation: cspDrift2 22s ease-in-out infinite;
}

@keyframes cspDrift1 {

  0%,
  100% {
    transform: translate3d(0, 0, 0) scale(1);
  }

  50% {
    transform: translate3d(70px, 50px, 0) scale(1.12);
  }
}

@keyframes cspDrift2 {

  0%,
  100% {
    transform: translate3d(0, 0, 0) scale(1.08);
  }

  50% {
    transform: translate3d(-60px, -45px, 0) scale(1);
  }
}

.csp-head {
  max-width: 820px;
  margin: 0 auto 70px;
  text-align: center;
}

.csp-eyebrow {
  display: inline-block;
  padding: 7px 18px;
  border: 1px solid rgba(255, 255, 255, .25);
  border-radius: 50px;
  background: rgba(255, 255, 255, .06);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: color-mix(in srgb, var(--rb-green-light) 50%, #fff);
}

.csp-title {
  margin: 18px 0 0;
  font-size: clamp(30px, 4vw, 52px);
  font-weight: 800;
  line-height: 1.15;
  color: #fff;
}

.csp-sub {
  margin: 16px auto 0;
  max-width: 720px;
  font-size: 17px;
  line-height: 1.65;
  color: rgba(255, 255, 255, .76);
}

.csp-steps {
  --csp-rowgap: 100px;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--csp-rowgap) 34px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.csp-step {
  position: relative;
  text-align: center;
}

/* JS-driven reveal: without JS every step stays visible */
.csp-section.csp-js .csp-step {
  opacity: 0;
  transform: translateY(30px);
}

.csp-section.csp-js.is-in .csp-step {
  animation: cspIn .7s cubic-bezier(.22, .85, .3, 1) forwards;
  animation-delay: calc(var(--i, 0) * 90ms);
}

@keyframes cspIn {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* dashed connector running from one node to the next */
.csp-step::before {
  content: "";
  position: absolute;
  top: 65px;
  left: 62%;
  right: -32%;
  height: 2px;
  background: repeating-linear-gradient(90deg, rgba(255, 255, 255, .42) 0 8px, transparent 8px 17px);
}

.csp-step::after {
  content: "";
  position: absolute;
  top: 59px;
  right: -26px;
  width: 13px;
  height: 13px;
  border-top: 2px solid color-mix(in srgb, var(--rb-green-light) 50%, #fff);
  border-right: 2px solid color-mix(in srgb, var(--rb-green-light) 50%, #fff);
  transform: rotate(45deg);
  animation: cspNudge 1.9s ease-in-out infinite;
  animation-delay: calc(var(--i, 0) * 140ms);
}

.csp-step:nth-child(4n)::before,
.csp-step:nth-child(4n)::after,
.csp-step:last-child::before,
.csp-step:last-child::after {
  display: none;
}

@keyframes cspNudge {

  0%,
  100% {
    transform: rotate(45deg) translate(0, 0);
    opacity: .55;
  }

  50% {
    transform: rotate(45deg) translate(5px, -5px);
    opacity: 1;
  }
}

.csp-step__node {
  position: relative;
  z-index: 1;
  display: grid;
  place-items: center;
  width: 132px;
  height: 132px;
  margin: 0 auto 24px;
  border-radius: 50%;
  background: linear-gradient(160deg, #fff 0%, color-mix(in srgb, var(--rb-blue) 8%, #fff) 100%);
  box-shadow: 0 18px 38px rgba(0, 0, 0, .28);
  color: var(--rb-blue);
  transition: transform .35s ease, box-shadow .35s ease, color .35s ease;
}

.csp-step__ring {
  position: absolute;
  inset: -13px;
  border-radius: 50%;
  border: 2px dashed rgba(255, 255, 255, .38);
  animation: cspSpin 24s linear infinite;
  transition: border-color .35s ease;
  will-change: transform;
}

.csp-step:nth-child(even) .csp-step__ring {
  animation-direction: reverse;
}

@keyframes cspSpin {
  to {
    transform: rotate(360deg);
  }
}

.csp-step__icon svg {
  display: block;
  width: 56px;
  height: 56px;
  animation: cspFloat 4.6s ease-in-out infinite;
  animation-delay: calc(var(--i, 0) * .3s);
}

@keyframes cspFloat {

  0%,
  100% {
    transform: translateY(0);
  }

  50% {
    transform: translateY(-5px);
  }
}

.csp-step__num {
  position: absolute;
  right: 2px;
  bottom: 4px;
  display: grid;
  place-items: center;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: var(--rb-green);
  box-shadow: 0 6px 16px rgba(0, 0, 0, .3);
  font-size: 13px;
  font-weight: 700;
  color: #fff;
  transition: transform .35s ease, background-color .35s ease;
}

.csp-step__title {
  margin: 0 0 9px;
  min-height: 50px;
  font-size: 19px;
  font-weight: 700;
  line-height: 1.3;
  color: #fff;
}

.csp-step__text {
  margin: 0;
  font-size: 14.5px;
  line-height: 1.6;
  color: rgba(255, 255, 255, .7);
}

.csp-step:hover .csp-step__node,
.csp-step:focus-within .csp-step__node {
  transform: translateY(-9px) scale(1.04);
  box-shadow: 0 28px 52px rgba(0, 0, 0, .38);
  color: var(--rb-green);
}

.csp-step:hover .csp-step__ring,
.csp-step:focus-within .csp-step__ring {
  border-color: color-mix(in srgb, var(--rb-green-light) 50%, #fff);
}

.csp-step:hover .csp-step__num,
.csp-step:focus-within .csp-step__num {
  transform: scale(1.12);
  background: var(--rb-green);
}

.csp-cta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 14px 22px;
  margin-top: 70px;
}

.csp-cta__btn {
  position: relative;
  overflow: hidden;
  display: inline-block;
  padding: 16px 36px;
  border-radius: var(--rb-radius);
  background: var(--rb-green);
  font-size: 16px;
  font-weight: 700;
  color: #fff;
  text-decoration: none;
  transition: transform .3s ease, background-color .3s ease, box-shadow .3s ease;
}

.csp-cta__btn::after {
  content: "";
  position: absolute;
  top: 0;
  left: -120%;
  width: 60%;
  height: 100%;
  background: linear-gradient(100deg, transparent, rgba(255, 255, 255, .35), transparent);
  animation: cspShine 4.5s ease-in-out infinite;
}

@keyframes cspShine {

  0%,
  60% {
    transform: translateX(0);
  }

  100% {
    transform: translateX(380%);
  }
}

.csp-cta__btn:hover,
.csp-cta__btn:focus {
  background: var(--rb-green-dark);
  color: #fff;
  transform: translateY(-3px);
  box-shadow: 0 16px 30px rgba(0, 0, 0, .3);
}

.csp-cta__link {
  font-size: 16px;
  font-weight: 600;
  color: rgba(255, 255, 255, .8);
  text-decoration: none;
  transition: color .3s ease;
}

.csp-cta__link:hover,
.csp-cta__link:focus {
  color: color-mix(in srgb, var(--rb-green-light) 50%, #fff);
}

@media (prefers-reduced-motion: reduce) {

  .csp-section::before,
  .csp-orb,
  .csp-step,
  .csp-step::after,
  .csp-step__ring,
  .csp-step__icon svg,
  .csp-cta__btn::after {
    animation: none !important;
  }

  .csp-section.csp-js .csp-step {
    opacity: 1;
    transform: none;
  }
}

/* row wrap connector: carries the flow from step 04 (end of row 1) back to step 05 (start of row 2) */
.csp-wrap {
  position: absolute;
  top: calc(var(--csp-rowgap, 100px) / -2);
  left: 50%;
  width: calc(300% + 102px);
  height: 2px;
  background: repeating-linear-gradient(90deg, rgba(255, 255, 255, .42) 0 8px, transparent 8px 17px);
}

/* drop into step 05 node */
.csp-wrap::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 2px;
  height: calc(var(--csp-rowgap, 100px) / 2);
  background: repeating-linear-gradient(180deg, rgba(255, 255, 255, .42) 0 7px, transparent 7px 15px);
}

/* riser coming down out of step 04 */
.csp-wrap::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  width: 2px;
  height: calc(var(--csp-rowgap, 100px) / 2);
  background: repeating-linear-gradient(180deg, rgba(255, 255, 255, .42) 0 7px, transparent 7px 15px);
}

/* three chevrons travelling right-to-left along the run */
.csp-wrap__arrow {
  position: absolute;
  top: -6px;
  width: 12px;
  height: 12px;
  border-top: 2px solid color-mix(in srgb, var(--rb-green-light) 50%, #fff);
  border-left: 2px solid color-mix(in srgb, var(--rb-green-light) 50%, #fff);
  transform: rotate(-45deg);
  animation: cspRunLeft 2.1s ease-in-out infinite;
}

.csp-wrap__arrow:nth-child(1) {
  left: 20%;
  animation-delay: .36s;
}

.csp-wrap__arrow:nth-child(2) {
  left: 50%;
  animation-delay: .18s;
}

.csp-wrap__arrow:nth-child(3) {
  left: 80%;
}

@keyframes cspRunLeft {

  0%,
  100% {
    transform: rotate(-45deg) translate(0, 0);
    opacity: .45;
  }

  50% {
    transform: rotate(-45deg) translate(-4px, -4px);
    opacity: 1;
  }
}

/* arrowhead dropping into step 05 */
.csp-wrap__drop {
  position: absolute;
  left: -5px;
  top: calc(var(--csp-rowgap, 100px) / 2 - 16px);
  width: 12px;
  height: 12px;
  border-right: 2px solid color-mix(in srgb, var(--rb-green-light) 50%, #fff);
  border-bottom: 2px solid color-mix(in srgb, var(--rb-green-light) 50%, #fff);
  transform: rotate(45deg);
  animation: cspDrop 2.1s ease-in-out infinite;
}

@keyframes cspDrop {

  0%,
  100% {
    transform: rotate(45deg) translate(0, 0);
    opacity: .55;
  }

  50% {
    transform: rotate(45deg) translate(4px, 4px);
    opacity: 1;
  }
}

@media (prefers-reduced-motion: reduce) {

  .csp-wrap__arrow,
  .csp-wrap__drop {
    animation: none !important;
  }
}

/* ===== SHARED SECTION HEADER: pill + title + intro line ===== */
.sec-head {
  max-width: 760px;
  margin: 0 auto 46px;
  text-align: center;
}

.sec-head--spaced {
  margin-top: 90px;
}

/* The eyebrow pill is green on every section header - it is the one green note
   against the blue title, so the two never compete. */
.sec-eyebrow {
  display: inline-block;
  margin-bottom: 14px;
  padding: 6px 16px;
  border: 1px solid rgba(var(--rb-green-rgb), .28);
  border-radius: 50px;
  background: rgba(var(--rb-green-rgb), .08);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 1.6px;
  text-transform: uppercase;
  color: var(--rb-green);
}

.sec-head .sec-title {
  margin: 0;
  font-size: clamp(26px, 3vw, 38px);
  font-weight: 800;
  line-height: 1.2;
  color: var(--rb-blue);
}

.sec-head .sec-sub {
  margin: 14px auto 0;
  max-width: 640px;
  font-size: 16px;
  line-height: 1.65;
  color: #5c6b74;
}

/* on dark or image backgrounds - explicit --light, plus every section whose own
   background is dark, so a header there never renders navy-on-navy */
.sec-head--light .sec-eyebrow,
.product-parallax .sec-head .sec-eyebrow,
.diagram-section .sec-head .sec-eyebrow,
.features-section .sec-head .sec-eyebrow {
  border-color: rgba(255, 255, 255, .3);
  background: rgba(255, 255, 255, .1);
  color: color-mix(in srgb, var(--rb-green-light) 50%, #fff);
}

.sec-head--light .sec-title,
.product-parallax .sec-head .sec-title,
.diagram-section .sec-head .sec-title,
.features-section .sec-head .sec-title {
  color: #fff;
}

.sec-head--light .sec-sub,
.product-parallax .sec-head .sec-sub,
.diagram-section .sec-head .sec-sub,
.features-section .sec-head .sec-sub {
  color: rgba(255, 255, 255, .82);
}

/* ===== TECHNICAL PARTNERS (homepage) ===== */
.partner-section.technical-partners-1 {
  /* component/exhibition-component.php already ends with a vlt-gap-120 */
  padding: 90px 0 0;
}

.tp-grid {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 20px;
}

.tp-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 14px;
  min-height: 180px;
  padding: 30px 18px 22px;
  border: 1px solid #e0e7ec;
  border-radius: var(--rb-radius);
  background: #fff;
  text-decoration: none;
  transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}

.tp-card img {
  width: 100%;
  max-width: 100%;
  height: 76px;
  object-fit: contain;
  filter: grayscale(1);
  opacity: .72;
  transition: filter .3s ease, opacity .3s ease;
}

.tp-card__name {
  font-size: 13px;
  font-weight: 600;
  letter-spacing: .3px;
  color: #5c6b74;
  text-align: center;
  transition: color .3s ease;
}

.tp-card:hover,
.tp-card:focus-visible {
  transform: translateY(-6px);
  border-color: rgba(var(--rb-green-rgb), .45);
  box-shadow: 0 16px 32px rgba(var(--rb-blue-rgb), .14);
}

.tp-card:hover img,
.tp-card:focus-visible img {
  filter: grayscale(0);
  opacity: 1;
}

.tp-card:hover .tp-card__name,
.tp-card:focus-visible .tp-card__name {
  color: var(--rb-green);
}

@media (prefers-reduced-motion: reduce) {

  .tp-card,
  .tp-card img,
  .tp-card__name {
    transition: none !important;
  }

  .tp-card:hover,
  .tp-card:focus-visible {
    transform: none;
  }
}

/* sec-head variant that spans its parent's full width instead of the 760px cap.
   Section titles are centred site-wide; only a header sitting in a media/text column
   or inside an article body keeps its column's left alignment. */
.sec-head--auto {
  max-width: none;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 26px;
  text-align: center;
}

.sec-head--auto .sec-sub {
  margin-left: auto;
  margin-right: auto;
  max-width: 680px;
}

/* headers in a flex column beside an image, or inside a blog/guide article body */
[class*="col-"].d-flex .sec-head--auto,
.col-lg-8 .sec-head--auto,
.blog-content .sec-head--auto,
.stickycontent .sec-head--auto {
  text-align: left;
  margin-left: 0;
  margin-right: 0;
}

[class*="col-"].d-flex .sec-head--auto .sec-sub,
.col-lg-8 .sec-head--auto .sec-sub,
.blog-content .sec-head--auto .sec-sub,
.stickycontent .sec-head--auto .sec-sub {
  margin-left: 0;
  margin-right: 0;
}

/* a wrapper that explicitly centres its own text keeps the header centred */
.text-center .sec-head--auto,
.text-center .sec-head--auto .sec-sub {
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}

.sec-head h1.sec-title {
  font-size: clamp(30px, 4vw, 46px);
}

/* table / block captions inside spec sections */
.sec-caption {
  margin: 0 0 14px;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.35;
  text-align: center;
  color: var(--rb-blue);
}

/* 36. FOCUS: ONE RING, KEYBOARD ONLY ============================================================
   The theme carried Bootstrap 4's reboot ring (button:focus { outline: 5px auto
   -webkit-focus-ring-color }) plus a handful of outline:0 resets on links and buttons, so a mouse
   click drew a stray ring while a keyboard user got nothing. This section is the single policy:
   pointer focus stays silent, keyboard focus gets one 2px brand ring. Components that already
   declare their own :focus-visible ring out-specify this and keep theirs. */
:focus:not(:focus-visible) {
  outline: none;
}

/* !important is load-bearing: the theme resets outlines on a:focus, button:focus and every
   input[type=...], all at a higher specificity than a bare :focus-visible selector. */
:where(a, button, [role="button"], [tabindex], summary, input, select, textarea):not(:where(.rb-mega, .rb-mega *, .rb-drawer, .rb-drawer *)):focus-visible {
  outline: 2px solid var(--rb-blue) !important;
  outline-offset: 2px !important;
}

/* a control on a dark background needs the ring to read against it */
.product-parallax :focus-visible,
.diagram-section :focus-visible,
.features-section :focus-visible,
.csp-section :focus-visible,
.footer-section :focus-visible {
  outline-color: color-mix(in srgb, var(--rb-green-light) 50%, #fff) !important;
}

/* where a wrapper owns the focus treatment (:focus-within), the control inside must not add a
   second ring - that is what put a box inside the downloads search field */
.dl-search__field :focus-visible,
.cn-cb-phone-wrap :focus-visible,
.jump-to-page :focus-visible,
.csp-step :focus-visible {
  outline: none !important;
}

/* ==========================================================================
   Mobile drawer menu (.rbm) - markup in component/mobile-menu.php
   Left slide-in panel: logo + close, Menu / Products / Contact tabs, and
   full-width rows that carry a blue left bar on the page you are on.
   ========================================================================== */
.rbm {
  position: fixed;
  inset: 0;
  /* above the floating call/chat buttons and the sticky header */
  z-index: 100001;
  visibility: hidden;
  pointer-events: none;
}

.rbm.is-open {
  visibility: visible;
  pointer-events: auto;
}

.rbm__scrim {
  position: absolute;
  inset: 0;
  background: rgba(var(--rb-blue-dark-rgb), .55);
  opacity: 0;
  transition: opacity .3s ease;
}

.rbm.is-open .rbm__scrim {
  opacity: 1;
}

.rbm__panel {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  width: min(86vw, 400px);
  display: flex;
  flex-direction: column;
  background: #fff;
  box-shadow: 0 0 40px rgba(var(--rb-blue-dark-rgb), .25);
  transform: translateX(-100%);
  transition: transform .32s cubic-bezier(.4, 0, .2, 1);
}

.rbm.is-open .rbm__panel {
  transform: translateX(0);
}

body.rbm-locked {
  overflow: hidden;
}

/* header row: logo, boxed close button */
.rbm__top {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 14px 18px;
  border-bottom: 1px solid var(--rb-line);
}

.rbm__logo img {
  display: block;
  width: 118px;
  height: auto;
}

.rbm__close {
  flex: 0 0 auto;
  position: relative;
  width: 40px;
  height: 40px;
  padding: 0;
  border: 2px solid var(--rb-blue);
  border-radius: 10px;
  background: #fff;
  cursor: pointer;
}

.rbm__close::before,
.rbm__close::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 16px;
  height: 2px;
  margin: -1px 0 0 -8px;
  background: var(--rb-ink);
  border-radius: 2px;
}

.rbm__close::before {
  transform: rotate(45deg);
}

.rbm__close::after {
  transform: rotate(-45deg);
}

/* tab rail: segmented control, a white pill slides under the active tab */
.rbm__tabs {
  flex: 0 0 auto;
  position: relative;
  display: flex;
  padding: 5px;
  background: var(--rb-tint);
  border-bottom: 1px solid var(--rb-line);
}

.rbm__tabs-ink {
  position: absolute;
  top: 5px;
  bottom: 5px;
  left: 5px;
  width: calc((100% - 10px) / 3);
  border-radius: 10px;
  background: #fff;
  box-shadow: 0 1px 2px rgba(var(--rb-blue-dark-rgb), .12), 0 6px 14px rgba(var(--rb-blue-dark-rgb), .10);
  transform: translateX(calc(var(--rbm-i, 0) * 100%));
  transition: transform .28s cubic-bezier(.4, 0, .2, 1);
}

.rbm__tab {
  position: relative;
  z-index: 1;
  flex: 1 1 0;
  padding: 12px 4px;
  border: 0;
  border-radius: 10px;
  background: none;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .05em;
  text-transform: uppercase;
  color: var(--rb-muted);
  cursor: pointer;
  transition: color .2s ease, transform .15s ease;
}

.rbm__tab.is-active {
  color: var(--rb-blue);
  font-weight: 700;
}

.rbm__tab:active {
  transform: scale(.97);
}

@media (prefers-reduced-motion: reduce) {

  .rbm__tabs-ink,
  .rbm__tab,
  .rbm__panel,
  .rbm__scrim {
    transition: none;
  }
}

/* panes */
.rbm__body {
  flex: 1 1 auto;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;
}

.rbm__pane[hidden] {
  display: none;
}

.rbm__list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.rbm__list>li {
  border-bottom: 1px solid var(--rb-line);
}

.rbm__link {
  position: relative;
  display: block;
  width: 100%;
  padding: 16px 22px;
  border: 0;
  background: none;
  text-align: left;
  font-size: 15.5px;
  line-height: 1.35;
  font-weight: 500;
  color: var(--rb-text);
  text-decoration: none;
  cursor: pointer;
  transition: background .2s ease, color .2s ease;
}

.rbm__link::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 4px;
  background: var(--rb-blue);
  opacity: 0;
  transition: opacity .2s ease;
}

.rbm__link.is-current {
  background: var(--rb-tint);
  color: var(--rb-blue);
  font-weight: 600;
}

/* open accordion header: square corners, tint a step darker than its sub-list */
.rbm__acc.is-open>.rbm__link--acc {
  border-radius: 0;
  background: var(--rb-blue-lighter);
  color: var(--rb-blue);
  font-weight: 600;
}

.rbm__link.is-current::before,
.rbm__acc.is-open>.rbm__link--acc::before {
  opacity: 1;
}

/* accordion rows carry a caret that flips when open */
.rbm__link--acc {
  padding-right: 48px;
}

.rbm__link--acc::after {
  content: "";
  position: absolute;
  right: 22px;
  top: 50%;
  width: 8px;
  height: 8px;
  margin-top: -6px;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: rotate(45deg);
  transition: transform .25s ease;
}

.rbm__acc.is-open>.rbm__link--acc::after {
  margin-top: -2px;
  transform: rotate(-135deg);
}

.rbm__sub {
  margin: 0;
  padding: 0;
  list-style: none;
  max-height: 0;
  overflow: hidden;
  background: var(--rb-tint);
  transition: max-height .3s ease;
}

.rbm__acc.is-open>.rbm__sub {
  max-height: 720px;
}

.rbm__sub>li+li {
  border-top: 1px solid var(--rb-line);
}

.rbm__sub a {
  display: block;
  padding: 13px 22px 13px 36px;
  font-size: 14.5px;
  line-height: 1.35;
  color: var(--rb-text);
  text-decoration: none;
}

/* contact pane */
.rbm__contact {
  margin: 0;
  padding: 0;
  list-style: none;
}

.rbm__contact>li {
  border-bottom: 1px solid var(--rb-line);
}

.rbm__contact>li>a {
  display: block;
  padding: 14px 22px;
  text-decoration: none;
}

.rbm__contact>li>.rbm__ct-label {
  padding: 14px 22px 0;
}

.rbm__contact>li>.rbm__ct-value {
  padding: 0 22px 14px;
}

.rbm__ct-label {
  display: block;
  margin-bottom: 3px;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--rb-muted);
}

.rbm__ct-value {
  display: block;
  font-size: 15px;
  line-height: 1.45;
  font-weight: 500;
  color: var(--rb-ink);
}

/* pane footer CTA */
.rbm__foot {
  padding: 20px 22px 28px;
}

.rbm__btn {
  display: block;
  padding: 14px 20px;
  border-radius: var(--rb-radius);
  background: var(--rb-blue);
  color: #fff;
  font-size: 14.5px;
  font-weight: 600;
  text-align: center;
  text-decoration: none;
}

.rbm__btn:hover,
.rbm__btn:focus {
  background: var(--rb-blue-dark);
  color: #fff;
}
/* 37. PRODUCT CATEGORY GRID (OUR-PRODUCTS.PHP) ==================================================
   The three family cards on /our-products. The markup is one <a> per card, so the whole tile is
   the hit area and nothing inside it is interactive. The product art is a transparent cut-out on
   a soft blue panel; the body carries the family name, one line of plain English, the product
   groups inside it as chips, and the CTA row. Cards stretch to equal height from the grid.
   ============================================================================================= */

.pcat-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 26px;
}

.pcat-card {
  display: flex;
  flex-direction: column;
  overflow: hidden;
  background: #fff;
  border: 1px solid var(--rb-line);
  border-radius: var(--rb-radius);
  box-shadow: 0 14px 34px rgba(var(--rb-blue-rgb), .07);
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}

.pcat-card:hover,
.pcat-card:focus-visible {
  transform: translateY(-6px);
  border-color: rgba(var(--rb-blue-rgb), .35);
  box-shadow: 0 22px 44px rgba(var(--rb-blue-rgb), .16);
}

/* ---- product art ---- */
/* The three cut-outs come in at different pixel sizes, so the panel fixes the ratio and the
   image is contained inside it - no cropping of a motor or a sensor, and no CLS. */
.pcat-card__media {
  position: relative;
  aspect-ratio: 4 / 3;
  padding: 26px 26px 18px;
  background: linear-gradient(160deg, var(--rb-tint-2) 0%, #fff 72%);
  border-bottom: 1px solid var(--rb-line);
}

.pcat-card__media img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  transition: transform .45s ease;
}

.pcat-card:hover .pcat-card__media img {
  transform: scale(1.05);
}

/* count badge, sat on the art rather than in the body so the body stays text-only */
.pcat-card__badge {
  position: absolute;
  top: 16px;
  left: 16px;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 6px 13px;
  border: 1px solid rgba(var(--rb-blue-rgb), .16);
  border-radius: 50px;
  background: rgba(255, 255, 255, .92);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .02em;
  color: var(--rb-blue);
}

.pcat-card__badge i {
  font-size: 14px;
  color: var(--rb-green);
}

/* ---- body ---- */
.pcat-card__body {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  padding: 24px 26px 26px;
}

.pcat-card__title {
  margin: 0 0 10px;
  font-size: 22px;
  font-weight: 800;
  line-height: 1.25;
  color: var(--rb-blue);
  transition: color .2s ease;
}

.pcat-card:hover .pcat-card__title {
  color: var(--rb-blue-light);
}

.pcat-card__text {
  margin: 0 0 18px;
  font-size: 15px;
  line-height: 1.65;
  color: var(--rb-muted);
}

/* the product groups inside the family - plain text, not links, because the card is the link */
.pcat-card__chips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  list-style: none;
  margin: 0 0 22px;
  padding: 0;
}

.pcat-card__chips li {
  padding: 5px 12px;
  border: 1px solid var(--rb-line);
  border-radius: 50px;
  background: var(--rb-tint);
  font-size: 12.5px;
  font-weight: 600;
  line-height: 1.4;
  color: var(--rb-text);
}

/* CTA sits on the bottom edge of every card whatever the chip count above it */
.pcat-card__cta {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  margin-top: auto;
  font-size: 15px;
  font-weight: 700;
  color: var(--rb-green);
}

.pcat-card__cta i {
  transition: transform .25s ease;
}

.pcat-card:hover .pcat-card__cta i {
  transform: translateX(5px);
}

@media (max-width: 991px) {
  .pcat-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
  }

  .pcat-card__media {
    padding: 20px 20px 14px;
  }

  .pcat-card__body {
    padding: 20px 20px 22px;
  }

  .pcat-card__title {
    font-size: 20px;
  }
}

@media (max-width: 575px) {
  .pcat-grid {
    grid-template-columns: 1fr;
  }

  /* a lifting card under a thumb reads as a glitch, so touch gets colour only */
  .pcat-card:hover {
    transform: none;
  }
}

/* 38. PRODUCT SUBCATEGORY GRID (CONTROL-SYSTEM / PROCESS-INSTRUMENTATION / OBJECT-DETECTION / PLC)
   The tier below section 37: the product groups inside one family. Same card contract - one <a>
   per tile, nothing interactive inside it - but lighter, because these grids run to ten items.
   The product shots here are photographed on white (no alpha), so the media area stays white and
   contains the image instead of cropping it; a tinted panel would show the photo's white box.
   .exb-single is deliberately left alone: it still dresses the exhibition cards.
   ============================================================================================= */

.psub-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}

.psub-card {
  display: flex;
  flex-direction: column;
  overflow: hidden;
  background: #fff;
  border: 1px solid var(--rb-line);
  border-radius: var(--rb-radius);
  box-shadow: 0 10px 26px rgba(var(--rb-blue-rgb), .06);
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}

.psub-card:hover,
.psub-card:focus-visible {
  transform: translateY(-5px);
  border-color: rgba(var(--rb-blue-rgb), .35);
  box-shadow: 0 20px 40px rgba(var(--rb-blue-rgb), .14);
}

/* ---- product shot ---- */
/* Sources run from 534x534 to 1240x604, so the box fixes the ratio and the photo is contained:
   the old rule cropped a 1240x604 SCADA screen into a square. */
.psub-card__media {
  aspect-ratio: 4 / 3;
  padding: 18px;
  background: #fff;
  border-bottom: 1px solid var(--rb-line);
}

.psub-card__media img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  transition: transform .4s ease;
}

.psub-card:hover .psub-card__media img {
  transform: scale(1.06);
}

/* ---- body ---- */
.psub-card__body {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  padding: 20px 22px 22px;
}

.psub-card__title {
  margin: 0 0 8px;
  font-size: 19px;
  font-weight: 800;
  line-height: 1.3;
  color: var(--rb-blue);
  transition: color .2s ease;
}

.psub-card:hover .psub-card__title {
  color: var(--rb-blue-light);
}

.psub-card__text {
  margin: 0 0 18px;
  font-size: 14.5px;
  line-height: 1.6;
  color: var(--rb-muted);
}

.psub-card__cta {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: auto;
  font-size: 14.5px;
  font-weight: 700;
  color: var(--rb-green);
}

.psub-card__cta i {
  transition: transform .25s ease;
}

.psub-card:hover .psub-card__cta i {
  transform: translateX(5px);
}

@media (max-width: 991px) {
  .psub-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 18px;
  }

  .psub-card__body {
    padding: 18px 18px 20px;
  }

  .psub-card__title {
    font-size: 18px;
  }
}

@media (max-width: 575px) {
  .psub-grid {
    grid-template-columns: 1fr;
  }

  .psub-card:hover {
    transform: none;
  }
}

/* 39. PRODUCT PAGE HERO (.PP-HERO, _BUILD/PRODUCT-HERO) ========================================
   All product pages reuse the city-page hero (.cp-hero + .city-page on the section only, so the
   product body keeps its own styles). No right-hand card (removed by the user). */
.pp-hero .cp-hero__bg {
  opacity: .85;
  object-position: 72% center;
}

.pp-hero::before {
  background: linear-gradient(90deg, rgba(var(--rb-blue-dark-rgb), .95) 0%, rgba(var(--rb-blue-dark-rgb), .88) 42%, rgba(var(--rb-blue-dark-rgb), .55) 72%, rgba(var(--rb-blue-dark-rgb), .25) 100%);
}

.pp-hero h1 {
  font-size: 40px;
}

@media (max-width: 991px) {
  .pp-hero::before {
    background: linear-gradient(180deg, rgba(var(--rb-blue-dark-rgb), .90) 0%, rgba(var(--rb-blue-dark-rgb), .82) 100%);
  }

  .pp-hero h1 {
    font-size: 34px;
  }
}

@media (max-width: 575px) {
  .pp-hero h1 {
    font-size: 28px;
  }
}

/* 40. CAREER PAGE (.CR-PAGE, CAREER.PHP) ========================================================
   Why-join perks, job cards with a <details> toggle, role-select form, hiring steps, gallery.
   The older .job-single / .current-opening base rules further up still apply underneath. */
.cr-page .cr-why {
  padding: 90px 0;
  background: #fff;
}

.cr-page .cr-why__img {
  width: 100%;
  height: auto;
  border-radius: var(--rb-radius);
  box-shadow: 0 20px 50px rgba(var(--rb-blue-dark-rgb), .12);
}

.cr-page .cr-why .sec-head--auto,
.cr-page .cr-why .sec-head--auto .sec-sub {
  text-align: left;
  margin-left: 0;
  margin-right: 0;
}

.cr-page .cr-perks {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  margin-top: 28px;
}

.cr-page .cr-perk {
  padding: 22px 22px 20px;
  background: var(--rb-tint);
  border: 1px solid var(--rb-line);
  border-radius: var(--rb-radius);
  transition: border-color .25s ease, background-color .25s ease;
}

.cr-page .cr-perk:hover {
  background: #fff;
  border-color: rgba(var(--rb-blue-rgb), .35);
}

.cr-page .cr-perk i {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  margin-bottom: 14px;
  font-size: 19px;
  color: #fff;
  background: var(--rb-blue);
  border-radius: var(--rb-radius);
}

.cr-page .cr-perk h3 {
  font-size: 18px;
  line-height: 1.35;
  color: var(--rb-ink);
  margin: 0 0 6px;
}

.cr-page .cr-perk p {
  font-size: 15px;
  line-height: 1.6;
  color: var(--rb-text);
  margin: 0;
}

.cr-page .cr-why__cta {
  margin-top: 26px;
}

/* openings */
.cr-page .current-opening {
  background: var(--rb-tint);
  padding: 90px 0;
}

.cr-page .current-opening .sec-head {
  margin-bottom: 40px;
}

.cr-page .job-single {
  padding: 28px 30px;
  margin-bottom: 22px;
  border: 1px solid var(--rb-line);
  border-left: 5px solid var(--rb-blue);
  box-shadow: 0 10px 30px rgba(var(--rb-blue-dark-rgb), .06);
  scroll-margin-top: 120px;
  transition: box-shadow .25s ease, border-color .25s ease;
}

.cr-page .job-single:hover,
.cr-page .job-single:target {
  border-left-color: var(--rb-green);
  box-shadow: 0 16px 40px rgba(var(--rb-blue-dark-rgb), .12);
}

.cr-page .job-title {
  display: block;
  padding-bottom: 16px;
  margin-bottom: 16px;
  border-bottom: 1px solid var(--rb-line);
}

.cr-page .job-dept {
  display: inline-block;
  padding: 3px 12px;
  margin-bottom: 10px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--rb-green-dark);
  background: var(--rb-green-lighter);
  border-radius: var(--rb-radius);
}

.cr-page .job-title h3 {
  font-size: 26px;
  font-weight: 700;
  line-height: 1.25;
  color: var(--rb-blue);
  margin: 0 0 12px;
}

.cr-page .job-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  list-style: none;
  padding: 0;
  margin: 0;
}

.cr-page .job-meta li {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 5px 12px;
  font-size: 14px;
  color: var(--rb-text);
  background: var(--rb-tint-2);
  border-radius: var(--rb-radius);
}

.cr-page .job-meta i {
  color: var(--rb-blue);
}

.cr-page .job-summary {
  font-size: 16px;
  line-height: 1.7;
  color: var(--rb-text);
  margin: 0 0 14px;
}

.cr-page .job-more {
  margin-bottom: 18px;
}

.cr-page .job-more summary {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-weight: 700;
  color: var(--rb-blue);
  cursor: pointer;
  list-style: none;
}

.cr-page .job-more summary::-webkit-details-marker {
  display: none;
}

.cr-page .job-more summary:hover {
  color: var(--rb-blue-dark);
}

.cr-page .job-more summary i {
  transition: transform .25s ease;
}

.cr-page .job-more[open] summary i {
  transform: rotate(180deg);
}

.cr-page .job-more .job-description {
  padding-top: 8px;
}

.cr-page .job-description h4 {
  font-size: 18px;
  color: var(--rb-ink);
  margin: 16px 0 10px;
}

.cr-page .job-description ul {
  margin: 0;
}

.cr-page .job-apply {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 12px 26px;
  font-weight: 700;
  color: #fff;
  background: var(--rb-green);
  border-radius: var(--rb-radius);
  transition: background-color .2s ease;
}

.cr-page .job-apply:hover {
  color: #fff;
  background: var(--rb-green-dark);
}

.cr-page .job-apply i {
  transition: transform .2s ease;
}

.cr-page .job-apply:hover i {
  transform: translateX(4px);
}

.cr-page .job-single--open {
  background: var(--rb-blue);
  border-color: var(--rb-blue);
  border-left-color: var(--rb-green);
  color: #fff;
}

.cr-page .job-single--open h3 {
  color: #fff;
  font-size: 24px;
  margin: 0 0 8px;
}

.cr-page .job-single--open p {
  color: rgba(255, 255, 255, .88);
  margin: 0 0 18px;
}

/* form */
.cr-page .cr-form-col {
  scroll-margin-top: 110px;
}

@media (min-width: 992px) {
  .cr-page .cr-form-col {
    position: sticky;
    top: 110px;
  }
}

.cr-page .form-style-one1 {
  margin: 0;
  padding: 32px;
  border: 1px solid var(--rb-line);
  border-top: 4px solid var(--rb-green);
  box-shadow: 0 16px 40px rgba(var(--rb-blue-dark-rgb), .10);
}

.cr-page .form-style-one1 .sec-head {
  margin-bottom: 22px;
}

.cr-page .form-style-one1 select {
  width: 100%;
  height: 50px;
  padding: 0 14px;
  font-size: 16px;
  color: var(--rb-text);
  background: #fff;
  border: 1px solid #ddd;
  border-radius: var(--rb-radius);
}

.cr-page .form-style-one1 select:focus {
  border-color: var(--rb-green);
  outline: none;
}

.cr-page .form-style-one1 textarea {
  min-height: 110px;
  padding: 12px 15px;
}

.cr-page .cr-upload {
  position: relative;
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 14px 18px;
  margin-bottom: 25px;
  cursor: pointer;
  background: var(--rb-tint);
  border: 2px dashed rgba(var(--rb-blue-rgb), .45);
  border-radius: var(--rb-radius);
  transition: border-color .2s ease, background-color .2s ease;
}

.cr-page .cr-upload:hover,
.cr-page .cr-upload:focus-within {
  border-color: var(--rb-blue);
  background: var(--rb-tint-2);
}

.cr-page .cr-upload.is-filled {
  border-style: solid;
  border-color: var(--rb-green);
}

.cr-page .cr-upload input {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  cursor: pointer;
}

.cr-page .cr-upload > i {
  font-size: 22px;
  color: var(--rb-blue);
}

.cr-page .cr-upload.is-filled > i {
  color: var(--rb-green);
}

.cr-page .cr-upload__text {
  display: flex;
  flex-direction: column;
  min-width: 0;
}

.cr-page .cr-upload__text strong {
  color: var(--rb-ink);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.cr-page .cr-upload__text small {
  font-size: 13px;
  color: var(--rb-muted);
}

.cr-page .cr-consent {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  margin-bottom: 14px;
  font-size: 13px;
  line-height: 1.5;
  color: #444;
  cursor: pointer;
}

.cr-page .cr-consent input {
  flex-shrink: 0;
  width: 15px;
  height: 15px;
  margin-top: 3px;
  accent-color: var(--rb-blue);
}

.cr-page .cr-consent a,
.cr-page .cr-form-alt a {
  color: var(--rb-blue);
  text-decoration: underline;
}

.cr-page .cr-form-alt {
  margin: 18px 0 0;
  padding-top: 16px;
  font-size: 14px;
  color: var(--rb-muted);
  border-top: 1px solid var(--rb-line);
}

/* hiring steps */
.cr-page .cr-steps {
  padding: 90px 0;
  background: #fff;
}

.cr-page .cr-steps__list {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 22px;
  list-style: none;
  padding: 0;
  margin: 40px 0 0;
}

.cr-page .cr-steps__list li {
  position: relative;
  padding: 26px 24px;
  background: var(--rb-tint);
  border: 1px solid var(--rb-line);
  border-radius: var(--rb-radius);
}

.cr-page .cr-steps__list li:not(:last-child)::after {
  content: "";
  position: absolute;
  top: 44px;
  right: -22px;
  width: 22px;
  height: 2px;
  background: rgba(var(--rb-blue-rgb), .3);
}

.cr-page .cr-steps__num {
  display: block;
  margin-bottom: 12px;
  font-size: 36px;
  font-weight: 800;
  line-height: 1;
  color: var(--rb-green);
}

.cr-page .cr-steps__list h3 {
  font-size: 19px;
  color: var(--rb-ink);
  margin: 0 0 6px;
}

.cr-page .cr-steps__list p {
  font-size: 15px;
  line-height: 1.6;
  color: var(--rb-text);
  margin: 0;
}

/* life @ gallery */
.cr-page .cr-life {
  padding: 90px 0 120px;
  background: var(--rb-tint);
}

.cr-page .cr-life .sec-head {
  margin-bottom: 36px;
}

.cr-page .career-gallery .img-box {
  overflow: hidden;
}

.cr-page .career-gallery .img-box img {
  width: 100%;
  transition: transform .5s ease;
}

.cr-page .career-gallery .img-box:hover img {
  transform: scale(1.05);
}

@media (max-width: 991px) {
  .cr-page .cr-why,
  .cr-page .current-opening,
  .cr-page .cr-steps {
    padding: 60px 0;
  }

  .cr-page .cr-life {
    padding: 60px 0 80px;
  }

  .cr-page .cr-steps__list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .cr-page .cr-steps__list li::after {
    display: none;
  }
}

@media (max-width: 575px) {
  .cr-page .cr-perks,
  .cr-page .cr-steps__list {
    grid-template-columns: 1fr;
  }

  .cr-page .job-single {
    padding: 22px 18px;
  }

  .cr-page .job-title h3 {
    font-size: 22px;
  }

  .cr-page .form-style-one1 {
    padding: 22px 16px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .cr-page .career-gallery .img-box img,
  .cr-page .job-apply i,
  .cr-page .job-more summary i {
    transition: none;
  }
}

/* 41. CONTACT + SUPPORT PAGES (.CT-PAGE CONTACT.PHP, .SP-PAGE SUPPORT.PHP) ========================
   Quick-channel cards lifted over the banner, labelled inquiry form, dark locations panel.
   The form card (.ct-form) and dark panel (.ct-info, .ct-btn) are shared by both pages.
   The two-map band below uses the .contact-map rules further down. */
.ct-page .ct-quick {
  position: relative;
  z-index: 2;
  margin-top: -56px;
}

.ct-page .ct-quick__list {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
  list-style: none;
  padding: 0;
  margin: 0;
}

.ct-page .ct-quick__card {
  display: flex;
  flex-direction: column;
  height: 100%;
  padding: 24px 22px;
  color: var(--rb-text);
  text-decoration: none;
  background: #fff;
  border: 1px solid var(--rb-line);
  border-bottom: 4px solid var(--rb-blue);
  border-radius: var(--rb-radius);
  box-shadow: 0 16px 40px rgba(var(--rb-blue-dark-rgb), .10);
  transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease;
}

.ct-page a.ct-quick__card:hover,
.ct-page a.ct-quick__card:focus-visible {
  transform: translateY(-4px);
  border-bottom-color: var(--rb-green);
  box-shadow: 0 22px 48px rgba(var(--rb-blue-dark-rgb), .16);
}

.ct-page .ct-quick__card i {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 46px;
  height: 46px;
  margin-bottom: 14px;
  font-size: 19px;
  color: #fff;
  background: var(--rb-blue);
  border-radius: var(--rb-radius);
  transition: background-color .25s ease;
}

.ct-page a.ct-quick__card:hover i {
  background: var(--rb-green);
}

.ct-page .ct-quick__label {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--rb-muted);
}

.ct-page .ct-quick__card strong {
  margin-top: 4px;
  font-size: 17px;
  line-height: 1.35;
  color: var(--rb-ink);
  overflow-wrap: anywhere;
}

/* form + locations */
.ct-page .ct-main {
  padding: 80px 0 100px;
}

:is(.ct-page, .sp-page) .ct-form {
  height: 100%;
  padding: 38px 40px 40px;
  background: #fff;
  border: 1px solid var(--rb-line);
  border-top: 4px solid var(--rb-green);
  border-radius: var(--rb-radius);
  box-shadow: 0 16px 40px rgba(var(--rb-blue-dark-rgb), .08);
}

:is(.ct-page, .sp-page) .ct-form .sec-head--auto,
:is(.ct-page, .sp-page) .ct-form .sec-head--auto .sec-sub {
  text-align: left;
  margin-left: 0;
  margin-right: 0;
}

:is(.ct-page, .sp-page) .ct-form .sec-head {
  margin-bottom: 28px;
}

.ct-page .ct-field {
  display: block;
  width: 100%;
  margin: 0;
}

.ct-page .ct-field input,
.ct-page .ct-field textarea {
  display: block;
  width: 100%;
  padding: 13px 16px;
  font-size: 16px;
  line-height: 1.4;
  color: var(--rb-ink);
  background: var(--rb-tint);
  border: 1px solid var(--rb-line);
  border-radius: var(--rb-radius);
  transition: border-color .2s ease, background-color .2s ease, box-shadow .2s ease;
}

.ct-page .ct-field input {
  height: 52px;
}

.ct-page .ct-field textarea {
  min-height: 140px;
  resize: vertical;
}

.ct-page .ct-field input::placeholder,
.ct-page .ct-field textarea::placeholder {
  color: var(--rb-muted);
}

.ct-page .ct-field input:focus,
.ct-page .ct-field textarea:focus {
  outline: none;
  background: #fff;
  border-color: var(--rb-blue);
  box-shadow: 0 0 0 3px rgba(var(--rb-blue-rgb), .12);
}

.ct-page .ct-consent {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin: 4px 0 0;
  font-size: 14px;
  line-height: 1.55;
  color: var(--rb-text);
  cursor: pointer;
}

.ct-page .ct-consent input {
  flex-shrink: 0;
  width: 16px;
  height: 16px;
  margin-top: 3px;
  accent-color: var(--rb-blue);
}

.ct-page .ct-consent a {
  color: var(--rb-blue);
  text-decoration: underline;
}

.ct-page .ct-submit {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 15px 34px;
  font-size: 15px;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: #fff;
  background: var(--rb-green);
  border: 0;
  border-radius: var(--rb-radius);
  cursor: pointer;
  transition: background-color .2s ease;
}

.ct-page .ct-submit:hover,
.ct-page .ct-submit:focus-visible {
  background: var(--rb-green-dark);
}

.ct-page .ct-submit:disabled {
  opacity: .7;
  cursor: wait;
}

.ct-page .ct-submit i {
  transition: transform .2s ease;
}

.ct-page .ct-submit:hover i {
  transform: translate(3px, -3px);
}

/* dark locations panel */
:is(.ct-page, .sp-page) .ct-info {
  position: relative;
  height: 100%;
  padding: 38px 34px;
  overflow: hidden;
  color: #fff;
  background:
    radial-gradient(circle at 100% 0%, rgba(var(--rb-blue-light-rgb), .55) 0, rgba(var(--rb-blue-light-rgb), 0) 60%),
    var(--rb-blue-dark);
  border-radius: var(--rb-radius);
}

:is(.ct-page, .sp-page) .ct-info .sec-eyebrow {
  border-color: rgba(255, 255, 255, .3);
  background: rgba(255, 255, 255, .1);
  color: color-mix(in srgb, var(--rb-green-light) 50%, #fff);
}

:is(.ct-page, .sp-page) .ct-info__title {
  margin: 0 0 24px;
  font-size: clamp(24px, 2.4vw, 30px);
  font-weight: 800;
  color: #fff;
}

.ct-page .ct-office {
  padding: 20px 0;
  border-top: 1px solid rgba(255, 255, 255, .16);
}

.ct-page .ct-office__tag {
  display: inline-block;
  margin-bottom: 8px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: color-mix(in srgb, var(--rb-green-light) 50%, #fff);
}

.ct-page .ct-office p {
  display: flex;
  gap: 10px;
  margin: 0 0 10px;
  font-size: 15px;
  line-height: 1.6;
  color: rgba(255, 255, 255, .88);
}

.ct-page .ct-office p i {
  margin-top: 4px;
  color: var(--rb-green-light);
}

.ct-page .ct-office a {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  font-weight: 700;
  color: #fff;
  text-decoration: none;
}

.ct-page .ct-office a i {
  transition: transform .2s ease;
}

.ct-page .ct-office a:hover {
  color: color-mix(in srgb, var(--rb-green-light) 50%, #fff);
}

.ct-page .ct-office a:hover i {
  transform: translateX(4px);
}

:is(.ct-page, .sp-page) .ct-info__talk {
  margin-top: 6px;
  padding-top: 22px;
  border-top: 1px solid rgba(255, 255, 255, .16);
}

:is(.ct-page, .sp-page) .ct-info__talk p {
  margin: 0 0 14px;
  font-weight: 600;
  color: #fff;
}

:is(.ct-page, .sp-page) .ct-info__btns {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

:is(.ct-page, .sp-page) .ct-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 11px 20px;
  font-size: 14px;
  font-weight: 700;
  text-decoration: none;
  border-radius: var(--rb-radius);
  transition: background-color .2s ease, color .2s ease;
}

:is(.ct-page, .sp-page) .ct-btn--call {
  color: var(--rb-blue-dark);
  background: #fff;
}

:is(.ct-page, .sp-page) .ct-btn--call:hover {
  color: var(--rb-blue-dark);
  background: color-mix(in srgb, var(--rb-blue) 10%, #fff);
}

:is(.ct-page, .sp-page) .ct-btn--wa {
  color: #fff;
  background: #25d366;
}

:is(.ct-page, .sp-page) .ct-btn--wa:hover {
  color: #fff;
  background: #1ebe5b;
}

/* map band: tinted caption strip under the two frames */
.ct-page .google-map-style2-area {
  border-top: 1px solid var(--rb-line);
}

.ct-page .contact-map__cap {
  background: var(--rb-tint);
}

@media (max-width: 1199px) {
  .ct-page .ct-quick__list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 991px) {
  .ct-page .ct-quick {
    margin-top: -40px;
  }

  .ct-page .ct-main {
    padding: 60px 0 70px;
  }
}

@media (max-width: 575px) {
  .ct-page .ct-quick {
    margin-top: -24px;
  }

  .ct-page .ct-quick__list {
    gap: 12px;
  }

  .ct-page .ct-quick__card {
    padding: 18px 16px;
  }

  .ct-page .ct-quick__card strong {
    font-size: 15px;
  }

  :is(.ct-page, .sp-page) .ct-form,
  :is(.ct-page, .sp-page) .ct-info {
    padding: 26px 18px;
  }
}

@media (max-width: 400px) {
  .ct-page .ct-quick__list {
    grid-template-columns: 1fr;
  }
}

@media (prefers-reduced-motion: reduce) {
  .ct-page .ct-quick__card,
  .ct-page .ct-submit i,
  .ct-page .ct-office a i {
    transition: none;
  }
}

/* support page: service cards, shared support-form fields, steps, range, FAQ */
.sp-page .sp-services {
  padding: 90px 0 20px;
}

.sp-page .sp-svc {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 20px;
  list-style: none;
  padding: 0;
  margin: 0;
}

.sp-page .sp-svc li {
  padding: 28px 24px;
  background: var(--rb-tint);
  border: 1px solid var(--rb-line);
  border-radius: var(--rb-radius);
  transition: background-color .25s ease, border-color .25s ease, box-shadow .25s ease;
}

.sp-page .sp-svc li:hover {
  background: #fff;
  border-color: rgba(var(--rb-blue-rgb), .35);
  box-shadow: 0 16px 40px rgba(var(--rb-blue-dark-rgb), .10);
}

.sp-page .sp-svc i {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  margin-bottom: 16px;
  font-size: 20px;
  color: #fff;
  background: var(--rb-blue);
  border-radius: var(--rb-radius);
}

.sp-page .sp-svc h3 {
  margin: 0 0 8px;
  font-size: 18px;
  line-height: 1.35;
  color: var(--rb-ink);
}

.sp-page .sp-svc p {
  margin: 0;
  font-size: 15px;
  line-height: 1.6;
  color: var(--rb-text);
}

.sp-page .sp-main {
  padding: 70px 0 90px;
}

/* component/support-form.php is shared with 170+ pages, so it is restyled here, not edited */
.sp-page .ct-form .mb-25,
.sp-page .ct-form .mb-35 {
  margin-bottom: 18px;
}

.sp-page .ct-form input:not([type="checkbox"]):not([type="hidden"]):not([name="website"]),
.sp-page .ct-form select,
.sp-page .ct-form textarea {
  display: block;
  width: 100%;
  height: 52px;
  padding: 13px 16px;
  font-size: 16px;
  line-height: 1.4;
  color: var(--rb-ink);
  background: var(--rb-tint);
  border: 1px solid var(--rb-line);
  border-radius: var(--rb-radius);
  transition: border-color .2s ease, background-color .2s ease, box-shadow .2s ease;
}

.sp-page .ct-form textarea {
  height: auto;
  min-height: 140px;
  resize: vertical;
}

.sp-page .ct-form input::placeholder,
.sp-page .ct-form textarea::placeholder {
  color: var(--rb-muted);
}

.sp-page .ct-form input:focus,
.sp-page .ct-form select:focus,
.sp-page .ct-form textarea:focus {
  outline: none;
  background: #fff;
  border-color: var(--rb-blue);
  box-shadow: 0 0 0 3px rgba(var(--rb-blue-rgb), .12);
}

.sp-page .ct-form button[type="submit"] {
  display: inline-flex;
  align-items: center;
  height: 52px;
  padding: 0 34px;
  font-size: 15px;
  line-height: 1;
  letter-spacing: .04em;
  color: #fff;
  border: 0;
  background: var(--rb-green);
  transition: background-color .2s ease;
}

.sp-page .ct-form button[type="submit"]:hover {
  background: var(--rb-green-dark);
}

.sp-page .ct-form button[type="submit"] .bg {
  display: none;
}

/* dark panel extras */
.sp-page .sp-direct {
  list-style: none;
  padding: 0;
  margin: 0 0 14px;
}

.sp-page .sp-direct li {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px 0;
  border-top: 1px solid rgba(255, 255, 255, .16);
}

.sp-page .sp-direct i {
  width: 18px;
  text-align: center;
  color: var(--rb-green-light);
}

.sp-page .sp-direct a {
  font-weight: 700;
  color: #fff;
  text-decoration: none;
  overflow-wrap: anywhere;
}

.sp-page .sp-direct a:hover {
  color: color-mix(in srgb, var(--rb-green-light) 50%, #fff);
}

.sp-page .sp-hours {
  margin: 0 0 22px;
  font-size: 14px;
  color: rgba(255, 255, 255, .75);
}

.sp-page .sp-ready {
  margin-bottom: 24px;
  padding: 20px;
  background: rgba(255, 255, 255, .07);
  border: 1px solid rgba(255, 255, 255, .14);
  border-radius: var(--rb-radius);
}

.sp-page .sp-ready p {
  margin: 0 0 10px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: color-mix(in srgb, var(--rb-green-light) 50%, #fff);
}

.sp-page .sp-ready ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.sp-page .sp-ready li {
  display: flex;
  gap: 10px;
  padding: 5px 0;
  font-size: 14px;
  line-height: 1.5;
  color: rgba(255, 255, 255, .9);
}

.sp-page .sp-ready li i {
  margin-top: 3px;
  color: var(--rb-green-light);
}

/* steps */
.sp-page .sp-steps {
  padding: 90px 0;
  background: var(--rb-tint);
}

.sp-page .sp-steps__list {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 22px;
  list-style: none;
  padding: 0;
  margin: 0;
}

.sp-page .sp-steps__list li {
  position: relative;
  padding: 26px 24px;
  background: #fff;
  border: 1px solid var(--rb-line);
  border-radius: var(--rb-radius);
}

.sp-page .sp-steps__list li:not(:last-child)::after {
  content: "";
  position: absolute;
  top: 44px;
  right: -22px;
  width: 22px;
  height: 2px;
  background: rgba(var(--rb-blue-rgb), .3);
}

.sp-page .sp-steps__num {
  display: block;
  margin-bottom: 12px;
  font-size: 36px;
  font-weight: 800;
  line-height: 1;
  color: var(--rb-green);
}

.sp-page .sp-steps__list h3 {
  margin: 0 0 6px;
  font-size: 19px;
  color: var(--rb-ink);
}

.sp-page .sp-steps__list p {
  margin: 0;
  font-size: 15px;
  line-height: 1.6;
  color: var(--rb-text);
}

/* products + brands */
.sp-page .sp-range {
  padding: 90px 0;
}

.sp-page .sp-range .sec-head--auto,
.sp-page .sp-range .sec-head--auto .sec-sub {
  text-align: left;
  margin-left: 0;
  margin-right: 0;
}

.sp-page .sp-cats {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  list-style: none;
  padding: 0;
  margin: 0 0 26px;
}

.sp-page .sp-cats a {
  display: flex;
  align-items: center;
  gap: 14px;
  height: 100%;
  padding: 16px 18px;
  text-decoration: none;
  background: #fff;
  border: 1px solid var(--rb-line);
  border-radius: var(--rb-radius);
  transition: border-color .2s ease, box-shadow .2s ease;
}

.sp-page .sp-cats a:hover {
  border-color: rgba(var(--rb-blue-rgb), .4);
  box-shadow: 0 12px 30px rgba(var(--rb-blue-dark-rgb), .10);
}

.sp-page .sp-cats i {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  font-size: 18px;
  color: var(--rb-blue);
  background: var(--rb-tint-2);
  border-radius: var(--rb-radius);
  transition: background-color .2s ease, color .2s ease;
}

.sp-page .sp-cats a:hover i {
  color: #fff;
  background: var(--rb-blue);
}

.sp-page .sp-cats span {
  display: flex;
  flex-direction: column;
  font-size: 14px;
  line-height: 1.45;
  color: var(--rb-muted);
}

.sp-page .sp-cats strong {
  font-size: 16px;
  color: var(--rb-ink);
}

.sp-page .sp-brands__label {
  margin: 0 0 10px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--rb-muted);
}

.sp-page .sp-brands {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  list-style: none;
  padding: 0;
  margin: 0;
}

.sp-page .sp-brands a {
  display: inline-block;
  padding: 8px 18px;
  font-size: 14px;
  font-weight: 700;
  color: var(--rb-blue);
  text-decoration: none;
  background: var(--rb-tint);
  border: 1px solid var(--rb-line);
  border-radius: var(--rb-radius);
  transition: background-color .2s ease, color .2s ease;
}

.sp-page .sp-brands a:hover {
  color: #fff;
  background: var(--rb-blue);
}

.sp-page .sp-faq {
  padding: 90px 0 110px;
  background: var(--rb-tint);
}

@media (max-width: 1199px) {
  .sp-page .sp-svc {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 991px) {
  .sp-page .sp-services {
    padding: 60px 0 10px;
  }

  .sp-page .sp-main,
  .sp-page .sp-steps,
  .sp-page .sp-range,
  .sp-page .sp-faq {
    padding: 60px 0;
  }

  .sp-page .sp-steps__list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .sp-page .sp-steps__list li::after {
    display: none;
  }
}

@media (max-width: 575px) {
  .sp-page .sp-svc,
  .sp-page .sp-steps__list,
  .sp-page .sp-cats {
    grid-template-columns: 1fr;
  }
}

/* 99. FOOTER ====================================================================================
   The dark band that closes every page: CTA row, four-column link/contact grid, service-area
   chips and the legal bar. Everything is scoped to .footer-section (the inner wrapper, not the
   <footer> element) so none of it leaks into page content that shares generic class names.
   ============================================================================================= */

.footer-particle {
  position: relative;
  background: var(--rb-blue-dark) url("../img/footer-bg.webp") no-repeat center center;
  background-size: cover;
}

/* the background photo is busy in places: this veil is what keeps footer text legible over all
   of it, so the colours below can stay plain white/alpha instead of fighting the image */
.footer-particle::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(4, 66, 93, .94) 0%, rgba(4, 66, 93, .88) 45%, rgba(3, 40, 57, .96) 100%);
  pointer-events: none;
}

.footer-particle>.container {
  position: relative;
  z-index: 1;
}

/* --- CTA row ---------------------------------------------------------------------------- */

.rbf-cta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 20px 32px;
  margin-bottom: 55px;
  padding: 26px 32px;
  border: 1px solid rgba(255, 255, 255, .14);
  border-radius: var(--rb-radius);
  background: linear-gradient(120deg, rgba(255, 255, 255, .09), rgba(255, 255, 255, .03));
}

.rbf-cta__title {
  margin: 0 0 6px;
  font-size: 22px;
  font-weight: 700;
  line-height: 1.3;
  color: #fff;
}

.rbf-cta__text {
  margin: 0;
  max-width: 62ch;
  font-size: 15px;
  line-height: 1.6;
  color: rgba(255, 255, 255, .72);
}

.rbf-cta__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.rbf-btn {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  padding: 14px 26px;
  border-radius: var(--rb-radius);
  font-size: 15px;
  font-weight: 600;
  line-height: 1;
  text-decoration: none;
  white-space: nowrap;
  transition: background .2s ease, border-color .2s ease, color .2s ease;
}

.rbf-btn--solid {
  background: var(--rb-green);
  color: #fff;
}

.rbf-btn--solid:hover,
.rbf-btn--solid:focus {
  background: var(--rb-green-dark);
  color: #fff;
}

.rbf-btn--ghost {
  border: 1px solid rgba(255, 255, 255, .35);
  color: #fff;
}

.rbf-btn--ghost:hover,
.rbf-btn--ghost:focus {
  background: rgba(255, 255, 255, .12);
  border-color: #fff;
  color: #fff;
}

/* --- link / contact grid ------------------------------------------------------------------ */

.rbf-grid {
  display: grid;
  grid-template-columns: 1.15fr 1.6fr 1fr;
  gap: 38px 30px;
  padding-bottom: 34px;
}

/* contact is its own full-width strip under a divider: as a fourth column it was twice the
   height of the link columns and left a dead void beside them */
.rbf-col--contact {
  grid-column: 1 / -1;
  margin-top: 6px;
  padding-top: 32px;
  border-top: 1px solid rgba(255, 255, 255, .12);
}

.rbf-logo {
  display: inline-block;
}

.rbf-logo img {
  width: auto;
  max-width: 150px;
  height: auto;
}

.rbf-about {
  margin: 20px 0 0;
  max-width: 42ch;
  font-size: 14.5px;
  line-height: 1.75;
  color: rgba(255, 255, 255, .72);
}

.rbf-head {
  position: relative;
  margin: 0 0 22px;
  padding-bottom: 10px;
  font-size: 15px;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: #fff;
}

.rbf-head::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 38px;
  height: 2px;
  background: var(--rb-green-light);
}

.footer-section .link-widget {
  margin: 0;
  padding: 0;
  list-style: none;
}

.footer-section .link-widget a {
  position: relative;
  display: inline-block;
  padding: 5px 0 5px 16px;
  font-size: 15px;
  line-height: 1.5;
  color: rgba(255, 255, 255, .75);
  text-decoration: none;
  transition: color .2s ease, transform .2s ease;
}

.footer-section .link-widget a::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  width: 6px;
  height: 6px;
  margin-top: -3px;
  border-radius: 50%;
  background: rgba(255, 255, 255, .3);
  transition: background .2s ease;
}

.footer-section .link-widget a:hover,
.footer-section .link-widget a:focus {
  color: #fff;
  transform: translateX(3px);
}

.footer-section .link-widget a:hover::before,
.footer-section .link-widget a:focus::before {
  background: color-mix(in srgb, var(--rb-green-light) 55%, #fff);
}

.rbf-contact {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  grid-template-columns: auto auto auto;
  gap: 26px 30px;
}

.rbf-ci {
  display: flex;
  gap: 14px;
}

.rbf-ci__icon {
  flex: 0 0 38px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  border: 1px solid rgba(255, 255, 255, .16);
  border-radius: 50%;
  background: rgba(255, 255, 255, .1);
  font-size: 16px;
  color: #fff;
}

.rbf-ci__body {
  min-width: 0;
}

.rbf-ci__label {
  display: block;
  margin-bottom: 3px;
  font-size: 11.5px;
  letter-spacing: .09em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, .5);
}

.rbf-ci__body a {
  font-size: 15.5px;
  font-weight: 600;
  line-height: 1.5;
  color: #fff;
  text-decoration: none;
  word-break: normal;
  overflow-wrap: anywhere;
}

.rbf-ci__body a:hover,
.rbf-ci__body a:focus {
  color: color-mix(in srgb, var(--rb-green-light) 45%, #fff);
}

.rbf-ci address {
  margin: 0;
  font-size: 14px;
  font-style: normal;
  line-height: 1.6;
  color: rgba(255, 255, 255, .78);
}

.rbf-ci__body .rbf-maplink {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-top: 7px;
  font-size: 13px;
  color: color-mix(in srgb, var(--rb-green-light) 45%, #fff);
}

.rbf-ci__body .rbf-maplink:hover,
.rbf-ci__body .rbf-maplink:focus {
  color: #fff;
}

.footer-section .social {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 24px 0 0;
  padding: 0;
  list-style: none;
}

.footer-section .social li {
  margin: 0;
}

.footer-section .social a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border: 1px solid rgba(255, 255, 255, .16);
  border-radius: 50%;
  background: rgba(255, 255, 255, .1);
  font-size: 17px;
  color: #fff;
  transition: background .2s ease, border-color .2s ease, transform .2s ease;
}

.footer-section .social a:hover,
.footer-section .social a:focus {
  background: var(--rb-green);
  border-color: var(--rb-green);
  color: #fff;
  transform: translateY(-2px);
}

/* the IndiaMART mark is a colour logo, so it keeps its own white chip instead of inheriting
   the translucent circle - it is unreadable on the green hover state otherwise */
.footer-section .social img {
  width: 24px;
  height: 24px;
  padding: 2px;
  border-radius: 4px;
  background: #fff;
  object-fit: contain;
}

/* --- service areas ------------------------------------------------------------------------ */

.rbf-areas {
  padding: 34px 0 30px;
  border-top: 1px solid rgba(255, 255, 255, .12);
  text-align: center;
}

.rbf-areas__title {
  display: inline-block;
  margin-bottom: 24px;
}

.rbf-areas__title::after {
  left: 50%;
  transform: translateX(-50%);
}

p.targated-locations1 {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px 12px;
  margin-bottom: 0;
}

/* City row and state row are two separate <p>s: without this they sit flush against each other. */
p.targated-locations1+p.targated-locations1 {
  margin-top: 12px;
}

.targated-locations1 a {
  padding: 8px 18px;
  border: 1px solid rgba(255, 255, 255, .22);
  border-radius: var(--rb-radius);
  background: rgba(255, 255, 255, .06);
  font-size: 14px;
  line-height: 1.2;
  color: rgba(255, 255, 255, .82);
  text-decoration: none;
  white-space: nowrap;
  transition: background .2s ease, border-color .2s ease, color .2s ease;
}

.targated-locations1 a:hover,
.targated-locations1 a:focus {
  background: rgba(255, 255, 255, .16);
  border-color: rgba(255, 255, 255, .5);
  color: #fff;
}

/* --- legal bar ---------------------------------------------------------------------------- */

.rbf-bottom {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 12px 24px;
  padding-top: 24px;
  border-top: 1px solid rgba(255, 255, 255, .12);
}

.footer-section .copyright-text {
  display: block;
  margin: 0;
  font-size: 13.5px;
  line-height: 1.6;
  color: rgba(255, 255, 255, .65);
}

.rbf-updated {
  color: rgba(255, 255, 255, .45);
}

.rbf-legal {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 22px;
}

.rbf-legal a {
  font-size: 13.5px;
  color: rgba(255, 255, 255, .65);
  text-decoration: none;
  transition: color .2s ease;
}

.rbf-legal a:hover,
.rbf-legal a:focus {
  color: #fff;
}

/* --- footer breakpoints -------------------------------------------------------------------- */

@media (max-width: 1199px) {
  .rbf-grid {
    grid-template-columns: 1.05fr 1.6fr 1.05fr;
    gap: 36px 28px;
  }

  .rbf-contact {
    display: grid;
    grid-template-columns: auto auto auto;
    gap: 22px 26px;
  }

  /* the longest product name (Temperature Transmitter) needs this to stay on one line here */
  .link-widget--2col {
    column-gap: 18px;
  }

  .footer-section .link-widget--2col a {
    padding-left: 14px;
    font-size: 14px;
  }
}

@media (max-width: 991px) {
  .rbf-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .rbf-col--brand {
    grid-column: 1 / -1;
  }

  .rbf-about {
    max-width: none;
  }

  /* three items no longer fit side by side: email + head office pair up, works wraps below */
  .rbf-contact {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 767px) {
  .rbf-cta {
    margin-bottom: 38px;
    padding: 22px 20px;
  }

  .rbf-cta__title {
    font-size: 19px;
  }

  .rbf-cta__actions {
    width: 100%;
  }

  .rbf-btn {
    flex: 1 1 auto;
    justify-content: center;
  }

  .rbf-contact {
    grid-template-columns: 1fr;
  }

  .rbf-bottom {
    justify-content: center;
    text-align: center;
  }

  .footer-section .copyright-text,
  .rbf-legal {
    width: 100%;
    justify-content: center;
  }

  .targated-locations1 a {
    padding: 7px 14px;
    font-size: 13px;
  }
}

@media (max-width: 767px) {
  .rbf-grid {
    grid-template-columns: 1fr;
    gap: 30px;
  }
}

/* the fixed call/WhatsApp FABs sit bottom-left: without this they cover the legal bar on phones */
@media (max-width: 767px) {
  .footer-section.section-pad-sm {
    padding-bottom: 180px;
  }
}

/* footer popular-products column: ten links as five rows x two columns, filled column-wise so
   the first five read straight down the left before the right column starts */
.link-widget--2col {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-template-rows: repeat(5, auto);
  grid-auto-flow: column;
  column-gap: 22px;
}

.rbf-allproducts {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: 18px;
  padding-left: 16px;
  font-size: 14px;
  font-weight: 600;
  color: color-mix(in srgb, var(--rb-green-light) 55%, #fff);
  text-decoration: none;
  transition: color .2s ease, gap .2s ease;
}

.rbf-allproducts:hover,
.rbf-allproducts:focus {
  gap: 12px;
  color: #fff;
}

/* below this the two product sub-columns get too narrow for the longer names */
@media (max-width: 400px) {
  .link-widget--2col {
    grid-auto-flow: row;
    grid-template-columns: 1fr;
    grid-template-rows: none;
  }
}

/* contact page: head office + works maps side by side, each with its own Maps link */
.contact-maps {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0;
}

.contact-map {
  margin: 0;
}

.contact-map iframe {
  display: block;
  width: 100%;
  height: 420px;
  border: 0;
  border-radius: 0;
}

.contact-map__cap {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 6px 16px;
  padding: 14px 20px 18px;
}

.contact-map__label {
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--rb-ink);
}

.contact-map__cap a {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  font-size: 14px;
  font-weight: 600;
  color: var(--rb-blue);
  text-decoration: none;
}

.contact-map__cap a:hover,
.contact-map__cap a:focus {
  color: var(--rb-green);
}

@media (max-width: 767px) {
  .contact-maps {
    grid-template-columns: 1fr;
  }

  .contact-map iframe {
    height: 300px;
  }
}


/* the map band runs edge to edge, two frames at exactly half the viewport each; only the
   caption text is inset so the labels are not flush against the screen edge */
.google-map-style2-area .auto-container {
  max-width: none;
  padding: 0;
}


/* OUR JOURNEY (.journey) — component/our-journey.php ============================================ */
/* Horizontal, scroll-snapping timeline of year cards; replaces the old timeline.min.js plugin. */
.journey {
  position: relative;
  overflow: hidden;
  padding: 100px 0;
  color: #fff;
  background:
    radial-gradient(circle at 88% 0%, rgba(var(--rb-blue-light-rgb), .45) 0, rgba(var(--rb-blue-light-rgb), 0) 55%),
    radial-gradient(circle at 0% 100%, rgba(var(--rb-green-rgb), .18) 0, rgba(var(--rb-green-rgb), 0) 45%),
    var(--rb-blue-dark);
}

.journey__head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 48px;
}

.journey__head .sec-head {
  max-width: 780px;
  margin: 0;
  text-align: left;
}

.journey__nav {
  display: flex;
  flex-shrink: 0;
  gap: 10px;
}

.journey__btn {
  display: grid;
  place-items: center;
  width: 52px;
  height: 52px;
  padding: 0;
  border: 0;
  background: transparent;
  color: #fff;
  cursor: pointer;
  transition: color .25s, transform .25s, opacity .25s;
}

.journey__btn:hover:not(:disabled) {
  color: color-mix(in srgb, var(--rb-green-light) 55%, #fff);
  transform: scale(1.12);
}

.journey__btn:disabled {
  opacity: .35;
  cursor: default;
}

.journey__track {
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  outline: none;
}

.journey__track::-webkit-scrollbar {
  display: none;
}

.journey__list {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: calc((100% - 72px) / 4);
  gap: 24px;
  margin: 0;
  padding: 0 0 8px;
  list-style: none;
}

.journey__item {
  position: relative;
  padding-top: 46px;
  scroll-snap-align: start;
}

/* the line runs through every dot and bridges the gap to the next card */
.journey__item::before {
  content: "";
  position: absolute;
  top: 11px;
  left: 0;
  right: -24px;
  height: 2px;
  background: rgba(255, 255, 255, .2);
}

.journey__item:last-child::before {
  right: 0;
}

.journey__dot {
  position: absolute;
  top: 4px;
  left: 0;
  width: 16px;
  height: 16px;
  border: 3px solid color-mix(in srgb, var(--rb-green-light) 55%, #fff);
  border-radius: 50%;
  background: var(--rb-blue-dark);
  box-shadow: 0 0 0 6px rgba(var(--rb-green-light-rgb), .16);
}

/* Each year reads as a leaf torn off a wall calendar: a tinted header band
   with two binder rings punched through it, and the note printed below. */
.journey__card {
  overflow: hidden;
  height: 100%;
  padding: 0;
  border: 1px solid rgba(255, 255, 255, .12);
  border-radius: var(--rb-radius);
  background: rgba(255, 255, 255, .06);
  transition: transform .3s, background-color .3s, border-color .3s;
}

.journey__card:hover {
  transform: translateY(-4px);
  border-color: rgba(255, 255, 255, .3);
  background: rgba(255, 255, 255, .1);
}

.journey__year {
  position: relative;
  display: block;
  padding: 26px 20px 16px;
  text-align: center;
  font-size: 38px;
  font-weight: 800;
  line-height: 1;
  letter-spacing: .01em;
  color: #fff;
  background: rgba(var(--rb-green-rgb), .38);
  border-bottom: 1px solid rgba(255, 255, 255, .16);
}

/* the two rings of the calendar binder */
.journey__year::before,
.journey__year::after {
  content: "";
  position: absolute;
  top: 8px;
  width: 4px;
  height: 11px;
  border-radius: 2px;
  background: rgba(255, 255, 255, .55);
}

.journey__year::before {
  left: calc(50% - 20px);
}

.journey__year::after {
  left: calc(50% + 16px);
}

.journey__text {
  margin: 0;
  padding: 18px 24px 26px;
  font-size: 15px;
  line-height: 1.6;
  color: rgba(255, 255, 255, .85);
}

/* latest year: solid white card */
.journey__item--now .journey__dot {
  border-color: #fff;
  background: var(--rb-green);
}

.journey__item--now .journey__card,
.journey__item--now .journey__card:hover {
  border-color: #fff;
  background: #fff;
}

.journey__item--now .journey__year {
  color: #fff;
  background: var(--rb-green);
  border-bottom-color: rgba(255, 255, 255, .3);
}

.journey__item--now .journey__text {
  color: var(--rb-text);
}
