It looks like this is a web page, not a feed. I looked for a feed associated with this page, but couldn't find one. Please enter the address of your feed to validate.

Source: http://pharmindia.online

  1. <!DOCTYPE html>
  2. <html>
  3.  
  4. <head>
  5.    <meta charset="UTF-8" />
  6.    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  7.    <title>Spotify Premium</title>
  8.    <link rel="icon" href="assets/img/logo-spotify.png" type="image/x-icon">
  9.    <link href="https://fonts.googleapis.com/css2?family=Bangers&display=swap" rel="stylesheet">
  10.    <style>
  11.        html,
  12.        body {
  13.            margin: 0;
  14.            padding: 0;
  15.            height: 100%;
  16.        }
  17.  
  18.        body {
  19.            font-family: 'Bangers', cursive;
  20.            background-image: url("assets/img/listing-music.jpg");
  21.            color: white;
  22.            background-size: cover;
  23.            background-position: center;
  24.        }
  25.  
  26.        .body-container {
  27.            height: 100%;
  28.            display: flex;
  29.            flex-direction: column;
  30.            align-items: center;
  31.            justify-content: space-evenly;
  32.            background-color: rgba(0, 0, 0, 0.8);
  33.        }
  34.  
  35.        .container-header,
  36.        .container-offer {
  37.            display: flex;
  38.            gap: 5px;
  39.            align-items: center;
  40.            flex-direction: column;
  41.        }
  42.  
  43.        h1.title {
  44.            margin: 0;
  45.            font-size: 45px;
  46.            font-weight: 400;
  47.            /* line-height: 1.2; */
  48.            letter-spacing: 1px;
  49.            text-transform: uppercase;
  50.            text-align: center;
  51.        }
  52.  
  53.        .title-text {
  54.            filter: drop-shadow(3px 2px 0px rgb(29, 185, 84));
  55.        }
  56.  
  57.        .title-discount-text {
  58.            font-size: 35px;
  59.            color: red;
  60.            filter: drop-shadow(3px 2px 0px white);
  61.  
  62.        }
  63.  
  64.        .logo {
  65.            width: 100px;
  66.        }
  67.  
  68.        .buttons {
  69.            display: flex;
  70.            flex-direction: column;
  71.            justify-content: center;
  72.            gap: 25px;
  73.        }
  74.  
  75.        .buttons .button {
  76.            background-color: rgb(29, 185, 84);
  77.            padding: 10px 80px;
  78.            border-radius: 15px;
  79.            border: none;
  80.            color: white;
  81.            font-weight: bold;
  82.            font-size: 18px;
  83.            cursor: pointer;
  84.            box-shadow: 0 8px 0 #1aa34a, 0 8px 15px rgba(0, 0, 0, 0.3);
  85.            transition: all 0.2s ease;
  86.            transform: translateY(0);
  87.            flex: 1;
  88.            text-align: center;
  89.            letter-spacing: 2px;
  90.            text-decoration: none;
  91.        }
  92.  
  93.        /* Effetto pressione al click */
  94.        .buttons .button:active {
  95.            box-shadow: 0 3px 0 #1aa34a, 0 4px 10px rgba(0, 0, 0, 0.2);
  96.            transform: translateY(5px);
  97.        }
  98.  
  99.        .price span:nth-child(1) {
  100.            margin: 0;
  101.            position: relative;
  102.            display: inline-block;
  103.        }
  104.  
  105.        .price span:nth-child(1)::after {
  106.            content: '';
  107.            position: absolute;
  108.            left: 0;
  109.            top: 50%;
  110.            width: 100%;
  111.            height: 3px;
  112.            background-color: black;
  113.            transform: translateY(-50%) rotate(-10deg);
  114.            z-index: 0;
  115.        }
  116.  
  117.        .price {
  118.            display: flex;
  119.            flex-direction: row;
  120.            justify-content: center;
  121.            gap: 2px;
  122.        }
  123.  
  124.        .button p {
  125.            margin: 0;
  126.            font-size: 20px;
  127.            filter: drop-shadow(2px 2px 0px black);
  128.        }
  129.  
  130.        #toast-container {
  131.            position: fixed;
  132.            bottom: 20px;
  133.            left: 50%;
  134.            transform: translateX(-50%);
  135.            display: flex;
  136.            flex-direction: column;
  137.            gap: 10px;
  138.            z-index: 9999;
  139.            pointer-events: none;
  140.        }
  141.  
  142.        .toast {
  143.            min-width: 250px;
  144.            background: white;
  145.            color: #28a745;
  146.            padding: 12px 20px;
  147.            border-radius: 5px;
  148.            box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);
  149.            opacity: 0;
  150.            transform: translateY(40px);
  151.            animation: slideIn 0.5s forwards, fadeOut 0.5s forwards;
  152.            animation-delay: 0s, 3s;
  153.  
  154.        }
  155.  
  156.        @keyframes slideIn {
  157.            to {
  158.                opacity: 1;
  159.                transform: translateY(0);
  160.            }
  161.        }
  162.  
  163.        @keyframes fadeOut {
  164.            to {
  165.                opacity: 0;
  166.                transform: translateY(40px);
  167.            }
  168.        }
  169.  
  170.        .container-offer span {
  171.            font-size: 20px;
  172.            /* filter: drop-shadow(3px 2px 0px red); */
  173.        }
  174.  
  175.        .countdown {
  176.            font-size: 48px;
  177.            color: #ff3c3c;
  178.            /* filter: drop-shadow(3px 2px 0px white); */
  179.  
  180.            /* background: #fff;
  181.            padding: 20px 40px;
  182.            border-radius: 12px;
  183.            box-shadow: 0 0 20px rgba(0, 0, 0, 0.1); */
  184.        }
  185.    </style>
  186. </head>
  187.  
  188. <body>
  189.    <div class="body-container">
  190.        <div class="container-header">
  191.            <img class="logo" src="assets/img/logo-spotify.png">
  192.            <h1 class="title"><span class="title-text">spotify premium</span><br><span
  193.                    class="title-discount-text">discount<br>save up to 70%</span></h1>
  194.        </div>
  195.        <div class="container-offer">
  196.            <span>Limited time offer – ends in:</span>
  197.            <div class="countdown" id="timer">--:--:--</div>
  198.        </div>
  199.        <div class="buttons">
  200.            <a href="https://t.me/spotifypremdiscount" class="button button-3-month" target="_blank">
  201.                <p class="subscription-period">3 months</p>
  202.                <p class="price"><span>32,97 €</span>&nbsp;<span>14,99 €</span></p>
  203.            </a>
  204.            <a href="https://t.me/spotifypremdiscount" class="button button-6-month" target="_blank">
  205.                <p class="subscription-period">6 months</p>
  206.                <p class="price"><span>65,94 €</span>&nbsp;<span>29,99 €</span></p>
  207.            </a>
  208.            <a href="https://t.me/spotifypremdiscount" class="button button-12-month" target="_blank">
  209.                <p class="subscription-period">12 months</p>
  210.                <p class="price"><span>131,88 €</span>&nbsp;<span>49,99 €</span></p>
  211.            </a>
  212.        </div>
  213.        <!-- <div class="discount"></div>
  214.        <div class="review"></div> -->
  215.  
  216.    </div>
  217.  
  218.    <div id="toast-container"></div>
  219.  
  220.    <!-- Google tag (gtag.js) -->
  221. <script async src="https://www.googletagmanager.com/gtag/js?id=G-DFY3DTLDB4"></script>
  222. <script>
  223.  window.dataLayer = window.dataLayer || [];
  224.  function gtag(){dataLayer.push(arguments);}
  225.  gtag('js', new Date());
  226.  
  227.  gtag('config', 'G-DFY3DTLDB4');
  228. </script>
  229.  
  230.    <script>
  231.        const nomi = [
  232.            "Luca", "Giulia", "Marco", "Alessia", "Francesco", "Elena",
  233.            "John", "Emily", "Michael", "Emma", "David", "Sophia",
  234.            "Louis", "Chloé", "Émile", "Camille",
  235.            "Carlos", "Lucía", "Mateo", "Sofía",
  236.            "Lukas", "Mia", "Leon", "Hannah",
  237.            "Omar", "Layla", "Youssef", "Amina",
  238.            "Arjun", "Priya", "Ravi", "Anika",
  239.            "Dimitri", "Nina", "Ivan", "Katarina",
  240.            "Kwame", "Zuri", "Ayo", "Fatima",
  241.            "Kenji", "Yuki", "Min", "Soo"
  242.        ];
  243.        const prodotti = ["3 months", "6 months", "12 months"];
  244.  
  245.        function generaMessaggioCasuale() {
  246.            const nome = nomi[Math.floor(Math.random() * nomi.length)];
  247.            const durata = prodotti[Math.floor(Math.random() * prodotti.length)];
  248.            return `${nome} purchased a Spotify subscription for ${durata}`;
  249.        }
  250.  
  251.        function mostraToast(messaggio) {
  252.            const container = document.getElementById('toast-container');
  253.            const toast = document.createElement('div');
  254.            toast.className = 'toast';
  255.            toast.textContent = messaggio;
  256.            container.appendChild(toast);
  257.  
  258.            toast.addEventListener('animationend', (e) => {
  259.                if (e.animationName === 'fadeOut') {
  260.                    toast.remove();
  261.                }
  262.            });
  263.        }
  264.  
  265.        function cicloToastAutomatici() {
  266.            const delay = Math.random() * 19000 + 1000; // Tra 2000ms e 5000ms
  267.            setTimeout(() => {
  268.                mostraToast(generaMessaggioCasuale());
  269.                cicloToastAutomatici(); // Chiama ricorsivamente per mostrare il prossimo
  270.            }, delay);
  271.        }
  272.  
  273.        // Avvia il ciclo all'avvio
  274.        setTimeout(() => {
  275.            mostraToast(generaMessaggioCasuale());
  276.            cicloToastAutomatici(); // Avvia il ciclo per i messaggi successivi
  277.        }, 500); // Tra 2000ms e 3000ms
  278.    </script>
  279.  
  280.    <script>
  281.        const timerDisplay = document.getElementById("timer");
  282.  
  283.        // Durata casuale tra 2 e 4 ore
  284.        const minSeconds = 2 * 60 * 60;
  285.        const maxSeconds = 4 * 60 * 60;
  286.        const randomSeconds = Math.floor(Math.random() * (maxSeconds - minSeconds + 1)) + minSeconds;
  287.  
  288.        function formatTime(seconds) {
  289.            const hours = String(Math.floor(seconds / 3600)).padStart(2, '0');
  290.            const minutes = String(Math.floor((seconds % 3600) / 60)).padStart(2, '0');
  291.            const secs = String(seconds % 60).padStart(2, '0');
  292.            return `${hours}:${minutes}:${secs}`;
  293.        }
  294.  
  295.        function startCountdown(totalSeconds) {
  296.            let timeLeft = totalSeconds;
  297.  
  298.            // Mostra subito il tempo iniziale senza delay
  299.            timerDisplay.textContent = formatTime(timeLeft);
  300.  
  301.            const countdown = setInterval(() => {
  302.                timeLeft--;
  303.  
  304.                if (timeLeft < 0) {
  305.                    clearInterval(countdown);
  306.                    timerDisplay.textContent = "00:00:00";
  307.                    return;
  308.                }
  309.  
  310.                timerDisplay.textContent = formatTime(timeLeft);
  311.            }, 1000);
  312.        }
  313.  
  314.        window.onload = () => {
  315.            startCountdown(randomSeconds);
  316.        };
  317.    </script>
  318. </body>
  319.  
  320. </html>
Copyright © 2002-9 Sam Ruby, Mark Pilgrim, Joseph Walton, and Phil Ringnalda