File: D:/web/hyperflight/2026-07-30b/new/css/styles.css
@charset "utf-8";
/* CSS Document */
/* (SS,15/02/26) Bootstrap 5 version for HyperFlight */
/* Header */
.top-section {
background: white;
}
.header-currency,
.header-search,
.header-status {
display: flex;
align-items: center;
}
.header-currency,
.header-search {
justify-content: center;
}
.header-status {
justify-content: flex-end;
}
.header-search-form {
width: 100%;
}
.header-search-form .form-control,
.header-search-form .btn {
border-color: #d6dbe0;
box-shadow: none;
}
.header-search-form .btn {
background-color: transparent;
color: #000;
}
.header-search-form .btn:hover,
.header-search-form .btn:focus {
background-color: #f2f2f2;
border-color: #d6dbe0;
color: #000;
}
.header-search-form .fa-magnifying-glass {
font-size: 1.1rem;
}
.header-basket {
position: relative;
text-align: right;
}
.header-vat-text {
position: absolute;
top: 100%;
right: 0.50rem;
margin-top: 0.2rem;
color: #6c757d;
font-size: 0.75rem;
line-height: 1.2;
white-space: nowrap;
}
/* Header */
.header-logo {
max-width: 254px;
height: auto;
}
.header-currency,
.header-search,
.header-status {
display: flex;
align-items: center;
}
.header-currency,
.header-search {
justify-content: center;
}
.header-status {
justify-content: flex-end;
}
.header-currency .currency-selector {
width: 220px;
max-width: 100%;
}
.header-search > form {
width: 100%;
}
.header-search-form {
width: 100%;
max-width: 520px;
}
/* Currency selector */
.currency-selector {
position: relative;
width: 220px;
}
.currency-selected {
width: 100%;
min-height: 42px;
display: grid;
grid-template-columns: 1fr 32px 1rem;
column-gap: 0.75rem;
align-items: center;
padding: 0.35rem 0.6rem;
background: white;
border: 1px solid #adb5bd;
border-radius: 0.375rem;
text-align: left;
color: #000; /* prevents blue text on iPhone */
}
.currency-option {
width: 100%;
display: grid;
grid-template-columns: 1fr 32px;
column-gap: 0.75rem;
align-items: center;
padding: 0.35rem 0.6rem;
border: 0;
border-bottom: 1px solid #e5e5e5;
background: white;
color: #000; /* to force blank on iPhone for currency code in dropdown */
text-align: left;
}
.currency-selected-text,
.currency-option > span:first-child {
min-width: 0;
}
.currency-code {
display: block;
font-weight: 700;
line-height: 1.1;
}
.currency-name {
display: block;
color: #6c757d;
font-size: 0.875rem;
line-height: 1.1;
}
.currency-selected-flag,
.currency-option .currency-flag {
justify-self: end;
}
.currency-caret {
justify-self: end;
}
.currency-options {
display: none;
position: absolute;
z-index: 1050;
top: 100%;
left: 0;
width: 100%;
max-height: 70vh;
overflow-y: auto;
background: white;
border: 1px solid #adb5bd;
border-top: 0;
box-shadow: 0 0.25rem 0.5rem rgba(0, 0, 0, 0.12);
}
.currency-selector.open .currency-options {
display: block;
}
.currency-option:hover,
.currency-option:focus,
.currency-option.selected {
background: #f2f8fc;
}
/* Currency flag sprite */
.currency-flag {
display: inline-block;
width: 32px;
height: 32px;
background-image: url("/common/flags/currency/currency-flags-32.png");
background-repeat: no-repeat;
background-size: auto 32px;
flex-shrink: 0;
}
.currency-flag-gbp { background-position: 0 0; }
.currency-flag-eur { background-position: -32px 0; }
.currency-flag-usd { background-position: -64px 0; }
.currency-flag-aud { background-position: -96px 0; }
.currency-flag-cad { background-position: -128px 0; }
.currency-flag-chf { background-position: -160px 0; }
.currency-flag-cny { background-position: -192px 0; }
.currency-flag-czk { background-position: -224px 0; }
.currency-flag-dkk { background-position: -256px 0; }
.currency-flag-jpy { background-position: -288px 0; }
.currency-flag-krw { background-position: -320px 0; }
.currency-flag-nok { background-position: -352px 0; }
.currency-flag-nzd { background-position: -384px 0; }
.currency-flag-pln { background-position: -416px 0; }
.currency-flag-ron { background-position: -448px 0; }
.currency-flag-rub { background-position: -480px 0; }
.currency-flag-sek { background-position: -512px 0; }
.currency-flag-twd { background-position: -544px 0; }
.currency-flag-zar { background-position: -576px 0; }
/* Narrow desktop / portrait monitor */
/*
@media (min-width: 768px) and (max-width: 1199.98px) {
.header-currency,
.header-search {
position: relative;
left: 3rem;
}
}
*/
/* Tablet / mobile */
@media (max-width: 991.98px) {
.header-currency,
.header-search,
.header-status {
justify-content: center;
margin-top: 0.5rem;
}
.header-status {
margin-bottom: 0.25rem;
}
}
/* narrow currency selector, search box etc. for medium (~iPad) size */
@media (min-width: 768px) and (max-width: 991.98px) {
.header-logo {
max-width: 210px;
}
.header-currency .currency-selector {
width: 140px;
}
.currency-selected {
min-height: 37px;
padding: 0.1rem 0.45rem;
grid-template-columns: 1fr 26px 0.75rem;
column-gap: 0.35rem;
}
.currency-selected .currency-name {
display: none;
}
.currency-selected .currency-code {
line-height: 1;
}
.currency-selected-flag {
width: 26px;
height: 26px;
display: flex;
align-items: center;
justify-content: center;
overflow: hidden;
}
.currency-selected-flag .currency-flag {
transform: scale(0.75);
transform-origin: center;
}
.header-status {
position: relative;
left: 0;
padding-right: 0.5rem;
}
.main-menu .nav-link {
padding-left: 0.45rem;
padding-right: 0.45rem;
font-size: 0.95rem;
}
/* wrap the add button for this size */
.related-product-buy-row {
flex-wrap: wrap;
}
.related-product-price {
flex: 1 1 100%;
}
/* Compact Account and Basket buttons on tablets */
.header-status {
justify-content: flex-end;
margin-top: 0;
margin-bottom: 0;
}
.header-status .header-basket {
position: static;
width: auto;
text-align: right;
}
.header-status .header-shopping-actions {
flex-direction: row;
flex-wrap: nowrap;
gap: 0.15rem;
}
.header-status .header-account,
.header-status .header-basket-link {
position: relative;
display: inline-flex;
align-items: center;
justify-content: center;
width: 36px;
min-width: 36px;
height: 40px;
padding: 0;
border: 0 !important;
background-color: transparent;
font-size: 1.1rem;
}
.header-status .header-account-text,
.header-status .header-basket-text {
display: none;
}
.header-status .header-basket-link .fa-cart-shopping {
margin-right: 0 !important;
}
.header-status .header-basket-count {
position: absolute;
top: -0.15rem;
right: -0.15rem;
min-width: 1.25rem;
padding: 0.2rem 0.3rem;
font-size: 0.68rem;
line-height: 1;
}
.header-status .header-vat-text {
display: none;
}
}
/* Header account and basket */
.header-shopping-actions {
display: flex;
align-items: center;
justify-content: flex-end;
gap: 0.25rem;
}
.header-account,
.header-basket-link {
position: relative;
display: inline-flex;
flex: 0 0 auto;
align-items: center;
justify-content: center;
min-height: 40px;
border: 0;
border-radius: 0.375rem;
background: transparent;
color: #000;
text-decoration: none;
white-space: nowrap;
}
.header-account {
width: 40px;
min-width: 40px;
padding: 0;
}
.header-basket-link {
padding: 0 0.35rem;
}
.header-account:hover,
.header-account:focus,
.header-basket-link:hover,
.header-basket-link:focus {
background-color: #f2f2f2;
color: #000;
text-decoration: none;
}
.header-account .fa-user,
.header-basket-link .fa-cart-shopping {
font-size: 1.1rem;
}
.header-account-text,
.header-basket-text {
display: none;
}
.header-basket-subtotal {
margin-left: 0.4rem;
font-weight: 600;
white-space: nowrap;
}
.header-basket-count {
margin-left: 0.4rem;
}
/* ==========================================================================
Desktop header layout refinement
========================================================================== */
/* Desktop and narrow desktop */
@media (min-width: 992px) {
#desktopHeaderControls {
display: flex;
flex-wrap: nowrap;
align-items: center;
}
#desktopHeaderControls > .header-logo-col {
flex: 0 0 300px;
width: 300px;
max-width: 300px;
}
#desktopHeaderControls > .header-search {
flex: 1 1 auto;
width: auto;
max-width: none;
min-width: 0;
justify-content: center;
}
#desktopHeaderControls > .header-currency {
flex: 0 0 auto;
width: auto;
max-width: none;
margin-left: 1.5rem;
}
#desktopHeaderControls > .header-status {
flex: 0 0 auto;
width: auto;
max-width: none;
}
.header-search > form {
width: 100%;
}
.header-search-form {
width: 100%;
max-width: 500px;
margin-left: auto;
margin-right: auto;
}
}
/* Narrow desktop: shift search slightly left by reducing logo column */
@media (min-width: 992px) and (max-width: 1199.98px) {
#desktopHeaderControls > .header-logo-col {
flex-basis: 275px;
width: 275px;
max-width: 275px;
}
.header-search-form {
max-width: 400px;
}
}
/* Very wide desktop */
@media (min-width: 1400px) {
.header-search-form,
.header-search-wrapper {
max-width: 620px;
}
}
/* Medium desktop / tablet header protection */
@media (min-width: 768px) and (max-width: 991.98px) {
#desktopHeaderControls {
display: flex;
flex-wrap: nowrap;
align-items: center;
}
#desktopHeaderControls > .header-logo-col {
flex: 0 0 220px;
width: 220px;
max-width: 220px;
text-align: left !important;
}
#desktopHeaderControls > .header-search {
flex: 1 1 auto;
width: auto;
max-width: none;
min-width: 0;
justify-content: center;
margin-top: 0;
padding-left: 0;
}
#desktopHeaderControls > .header-currency {
flex: 0 0 auto;
width: auto;
max-width: none;
margin-top: 0;
margin-left: 0.75rem;
}
#desktopHeaderControls > .header-status {
flex: 0 0 auto;
width: auto;
max-width: none;
margin-top: 0;
}
.header-logo {
max-width: 190px;
}
.header-search-wrapper {
max-width: 270px;
}
.header-search-form {
max-width: 270px;
}
}
/* Compact Account and Basket below wide desktop */
@media (max-width: 991.98px) {
.header-basket-subtotal {
display: none;
}
.header-account,
.header-basket-link {
width: 36px;
min-width: 36px;
height: 40px;
padding: 0;
}
.header-basket-count {
position: absolute;
top: -0.15rem;
right: -0.15rem;
min-width: 1.25rem;
margin-left: 0;
padding: 0.2rem 0.3rem;
font-size: 0.68rem;
line-height: 1;
}
.header-vat-text {
display: none;
}
}
/* Subtle currency selector on tablet and desktop */
@media (min-width: 768px) {
.header-currency .currency-selector {
width: 100px;
min-width: 100px;
max-width: 100px;
}
.header-currency .currency-selected {
min-height: 40px;
grid-template-columns: auto 28px 0.7rem;
justify-content: center;
column-gap: 0.25rem;
padding: 0.2rem 0.3rem;
background-color: transparent;
border: 0;
border-radius: 0.375rem;
box-shadow: none;
}
/* Show code but hide the full currency name */
.header-currency .currency-selected .currency-name {
display: none;
}
.header-currency .currency-selected-flag {
display: flex;
width: 28px;
height: 28px;
align-items: center;
justify-content: center;
overflow: hidden;
}
.header-currency .currency-selected-flag .currency-flag {
transform: scale(0.875);
transform-origin: center;
}
.header-currency .currency-selected:hover,
.header-currency .currency-selected:focus {
background-color: #f2f2f2;
}
/* Keep the opened list wide enough for names and flags */
.header-currency .currency-options {
width: 220px;
min-width: 220px;
}
}
/* Main menu */
.main-menu {
background-color: transparent;
border-top: 0;
border-bottom: 0;
padding-top: 0;
padding-bottom: 0;
}
.main-menu > .container {
background-color: #D9EFFD;
border-top: 1px solid #BEE3FC;
border-bottom: 1px solid #BEE3FC;
}
.main-menu .navbar-nav {
flex-wrap: wrap;
}
.main-menu .nav-link {
color: black;
}
.main-menu .nav-link:hover,
.main-menu .nav-link.show,
.main-menu .show > .nav-link {
color: black;
background-color: #BEE3FC;
}
.main-menu .dropdown-menu {
margin-top: 0;
border-color: #ccc;
border-radius: 0 0 0.375rem 0.375rem;
box-shadow: 0 0.25rem 0.5rem rgba(0, 0, 0, 0.12);
}
.main-menu .dropdown-item:hover,
.main-menu .dropdown-item:focus {
color: black;
background-color: #BEE3FC;
}
/* Compact mobile header */
@media (max-width: 767.98px) {
.desktop-header {
display: none;
}
.main-menu {
padding: 0;
background-color: #fff;
border-top: 0;
border-bottom: 0;
}
.main-menu > .container {
display: flex;
flex-wrap: wrap;
align-items: center;
padding-left: 0 !important;
padding-right: 0 !important;
background-color: #fff;
border-top: 0;
border-bottom: 0;
}
/* Visible top bar */
.mobile-topbar {
display: grid;
grid-template-columns: auto minmax(0, 1fr) auto;
column-gap: 0.15rem;
align-items: center;
width: 100%;
min-height: 64px;
padding: 0.3rem 0.2rem;
background-color: #fff;
}
.mobile-topbar-left {
display: flex;
align-items: center;
justify-content: flex-start;
gap: 0;
min-width: 0;
}
.mobile-menu-brand {
justify-self: center;
min-width: 0;
margin: 0;
padding: 0;
transform: translateX(1rem);
}
.mobile-menu-logo {
display: block;
width: 140px;
max-width: 34vw;
height: auto;
}
.mobile-topbar-right {
display: flex;
align-items: center;
justify-content: flex-end;
min-width: 0;
padding-right: 0.35rem;
}
/* Hamburger and search buttons */
.mobile-menu-toggle,
.mobile-search-toggle {
display: inline-flex;
align-items: center;
justify-content: center;
width: 36px;
min-width: 36px;
height: 40px;
padding: 0;
border: 0;
background-color: transparent;
}
.mobile-menu-toggle:focus,
.mobile-search-toggle:focus {
box-shadow: none;
}
.mobile-search-toggle {
font-size: 1.2rem;
}
/* Account and basket icons */
.mobile-topbar-right .header-status {
position: static;
width: auto;
max-width: none;
margin: 0;
padding: 0;
justify-content: flex-end;
transform: none;
}
.mobile-topbar-right .header-basket {
position: static;
width: auto;
text-align: right;
}
.mobile-topbar-right .header-shopping-actions {
gap: 0.05rem;
}
.mobile-topbar-right .header-account,
.mobile-topbar-right .header-basket-link {
position: relative;
display: inline-flex;
align-items: center;
justify-content: center;
width: 36px;
min-width: 36px;
height: 40px;
padding: 0;
border: 0 !important;
background-color: transparent;
font-size: 1.1rem;
}
.mobile-topbar-right .header-account-text,
.mobile-topbar-right .header-basket-text {
display: none;
}
.mobile-topbar-right .header-basket-link .fa-cart-shopping {
margin-right: 0 !important;
}
.mobile-topbar-right .header-basket-count {
position: absolute;
top: -0.15rem;
right: -0.15rem;
min-width: 1.25rem;
padding: 0.2rem 0.3rem;
font-size: 0.68rem;
line-height: 1;
}
.mobile-topbar-right .header-vat-text {
display: none;
}
/* Search panel */
.mobile-search-panel {
width: 100%;
background-color: #fff;
}
.mobile-search-slot {
width: 100%;
padding: 0.4rem 0.75rem 0.7rem;
border-top: 0;
}
.mobile-search-slot .header-search {
position: static;
width: 100%;
max-width: none;
margin: 0;
padding: 0;
justify-content: center;
transform: none;
}
.mobile-search-slot .header-search-form {
width: 100%;
max-width: none;
}
/* Collapsed mobile navigation */
.main-menu .navbar-collapse {
width: 100%;
background-color: #fff;
}
.mobile-header-controls {
display: none;
}
/* Blue category navigation */
.main-menu .navbar-nav {
width: 100%;
margin: 0;
padding: 0.4rem 0.75rem 0.5rem;
background-color: #d9effd;
border-top: 1px solid #bee3fc;
border-bottom: 1px solid #bee3fc;
}
.main-menu .nav-link {
padding-top: 0.35rem;
padding-bottom: 0.35rem;
line-height: 1.25;
}
.main-menu .nav-link:hover,
.main-menu .nav-link:focus,
.main-menu .nav-link.show,
.main-menu .show > .nav-link {
background-color: #bee3fc;
}
.main-menu .dropdown-menu {
margin: 0;
padding: 0.25rem 0 0.35rem 1rem;
background-color: #d9effd;
border: 0;
border-radius: 0;
box-shadow: none;
}
.main-menu .dropdown-item {
padding: 0.35rem 0.75rem;
background-color: transparent;
color: #000;
}
.main-menu .dropdown-item:hover,
.main-menu .dropdown-item:focus {
background-color: #bee3fc;
color: #000;
}
}
/* Compact currency selector in mobile top bar */
@media (max-width: 767.98px) {
.mobile-topbar-left {
gap: 0.1rem;
}
.mobile-topbar-right {
gap: 0.05rem;
}
.mobile-topbar-currency {
position: relative;
display: flex;
align-items: center;
}
.mobile-topbar-currency .header-currency {
position: static;
width: auto;
margin: 0;
padding: 0;
justify-content: center;
transform: none;
}
/* Closed selector: code above flag, no caret on mobile */
.mobile-topbar-currency .currency-selector {
position: relative;
width: 44px;
min-width: 44px;
max-width: 44px;
}
.mobile-topbar-currency .currency-selected {
min-height: 40px;
display: grid;
grid-template-columns: 1fr;
grid-template-rows: auto auto;
row-gap: 0;
align-items: center;
justify-items: center;
padding: 0.1rem 0;
background: transparent;
border: 0;
border-radius: 0;
box-shadow: none;
}
.mobile-topbar-currency .currency-selected:focus-visible {
outline: 2px solid #86b7fe;
outline-offset: 2px;
border-radius: 0.25rem;
}
.mobile-topbar-currency .currency-selected-text {
grid-row: 1;
text-align: center;
justify-self: center;
}
.mobile-topbar-currency .currency-selected .currency-name {
display: none;
}
.mobile-topbar-currency .currency-code {
display: block;
font-size: 0.75rem;
font-weight: 700;
line-height: 1;
}
.mobile-topbar-currency .currency-selected-flag {
grid-row: 2;
display: flex;
width: 26px;
height: 26px;
align-items: center;
justify-content: center;
justify-self: center;
overflow: hidden;
}
.mobile-topbar-currency .currency-selected-flag .currency-flag {
transform: scale(0.8125);
transform-origin: center;
}
.mobile-topbar-currency .currency-caret {
display: none;
}
/* Full-sized opened currency list */
.mobile-topbar-currency .currency-options {
left: auto;
right: 0;
width: 220px;
max-width: calc(100vw - 1rem);
max-height: 60vh;
z-index: 2000;
}
}
/* Page content */
.page-content {
padding: 1.25rem 0.5rem 1.25rem;
}
/* Smaller gap only when the hamburger menu is used */
@media (max-width: 767.98px) {
.page-content {
padding-top: 0.5rem;
margin-top: 0;
}
}
/* Basket */
/* Mobile basket order */
@media (max-width: 767.98px) {
.basket-summary-top {
display: none;
}
}
.basket-summary {
width: 100%;
max-width: 250px;
margin-left: auto;
}
.basket-summary .basket-totals {
margin-left: auto;
}
/* Added-to-basket confirmation */
.basket-toast-positioner {
position: fixed;
top: 9.5rem;
right: 0;
left: 0;
z-index: 1090;
pointer-events: none;
}
.basket-added-toast {
width: 360px;
max-width: calc(100% - 1.5rem);
background-color: #fff;
box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.18);
pointer-events: auto;
}
/* Hide basket subtotal in header */
.header-basket-subtotal {
display: none;
}
/* Header account and basket icons */
.header-basket-link {
position: relative;
width: 42px;
min-width: 42px;
padding: 0;
}
.header-account .fa-user,
.header-basket-link .fa-cart-shopping {
font-size: 1.35rem;
line-height: 1;
}
.header-basket-count {
position: absolute;
top: -0.3rem;
right: -0.05rem;
left: auto;
transform: none;
min-width: 1.25rem;
height: 1.25rem;
margin: 0;
padding: 0 0.3rem;
display: inline-flex;
align-items: center;
justify-content: center;
border-radius: 999px;
background-color: #198754;
color: #fff;
font-size: 0.7rem;
font-weight: 700;
line-height: 1;
}
/* Phones */
@media (max-width: 767.98px) {
.basket-toast-positioner {
top: 4.5rem;
padding-right: 0.75rem;
padding-left: 0.75rem;
}
.basket-toast-positioner > .container {
max-width: none;
justify-content: center !important;
}
.basket-added-toast {
width: 100%;
max-width: 390px;
}
}
/* Shallow landscape screens */
@media (min-width: 768px) and (max-height: 600px) and (orientation: landscape) {
.basket-toast-positioner {
top: 4.5rem;
}
.basket-toast-positioner > .container {
justify-content: center !important;
}
.basket-added-toast {
width: 390px;
max-width: calc(100% - 1.5rem);
}
}
/* Added-to-basket toast icon */
.basket-added-toast .toast-header > i {
width: 1.25rem;
font-size: 1.1rem;
line-height: 1;
text-align: center;
}
/* Breadcrumb bar */
.breadcrumb-bar {
margin-top: 0; /* 1.20rem; */
margin-bottom: 0.5rem;
padding: 0.75rem 1rem;
background-color: #d9effd;
border-radius: 0.25rem;
}
.breadcrumb-bar .breadcrumb {
margin-bottom: 0;
}
/* Section heading */
.section-heading {
margin-top: 0;
margin-bottom: 0.5rem;
padding: 0.75rem 1rem;
background-color: #d9effd;
border-radius: 0.25rem;
color: #212529;
font-size: 1.25rem;
font-weight: 600;
line-height: 1.25;
}
/* Home page notices / intro */
.home-notices {
font-size: 1.05rem;
line-height: 1.55;
}
.home-scam-warning {
margin-bottom: 1rem;
padding: 1rem 1.25rem;
}
.home-intro p {
margin-bottom: 0.75rem;
}
.home-intro p:last-child {
margin-bottom: 0;
}
.home-section-divider {
margin-top: 1.25rem;
margin-bottom: 1.25rem;
}
/* Home banner / carousel */
.home-banner {
margin-top: 0; /* 1.25rem; */
margin-bottom: 1.5rem;
}
.home-banner-carousel {
overflow: hidden;
margin: auto;
}
.home-banner-carousel .carousel-indicators {
bottom: -1.25rem;
}
/* Home panels */
.home-panel {
border: 1px solid #d6d6d6;
border-radius: 0.375rem;
background: white;
overflow: hidden;
}
.home-panel-heading {
background-color: #d9effd;
border-bottom: 1px solid #d6d6d6;
padding: 0.65rem 1rem;
font-size: 1.15rem;
font-weight: 600;
}
.home-panel-body {
padding: 1rem;
}
/* Featured products */
.home-highlights {
font-size: 0.95rem;
line-height: 1.4;
}
.home-highlights .highlights-product-name {
font-size: 1rem;
}
/* product list cards */
.product-list-item {
border: 1px solid #ccc;
text-align: center;
padding: 10px;
margin-top: 15px;
margin-bottom: 15px;
background: white;
}
.product-list-item-image {
margin-left: auto;
margin-right: auto;
}
.product-list-item-name {
display: block;
line-height: 1.5em;
min-height: 3em;
overflow: hidden;
}
.product-list-item-price {
padding-bottom: 0;
}
/* Product list prices */
.product-list-item-price .price-std,
.product-list-item-price .price-sale {
font-size: 1.05rem;
}
.product-list-item-price .price-std-crossed-out {
font-size: 0.95rem;
}
/* placeholder for buy button */
.product-list-item-buy {
min-height: 38px;
}
/* new product styles */
/* product prices */
/* following used by apputils for ShowProductPriceV2 */
.price-std,
.price-sale {
font-weight: bold;
}
.price-std {
color: #212529;
}
.price-sale {
color: #dc3545;
}
.price-save,
.price-save-pc {
color: #dc3545;
}
.price-std-crossed-out {
color: #6c757d;
text-decoration: line-through;
}
/* Subcategory list */
#subcategory-list {
margin-bottom: 2rem;
}
#subcategory-list-heading {
margin-bottom: 0;
}
#subcategory-list-heading h1 {
margin-bottom: 0;
}
#subcategory-list-cat-details {
margin-bottom: 1.5rem;
}
#subcategory-list-content {
margin-top: 0;
}
.subcategory-list-item-link {
display: block;
height: 100%;
color: #212529;
text-decoration: none;
}
.subcategory-list-item-link:hover,
.subcategory-list-item-link:focus {
color: #0d6efd;
text-decoration: none;
}
.subcategory-list-item {
height: 100%;
padding: 0.75rem;
text-align: center;
background: white;
border: 1px solid #dee2e6;
transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, transform 0.15s ease-in-out;
}
.subcategory-list-item-link:hover .subcategory-list-item,
.subcategory-list-item-link:focus .subcategory-list-item {
border-color: #c7d2fe;
box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.10) !important;
transform: translateY(-2px);
}
.subcategory-list-item-image {
display: block;
width: 100%;
max-width: 100%;
height: auto;
margin: 0 auto 1rem;
}
.subcategory-list-item-title {
border-top: 1px solid #e9ecef;
padding: 0.85rem 0.5rem 0.25rem;
color: inherit;
font-size: 1.1rem;
font-weight: 500;
line-height: 1.25;
}
/* basket styles */
/* Bootstrap 5 basket items */
.basket-item-card {
min-height: 0;
border: 1px solid #ccc;
}
.basket-item-image-col {
flex: 0 0 120px;
width: 120px;
padding: 0.25rem 0.5rem 0.25rem 0.25rem;
}
.basket-item-image {
display: block;
max-width: 105px;
max-height: 105px;
width: auto;
height: auto;
object-fit: contain;
}
.basket-item-details {
min-width: 0;
padding: 0.15rem 1.75rem 0.15rem 0.4rem;
}
.basket-item-remove {
position: absolute;
top: 0.45rem;
right: 0.6rem;
line-height: 1;
}
.basket-item-name-link {
color: #0d6efd;
}
.basket-item-name-link:hover,
.basket-item-name-link:focus {
color: #0a58ca;
}
.basket-item-options {
margin-right: 0.25rem;
}
.basket-item-controls {
margin-top: 0.25rem;
}
.basket-item-qty {
width: 142px;
margin-bottom: 0;
}
.basket-item-qty .input-group-text {
padding: 0.3rem 0.55rem;
}
.basket-item-qty .form-control {
flex: 0 0 48px;
max-width: 48px;
padding: 0.3rem 0.25rem;
}
.basket-item-price {
min-width: 90px;
white-space: nowrap;
}
.basket-item-total {
font-size: 1.1rem;
line-height: 1.2;
}
.basket-item-each {
margin-top: 0.15rem;
line-height: 1.2;
}
@media (max-width: 575.98px) {
.basket-item-card {
padding: 0.5rem !important;
}
.basket-item-image-col {
flex-basis: 90px;
width: 90px;
padding: 0.15rem 0.35rem 0.15rem 0;
}
.basket-item-image {
max-width: 80px;
max-height: 80px;
}
.basket-item-details {
padding-left: 0.25rem;
padding-right: 1.5rem;
}
.basket-item-controls {
flex-wrap: wrap;
}
}
table.basket {
border-collapse: collapse;
width: 100%;
}
table.basket th, table.basket td {
font-weight: bold;
padding: 4px;
}
table.basket th {
/* color: #fff; */
/* background-color: #999; */
}
table.basket td {
/* color: #000; */
/* background-color: #E0E0E0; */
border-bottom: 1px solid #B5B5B5;
}
.bsk-thumbnail {
border: 1px solid #B5B5B5;
width: 75px;
height: 75px;
}
.bsk-prod-name {
text-decoration: none; /* underline; */
font-weight: normal; /* bold; */
}
.bsk-options-list {
font-size: 11px;
margin-top: 3px;
}
.bsk-prod-code {
font-weight: normal;
margin-top: 10px;
}
/* (SS,6/7/22) replaced 75% with 100% */
#basket-info {
float: left;
width: 100%; /* 600px */
}
#basket-info p {
margin: 10px 5px 10px 5px;
}
#basket-totals {
float: right;
margin-top: 10px;
}
table.basket-totals {
width: 100%;
border-spacing: 5px;
text-align: right;
}
table.basket-totals th {
font-weight: normal;
padding-right: 10px; /* (SS,11/6/24) */
}
table.basket-totals td {
font-weight: bold;
}
/* Basket summary form labels */
.basket-summary-label {
display: block;
margin-bottom: 0.5rem;
font-weight: 600;
line-height: 1.25;
}
/* Basket notice */
.basket-notice p {
margin-bottom: 0.5rem;
}
.basket-notice p:last-child {
margin-bottom: 0;
}
.basket-notice-info {
color: #212529;
background-color: #f8f9fa;
border-color: #dee2e6;
}
.paypal-message p {
margin-bottom: 0.5rem;
}
.paypal-message p:last-child {
margin-bottom: 0;
}
/* end of basket styles */
/* for custom specification table */
/* latest news */
/* Recent reviews */
#recent-reviews {
font-size: 0.95rem;
line-height: 1.4;
}
.recent-reviews-item {
line-height: 1.4;
}
.recent-reviews-stars {
color: #f8b805;
white-space: nowrap;
}
.recent-reviews-stars .fa-star {
font-size: 1.1rem;
}
.recent-reviews-date {
color: #6c757d;
font-size: 0.875rem;
}
.recent-reviews-title {
font-size: 1.05rem;
font-weight: 700;
margin-top: 0.25rem;
}
.recent-reviews-text {
margin-top: 0.35rem;
}
.recent-reviews-name {
margin-top: 0.35rem;
}
/* reviews */
/* review stars and rating */
.review-stars-full,
.review-stars-half {
color: #ff9900;
}
.review-stars-empty {
color: #dee2e6;
}
.review-rating-text {
font-size: 0.95rem;
}
/* reviews page */
/* top section */
/* main section */
/* bottom sections */
/* page title */
/* other pages */
/* product detail sharing */
/* product description table */
/* Product detail */
.product-detail-title {
margin-top: 1rem;
margin-bottom: 1.25rem;
/*
border-top: 1px solid #ddd;
border-bottom: 1px solid #ddd;
*/
text-align: center;
}
.product-detail-main {
margin-bottom: 1.5rem;
}
.product-detail-left,
.product-detail-right {
display: flex;
flex-direction: column;
}
.product-detail-main-image {
text-align: center;
}
.product-detail-main-image .MagicZoom {
display: inline-block;
}
.product-detail-main-image img {
display: block;
margin-left: auto;
margin-right: auto;
}
.product-detail-code {
margin-top: 0;
margin-bottom: 0.25rem;
}
.product-detail-qty {
width: auto;
min-width: 70px;
}
.product-detail-buy-box {
padding-top: 0.25rem;
}
.product-detail-description-section,
.product-detail-related {
margin-top: 1.25rem;
}
.product-pick-id {
display: inline-block;
margin-left: 0.5rem;
padding: 3px 7px;
font-size: 0.75em;
font-weight: 700;
line-height: 1;
color: #fff;
background-color: #777;
border-radius: 10px;
vertical-align: 0.15em;
}
/* ==========================================================================
Product list stock info
========================================================================== */
.product-list-item-stock-info {
margin-top: 0.25rem;
margin-bottom: 0.6rem;
color: #198754;
font-weight: 600;
}
.product-list-item-stock-info-out {
margin-top: 0.25rem;
margin-bottom: 0.6rem;
color: #6c757d;
font-weight: 500;
}
/* ==========================================================================
Product list larger-phone layout
========================================================================== */
@media (min-width: 375px) and (max-width: 575.98px) {
.product-list-col {
flex: 0 0 auto;
width: 50%;
}
}
/* Tighter product grid on larger phones */
@media (min-width: 375px) and (max-width: 767.98px) {
.product-list-row {
--bs-gutter-x: 0.75rem;
margin-inline: -0.9rem;
}
.product-list-item {
margin-top: 0.5rem;
margin-bottom: 0.5rem;
}
}
/* ==========================================================================
Product description spacing - Bootstrap 5
========================================================================== */
/* Hide legacy <br><br> generated after the section heading */
.product-detail-description-section .section-heading + br,
.product-detail-description-section .section-heading + br + br {
display: none;
}
/* Bullet and numbered lists generated by {bullet} tokens */
.product-description-html ul,
.product-description-html ol {
margin-top: 0.35rem;
margin-bottom: 1rem;
padding-left: 1.5rem;
}
/* Description tables generated by {table} tokens */
.product-description-html table.table-description {
margin-top: 1.5rem;
margin-bottom: 1.5rem;
}
/* Bootstrap 5 video wrappers */
.product-description-html .ratio {
margin-top: 1.5rem;
margin-bottom: 1.5rem;
}
/* Controlled paragraph gap created from <br><br> in product descriptions */
.product-description-html .product-desc-gap {
display: block;
height: 1rem;
}
/* ==========================================================================
Product download / extra file links - Bootstrap 5
========================================================================== */
.product-downloads {
width: 100%;
margin-top: 1.25rem;
margin-bottom: 0;
}
.product-downloads-list {
list-style: none;
padding-left: 0;
margin-bottom: 0;
}
.product-downloads-item {
margin-bottom: 0.5rem;
}
.product-downloads-item:last-child {
margin-bottom: 0;
}
.product-downloads-item i {
font-size: 1.35rem;
width: 1.45rem;
text-align: center;
margin-top: 0.1rem;
flex: 0 0 auto;
}
.product-downloads-item a,
.product-downloads-item a:hover,
.product-downloads-item a:focus {
text-decoration: none;
}
.product-downloads-item a:hover .product-download-name,
.product-downloads-item a:focus .product-download-name {
text-decoration: underline;
}
.product-downloads-item a:hover .product-download-size,
.product-downloads-item a:focus .product-download-size {
text-decoration: none;
}
.product-download-text {
min-width: 0;
}
.product-download-name {
overflow-wrap: anywhere;
}
.product-download-size {
display: inline-block;
font-size: 0.8em;
font-weight: 600;
color: #6c757d;
background-color: #f8f9fa;
border: 1px solid #dee2e6;
border-radius: 0.35rem;
padding: 0.05rem 0.35rem;
margin-left: 0.45rem;
vertical-align: 0.05em;
white-space: nowrap;
}
/* Product detail order on mobile */
@media (max-width: 767.98px) {
.product-detail-main {
margin-left: 0;
margin-right: 0;
}
/*
Allow the contents of the two desktop columns to be
reordered individually on mobile.
*/
.product-detail-left,
.product-detail-right {
display: contents;
}
.product-detail-images,
.product-detail-buy-box,
.product-detail-downloads,
.product-detail-description-section,
.product-detail-related {
flex: 0 0 100%;
width: 100%;
min-width: 0;
}
.product-detail-downloads .product-downloads {
width: 100%;
}
.product-detail-images {
order: 1;
}
.product-detail-buy-box {
order: 2;
margin-top: 1rem;
}
.product-detail-downloads {
order: 3;
}
.product-detail-description-section {
order: 4;
}
.product-detail-related {
order: 5;
}
}
/* Product detail thumbnails */
.product-detail-thumbnails {
display: grid;
grid-template-columns: repeat(auto-fit, 82px);
gap: 0.4rem;
justify-content: center;
margin-top: 1rem;
}
.product-detail-thumbnails a,
.product-detail-thumbnails .MagicZoom,
.product-detail-thumbnails .mz-thumb {
display: flex !important;
align-items: center;
justify-content: center;
width: 82px !important;
height: 82px !important;
padding: 0.25rem;
border: 1px solid #ddd;
border-radius: 0.25rem;
background-color: white;
box-sizing: border-box;
overflow: hidden;
}
.product-detail-thumbnails img,
.product-detail-thumbnails .MagicZoom img,
.product-detail-thumbnails .mz-thumb img {
display: block;
max-width: 100% !important;
max-height: 100% !important;
width: auto !important;
height: auto !important;
object-fit: contain;
}
/* Product detail sections */
.product-detail-section {
margin-bottom: 1rem;
}
.product-detail-section.product-downloads {
margin-bottom: 0;
}
.product-detail-section-body {
padding-top: 0.5rem;
}
/* Product detail price */
.product-detail-price {
margin-top: 0.45rem;
margin-bottom: 0.45rem;
font-size: 1.85rem;
font-weight: 700;
line-height: 1.2;
color: #212529;
}
.product-detail-price-label {
color: #212529;
}
.product-detail-price .price-std,
.product-detail-price .price-sale {
font-size: inherit;
font-weight: inherit;
}
.product-detail-price .price-std-crossed-out {
font-size: 1.1rem;
}
/* Product options */
.product-options-heading {
margin-top: 1rem;
margin-bottom: 0.75rem;
font-size: 1.45rem;
font-weight: 500;
line-height: 1.2;
}
.product-options-hint {
display: block;
margin-top: 0.5rem;
}
.product-option {
margin-bottom: 0.75rem;
}
.product-option-required {
color: #dc3545;
margin-right: 0.15rem;
}
.product-option-value-row {
display: flex;
align-items: center;
gap: 0.75rem;
border: 1px solid #ddd;
padding: 0.4rem 0.6rem;
min-height: 4rem;
background-color: #fff;
}
.product-option-value-row + .product-option-value-row {
border-top: 0;
}
.product-option-value-control {
flex: 0 0 auto;
}
.product-option-value-label {
flex: 1 1 auto;
line-height: 1.3;
}
.product-option-value-label label {
margin-bottom: 0;
font-weight: 600;
}
/* Product option images */
.product-option-value-image {
flex: 0 0 80px;
text-align: right;
}
.product-option-image-inner {
width: 80px;
}
.product-option-image-link {
display: inline-block;
}
.product-option-image {
width: 75px;
height: 75px;
object-fit: contain;
}
/* Related products */
.related-products {
display: block;
}
.related-product-item {
display: flex;
gap: 0.75rem;
padding: 0.875rem;
margin-bottom: 0.75rem;
border: 1px solid #dfe3e8;
border-radius: 0.5rem;
background: #fff;
}
.related-product-image {
flex: 0 0 95px;
display: flex;
justify-content: center;
}
.related-product-image img {
max-width: 95px;
max-height: 95px;
width: auto;
height: auto;
object-fit: contain;
}
.related-product-info {
flex: 1 1 auto;
min-width: 0;
}
.related-product-name {
margin-bottom: 0.35rem;
line-height: 1.3;
}
.related-product-buy-row {
display: flex;
align-items: center;
gap: 0.5rem;
margin-top: 0.35rem;
}
.related-product-price {
flex: 0 0 72px;
font-weight: 700;
line-height: 1.35;
}
.related-product-add-button {
flex: 0 0 auto;
min-width: 48px;
padding: 0.25rem 0.55rem;
line-height: 1.2;
}
.related-product-stock {
margin-top: 0.15rem;
line-height: 1.35;
}
/* Related categories */
.related-category-path {
margin-bottom: 0.35rem;
}
.related-category-path .breadcrumb {
margin-bottom: 0;
font-size: 0.95rem;
}
/* bank transfer */
/* Bank transfer modal */
.bank-transfer-option {
display: flex;
align-items: center;
gap: 1rem;
margin-bottom: 1.25rem;
}
.bank-transfer-option:last-child {
margin-bottom: 0;
}
@media (min-width: 576px) {
.bank-transfer-option {
margin-bottom: 1.5rem;
}
}
.bank-transfer-button-width {
flex: 0 0 176px;
width: 176px;
}
.bank-transfer-option-text {
flex: 1 1 auto;
min-width: 0;
font-size: 1.05rem;
line-height: 1.35;
}
@media (max-width: 575.98px) {
.bank-transfer-option {
flex-direction: column;
align-items: stretch;
gap: 0.5rem;
}
.bank-transfer-button-width {
width: 100%;
flex-basis: auto;
}
}
/* Stock notification form */
.stock-notify-form {
max-width: 720px;
}
.stock-notify-security img {
max-width: 100%;
height: auto;
display: block;
margin-bottom: 0.5rem;
}
/* home notices and intro */
/* Recently viewed */
.recently-viewed-wrapper {
padding-bottom: 1.25rem;
}
.recently-viewed-section {
margin-bottom: 0;
}
.recently-viewed-section img {
border: 1px solid #e0e0e0;
border-radius: 0.375rem;
padding: 0.25rem;
background-color: white;
}
.recently-viewed-section a {
display: inline-block;
margin-right: 0.25rem;
margin-bottom: 0.25rem;
}
/* footer */
/* (SS,15/5/26) main footer */
/* (SS,24/6/26) change to non-continuous */
.footer-main {
background-color: transparent;
border-top: 0;
}
.footer-main .container {
background-color: #c7ebff;
border-top: 1px solid #aee0fb;
}
.footer-main h5 {
color: #111;
font-weight: 700;
}
.footer-main a {
color: #0d6efd;
}
.footer-main a:hover,
.footer-main a:focus {
color: #0a58ca;
text-decoration: underline;
}
/* (SS,18/5/26) links in footer */
.footer-link-list {
align-items: flex-start;
line-height: 1.35;
}
.footer-link-list .nav-item {
margin-bottom: 0.5rem;
}
.footer-link-list .nav-item:last-child {
margin-bottom: 0;
}
.footer-contact-links li {
margin-bottom: 0.45rem;
}
.footer-contact-links li:last-child {
margin-bottom: 0;
}
/* ==========================================================================
Footer payment logos - Bootstrap 5
========================================================================== */
.footer-payment-logos {
max-width: 260px;
}
.footer-payment-wallets {
display: flex;
flex-wrap: wrap;
gap: 0.75rem;
align-items: center;
}
.footer-payment-logo {
display: block;
max-width: 100%;
height: auto;
}
.footer-payment-logo-wallet {
width: 100px;
}
.footer-payment-logo-wide {
width: 240px;
}
/* ==========================================================================
Useful links page - Bootstrap 5
========================================================================== */
.links-page h2 {
margin-top: 1.5rem;
margin-bottom: 0.5rem;
}
.links-page ul {
margin-bottom: 1.25rem;
}
.links-page li {
margin-bottom: 0.15rem;
}
.links-page .link-external {
font-weight: 400;
}
/* ==========================================================================
Internal delivery debug tools
========================================================================== */
.delivery-debug-placeholder {
margin-top: 0.4rem;
}
.delivery-debug-button {
font-size: 0.75rem;
color: #6c757d;
text-decoration: none;
opacity: 0.45;
padding-left: 0;
padding-right: 0;
}
.delivery-debug-button:hover,
.delivery-debug-button:focus {
color: #0d6efd;
opacity: 1;
text-decoration: underline;
}
.delivery-debug-collapse {
margin-top: 0.5rem;
}
.delivery-debug-table {
font-size: 0.8rem;
}
/* ==========================================================================
Header search suggestions
========================================================================== */
.header-search-wrapper {
position: relative;
width: 100%;
}
.search-suggest-panel {
position: absolute;
top: calc(100% + 0.25rem);
left: 0;
right: 0;
z-index: 2000;
background-color: #fff;
border: 1px solid #d6dbe0;
border-radius: 0.375rem;
box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
overflow: hidden;
}
.search-suggest-item {
display: block;
padding: 0.6rem 0.75rem;
color: #212529;
text-decoration: none;
border-bottom: 1px solid #eee;
}
.search-suggest-item:hover,
.search-suggest-item:focus {
background-color: #f2f8fc;
color: #212529;
text-decoration: none;
}
.search-suggest-name {
display: block;
font-weight: 600;
line-height: 1.25;
}
.search-suggest-code {
display: block;
margin-top: 0.1rem;
font-size: 0.8rem;
color: #6c757d;
}
.search-suggest-meta {
display: flex;
gap: 0.75rem;
align-items: center;
margin-top: 0.25rem;
font-size: 0.85rem;
}
.search-suggest-price {
font-weight: 600;
}
.search-suggest-stock {
color: #198754;
}
.search-suggest-stock-out {
color: #6c757d;
}
.search-suggest-footer,
.search-suggest-empty {
padding: 0.65rem 0.75rem;
font-size: 0.9rem;
background-color: #f8f9fa;
}
.search-suggest-footer a {
font-weight: 600;
}
.search-suggest-item {
display: flex;
gap: 0.85rem;
align-items: flex-start;
}
.search-suggest-image {
flex: 0 0 70px;
width: 70px;
height: 70px;
display: flex;
align-items: center;
justify-content: center;
}
.search-suggest-image img {
max-width: 70px;
max-height: 70px;
width: auto;
height: auto;
display: block;
}
.search-suggest-info {
flex: 1 1 auto;
min-width: 0;
}
.search-suggest-panel {
max-height: calc(100vh - 10.5rem);
overflow-y: auto;
}
@media (max-width: 390px) {
.search-suggest-panel {
max-height: calc(100vh - 12.5rem);
}
.search-suggest-item {
padding: 0.65rem 0.75rem;
gap: 0.75rem;
}
.search-suggest-image {
flex: 0 0 64px;
width: 64px;
height: 64px;
}
.search-suggest-image img {
max-width: 64px;
max-height: 64px;
}
.search-suggest-name {
font-size: 1rem;
line-height: 1.25;
}
.search-suggest-code {
font-size: 0.85rem;
}
.search-suggest-meta {
gap: 0.65rem;
font-size: 0.9rem;
}
}
.search-suggest-section-heading {
padding: 0.5rem 0.75rem;
background-color: #f8f9fa;
border-bottom: 1px solid #eee;
color: #6c757d;
font-size: 0.75rem;
font-weight: 700;
line-height: 1.2;
letter-spacing: 0.025em;
text-transform: uppercase;
}
.search-suggest-category-item {
display: flex;
gap: 0.35rem;
align-items: baseline;
padding: 0.6rem 0.75rem;
color: #212529;
border-bottom: 1px solid #eee;
font-size: 0.95rem;
font-weight: 600;
line-height: 1.25;
text-decoration: none;
}
.search-suggest-category-item:hover,
.search-suggest-category-item:focus {
background-color: #f2f8fc;
color: #212529;
text-decoration: none;
}
.search-suggest-category-parent {
color: #6c757d;
font-weight: 400;
}
.search-suggest-category-separator {
color: #adb5bd;
}
/* Wider search suggestion panel on tablet-sized headers */
@media (min-width: 768px) and (max-width: 991.98px) {
.search-suggest-panel {
left: 50%;
right: auto;
width: 480px;
max-width: calc(100vw - 1.5rem);
transform: translateX(-50%);
}
}
/* Keep search suggestions aligned with the search field on wider desktops */
@media (min-width: 1200px) {
.header-search-wrapper {
max-width: 500px;
margin-left: auto;
margin-right: auto;
}
}
/* Cookie bar */
/* (SS,29/5/26) tidy old jquery.cookiebar styling for Bootstrap 5 */
#cookie-bar {
background: #111111;
color: #eeeeee;
text-align: center;
padding: 0.3rem 1rem;
font-size: 0.95rem;
line-height: 1.4;
font-weight: 600;
}
#cookie-bar p {
margin: 0;
padding: 0;
}
#cookie-bar a {
color: #ffffff;
display: inline-block;
border-radius: 0.2rem;
text-decoration: none;
padding: 0.15rem 0.55rem;
margin-left: 0.5rem;
line-height: 1.3;
}
#cookie-bar .cb-enable {
background: #007700;
}
#cookie-bar .cb-enable:hover {
background: #009900;
}
#cookie-bar .cb-policy {
background: #0033bb;
}
#cookie-bar .cb-policy:hover {
background: #0055dd;
}
#cookie-bar a:hover,
#cookie-bar a:focus {
color: #ffffff;
text-decoration: none;
}
/* HyperFlight wavy country flag sprite generated from Flagpedia 64x48 small waving icons */
/* 250 standard two-letter flags, displayed normally at 32x24 and compactly at 24x18 */
.country-flag {
--flag-w: 32px;
--flag-h: 24px;
display: inline-block;
width: var(--flag-w);
height: var(--flag-h);
flex: 0 0 auto;
background-image: url("/common/flags/country/country-flags-24@2x-wavy-q75.webp");
background-repeat: no-repeat;
background-size: calc(16 * var(--flag-w)) calc(16 * var(--flag-h));
vertical-align: middle;
}
.country-flag-compact {
--flag-w: 24px;
--flag-h: 18px;
}
.country-flag-ad { background-position: 0.000000% 0.000000%; }
.country-flag-ae { background-position: 6.666667% 0.000000%; }
.country-flag-af { background-position: 13.333333% 0.000000%; }
.country-flag-ag { background-position: 20.000000% 0.000000%; }
.country-flag-ai { background-position: 26.666667% 0.000000%; }
.country-flag-al { background-position: 33.333333% 0.000000%; }
.country-flag-am { background-position: 40.000000% 0.000000%; }
.country-flag-ao { background-position: 46.666667% 0.000000%; }
.country-flag-aq { background-position: 53.333333% 0.000000%; }
.country-flag-ar { background-position: 60.000000% 0.000000%; }
.country-flag-as { background-position: 66.666667% 0.000000%; }
.country-flag-at { background-position: 73.333333% 0.000000%; }
.country-flag-au { background-position: 80.000000% 0.000000%; }
.country-flag-aw { background-position: 86.666667% 0.000000%; }
.country-flag-ax { background-position: 93.333333% 0.000000%; }
.country-flag-az { background-position: 100.000000% 0.000000%; }
.country-flag-ba { background-position: 0.000000% 6.666667%; }
.country-flag-bb { background-position: 6.666667% 6.666667%; }
.country-flag-bd { background-position: 13.333333% 6.666667%; }
.country-flag-be { background-position: 20.000000% 6.666667%; }
.country-flag-bf { background-position: 26.666667% 6.666667%; }
.country-flag-bg { background-position: 33.333333% 6.666667%; }
.country-flag-bh { background-position: 40.000000% 6.666667%; }
.country-flag-bi { background-position: 46.666667% 6.666667%; }
.country-flag-bj { background-position: 53.333333% 6.666667%; }
.country-flag-bl { background-position: 60.000000% 6.666667%; }
.country-flag-bm { background-position: 66.666667% 6.666667%; }
.country-flag-bn { background-position: 73.333333% 6.666667%; }
.country-flag-bo { background-position: 80.000000% 6.666667%; }
.country-flag-bq { background-position: 86.666667% 6.666667%; }
.country-flag-br { background-position: 93.333333% 6.666667%; }
.country-flag-bs { background-position: 100.000000% 6.666667%; }
.country-flag-bt { background-position: 0.000000% 13.333333%; }
.country-flag-bv { background-position: 6.666667% 13.333333%; }
.country-flag-bw { background-position: 13.333333% 13.333333%; }
.country-flag-by { background-position: 20.000000% 13.333333%; }
.country-flag-bz { background-position: 26.666667% 13.333333%; }
.country-flag-ca { background-position: 33.333333% 13.333333%; }
.country-flag-cc { background-position: 40.000000% 13.333333%; }
.country-flag-cd { background-position: 46.666667% 13.333333%; }
.country-flag-cf { background-position: 53.333333% 13.333333%; }
.country-flag-cg { background-position: 60.000000% 13.333333%; }
.country-flag-ch { background-position: 66.666667% 13.333333%; }
.country-flag-ci { background-position: 73.333333% 13.333333%; }
.country-flag-ck { background-position: 80.000000% 13.333333%; }
.country-flag-cl { background-position: 86.666667% 13.333333%; }
.country-flag-cm { background-position: 93.333333% 13.333333%; }
.country-flag-cn { background-position: 100.000000% 13.333333%; }
.country-flag-co { background-position: 0.000000% 20.000000%; }
.country-flag-cr { background-position: 6.666667% 20.000000%; }
.country-flag-cu { background-position: 13.333333% 20.000000%; }
.country-flag-cv { background-position: 20.000000% 20.000000%; }
.country-flag-cw { background-position: 26.666667% 20.000000%; }
.country-flag-cx { background-position: 33.333333% 20.000000%; }
.country-flag-cy { background-position: 40.000000% 20.000000%; }
.country-flag-cz { background-position: 46.666667% 20.000000%; }
.country-flag-de { background-position: 53.333333% 20.000000%; }
.country-flag-dj { background-position: 60.000000% 20.000000%; }
.country-flag-dk { background-position: 66.666667% 20.000000%; }
.country-flag-dm { background-position: 73.333333% 20.000000%; }
.country-flag-do { background-position: 80.000000% 20.000000%; }
.country-flag-dz { background-position: 86.666667% 20.000000%; }
.country-flag-ec { background-position: 93.333333% 20.000000%; }
.country-flag-ee { background-position: 100.000000% 20.000000%; }
.country-flag-eg { background-position: 0.000000% 26.666667%; }
.country-flag-eh { background-position: 6.666667% 26.666667%; }
.country-flag-er { background-position: 13.333333% 26.666667%; }
.country-flag-es { background-position: 20.000000% 26.666667%; }
.country-flag-et { background-position: 26.666667% 26.666667%; }
.country-flag-fi { background-position: 33.333333% 26.666667%; }
.country-flag-fj { background-position: 40.000000% 26.666667%; }
.country-flag-fk { background-position: 46.666667% 26.666667%; }
.country-flag-fm { background-position: 53.333333% 26.666667%; }
.country-flag-fo { background-position: 60.000000% 26.666667%; }
.country-flag-fr { background-position: 66.666667% 26.666667%; }
.country-flag-ga { background-position: 73.333333% 26.666667%; }
.country-flag-gb { background-position: 80.000000% 26.666667%; }
.country-flag-gd { background-position: 86.666667% 26.666667%; }
.country-flag-ge { background-position: 93.333333% 26.666667%; }
.country-flag-gf { background-position: 100.000000% 26.666667%; }
.country-flag-gg { background-position: 0.000000% 33.333333%; }
.country-flag-gh { background-position: 6.666667% 33.333333%; }
.country-flag-gi { background-position: 13.333333% 33.333333%; }
.country-flag-gl { background-position: 20.000000% 33.333333%; }
.country-flag-gm { background-position: 26.666667% 33.333333%; }
.country-flag-gn { background-position: 33.333333% 33.333333%; }
.country-flag-gp { background-position: 40.000000% 33.333333%; }
.country-flag-gq { background-position: 46.666667% 33.333333%; }
.country-flag-gr { background-position: 53.333333% 33.333333%; }
.country-flag-gs { background-position: 60.000000% 33.333333%; }
.country-flag-gt { background-position: 66.666667% 33.333333%; }
.country-flag-gu { background-position: 73.333333% 33.333333%; }
.country-flag-gw { background-position: 80.000000% 33.333333%; }
.country-flag-gy { background-position: 86.666667% 33.333333%; }
.country-flag-hk { background-position: 93.333333% 33.333333%; }
.country-flag-hm { background-position: 100.000000% 33.333333%; }
.country-flag-hn { background-position: 0.000000% 40.000000%; }
.country-flag-hr { background-position: 6.666667% 40.000000%; }
.country-flag-ht { background-position: 13.333333% 40.000000%; }
.country-flag-hu { background-position: 20.000000% 40.000000%; }
.country-flag-id { background-position: 26.666667% 40.000000%; }
.country-flag-ie { background-position: 33.333333% 40.000000%; }
.country-flag-il { background-position: 40.000000% 40.000000%; }
.country-flag-im { background-position: 46.666667% 40.000000%; }
.country-flag-in { background-position: 53.333333% 40.000000%; }
.country-flag-io { background-position: 60.000000% 40.000000%; }
.country-flag-iq { background-position: 66.666667% 40.000000%; }
.country-flag-ir { background-position: 73.333333% 40.000000%; }
.country-flag-is { background-position: 80.000000% 40.000000%; }
.country-flag-it { background-position: 86.666667% 40.000000%; }
.country-flag-je { background-position: 93.333333% 40.000000%; }
.country-flag-jm { background-position: 100.000000% 40.000000%; }
.country-flag-jo { background-position: 0.000000% 46.666667%; }
.country-flag-jp { background-position: 6.666667% 46.666667%; }
.country-flag-ke { background-position: 13.333333% 46.666667%; }
.country-flag-kg { background-position: 20.000000% 46.666667%; }
.country-flag-kh { background-position: 26.666667% 46.666667%; }
.country-flag-ki { background-position: 33.333333% 46.666667%; }
.country-flag-km { background-position: 40.000000% 46.666667%; }
.country-flag-kn { background-position: 46.666667% 46.666667%; }
.country-flag-kp { background-position: 53.333333% 46.666667%; }
.country-flag-kr { background-position: 60.000000% 46.666667%; }
.country-flag-kw { background-position: 66.666667% 46.666667%; }
.country-flag-ky { background-position: 73.333333% 46.666667%; }
.country-flag-kz { background-position: 80.000000% 46.666667%; }
.country-flag-la { background-position: 86.666667% 46.666667%; }
.country-flag-lb { background-position: 93.333333% 46.666667%; }
.country-flag-lc { background-position: 100.000000% 46.666667%; }
.country-flag-li { background-position: 0.000000% 53.333333%; }
.country-flag-lk { background-position: 6.666667% 53.333333%; }
.country-flag-lr { background-position: 13.333333% 53.333333%; }
.country-flag-ls { background-position: 20.000000% 53.333333%; }
.country-flag-lt { background-position: 26.666667% 53.333333%; }
.country-flag-lu { background-position: 33.333333% 53.333333%; }
.country-flag-lv { background-position: 40.000000% 53.333333%; }
.country-flag-ly { background-position: 46.666667% 53.333333%; }
.country-flag-ma { background-position: 53.333333% 53.333333%; }
.country-flag-mc { background-position: 60.000000% 53.333333%; }
.country-flag-md { background-position: 66.666667% 53.333333%; }
.country-flag-me { background-position: 73.333333% 53.333333%; }
.country-flag-mf { background-position: 80.000000% 53.333333%; }
.country-flag-mg { background-position: 86.666667% 53.333333%; }
.country-flag-mh { background-position: 93.333333% 53.333333%; }
.country-flag-mk { background-position: 100.000000% 53.333333%; }
.country-flag-ml { background-position: 0.000000% 60.000000%; }
.country-flag-mm { background-position: 6.666667% 60.000000%; }
.country-flag-mn { background-position: 13.333333% 60.000000%; }
.country-flag-mo { background-position: 20.000000% 60.000000%; }
.country-flag-mp { background-position: 26.666667% 60.000000%; }
.country-flag-mq { background-position: 33.333333% 60.000000%; }
.country-flag-mr { background-position: 40.000000% 60.000000%; }
.country-flag-ms { background-position: 46.666667% 60.000000%; }
.country-flag-mt { background-position: 53.333333% 60.000000%; }
.country-flag-mu { background-position: 60.000000% 60.000000%; }
.country-flag-mv { background-position: 66.666667% 60.000000%; }
.country-flag-mw { background-position: 73.333333% 60.000000%; }
.country-flag-mx { background-position: 80.000000% 60.000000%; }
.country-flag-my { background-position: 86.666667% 60.000000%; }
.country-flag-mz { background-position: 93.333333% 60.000000%; }
.country-flag-na { background-position: 100.000000% 60.000000%; }
.country-flag-nc { background-position: 0.000000% 66.666667%; }
.country-flag-ne { background-position: 6.666667% 66.666667%; }
.country-flag-nf { background-position: 13.333333% 66.666667%; }
.country-flag-ng { background-position: 20.000000% 66.666667%; }
.country-flag-ni { background-position: 26.666667% 66.666667%; }
.country-flag-nl { background-position: 33.333333% 66.666667%; }
.country-flag-no { background-position: 40.000000% 66.666667%; }
.country-flag-np { background-position: 46.666667% 66.666667%; }
.country-flag-nr { background-position: 53.333333% 66.666667%; }
.country-flag-nu { background-position: 60.000000% 66.666667%; }
.country-flag-nz { background-position: 66.666667% 66.666667%; }
.country-flag-om { background-position: 73.333333% 66.666667%; }
.country-flag-pa { background-position: 80.000000% 66.666667%; }
.country-flag-pe { background-position: 86.666667% 66.666667%; }
.country-flag-pf { background-position: 93.333333% 66.666667%; }
.country-flag-pg { background-position: 100.000000% 66.666667%; }
.country-flag-ph { background-position: 0.000000% 73.333333%; }
.country-flag-pk { background-position: 6.666667% 73.333333%; }
.country-flag-pl { background-position: 13.333333% 73.333333%; }
.country-flag-pm { background-position: 20.000000% 73.333333%; }
.country-flag-pn { background-position: 26.666667% 73.333333%; }
.country-flag-pr { background-position: 33.333333% 73.333333%; }
.country-flag-ps { background-position: 40.000000% 73.333333%; }
.country-flag-pt { background-position: 46.666667% 73.333333%; }
.country-flag-pw { background-position: 53.333333% 73.333333%; }
.country-flag-py { background-position: 60.000000% 73.333333%; }
.country-flag-qa { background-position: 66.666667% 73.333333%; }
.country-flag-re { background-position: 73.333333% 73.333333%; }
.country-flag-ro { background-position: 80.000000% 73.333333%; }
.country-flag-rs { background-position: 86.666667% 73.333333%; }
.country-flag-ru { background-position: 93.333333% 73.333333%; }
.country-flag-rw { background-position: 100.000000% 73.333333%; }
.country-flag-sa { background-position: 0.000000% 80.000000%; }
.country-flag-sb { background-position: 6.666667% 80.000000%; }
.country-flag-sc { background-position: 13.333333% 80.000000%; }
.country-flag-sd { background-position: 20.000000% 80.000000%; }
.country-flag-se { background-position: 26.666667% 80.000000%; }
.country-flag-sg { background-position: 33.333333% 80.000000%; }
.country-flag-sh { background-position: 40.000000% 80.000000%; }
.country-flag-si { background-position: 46.666667% 80.000000%; }
.country-flag-sj { background-position: 53.333333% 80.000000%; }
.country-flag-sk { background-position: 60.000000% 80.000000%; }
.country-flag-sl { background-position: 66.666667% 80.000000%; }
.country-flag-sm { background-position: 73.333333% 80.000000%; }
.country-flag-sn { background-position: 80.000000% 80.000000%; }
.country-flag-so { background-position: 86.666667% 80.000000%; }
.country-flag-sr { background-position: 93.333333% 80.000000%; }
.country-flag-ss { background-position: 100.000000% 80.000000%; }
.country-flag-st { background-position: 0.000000% 86.666667%; }
.country-flag-sv { background-position: 6.666667% 86.666667%; }
.country-flag-sx { background-position: 13.333333% 86.666667%; }
.country-flag-sy { background-position: 20.000000% 86.666667%; }
.country-flag-sz { background-position: 26.666667% 86.666667%; }
.country-flag-tc { background-position: 33.333333% 86.666667%; }
.country-flag-td { background-position: 40.000000% 86.666667%; }
.country-flag-tf { background-position: 46.666667% 86.666667%; }
.country-flag-tg { background-position: 53.333333% 86.666667%; }
.country-flag-th { background-position: 60.000000% 86.666667%; }
.country-flag-tj { background-position: 66.666667% 86.666667%; }
.country-flag-tk { background-position: 73.333333% 86.666667%; }
.country-flag-tl { background-position: 80.000000% 86.666667%; }
.country-flag-tm { background-position: 86.666667% 86.666667%; }
.country-flag-tn { background-position: 93.333333% 86.666667%; }
.country-flag-to { background-position: 100.000000% 86.666667%; }
.country-flag-tr { background-position: 0.000000% 93.333333%; }
.country-flag-tt { background-position: 6.666667% 93.333333%; }
.country-flag-tv { background-position: 13.333333% 93.333333%; }
.country-flag-tw { background-position: 20.000000% 93.333333%; }
.country-flag-tz { background-position: 26.666667% 93.333333%; }
.country-flag-ua { background-position: 33.333333% 93.333333%; }
.country-flag-ug { background-position: 40.000000% 93.333333%; }
.country-flag-um { background-position: 46.666667% 93.333333%; }
.country-flag-us { background-position: 53.333333% 93.333333%; }
.country-flag-uy { background-position: 60.000000% 93.333333%; }
.country-flag-uz { background-position: 66.666667% 93.333333%; }
.country-flag-va { background-position: 73.333333% 93.333333%; }
.country-flag-vc { background-position: 80.000000% 93.333333%; }
.country-flag-ve { background-position: 86.666667% 93.333333%; }
.country-flag-vg { background-position: 93.333333% 93.333333%; }
.country-flag-vi { background-position: 100.000000% 93.333333%; }
.country-flag-vn { background-position: 0.000000% 100.000000%; }
.country-flag-vu { background-position: 6.666667% 100.000000%; }
.country-flag-wf { background-position: 13.333333% 100.000000%; }
.country-flag-ws { background-position: 20.000000% 100.000000%; }
.country-flag-xk { background-position: 26.666667% 100.000000%; }
.country-flag-ye { background-position: 33.333333% 100.000000%; }
.country-flag-yt { background-position: 40.000000% 100.000000%; }
.country-flag-za { background-position: 46.666667% 100.000000%; }
.country-flag-zm { background-position: 53.333333% 100.000000%; }
.country-flag-zw { background-position: 60.000000% 100.000000%; }
/* ==========================================================================
Combined delivery country and currency selector
========================================================================== */
.country-currency-selector {
display: inline-flex;
align-items: center;
}
.country-currency-button {
min-height: 40px;
display: grid;
grid-template-columns: 24px auto 0.65rem;
column-gap: 0.3rem;
align-items: center;
padding: 0.2rem 0.35rem;
border: 0;
border-radius: 0.375rem;
background-color: transparent;
color: #000;
white-space: nowrap;
}
.country-currency-header-flag {
display: block;
width: 24px;
height: 18px;
object-fit: contain;
flex: 0 0 auto;
}
/* Larger country flag in desktop header */
@media (min-width: 992px) {
.header-currency .country-currency-button {
grid-template-columns: 32px auto 0.65rem;
}
.header-currency .country-currency-header-flag {
width: 32px;
height: 24px;
}
}
.country-currency-button:hover,
.country-currency-button:focus {
background-color: #f2f2f2;
color: #000;
}
.country-currency-button:focus-visible {
outline: 2px solid #86b7fe;
outline-offset: 2px;
}
.country-currency-code {
font-weight: 700;
line-height: 1;
}
.country-currency-caret {
font-size: 0.75rem;
}
.country-currency-modal-dialog {
max-width: 480px;
}
#countryCurrencyModal .modal-body {
max-height: calc(100vh - 9rem);
max-height: calc(100dvh - 9rem);
overflow-y: auto;
}
.country-picker-button {
width: 100%;
min-height: 48px;
display: grid;
grid-template-columns: 32px minmax(0, 1fr) 1rem;
column-gap: 0.65rem;
align-items: center;
padding: 0.45rem 0.75rem;
border: 1px solid #dee2e6;
border-radius: 0.375rem;
background-color: #fff;
color: #212529;
text-align: left;
}
.country-picker-button:hover,
.country-picker-button:focus {
border-color: #86b7fe;
box-shadow: 0 0 0 0.2rem rgba(13, 110, 253, 0.15);
}
.country-picker-selected-name,
.country-picker-option-name {
min-width: 0;
overflow-wrap: anywhere;
}
.country-picker-button > i {
justify-self: end;
font-size: 0.75rem;
}
.country-picker-menu {
margin-top: 0.35rem;
max-height: 390px;
overflow-y: auto;
overscroll-behavior: contain;
border: 1px solid #dee2e6;
border-radius: 0.375rem;
background-color: #fff;
box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.12);
}
.country-picker-menu {
margin-top: 0.35rem;
margin-bottom: 0.5rem;
max-height: 390px;
overflow-y: auto;
overscroll-behavior: contain;
border: 1px solid #dee2e6;
border-radius: 0.375rem;
background-color: #fff;
box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.12);
}
.country-picker-search-wrap {
position: sticky;
top: 0;
z-index: 2;
padding: 0.65rem;
border-bottom: 1px solid #e9ecef;
background-color: #fff;
}
.country-picker-heading {
padding: 0.65rem 0.75rem 0.35rem;
color: #6c757d;
font-size: 0.8rem;
font-weight: 700;
text-transform: uppercase;
letter-spacing: 0.035em;
}
.country-picker-option {
width: 100%;
min-height: 42px;
display: grid;
grid-template-columns: 32px minmax(0, 1fr);
column-gap: 0.65rem;
align-items: center;
padding: 0.4rem 0.75rem;
border: 0;
background-color: #fff;
color: #212529;
text-align: left;
}
.country-picker-option:hover,
.country-picker-option:focus,
.country-picker-option.selected {
background-color: #f2f8fc;
}
.country-picker-option.selected {
box-shadow: inset 3px 0 0 #0d6efd;
}
.country-picker-all {
border-top: 1px solid #e9ecef;
}
.country-picker-empty {
padding: 1rem 0.75rem;
color: #6c757d;
text-align: center;
}
.country-currency-help {
margin-bottom: 1rem;
line-height: 1.35;
}
@media (max-width: 767.98px) {
.mobile-topbar-currency .country-currency-selector {
width: 44px;
min-width: 44px;
max-width: 44px;
}
.mobile-topbar-currency .country-currency-button {
width: 44px;
min-width: 44px;
min-height: 40px;
grid-template-columns: 1fr;
grid-template-rows: auto auto;
row-gap: 0;
justify-items: center;
padding: 0.05rem 0;
border-radius: 0;
}
.mobile-topbar-currency .country-currency-code {
grid-row: 1;
font-size: 0.75rem;
}
.mobile-topbar-currency .country-currency-button .country-flag {
grid-row: 2;
}
.mobile-topbar-currency .country-currency-caret {
display: none;
}
.country-currency-modal-dialog {
max-width: none;
margin: 0.5rem;
}
.country-picker-menu {
max-height: calc(100vh - 15rem);
max-height: calc(100dvh - 15rem);
}
#countryCurrencyModal .modal-body {
max-height: calc(100vh - 7.5rem);
max-height: calc(100dvh - 7.5rem);
}
}
/* Remove the extra margin after the final message in the alert modal */
.itp-alert-message p:last-child {
margin-bottom: 0;
}