<style>
/* ================== OVERLAY WRAPPER ================== */
#delivery-overlay {
position: fixed;
right: 24px;
bottom: 24px;
width: 100%;
max-width: 36rem;
z-index: 9999;
opacity: 0;
pointer-events: none;
transition: opacity 0.3s ease;
font-family: inherit;
}
#delivery-overlay {
z-index: 10;
}
/* ================== CARD ================== */
#delivery-overlay .card {
position: relative;
display: flex;
gap: 16px;
padding: 16px 40px 16px 16px;
border-radius: 16px;
background: rgba(255,255,255,0.9);
backdrop-filter: blur(12px);
-webkit-backdrop-filter: blur(12px);
border: 1px solid #e5e7eb;
box-shadow: 0 20px 40px rgba(0,0,0,.15);
overflow: hidden;
}
/* decorative blur */
#delivery-overlay .blur-bg {
position: absolute;
top: -40px;
right: -40px;
width: 96px;
height: 96px;
background: rgba(59,130,246,0.12);
border-radius: 50%;
filter: blur(32px);
pointer-events: none;
}
/* ================== ICON ================== */
#delivery-overlay .icon-wrap {
flex-shrink: 0;
background: #dbeafe;
color: #2563eb;
padding: 10px;
border-radius: 999px;
}
/* ================== TEXT ================== */
#delivery-overlay .content {
display: flex;
flex-direction: column;
gap: 6px;
}
#delivery-overlay h3 {
margin: 0;
font-size: 1.4rem;
font-weight: 700;
color: #111827;
display: flex;
align-items: center;
gap: 8px;
}
#delivery-overlay p {
margin: 0;
font-size: 1.4rem;
color: #4b5563;
line-height: 1.4;
}
#delivery-overlay .bold {
font-weight: 700;
color: #111827;
}
/* badge */
#delivery-overlay .badge {
font-size: 10px;
font-weight: 700;
background: #2563eb;
color: #fff;
padding: 2px 6px 0;
border-radius: 999px;
text-transform: uppercase;
letter-spacing: .08em;
}
/* timer row */
#delivery-overlay .timer {
display: flex;
align-items: center;
gap: 6px;
margin-top: 4px;
font-size: 1rem;
color: #6b7280;
}
/* ================== CLOSE BUTTON ================== */
#delivery-overlay .close-btn {
position: absolute;
top: 8px;
right: 8px;
width: 28px;
height: 28px;
border-radius: 999px;
border: none;
background: transparent;
cursor: pointer;
color: #9ca3af;
display: flex;
align-items: center;
justify-content: center;
}
#delivery-overlay .close-btn:hover {
background: #f3f4f6;
color: #4b5563;
}
/* ================== ANIMATIONS ================== */
@keyframes slideIn {
from { transform: translateX(100%); opacity: 0; }
to { transform: translateX(0); opacity: 1; }
}
@keyframes fadeOut {
from { opacity: 1; }
to { opacity: 0; }
}
#delivery-overlay.show {
opacity: 1;
pointer-events: auto;
}
#delivery-overlay.slide-in {
animation: slideIn .5s cubic-bezier(.16,1,.3,1) forwards;
}
#delivery-overlay.fade-out {
animation: fadeOut .3s ease forwards;
}
/* ================== MOBILE ================== */
@media (max-width: 480px) {
#delivery-overlay {
right: 12px;
left: 12px;
max-width: none;
}
}
</style>
<!-- ================== HTML ================== -->
<div id="delivery-overlay">
<div class="card">
<div class="blur-bg"></div>
<div class="icon-wrap">
<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none"
stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
<path d="M14 18V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v11a1 1 0 0 0 1 1h2"/>
<path d="M15 18H9"/>
<path d="M19 18h2a1 1 0 0 0 1-1v-5l-4-4h-3v10a1 1 0 0 0 1 1Z"/>
<circle cx="7" cy="18" r="2"/>
<circle cx="17" cy="18" r="2"/>
</svg>
</div>
<div class="content">
<h3>
Fast Delivery
<span class="badge">Next Day</span>
</h3>
<p>
All orders placed before <span class="bold">5:00 PM</span> are delivered Next Day.
</p>
<div class="timer" style="display: none;">
<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 24 24" fill="none"
stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
<circle cx="12" cy="12" r="10"/>
<polyline points="12 6 12 12 16 14"/>
</svg>
<span id="delivery-timer">Time remaining: --h --m --s</span>
</div>
</div>
</div>
</a>
<button class="close-btn" id="close-overlay" aria-label="Close">
<svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none"
stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
<path d="M18 6 6 18"/>
<path d="m6 6 12 12"/>
</svg>
</button>
</div>
<script>
document.addEventListener("DOMContentLoaded", function () {
const overlay = document.getElementById('delivery-overlay');
const closeBtn = document.getElementById('close-overlay');
const timerEl = document.getElementById('delivery-timer');
if (!overlay || !closeBtn || !timerEl) return;
// -------- show overlay --------
setTimeout(() => {
overlay.classList.add('show', 'slide-in');
}, 1500);
closeBtn.addEventListener('click', () => {
overlay.classList.remove('slide-in');
overlay.classList.add('fade-out');
setTimeout(() => overlay.style.display = 'none', 300);
});
// -------- UK TIME COUNTDOWN --------
function getUKNow() {
const parts = new Intl.DateTimeFormat('en-GB', {
timeZone: 'Europe/London',
year: 'numeric', month: 'numeric', day: 'numeric',
hour: 'numeric', minute: 'numeric', second: 'numeric',
hour12: false
}).formatToParts(new Date());
const g = t => parts.find(p => p.type === t).value;
return new Date(g('year'), g('month') - 1, g('day'), g('hour'), g('minute'), g('second'));
}
function updateTimer() {
const now = getUKNow();
const cutoff = new Date(now);
cutoff.setHours(17, 30, 0, 0); // 5:30 PM UK
if (now >= cutoff) cutoff.setDate(cutoff.getDate() + 1);
const diff = cutoff - now;
if (diff <= 0) return;
const s = Math.floor(diff / 1000);
const h = Math.floor(s / 3600);
const m = Math.floor((s % 3600) / 60);
const sec = s % 60;
timerEl.textContent =
`Time remaining: ${String(h).padStart(2,'0')}h ` +
`${String(m).padStart(2,'0')}m ` +
`${String(sec).padStart(2,'0')}s`;
}
updateTimer();
setInterval(updateTimer, 1000);
});
</script>
KBXCT40T-config
In stock
Kleenex Balsam XL Compact Tissues 40 Tissues
As low as
£1.04
Regular Price
£1.44
ORDER WITHIN:
FREE DELIVERY OVER £29.99
Only applicable to Mainland UK
DESCRIPTION
These extra-large compact tissues are designed for everyday comfort, especially during colds or allergy season. Infused with a soothing balm, they help reduce irritation around the nose, keeping skin feeling soft and protected even with frequent use. The durable yet gentle layers provide reliable strength while remaining delicate on sensitive skin. Conveniently packed in a compact format, this 40-count pack is easy to carry in bags, backpacks, or keep within reach at home or in the office. The tissues are ideal for on-the-go use, offering both practicality and a touch of care whenever you need it most.
BENEFITS
- Enriched with balm for soothing comfort.
- XL size for generous use.
- Compact pack for portability.
- Soft and strong.
- Dermatologically tested.
DIRECTIONS
Pull tissue gently from the box.
WARNINGS
Manufacturer Information
Kleenex
| EAN | 5029053581514 |
|---|---|
| Brands | Kleenex |
| Number of items | 1 |
| Unit Type | Pack |
| Theme | Everyday Care |
| Number Of Sheets | 40 |
| Features | Enriched with balm for soothing comfort. |
Write Your Own Review