/* iExRetail custom layout system. This project intentionally has no framework dependency. */
:root { --layout-max: 1180px; --gap: 1.5rem; }
* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; min-width: 320px; }
img { max-width: 100%; height: auto; }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
a { color: inherit; text-decoration: none; }
.container { width: min(calc(100% - 2rem), var(--layout-max)); margin-inline: auto; }
.row { display: flex; flex-wrap: wrap; margin: calc(var(--gap) / -2); }
.row > * { width: 100%; padding: calc(var(--gap) / 2); }
.g-3 { --gap: 1rem; }.g-4 { --gap: 1.5rem; }.g-5 { --gap: 3rem; }
.d-flex { display: flex; }.d-grid { display: grid; }.flex-column { flex-direction: column; }.flex-wrap { flex-wrap: wrap; }
.align-items-center { align-items: center; }.align-items-start { align-items: flex-start; }.align-items-end { align-items: flex-end; }
.justify-content-between { justify-content: space-between; }.justify-content-center { justify-content: center; }.align-self-start { align-self: flex-start; }
.gap-2 { gap: .5rem; }.gap-3 { gap: 1rem; }.gap-4 { gap: 1.5rem; }
.mx-auto { margin-inline: auto; }.w-100 { width: 100%; }.text-center { text-align: center; }
.fw-bold { font-weight: 700; }.small { font-size: .875rem; }.h4 { font-size: 1.5rem; }.h5 { font-size: 1.25rem; }
.text-secondary { color: #6b7280; }.text-white-50 { color: rgba(255,255,255,.58); }.text-success { color: #31b36a; }
.mb-0 { margin-bottom: 0!important; }.mb-1 { margin-bottom: .25rem!important; }.mb-2 { margin-bottom: .5rem!important; }.mb-3 { margin-bottom: 1rem!important; }.mb-4 { margin-bottom: 1.5rem!important; }.mb-5 { margin-bottom: 3rem!important; }
.mt-3 { margin-top: 1rem!important; }.mt-4 { margin-top: 1.5rem!important; }.mt-5 { margin-top: 3rem!important; }.pt-4 { padding-top: 1.5rem!important; }.py-4 { padding-block: 1.5rem!important; }.p-4 { padding: 1.5rem!important; }
.order-lg-1 { order: 1; }.order-lg-2 { order: 2; }
.card { border-radius: 6px; }.badge { display: inline-flex; padding: .35rem .58rem; border-radius: 999px; font-size: .72rem; font-weight: 700; }.text-bg-secondary { color: #fff; background: #667085; }.text-bg-info { color: #072d45; background: #7dd3fc; }.text-bg-danger { color: #fff; background: #e8300a; }.text-bg-dark { color:#fff; background:#151515; }
.btn { display: inline-flex; align-items: center; justify-content: center; border: 1px solid transparent; min-height: 42px; text-align: center; transition: transform .2s ease, background .2s ease, border-color .2s ease; }.btn:hover { transform: translateY(-1px); }.btn-outline-dark { color: #151515; border-color: #151515; background: transparent; }.btn-outline-dark:hover { color: #fff; background: #151515; }.btn:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible { outline: 3px solid rgba(56,189,248,.65); outline-offset: 3px; }
.btn-contact { color: #fff; background: #1f9d62; border-color: #1f9d62; }.btn-contact:hover { color: #fff; background: #187c4d; border-color: #187c4d; }.btn-login { color: rgba(255,255,255,.84); border-color: rgba(255,255,255,.24); background: transparent; }.btn-login:hover { color: #fff; border-color: rgba(255,255,255,.4); background: rgba(255,255,255,.1); }.btn-iex { color: #fff; background: #e8300a; border-color: #e8300a; }.btn-iex:hover { color: #fff; background: #bd2507; border-color: #bd2507; }.btn-iex-outline { color: #fff; border-color: rgba(255,255,255,.24); background: transparent; }.btn-iex-outline:hover { color: #111; border-color: #fff; background: #fff; }
.nav { margin: 0; padding: 0; list-style: none; }.nav-link { border: 0; background: transparent; }
.navbar { position: fixed; inset: 0 0 auto; z-index: 50; }.navbar .container { display: flex; align-items: center; justify-content: space-between; }.navbar-brand { display: inline-flex; }.navbar-toggler { display: none; width: 42px; height: 42px; padding: 0; border: 1px solid rgba(255,255,255,.28); border-radius: 5px; background: transparent; }.navbar-toggler-icon, .navbar-toggler-icon::before, .navbar-toggler-icon::after { display: block; width: 20px; height: 2px; margin: auto; background: #fff; content: ""; transition: transform .2s ease; }.navbar-toggler-icon::before { transform: translateY(-6px); }.navbar-toggler-icon::after { transform: translateY(4px); }.navbar-collapse { display: flex; align-items: center; flex: 1; }.navbar-nav { display: flex; list-style: none; padding: 0; margin: 0 auto; }.navbar-actions { margin-left: auto; }
.tab-content > .tab-pane { display: none; }.tab-content > .tab-pane.active, .tab-content > .tab-pane.show { display: block; }
.accordion-item { overflow: hidden; border: 1px solid #e5e7eb; }.accordion-button { width: 100%; display: flex; justify-content: space-between; align-items: center; border: 0; padding: 1rem 1.2rem; background: #fff; color: #151515; font-weight: 700; text-align: left; }.accordion-button::after { content: "+"; font-size: 1.35rem; line-height: 1; }.accordion-button.is-open::after { content: "-"; }.accordion-collapse { display: none; }.accordion-collapse.show { display: block; }.accordion-body { padding: 0 1.2rem 1.2rem; }
.form-control, .form-select { display: block; width: 100%; border: 1px solid #cbd5e1; border-radius: 4px; padding: .75rem .85rem; background: #fff; }.form-control:focus, .form-select:focus { border-color: #38bdf8; outline: 0; box-shadow: 0 0 0 3px rgba(56,189,248,.16); }.invalid-feedback { display: none; color: #b42318; font-size: .82rem; }.was-validated :invalid ~ .invalid-feedback { display: block; }.d-none { display: none!important; }
.icon { display: inline-block; width: 1.15em; text-align: center; font-style: normal; }.icon::before { content: "•"; }.icon-check2::before,.icon-check-circle-fill::before { content: "✓"; }.icon-arrows::before { content: "↔"; }.icon-cursor::before { content: "⌖"; }.icon-hand-index-thumb::before { content: "☝"; }.icon-camera::before { content: "◉"; }.icon-stars::before { content: "✦"; }.icon-people::before { content: "◌"; }.icon-grid-1x2::before { content: "▦"; }.icon-qr-code-scan::before { content: "⌗"; }.icon-bar-chart-line::before { content: "▥"; }.icon-shield-check::before { content: "✓"; }.icon-basket2::before { content: "◈"; }.icon-capsule::before { content: "◒"; }.icon-truck::before { content: "▰"; }.icon-award::before { content: "✧"; }.icon-shop::before { content: "▣"; }
@media (min-width: 768px) { .col-md-6 { width: 50%; } }
@media (min-width: 992px) { .col-lg-4 { width: 33.333%; }.col-lg-5 { width: 41.667%; }.col-lg-6 { width: 50%; }.col-lg-7 { width: 58.333%; }.col-lg-8 { width: 66.667%; }.order-lg-1 { order: 1; }.order-lg-2 { order: 2; }.gap-lg-3 { gap: 1rem; }.gap-lg-4 { gap: 1.5rem; }.me-lg-2 { margin-right: .5rem; } }
@media (min-width: 1200px) { .col-xl-3 { width: 25%; } }
@media (max-width: 1199px) { .navbar .container { min-height: 64px; }.navbar-toggler { display: inline-grid; place-items: center; }.navbar-collapse { display: none; width: 100%; flex-basis: 100%; order: 3; }.navbar-collapse.show { display: block; }.navbar-nav { display: grid; margin: .75rem 0; }.navbar-actions { margin: .25rem 0 1rem; }.navbar-actions .btn { width: 100%; }.navbar .container { flex-wrap: wrap; } }
@media (max-width: 991px) { .order-lg-1,.order-lg-2 { order: initial; } }
@media (max-width: 575px) { .container { width: min(calc(100% - 1.25rem), var(--layout-max)); }.g-5 { --gap: 1.5rem; }.p-4 { padding: 1.1rem!important; }.section-title { font-size: clamp(2rem, 10vw, 3rem); } }
