{"id":565,"date":"2025-05-22T22:46:47","date_gmt":"2025-05-22T22:46:47","guid":{"rendered":"https:\/\/vekaratheelf.com\/?page_id=565"},"modified":"2025-05-22T22:48:03","modified_gmt":"2025-05-22T22:48:03","slug":"your-very-own-elf-name","status":"publish","type":"page","link":"https:\/\/vekaratheelf.com\/index.php\/your-very-own-elf-name\/","title":{"rendered":"Your very own Elf name"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"565\" class=\"elementor elementor-565\">\n\t\t\t\t<div class=\"elementor-element elementor-element-05db071 e-flex e-con-boxed e-con e-parent\" data-id=\"05db071\" data-element_type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-0ebbbc4 elementor-widget elementor-widget-html\" data-id=\"0ebbbc4\" data-element_type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<!-- GOOGLE FONT -->\n<link href=\"https:\/\/fonts.googleapis.com\/css2?family=Mountains+of+Christmas&display=swap\" rel=\"stylesheet\">\n\n<!-- STYLES -->\n<style>\n  .elf-generator * {\n    font-family: 'Mountains of Christmas', cursive;\n    box-sizing: border-box;\n  }\n\n  .elf-generator {\n    position: relative;\n    text-align: center;\n    padding: 50px 20px;\n    background: url('https:\/\/vekaratheelf.com\/wp-content\/uploads\/2025\/04\/cropped-IMG_0049-1.jpg') center\/cover no-repeat;\n    border-radius: 20px;\n    box-shadow: 0 4px 12px rgba(0,0,0,0.25);\n    overflow: hidden;\n    min-height: 100vh;\n  }\n\n  .elf-generator::before {\n    content: \"\";\n    position: absolute;\n    top: 0; left: 0; right: 0; bottom: 0;\n    background: rgba(0, 0, 0, 0.65); \/* darker for better readability *\/\n    border-radius: 20px;\n    z-index: 0;\n  }\n\n  .elf-generator > * {\n    position: relative;\n    z-index: 1;\n  }\n\n  .elf-generator h2 {\n    font-size: 3rem;\n    color: #ffe600;\n    margin-bottom: 10px;\n    text-shadow: 3px 3px 6px rgba(0,0,0,0.9);\n  }\n\n  .elf-generator .logo {\n    max-width: 100px;\n    margin: 0 auto 20px;\n  }\n\n  .elf-generator .intro {\n    font-size: 1.2rem;\n    margin: 0 auto 30px;\n    background: rgba(255, 255, 255, 0.95);\n    color: #111;\n    max-width: 600px;\n    padding: 15px 30px;\n    border-radius: 12px;\n    box-shadow: 2px 2px 8px rgba(0,0,0,0.5);\n  }\n\n  .elf-box {\n    background: rgba(255, 255, 255, 0.98);\n    border-radius: 12px;\n    padding: 40px 20px;\n    max-width: 500px;\n    margin: 0 auto;\n    color: #000;\n    border: 2px solid #b71c1c;\n    box-shadow: 0 8px 20px rgba(0,0,0,0.4);\n  }\n\n  .elf-box input {\n    font-size: 1.1rem;\n    padding: 10px;\n    width: 80%;\n    margin-bottom: 15px;\n    border-radius: 10px;\n    border: 2px solid #388e3c;\n  }\n\n  .elf-box button {\n    font-size: 1.2rem;\n    padding: 10px 25px;\n    margin: 10px 5px;\n    border: none;\n    background: #c62828;\n    color: #fff;\n    border-radius: 10px;\n    cursor: pointer;\n    transition: background 0.3s ease;\n    box-shadow: 0 4px 8px rgba(0,0,0,0.3);\n  }\n\n  .elf-box button:hover {\n    background: #8e0000;\n  }\n\n  .elf-name {\n    font-size: 2rem;\n    margin-top: 20px;\n    color: #2e7d32;\n    text-shadow: 1px 1px 2px rgba(255, 255, 255, 0.7);\n  }\n\n  .sparkles {\n    font-size: 1.5rem;\n    color: #ffd700;\n    text-shadow: 1px 1px 2px rgba(0,0,0,0.6);\n  }\n\n  @media print {\n    body * {\n      visibility: hidden !important;\n    }\n    .elf-box, .elf-box * {\n      visibility: visible !important;\n    }\n    .elf-box {\n      position: absolute;\n      top: 0;\n      left: 0;\n    }\n  }\n\n  #snowCanvas {\n    position: absolute;\n    top: 0;\n    left: 0;\n    pointer-events: none;\n    width: 100%;\n    height: 100%;\n    z-index: 0;\n  }\n<\/style>\n\n<!-- ELF NAME GENERATOR CONTAINER -->\n<div class=\"elf-generator\">\n  <img decoding=\"async\" src=\"https:\/\/vekaratheelf.com\/wp-content\/uploads\/2025\/04\/cropped-cropped-VEKARA-LOGO-1.png\" alt=\"Vekara the Elf Logo\" class=\"logo\" \/>\n  <canvas id=\"snowCanvas\"><\/canvas>\n\n  <h2>\ud83c\udf84 Discover Your Elf Name! \ud83c\udf84<\/h2>\n\n  <div class=\"intro\">\n    Vekara the Elf has a magical way to name every child who visits the North Pole. What\u2019s your elf name?\n  <\/div>\n\n  <div class=\"elf-box\">\n    <p>Type your name below:<\/p>\n    <input type=\"text\" id=\"childNameInput\" placeholder=\"Your first name...\" \/>\n    <br \/>\n    <button onclick=\"generateElfName()\">Generate Elf Name<\/button>\n    <button onclick=\"window.print()\">Save \/ Print<\/button>\n    <div class=\"elf-name\" id=\"elfNameDisplay\"><\/div>\n    <div class=\"sparkles\" id=\"sparkles\"><\/div>\n  <\/div>\n<\/div>\n\n<!-- SCRIPT -->\n<script>\n  const firstNames = [\n    \"Jingle\", \"Sparkle\", \"Tinsel\", \"Peppermint\", \"Merry\",\n    \"Holly\", \"Frosty\", \"Cookie\", \"Twinkle\", \"Ginger\"\n  ];\n\n  const lastNames = [\n    \"McSnowball\", \"Twinkletree\", \"Candycane\", \"Fluffbottom\", \"Mittens\",\n    \"Sugarplum\", \"Icicletoes\", \"Evergreen\", \"Snowflake\", \"Pudding\"\n  ];\n\n  function generateElfName() {\n    const userName = document.getElementById(\"childNameInput\").value.trim();\n    const first = firstNames[Math.floor(Math.random() * firstNames.length)];\n    const last = lastNames[Math.floor(Math.random() * lastNames.length)];\n    const fullName = `${first} ${last}`;\n    const personalized = userName ? `${userName}'s Elf Name is: ${fullName}` : `Your Elf Name is: ${fullName}`;\n    document.getElementById(\"elfNameDisplay\").textContent = personalized;\n    document.getElementById(\"sparkles\").textContent = \"\u2728\u2728\u2728\";\n  }\n\n  \/\/ Snowfall animation\n  const canvas = document.getElementById(\"snowCanvas\");\n  const ctx = canvas.getContext(\"2d\");\n  let width, height;\n  let snowflakes = [];\n\n  function resize() {\n    width = canvas.width = canvas.offsetWidth;\n    height = canvas.height = canvas.offsetHeight;\n  }\n\n  function createSnowflakes() {\n    const count = 100;\n    snowflakes = [];\n    for (let i = 0; i < count; i++) {\n      snowflakes.push({\n        x: Math.random() * width,\n        y: Math.random() * height,\n        r: Math.random() * 4 + 1,\n        d: Math.random() + 1\n      });\n    }\n  }\n\n  function drawSnowflakes() {\n    ctx.clearRect(0, 0, width, height);\n    ctx.fillStyle = \"white\";\n    ctx.beginPath();\n    for (let flake of snowflakes) {\n      ctx.moveTo(flake.x, flake.y);\n      ctx.arc(flake.x, flake.y, flake.r, 0, Math.PI * 2, true);\n    }\n    ctx.fill();\n    moveSnowflakes();\n  }\n\n  function moveSnowflakes() {\n    for (let flake of snowflakes) {\n      flake.y += flake.d;\n      if (flake.y > height) {\n        flake.y = 0;\n        flake.x = Math.random() * width;\n      }\n    }\n  }\n\n  function animateSnow() {\n    drawSnowflakes();\n    requestAnimationFrame(animateSnow);\n  }\n\n  window.addEventListener(\"resize\", () => {\n    resize();\n    createSnowflakes();\n  });\n\n  setTimeout(() => {\n    resize();\n    createSnowflakes();\n    animateSnow();\n  }, 100);\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>\ud83c\udf84 Discover Your Elf Name! \ud83c\udf84 Vekara the Elf has a magical way to name every child who visits the North Pole. What\u2019s your elf name? Type your name below: Generate Elf Name Save \/ Print<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_header_footer","meta":{"footnotes":""},"class_list":["post-565","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/vekaratheelf.com\/index.php\/wp-json\/wp\/v2\/pages\/565","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/vekaratheelf.com\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/vekaratheelf.com\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/vekaratheelf.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/vekaratheelf.com\/index.php\/wp-json\/wp\/v2\/comments?post=565"}],"version-history":[{"count":23,"href":"https:\/\/vekaratheelf.com\/index.php\/wp-json\/wp\/v2\/pages\/565\/revisions"}],"predecessor-version":[{"id":590,"href":"https:\/\/vekaratheelf.com\/index.php\/wp-json\/wp\/v2\/pages\/565\/revisions\/590"}],"wp:attachment":[{"href":"https:\/\/vekaratheelf.com\/index.php\/wp-json\/wp\/v2\/media?parent=565"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}