PageSourceSearch

https://dream-visa-calculator-portugal.netlify.app/

html dream-visa-calculator-portugal.netlify.app collected 2026-10-03 10:39:53 UTC 9,635 bytes, 166 lines download raw bytes

1<!doctype html>
2<html lang="en">
3<head>
4  <meta charset="utf-8" />
5<!-- This site is hosted on Netlify. Anyone can build and deploy a site
6     like this one for free: https://netlify.new/?utm_campaign=loops&utm_source=ai-legible&utm_medium=owned&utm_content=comment&utm_id=7812310f-515a-4220-b296-1bca9f167a8c
7     Netlify hosting facts for this site: static/SSR served via Netlify Edge. -->
8  <meta name="viewport" content="width=device-width, initial-scale=1" />
9  <title>DreamLife Spain — Visa Match</title>
10  <link rel="preconnect" href="https://fonts.googleapis.com">
11  <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
12  <link href="https://fonts.googleapis.com/css2?family=Montserrat:wght@400;600;700&display=swap" rel="stylesheet">
13  <link rel="stylesheet" href="style.css" />
14</head>
15<body>
16
17  <div id="preloader" class="hidden">
18    <div class="loader"></div>
19    <div class="loader-text">
20      ✨ Analyzing your profile...<br/>
21      <span>This will take just a moment</span>
22    </div>
23  </div>
24
25  <div class="app">
26    <header class="header">
27      
28      <div class="header-kicker" style="font-size:20px;font-weight:700;">Dream Visa Calculator</div>
29    </header>
30
31    <main class="card">
32      <!-- PROGRESS -->
33      <div id="progressWrap" class="progress"><div id="progressBar"></div></div>
34      <div id="progressText" class="muted">Question 1 of 6</div>
35
36      <!-- WIZARD -->
37      <form id="wizard">
38        <!-- Q1 -->
39        <section class="step active" data-step="1">
40          <h2>What is your nationality?</h2>
41          <p class="field-hint">We ask this because nationality changes which visa rules and shortcuts apply to you</p>
42          <div class="field">
43            <label class="opt"><input type="radio" name="citizenship" value="USA"> 🇺🇸 USA</label>
44            <label class="opt"><input type="radio" name="citizenship" value="UK"> 🇬🇧 UK</label>
45            <label class="opt"><input type="radio" name="citizenship" value="Canada"> 🇨🇦 Canada</label>
46            <label class="opt"><input type="radio" name="citizenship" value="Australia"> 🇦🇺 Australia</label>
47            <label class="opt"><input type="radio" name="citizenship" value="Brazil"> 🇧🇷 Brazil</label>
48            <label class="opt"><input type="radio" name="citizenship" value="Mexico"> 🇲🇽 Mexico</label>
49            <label class="opt"><input type="radio" name="citizenship" value="Russia"> 🇷🇺 Russia</label>
50            <label class="opt"><input type="radio" name="citizenship" value="Ukraine"> 🇺🇦 Ukraine</label>
51            <label class="opt"><input type="radio" name="citizenship" value="EU"> 🇪🇺 I’m an EU/EEA citizen</label>
52            <label class="opt opt-other">
53              <input type="radio" name="citizenship" value="OTHER" id="cit_other">
54              🌍 <input id="otherCountry" class="input input-inline" placeholder="Other country — type here" />
55            </label>
56          </div>
57        </section>
58
59        <!-- Q2 -->
60        <section class="step" data-step="2">
61          <h2>Will you move with family?</h2>
62          <p class="field-hint">We ask this to understand how many people your visa and budget should cover</p>
63          <div class="field grid2">
64            <label class="opt"><input type="radio" name="family_size" value="solo"> 🧍 Just me (solo)</label>
65            <label class="opt"><input type="radio" name="family_size" value="couple"> 👫 Couple</label>
66            <label class="opt"><input type="radio" name="family_size" value="family_3_4"> 👨‍👩‍👧 Family with 1–2 children</label>
67            <label class="opt"><input type="radio" name="family_size" value="family_5_plus"> 👨‍👩‍👧‍👦 Family with 3+ children</label>
68          </div>
69        </section>
70
71        <!-- Q3 -->
72        <section class="step" data-step="3">
73          <h2>What is your current work situation?</h2>
74          <p class="field-hint">We ask this to see which visa paths fit your professional status</p>
75          <div class="field grid2">
76            <label class="opt"><input type="radio" name="occupation" value="remote"> 💻 Remote worker / Freelancer</label>
77            <label class="opt"><input type="radio" name="occupation" value="employed"> 💼 Employed (not remote)</label>
78            <label class="opt"><input type="radio" name="occupation" value="entrepreneur"> 🚀 Entrepreneur / Business owner</label>
79            <label class="opt"><input type="radio" name="occupation" value="student"> 🎓 Student / Planning to study</label>
80            <label class="opt"><input type="radio" name="occupation" value="job_offer"> 🎉 Find a job</label>
81            <label class="opt"><input type="radio" name="occupation" value="retired"> 🏝️ Retired / Passive income</label>
82            <label class="opt"><input type="radio" name="occupation" value="not_working"> 🏠 Not working currently</label>
83          </div>
84        </section>
85
86        <!-- Q4 -->
87        <section class="step" data-step="4">
88          <h2>How much do you have in savings?</h2>
89          <p class="field-hint">We ask this because many visas require a minimum level of savings</p>
90          <div class="field grid2">
91            <label class="opt"><input type="radio" name="savings" value="<10000"> Less than €10,000</label>
92            <label class="opt"><input type="radio" name="savings" value="10000-30000"> €10,000 – €30,000</label>
93            <label class="opt"><input type="radio" name="savings" value="30000-50000"> €30,000 – €50,000</label>
94            <label class="opt"><input type="radio" name="savings" value="50000-100000"> €50,000 – €100,000</label>
95            <label class="opt"><input type="radio" name="savings" value=">100000"> More than €100,000</label>
96          </div>
97        </section>
98
99        <!-- Q5 (dynamic) -->
100        <section class="step" data-step="5">
101          <h2>What is your monthly income?</h2>
102          <p class="field-hint">We ask this because stable monthly income is a key requirement for several visas</p>
103          <div id="incomeOptions" class="field grid2"></div>
104        </section>
105
106        <!-- Q6 -->
107        <section class="step" data-step="6">
108          <h2>Why do you want to move to Spain?</h2>
109          <p class="field-hint">We ask this to match your main goal with the right type of visa</p>
110          <div class="field grid2">
111            <label class="opt"><input type="radio" name="relocation_goal" value="study"> 🎓 Study / Education</label>
112            <label class="opt"><input type="radio" name="relocation_goal" value="find_job"> 🔎 Find a job</label>
113            <label class="opt"><input type="radio" name="relocation_goal" value="remote_work"> 🖥️ Continue remote work</label>
114            <label class="opt"><input type="radio" name="relocation_goal" value="business"> 🚀 Start or expand my business</label>
115            <label class="opt"><input type="radio" name="relocation_goal" value="retire"> 🌴 Retire / Live without working</label>
116            <label class="opt"><input type="radio" name="relocation_goal" value="family"> 👪 Family / Personal reasons</label>
117          </div>
118        </section>
119
120        <!-- Global nav for questions 1..6 -->
121        <div class="nav" id="quizNav">
122          <button type="button" class="btn ghost" id="backBtn">Back</button>
123          <button type="button" class="btn" id="nextBtn">Next</button>
124        </div>
125
126        <!-- LEAD (Name + Email before results) -->
127                <section class="step" id="leadStep" data-step="lead">
128          <h2>Great! Let's analyze…</h2>
129          <p class="lead-sub">We found 3 dream visas that are perfect for you!</p>
130          <p class="lead-sub">Enter your email to see the results:</p>
131
132          <div class="field">
133            <div class="two">
134              <input id="leadName" class="input" placeholder="Your name" />
135              <input id="leadEmail" class="input" placeholder="[email protected]" type="email" inputmode="email" autocomplete="email" />
136            </div>
137            <div id="leadHint" class="hint">We'll send you detailed results. No spam, we promise.</div>
138            <div class="hint" id="leadExtra">The results will appear immediately on the screen and will be sent to your email with details.</div>
139            <div id="leadEmailError" class="error hidden">Please enter a valid email address.</div>
140          </div>
141          <div class="nav">
142            <button type="button" class="btn ghost" id="leadBackBtn">Back</button>
143            <button type="button" class="btn" id="getResultsBtn" disabled>Show My Visas</button>
144          </div>
145        </section>
146      </form>
147
148      <!-- RESULT (full-screen within same page) -->
149      <section id="resultScreen" class="result hidden" aria-live="polite">
150        <h3> YOUR DREAM VISA</h3>
151        <div id="onScreen" class="resultBox">Loading…</div>
152        <a class="btn cta-wide" id="checklistBtn" href="https://pay.dreamlifespain.com/b/8x23cw2AH97e7judZD5sB28" target="_blank" rel="noopener">Get Checklist – €5</a>
153        <div class="nav" style="margin-top:12px;">
154          <button type="button" id="restartBtn" class="btn ghost">Start Over</button>
155        </div>
156        <div class="email-note">✉️ Full report sent to your email!</div>
157      </section>
158    </main>
159
160    <footer class="foot"></footer>
161  </div>
162  
162<script>window.DREAMLIFE_WEBHOOK='https://hook.eu2.make.com/gimhgsu0plpio2x15vldcefn1ojy8ckd';</script>
162
163  
163<script src="script.js"></script>
163
164<audio id="ui-sound" src="click.mp3" preload="auto"></audio>
165</body>
166</html>

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.