{"id":887,"date":"2026-10-04T12:22:18","date_gmt":"2026-10-04T12:22:18","guid":{"rendered":"https:\/\/vera-island.com\/?page_id=887"},"modified":"2026-10-04T20:21:37","modified_gmt":"2026-10-04T20:21:37","slug":"aurora-forecast","status":"publish","type":"page","link":"https:\/\/vera-island.com\/zh\/aurora-forecast\/","title":{"rendered":"\u6975\u5149\u9810\u5831"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"887\" class=\"elementor elementor-887\">\n\t\t\t\t<div class=\"elementor-element elementor-element-d1783c6 e-con e-atomic-element e-flexbox-base e-default-div e-076424d \" data-id=\"d1783c6\" data-element_type=\"e-flexbox\" data-e-type=\"e-flexbox\" data-interaction-id=\"d1783c6\">\n    \t\t\t<h2 data-interaction-id=\"81f9163\" class=\"e-81f9163-e2a6557 e-heading-base e-default-h2\">ICELAND<\/h2>\n\t\t\t\t\t<h2 data-interaction-id=\"79ca6f5\" class=\"e-79ca6f5-6444e14 e-heading-base e-default-h2\">AURORA FORECAST<\/h2>\n\t\t\t\t\t<p class=\"e-119ede7-fb9c421 e-paragraph-base e-default-p\" data-interaction-id=\"119ede7\">Plan your Northern Lights experience with live solar activity,<br>clout and coverage and darkness forecasts across Iceland<\/p>\n\t\t\n<\/div>\n<div class=\"elementor-element elementor-element-f1f9668 e-con e-atomic-element e-flexbox-base e-default-div e-8c22d5e \" data-id=\"f1f9668\" data-element_type=\"e-flexbox\" data-e-type=\"e-flexbox\" data-interaction-id=\"f1f9668\">\n    \t\t<div class=\"elementor-element elementor-element-c35e458 elementor-widget__width-initial elementor-widget-mobile__width-inherit elementor-widget elementor-widget-html\" data-id=\"c35e458\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<style>\n\n\/* =========================================================\n   VERA ISLAND \u2014 TONIGHT IN ICELAND\n   ========================================================= *\/\n\n.vera-aurora-tonight {\n    width: 100%;\n    font-family: Arial, Helvetica, sans-serif;\n    color: #ffffff;\n}\n\n\n\/* =========================================================\n   SECTION TITLE\n   ========================================================= *\/\n\n.vera-section-title {\n    font-size: 26px;\n    line-height: 1.2;\n    letter-spacing: 4px;\n    font-weight: 400;\n    margin: 0 0 10px 0;\n    color: #ffffff;\n}\n\n.vera-date {\n    font-size: 12px;\n    letter-spacing: 2px;\n    color: #8c9493;\n    margin-bottom: 30px;\n}\n\n\n\/* =========================================================\n   MAIN CARD\n   ========================================================= *\/\n\n.vera-tonight-card {\n\n    width: 100%;\n\n    box-sizing: border-box;\n\n    display: grid;\n\n    grid-template-columns:\n        minmax(250px, 32%)\n        minmax(0, 1fr);\n\n    gap: 45px;\n\n    padding: 36px 42px;\n\n    background:\n        linear-gradient(\n            120deg,\n            rgba(7, 12, 12, 0.98),\n            rgba(7, 11, 11, 0.94)\n        );\n\n    border:\n        1px solid rgba(255,255,255,0.12);\n\n    border-radius: 8px;\n\n    box-shadow:\n        0 25px 60px\n        rgba(0,0,0,0.28);\n\n    overflow: hidden;\n}\n\n\n\/* =========================================================\n   LEFT \u2014 SCORE\n   ========================================================= *\/\n\n.vera-score-area {\n\n    min-height: 230px;\n\n    display: flex;\n\n    align-items: center;\n\n    justify-content: center;\n\n    border-right:\n        1px solid rgba(255,255,255,0.11);\n\n    padding-right: 42px;\n}\n\n\n\/* =========================================================\n   DYNAMIC GAUGE\n   ========================================================= *\/\n\n.vera-score-circle {\n\n    width: 190px;\n    height: 190px;\n\n    flex: 0 0 190px;\n\n    border-radius: 50%;\n\n    position: relative;\n\n    display: flex;\n\n    flex-direction: column;\n\n    align-items: center;\n\n    justify-content: center;\n\n    isolation: isolate;\n\n    --score: 0;\n    --score-color: #707979;\n}\n\n\n\/*\n   Gauge:\n   270\u00b0 usable arc\n   90\u00b0 opening at bottom\n*\/\n\n.vera-score-circle::before {\n\n    content: \"\";\n\n    position: absolute;\n\n    inset: 0;\n\n    border-radius: 50%;\n\n    background:\n\n        conic-gradient(\n\n            from 135deg,\n\n            var(--score-color) 0deg,\n\n            var(--score-color)\n            calc(var(--score) * 2.7deg),\n\n            rgba(255,255,255,0.12)\n            calc(var(--score) * 2.7deg),\n\n            rgba(255,255,255,0.12)\n            270deg,\n\n            transparent 270deg,\n\n            transparent 360deg\n\n        );\n\n\n    -webkit-mask:\n\n        radial-gradient(\n\n            farthest-side,\n\n            transparent calc(100% - 8px),\n\n            #000 calc(100% - 7px)\n\n        );\n\n\n    mask:\n\n        radial-gradient(\n\n            farthest-side,\n\n            transparent calc(100% - 8px),\n\n            #000 calc(100% - 7px)\n\n        );\n\n    z-index: -1;\n}\n\n\n\/* subtle glow *\/\n\n.vera-score-circle::after {\n\n    content: \"\";\n\n    position: absolute;\n\n    inset: 16px;\n\n    border-radius: 50%;\n\n    box-shadow:\n\n        0 0 28px\n        rgba(45, 230, 130, 0.06);\n\n    z-index: -2;\n}\n\n\n\/* SCORE NUMBER *\/\n\n.vera-score-number {\n\n    font-size: 48px;\n\n    line-height: 1;\n\n    font-weight: 300;\n\n    letter-spacing: -1px;\n\n    color: #ffffff;\n}\n\n\n.vera-score-max {\n\n    margin-top: 8px;\n\n    font-size: 13px;\n\n    color: #899190;\n}\n\n\n.vera-rating {\n\n    margin-top: 18px;\n\n    font-size: 15px;\n\n    line-height: 1;\n\n    letter-spacing: 2px;\n\n    font-weight: 500;\n\n    color: var(--score-color);\n}\n\n\n\/* =========================================================\n   RIGHT \u2014 DETAILS\n   ========================================================= *\/\n\n.vera-details {\n\n    width: 100%;\n\n    display: flex;\n\n    flex-direction: column;\n\n    justify-content: center;\n}\n\n\n.vera-row {\n\n    min-height: 61px;\n\n    display: grid;\n\n    grid-template-columns:\n        32px\n        minmax(130px, 1fr)\n        minmax(120px, auto);\n\n    column-gap: 14px;\n\n    align-items: center;\n\n    border-bottom:\n        1px solid rgba(255,255,255,0.10);\n}\n\n\n.vera-row:last-child {\n    border-bottom: none;\n}\n\n\n\/* ICON *\/\n\n.vera-icon {\n\n    width: 24px;\n\n    height: 24px;\n\n    display: flex;\n\n    align-items: center;\n\n    justify-content: center;\n\n    color: #ffffff;\n}\n\n\n.vera-icon svg {\n\n    width: 22px;\n\n    height: 22px;\n\n    display: block;\n\n    stroke: currentColor;\n\n    fill: none;\n\n    stroke-width: 1.7;\n\n    stroke-linecap: round;\n\n    stroke-linejoin: round;\n}\n\n\n\/* LABEL *\/\n\n.vera-label {\n\n    font-size: 14px;\n\n    line-height: 1.4;\n\n    color: #c2c8c7;\n}\n\n\n\/* VALUE *\/\n\n.vera-value {\n\n    text-align: right;\n\n    font-size: 17px;\n\n    line-height: 1.3;\n\n    font-weight: 500;\n\n    color: #62ec8e;\n\n    white-space: nowrap;\n}\n\n\n\/* LOCATION *\/\n\n.vera-location {\n\n    color: #ffffff;\n\n    white-space: normal;\n}\n\n\n.vera-location-main {\n\n    display: block;\n\n    color: #ffffff;\n\n    font-size: 17px;\n}\n\n\n.vera-location-sub {\n\n    display: block;\n\n    margin-top: 5px;\n\n    color: #7f8987;\n\n    font-size: 11px;\n\n    line-height: 1.4;\n\n    font-weight: 400;\n\n    white-space: normal;\n}\n\n\n\/* =========================================================\n   LOADING \/ ERROR\n   ========================================================= *\/\n\n.vera-loading {\n\n    width: 100%;\n\n    box-sizing: border-box;\n\n    padding: 80px 20px;\n\n    text-align: center;\n\n    color: #818a89;\n\n    letter-spacing: 2px;\n\n    background:\n        rgba(8,12,12,0.8);\n\n    border:\n        1px solid rgba(255,255,255,0.1);\n\n    border-radius: 8px;\n}\n\n\n\/* =========================================================\n   TABLET\n   ========================================================= *\/\n\n@media (max-width: 1024px) {\n\n    .vera-tonight-card {\n\n        grid-template-columns:\n            230px\n            minmax(0, 1fr);\n\n        gap: 32px;\n\n        padding:\n            32px 30px;\n    }\n\n\n    .vera-score-area {\n\n        padding-right: 30px;\n    }\n\n\n    .vera-score-circle {\n\n        width: 170px;\n\n        height: 170px;\n\n        flex-basis: 170px;\n    }\n\n\n    .vera-score-number {\n\n        font-size: 44px;\n    }\n\n}\n\n\n\/* =========================================================\n   MOBILE\n   ========================================================= *\/\n\n@media (max-width: 767px) {\n\n    .vera-section-title {\n\n        font-size: 20px;\n\n        letter-spacing: 3px;\n    }\n\n\n    .vera-date {\n\n        margin-bottom: 22px;\n    }\n\n\n    .vera-tonight-card {\n\n        grid-template-columns: 1fr;\n\n        gap: 0;\n\n        padding:\n            28px 20px;\n    }\n\n\n    .vera-score-area {\n\n        min-height: auto;\n\n        border-right: none;\n\n        border-bottom:\n            1px solid rgba(255,255,255,0.10);\n\n        padding:\n\n            5px\n            0\n            30px\n            0;\n\n        margin-bottom: 12px;\n    }\n\n\n    .vera-score-circle {\n\n        width: 170px;\n\n        height: 170px;\n\n        flex-basis: 170px;\n    }\n\n\n    .vera-score-number {\n\n        font-size: 43px;\n    }\n\n\n    .vera-row {\n\n        min-height: 62px;\n\n        grid-template-columns:\n            28px\n            1fr\n            auto;\n\n        column-gap: 10px;\n    }\n\n\n    .vera-label {\n\n        font-size: 13px;\n    }\n\n\n    .vera-value {\n\n        font-size: 15px;\n    }\n\n\n    .vera-location-main {\n\n        font-size: 15px;\n    }\n\n}\n\n<\/style>\n\n\n\n<!-- =====================================================\n     HTML\n     ===================================================== -->\n\n<div class=\"vera-aurora-tonight\">\n\n    <div class=\"vera-section-title\">\n        TONIGHT IN ICELAND\n    <\/div>\n\n    <div\n        id=\"vera-today-date\"\n        class=\"vera-date\"\n    >\n        LOADING FORECAST\n    <\/div>\n\n\n    <div id=\"vera-tonight-content\">\n\n        <div class=\"vera-loading\">\n            Loading live aurora forecast...\n        <\/div>\n\n    <\/div>\n\n<\/div>\n\n\n\n<script>\n\n(function () {\n\n    async function loadVeraAuroraTonight() {\n\n\n        \/* =============================================\n           API\n           ============================================= *\/\n\n        const api =\n            \"\/wp-json\/vera\/v1\/forecast\";\n\n\n        const output =\n            document.getElementById(\n                \"vera-tonight-content\"\n            );\n\n\n        const dateElement =\n            document.getElementById(\n                \"vera-today-date\"\n            );\n\n\n        if (!output || !dateElement) {\n            return;\n        }\n\n\n        try {\n\n\n            \/* =============================================\n               FETCH DATA\n               ============================================= *\/\n\n            const response =\n                await fetch(\n                    api,\n                    {\n                        cache: \"no-store\"\n                    }\n                );\n\n\n            if (!response.ok) {\n\n                throw new Error(\n                    \"Forecast API unavailable\"\n                );\n\n            }\n\n\n            const data =\n                await response.json();\n\n\n            if (\n                !data.days ||\n                !data.days.length\n            ) {\n\n                throw new Error(\n                    \"No forecast data\"\n                );\n\n            }\n\n\n            const today =\n                data.days[0];\n\n\n            const best =\n                today.best_location;\n\n\n            if (!best) {\n\n                throw new Error(\n                    \"No location forecast available\"\n                );\n\n            }\n\n\n\n            \/* =============================================\n               DATE\n               ============================================= *\/\n\n            const dateObject =\n                new Date(\n                    today.date +\n                    \"T12:00:00Z\"\n                );\n\n\n            const formattedDate =\n                dateObject\n                .toLocaleDateString(\n                    \"en-GB\",\n                    {\n                        day: \"2-digit\",\n                        month: \"short\",\n                        year: \"numeric\",\n                        timeZone:\n                            \"Atlantic\/Reykjavik\"\n                    }\n                )\n                .toUpperCase();\n\n\n            dateElement.textContent =\n                formattedDate;\n\n\n\n            \/* =============================================\n               DATA\n               ============================================= *\/\n\n            const score =\n                Math.max(\n                    0,\n                    Math.min(\n                        100,\n                        Number(\n                            best.score ?? 0\n                        )\n                    )\n                );\n\n\n            const rating =\n                best.rating ??\n                \"UNAVAILABLE\";\n\n\n            const kp =\n                today.kp ?? \"--\";\n\n\n            const cloud =\n                best.cloud_percent ??\n                \"--\";\n\n\n            const darkness =\n                best.darkness ??\n                \"--\";\n\n\n            const location =\n                best.name ??\n                \"Iceland\";\n\n\n            const bestTime =\n                best.best_model_time ??\n                \"--\";\n\n\n\n            \/* =============================================\n               SCORE COLOR\n               ============================================= *\/\n\n            let scoreColor =\n                \"#78817f\";\n\n\n            if (score >= 85) {\n\n                scoreColor =\n                    \"#2FE985\";\n\n            }\n\n            else if (score >= 70) {\n\n                scoreColor =\n                    \"#74E990\";\n\n            }\n\n            else if (score >= 55) {\n\n                scoreColor =\n                    \"#91D981\";\n\n            }\n\n            else if (score >= 35) {\n\n                scoreColor =\n                    \"#D8AD5A\";\n\n            }\n\n            else {\n\n                scoreColor =\n                    \"#747D7B\";\n\n            }\n\n\n\n            \/* =============================================\n               ICONS\n               ============================================= *\/\n\n            const kpIcon = `\n\n                <svg\n                    viewBox=\"0 0 24 24\"\n                    aria-hidden=\"true\"\n                >\n\n                    <line\n                        x1=\"5\"\n                        y1=\"19\"\n                        x2=\"5\"\n                        y2=\"14\"\n                    \/>\n\n                    <line\n                        x1=\"10\"\n                        y1=\"19\"\n                        x2=\"10\"\n                        y2=\"10\"\n                    \/>\n\n                    <line\n                        x1=\"15\"\n                        y1=\"19\"\n                        x2=\"15\"\n                        y2=\"7\"\n                    \/>\n\n                    <line\n                        x1=\"20\"\n                        y1=\"19\"\n                        x2=\"20\"\n                        y2=\"4\"\n                    \/>\n\n                <\/svg>\n            `;\n\n\n            const cloudIcon = `\n\n                <svg\n                    viewBox=\"0 0 24 24\"\n                    aria-hidden=\"true\"\n                >\n\n                    <path\n                        d=\"\n                        M7.5 18\n                        H17\n                        A4 4 0 0 0 17.4 10\n                        A6 6 0 0 0 6.3 8.5\n                        A4.8 4.8 0 0 0 7.5 18\n                        Z\n                        \"\n                    \/>\n\n                <\/svg>\n            `;\n\n\n            const moonIcon = `\n\n                <svg\n                    viewBox=\"0 0 24 24\"\n                    aria-hidden=\"true\"\n                >\n\n                    <path\n                        d=\"\n                        M20 15.5\n                        A8 8 0 0 1\n                        8.5 4\n                        A8.5 8.5 0 1 0\n                        20 15.5\n                        Z\n                        \"\n                    \/>\n\n                <\/svg>\n            `;\n\n\n            const clockIcon = `\n\n                <svg\n                    viewBox=\"0 0 24 24\"\n                    aria-hidden=\"true\"\n                >\n\n                    <circle\n                        cx=\"12\"\n                        cy=\"12\"\n                        r=\"8.5\"\n                    \/>\n\n                    <line\n                        x1=\"12\"\n                        y1=\"7\"\n                        x2=\"12\"\n                        y2=\"12\"\n                    \/>\n\n                    <line\n                        x1=\"12\"\n                        y1=\"12\"\n                        x2=\"16\"\n                        y2=\"14\"\n                    \/>\n\n                <\/svg>\n            `;\n\n\n\n            \/* =============================================\n               OUTPUT\n               ============================================= *\/\n\n            output.innerHTML = `\n\n                <div class=\"vera-tonight-card\">\n\n\n                    <!-- SCORE -->\n\n                    <div class=\"vera-score-area\">\n\n                        <div\n\n                            class=\"vera-score-circle\"\n\n                            style=\"\n                                --score:${score};\n                                --score-color:${scoreColor};\n                            \"\n\n                        >\n\n                            <div\n                                class=\"vera-score-number\"\n                            >\n                                ${score}\n                            <\/div>\n\n\n                            <div\n                                class=\"vera-score-max\"\n                            >\n                                \/ 100\n                            <\/div>\n\n\n                            <div\n                                class=\"vera-rating\"\n                            >\n                                ${rating}\n                            <\/div>\n\n                        <\/div>\n\n                    <\/div>\n\n\n\n                    <!-- DETAILS -->\n\n                    <div class=\"vera-details\">\n\n\n                        <!-- KP -->\n\n                        <div class=\"vera-row\">\n\n                            <div class=\"vera-icon\">\n                                ${kpIcon}\n                            <\/div>\n\n                            <div class=\"vera-label\">\n                                Kp Index\n                            <\/div>\n\n                            <div class=\"vera-value\">\n                                ${kp}\n                            <\/div>\n\n                        <\/div>\n\n\n\n                        <!-- CLOUD -->\n\n                        <div class=\"vera-row\">\n\n                            <div class=\"vera-icon\">\n                                ${cloudIcon}\n                            <\/div>\n\n                            <div class=\"vera-label\">\n                                Best Cloud Cover\n                            <\/div>\n\n                            <div class=\"vera-value\">\n                                ${cloud}%\n                            <\/div>\n\n                        <\/div>\n\n\n\n                        <!-- DARKNESS -->\n\n                        <div class=\"vera-row\">\n\n                            <div class=\"vera-icon\">\n                                ${moonIcon}\n                            <\/div>\n\n                            <div class=\"vera-label\">\n                                Astronomical Darkness\n                            <\/div>\n\n                            <div class=\"vera-value\">\n                                ${darkness}\n                            <\/div>\n\n                        <\/div>\n\n\n\n                        <!-- LOCATION -->\n\n                        <div class=\"vera-row\">\n\n                            <div class=\"vera-icon\">\n                                ${clockIcon}\n                            <\/div>\n\n                            <div class=\"vera-label\">\n                                Best Viewing Area\n                            <\/div>\n\n                            <div\n                                class=\"\n                                    vera-value\n                                    vera-location\n                                \"\n                            >\n\n                                <span\n                                    class=\"\n                                        vera-location-main\n                                    \"\n                                >\n                                    ${location}\n                                <\/span>\n\n                                <span\n                                    class=\"\n                                        vera-location-sub\n                                    \"\n                                >\n\n                                    Best conditions\n                                    around ${bestTime}\n\n                                <\/span>\n\n                            <\/div>\n\n                        <\/div>\n\n\n                    <\/div>\n\n                <\/div>\n\n            `;\n\n\n        }\n\n\n        \/* =============================================\n           ERROR\n           ============================================= *\/\n\n        catch (error) {\n\n\n            output.innerHTML = `\n\n                <div class=\"vera-loading\">\n\n                    Forecast temporarily unavailable.\n\n                <\/div>\n\n            `;\n\n\n            dateElement.textContent =\n                \"LIVE FORECAST\";\n\n\n            console.error(\n                \"Vera Aurora Forecast:\",\n                error\n            );\n\n        }\n\n    }\n\n\n\n    \/* Elementor sometimes injects HTML after DOM ready,\n       so support both cases. *\/\n\n    if (\n        document.readyState === \"loading\"\n    ) {\n\n        document.addEventListener(\n            \"DOMContentLoaded\",\n            loadVeraAuroraTonight\n        );\n\n    }\n\n    else {\n\n        loadVeraAuroraTonight();\n\n    }\n\n})();\n\n<\/script>\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-c9bf461 e-con e-atomic-element e-flexbox-base e-default-div e-c9bf461-497b4a2 \" data-id=\"c9bf461\" data-element_type=\"e-flexbox\" data-e-type=\"e-flexbox\" data-interaction-id=\"c9bf461\">\n    \t\t<div class=\"elementor-element elementor-element-9e25a0e elementor-widget elementor-widget-html\" data-id=\"9e25a0e\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<style>\n\n.vera-read-card {\n    width: 100%;\n    height: 100%;\n    box-sizing: border-box;\n\n    background:\n        linear-gradient(\n            135deg,\n            rgba(9,14,14,0.98),\n            rgba(7,11,11,0.94)\n        );\n\n    border: 1px solid rgba(255,255,255,0.12);\n    border-radius: 8px;\n\n    padding: 30px 32px;\n\n    font-family: Arial, Helvetica, sans-serif;\n    color: #fff;\n}\n\n\n\/* TITLE *\/\n\n.vera-read-title {\n\n    font-size: 21px;\n    font-weight: 400;\n\n    letter-spacing: 3px;\n\n    margin-bottom: 26px;\n\n    color: #ffffff;\n}\n\n\n\/* GRID *\/\n\n.vera-read-grid {\n\n    display: grid;\n\n    grid-template-columns:\n        repeat(2, minmax(0,1fr));\n\n    gap: 0;\n}\n\n\n\/* ITEM *\/\n\n.vera-read-item {\n\n    min-height: 155px;\n\n    padding: 20px 22px;\n\n    box-sizing: border-box;\n\n    position: relative;\n}\n\n\n\/* vertical divider *\/\n\n.vera-read-item:nth-child(odd) {\n\n    border-right:\n        1px solid rgba(255,255,255,0.10);\n}\n\n\n\/* horizontal divider *\/\n\n.vera-read-item:nth-child(-n+2) {\n\n    border-bottom:\n        1px solid rgba(255,255,255,0.10);\n}\n\n\n\/* TOP ROW *\/\n\n.vera-read-head {\n\n    display: flex;\n\n    align-items: center;\n\n    gap: 12px;\n\n    margin-bottom: 13px;\n}\n\n\n\/* ICON *\/\n\n.vera-read-icon {\n\n    width: 38px;\n    height: 38px;\n\n    border-radius: 50%;\n\n    display: flex;\n\n    align-items: center;\n    justify-content: center;\n\n    flex: 0 0 38px;\n\n    border: 1px solid currentColor;\n}\n\n\n.vera-read-icon svg {\n\n    width: 20px;\n    height: 20px;\n\n    fill: none;\n\n    stroke: currentColor;\n\n    stroke-width: 1.7;\n\n    stroke-linecap: round;\n\n    stroke-linejoin: round;\n}\n\n\n\/* ICON COLORS *\/\n\n.vera-read-icon.kp {\n    color: #aa64ef;\n}\n\n.vera-read-icon.cloud {\n    color: #29a9ff;\n}\n\n.vera-read-icon.darkness {\n    color: #eeeeee;\n}\n\n.vera-read-icon.score {\n    color: #e4b45b;\n}\n\n\n\/* ITEM TITLE *\/\n\n.vera-read-name {\n\n    font-size: 14px;\n\n    font-weight: 600;\n\n    color: #ffffff;\n}\n\n\n\/* DESCRIPTION *\/\n\n.vera-read-text {\n\n    font-size: 12px;\n\n    line-height: 1.65;\n\n    color: #aeb6b5;\n\n    padding-left: 50px;\n}\n\n\n\n\/* TABLET *\/\n\n@media (max-width: 1024px) {\n\n    .vera-read-card {\n        padding: 26px 24px;\n    }\n\n    .vera-read-item {\n        padding: 18px 16px;\n    }\n\n}\n\n\n\/* MOBILE *\/\n\n@media (max-width: 767px) {\n\n    .vera-read-grid {\n        grid-template-columns: 1fr;\n    }\n\n    .vera-read-item {\n        min-height: auto;\n        padding: 22px 0;\n    }\n\n    .vera-read-item:nth-child(odd) {\n        border-right: none;\n    }\n\n    .vera-read-item:nth-child(-n+3) {\n        border-bottom:\n            1px solid rgba(255,255,255,0.10);\n    }\n\n    .vera-read-text {\n        padding-left: 50px;\n    }\n\n}\n\n<\/style>\n\n\n\n<div class=\"vera-read-card\">\n\n\n    <div class=\"vera-read-title\">\n        HOW TO READ THE FORECAST\n    <\/div>\n\n\n    <div class=\"vera-read-grid\">\n\n\n        <!-- KP INDEX -->\n\n        <div class=\"vera-read-item\">\n\n            <div class=\"vera-read-head\">\n\n                <div class=\"vera-read-icon kp\">\n\n                    <svg viewBox=\"0 0 24 24\">\n\n                        <path d=\"\n                            M3 13\n                            H6\n                            L8.5 6\n                            L12 18\n                            L15 9\n                            L17 13\n                            H21\n                        \" \/>\n\n                    <\/svg>\n\n                <\/div>\n\n\n                <div class=\"vera-read-name\">\n                    Kp Index\n                <\/div>\n\n            <\/div>\n\n\n            <div class=\"vera-read-text\">\n\n                Measures geomagnetic activity.\n                In Iceland, even Kp 1\u20132 can produce\n                visible auroras due to the high latitude.\n\n            <\/div>\n\n        <\/div>\n\n\n\n        <!-- CLOUD COVER -->\n\n        <div class=\"vera-read-item\">\n\n            <div class=\"vera-read-head\">\n\n                <div class=\"vera-read-icon cloud\">\n\n                    <svg viewBox=\"0 0 24 24\">\n\n                        <path d=\"\n                            M7 18\n                            H17\n                            A4 4 0 0 0 17.4 10\n                            A6 6 0 0 0 6.2 8.5\n                            A4.8 4.8 0 0 0 7 18\n                            Z\n                        \" \/>\n\n                    <\/svg>\n\n                <\/div>\n\n\n                <div class=\"vera-read-name\">\n                    Cloud Cover\n                <\/div>\n\n            <\/div>\n\n\n            <div class=\"vera-read-text\">\n\n                Clear skies are essential for seeing\n                the Northern Lights. Lower cloud cover\n                means better viewing conditions.\n\n            <\/div>\n\n        <\/div>\n\n\n\n        <!-- DARKNESS -->\n\n        <div class=\"vera-read-item\">\n\n            <div class=\"vera-read-head\">\n\n                <div class=\"vera-read-icon darkness\">\n\n                    <svg viewBox=\"0 0 24 24\">\n\n                        <path d=\"\n                            M20 15.5\n                            A8 8 0 0 1\n                            8.5 4\n                            A8.5 8.5 0 1 0\n                            20 15.5\n                            Z\n                        \" \/>\n\n                    <\/svg>\n\n                <\/div>\n\n\n                <div class=\"vera-read-name\">\n                    Darkness Hours\n                <\/div>\n\n            <\/div>\n\n\n            <div class=\"vera-read-text\">\n\n                Longer and darker nights provide\n                better viewing conditions, especially\n                from late September through March.\n\n            <\/div>\n\n        <\/div>\n\n\n\n        <!-- SCORE -->\n\n        <div class=\"vera-read-item\">\n\n            <div class=\"vera-read-head\">\n\n                <div class=\"vera-read-icon score\">\n\n                    <svg viewBox=\"0 0 24 24\">\n\n                        <path d=\"\n                            M12 4\n                            L14.2 9\n                            L20 9.5\n                            L15.6 13.3\n                            L17 19\n                            L12 16\n                            L7 19\n                            L8.4 13.3\n                            L4 9.5\n                            L9.8 9\n                            Z\n                        \" \/>\n\n                    <\/svg>\n\n                <\/div>\n\n\n                <div class=\"vera-read-name\">\n                    Vera Aurora Score\n                <\/div>\n\n            <\/div>\n\n\n            <div class=\"vera-read-text\">\n\n                Our viewing-condition score combines\n                solar activity, cloud cover and darkness\n                to quickly show overall aurora potential.\n\n            <\/div>\n\n        <\/div>\n\n\n    <\/div>\n\n<\/div>\t\t\t\t<\/div>\n\t\t\n<\/div>\n\n<\/div>\n<div class=\"elementor-element elementor-element-f538c2c e-con e-atomic-element e-flexbox-base e-default-div e-08ff4ee \" data-id=\"f538c2c\" data-element_type=\"e-flexbox\" data-e-type=\"e-flexbox\" data-interaction-id=\"f538c2c\">\n    \t\t<div class=\"elementor-element elementor-element-97ceee6 elementor-widget elementor-widget-html\" data-id=\"97ceee6\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<style>\n\n\/* =========================================================\n   VERA ISLAND \u2014 14 DAY AURORA OUTLOOK\n   ========================================================= *\/\n\n.vera-outlook {\n    width: 100%;\n    box-sizing: border-box;\n    color: #ffffff;\n    font-family: Arial, Helvetica, sans-serif;\n}\n\n\n\/* =========================================================\n   HEADER\n   ========================================================= *\/\n\n.vera-outlook-header {\n    display: flex;\n    justify-content: space-between;\n    align-items: flex-end;\n    gap: 30px;\n    margin-bottom: 24px;\n}\n\n.vera-outlook-title {\n    font-size: 26px;\n    font-weight: 400;\n    letter-spacing: 4px;\n    line-height: 1.2;\n    color: #ffffff;\n}\n\n.vera-outlook-subtitle {\n    margin-top: 8px;\n    font-size: 13px;\n    line-height: 1.6;\n    color: #808987;\n}\n\n\n\/* =========================================================\n   LEGEND\n   ========================================================= *\/\n\n.vera-outlook-legend {\n    display: flex;\n    align-items: center;\n    flex-wrap: wrap;\n    justify-content: flex-end;\n    gap: 18px;\n\n    font-size: 10px;\n    color: #aab1b0;\n}\n\n.vera-legend-item {\n    display: flex;\n    align-items: center;\n    gap: 7px;\n}\n\n.vera-legend-dot {\n    width: 7px;\n    height: 7px;\n    border-radius: 50%;\n}\n\n.vera-legend-excellent {\n    background: #2fe985;\n}\n\n.vera-legend-good {\n    background: #91d981;\n}\n\n.vera-legend-fair {\n    background: #d8ad5a;\n}\n\n.vera-legend-poor {\n    background: #747d7b;\n}\n\n\n\/* =========================================================\n   HORIZONTAL SCROLL AREA\n   ========================================================= *\/\n\n.vera-outlook-scroll {\n    width: 100%;\n    overflow-x: auto;\n    overflow-y: hidden;\n    padding-bottom: 10px;\n\n    scrollbar-width: thin;\n    scrollbar-color:\n        rgba(255,255,255,0.22)\n        transparent;\n}\n\n.vera-outlook-scroll::-webkit-scrollbar {\n    height: 5px;\n}\n\n.vera-outlook-scroll::-webkit-scrollbar-track {\n    background: transparent;\n}\n\n.vera-outlook-scroll::-webkit-scrollbar-thumb {\n    background: rgba(255,255,255,0.2);\n    border-radius: 10px;\n}\n\n\n\/* Shared width for cards + range labels *\/\n\n.vera-outlook-track {\n    width: max-content;\n    min-width: 100%;\n}\n\n\n\/* =========================================================\n   CARDS\n   ========================================================= *\/\n\n.vera-outlook-cards {\n    display: grid;\n\n    grid-template-columns:\n        repeat(14, minmax(112px, 1fr));\n\n    gap: 9px;\n\n    min-width: 1685px;\n}\n\n\n.vera-day-card {\n    position: relative;\n\n    min-height: 270px;\n\n    box-sizing: border-box;\n\n    display: flex;\n    flex-direction: column;\n    align-items: center;\n\n    padding:\n        18px\n        10px\n        14px;\n\n    background:\n        linear-gradient(\n            180deg,\n            rgba(12,18,18,0.98),\n            rgba(7,11,11,0.98)\n        );\n\n    border:\n        1px solid rgba(255,255,255,0.11);\n\n    border-radius: 5px;\n\n    transition:\n        border-color .25s ease,\n        transform .25s ease,\n        background .25s ease;\n}\n\n\n.vera-day-card:hover {\n    transform: translateY(-4px);\n\n    border-color:\n        rgba(255,255,255,0.28);\n\n    background:\n        linear-gradient(\n            180deg,\n            rgba(14,22,21,1),\n            rgba(7,12,11,1)\n        );\n}\n\n\n\/* TODAY *\/\n\n.vera-day-card.is-today {\n\n    border-color:\n        rgba(47,233,133,0.70);\n\n    box-shadow:\n        0 0 24px\n        rgba(47,233,133,0.06);\n}\n\n\n.vera-today-tag {\n\n    position: absolute;\n\n    top: -8px;\n    left: 50%;\n\n    transform: translateX(-50%);\n\n    padding:\n        3px\n        8px;\n\n    background: #153c29;\n\n    border:\n        1px solid rgba(47,233,133,0.6);\n\n    border-radius: 20px;\n\n    font-size: 8px;\n\n    letter-spacing: 1px;\n\n    color: #69ef99;\n}\n\n\n\/* =========================================================\n   DATE\n   ========================================================= *\/\n\n.vera-day-date {\n    font-size: 10px;\n    color: #bcc3c2;\n    letter-spacing: 1px;\n}\n\n.vera-day-week {\n    margin-top: 4px;\n\n    font-size: 12px;\n\n    color: #ffffff;\n\n    letter-spacing: 1px;\n}\n\n\n\/* =========================================================\n   STARS\n   ========================================================= *\/\n\n.vera-day-stars {\n\n    margin-top: 18px;\n\n    display: flex;\n\n    justify-content: center;\n\n    gap: 2px;\n\n    font-size: 12px;\n\n    line-height: 1;\n}\n\n\n.vera-star-filled {\n    color: var(--card-color);\n}\n\n.vera-star-empty {\n    color: #3e4745;\n}\n\n\n\/* =========================================================\n   RATING\n   ========================================================= *\/\n\n.vera-day-rating {\n\n    min-height: 26px;\n\n    margin-top: 12px;\n\n    font-size: 9px;\n\n    line-height: 1.3;\n\n    text-align: center;\n\n    font-weight: 600;\n\n    letter-spacing: .7px;\n\n    color: var(--card-color);\n}\n\n\n\/* =========================================================\n   VALUES\n   ========================================================= *\/\n\n.vera-day-data {\n\n    width: 100%;\n\n    margin-top: 16px;\n\n    padding-top: 13px;\n\n    border-top:\n        1px solid rgba(255,255,255,0.08);\n}\n\n\n.vera-day-data-row {\n\n    display: flex;\n\n    justify-content: space-between;\n\n    align-items: center;\n\n    gap: 6px;\n\n    margin-bottom: 8px;\n\n    font-size: 10px;\n}\n\n\n.vera-day-data-label {\n    color: #798280;\n}\n\n\n.vera-day-data-value {\n    color: #d8dddc;\n}\n\n\n\/* =========================================================\n   LOCATION\n   ========================================================= *\/\n\n.vera-day-location {\n\n    width: 100%;\n\n    margin-top: auto;\n\n    padding-top: 12px;\n\n    text-align: center;\n\n    border-top:\n        1px solid rgba(255,255,255,0.07);\n}\n\n\n.vera-day-location-label {\n\n    font-size: 8px;\n\n    letter-spacing: .7px;\n\n    color: #626b69;\n}\n\n\n.vera-day-location-name {\n\n    margin-top: 5px;\n\n    font-size: 10px;\n\n    line-height: 1.3;\n\n    color: #aeb6b5;\n}\n\n\n\/* =========================================================\n   FORECAST RANGE LABELS\n   ========================================================= *\/\n\n.vera-range-grid {\n\n    min-width: 1685px;\n\n    display: grid;\n\n    grid-template-columns:\n        repeat(14, minmax(112px, 1fr));\n\n    gap: 9px;\n\n    margin-top: 13px;\n}\n\n\n.vera-range {\n\n    position: relative;\n\n    padding-top: 15px;\n\n    border-top:\n        1px solid rgba(255,255,255,0.20);\n\n    text-align: center;\n}\n\n\n.vera-range::before {\n\n    content: \"\";\n\n    position: absolute;\n\n    top: -5px;\n\n    left: 0;\n\n    width: 1px;\n    height: 9px;\n\n    background:\n        rgba(255,255,255,0.35);\n}\n\n\n.vera-range::after {\n\n    content: \"\";\n\n    position: absolute;\n\n    top: -5px;\n\n    right: 0;\n\n    width: 1px;\n    height: 9px;\n\n    background:\n        rgba(255,255,255,0.35);\n}\n\n\n.vera-range-short {\n    grid-column: 1 \/ span 3;\n}\n\n.vera-range-medium {\n    grid-column: 4 \/ span 4;\n}\n\n.vera-range-long {\n    grid-column: 8 \/ span 7;\n}\n\n\n.vera-range-title {\n\n    font-size: 10px;\n\n    letter-spacing: 1.1px;\n\n    color: #e0e4e3;\n}\n\n\n.vera-range-description {\n\n    margin-top: 5px;\n\n    font-size: 9px;\n\n    line-height: 1.4;\n\n    color: #697270;\n}\n\n\n\/* =========================================================\n   FOOTNOTE\n   ========================================================= *\/\n\n.vera-outlook-note {\n\n    margin-top: 20px;\n\n    font-size: 10px;\n\n    line-height: 1.6;\n\n    color: #626b69;\n}\n\n\n\/* =========================================================\n   LOADING\n   ========================================================= *\/\n\n.vera-outlook-loading {\n\n    min-height: 220px;\n\n    display: flex;\n\n    align-items: center;\n\n    justify-content: center;\n\n    border:\n        1px solid rgba(255,255,255,0.1);\n\n    border-radius: 5px;\n\n    color: #7b8482;\n\n    font-size: 12px;\n\n    letter-spacing: 2px;\n}\n\n\n\/* =========================================================\n   MOBILE\n   ========================================================= *\/\n\n@media (max-width: 767px) {\n\n    .vera-outlook-header {\n        display: block;\n    }\n\n    .vera-outlook-title {\n        font-size: 21px;\n        letter-spacing: 3px;\n    }\n\n    .vera-outlook-legend {\n        justify-content: flex-start;\n        margin-top: 18px;\n        gap: 12px;\n    }\n\n    .vera-outlook-cards {\n        grid-template-columns:\n            repeat(14, 105px);\n\n        min-width: auto;\n    }\n\n    .vera-range-grid {\n        grid-template-columns:\n            repeat(14, 105px);\n\n        min-width: auto;\n    }\n\n    .vera-day-card {\n        min-height: 260px;\n    }\n\n}\n\n<\/style>\n\n\n\n<div class=\"vera-outlook\">\n\n\n    <!-- HEADER -->\n\n    <div class=\"vera-outlook-header\">\n\n        <div>\n\n            <div class=\"vera-outlook-title\">\n                14 DAY AURORA OUTLOOK\n            <\/div>\n\n            <div class=\"vera-outlook-subtitle\">\n                A combined outlook based on solar activity,\n                cloud cover and astronomical darkness.\n            <\/div>\n\n        <\/div>\n\n\n        <div class=\"vera-outlook-legend\">\n\n            <div class=\"vera-legend-item\">\n                <span class=\"vera-legend-dot vera-legend-excellent\"><\/span>\n                Excellent\n            <\/div>\n\n            <div class=\"vera-legend-item\">\n                <span class=\"vera-legend-dot vera-legend-good\"><\/span>\n                Good\n            <\/div>\n\n            <div class=\"vera-legend-item\">\n                <span class=\"vera-legend-dot vera-legend-fair\"><\/span>\n                Fair\n            <\/div>\n\n            <div class=\"vera-legend-item\">\n                <span class=\"vera-legend-dot vera-legend-poor\"><\/span>\n                Poor\n            <\/div>\n\n        <\/div>\n\n    <\/div>\n\n\n\n    <!-- CONTENT -->\n\n    <div class=\"vera-outlook-scroll\">\n\n        <div\n            id=\"vera-outlook-content\"\n            class=\"vera-outlook-track\"\n        >\n\n            <div class=\"vera-outlook-loading\">\n                Loading 14-day aurora outlook...\n            <\/div>\n\n        <\/div>\n\n    <\/div>\n\n\n\n    <div class=\"vera-outlook-note\">\n\n        The Vera Aurora Score is a viewing-condition index,\n        not a probability of seeing the Northern Lights.\n        Long-range forecasts indicate general viewing\n        potential only and may change as new weather\n        and space-weather data become available.\n\n    <\/div>\n\n\n<\/div>\n\n\n\n<script>\n\n(function () {\n\n    async function loadVeraOutlook() {\n\n\n        const api =\n            \"\/wp-json\/vera\/v1\/forecast\";\n\n\n        const container =\n            document.getElementById(\n                \"vera-outlook-content\"\n            );\n\n\n        if (!container) {\n            return;\n        }\n\n\n        try {\n\n\n            const response =\n                await fetch(\n                    api,\n                    {\n                        cache: \"no-store\"\n                    }\n                );\n\n\n            if (!response.ok) {\n\n                throw new Error(\n                    \"Forecast API unavailable\"\n                );\n\n            }\n\n\n            const data =\n                await response.json();\n\n\n            if (\n                !data.days ||\n                !data.days.length\n            ) {\n\n                throw new Error(\n                    \"No forecast data\"\n                );\n\n            }\n\n\n            const days =\n                data.days.slice(0, 14);\n\n\n            let cardsHTML = \"\";\n\n\n            days.forEach(\n                function (day, index) {\n\n\n                    const best =\n                        day.best_location || {};\n\n\n                    const score =\n                        Math.max(\n                            0,\n                            Math.min(\n                                100,\n                                Number(\n                                    best.score || 0\n                                )\n                            )\n                        );\n\n\n                    const rating =\n                        best.rating ||\n                        \"UNAVAILABLE\";\n\n\n                    const kp =\n                        day.kp ?? \"--\";\n\n\n                    const cloud =\n                        best.cloud_percent ??\n                        \"--\";\n\n\n                    const location =\n                        best.name ||\n                        \"\u2014\";\n\n\n                    \/* =====================================\n                       COLOR\n                       ===================================== *\/\n\n                    let color =\n                        \"#747d7b\";\n\n\n                    if (score >= 85) {\n\n                        color =\n                            \"#2fe985\";\n\n                    }\n\n                    else if (score >= 70) {\n\n                        color =\n                            \"#74e990\";\n\n                    }\n\n                    else if (score >= 55) {\n\n                        color =\n                            \"#91d981\";\n\n                    }\n\n                    else if (score >= 35) {\n\n                        color =\n                            \"#d8ad5a\";\n\n                    }\n\n\n                    \/* =====================================\n                       STARS\n                       ===================================== *\/\n\n                    let stars = 1;\n\n\n                    if (score >= 85) {\n                        stars = 5;\n                    }\n\n                    else if (score >= 70) {\n                        stars = 4;\n                    }\n\n                    else if (score >= 55) {\n                        stars = 3;\n                    }\n\n                    else if (score >= 35) {\n                        stars = 2;\n                    }\n\n\n                    let starsHTML = \"\";\n\n\n                    for (\n                        let i = 1;\n                        i <= 5;\n                        i++\n                    ) {\n\n                        starsHTML +=\n                            i <= stars\n                            ?\n                            `<span class=\"vera-star-filled\">\u2605<\/span>`\n                            :\n                            `<span class=\"vera-star-empty\">\u2605<\/span>`;\n\n                    }\n\n\n                    \/* =====================================\n                       DATE\n                       ===================================== *\/\n\n                    const date =\n                        new Date(\n                            day.date +\n                            \"T12:00:00Z\"\n                        );\n\n\n                    const monthDay =\n                        date\n                        .toLocaleDateString(\n                            \"en-US\",\n                            {\n                                month: \"short\",\n                                day: \"2-digit\",\n                                timeZone:\n                                    \"Atlantic\/Reykjavik\"\n                            }\n                        )\n                        .toUpperCase();\n\n\n                    const weekday =\n                        date\n                        .toLocaleDateString(\n                            \"en-US\",\n                            {\n                                weekday: \"short\",\n                                timeZone:\n                                    \"Atlantic\/Reykjavik\"\n                            }\n                        )\n                        .toUpperCase();\n\n\n                    cardsHTML += `\n\n                        <div\n\n                            class=\"\n                                vera-day-card\n                                ${index === 0 ? \"is-today\" : \"\"}\n                            \"\n\n                            style=\"\n                                --card-color:${color};\n                            \"\n\n                        >\n\n\n                            ${\n                                index === 0\n                                ?\n                                `\n                                <div class=\"vera-today-tag\">\n                                    TODAY\n                                <\/div>\n                                `\n                                :\n                                \"\"\n                            }\n\n\n                            <div class=\"vera-day-date\">\n                                ${monthDay}\n                            <\/div>\n\n\n                            <div class=\"vera-day-week\">\n                                ${weekday}\n                            <\/div>\n\n\n                            <div class=\"vera-day-stars\">\n                                ${starsHTML}\n                            <\/div>\n\n\n                            <div class=\"vera-day-rating\">\n                                ${rating}\n                            <\/div>\n\n\n                            <div class=\"vera-day-data\">\n\n\n                                <div class=\"vera-day-data-row\">\n\n                                    <span class=\"vera-day-data-label\">\n                                        Kp\n                                    <\/span>\n\n                                    <span class=\"vera-day-data-value\">\n                                        ${kp}\n                                    <\/span>\n\n                                <\/div>\n\n\n                                <div class=\"vera-day-data-row\">\n\n                                    <span class=\"vera-day-data-label\">\n                                        Cloud\n                                    <\/span>\n\n                                    <span class=\"vera-day-data-value\">\n                                        ${cloud}%\n                                    <\/span>\n\n                                <\/div>\n\n\n                                <div class=\"vera-day-data-row\">\n\n                                    <span class=\"vera-day-data-label\">\n                                        Score\n                                    <\/span>\n\n                                    <span\n                                        class=\"vera-day-data-value\"\n                                        style=\"color:${color};\"\n                                    >\n                                        ${score}\n                                    <\/span>\n\n                                <\/div>\n\n\n                            <\/div>\n\n\n                            <div class=\"vera-day-location\">\n\n                                <div class=\"vera-day-location-label\">\n                                    BEST AREA\n                                <\/div>\n\n                                <div class=\"vera-day-location-name\">\n                                    ${location}\n                                <\/div>\n\n                            <\/div>\n\n\n                        <\/div>\n\n                    `;\n\n                }\n            );\n\n\n            container.innerHTML = `\n\n\n                <div class=\"vera-outlook-cards\">\n\n                    ${cardsHTML}\n\n                <\/div>\n\n\n\n                <div class=\"vera-range-grid\">\n\n\n                    <div\n                        class=\"\n                            vera-range\n                            vera-range-short\n                        \"\n                    >\n\n                        <div class=\"vera-range-title\">\n                            SHORT-TERM FORECAST\n                        <\/div>\n\n                        <div class=\"vera-range-description\">\n                            Higher confidence \u00b7 1\u20133 days\n                        <\/div>\n\n                    <\/div>\n\n\n\n                    <div\n                        class=\"\n                            vera-range\n                            vera-range-medium\n                        \"\n                    >\n\n                        <div class=\"vera-range-title\">\n                            MEDIUM-RANGE OUTLOOK\n                        <\/div>\n\n                        <div class=\"vera-range-description\">\n                            Moderate confidence \u00b7 4\u20137 days\n                        <\/div>\n\n                    <\/div>\n\n\n\n                    <div\n                        class=\"\n                            vera-range\n                            vera-range-long\n                        \"\n                    >\n\n                        <div class=\"vera-range-title\">\n                            LONG-RANGE OUTLOOK\n                        <\/div>\n\n                        <div class=\"vera-range-description\">\n                            General viewing potential \u00b7 8\u201314 days\n                        <\/div>\n\n                    <\/div>\n\n\n                <\/div>\n\n            `;\n\n\n        }\n\n\n        catch (error) {\n\n\n            container.innerHTML = `\n\n                <div class=\"vera-outlook-loading\">\n\n                    Aurora outlook temporarily unavailable.\n\n                <\/div>\n\n            `;\n\n\n            console.error(\n                \"Vera Aurora Outlook:\",\n                error\n            );\n\n        }\n\n    }\n\n\n    if (\n        document.readyState === \"loading\"\n    ) {\n\n        document.addEventListener(\n            \"DOMContentLoaded\",\n            loadVeraOutlook\n        );\n\n    }\n\n    else {\n\n        loadVeraOutlook();\n\n    }\n\n})();\n\n<\/script>\t\t\t\t<\/div>\n\t\t\n<\/div>\n<div class=\"elementor-element elementor-element-0b5352e e-con e-atomic-element e-flexbox-base e-default-div e-5943416 \" data-id=\"0b5352e\" data-element_type=\"e-flexbox\" data-e-type=\"e-flexbox\" data-interaction-id=\"0b5352e\">\n    \t\t<div class=\"elementor-element elementor-element-3e8318b elementor-widget elementor-widget-html\" data-id=\"3e8318b\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<style>\n\n\/* =========================================================\n   VERA ISLAND \u2014 REAL ICELAND MAP\n   ========================================================= *\/\n\n.vera-forecast-maps {\n    width: 100%;\n    box-sizing: border-box;\n    font-family: Arial, Helvetica, sans-serif;\n    color: #fff;\n}\n\n.vera-forecast-map-grid {\n    display: grid;\n    grid-template-columns: minmax(0, 1.75fr) minmax(330px, .85fr);\n    gap: 18px;\n}\n\n\n\/* =========================================================\n   CARD\n   ========================================================= *\/\n\n.vera-map-card {\n    box-sizing: border-box;\n\n    background:\n        linear-gradient(\n            135deg,\n            rgba(6,13,13,.99),\n            rgba(4,9,9,.99)\n        );\n\n    border: 1px solid rgba(255,255,255,.12);\n    border-radius: 7px;\n\n    padding: 28px 30px;\n\n    overflow: hidden;\n}\n\n.vera-map-title {\n    font-size: 21px;\n    font-weight: 400;\n    line-height: 1.25;\n\n    letter-spacing: 3px;\n\n    color: #fff;\n}\n\n.vera-map-subtitle {\n    margin-top: 7px;\n\n    font-size: 12px;\n    line-height: 1.55;\n\n    color: #798280;\n}\n\n\n\/* =========================================================\n   LEFT SIDE\n   ========================================================= *\/\n\n.vera-left-layout {\n    margin-top: 25px;\n\n    display: grid;\n    grid-template-columns:\n        minmax(230px,.78fr)\n        minmax(430px,1.35fr);\n\n    gap: 28px;\n\n    align-items: stretch;\n}\n\n\n\/* =========================================================\n   RANKING\n   ========================================================= *\/\n\n.vera-ranking-list {\n    width: 100%;\n}\n\n.vera-ranking-row {\n    min-height: 62px;\n\n    display: grid;\n    grid-template-columns:\n        36px\n        minmax(110px,1fr)\n        auto;\n\n    gap: 12px;\n\n    align-items: center;\n\n    border-bottom:\n        1px solid rgba(255,255,255,.09);\n}\n\n.vera-ranking-row:last-child {\n    border-bottom: none;\n}\n\n.vera-rank-number {\n    width: 29px;\n    height: 29px;\n\n    border-radius: 50%;\n\n    display: flex;\n    justify-content: center;\n    align-items: center;\n\n    border:\n        1px solid rgba(255,255,255,.18);\n\n    font-size: 10px;\n    color: #89918f;\n}\n\n.vera-rank-name {\n    font-size: 13px;\n    color: #fff;\n}\n\n.vera-rank-rating {\n    margin-top: 4px;\n\n    font-size: 8px;\n    letter-spacing: 1px;\n\n    color: var(--score-color);\n}\n\n.vera-rank-right {\n    text-align: right;\n}\n\n.vera-rank-score {\n    font-size: 18px;\n    color: var(--score-color);\n}\n\n.vera-rank-score-label {\n    margin-top: 3px;\n\n    font-size: 7px;\n    letter-spacing: 1px;\n\n    color: #616a68;\n}\n\n\n\/* =========================================================\n   REAL MAP CONTAINER\n   ========================================================= *\/\n\n.vera-real-map {\n    position: relative;\n\n    width: 100%;\n    min-height: 390px;\n\n    overflow: hidden;\n\n    border-left:\n        1px solid rgba(255,255,255,.08);\n}\n\n\n\/*\n   Actual Iceland map area.\n   Everything inside is positioned relative to this box.\n*\/\n\n.vera-island-stage {\n    position: absolute;\n\n    width: 94%;\n    aspect-ratio: 486 \/ 344;\n\n    left: 3%;\n    top: 47%;\n\n    transform: translateY(-50%);\n}\n\n\n\/* =========================================================\n   REAL ICELAND SVG\n   ========================================================= *\/\n\n.vera-real-iceland {\n    position: absolute;\n\n    width: 100%;\n    height: 100%;\n\n    inset: 0;\n\n    object-fit: contain;\n\n    opacity: .62;\n\n    \/*\n       Original image is a real Iceland outline.\n       This filter converts it into the dark teal style.\n    *\/\n\n    filter:\n        invert(48%)\n        sepia(18%)\n        saturate(650%)\n        hue-rotate(105deg)\n        brightness(65%);\n\n    pointer-events: none;\n\n    z-index: 4;\n}\n\n\n\/* =========================================================\n   DARK MAP INTERIOR\n   ========================================================= *\/\n\n.vera-map-dark-glow {\n    position: absolute;\n\n    width: 77%;\n    height: 68%;\n\n    left: 50%;\n    top: 51%;\n\n    transform:\n        translate(-50%,-50%);\n\n    border-radius: 48%;\n\n    background:\n        radial-gradient(\n            ellipse,\n            rgba(17,49,40,.34) 0%,\n            rgba(8,29,24,.18) 50%,\n            transparent 76%\n        );\n\n    filter: blur(20px);\n\n    z-index: 1;\n}\n\n\n\/* =========================================================\n   AURORA HEAT \/ GLOW\n   ========================================================= *\/\n\n.vera-aurora-heat {\n    position: absolute;\n\n    width: var(--heat-size);\n    height: var(--heat-size);\n\n    left: var(--x);\n    top: var(--y);\n\n    transform:\n        translate(-50%,-50%);\n\n    border-radius: 50%;\n\n    background:\n        radial-gradient(\n            circle,\n            rgba(44,239,132,var(--heat-opacity)) 0%,\n            rgba(37,210,112,calc(var(--heat-opacity) * .60)) 28%,\n            rgba(25,120,75,calc(var(--heat-opacity) * .30)) 48%,\n            transparent 72%\n        );\n\n    filter: blur(12px);\n\n    pointer-events: none;\n\n    z-index: 2;\n}\n\n\n\/* =========================================================\n   CLOUD HEAT\n   ========================================================= *\/\n\n.vera-cloud-heat {\n    position: absolute;\n\n    width: var(--cloud-size);\n    height: calc(var(--cloud-size) * .72);\n\n    left: var(--x);\n    top: var(--y);\n\n    transform:\n        translate(-50%,-50%);\n\n    border-radius: 50%;\n\n    background:\n        radial-gradient(\n            ellipse,\n            rgba(231,244,250,var(--cloud-opacity)) 0%,\n            rgba(126,181,211,calc(var(--cloud-opacity) * .72)) 35%,\n            rgba(61,112,143,calc(var(--cloud-opacity) * .38)) 55%,\n            transparent 76%\n        );\n\n    filter: blur(13px);\n\n    pointer-events: none;\n\n    z-index: 2;\n}\n\n\n\/* =========================================================\n   MARKERS\n   ========================================================= *\/\n\n.vera-map-marker {\n    position: absolute;\n\n    left: var(--x);\n    top: var(--y);\n\n    transform:\n        translate(-50%,-50%);\n\n    z-index: 10;\n\n    white-space: nowrap;\n}\n\n.vera-marker-dot {\n    width: 8px;\n    height: 8px;\n\n    margin: auto;\n\n    border-radius: 50%;\n\n    background:\n        var(--marker-color);\n\n    border:\n        2px solid rgba(255,255,255,.9);\n\n    box-shadow:\n        0 0 13px\n        var(--marker-color);\n}\n\n.vera-marker-label {\n    margin-top: 5px;\n\n    padding:\n        5px 7px;\n\n    border-radius: 3px;\n\n    background:\n        rgba(3,8,8,.90);\n\n    border:\n        1px solid rgba(255,255,255,.10);\n\n    text-align: center;\n\n    font-size: 8px;\n\n    color: #fff;\n}\n\n.vera-marker-value {\n    display: block;\n\n    margin-top: 3px;\n\n    font-size: 7px;\n\n    color:\n        var(--marker-color);\n}\n\n\n\/* =========================================================\n   LEGEND\n   ========================================================= *\/\n\n.vera-map-legend {\n    position: absolute;\n\n    left: 18px;\n    right: 18px;\n    bottom: 10px;\n\n    z-index: 20;\n\n    display: flex;\n\n    align-items: center;\n    justify-content: space-between;\n\n    gap: 14px;\n\n    font-size: 7px;\n    color: #626b69;\n}\n\n.vera-map-gradient {\n    flex: 1;\n\n    max-width: 130px;\n    height: 5px;\n\n    border-radius: 20px;\n\n    background:\n        linear-gradient(\n            90deg,\n            #3c4643,\n            #76d785,\n            #2cec84\n        );\n}\n\n.vera-cloud-gradient {\n    background:\n        linear-gradient(\n            90deg,\n            #18292f,\n            #79a9c2,\n            #edf5f8\n        );\n}\n\n\n\/* =========================================================\n   CLOUD MAP\n   ========================================================= *\/\n\n.vera-cloud-real-map {\n    position: relative;\n\n    width: 100%;\n    min-height: 430px;\n\n    margin-top: 20px;\n\n    overflow: hidden;\n}\n\n.vera-cloud-real-map .vera-island-stage {\n    width: 100%;\n    left: 0;\n}\n\n.vera-cloud-real-map .vera-real-iceland {\n    opacity: .48;\n\n    filter:\n        invert(58%)\n        sepia(12%)\n        saturate(520%)\n        hue-rotate(155deg)\n        brightness(62%);\n}\n\n\n\/* =========================================================\n   LOADING\n   ========================================================= *\/\n\n.vera-map-loading {\n    min-height: 300px;\n\n    display: flex;\n    align-items: center;\n    justify-content: center;\n\n    color: #78817f;\n\n    font-size: 11px;\n    letter-spacing: 2px;\n}\n\n\n\/* =========================================================\n   TABLET\n   ========================================================= *\/\n\n@media(max-width:1100px) {\n\n    .vera-forecast-map-grid {\n        grid-template-columns: 1fr;\n    }\n\n}\n\n\n\/* =========================================================\n   MOBILE\n   ========================================================= *\/\n\n@media(max-width:767px) {\n\n    .vera-map-card {\n        padding: 23px 17px;\n    }\n\n    .vera-map-title {\n        font-size: 18px;\n    }\n\n    .vera-left-layout {\n        grid-template-columns: 1fr;\n    }\n\n    .vera-real-map {\n        border-left: none;\n\n        border-top:\n            1px solid rgba(255,255,255,.08);\n\n        min-height: 330px;\n    }\n\n    .vera-cloud-real-map {\n        min-height: 340px;\n    }\n\n    .vera-marker-label {\n        font-size: 7px;\n    }\n\n}\n\n<\/style>\n\n\n\n<div class=\"vera-forecast-maps\">\n\n    <div class=\"vera-forecast-map-grid\">\n\n\n        <!-- =================================================\n             LEFT \u2014 BEST AURORA AREAS\n             ================================================= -->\n\n        <div class=\"vera-map-card\">\n\n\n            <div class=\"vera-map-title\">\n                BEST AURORA AREAS TONIGHT\n            <\/div>\n\n\n            <div class=\"vera-map-subtitle\">\n\n                Ranked using solar activity,\n                cloud cover and astronomical darkness.\n\n            <\/div>\n\n\n            <div class=\"vera-left-layout\">\n\n\n                <!-- RANKING -->\n\n                <div\n                    id=\"vera-real-ranking\"\n                    class=\"vera-ranking-list\"\n                >\n\n                    <div class=\"vera-map-loading\">\n                        Loading areas...\n                    <\/div>\n\n                <\/div>\n\n\n\n                <!-- REAL ICELAND AURORA MAP -->\n\n                <div class=\"vera-real-map\">\n\n\n                    <div class=\"vera-island-stage\">\n\n\n                        <div class=\"vera-map-dark-glow\"><\/div>\n\n\n                        <!--\n                            REAL ICELAND COASTLINE\n                            Public domain map from Wikimedia Commons\n                        -->\n\n                        <img decoding=\"async\" loading=\"lazy\"\n                            class=\"vera-real-iceland\"\n                            src=\"https:\/\/commons.wikimedia.org\/wiki\/Special:Redirect\/file\/Iceland.svg\"\n                            alt=\"Iceland map\"\n                        >\n\n\n                        <div id=\"vera-real-aurora-points\"><\/div>\n\n\n                    <\/div>\n\n\n                    <div class=\"vera-map-legend\">\n\n                        <span>\n                            LOWER POTENTIAL\n                        <\/span>\n\n                        <div class=\"vera-map-gradient\"><\/div>\n\n                        <span>\n                            HIGHER POTENTIAL\n                        <\/span>\n\n                    <\/div>\n\n\n                <\/div>\n\n\n            <\/div>\n\n        <\/div>\n\n\n\n        <!-- =================================================\n             RIGHT \u2014 CLOUD COVER\n             ================================================= -->\n\n        <div class=\"vera-map-card\">\n\n\n            <div class=\"vera-map-title\">\n                ICELAND CLOUD COVER\n            <\/div>\n\n\n            <div class=\"vera-map-subtitle\">\n\n                Cloud cover around tonight's\n                best viewing period.\n\n            <\/div>\n\n\n            <div class=\"vera-cloud-real-map\">\n\n\n                <div class=\"vera-island-stage\">\n\n\n                    <div class=\"vera-map-dark-glow\"><\/div>\n\n\n                    <img decoding=\"async\" loading=\"lazy\"\n                        class=\"vera-real-iceland\"\n                        src=\"https:\/\/commons.wikimedia.org\/wiki\/Special:Redirect\/file\/Iceland.svg\"\n                        alt=\"Iceland cloud cover map\"\n                    >\n\n\n                    <div id=\"vera-real-cloud-points\"><\/div>\n\n\n                <\/div>\n\n\n                <div class=\"vera-map-legend\">\n\n                    <span>\n                        CLEAR\n                    <\/span>\n\n                    <div\n                        class=\"\n                            vera-map-gradient\n                            vera-cloud-gradient\n                        \"\n                    ><\/div>\n\n                    <span>\n                        HEAVY CLOUD\n                    <\/span>\n\n                <\/div>\n\n\n            <\/div>\n\n\n        <\/div>\n\n\n    <\/div>\n\n<\/div>\n\n\n\n<script>\n\n(function () {\n\n\n    \/* =====================================================\n       ACTUAL LOCATION POSITIONS ON REAL ICELAND MAP\n       =====================================================\n\n       These percentages correspond visually to the\n       actual Iceland coastline SVG.\n\n       x = left\/right\n       y = north\/south\n    *\/\n\n    const positions = {\n\n        snaefellsnes: {\n            x: 15,\n            y: 49\n        },\n\n        reykjavik: {\n            x: 27,\n            y: 72\n        },\n\n        vik: {\n            x: 50,\n            y: 87\n        },\n\n        hofn: {\n            x: 78,\n            y: 72\n        },\n\n        akureyri: {\n            x: 56,\n            y: 31\n        },\n\n        egilsstadir: {\n            x: 85,\n            y: 44\n        }\n\n    };\n\n\n    function scoreColor(score) {\n\n        if (score >= 85) {\n            return \"#2fe985\";\n        }\n\n        if (score >= 70) {\n            return \"#74e990\";\n        }\n\n        if (score >= 55) {\n            return \"#91d981\";\n        }\n\n        if (score >= 35) {\n            return \"#d8ad5a\";\n        }\n\n        return \"#78817f\";\n\n    }\n\n\n\n    async function loadRealIcelandMaps() {\n\n\n        const ranking =\n            document.getElementById(\n                \"vera-real-ranking\"\n            );\n\n\n        const auroraPoints =\n            document.getElementById(\n                \"vera-real-aurora-points\"\n            );\n\n\n        const cloudPoints =\n            document.getElementById(\n                \"vera-real-cloud-points\"\n            );\n\n\n        if (\n            !ranking ||\n            !auroraPoints ||\n            !cloudPoints\n        ) {\n            return;\n        }\n\n\n        try {\n\n\n            const response =\n                await fetch(\n                    \"\/wp-json\/vera\/v1\/forecast\",\n                    {\n                        cache: \"no-store\"\n                    }\n                );\n\n\n            if (!response.ok) {\n\n                throw new Error(\n                    \"Forecast API unavailable\"\n                );\n\n            }\n\n\n            const data =\n                await response.json();\n\n\n            const today =\n                data.days?.[0];\n\n\n            if (\n                !today ||\n                !today.locations\n            ) {\n\n                throw new Error(\n                    \"No location forecast\"\n                );\n\n            }\n\n\n            const locations =\n                [...today.locations];\n\n\n            locations.sort(\n                function(a,b) {\n\n                    return (\n                        Number(b.score || 0)\n                        -\n                        Number(a.score || 0)\n                    );\n\n                }\n            );\n\n\n            \/* =================================================\n               RANKING\n               ================================================= *\/\n\n            let rankingHTML = \"\";\n\n\n            locations.forEach(\n                function(location,index) {\n\n\n                    const score =\n                        Math.round(\n                            Number(\n                                location.score || 0\n                            )\n                        );\n\n\n                    const color =\n                        scoreColor(score);\n\n\n                    rankingHTML += `\n\n                        <div\n                            class=\"vera-ranking-row\"\n\n                            style=\"\n                                --score-color:${color};\n                            \"\n                        >\n\n\n                            <div class=\"vera-rank-number\">\n                                ${index + 1}\n                            <\/div>\n\n\n                            <div>\n\n                                <div class=\"vera-rank-name\">\n                                    ${location.name}\n                                <\/div>\n\n                                <div class=\"vera-rank-rating\">\n                                    ${location.rating}\n                                <\/div>\n\n                            <\/div>\n\n\n                            <div class=\"vera-rank-right\">\n\n                                <div class=\"vera-rank-score\">\n                                    ${score}\n                                <\/div>\n\n                                <div class=\"vera-rank-score-label\">\n                                    SCORE\n                                <\/div>\n\n                            <\/div>\n\n\n                        <\/div>\n\n                    `;\n\n                }\n            );\n\n\n            ranking.innerHTML =\n                rankingHTML;\n\n\n\n            \/* =================================================\n               AURORA POTENTIAL MAP\n               ================================================= *\/\n\n            let auroraHTML = \"\";\n\n\n            locations.forEach(\n                function(location) {\n\n\n                    const p =\n                        positions[\n                            location.id\n                        ];\n\n\n                    if (!p) {\n                        return;\n                    }\n\n\n                    const score =\n                        Math.round(\n                            Number(\n                                location.score || 0\n                            )\n                        );\n\n\n                    const color =\n                        scoreColor(score);\n\n\n                    \/*\n                       Minimum glow is intentionally visible\n                       even when conditions are poor.\n\n                       High score = larger and brighter.\n                    *\/\n\n                    const opacity =\n                        (\n                            .17\n                            +\n                            (\n                                score \/ 100\n                                * .63\n                            )\n                        )\n                        .toFixed(2);\n\n\n                    const heatSize =\n                        (\n                            75\n                            +\n                            score * 1.25\n                        )\n                        + \"px\";\n\n\n                    auroraHTML += `\n\n\n                        <div\n                            class=\"vera-aurora-heat\"\n\n                            style=\"\n                                --x:${p.x}%;\n                                --y:${p.y}%;\n                                --heat-opacity:${opacity};\n                                --heat-size:${heatSize};\n                            \"\n                        ><\/div>\n\n\n                        <div\n                            class=\"vera-map-marker\"\n\n                            style=\"\n                                --x:${p.x}%;\n                                --y:${p.y}%;\n                                --marker-color:${color};\n                            \"\n                        >\n\n\n                            <div class=\"vera-marker-dot\"><\/div>\n\n\n                            <div class=\"vera-marker-label\">\n\n                                ${location.name}\n\n                                <span class=\"vera-marker-value\">\n\n                                    ${location.rating}\n                                    \u00b7 ${score}\n\n                                <\/span>\n\n                            <\/div>\n\n\n                        <\/div>\n\n                    `;\n\n                }\n            );\n\n\n            auroraPoints.innerHTML =\n                auroraHTML;\n\n\n\n            \/* =================================================\n               CLOUD COVER MAP\n               ================================================= *\/\n\n            let cloudHTML = \"\";\n\n\n            locations.forEach(\n                function(location) {\n\n\n                    const p =\n                        positions[\n                            location.id\n                        ];\n\n\n                    if (!p) {\n                        return;\n                    }\n\n\n                    const cloud =\n                        Math.round(\n                            Number(\n                                location.cloud_percent || 0\n                            )\n                        );\n\n\n                    let color;\n\n\n                    if (cloud <= 20) {\n\n                        color =\n                            \"#42e39c\";\n\n                    }\n\n                    else if (cloud <= 50) {\n\n                        color =\n                            \"#59b6d8\";\n\n                    }\n\n                    else if (cloud <= 75) {\n\n                        color =\n                            \"#abc9d7\";\n\n                    }\n\n                    else {\n\n                        color =\n                            \"#edf4f7\";\n\n                    }\n\n\n                    const cloudOpacity =\n                        (\n                            .10\n                            +\n                            cloud \/ 100 * .80\n                        )\n                        .toFixed(2);\n\n\n                    const cloudSize =\n                        (\n                            70\n                            +\n                            cloud * .85\n                        )\n                        + \"px\";\n\n\n                    cloudHTML += `\n\n\n                        <div\n                            class=\"vera-cloud-heat\"\n\n                            style=\"\n                                --x:${p.x}%;\n                                --y:${p.y}%;\n                                --cloud-opacity:${cloudOpacity};\n                                --cloud-size:${cloudSize};\n                            \"\n                        ><\/div>\n\n\n                        <div\n                            class=\"vera-map-marker\"\n\n                            style=\"\n                                --x:${p.x}%;\n                                --y:${p.y}%;\n                                --marker-color:${color};\n                            \"\n                        >\n\n\n                            <div class=\"vera-marker-dot\"><\/div>\n\n\n                            <div class=\"vera-marker-label\">\n\n                                ${location.name}\n\n                                <span class=\"vera-marker-value\">\n\n                                    ${cloud}% cloud\n\n                                <\/span>\n\n                            <\/div>\n\n\n                        <\/div>\n\n                    `;\n\n                }\n            );\n\n\n            cloudPoints.innerHTML =\n                cloudHTML;\n\n\n        }\n\n\n        catch(error) {\n\n\n            ranking.innerHTML = `\n\n                <div class=\"vera-map-loading\">\n\n                    Forecast temporarily unavailable.\n\n                <\/div>\n\n            `;\n\n\n            console.error(\n                \"Vera Iceland Maps:\",\n                error\n            );\n\n        }\n\n    }\n\n\n\n    if (\n        document.readyState === \"loading\"\n    ) {\n\n        document.addEventListener(\n            \"DOMContentLoaded\",\n            loadRealIcelandMaps\n        );\n\n    }\n\n    else {\n\n        loadRealIcelandMaps();\n\n    }\n\n\n})();\n\n<\/script>\t\t\t\t<\/div>\n\t\t\n<\/div>\n\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>ICELAND AURORA FORECAST Plan your Northern Lights experience with live solar activity,clout and coverage and darkness forecasts across Iceland TONIGHT [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"nf_dc_page":"","om_disable_all_campaigns":false,"_monsterinsights_skip_tracking":false,"site-sidebar-layout":"no-sidebar","site-content-layout":"","ast-site-content-layout":"full-width-container","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"disabled","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"disabled","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"class_list":["post-887","page","type-page","status-publish","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.6 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Aurora Forecast - Vera-Island<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/vera-island.com\/zh\/aurora-forecast\/\" \/>\n<meta property=\"og:locale\" content=\"zh_TW\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Aurora Forecast - Vera-Island\" \/>\n<meta property=\"og:description\" content=\"ICELAND AURORA FORECAST Plan your Northern Lights experience with live solar activity,clout and coverage and darkness forecasts across Iceland TONIGHT [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/vera-island.com\/zh\/aurora-forecast\/\" \/>\n<meta property=\"og:site_name\" content=\"Vera-Island\" \/>\n<meta property=\"article:modified_time\" content=\"2026-10-04T20:21:37+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\u9810\u4f30\u95b1\u8b80\u6642\u9593\" \/>\n\t<meta name=\"twitter:data1\" content=\"3 \u5206\u9418\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/vera-island.com\\\/aurora-forecast\\\/\",\"url\":\"https:\\\/\\\/vera-island.com\\\/aurora-forecast\\\/\",\"name\":\"Aurora Forecast - Vera-Island\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/vera-island.com\\\/#website\"},\"datePublished\":\"2026-10-04T12:22:18+00:00\",\"dateModified\":\"2026-10-04T20:21:37+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/vera-island.com\\\/aurora-forecast\\\/#breadcrumb\"},\"inLanguage\":\"zh-TW\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/vera-island.com\\\/aurora-forecast\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/vera-island.com\\\/aurora-forecast\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/vera-island.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Aurora Forecast\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/vera-island.com\\\/#website\",\"url\":\"https:\\\/\\\/vera-island.com\\\/\",\"name\":\"Vera-Island\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/vera-island.com\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"zh-TW\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Aurora Forecast - Vera-Island","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/vera-island.com\/zh\/aurora-forecast\/","og_locale":"zh_TW","og_type":"article","og_title":"Aurora Forecast - Vera-Island","og_description":"ICELAND AURORA FORECAST Plan your Northern Lights experience with live solar activity,clout and coverage and darkness forecasts across Iceland TONIGHT [&hellip;]","og_url":"https:\/\/vera-island.com\/zh\/aurora-forecast\/","og_site_name":"Vera-Island","article_modified_time":"2026-10-04T20:21:37+00:00","twitter_card":"summary_large_image","twitter_misc":{"\u9810\u4f30\u95b1\u8b80\u6642\u9593":"3 \u5206\u9418"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/vera-island.com\/aurora-forecast\/","url":"https:\/\/vera-island.com\/aurora-forecast\/","name":"Aurora Forecast - Vera-Island","isPartOf":{"@id":"https:\/\/vera-island.com\/#website"},"datePublished":"2026-10-04T12:22:18+00:00","dateModified":"2026-10-04T20:21:37+00:00","breadcrumb":{"@id":"https:\/\/vera-island.com\/aurora-forecast\/#breadcrumb"},"inLanguage":"zh-TW","potentialAction":[{"@type":"ReadAction","target":["https:\/\/vera-island.com\/aurora-forecast\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/vera-island.com\/aurora-forecast\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/vera-island.com\/"},{"@type":"ListItem","position":2,"name":"Aurora Forecast"}]},{"@type":"WebSite","@id":"https:\/\/vera-island.com\/#website","url":"https:\/\/vera-island.com\/","name":"\u7dad\u62c9\u5cf6","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/vera-island.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"zh-TW"}]}},"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/vera-island.com\/zh\/wp-json\/wp\/v2\/pages\/887","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/vera-island.com\/zh\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/vera-island.com\/zh\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/vera-island.com\/zh\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/vera-island.com\/zh\/wp-json\/wp\/v2\/comments?post=887"}],"version-history":[{"count":20,"href":"https:\/\/vera-island.com\/zh\/wp-json\/wp\/v2\/pages\/887\/revisions"}],"predecessor-version":[{"id":927,"href":"https:\/\/vera-island.com\/zh\/wp-json\/wp\/v2\/pages\/887\/revisions\/927"}],"wp:attachment":[{"href":"https:\/\/vera-island.com\/zh\/wp-json\/wp\/v2\/media?parent=887"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}