<!doctype html><html lang="en"><head> <meta charset="utf-8" /> <meta name="viewport" content="width=device-width, initial-scale=1" /> <link rel="icon" type="image/png" href="https://cdn2.iconfinder.com/data/icons/free-1/128/Love__heart_like-256.png"> <title>Age Confirmation 18+</title> <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" rel="stylesheet" /> <style> /* Base */ html, body { height: 100%; margin: 0; background:#000; } body { color:#e8e8ea; } .brand-badge { font-size:.8rem; opacity:.7; } .modal-backdrop.show { opacity:.75; } .modal-content { border-radius:1rem; } /* Modal text colors */ .modal-title { color:#ff3366; } .modal-body p { color:#000; } /* Header & footer dividers */ .modal-header { border-bottom: 2px solid #ddd; } .modal-footer { border-top: 2px solid #ddd; justify-content: center; gap: 15px; } /* --- Fullscreen video wrapper --- */ .vp-portrait{ position: fixed; inset: 0; width: 100vw; height: 100vh; overflow: hidden; background: #000; z-index: 1; } .vp-portrait video{ width:100%; height:100%; object-fit: cover; } .container { position: relative; z-index: 2; } @media (min-width: 992px){ header { display:none; } } /* Mobile: cover (ala TikTok) */ .vp-portrait video{ object-fit: cover; object-position: center center; background:#000; } /* Desktop: contain (utuh, tanpa crop) */ @media (min-width: 992px){ html, body { overflow: hidden; } .vp-portrait video{ object-fit: contain; object-position:center center; } } /* =========================== 3D BUTTONS (smooth, animated) =========================== */ .btn-3d{ --bg:#5865f2; /* default color (telegram-ish) */ --bg2:#3a47f0; --shadow:#2a2e6e; --glow:rgba(88,101,242,.35); display:inline-block; padding:.55rem 1rem; font-weight:700; color:#fff !important; text-decoration:none; border:none; border-radius:.8rem; background:linear-gradient(180deg,var(--bg),var(--bg2)); box-shadow: 0 .4rem 0 var(--shadow), 0 .8rem 1.2rem rgba(0,0,0,.35), 0 0 0 .15rem rgba(255,255,255,.06) inset; transform:translateY(0); transition: transform .15s ease, box-shadow .2s ease, filter .2s ease; position:relative; will-change: transform, box-shadow, filter; } /* glossy highlight */ .btn-3d::before{ content:""; position:absolute; left:8%; right:8%; top:6%; height:32%; border-radius:1rem; background:linear-gradient(180deg,rgba(255,255,255,.35),rgba(255,255,255,0)); pointer-events:none; filter: blur(.2px); } .btn-3d:hover{ transform:translateY(-2px); box-shadow: 0 .55rem 0 var(--shadow), 0 1.2rem 1.6rem rgba(0,0,0,.4), 0 0 0 .15rem rgba(255,255,255,.08) inset; filter:saturate(1.05); } .btn-3d:active{ transform:translateY(.25rem); box-shadow: 0 .15rem 0 var(--shadow), 0 .4rem .8rem rgba(0,0,0,.35), 0 0 0 .15rem rgba(255,255,255,.08) inset; } .btn-3d:focus{ outline:none; box-shadow: 0 .4rem 0 var(--shadow), 0 .8rem 1.2rem rgba(0,0,0,.35), 0 0 0 .25rem var(--glow), 0 0 0 .15rem rgba(255,255,255,.06) inset; } /* Variants */ .btn-3d-tg{ /* Telegram blue */ --bg:#2aabee; --bg2:#1b8ed2; --shadow:#136b95; --glow:rgba(42,171,238,.35); } .btn-3d-continue{ /* Continue red/pink */ --bg:#ff3c5f; --bg2:#e22e51; --shadow:#a02036; --glow:rgba(255,60,95,.35); } /* Efek kedip smooth */ @keyframes pulseSmooth { 0%, 100% { transform: scale(1); opacity: 1; } 50% { transform: scale(1.08); opacity: 0.85; } } .btn-blink { animation: pulseSmooth 1.8s infinite ease-in-out; } /* Respect reduced motion */ @media (prefers-reduced-motion: reduce){ .btn-3d, .btn-3d:hover, .btn-3d:active, .btn-blink { transition:none; animation:none; } } /* Logo styling */ .logo { font-size: 22px; font-weight: bold; } .logo span { color: red; } </style></head><body> <!-- Video fullscreen --> <div class="vp-portrait"> <video id="video" playsinline controls preload="metadata"> <source src="https://cdn.videy.ws/bidan%20rita/9ek6ezYV1.mp4" type="video/mp4" /> </video> </div> <!-- Header di atas video --> <div class="container py-3"> <header class="d-flex align-items-center justify-content-between"> <h1 class="h5 m-0"><div class="logo"><span>↪︎ADULT </span>VIDEO↩︎</div></h1> <!-- Tombol Join Telegram Group dengan efek kedip --> <a href="#" class="btn-3d btn-3d-tg btn-blink">Join Channel</a> </header> </div> <!-- Modal --> <div class="modal fade" id="ageModal" tabindex="-1" aria-hidden="true"> <div class="modal-dialog modal-dialog-centered"> <div class="modal-content text-center"> <div class="modal-header"> <h5 class="modal-title w-100">🔞 Age Confirmation!</h5> <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button> </div> <div class="modal-body"> <p>This video may contain adult content. Are you at least <strong style="color:#ff0000;">18+</strong> years old and want to continue?</p> </div> <div class="modal-footer"> <button type="button" class="btn btn-secondary" id="btnCancel" data-bs-dismiss="modal">Cancel</button> <!-- Tombol Continue dengan efek kedip --> <a class="btn-3d btn-3d-continue btn-blink" id="btnContinue" href="https://valleyarmiessunflower.com/uy8ix1m0?key=8bfc80f25cf2102e3729e869551347a5" target="_blank" rel="noopener noreferrer">Yes, I am 18+ ▶︎▶︎</a> </div> </div> </div> </div> <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js"></script> <script> document.addEventListener('DOMContentLoaded', function () { const ageModalEl = document.getElementById('ageModal'); const ageModal = new bootstrap.Modal(ageModalEl, { backdrop: true, keyboard: true }); const video = document.getElementById('video'); let showing = false; let popupTimer = null; function showGate(){ if(showing) return; showing = true; ageModal.show(); } ageModalEl.addEventListener('show.bs.modal', () => { try{ video.pause(); }catch(e){}; }); ageModalEl.addEventListener('hidden.bs.modal', () => { showing = false; clearTimeout(popupTimer); popupTimer = setTimeout(showGate, 6000); }); popupTimer = setTimeout(showGate, 2000); document.getElementById('btnCancel').addEventListener('click', () => { try{ video.pause(); }catch(e){}; }); document.getElementById('btnContinue').addEventListener('click', function(e){ // window.location.href = this.href; // same-tab redirect if needed }); }); </script></body></html>