:root {
  --teal:      #28b2d0;
  --teal-dark: #1d97b3;
  --red:       #e8334a;
  --red-dark:  #c5293d;
  --green:     #4caf50;
  --tp-green:  #00b67a;
  --text:      #1a1a1a;
  --muted:     #6b7280;
  --border:    #d1d5db;
  --bg-cream:  #f5f5f0;
  --white:     #ffffff;
  
}
body {
  font-family: 'DM Sans', sans-serif;
 
}
/* ═══════════════════════════════════════
   BREADCRUMB
═══════════════════════════════════════ */
.breadcrumb-nav {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 16px 0 14px;
  font-size: 13.5px;
  color: var(--muted);
}
.breadcrumb-nav a    { color: var(--text); }
.breadcrumb-nav .sep { color: #9ca3af; font-size: 12px; }

/* ═══════════════════════════════════════
   PRODUCT IMAGE
═══════════════════════════════════════ */
.product-img-wrap {
  background: #eaf3f6;
  border-radius: 14px;
  overflow: hidden;
  width: 100%;
  aspect-ratio: 1 / 1;
}
.product-img-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* ═══════════════════════════════════════
   TEXT SECTIONS
═══════════════════════════════════════ */
.sec-heading {
  font-size: 20px;
  font-weight: 700;
  color: var(--text);
  margin: 28px 0 10px;
}
.body-text              { font-size: 14.5px; line-height: 1.75; color: #374151; }
.body-text p            { margin-bottom: 10px; }
.body-text ul,
.body-text ol           { padding-left: 22px; margin-bottom: 10px; }
.body-text li           { margin-bottom: 4px; }
.body-text strong       { font-weight: 600; color: var(--text); }

/* ═══════════════════════════════════════
   RIGHT PANEL
═══════════════════════════════════════ */
.right-panel {
  padding: 28px 28px 24px;
  border: 1.5px solid #e2e8ed;
  border-radius: 16px;
  background: var(--white);
}

.product-title {
  font-size: 30px;
  font-weight: 800;
  line-height: 1.2;
  letter-spacing: -0.3px;
  color: var(--text);
  margin-bottom: 20px;
}

/* ═══════════════════════════════════════
   FEATURE ICONS ROW
═══════════════════════════════════════ */
.features-row {
  border-bottom: 1px solid #e5e7eb;
  padding-bottom: 20px;
  margin-bottom: 0;
}
.feat {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  padding-right: 4px;
}
.feat-icon {
  font-size: 20px;
  color: var(--red);
  flex-shrink: 0;
  line-height: 1;
  margin-top: 1px;
}
.feat-text { font-size: 12.5px; color: #4b5563; line-height: 1.45; }

/* ═══════════════════════════════════════
   STEP HEADINGS
═══════════════════════════════════════ */
.step-heading {
  font-size: 17px;
  font-weight: 700;
  color: var(--text);
  margin-bottom: 12px;
}
.step-optional { font-weight: 400; font-size: 14px; color: var(--muted); }

/* ═══════════════════════════════════════
   AMOUNT BUTTONS
   — equal-width grid, light-teal bg
═══════════════════════════════════════ */

/* Row 1: 5 equal columns */
.amount-row-1 {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 8px;
  margin-bottom: 8px;
}

/* Row 2: 4 equal columns */
.amount-row-2 {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 8px;
  margin-bottom: 0;
}

.amount-btn {
  font-family: 'DM Sans', sans-serif;
  font-size: 14px;
  font-weight: 600;
  padding: 11px 8px;
  border-radius: 8px;
  border: none;
  background: #d6ecf3;
  color: var(--text);
  cursor: pointer;
  line-height: 1;
  text-align: center;
  white-space: nowrap;
  transition: background .14s, color .14s;
}
.amount-btn:hover  { background: #bfe0eb; }
.amount-btn.active { background: var(--teal); color: var(--white); }

.custom-amount {
  font-family: 'DM Sans', sans-serif;
  font-size: 13.5px;
  font-weight: 500;
  padding: 11px 12px;
  border-radius: 8px;
  border: none;
  background: #f0f0f0;
  color: var(--muted);
  outline: none;
  width: 100%;
  transition: background .14s;
}
.custom-amount::placeholder { color: #9ca3af; font-size: 13px; }
.custom-amount:focus        { background: #e4f4f8; }

/* ═══════════════════════════════════════
   DESIGN CARDS
═══════════════════════════════════════ */
.design-card {
  border-radius: 10px;
  overflow: hidden;
  cursor: pointer;
  border: 2.5px solid transparent;
  aspect-ratio: 16 / 10;
  transition: border-color .14s, box-shadow .14s;
}
.design-card img            { width: 100%; height: 100%; object-fit: cover; display: block; }
.design-card.active         { border-color: var(--teal); box-shadow: 0 0 0 1px var(--teal); }
.design-card:hover:not(.active) { border-color: #93d3e6; }

/* ═══════════════════════════════════════
   PERSONALIZE FORM
═══════════════════════════════════════ */
.form-lbl {
  font-size: 14px;
  font-weight: 500;
  color: var(--text);
  width: 90px;
  flex-shrink: 0;
}
.msg-lbl { padding-top: 10px; }

.form-inp {
  display: block;
  width: 100%;
  font-family: 'DM Sans', sans-serif;
  font-size: 14px;
  color: var(--text);
  background: var(--white);
  border: 1.5px solid var(--border);
  border-radius: 7px;
  padding: 10px 13px;
  outline: none;
  transition: border-color .14s;
}
.form-inp::placeholder { color: #9ca3af; }
.form-inp:focus        { border-color: var(--teal); }

textarea.form-inp {
  resize: none;
  line-height: 1.6;
  min-height: 84px;
}

/* CyberSource Unified Checkout mounts its own card form (cardholder name,
   card number, expiry, CVV, and its Pay button) as an iframe-based widget
   inside #unified-checkout-ui-container — give it room to render before
   "mounted" fires and reveals it. */
.uc-loading {
  font-size: 13.5px;
  color: var(--muted);
  padding: 12px 0;
}
.uc-container {
  width: 100%;
  min-height: 320px;
}
.char-counter {
  text-align: right;
  font-size: 12px;
  color: #9ca3af;
  margin-top: 4px;
}

/* ═══════════════════════════════════════
   ADD TO CART
═══════════════════════════════════════ */
.btn-add-cart {
  display: block;
  width: 100%;
  margin-top: 20px;
  padding: 15px;
  font-family: 'DM Sans', sans-serif;
  font-size: 16px;
  font-weight: 700;
  color: var(--white);
  background: var(--red);
  border: none;
  border-radius: 50px;
  cursor: pointer;
  transition: background .14s;
  letter-spacing: 0.1px;
}
.btn-add-cart:hover { background: var(--red-dark); }

/* ═══════════════════════════════════════
   CHAT FAB
═══════════════════════════════════════ */
.chat-fab {
  position: fixed;
  right: 20px;
  top: 90%;
  transform: translateY(-50%);
  width: 50px;
  height: 50px;
  border-radius: 50%;
  background: var(--white);
  border: 1.5px solid #d1d5db;
  box-shadow: 0 3px 12px rgba(0,0,0,.12);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  z-index: 999;
  transition: box-shadow .14s;
}
.chat-fab:hover { box-shadow: 0 4px 18px rgba(0,0,0,.18); }
.chat-fab i     { font-size: 22px; color: #374151; }

/* ═══════════════════════════════════════
   DELIVERY SECTION
═══════════════════════════════════════ */
.delivery-section {
  background: var(--bg-cream);
  padding: 64px 0 60px;
  margin-top: 32px;
}
.delivery-headline {
  font-size: 34px;
  font-weight: 800;
  line-height: 1.15;
  color: var(--text);
  margin-bottom: 28px;
}
.btn-shop-now {
  font-family: 'DM Sans', sans-serif;
  font-size: 15px;
  font-weight: 700;
  padding: 12px 30px;
  border-radius: 50px;
  border: none;
  background: var(--red);
  color: var(--white);
  cursor: pointer;
  transition: background .14s;
}
.btn-shop-now:hover { background: var(--red-dark); }

.del-col-title {
  font-size: 17px;
  font-weight: 700;
  color: var(--text);
  margin-bottom: 14px;
}
.del-item {
  display: flex;
  align-items: center;
  gap: 9px;
  font-size: 14.5px;
  color: #374151;
  margin-bottom: 9px;
}
.del-item i { font-size: 17px; color: var(--green); flex-shrink: 0; }

/* ═══════════════════════════════════════
   PAYMENT STRIP
═══════════════════════════════════════ */
.payment-strip {
  padding: 18px 12px;
  border-top: 1px solid #e5e7eb;
  text-align: center;
}
.pay-label {
  font-size: 14px;
  font-weight: 500;
  color: #374151;
  margin-right: 4px;
}
.pay-badge {
  display: inline-block;
  font-size: 12px;
  font-weight: 700;
  padding: 4px 9px;
  border: 1.5px solid #9ca3af;
  border-radius: 4px;
  color: #374151;
  margin: 3px;
  letter-spacing: 0.3px;
}

/* ═══════════════════════════════════════
   FOOTER BAR
═══════════════════════════════════════ */
.footer-bar {
  background: #f8f9fa;
  border-top: 1px solid #e5e7eb;
  padding: 14px 0;
}
.footer-feats {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
}
.ft-item {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  font-weight: 500;
  color: #374151;
  white-space: nowrap;
}
.ft-item i { font-size: 15px; }

.trustpilot-block {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  flex-wrap: wrap;
}
.tp-stars { color: var(--tp-green); font-size: 15px; letter-spacing: 1px; }
.tp-score { color: #374151; }
.tp-brand { color: var(--tp-green); font-weight: 700; }

/* ═══════════════════════════════════════
   RESPONSIVE  — Tablet  (< 992px)
═══════════════════════════════════════ */
@media (max-width: 991px) {
  .delivery-headline  { font-size: 28px; }
  .footer-feats       { gap: 12px; }
}

/* ═══════════════════════════════════════
   RESPONSIVE  — Mobile  (< 768px)
═══════════════════════════════════════ */
@media (max-width: 767px) {
  /* right panel — tighter padding on mobile */
  .right-panel        { padding: 18px 16px 18px; }

  /* title smaller */
  .product-title      { font-size: 24px; }

  /* feature icons wrap at sm */
  .features-row .feat-text { font-size: 12px; }

  /* amount rows — collapse to 3-col on mobile */
  .amount-row-1 { grid-template-columns: repeat(3, 1fr); }
  .amount-row-2 { grid-template-columns: repeat(2, 1fr); }
  .amount-btn   { padding: 10px 6px; font-size: 13px; }
  .custom-amount { font-size: 12.5px; }

  /* design cards 2-column on mobile */
  .row .col-4 .design-card { aspect-ratio: 16 / 10; }

  /* delivery */
  .delivery-section   { padding: 40px 0 36px; margin-top: 20px; }
  .delivery-headline  { font-size: 24px; margin-bottom: 18px; }

  /* footer feats wrap */
  .footer-feats       { gap: 8px; }
  .ft-item            { font-size: 12px; }
  .trustpilot-block   { justify-content: flex-start; margin-top: 4px; }

  /* hide chat fab on very small screens */
  .chat-fab           { display: none; }
}

/* ═══════════════════════════════════════
   RESPONSIVE  — XSmall  (< 480px)
═══════════════════════════════════════ */
@media (max-width: 479px) {
  /* design grid → 2 cols */
  .row .col-4 { width: 50%; }

  /* form label on its own line */
  .row.align-items-center .col-auto.form-lbl,
  .row.align-items-start  .col-auto.form-lbl  { width: 100%; }
}

/* ═══════════════════════════════════════
   SHOPPING CART PAGE
═══════════════════════════════════════ */
.cart-page { padding-bottom: 50px; }

.cart-title {
  font-size: 26px;
  font-weight: 800;
  color: var(--text);
  display: flex;
  align-items: center;
  gap: 10px;
}
.cart-count-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: var(--red);
  color: var(--white);
  font-size: 12px;
  font-weight: 700;
}
.btn-continue-shopping {
  font-family: 'DM Sans', sans-serif;
  font-size: 14px;
  font-weight: 600;
  padding: 9px 18px;
  border-radius: 50px;
  border: 1.5px solid var(--border);
  background: var(--white);
  color: var(--text);
  cursor: pointer;
  transition: background .14s;
}
.btn-continue-shopping:hover { background: #f3f4f6; }

.cart-card {
  border: 1.5px solid #e2e8ed;
  border-radius: 16px;
  background: var(--white);
  padding: 24px;
  margin-bottom: 20px;
}

.cart-divider { border: none; border-top: 1px solid #e5e7eb; margin: 18px 0; }

.cart-field-lbl {
  display: block;
  font-size: 13.5px;
  font-weight: 500;
  color: var(--text);
  margin-bottom: 6px;
}

.cart-step-heading {
  font-size: 19px;
  font-weight: 700;
  color: var(--text);
  margin-bottom: 6px;
}
.cart-step-sub { font-size: 13.5px; color: var(--muted); margin-bottom: 18px; }

/* item row */
.cart-item-row {
  display: flex;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
}
.cart-item-thumb {
  width: 64px;
  height: 64px;
  border-radius: 10px;
  overflow: hidden;
  flex-shrink: 0;
  background: #eaf3f6;
}
.cart-item-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.cart-item-name { font-size: 15.5px; font-weight: 600; color: var(--text); flex: 1 1 180px; }
.cart-item-qty { display: flex; flex-direction: column; }
.cart-qty-select {
  font-family: 'DM Sans', sans-serif;
  font-size: 14px;
  padding: 7px 10px;
  border-radius: 7px;
  border: 1.5px solid var(--border);
  background: var(--white);
  color: var(--text);
}
.cart-item-price { text-align: right; }
.price-amt { font-size: 16px; font-weight: 700; color: var(--text); }
.price-unit { font-size: 12px; color: var(--muted); }
.cart-item-remove {
  border: none;
  background: none;
  color: var(--red);
  font-size: 18px;
  cursor: pointer;
  padding: 4px;
}
.cart-item-remove:hover { color: var(--red-dark); }

/* personal message toggle */
.form-switch .form-check-input { width: 2.2em; cursor: pointer; }
.form-switch .form-check-input:checked { background-color: var(--red); border-color: var(--red); }
.form-check-label { font-size: 14px; font-weight: 500; color: var(--text); cursor: pointer; }

/* option cards (packaging / destination) */
.option-card {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  border: 1.5px solid var(--border);
  border-radius: 12px;
  padding: 16px;
  height: 100%;
  cursor: pointer;
  transition: border-color .14s, background .14s;
}
.option-card.active { border-color: var(--red); }
.option-radio {
  width: 18px;
  height: 18px;
  border-radius: 50%;
  border: 2px solid var(--border);
  flex-shrink: 0;
  margin-top: 2px;
  position: relative;
}
.option-card.active .option-radio,
.payment-method-row.active .option-radio { border-color: var(--red); }
.option-card.active .option-radio::after,
.payment-method-row.active .option-radio::after {
  content: '';
  position: absolute;
  inset: 3px;
  border-radius: 50%;
  background: var(--red);
}
.option-title { font-size: 15px; font-weight: 700; color: var(--text); margin-bottom: 4px; }
.option-desc { font-size: 13px; color: var(--muted); line-height: 1.5; margin-bottom: 0; }
.option-link { font-size: 13px; font-weight: 600; display: inline-block; margin-top: 8px; }

/* phone input */
.phone-warn-ic { color: var(--red); font-size: 13px; margin-right: 3px; vertical-align: -1px; }
.cart-field-lbl.has-error { color: var(--red); }

.phone-inp-wrap {
  position: relative;
  display: flex;
  align-items: center;
  border: 1.5px solid var(--border);
  border-radius: 7px;
  overflow: visible;
  transition: border-color .14s, background-color .14s;
}
.phone-inp-wrap.has-error {
  border-color: var(--red);
  background: #fdecee;
}
.phone-flag {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 0 10px;
  height: 44px;
  font-size: 14px;
  border: none;
  background: transparent;
  cursor: pointer;
  border-radius: 7px 0 0 7px;
}
.phone-flag:hover { background: rgba(0,0,0,.04); }
.phone-flag i { font-size: 11px; color: var(--muted); }
.phone-flag .flag { flex-shrink: 0; transform: scale(1.3); }
.phone-code { padding: 0 10px 0 0; font-size: 14px; color: var(--text); }
.phone-number.form-inp { border: none; border-radius: 0; background: transparent; }

.phone-cc-dropdown {
  display: none;
  position: absolute;
  top: calc(100% + 6px);
  left: 0;
  z-index: 50;
  width: 320px;
  max-width: 90vw;
  background: var(--white);
  border: 1.5px solid var(--border);
  border-radius: 8px;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
  overflow: hidden;
}
.phone-cc-dropdown.open { display: block; }
.phone-cc-search {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 14px;
  border-bottom: 1px solid var(--border);
}
.phone-cc-search i { color: var(--muted); font-size: 14px; }
.phone-cc-search input {
  flex: 1;
  border: none;
  outline: none;
  font-size: 14px;
  color: var(--text);
}
.phone-cc-list {
  list-style: none;
  margin: 0;
  padding: 4px 0;
  max-height: 260px;
  overflow-y: auto;
}
.phone-cc-list li {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 14px;
  font-size: 14px;
  cursor: pointer;
  white-space: nowrap;
}
.phone-cc-list li:hover,
.phone-cc-list li.active { background: #f0f7f9; }
.phone-cc-list .cc-flag.flag { flex-shrink: 0; transform: scale(1.3); margin-right: 2px; }
.phone-cc-list .cc-name { flex: 1; overflow: hidden; text-overflow: ellipsis; color: var(--text); }
.phone-cc-list .cc-dial { color: var(--muted); }
.phone-cc-list .cc-empty { color: var(--muted); cursor: default; justify-content: center; }

/* payment method */
.payment-method-box { margin-bottom: 20px; }
.payment-method-row {
  display: flex;
  align-items: center;
  gap: 14px;
  border: 1.5px solid var(--border);
  border-radius: 12px;
  padding: 14px 16px;
  margin-bottom: 10px;
  cursor: pointer;
  flex-wrap: wrap;
  transition: border-color .14s, background .14s;
}
.payment-method-row.active { border-color: var(--red); }
.pm-label { font-size: 15px; font-weight: 600; color: var(--text); margin-right: 8px; }
.pm-icons { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; margin-left: auto; }
.pm-stripe, .pm-paypal {
  font-size: 14px;
  font-weight: 700;
  color: #374151;
}
.pm-paypal { color: #003087; }

.btn-proceed-payment {
  display: block;
  width: 100%;
  max-width: 420px;
  margin: 8px auto 14px;
  padding: 15px;
  font-family: 'DM Sans', sans-serif;
  font-size: 16px;
  font-weight: 700;
  color: var(--white);
  background: var(--red);
  border: none;
  border-radius: 50px;
  cursor: pointer;
  transition: background .14s;
}
.btn-proceed-payment:hover { background: var(--red-dark); }
.cart-terms { text-align: center; font-size: 12.5px; color: var(--muted); }

/* trust seals */
.cart-seals {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  flex-wrap: wrap;
  padding: 16px 0;
}
.seal-icon { font-size: 26px; color: #b08d2e; }

/* order summary */
.order-summary-card { position: sticky; top: 20px; }
.summary-row {
  display: flex;
  justify-content: space-between;
  font-size: 14.5px;
  color: #374151;
  margin-bottom: 10px;
}
.discount-row { position: relative; display: flex; align-items: center; }
.discount-inp {
  width: 100%;
  font-family: 'DM Sans', sans-serif;
  font-size: 14px;
  color: var(--text);
  background: transparent;
  border: none;
  border-bottom: 1.5px solid var(--border);
  padding: 8px 60px 8px 0;
  outline: none;
}
.discount-inp::placeholder { color: #9ca3af; }
.discount-inp:focus { border-color: var(--teal); }
.btn-apply-discount {
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  font-family: 'DM Sans', sans-serif;
  font-size: 14px;
  font-weight: 700;
  padding: 4px 0;
  border: none;
  background: none;
  color: var(--text);
  cursor: pointer;
}
.btn-apply-discount:hover { color: var(--teal-dark); }
.summary-total-row {
  display: flex;
  justify-content: space-between;
  font-size: 24px;
  font-weight: 800;
  color: var(--text);
  margin-bottom: 12px;
}
.tree-note {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  font-size: 12.5px;
  color: #4b5563;
  line-height: 1.5;
  margin-bottom: 0;
}
.tree-note i { color: var(--green); margin-top: 2px; }

.feature-grid-card { padding: 4px 4px 20px; }
.ft-cell { display: flex; align-items: center; gap: 8px; font-size: 13px; font-weight: 500; color: #374151; }
.ft-cell i { color: var(--red); font-size: 15px; }

/* trustpilot card */
.trustpilot-card { padding: 4px 4px 0; text-align: left; }
.tp-brand-row { display: flex; align-items: center; gap: 6px; font-size: 16px; font-weight: 700; color: #1a1a1a; margin-bottom: 8px; }
.tp-brand-row i { color: var(--tp-green); }
.tp-squares { display: flex; gap: 4px; margin-bottom: 8px; }
.tp-square {
  width: 26px;
  height: 26px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 3px;
  background: #e5e7eb;
  color: var(--white);
  font-size: 13px;
}
.tp-square.filled { background: var(--tp-green); }
.tp-square.half   { background: linear-gradient(90deg, var(--tp-green) 60%, #e5e7eb 60%); }
.tp-score-line { font-size: 13px; color: #374151; }
.tp-score-line a { font-weight: 600; }

@media (max-width: 767px) {
  .cart-card { padding: 18px; }
  .cart-item-row { gap: 10px; }
  .cart-item-price { text-align: left; margin-left: auto; }
  .order-summary-card { position: static; }
  .pm-icons { margin-left: 0; }
}

/* country flag sprite (from theme-elements.css) */
.flag {
	width: 16px;
	height: 11px;
	background: url(../../assets/site/img/flags.png) no-repeat;
}

.flag.flag-ad {
	background-position: -16px 0;
}

.flag.flag-ae {
	background-position: -32px 0;
}

.flag.flag-af {
	background-position: -48px 0;
}

.flag.flag-ag {
	background-position: -64px 0;
}

.flag.flag-ai {
	background-position: -80px 0;
}

.flag.flag-al {
	background-position: -96px 0;
}

.flag.flag-am {
	background-position: -112px 0;
}

.flag.flag-an {
	background-position: -128px 0;
}

.flag.flag-ao {
	background-position: -144px 0;
}

.flag.flag-ar {
	background-position: -160px 0;
}

.flag.flag-as {
	background-position: -176px 0;
}

.flag.flag-at {
	background-position: -192px 0;
}

.flag.flag-au {
	background-position: -208px 0;
}

.flag.flag-aw {
	background-position: -224px 0;
}

.flag.flag-az {
	background-position: -240px 0;
}

.flag.flag-ba {
	background-position: 0 -11px;
}

.flag.flag-bb {
	background-position: -16px -11px;
}

.flag.flag-bd {
	background-position: -32px -11px;
}

.flag.flag-be {
	background-position: -48px -11px;
}

.flag.flag-bf {
	background-position: -64px -11px;
}

.flag.flag-bg {
	background-position: -80px -11px;
}

.flag.flag-bh {
	background-position: -96px -11px;
}

.flag.flag-bi {
	background-position: -112px -11px;
}

.flag.flag-bj {
	background-position: -128px -11px;
}

.flag.flag-bm {
	background-position: -144px -11px;
}

.flag.flag-bn {
	background-position: -160px -11px;
}

.flag.flag-bo {
	background-position: -176px -11px;
}

.flag.flag-br {
	background-position: -192px -11px;
}

.flag.flag-bs {
	background-position: -208px -11px;
}

.flag.flag-bt {
	background-position: -224px -11px;
}

.flag.flag-bv {
	background-position: -240px -11px;
}

.flag.flag-bw {
	background-position: 0 -22px;
}

.flag.flag-by {
	background-position: -16px -22px;
}

.flag.flag-bz {
	background-position: -32px -22px;
}

.flag.flag-ca {
	background-position: -48px -22px;
}

.flag.flag-catalonia {
	background-position: -64px -22px;
}

.flag.flag-cd {
	background-position: -80px -22px;
}

.flag.flag-cf {
	background-position: -96px -22px;
}

.flag.flag-cg {
	background-position: -112px -22px;
}

.flag.flag-ch {
	background-position: -128px -22px;
}

.flag.flag-ci {
	background-position: -144px -22px;
}

.flag.flag-ck {
	background-position: -160px -22px;
}

.flag.flag-cl {
	background-position: -176px -22px;
}

.flag.flag-cm {
	background-position: -192px -22px;
}

.flag.flag-cn {
	background-position: -208px -22px;
}

.flag.flag-co {
	background-position: -224px -22px;
}

.flag.flag-cr {
	background-position: -240px -22px;
}

.flag.flag-cu {
	background-position: 0 -33px;
}

.flag.flag-cv {
	background-position: -16px -33px;
}

.flag.flag-cw {
	background-position: -32px -33px;
}

.flag.flag-cy {
	background-position: -48px -33px;
}

.flag.flag-cz {
	background-position: -64px -33px;
}

.flag.flag-de {
	background-position: -80px -33px;
}

.flag.flag-dj {
	background-position: -96px -33px;
}

.flag.flag-dk {
	background-position: -112px -33px;
}

.flag.flag-dm {
	background-position: -128px -33px;
}

.flag.flag-do {
	background-position: -144px -33px;
}

.flag.flag-dz {
	background-position: -160px -33px;
}

.flag.flag-ec {
	background-position: -176px -33px;
}

.flag.flag-ee {
	background-position: -192px -33px;
}

.flag.flag-eg {
	background-position: -208px -33px;
}

.flag.flag-eh {
	background-position: -224px -33px;
}

.flag.flag-england {
	background-position: -240px -33px;
}

.flag.flag-er {
	background-position: 0 -44px;
}

.flag.flag-es {
	background-position: -16px -44px;
}

.flag.flag-et {
	background-position: -32px -44px;
}

.flag.flag-eu {
	background-position: -48px -44px;
}

.flag.flag-fi {
	background-position: -64px -44px;
}

.flag.flag-fj {
	background-position: -80px -44px;
}

.flag.flag-fk {
	background-position: -96px -44px;
}

.flag.flag-fm {
	background-position: -112px -44px;
}

.flag.flag-fo {
	background-position: -128px -44px;
}

.flag.flag-fr {
	background-position: -144px -44px;
}

.flag.flag-ga {
	background-position: -160px -44px;
}

.flag.flag-gb {
	background-position: -176px -44px;
}

.flag.flag-gd {
	background-position: -192px -44px;
}

.flag.flag-ge {
	background-position: -208px -44px;
}

.flag.flag-gf {
	background-position: -224px -44px;
}

.flag.flag-gg {
	background-position: -240px -44px;
}

.flag.flag-gh {
	background-position: 0 -55px;
}

.flag.flag-gi {
	background-position: -16px -55px;
}

.flag.flag-gl {
	background-position: -32px -55px;
}

.flag.flag-gm {
	background-position: -48px -55px;
}

.flag.flag-gn {
	background-position: -64px -55px;
}

.flag.flag-gp {
	background-position: -80px -55px;
}

.flag.flag-gq {
	background-position: -96px -55px;
}

.flag.flag-gr {
	background-position: -112px -55px;
}

.flag.flag-gs {
	background-position: -128px -55px;
}

.flag.flag-gt {
	background-position: -144px -55px;
}

.flag.flag-gu {
	background-position: -160px -55px;
}

.flag.flag-gw {
	background-position: -176px -55px;
}

.flag.flag-gy {
	background-position: -192px -55px;
}

.flag.flag-hk {
	background-position: -208px -55px;
}

.flag.flag-hm {
	background-position: -224px -55px;
}

.flag.flag-hn {
	background-position: -240px -55px;
}

.flag.flag-hr {
	background-position: 0 -66px;
}

.flag.flag-ht {
	background-position: -16px -66px;
}

.flag.flag-hu {
	background-position: -32px -66px;
}

.flag.flag-ic {
	background-position: -48px -66px;
}

.flag.flag-id {
	background-position: -64px -66px;
}

.flag.flag-ie {
	background-position: -80px -66px;
}

.flag.flag-il {
	background-position: -96px -66px;
}

.flag.flag-im {
	background-position: -112px -66px;
}

.flag.flag-in {
	background-position: -128px -66px;
}

.flag.flag-io {
	background-position: -144px -66px;
}

.flag.flag-iq {
	background-position: -160px -66px;
}

.flag.flag-ir {
	background-position: -176px -66px;
}

.flag.flag-is {
	background-position: -192px -66px;
}

.flag.flag-it {
	background-position: -208px -66px;
}

.flag.flag-je {
	background-position: -224px -66px;
}

.flag.flag-jm {
	background-position: -240px -66px;
}

.flag.flag-jo {
	background-position: 0 -77px;
}

.flag.flag-jp {
	background-position: -16px -77px;
}

.flag.flag-ke {
	background-position: -32px -77px;
}

.flag.flag-kg {
	background-position: -48px -77px;
}

.flag.flag-kh {
	background-position: -64px -77px;
}

.flag.flag-ki {
	background-position: -80px -77px;
}

.flag.flag-km {
	background-position: -96px -77px;
}

.flag.flag-kn {
	background-position: -112px -77px;
}

.flag.flag-kp {
	background-position: -128px -77px;
}

.flag.flag-kr {
	background-position: -144px -77px;
}

.flag.flag-kurdistan {
	background-position: -160px -77px;
}

.flag.flag-kw {
	background-position: -176px -77px;
}

.flag.flag-ky {
	background-position: -192px -77px;
}

.flag.flag-kz {
	background-position: -208px -77px;
}

.flag.flag-la {
	background-position: -224px -77px;
}

.flag.flag-lb {
	background-position: -240px -77px;
}

.flag.flag-lc {
	background-position: 0 -88px;
}

.flag.flag-li {
	background-position: -16px -88px;
}

.flag.flag-lk {
	background-position: -32px -88px;
}

.flag.flag-lr {
	background-position: -48px -88px;
}

.flag.flag-ls {
	background-position: -64px -88px;
}

.flag.flag-lt {
	background-position: -80px -88px;
}

.flag.flag-lu {
	background-position: -96px -88px;
}

.flag.flag-lv {
	background-position: -112px -88px;
}

.flag.flag-ly {
	background-position: -128px -88px;
}

.flag.flag-ma {
	background-position: -144px -88px;
}

.flag.flag-mc {
	background-position: -160px -88px;
}

.flag.flag-md {
	background-position: -176px -88px;
}

.flag.flag-me {
	background-position: -192px -88px;
}

.flag.flag-mg {
	background-position: -208px -88px;
}

.flag.flag-mh {
	background-position: -224px -88px;
}

.flag.flag-mk {
	background-position: -240px -88px;
}

.flag.flag-ml {
	background-position: 0 -99px;
}

.flag.flag-mm {
	background-position: -16px -99px;
}

.flag.flag-mn {
	background-position: -32px -99px;
}

.flag.flag-mo {
	background-position: -48px -99px;
}

.flag.flag-mp {
	background-position: -64px -99px;
}

.flag.flag-mq {
	background-position: -80px -99px;
}

.flag.flag-mr {
	background-position: -96px -99px;
}

.flag.flag-ms {
	background-position: -112px -99px;
}

.flag.flag-mt {
	background-position: -128px -99px;
}

.flag.flag-mu {
	background-position: -144px -99px;
}

.flag.flag-mv {
	background-position: -160px -99px;
}

.flag.flag-mw {
	background-position: -176px -99px;
}

.flag.flag-mx {
	background-position: -192px -99px;
}

.flag.flag-my {
	background-position: -208px -99px;
}

.flag.flag-mz {
	background-position: -224px -99px;
}

.flag.flag-na {
	background-position: -240px -99px;
}

.flag.flag-nc {
	background-position: 0 -110px;
}

.flag.flag-ne {
	background-position: -16px -110px;
}

.flag.flag-nf {
	background-position: -32px -110px;
}

.flag.flag-ng {
	background-position: -48px -110px;
}

.flag.flag-ni {
	background-position: -64px -110px;
}

.flag.flag-nl {
	background-position: -80px -110px;
}

.flag.flag-no {
	background-position: -96px -110px;
}

.flag.flag-np {
	background-position: -112px -110px;
}

.flag.flag-nr {
	background-position: -128px -110px;
}

.flag.flag-nu {
	background-position: -144px -110px;
}

.flag.flag-nz {
	background-position: -160px -110px;
}

.flag.flag-om {
	background-position: -176px -110px;
}

.flag.flag-pa {
	background-position: -192px -110px;
}

.flag.flag-pe {
	background-position: -208px -110px;
}

.flag.flag-pf {
	background-position: -224px -110px;
}

.flag.flag-pg {
	background-position: -240px -110px;
}

.flag.flag-ph {
	background-position: 0 -121px;
}

.flag.flag-pk {
	background-position: -16px -121px;
}

.flag.flag-pl {
	background-position: -32px -121px;
}

.flag.flag-pm {
	background-position: -48px -121px;
}

.flag.flag-pn {
	background-position: -64px -121px;
}

.flag.flag-pr {
	background-position: -80px -121px;
}

.flag.flag-ps {
	background-position: -96px -121px;
}

.flag.flag-pt {
	background-position: -112px -121px;
}

.flag.flag-pw {
	background-position: -128px -121px;
}

.flag.flag-py {
	background-position: -144px -121px;
}

.flag.flag-qa {
	background-position: -160px -121px;
}

.flag.flag-re {
	background-position: -176px -121px;
}

.flag.flag-ro {
	background-position: -192px -121px;
}

.flag.flag-rs {
	background-position: -208px -121px;
}

.flag.flag-ru {
	background-position: -224px -121px;
}

.flag.flag-rw {
	background-position: -240px -121px;
}

.flag.flag-sa {
	background-position: 0 -132px;
}

.flag.flag-sb {
	background-position: -16px -132px;
}

.flag.flag-sc {
	background-position: -32px -132px;
}

.flag.flag-scotland {
	background-position: -48px -132px;
}

.flag.flag-sd {
	background-position: -64px -132px;
}

.flag.flag-se {
	background-position: -80px -132px;
}

.flag.flag-sg {
	background-position: -96px -132px;
}

.flag.flag-sh {
	background-position: -112px -132px;
}

.flag.flag-si {
	background-position: -128px -132px;
}

.flag.flag-sk {
	background-position: -144px -132px;
}

.flag.flag-sl {
	background-position: -160px -132px;
}

.flag.flag-sm {
	background-position: -176px -132px;
}

.flag.flag-sn {
	background-position: -192px -132px;
}

.flag.flag-so {
	background-position: -208px -132px;
}

.flag.flag-somaliland {
	background-position: -224px -132px;
}

.flag.flag-sr {
	background-position: -240px -132px;
}

.flag.flag-ss {
	background-position: 0 -143px;
}

.flag.flag-st {
	background-position: -16px -143px;
}

.flag.flag-sv {
	background-position: -32px -143px;
}

.flag.flag-sx {
	background-position: -48px -143px;
}

.flag.flag-sy {
	background-position: -64px -143px;
}

.flag.flag-sz {
	background-position: -80px -143px;
}

.flag.flag-tc {
	background-position: -96px -143px;
}

.flag.flag-td {
	background-position: -112px -143px;
}

.flag.flag-tf {
	background-position: -128px -143px;
}

.flag.flag-tg {
	background-position: -144px -143px;
}

.flag.flag-th {
	background-position: -160px -143px;
}

.flag.flag-tibet {
	background-position: -176px -143px;
}

.flag.flag-tj {
	background-position: -192px -143px;
}

.flag.flag-tk {
	background-position: -208px -143px;
}

.flag.flag-tl {
	background-position: -224px -143px;
}

.flag.flag-tm {
	background-position: -240px -143px;
}

.flag.flag-tn {
	background-position: 0 -154px;
}

.flag.flag-to {
	background-position: -16px -154px;
}

.flag.flag-tr {
	background-position: -32px -154px;
}

.flag.flag-tt {
	background-position: -48px -154px;
}

.flag.flag-tv {
	background-position: -64px -154px;
}

.flag.flag-tw {
	background-position: -80px -154px;
}

.flag.flag-tz {
	background-position: -96px -154px;
}

.flag.flag-ua {
	background-position: -112px -154px;
}

.flag.flag-ug {
	background-position: -128px -154px;
}

.flag.flag-um {
	background-position: -144px -154px;
}

.flag.flag-us {
	background-position: -160px -154px;
}

.flag.flag-uy {
	background-position: -176px -154px;
}

.flag.flag-uz {
	background-position: -192px -154px;
}

.flag.flag-va {
	background-position: -208px -154px;
}

.flag.flag-vc {
	background-position: -224px -154px;
}

.flag.flag-ve {
	background-position: -240px -154px;
}

.flag.flag-vg {
	background-position: 0 -165px;
}

.flag.flag-vi {
	background-position: -16px -165px;
}

.flag.flag-vn {
	background-position: -32px -165px;
}

.flag.flag-vu {
	background-position: -48px -165px;
}

.flag.flag-wales {
	background-position: -64px -165px;
}

.flag.flag-wf {
	background-position: -80px -165px;
}

.flag.flag-ws {
	background-position: -96px -165px;
}

.flag.flag-xk {
	background-position: -112px -165px;
}

.flag.flag-ye {
	background-position: -128px -165px;
}

.flag.flag-yt {
	background-position: -144px -165px;
}

.flag.flag-za {
	background-position: -160px -165px;
}

.flag.flag-zanzibar {
	background-position: -176px -165px;
}

.flag.flag-zm {
	background-position: -192px -165px;
}

.flag.flag-zw {
	background-position: -208px -165px;
}

