Showing source for: https://quickdnscheck.com/
Duration: 0.182769s
Server: cloudflare

<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>QuickDNSCheck - Fast DNS Lookup & Diagnostics Tool</title>
  <meta name="description" content="QuickDNSCheck is a fast and comprehensive DNS lookup tool for checking domain records, DNS propagation, and diagnostics.">
  <meta name="keywords" content="DNS lookup, DNS diagnostics, domain records, propagation, DNS health, QuickDNSCheck">
  <meta name="robots" content="index, follow">
  <link rel="canonical" href="https://quickdnscheck.com/">
  
  <!-- Hreflang tags for language targeting -->
  <link rel="alternate" hreflang="en" href="https://quickdnscheck.com/">
  <link rel="alternate" hreflang="fr" href="https://quickdnscheck.com/fr/">
  <link rel="alternate" hreflang="x-default" href="https://quickdnscheck.com/">
  
  <!-- Open Graph Meta Tags -->
  <meta property="og:title" content="QuickDNSCheck - Fast DNS Lookup & Diagnostics Tool">
  <meta property="og:description" content="QuickDNSCheck is a fast and comprehensive DNS lookup tool for checking domain records, DNS propagation, and diagnostics.">
  <meta property="og:type" content="website">
  <meta property="og:url" content="https://quickdnscheck.com/">
  <meta property="og:image" content="https://quickdnscheck.com/images/og-image.jpg">

  <!-- Favicon -->
  <link rel="icon" href="/images/favicon.svg" type="image/svg+xml">
  <link rel="apple-touch-icon" href="/images/favicon.svg">
<!-- Google tag (gtag.js) -->
<script async src="https://www.googletagmanager.com/gtag/js?id=G-XRGLP0JCKR"></script>
<script>
  window.dataLayer = window.dataLayer || [];
  function gtag(){dataLayer.push(arguments);}
  gtag('js', new Date());

  gtag('config', 'G-XRGLP0JCKR');
</script>
  <!-- JSON-LD Structured Data for tools -->
  <script type="application/ld+json">
  {
    "@context": "https://schema.org",
    "@type": "SoftwareApplication",
    "name": "QuickDNSCheck",
    "url": "https://quickdnscheck.com/",
    "description": "QuickDNSCheck is a fast and comprehensive DNS lookup and diagnostics tool for checking domain records, DNS propagation, and DNS health.",
    "applicationCategory": "UtilitiesApplication",
    "operatingSystem": "Web",
    "offers": {
      "@type": "Offer",
      "price": "0",
      "priceCurrency": "USD"
    }
  }
  </script>
  
  <!-- Preload critical resources -->
  <link rel="preload" href="https://fonts.googleapis.com/css2?family=SF+Pro+Display:wght@400;500;600;700&display=swap" as="style">
  <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=SF+Pro+Display:wght@400;500;600;700&display=swap">
  <link rel="stylesheet" href="styles/dark-mode.css">
  <link rel="stylesheet" href="/styles/tools.css">
  
  <style>
    :root {
      /* Apple-inspired color scheme */
      --apple-white: #ffffff;
      --apple-gray-50: #f5f5f7;
      --apple-gray-100: #e8e8ed;
      --apple-gray-200: #d2d2d7;
      --apple-gray-300: #86868b;
      --apple-gray-400: #6e6e73;
      --apple-gray-500: #1d1d1f;
      --apple-blue: #0071e3;
      --apple-blue-hover: #0077ed;
      --apple-green: #34c759;
      --apple-red: #ff3b30;
      --apple-orange: #ff9500;
      --apple-shadow: rgba(0, 0, 0, 0.1);
      
      /* Typography */
      --font-family: -apple-system, 'SF Pro Display', BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
    }
    
    /* Reset styles */
    *, *::before, *::after {
      margin: 0;
      padding: 0;
      box-sizing: border-box;
      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale;
    }
    
    html {
      font-size: 62.5%; /* 10px base for easier rem calculations */
    }
    
    body {
      font-family: var(--font-family);
      font-size: 1.6rem;
      line-height: 1.5;
      color: var(--apple-gray-500);
      background-color: var(--apple-white);
      min-height: 100vh;
      display: flex;
      flex-direction: column;
    }
    
    /* Typography */
    h1, h2, h3, h4, h5, h6 {
      font-weight: 600;
      letter-spacing: -0.02em;
      line-height: 1.2;
    }
    
    h1 {
      font-size: 4.8rem;
      font-weight: 700;
    }
    
    h2 {
      font-size: 3.2rem;
      margin-bottom: 2.4rem;
    }
    
    h3 {
      font-size: 2.4rem;
      margin-bottom: 1.6rem;
    }
    
    p {
      margin-bottom: 1.6rem;
    }
    
    a {
      color: var(--apple-blue);
      text-decoration: none;
      transition: color 0.2s ease;
    }
    
    a:hover {
      color: var(--apple-blue-hover);
    }
    
    /* Layout */
    .container {
      width: 100%;
      max-width: 120rem;
      margin: 0 auto;
      padding: 0 2.4rem;
    }
    
    .row {
      display: flex;
      flex-wrap: wrap;
      margin: 0 -1.6rem;
    }
    
    .col {
      flex: 1;
      padding: 0 1.6rem;
    }
    
    /* Header */
    header {
      background-color: rgba(255, 255, 255, 0.8);
      backdrop-filter: saturate(180%) blur(20px);
      position: sticky;
      top: 0;
      z-index: 100;
      border-bottom: 1px solid var(--apple-gray-100);
    }
    
    .header-container {
      display: flex;
      justify-content: space-between;
      align-items: center;
      height: 6.4rem;
    }
    
    .logo {
      font-size: 2.2rem;
      font-weight: 600;
      color: var(--apple-gray-500);
      text-decoration: none;
    }
    
    .nav-menu {
      display: flex;
      list-style: none;
      gap: 3.2rem;
    }
    
    .nav-item a {
      color: var(--apple-gray-400);
      font-size: 1.4rem;
      font-weight: 500;
      transition: color 0.2s ease;
    }
    
    .nav-item a:hover {
      color: var(--apple-gray-500);
    }
    
    .language-switcher {
      font-size: 1.4rem;
      color: var(--apple-gray-400);
      background: none;
      border: none;
      cursor: pointer;
    }
    
    /* Hero section */
    .hero {
      padding: 8rem 0;
      text-align: center;
      background-color: var(--apple-white);
    }
    
    .hero h1 {
      margin-bottom: 1.6rem;
    }
    
    .hero-subtitle {
      font-size: 2.2rem;
      color: var(--apple-gray-400);
      margin-bottom: 4.8rem;
      max-width: 80rem;
      margin-left: auto;
      margin-right: auto;
    }
    
    /* DNS Tool */
    .dns-tool {
      background-color: var(--apple-white);
      border-radius: 1.8rem;
      box-shadow: 0 0.8rem 2.4rem var(--apple-shadow);
      padding: 3.2rem;
      margin-bottom: 6.4rem;
      transition: transform 0.3s ease, box-shadow 0.3s ease;
    }
    
    .dns-tool:hover {
      transform: translateY(-0.4rem);
      box-shadow: 0 1.2rem 3.2rem var(--apple-shadow);
    }
    
    .search-form {
      display: flex;
      gap: 1.6rem;
      margin-bottom: 2.4rem;
    }
    
    .search-input {
      flex: 1;
      height: 4.8rem;
      padding: 0 1.6rem;
      border: 1px solid var(--apple-gray-200);
      border-radius: 1rem;
      font-size: 1.6rem;
      outline: none;
      transition: border-color 0.2s ease, box-shadow 0.2s ease;
    }
    
    .search-input:focus {
      border-color: var(--apple-blue);
      box-shadow: 0 0 0 0.4rem rgba(0, 113, 227, 0.2);
    }
    
    .search-button {
      height: 4.8rem;
      padding: 0 2.4rem;
      background-color: var(--apple-blue);
      color: var(--apple-white);
      border: none;
      border-radius: 1rem;
      font-size: 1.6rem;
      font-weight: 600;
      cursor: pointer;
      transition: background-color 0.2s ease;
    }
    
    .search-button:hover {
      background-color: var(--apple-blue-hover);
    }
    
    .record-types {
      display: flex;
      flex-wrap: wrap;
      gap: 0.8rem;
      margin-bottom: 2.4rem;
    }
    
    .record-type-button {
      padding: 0.8rem 1.6rem;
      background-color: var(--apple-gray-50);
      border: 1px solid var(--apple-gray-100);
      border-radius: 3rem;
      font-size: 1.4rem;
      font-weight: 500;
      color: var(--apple-gray-400);
      cursor: pointer;
      transition: all 0.2s ease;
    }
    
    .record-type-button:hover {
      background-color: var(--apple-gray-100);
    }
    
    .record-type-button.active {
      background-color: var(--apple-blue);
      color: var(--apple-white);
      border-color: var(--apple-blue);
    }
    
    /* Results Section */
    .results-section {
      display: none;
      margin-top: 4.8rem;
    }
    
    .results-section.show {
      display: block;
    }
    
    .results-header {
      display: flex;
      justify-content: space-between;
      align-items: center;
      margin-bottom: 2.4rem;
    }
    
    .domain-title {
      font-size: 3.2rem;
      font-weight: 600;
    }
    
    .domain-meta {
      font-size: 1.4rem;
      color: var(--apple-gray-300);
      margin-top: 0.8rem;
    }
    
    .refresh-button {
      display: flex;
      align-items: center;
      gap: 0.8rem;
      padding: 0.8rem 1.6rem;
      background-color: var(--apple-gray-50);
      border: 1px solid var(--apple-gray-100);
      border-radius: 1rem;
      font-size: 1.4rem;
      font-weight: 500;
      color: var(--apple-gray-400);
      cursor: pointer;
      transition: all 0.2s ease;
    }
    
    .refresh-button:hover {
      background-color: var(--apple-gray-100);
    }
    
    /* Tabs */
    .tabs {
      margin-bottom: 3.2rem;
    }
    
    .tabs-menu {
      display: flex;
      border-bottom: 1px solid var(--apple-gray-100);
      margin-bottom: 2.4rem;
      overflow-x: auto;
      scrollbar-width: none;
    }
    
    .tabs-menu::-webkit-scrollbar {
      display: none;
    }
    
    .tab-button {
      padding: 1.6rem 2.4rem;
      font-size: 1.6rem;
      font-weight: 500;
      color: var(--apple-gray-400);
      background: none;
      border: none;
      border-bottom: 2px solid transparent;
      cursor: pointer;
      transition: all 0.2s ease;
      white-space: nowrap;
    }
    
    .tab-button:hover {
      color: var(--apple-gray-500);
    }
    
    .tab-button.active {
      color: var(--apple-blue);
      border-bottom-color: var(--apple-blue);
    }
    
    .tab-content {
      display: none;
    }
    
    .tab-content.active {
      display: block;
    }
    
    /* Cards */
    .card {
      background-color: var(--apple-white);
      border-radius: 1.8rem;
      box-shadow: 0 0.4rem 1.6rem var(--apple-shadow);
      margin-bottom: 2.4rem;
      overflow: hidden;
      transition: transform 0.3s ease, box-shadow 0.3s ease;
    }
    
    .card:hover {
      transform: translateY(-0.2rem);
      box-shadow: 0 0.8rem 2.4rem var(--apple-shadow);
    }
    
    .card-header {
      padding: 2.4rem;
      border-bottom: 1px solid var(--apple-gray-100);
      display: flex;
      justify-content: space-between;
      align-items: center;
    }
    
    .card-title {
      font-size: 2rem;
      font-weight: 600;
      display: flex;
      align-items: center;
      gap: 1.2rem;
    }
    
    .card-icon {
      width: 2.8rem;
      height: 2.8rem;
      display: flex;
      align-items: center;
      justify-content: center;
    }
    
    .card-content {
      padding: 2.4rem;
    }
    
    /* Tables */
    .data-table {
      width: 100%;
      border-collapse: collapse;
    }
    
    .data-table th,
    .data-table td {
      padding: 1.2rem 1.6rem;
      text-align: left;
      border-bottom: 1px solid var(--apple-gray-100);
    }
    
    .data-table th {
      font-weight: 600;
      color: var(--apple-gray-400);
      font-size: 1.4rem;
    }
    
    .data-table td {
      font-size: 1.5rem;
    }
    
    .data-table tr:last-child td {
      border-bottom: none;
    }
    
    .data-table tr:hover {
      background-color: var(--apple-gray-50);
    }
    
    /* Badges */
    .badge {
      display: inline-flex;
      align-items: center;
      padding: 0.4rem 1.2rem;
      border-radius: 3rem;
      font-size: 1.2rem;
      font-weight: 600;
    }
    
    .badge-success {
      background-color: rgba(52, 199, 89, 0.1);
      color: var(--apple-green);
    }
    
    .badge-warning {
      background-color: rgba(255, 149, 0, 0.1);
      color: var(--apple-orange);
    }
    
    .badge-danger {
      background-color: rgba(255, 59, 48, 0.1);
      color: var(--apple-red);
    }
    
    .badge-info {
      background-color: rgba(0, 113, 227, 0.1);
      color: var(--apple-blue);
    }
    
    /* Buttons */
    .button {
      padding: 0.8rem 1.6rem;
      border-radius: 1rem;
      font-size: 1.4rem;
      font-weight: 500;
      cursor: pointer;
      transition: all 0.2s ease;
    }
    
    .button-primary {
      background-color: var(--apple-blue);
      color: var(--apple-white);
      border: none;
    }
    
    .button-primary:hover {
      background-color: var(--apple-blue-hover);
    }
    
    .button-secondary {
      background-color: var(--apple-gray-50);
      color: var(--apple-gray-400);
      border: 1px solid var(--apple-gray-100);
    }
    
    .button-secondary:hover {
      background-color: var(--apple-gray-100);
    }
    
    /* Feature Section */
    .features {
      padding: 8rem 0;
      background-color: var(--apple-gray-50);
    }
    
    .features-title {
      text-align: center;
      margin-bottom: 6.4rem;
    }
    
    .feature-card {
      background-color: var(--apple-white);
      border-radius: 1.8rem;
      padding: 3.2rem;
      box-shadow: 0 0.4rem 1.6rem var(--apple-shadow);
      height: 100%;
      transition: transform 0.3s ease, box-shadow 0.3s ease;
    }
    
    .feature-card:hover {
      transform: translateY(-0.4rem);
      box-shadow: 0 1.2rem 3.2rem var(--apple-shadow);
    }
    
    .feature-icon {
      width: 6.4rem;
      height: 6.4rem;
      margin-bottom: 2.4rem;
      display: flex;
      align-items: center;
      justify-content: center;
      background-color: var(--apple-gray-50);
      border-radius: 50%;
    }
    
    .feature-title {
      font-size: 2rem;
      margin-bottom: 1.6rem;
    }
    
    .feature-description {
      color: var(--apple-gray-400);
    }
    
    /* DNS Records Encyclopedia Section */
    .encyclopedia {
      padding: 8rem 0;
    }
    
    .records-list {
      display: grid;
      grid-template-columns: repeat(auto-fill, minmax(28rem, 1fr));
      gap: 2.4rem;
      margin-top: 4.8rem;
    }
    
    .record-card {
      background-color: var(--apple-white);
      border-radius: 1.8rem;
      padding: 2.4rem;
      box-shadow: 0 0.4rem 1.6rem var(--apple-shadow);
      transition: transform 0.3s ease, box-shadow 0.3s ease;
    }
    
    .record-card:hover {
      transform: translateY(-0.4rem);
      box-shadow: 0 1.2rem 3.2rem var(--apple-shadow);
    }
    
    .record-name {
      font-size: 2rem;
      font-weight: 600;
      margin-bottom: 0.8rem;
    }
    
    .record-description {
      font-size: 1.5rem;
      color: var(--apple-gray-400);
      margin-bottom: 1.6rem;
    }
    
    /* FAQ Section */
    .faq {
      padding: 8rem 0;
      background-color: var(--apple-gray-50);
    }
    
    .faq-title {
      text-align: center;
      margin-bottom: 4.8rem;
    }
    
    .accordion {
      max-width: 80rem;
      margin: 0 auto;
    }
    
    .accordion-item {
      margin-bottom: 1.6rem;
      border-radius: 1.2rem;
      overflow: hidden;
      background-color: var(--apple-white);
      box-shadow: 0 0.4rem 1.2rem var(--apple-shadow);
    }
    
    .accordion-header {
      padding: 2rem;
      background-color: var(--apple-white);
      cursor: pointer;
      display: flex;
      justify-content: space-between;
      align-items: center;
    }
    
    .accordion-title {
      font-size: 1.8rem;
      font-weight: 500;
    }
    
    .accordion-icon {
      width: 2rem;
      height: 2rem;
      transition: transform 0.3s ease;
    }
    
    .accordion-content {
      padding: 0 2rem 2rem;
      display: none;
    }
    
    .accordion-content.show {
      display: block;
    }
    
    .accordion-item.active .accordion-icon {
      transform: rotate(180deg);
    }
    
    /* CTA Section */
    .cta {
      padding: 8rem 0;
      text-align: center;
    }
    
    .cta-title {
      margin-bottom: 1.6rem;
    }
    
    .cta-description {
      font-size: 2rem;
      color: var(--apple-gray-400);
      margin-bottom: 3.2rem;
      max-width: 64rem;
      margin-left: auto;
      margin-right: auto;
    }
    
    .cta-button {
      display: inline-block;
      padding: 1.2rem 3.2rem;
      background-color: var(--apple-blue);
      color: var(--apple-white);
      border-radius: 3rem;
      font-size: 1.8rem;
      font-weight: 600;
      transition: background-color 0.2s ease;
    }
    
    .cta-button:hover {
      background-color: var(--apple-blue-hover);
    }
    
    /* Footer */
    footer {
      background-color: var(--apple-gray-50);
      padding: 6.4rem 0 3.2rem;
      margin-top: auto;
    }
    
    .footer-columns {
      display: grid;
      grid-template-columns: 2fr 1fr 1fr 1fr;
      gap: 3.2rem;
      margin-bottom: 4.8rem;
    }
    
    .footer-logo {
      font-size: 2.2rem;
      font-weight: 600;
      margin-bottom: 1.6rem;
    }
    
    .footer-description {
      font-size: 1.5rem;
      color: var(--apple-gray-400);
      margin-bottom: 2.4rem;
    }
    
    .footer-column-title {
      font-size: 1.6rem;
      font-weight: 600;
      margin-bottom: 2.4rem;
    }
    
    .footer-links {
      list-style: none;
    }
    
    .footer-link {
      margin-bottom: 1.2rem;
    }
    
    .footer-link a {
      font-size: 1.5rem;
      color: var(--apple-gray-400);
      transition: color 0.2s ease;
    }
    
    .footer-link a:hover {
      color: var(--apple-gray-500);
    }
    
    .footer-divider {
      height: 1px;
      background-color: var(--apple-gray-100);
      margin-bottom: 3.2rem;
    }
    
    .footer-bottom {
      display: flex;
      justify-content: space-between;
      align-items: center;
    }
    
    .copyright {
      font-size: 1.4rem;
      color: var(--apple-gray-300);
    }
    
    .footer-bottom-links {
      display: flex;
      gap: 2.4rem;
    }
    
    .footer-bottom-link {
      font-size: 1.4rem;
      color: var(--apple-gray-300);
      transition: color 0.2s ease;
    }
    
    .footer-bottom-link:hover {
      color: var(--apple-gray-400);
    }
    
    /* Utility Classes */
    .text-center {
      text-align: center;
    }
    
    .mb-1 {
      margin-bottom: 0.8rem;
    }
    
    .mb-2 {
      margin-bottom: 1.6rem;
    }
    
    .mb-3 {
      margin-bottom: 2.4rem;
    }
    
    .mb-4 {
      margin-bottom: 3.2rem;
    }
    
    .mb-5 {
      margin-bottom: 4.8rem;
    }
    
    .mb-6 {
      margin-bottom: 6.4rem;
    }
    
    /* Results Actions Bar */
    .results-actions {
      display: flex;
      gap: 1.2rem;
    }

    .action-button {
      display: flex;
      align-items: center;
      gap: 0.8rem;
      padding: 0.8rem 1.6rem;
      background-color: var(--apple-gray-50);
      border: 1px solid var(--apple-gray-100);
      border-radius: 1rem;
      font-size: 1.4rem;
      font-weight: 500;
      color: var(--apple-gray-400);
      cursor: pointer;
      transition: all 0.2s ease;
    }

    .action-button:hover {
      background-color: var(--apple-gray-100);
    }

    .email-button {
      background-color: rgba(0, 113, 227, 0.1);
      color: var(--apple-blue);
      border-color: rgba(0, 113, 227, 0.2);
    }

    .email-button:hover {
      background-color: rgba(0, 113, 227, 0.15);
    }

    /* Toast Notification */
    .toast {
      position: fixed;
      bottom: 2.4rem;
      right: 2.4rem;
      padding: 1.6rem 2.4rem;
      background-color: var(--apple-gray-500);
      color: var(--apple-white);
      border-radius: 1.2rem;
      font-size: 1.5rem;
      font-weight: 500;
      opacity: 0;
      transform: translateY(2rem);
      transition: opacity 0.3s ease, transform 0.3s ease;
      z-index: 1000;
    }

    .toast.show {
      opacity: 1;
      transform: translateY(0);
    }

    /* Modal Dialog */
    .modal {
      display: none;
      position: fixed;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background-color: rgba(0, 0, 0, 0.5);
      z-index: 2000;
      justify-content: center;
      align-items: center;
      opacity: 0;
      transition: opacity 0.3s ease;
    }

    .modal.show {
      display: flex;
      opacity: 1;
    }

    .modal-content {
      width: 100%;
      max-width: 56rem;
      background-color: var(--apple-white);
      border-radius: 1.8rem;
      box-shadow: 0 1.2rem 3.2rem var(--apple-shadow);
      overflow: hidden;
      transform: scale(0.95);
      transition: transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
    }

    .modal.show .modal-content {
      transform: scale(1);
    }

    .modal-header {
      display: flex;
      justify-content: space-between;
      align-items: center;
      padding: 2.4rem;
      border-bottom: 1px solid var(--apple-gray-100);
    }

    .modal-title {
      font-size: 2rem;
      margin: 0;
    }

    .modal-close {
      background: none;
      border: none;
      color: var(--apple-gray-300);
      cursor: pointer;
      padding: 0.4rem;
      border-radius: 50%;
      display: flex;
      align-items: center;
      justify-content: center;
      transition: background-color 0.2s ease;
    }

    .modal-close:hover {
      background-color: var(--apple-gray-50);
      color: var(--apple-gray-500);
    }

    .modal-body {
      padding: 2.4rem;
    }

    .modal-footer {
      display: flex;
      justify-content: flex-end;
      margin-top: 2.4rem;
    }

    /* Form Elements */
    .form-group {
      margin-bottom: 1.6rem;
    }

    .form-group label {
      display: block;
      font-size: 1.4rem;
      font-weight: 500;
      margin-bottom: 0.8rem;
      color: var(--apple-gray-400);
    }

    .checkbox-group {
      display: grid;
      grid-template-columns: repeat(auto-fill, minmax(15rem, 1fr));
      gap: 1.2rem;
      margin-top: 0.8rem;
    }

    .checkbox-label {
      display: flex;
      align-items: center;
      font-size: 1.4rem;
      gap: 0.8rem;
      cursor: pointer;
    }

    .checkbox-label input[type="checkbox"] {
      width: 1.8rem;
      height: 1.8rem;
      border-radius: 0.4rem;
      border: 1px solid var(--apple-gray-200);
      accent-color: var(--apple-blue);
      cursor: pointer;
    }

    textarea.search-input {
      resize: vertical;
      min-height: 6rem;
      font-family: var(--font-family);
    }
    
    /* Dark Mode Toggle */
    .dark-mode-toggle {
      display: flex;
      align-items: center;
      gap: 0.8rem;
      cursor: pointer;
    }
    
    .toggle-track {
      width: 4.8rem;
      height: 2.8rem;
      background-color: var(--apple-gray-200);
      border-radius: 1.4rem;
      position: relative;
      transition: background-color 0.2s ease;
    }
    
    .toggle-thumb {
      position: absolute;
      top: 0.4rem;
      left: 0.4rem;
      width: 2rem;
      height: 2rem;
      background-color: var(--apple-white);
      border-radius: 50%;
      transition: transform 0.2s ease;
    }
    
    .dark-mode-toggle.active .toggle-track {
      background-color: var(--apple-blue);
    }
    
    .dark-mode-toggle.active .toggle-thumb {
      transform: translateX(2rem);
    }
    
    .dark-mode-label {
      font-size: 1.4rem;
      color: var(--apple-gray-400);
    }
    
    /* Loading Spinner */
    .loading-spinner {
      display: inline-block;
      width: 2rem;
      height: 2rem;
      border: 0.2rem solid rgba(0, 113, 227, 0.2);
      border-radius: 50%;
      border-top-color: var(--apple-blue);
      animation: spin 1s linear infinite;
    }
    
    @keyframes spin {
      to { transform: rotate(360deg); }
    }
    
    /* Responsive Design */
    @media (max-width: 1200px) {
      html {
        font-size: 60%;
      }
    }
    
    @media (max-width: 992px) {
      html {
        font-size: 58%;
      }
      
      .footer-columns {
        grid-template-columns: 1fr 1fr;
        gap: 4.8rem;
      }
    }
    
    @media (max-width: 768px) {
      html {
        font-size: 56%;
      }
      
      .header-container {
        height: 5.6rem;
      }
      
      .hero {
        padding: 6.4rem 0;
      }
      
      .search-form {
        flex-direction: column;
      }
      
      .search-button {
        width: 100%;
      }
      
      .records-list {
        grid-template-columns: 1fr;
      }
      
      .footer-columns {
        grid-template-columns: 1fr;
        gap: 4rem;
      }
      
      .footer-bottom {
        flex-direction: column;
        gap: 1.6rem;
      }
    }
    
    @media (max-width: 576px) {
      .tabs-menu {
        justify-content: flex-start;
      }
      
      .tab-button {
        padding: 1.2rem 1.6rem;
        font-size: 1.4rem;
      }
      
      .card-header {
        flex-direction: column;
        align-items: flex-start;
        gap: 1.2rem;
      }
      
      .data-table th,
      .data-table td {
        padding: 1rem;
        font-size: 1.4rem;
      }
    }
  </style>
<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-3842191947397990"
     crossorigin="anonymous"></script></head>

<body>
  <!-- Header -->
  <header>
    <div class="container">
      <div class="header-container">
        <nav>
          <ul class="nav-menu">
            <li class="nav-item"><a href="#tools">Tools</a></li>
            <li class="nav-item"><a href="#encyclopedia">DNS Records</a></li>
            <li class="nav-item"><a href="#faq">FAQ</a></li>
            <li class="nav-item"><a href="#about">About</a></li>
            <li class="nav-item">
              <button class="language-switcher" id="languageSwitcher">
                EN
                <svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
                  <polyline points="6 9 12 15 18 9"></polyline>
                </svg>
              </button>
            </li>
          </ul>
        </nav>
      </div>
    </div>
  </header>

  <!-- Hero Section -->
  <section class="hero">
    <div class="container">
      <h1>Fast & Comprehensive DNS Lookup</h1>
      
      <p class="hero-subtitle">Analyze DNS records, check propagation, and diagnose domain issues with professional-grade tools</p>
      
      <!-- DNS Tool -->
      <div class="dns-tool">
        <form class="search-form" id="dnsForm">
          <input type="text" class="search-input" id="domainInput" placeholder="Enter a domain name (e.g., example.com)" required>
          <button type="submit" class="search-button" id="searchButton">
            <span id="searchButtonText">Check DNS</span>
            <span id="searchButtonLoading" style="display: none">
              <span class="loading-spinner"></span>
            </span>
          </button>
        </form>
        
        <div class="record-types">
          <button type="button" class="record-type-button active" data-type="all">All Records</button>
          <button type="button" class="record-type-button" data-type="a">A</button>
          <button type="button" class="record-type-button" data-type="aaaa">AAAA</button>
          <button type="button" class="record-type-button" data-type="cname">CNAME</button>
          <button type="button" class="record-type-button" data-type="mx">MX</button>
          <button type="button" class="record-type-button" data-type="ns">NS</button>
          <button type="button" class="record-type-button" data-type="txt">TXT</button>
          <button type="button" class="record-type-button" data-type="soa">SOA</button>
          <button type="button" class="record-type-button" data-type="dmarc">DMARC</button>
          <button type="button" class="record-type-button" data-type="dnskey">DNSKEY</button>
        </div>
      </div>
      
      <!-- Results Section (initially hidden) -->
      <div class="results-section" id="resultsSection">
        <div class="results-header">
          <div>
            <h2 class="domain-title" id="resultDomainName">example.com</h2>
            <p class="domain-meta">Last updated: <span id="lastUpdatedTime">Just now</span></p>
          </div>
          <div class="results-actions">
            <button class="action-button email-button" id="emailResultsButton">
              <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
                <path d="M4 4h16c1.1 0 2 .9 2 2v12c0 1.1-.9 2-2 2H4c-1.1 0-2-.9-2-2V6c0-1.1.9-2 2-2z"></path>
                <polyline points="22,6 12,13 2,6"></polyline>
              </svg>
              Email Results
            </button>
            <button class="refresh-button" id="refreshButton">
              <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
                <path d="M23 4v6h-6"></path>
                <path d="M1 20v-6h6"></path>
                <path d="M3.51 9a9 9 0 0 1 14.85-3.36L23 10"></path>
                <path d="M20.49 15a9 9 0 0 1-14.85 3.36L1 14"></path>
              </svg>
              Refresh
            </button>
          </div>
        </div>
        
        <div class="tabs">
          <div class="tabs-menu">
            <button class="tab-button active" data-tab="overview">Overview</button>
            <button class="tab-button" data-tab="records">DNS Records</button>
            <button class="tab-button" data-tab="propagation">Propagation</button>
            <button class="tab-button" data-tab="health">DNS Health</button>
            <button class="tab-button" data-tab="trace">DNS Trace</button>
            <button class="tab-button" data-tab="history">History</button>
          </div>
          
          <!-- Overview Tab -->
          <div class="tab-content active" id="overviewTab">
            <div class="card">
              <div class="card-header">
                <h3 class="card-title">
                  <svg class="card-icon" width="24" height="24" 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"></circle>
                    <line x1="12" y1="16" x2="12" y2="12"></line>
                    <line x1="12" y1="8" x2="12.01" y2="8"></line>
                  </svg>
                  Domain Summary
                </h3>
              </div>
              <div class="card-content">
                <table class="data-table">
                  <tr>
                    <td><strong>Domain</strong></td>
                    <td id="overviewDomain">example.com</td>
                  </tr>
                  <tr>
                    <td><strong>IP Address</strong></td>
                    <td id="overviewIp">93.184.216.34</td>
                  </tr>
                  <tr>
                    <td><strong>Registrar</strong></td>
                    <td id="overviewRegistrar">ICANN</td>
                  </tr>
                  <tr>
                    <td><strong>Name Servers</strong></td>
                    <td id="overviewNameservers">ns1.example.com, ns2.example.com</td>
                  </tr>
                  <tr>
                    <td><strong>Creation Date</strong></td>
                    <td id="overviewCreated">1992-01-01</td>
                  </tr>
                  <tr>
                    <td><strong>Expiration Date</strong></td>
                    <td id="overviewExpiry">2030-01-01</td>
                  </tr>
                  <tr>
                    <td><strong>Status</strong></td>
                    <td id="overviewStatus">
                      <span class="badge badge-success">Active</span>
                    </td>
                  </tr>
                </table>
              </div>
            </div>
            
            <div class="card">
              <div class="card-header">
                <h3 class="card-title">
                  <svg class="card-icon" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
                    <rect x="2" y="3" width="20" height="14" rx="2" ry="2"></rect>
                    <line x1="8" y1="21" x2="16" y2="21"></line>
                    <line x1="12" y1="17" x2="12" y2="21"></line>
                  </svg>
                  Key DNS Records
                </h3>
              </div>
              <div class="card-content">
                <table class="data-table" id="aRecordsTable">
                  <tr>
                    <th>Host</th>
                    <th>IP Address</th>
                    <th>TTL</th>
                  </tr>
                  <!-- Table rows will be populated by JavaScript -->
                </table>
              </div>
            </div>
          </div>
          
          <!-- DNS Records Tab -->
          <div class="tab-content" id="recordsTab">
            <!-- Content will be dynamically generated -->
          </div>
          
          <!-- Propagation Tab -->
          <div class="tab-content" id="propagationTab">
            <div class="card">
              <div class="card-header">
                <h3 class="card-title">Global DNS Propagation</h3>
              </div>
              <div class="card-content">
                <div id="propagationMap" style="height: 400px; background-color: var(--apple-gray-50); border-radius: 12px; display: flex; align-items: center; justify-content: center; color: var(--apple-gray-300);">
                  DNS Propagation Map will be displayed here
                </div>
                
                <h3 style="margin: 24px 0 16px;">Propagation Timeline</h3>
                <div id="propagationTimeline">
                  <!-- Timeline items will be dynamically generated -->
                </div>
              </div>
            </div>
          </div>
          
          <!-- DNS Health Tab -->
          <div class="tab-content" id="healthTab">
            <div class="card">
              <div class="card-header">
                <h3 class="card-title">DNS Health Check</h3>
              </div>
              <div class="card-content">
                <table class="data-table" id="healthTable">
                  <tr>
                    <th>Test</th>
                    <th>Status</th>
                    <th>Details</th>
                  </tr>
                  <!-- Table rows will be populated by JavaScript -->
                </table>
              </div>
            </div>
          </div>
          
          <!-- DNS Trace Tab -->
          <div class="tab-content" id="traceTab">
            <div class="card">
              <div class="card-header">
                <h3 class="card-title">DNS Trace</h3>
              </div>
              <div class="card-content">
                <table class="data-table" id="traceTable">
                  <tr>
                    <th>Step</th>
                    <th>Server</th>
                    <th>Response</th>
                  </tr>
                  <!-- Table rows will be populated by JavaScript -->
                </table>
              </div>
            </div>
          </div>
          
          <!-- History Tab -->
          <div class="tab-content" id="historyTab">
            <div class="card">
              <div class="card-header">
                <h3 class="card-title">DNS History</h3>
              </div>
              <div class="card-content">
                <table class="data-table" id="historyTable">
                  <tr>
                    <th>Date</th>
                    <th>Change</th>
                    <th>Details</th>
                  </tr>
                  <!-- Table rows will be populated by JavaScript -->
                </table>
              </div>
            </div>
          </div>
        </div>
      </div>
    </div>
  </section>

  <!-- Features Section -->
  <section class="features" id="tools">
    <div class="container">
      <div class="features-title"><h2>Free DNS, Email &amp; Network Tools</h2></div>
      <p style="text-align:center;max-width:60rem;margin:-1rem auto 3rem;color:var(--apple-gray-400);">Every tool runs live in your browser &mdash; no sign-up, no limits. Pick one to get started.</p>
      <h3 style="font-size:2rem;margin:3.2rem 0 1.6rem;">DNS records & lookups</h3>
      <div class="related-tools">
        <a href="/dns-lookup/"><div class="rt-title">DNS Lookup</div><div class="rt-desc">A, AAAA, MX, TXT, NS, SOA, CAA…</div></a>
        <a href="/reverse-dns-lookup/"><div class="rt-title">Reverse DNS</div><div class="rt-desc">IP address → hostname (PTR)</div></a>
        <a href="/cname-lookup/"><div class="rt-title">CNAME Lookup</div><div class="rt-desc">Follow the full alias chain</div></a>
        <a href="/srv-lookup/"><div class="rt-title">SRV Lookup</div><div class="rt-desc">Service records (SIP, XMPP…)</div></a>
        <a href="/caa-lookup/"><div class="rt-title">CAA Lookup</div><div class="rt-desc">Which CAs may issue certs</div></a>
        <a href="/bulk-dns-lookup/"><div class="rt-title">Bulk DNS Lookup</div><div class="rt-desc">Many domains at once + CSV</div></a>
      </div>
      <h3 style="font-size:2rem;margin:3.2rem 0 1.6rem;">Propagation, health & speed</h3>
      <div class="related-tools">
        <a href="/dns-propagation-checker/"><div class="rt-title">DNS Propagation</div><div class="rt-desc">Compare answers worldwide</div></a>
        <a href="/dns-health-check/"><div class="rt-title">DNS Health Check</div><div class="rt-desc">Full domain diagnostic report</div></a>
        <a href="/dnssec-check/"><div class="rt-title">DNSSEC Check</div><div class="rt-desc">Validation & chain of trust</div></a>
        <a href="/dns-speed-test/"><div class="rt-title">DNS Speed Test</div><div class="rt-desc">Fastest resolver for you</div></a>
      </div>
      <h3 style="font-size:2rem;margin:3.2rem 0 1.6rem;">Email & deliverability</h3>
      <div class="related-tools">
        <a href="/email-security-scorecard/"><div class="rt-title">Email Security Scorecard</div><div class="rt-desc">One A–F grade for your email</div></a>
        <a href="/email-security-check/"><div class="rt-title">Email Security Check</div><div class="rt-desc">Audit SPF, DKIM & DMARC</div></a>
        <a href="/mx-lookup/"><div class="rt-title">MX Lookup</div><div class="rt-desc">Mail servers & priorities</div></a>
        <a href="/spf-generator/"><div class="rt-title">SPF Generator</div><div class="rt-desc">Build a valid SPF record</div></a>
        <a href="/spf-flattener/"><div class="rt-title">SPF Flattener</div><div class="rt-desc">Beat the 10-lookup limit</div></a>
        <a href="/dmarc-generator/"><div class="rt-title">DMARC Generator</div><div class="rt-desc">Create a DMARC policy</div></a>
        <a href="/dmarc-report-analyzer/"><div class="rt-title">DMARC Report Analyzer</div><div class="rt-desc">Read aggregate (RUA) XML</div></a>
        <a href="/email-header-analyzer/"><div class="rt-title">Email Header Analyzer</div><div class="rt-desc">Trace delivery & auth</div></a>
        <a href="/blacklist-check/"><div class="rt-title">Blacklist Check</div><div class="rt-desc">Is your IP on a DNSBL?</div></a>
        <a href="/bimi-check/"><div class="rt-title">BIMI Checker</div><div class="rt-desc">Brand logo in the inbox</div></a>
        <a href="/mta-sts-check/"><div class="rt-title">MTA-STS Checker</div><div class="rt-desc">Enforce inbound mail TLS</div></a>
        <a href="/tls-rpt-check/"><div class="rt-title">TLS-RPT Checker</div><div class="rt-desc">SMTP TLS reporting</div></a>
      </div>
      <h3 style="font-size:2rem;margin:3.2rem 0 1.6rem;">Domain, IP & utilities</h3>
      <div class="related-tools">
        <a href="/whois-lookup/"><div class="rt-title">WHOIS Lookup</div><div class="rt-desc">Registration & ownership</div></a>
        <a href="/ip-lookup/"><div class="rt-title">IP Lookup</div><div class="rt-desc">Geolocation, ASN, rDNS</div></a>
        <a href="/subnet-calculator/"><div class="rt-title">Subnet Calculator</div><div class="rt-desc">CIDR, mask & host range</div></a>
        <a href="/ip-converter/"><div class="rt-title">IP Converter</div><div class="rt-desc">Decimal, hex, binary, IPv6</div></a>
        <a href="/punycode-converter/"><div class="rt-title">Punycode / IDN</div><div class="rt-desc">Unicode ⇄ xn-- domains</div></a>
        <a href="/widget/"><div class="rt-title">DNS Widget</div><div class="rt-desc">Embed lookups on your site</div></a>
      </div>
    </div>
  </section>

  <!-- DNS Records Encyclopedia Section -->
  <section class="encyclopedia" id="encyclopedia">
    <div class="container">
      <h2 class="text-center mb-5">DNS Records Encyclopedia</h2>
      <p class="text-center mb-4" style="max-width: 80rem; margin-left: auto; margin-right: auto; color: var(--apple-gray-400);">Comprehensive explanations of all DNS record types with real-world examples and best practices.</p>
      
      <div class="records-list">
        <div class="record-card">
          <h3 class="record-name">A Record</h3>
          <p class="record-description">Maps a domain name to an IPv4 address.</p>
          <a href="/dns-records-encyclopedia/#a-record" class="button button-secondary">Learn More</a>
        </div>

        <div class="record-card">
          <h3 class="record-name">AAAA Record</h3>
          <p class="record-description">Maps a domain name to an IPv6 address.</p>
          <a href="/dns-records-encyclopedia/#aaaa-record" class="button button-secondary">Learn More</a>
        </div>

        <div class="record-card">
          <h3 class="record-name">CNAME Record</h3>
          <p class="record-description">Creates an alias from one domain to another.</p>
          <a href="/dns-records-encyclopedia/#cname-record" class="button button-secondary">Learn More</a>
        </div>

        <div class="record-card">
          <h3 class="record-name">MX Record</h3>
          <p class="record-description">Specifies mail servers responsible for accepting email.</p>
          <a href="/dns-records-encyclopedia/#mx-record" class="button button-secondary">Learn More</a>
        </div>

        <div class="record-card">
          <h3 class="record-name">TXT Record</h3>
          <p class="record-description">Stores text information for various purposes including SPF, DKIM, etc.</p>
          <a href="/dns-records-encyclopedia/#txt-record" class="button button-secondary">Learn More</a>
        </div>

        <div class="record-card">
          <h3 class="record-name">NS Record</h3>
          <p class="record-description">Delegates a DNS zone to authoritative name servers.</p>
          <a href="/dns-records-encyclopedia/#ns-record" class="button button-secondary">Learn More</a>
        </div>

        <div class="record-card">
          <h3 class="record-name">SOA Record</h3>
          <p class="record-description">Contains administrative information about the DNS zone.</p>
          <a href="/dns-records-encyclopedia/#soa-record" class="button button-secondary">Learn More</a>
        </div>

        <div class="record-card">
          <h3 class="record-name">DNSKEY Record</h3>
          <p class="record-description">Contains public keys used for DNSSEC authentication.</p>
          <a href="/dns-records-encyclopedia/#dnskey-record" class="button button-secondary">Learn More</a>
        </div>
      </div>
    </div>
  </section>

  <!-- FAQ Section -->
  <section class="faq" id="faq">
    <div class="container">
      <h2 class="faq-title">Frequently Asked Questions</h2>
      
      <div class="accordion">
        <div class="accordion-item">
          <div class="accordion-header">
            <h3 class="accordion-title">How does DNS propagation work?</h3>
            <svg class="accordion-icon" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
              <polyline points="6 9 12 15 18 9"></polyline>
            </svg>
          </div>
          <div class="accordion-content">
            <p>DNS propagation is the time it takes for DNS changes to be updated across all DNS servers worldwide. When you make changes to your domain's DNS records, these changes need to propagate through the DNS hierarchy. The time this takes depends on the TTL (Time To Live) values of your DNS records and how frequently DNS servers refresh their cache.</p>
            <p>Typically, propagation can take anywhere from a few minutes to 48 hours, with most changes being visible within 24 hours. You can use our DNS Propagation Checker to monitor the status of your DNS updates across global nameservers in real-time.</p>
          </div>
        </div>
        
        <div class="accordion-item">
          <div class="accordion-header">
            <h3 class="accordion-title">What is DNSSEC and why is it important?</h3>
            <svg class="accordion-icon" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
              <polyline points="6 9 12 15 18 9"></polyline>
            </svg>
          </div>
          <div class="accordion-content">
            <p>DNSSEC (Domain Name System Security Extensions) is a security protocol that adds an additional layer of authentication to DNS. It works by digitally signing DNS data to ensure its authenticity. This helps protect against DNS spoofing, cache poisoning, and man-in-the-middle attacks.</p>
            <p>DNSSEC is important because it ensures that users reach the intended destinations when navigating the web, rather than malicious sites attempting to impersonate legitimate ones. While not mandatory, implementing DNSSEC is considered a best practice for enhancing domain security.</p>
          </div>
        </div>
        
        <div class="accordion-item">
          <div class="accordion-header">
            <h3 class="accordion-title">How do I fix "DNS server not responding" errors?</h3>
            <svg class="accordion-icon" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
              <polyline points="6 9 12 15 18 9"></polyline>
            </svg>
          </div>
          <div class="accordion-content">
            <p>When encountering "DNS server not responding" errors, try these troubleshooting steps:</p>
            <ol>
              <li>Restart your router and modem</li>
              <li>Flush your DNS cache (Command: ipconfig /flushdns on Windows)</li>
              <li>Temporarily disable your firewall and antivirus</li>
              <li>Try using alternative DNS servers (like Google's 8.8.8.8 and 8.8.4.4)</li>
              <li>Check if your ISP is experiencing DNS outages</li>
              <li>Test on different devices and networks to isolate the issue</li>
            </ol>
            <p>If the problem persists, use our DNS Health Check tool to diagnose potential issues with your domain's DNS configuration.</p>
          </div>
        </div>
        
        <div class="accordion-item">
          <div class="accordion-header">
            <h3 class="accordion-title">What's the difference between A, AAAA, and CNAME records?</h3>
            <svg class="accordion-icon" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
              <polyline points="6 9 12 15 18 9"></polyline>
            </svg>
          </div>
          <div class="accordion-content">
            <p><strong>A Record:</strong> Maps a domain name to an IPv4 address (e.g., example.com → 93.184.216.34)</p>
            <p><strong>AAAA Record:</strong> Maps a domain name to an IPv6 address (e.g., example.com → 2606:2800:220:1:248:1893:25c8:1946)</p>
            <p><strong>CNAME Record:</strong> Creates an alias from one domain to another (e.g., www.example.com → example.com). Unlike A/AAAA records, CNAME records point to another domain name, not an IP address.</p>
            <p>The key differences involve the type of destination (IP vs. domain) and the specific use cases. A/AAAA records are used for direct IP mapping, while CNAME records are useful for creating subdomains that mirror the main domain's DNS settings.</p>
          </div>
        </div>
        
        <div class="accordion-item">
          <div class="accordion-header">
            <h3 class="accordion-title">What are the optimal TTL settings for DNS records?</h3>
            <svg class="accordion-icon" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
              <polyline points="6 9 12 15 18 9"></polyline>
            </svg>
          </div>
          <div class="accordion-content">
            <p>The optimal TTL (Time To Live) settings for DNS records depend on your specific needs:</p>
            <ul>
              <li><strong>Standard operation:</strong> 3600-14400 seconds (1-4 hours) balances performance and flexibility</li>
              <li><strong>Planned changes:</strong> Lower to 300-900 seconds (5-15 minutes) at least 24 hours before making DNS changes</li>
              <li><strong>Critical infrastructure:</strong> 86400 seconds (24 hours) for stability, unless changes are anticipated</li>
              <li><strong>Load-balanced or highly dynamic environments:</strong> 60-300 seconds (1-5 minutes), though this increases DNS query load</li>
            </ul>
            <p>Consider your specific needs around propagation speed, caching benefits, and expected frequency of changes when setting TTL values.</p>
          </div>
        </div>
      </div>
    </div>
  </section>

  <!-- CTA Section -->
  <section class="cta">
    <div class="container">
      <h2 class="cta-title">Ready to optimize your DNS setup?</h2>
      <p class="cta-description">Use our professional-grade tools to analyze, troubleshoot, and secure your domain name infrastructure.</p>
      <a href="#tools" class="cta-button">Explore Tools</a>
    </div>
  </section>

  <!-- Footer -->
  <footer id="about">
    <div class="container">
      <div class="footer-columns">
        <div>
          <div class="footer-logo">QuickDNSCheck</div>
          <p class="footer-description">Free, fast, private DNS, email and network tools that run entirely in your browser. No sign-up, no limits.</p>
          <div class="dark-mode-toggle" id="darkModeToggle">
            <div class="toggle-track"><div class="toggle-thumb"></div></div>
            <span class="dark-mode-label">Dark Mode</span>
          </div>
        </div>
        <div>
          <h4 class="footer-column-title">DNS Tools</h4>
          <ul class="footer-links">
            <li class="footer-link"><a href="/dns-lookup/">DNS Lookup</a></li>
            <li class="footer-link"><a href="/reverse-dns-lookup/">Reverse DNS</a></li>
            <li class="footer-link"><a href="/cname-lookup/">CNAME Lookup</a></li>
            <li class="footer-link"><a href="/srv-lookup/">SRV Lookup</a></li>
            <li class="footer-link"><a href="/caa-lookup/">CAA Lookup</a></li>
            <li class="footer-link"><a href="/bulk-dns-lookup/">Bulk DNS Lookup</a></li>
            <li class="footer-link"><a href="/dns-propagation-checker/">DNS Propagation</a></li>
            <li class="footer-link"><a href="/dns-health-check/">DNS Health Check</a></li>
            <li class="footer-link"><a href="/dnssec-check/">DNSSEC Check</a></li>
            <li class="footer-link"><a href="/dns-speed-test/">DNS Speed Test</a></li>
          </ul>
        </div>
        <div>
          <h4 class="footer-column-title">Email Tools</h4>
          <ul class="footer-links">
            <li class="footer-link"><a href="/email-security-scorecard/">Email Scorecard</a></li>
            <li class="footer-link"><a href="/email-security-check/">Email Security Check</a></li>
            <li class="footer-link"><a href="/mx-lookup/">MX Lookup</a></li>
            <li class="footer-link"><a href="/spf-generator/">SPF Generator</a></li>
            <li class="footer-link"><a href="/spf-flattener/">SPF Flattener</a></li>
            <li class="footer-link"><a href="/dmarc-generator/">DMARC Generator</a></li>
            <li class="footer-link"><a href="/dmarc-report-analyzer/">DMARC Report Analyzer</a></li>
            <li class="footer-link"><a href="/email-header-analyzer/">Email Header Analyzer</a></li>
            <li class="footer-link"><a href="/blacklist-check/">Blacklist Check</a></li>
            <li class="footer-link"><a href="/bimi-check/">BIMI Checker</a></li>
            <li class="footer-link"><a href="/mta-sts-check/">MTA-STS Checker</a></li>
            <li class="footer-link"><a href="/tls-rpt-check/">TLS-RPT Checker</a></li>
          </ul>
        </div>
        <div>
          <h4 class="footer-column-title">IP, Utilities &amp; Guides</h4>
          <ul class="footer-links">
            <li class="footer-link"><a href="/whois-lookup/">WHOIS Lookup</a></li>
            <li class="footer-link"><a href="/ip-lookup/">IP Lookup</a></li>
            <li class="footer-link"><a href="/subnet-calculator/">Subnet Calculator</a></li>
            <li class="footer-link"><a href="/ip-converter/">IP Converter</a></li>
            <li class="footer-link"><a href="/punycode-converter/">Punycode / IDN</a></li>
            <li class="footer-link"><a href="/widget/">DNS Widget</a></li>
            <li class="footer-link"><a href="/dns-records-encyclopedia/">DNS Records Guide</a></li>
            <li class="footer-link"><a href="/dns-security-guide/">DNS Security Guide</a></li>
            <li class="footer-link"><a href="/dns-performance-optimization/">Performance Guide</a></li>
          </ul>
        </div>
      </div>
      <div class="footer-divider"></div>
      <div class="footer-bottom">
        <p class="copyright">&copy; 2025&ndash;2026 QuickDNSCheck. All rights reserved.</p>
        <div class="footer-bottom-links">
          <a href="/privacy-policy/" class="footer-bottom-link">Privacy</a>
          <a href="/terms-of-service/" class="footer-bottom-link">Terms</a>
          <a href="/cookie-policy/" class="footer-bottom-link">Cookies</a>
        </div>
      </div>
    </div>
  </footer>

  <!-- Toast Notification -->
  <div class="toast" id="toast">Copied to clipboard!</div>

  <!-- Email Results Modal -->
  <div class="modal" id="emailModal">
    <div class="modal-content">
      <div class="modal-header">
        <h3 class="modal-title">Email DNS Results</h3>
        <button class="modal-close" id="modalClose">
          <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
            <line x1="18" y1="6" x2="6" y2="18"></line>
            <line x1="6" y1="6" x2="18" y2="18"></line>
          </svg>
        </button>
      </div>
      <div class="modal-body">
        <form id="emailForm">
          <div class="form-group mb-3">
            <label for="emailInput">Email Address</label>
            <input type="email" id="emailInput" class="search-input" placeholder="[email protected]" required>
          </div>
          <div class="form-group mb-3">
            <label>Include Records</label>
            <div class="checkbox-group">
              <label class="checkbox-label">
                <input type="checkbox" name="record-types" value="a" checked> A Records
              </label>
              <label class="checkbox-label">
                <input type="checkbox" name="record-types" value="aaaa" checked> AAAA Records
              </label>
              <label class="checkbox-label">
                <input type="checkbox" name="record-types" value="cname" checked> CNAME Records
              </label>
              <label class="checkbox-label">
                <input type="checkbox" name="record-types" value="mx" checked> MX Records
              </label>
              <label class="checkbox-label">
                <input type="checkbox" name="record-types" value="ns" checked> NS Records
              </label>
              <label class="checkbox-label">
                <input type="checkbox" name="record-types" value="txt" checked> TXT Records
              </label>
              <label class="checkbox-label">
                <input type="checkbox" name="record-types" value="soa" checked> SOA Records
              </label>
            </div>
          </div>
          <div class="form-group mb-3">
            <label for="formatSelect">Report Format</label>
            <select id="formatSelect" class="search-input">
              <option value="html">HTML</option>
              <option value="pdf">PDF</option>
              <option value="csv">CSV</option>
              <option value="json">JSON</option>
            </select>
          </div>
          <div class="form-group">
            <label for="messageInput">Additional Notes (Optional)</label>
            <textarea id="messageInput" class="search-input" rows="3" placeholder="Add any notes or context for this DNS report..."></textarea>
          </div>
          <div class="modal-footer">
            <button type="submit" class="button button-primary">Send Report</button>
          </div>
        </form>
      </div>
    </div>
  </div>

  <script>
    // Tab switching functionality
    const tabButtons = document.querySelectorAll('.tab-button');
    const tabContents = document.querySelectorAll('.tab-content');
    
    tabButtons.forEach(button => {
      button.addEventListener('click', () => {
        const tabId = button.getAttribute('data-tab');
        
        tabButtons.forEach(btn => btn.classList.remove('active'));
        tabContents.forEach(content => content.classList.remove('active'));
        
        button.classList.add('active');
        document.getElementById(tabId + 'Tab').classList.add('active');
      });
    });
    
    // Record type buttons
    const recordTypeButtons = document.querySelectorAll('.record-type-button');
    
    recordTypeButtons.forEach(button => {
      button.addEventListener('click', () => {
        recordTypeButtons.forEach(btn => btn.classList.remove('active'));
        button.classList.add('active');
      });
    });
    
    // DNS Form Submission
    const dnsForm = document.getElementById('dnsForm');
    const resultsSection = document.getElementById('resultsSection');
    
    dnsForm.addEventListener('submit', async (e) => {
      e.preventDefault();
      
      const domainInput = document.getElementById('domainInput');
      const domain = domainInput.value.trim();
      
      if (!domain) return;
      
      // Show loading state
      const searchButtonText = document.getElementById('searchButtonText');
      const searchButtonLoading = document.getElementById('searchButtonLoading');
      
      searchButtonText.style.display = 'none';
      searchButtonLoading.style.display = 'inline-block';
      
      try {
        // In a real application, fetch data from DNS API here
        // For demo purposes, we'll simulate API response with a timeout
        await new Promise(resolve => setTimeout(resolve, 1500));
        
        // Update domain information
        document.getElementById('resultDomainName').textContent = domain;
        document.getElementById('overviewDomain').textContent = domain;
        document.getElementById('lastUpdatedTime').textContent = new Date().toLocaleTimeString();
        
        // Show results section
        resultsSection.classList.add('show');
        
        // Scroll to results
        resultsSection.scrollIntoView({ behavior: 'smooth' });
      } catch (error) {
        console.error('DNS lookup failed:', error);
        // Display error message
      } finally {
        // Reset loading state
        searchButtonText.style.display = 'inline-block';
        searchButtonLoading.style.display = 'none';
      }
    });
    
    // Refresh button
    const refreshButton = document.getElementById('refreshButton');
    
    refreshButton.addEventListener('click', () => {
      document.getElementById('lastUpdatedTime').textContent = new Date().toLocaleTimeString();
      
      // Show toast notification
      showToast('DNS information refreshed');
    });
    
    // Toast notification
    function showToast(message) {
      const toast = document.getElementById('toast');
      toast.textContent = message;
      toast.classList.add('show');
      
      setTimeout(() => {
        toast.classList.remove('show');
      }, 3000);
    }
    
    // Accordion functionality
    const accordionItems = document.querySelectorAll('.accordion-item');
    
    accordionItems.forEach(item => {
      const header = item.querySelector('.accordion-header');
      const content = item.querySelector('.accordion-content');
      
      header.addEventListener('click', () => {
        // Close all other accordion items
        accordionItems.forEach(otherItem => {
          if (otherItem !== item) {
            otherItem.classList.remove('active');
            otherItem.querySelector('.accordion-content').classList.remove('show');
          }
        });
        
        // Toggle current accordion item
        item.classList.toggle('active');
        content.classList.toggle('show');
      });
    });
    
    // Dark mode toggle
    const darkModeToggle = document.getElementById('darkModeToggle');
    const body = document.body;
    const prefersDarkMode = window.matchMedia('(prefers-color-scheme: dark)').matches;
    
    // Initialize dark mode based on user preference
    if (prefersDarkMode) {
      enableDarkMode();
    }
    
    darkModeToggle.addEventListener('click', () => {
      if (darkModeToggle.classList.contains('active')) {
        disableDarkMode();
      } else {
        enableDarkMode();
      }
    });
    
    function enableDarkMode() {
      darkModeToggle.classList.add('active');
      body.classList.add('dark-mode');
      localStorage.setItem('darkMode', 'enabled');
    }
    
    function disableDarkMode() {
      darkModeToggle.classList.remove('active');
      body.classList.remove('dark-mode');
      localStorage.setItem('darkMode', 'disabled');
    }
    
    // Check local storage for dark mode preference
    if (localStorage.getItem('darkMode') === 'enabled') {
      enableDarkMode();
    }
    
    // Language switcher (simplified for demo)
    const languageSwitcher = document.getElementById('languageSwitcher');
    
    languageSwitcher.addEventListener('click', () => {
      // In a real application, show a dropdown with available languages
      showToast('Language options would appear here');
    });
    
    // Simulate populating tables with sample data
    // In a real application, this would come from API responses
    function populateSampleData() {
      // A Records Table
      const aRecordsTable = document.getElementById('aRecordsTable');
      const aRecords = [
        { host: 'example.com', ip: '93.184.216.34', ttl: '3600' },
        { host: 'www.example.com', ip: '93.184.216.34', ttl: '3600' }
      ];
      
      aRecords.forEach(record => {
        const row = document.createElement('tr');
        row.innerHTML = `
          <td>${record.host}</td>
          <td>${record.ip}</td>
          <td>${record.ttl}</td>
        `;
        aRecordsTable.appendChild(row);
      });
      
      // DNS Health Table
      const healthTable = document.getElementById('healthTable');
      const healthChecks = [
        { test: 'DNSSEC', status: '<span class="badge badge-success">Enabled</span>', details: 'DNSSEC is properly configured.' },
        { test: 'Response Time', status: '<span class="badge badge-info">Good</span>', details: 'Average response time: 42ms' },
        { test: 'Name Servers', status: '<span class="badge badge-success">Pass</span>', details: 'At least 2 name servers are configured.' },
        { test: 'CAA Records', status: '<span class="badge badge-warning">Missing</span>', details: 'CAA records are recommended for SSL/TLS certificates.' },
        { test: 'Zone Transfer', status: '<span class="badge badge-success">Secure</span>', details: 'Zone transfers are properly restricted.' }
      ];
      
      healthChecks.forEach(check => {
        const row = document.createElement('tr');
        row.innerHTML = `
          <td>${check.test}</td>
          <td>${check.status}</td>
          <td>${check.details}</td>
        `;
        healthTable.appendChild(row);
      });
      
      // DNS Trace Table
      const traceTable = document.getElementById('traceTable');
      const traceSteps = [
        { step: '1', server: 'Root Nameserver', response: 'Referral to .com nameservers' },
        { step: '2', server: '.com Nameserver', response: 'Referral to example.com nameservers' },
        { step: '3', server: 'ns1.example.com', response: 'Authoritative response with A record' }
      ];
      
      traceSteps.forEach(step => {
        const row = document.createElement('tr');
        row.innerHTML = `
          <td>${step.step}</td>
          <td>${step.server}</td>
          <td>${step.response}</td>
        `;
        traceTable.appendChild(row);
      });
      
      // History Table
      const historyTable = document.getElementById('historyTable');
      const historyEntries = [
        { date: '2023-07-15', change: 'A Record Updated', details: 'IP changed from 93.184.216.33 to 93.184.216.34' },
        { date: '2023-06-20', change: 'MX Record Added', details: 'Added mail.example.com with priority 10' },
        { date: '2023-05-10', change: 'TXT Record Updated', details: 'Updated SPF record with new sending servers' }
      ];
      
      historyEntries.forEach(entry => {
        const row = document.createElement('tr');
        row.innerHTML = `
          <td>${entry.date}</td>
          <td>${entry.change}</td>
          <td>${entry.details}</td>
        `;
        historyTable.appendChild(row);
      });
      
      // Propagation Timeline
      const propagationTimeline = document.getElementById('propagationTimeline');
      propagationTimeline.innerHTML = `
        <div style="border-left: 2px solid var(--apple-gray-200); padding-left: 20px; margin-left: 10px;">
          <div style="position: relative; margin-bottom: 24px;">
            <div style="position: absolute; left: -31px; top: 0; width: 20px; height: 20px; background-color: var(--apple-green); border-radius: 50%;"></div>
            <div style="background-color: var(--apple-white); border-radius: 12px; padding: 16px; box-shadow: 0 4px 12px var(--apple-shadow);">
              <h4 style="font-size: 16px; margin-bottom: 8px;">DNS Update Complete</h4>
              <p style="font-size: 14px; color: var(--apple-gray-400);">All global DNS servers have updated records.</p>
              <p style="font-size: 12px; color: var(--apple-gray-300); margin-top: 8px;">10 minutes ago</p>
            </div>
          </div>
          
          <div style="position: relative; margin-bottom: 24px;">
            <div style="position: absolute; left: -31px; top: 0; width: 20px; height: 20px; background-color: var(--apple-blue); border-radius: 50%;"></div>
            <div style="background-color: var(--apple-white); border-radius: 12px; padding: 16px; box-shadow: 0 4px 12px var(--apple-shadow);">
              <h4 style="font-size: 16px; margin-bottom: 8px;">Propagation at 75%</h4>
              <p style="font-size: 14px; color: var(--apple-gray-400);">DNS records updated on 75% of global servers.</p>
              <p style="font-size: 12px; color: var(--apple-gray-300); margin-top: 8px;">25 minutes ago</p>
            </div>
          </div>
          
          <div style="position: relative;">
            <div style="position: absolute; left: -31px; top: 0; width: 20px; height: 20px; background-color: var(--apple-blue); border-radius: 50%;"></div>
            <div style="background-color: var(--apple-white); border-radius: 12px; padding: 16px; box-shadow: 0 4px 12px var(--apple-shadow);">
              <h4 style="font-size: 16px; margin-bottom: 8px;">DNS Change Initiated</h4>
              <p style="font-size: 14px; color: var(--apple-gray-400);">A record for example.com updated to 93.184.216.34.</p>
              <p style="font-size: 12px; color: var(--apple-gray-300); margin-top: 8px;">45 minutes ago</p>
            </div>
          </div>
        </div>
      `;
    }
    
    // Call function to populate sample data
    populateSampleData();
  </script>

  <!-- External JavaScript files -->
  <script src="js/dns-lookup.js"></script>
  <script src="js/dark-mode.js"></script>
  <script src="js/language-switcher.js"></script>
</body>
</html>

Latest requests

# Url Url Source Date
1 https://quickdnscheck.com/ 2026-10-16 14:44:26
2 https://www.klassika.info/ 2026-10-16 14:44:26
3 https://tohuandkonsome.site/index.… 2026-10-16 14:44:26
4 https://extremeabandarmwheel.com/ 2026-10-16 14:44:26
5 https://www.texarkanatwins.com/%25… 2026-10-16 14:44:25
6 https://www.thebolditalic.com/?gi=… 2026-10-16 14:44:24
7 https://www.thebolditalic.com/?gi=… 2026-10-16 14:44:24
8 https://www.thebolditalic.com/?gi=… 2026-10-16 14:44:24
9 https://www.quicket.com/ 2026-10-16 14:44:23
10 https://auth.mediacorp.sg/u/login?… 2026-10-16 14:44:23
11 https://www.paddingtonmassagestudi… 2026-10-16 14:44:22
12 https://www.thebolditalic.com/?gi=… 2026-10-16 14:44:22
13 https://cornstalks975bob9.wizzards… 2026-10-16 14:44:22
14 https://prazdnik.neolove.ru/%22%3B… 2026-10-16 14:44:21
15 https://www.texarkanatwins.com/%25… 2026-10-16 14:44:20
16 https://www.texarkanatwins.com/%25… 2026-10-16 14:44:19
17 https://www.texarkanatwins.com/&qu… 2026-10-16 14:44:19
18 https://www.texarkanatwins.com/%25… 2026-10-16 14:44:18
19 https://www.thebolditalic.com/?gi=… 2026-10-16 14:44:18
20 https://www.texarkanatwins.com/%25… 2026-10-16 14:44:18