diff --git a/app/api/contact/route.ts b/app/api/contact/route.ts
index 521626d..32cb42b 100644
--- a/app/api/contact/route.ts
+++ b/app/api/contact/route.ts
@@ -4,29 +4,47 @@ import nodemailer from "nodemailer"
export async function POST(req: Request) {
try {
const body = await req.json()
- const { name, email, phone, service, message, recaptcha } = body
+ const { name, email, phone, service, message, recaptchaToken, recaptchaAction } = body
+ const recaptchaSecret =
+ process.env.RECAPTCHA_SECRET_KEY ||
+ "6LfqD1osAAAAAEbpEApPkiQUbyjdKYx2OvhY2XTk"
+ const minScore = Number(process.env.RECAPTCHA_MIN_SCORE) || 0.5
- // 1. Verify reCaptcha
- const recaptchaResponse = await fetch(
- `https://www.google.com/recaptcha/api/siteverify?secret=${process.env.RECAPTCHA_SECRET_KEY}&response=${recaptcha}`,
- { method: "POST" }
- )
+ if (!recaptchaToken) {
+ return NextResponse.json({ error: "Missing reCaptcha token" }, { status: 400 })
+ }
+
+ // 1. Verify reCaptcha v3
+ const verifyBody = new URLSearchParams({
+ secret: recaptchaSecret,
+ response: recaptchaToken,
+ })
+ const recaptchaResponse = await fetch("https://www.google.com/recaptcha/api/siteverify", {
+ method: "POST",
+ headers: { "Content-Type": "application/x-www-form-urlencoded" },
+ body: verifyBody.toString(),
+ })
const recaptchaData = await recaptchaResponse.json()
- // For local testing without secret key, we might skip this
- if (process.env.RECAPTCHA_SECRET_KEY && !recaptchaData.success) {
+ if (!recaptchaData.success || recaptchaData.action !== recaptchaAction || recaptchaData.score < minScore) {
return NextResponse.json({ error: "reCaptcha verification failed" }, { status: 400 })
}
// 2. Configure Nodemailer
// NOTE: In a real environment, you'd use your SMTP credentials (Gmail, SendGrid, etc.)
+ const smtpUser = process.env.SMTP_USER
+ const smtpPass = process.env.SMTP_PASS
+ if (!smtpUser || !smtpPass) {
+ return NextResponse.json({ error: "SMTP is not configured" }, { status: 500 })
+ }
+
const transporter = nodemailer.createTransport({
host: process.env.SMTP_HOST || "smtp.gmail.com",
port: Number(process.env.SMTP_PORT) || 587,
secure: false,
auth: {
- user: process.env.SMTP_USER,
- pass: process.env.SMTP_PASS,
+ user: smtpUser,
+ pass: smtpPass,
},
})
@@ -35,58 +53,60 @@ export async function POST(req: Request) {
+
-
-
-
Új üzenet érkezett
+
+
+
+
+
Magyar
+
Nev
+
${name}
+
Email
+
${email}
+
Telefonszam
+
${phone || "-"}
+
Szolgaltatas tipusa
+
${service}
+
Uzenet
+
${message}
-
-
-
-
-
Telefonszám
-
${phone || "-"}
-
-
-
Szolgáltatás típusa
-
${service}
-
-
-
-
- © 2026 SkyFly Travel Landing Page System
+
+
+
English
+
Name
+
${name}
+
Email
+
${email}
+
Phone
+
${phone || "-"}
+
Service type
+
${service}
+
Message
+
${message}
+
+
`
-
- // 4. Send Email
+// 4. Send Email
await transporter.sendMail({
- from: `"SkyFly Web" <${process.env.SMTP_USER}>`,
- to: "bognar.szialrd83@gmail.com",
- subject: `Weboldal Üzenet: ${name} (${service})`,
+ from: `"SkyFly Web" <${process.env.MAIL_FROM || smtpUser}>`,
+ to: "bognar.szilard83@gmail.com",
+ subject: `Weboldal uzenet / Website message: ${name} (${service})`,
html: htmlEmail,
})
diff --git a/components/contact-form.tsx b/components/contact-form.tsx
index 9f47ba4..8857894 100644
--- a/components/contact-form.tsx
+++ b/components/contact-form.tsx
@@ -1,18 +1,29 @@
"use client"
-import React, { useState, useRef } from "react"
+import React, { useEffect, useState } from "react"
import { useLanguage } from "@/lib/language-context"
import { Button } from "@/components/ui/button"
import { Input } from "@/components/ui/input"
import { Textarea } from "@/components/ui/textarea"
import { Card } from "@/components/ui/card"
-import { cn } from "@/lib/utils"
-import ReCAPTCHA from "react-google-recaptcha"
import { Send, CheckCircle2, AlertCircle } from "lucide-react"
+declare global {
+ interface Window {
+ grecaptcha?: {
+ ready: (cb: () => void) => void
+ execute: (siteKey: string, options: { action: string }) => Promise
+ }
+ }
+}
+
export default function ContactForm() {
- const { t } = useLanguage()
- const recaptchaRef = useRef(null)
+ const { t, language } = useLanguage()
+ const siteKey =
+ process.env.NEXT_PUBLIC_RECAPTCHA_SITE_KEY ||
+ "6LfqD1osAAAAANd6P-3qin0cRdFQSGX92F02A3dE"
+ const recaptchaAction = "contact_form"
+ const [recaptchaReady, setRecaptchaReady] = useState(false)
const [status, setStatus] = useState<"idle" | "loading" | "success" | "error">("idle")
const [formData, setFormData] = useState({
@@ -24,6 +35,59 @@ export default function ContactForm() {
consent: false
})
+ useEffect(() => {
+ if (!siteKey) return
+ const scriptId = "recaptcha-v3"
+ const onReady = () => {
+ window.grecaptcha?.ready(() => setRecaptchaReady(true))
+ }
+
+ if (document.getElementById(scriptId)) {
+ onReady()
+ return
+ }
+
+ const script = document.createElement("script")
+ script.id = scriptId
+ script.src = `https://www.google.com/recaptcha/api.js?render=${siteKey}`
+ script.async = true
+ script.defer = true
+ script.onload = onReady
+ script.onerror = () => setRecaptchaReady(false)
+ document.head.appendChild(script)
+ }, [siteKey])
+
+ const waitForRecaptcha = (timeoutMs = 4000) =>
+ new Promise((resolve, reject) => {
+ const started = Date.now()
+ const tick = () => {
+ if (window.grecaptcha) {
+ window.grecaptcha.ready(() => resolve())
+ return
+ }
+ if (Date.now() - started >= timeoutMs) {
+ reject(new Error("reCAPTCHA not ready"))
+ return
+ }
+ setTimeout(tick, 150)
+ }
+ tick()
+ })
+
+ const getRecaptchaToken = async () => {
+ if (!window.grecaptcha) {
+ throw new Error("reCAPTCHA not ready")
+ }
+ return new Promise((resolve, reject) => {
+ window.grecaptcha?.ready(() => {
+ window.grecaptcha
+ ?.execute(siteKey, { action: recaptchaAction })
+ .then(resolve)
+ .catch(reject)
+ })
+ })
+ }
+
const handleChange = (e: React.ChangeEvent) => {
const { name, value, type } = e.target as any
setFormData(prev => ({
@@ -35,10 +99,14 @@ export default function ContactForm() {
const handleSubmit = async (e: React.FormEvent) => {
e.preventDefault()
- const recaptchaValue = recaptchaRef.current?.getValue()
- if (!recaptchaValue) {
- alert("Please complete the reCaptcha")
- return
+ if (!recaptchaReady) {
+ try {
+ await waitForRecaptcha()
+ setRecaptchaReady(true)
+ } catch {
+ alert("reCAPTCHA is not ready yet. Please try again.")
+ return
+ }
}
if (!formData.consent) {
@@ -51,16 +119,21 @@ export default function ContactForm() {
try {
// In a static export environment, this would hit a PHP script on the server
// or an external API. Here we assume an API route for local testing.
- const response = await fetch("/api/contact", {
+ const recaptchaToken = await getRecaptchaToken()
+ const response = await fetch("/contact.php", {
method: "POST",
headers: { "Content-Type": "application/json" },
- body: JSON.stringify({ ...formData, recaptcha: recaptchaValue })
+ body: JSON.stringify({
+ ...formData,
+ recaptchaToken,
+ recaptchaAction,
+ language,
+ })
})
if (response.ok) {
setStatus("success")
setFormData({ name: "", email: "", phone: "", service: "REPTÉRI TRANSZFER", message: "", consent: false })
- recaptchaRef.current?.reset()
} else {
setStatus("error")
}
@@ -192,10 +265,9 @@ export default function ContactForm() {
{/* reCaptcha */}
-
+
+ A weboldalt reCAPTCHA v3 védi.
+
{status === "error" && (
diff --git a/contact.php b/contact.php
index af3c0a7..ad74403 100644
--- a/contact.php
+++ b/contact.php
@@ -1,11 +1,6 @@
$message];
+ if (!empty($_GET["debug"]) && $details) {
+ $response["details"] = $details;
+ }
+ echo json_encode($response);
+ exit;
+}
+
if ($_SERVER["REQUEST_METHOD"] === "POST") {
$data = json_decode(file_get_contents("php://input"), true);
-
- $name = strip_tags($data["name"]);
- $email = filter_var($data["email"], FILTER_SANITIZE_EMAIL);
- $phone = strip_tags($data["phone"]);
- $service = strip_tags($data["service"]);
- $message = strip_tags($data["message"]);
- $recaptcha = $data["recaptcha"];
- // 1. Verify reCaptcha
- $verifyResponse = file_get_contents("https://www.google.com/recaptcha/api/siteverify?secret=$secretKey&response=$recaptcha");
- $responseData = json_decode($verifyResponse);
+ $name = strip_tags($data["name"] ?? "");
+ $email = filter_var($data["email"] ?? "", FILTER_SANITIZE_EMAIL);
+ $phone = strip_tags($data["phone"] ?? "");
+ $service = strip_tags($data["service"] ?? "");
+ $message = strip_tags($data["message"] ?? "");
+ $language = $data["language"] ?? "hu";
+ $recaptchaToken = $data["recaptchaToken"] ?? "";
+ $recaptchaAction = $data["recaptchaAction"] ?? "";
- if (!$responseData->success) {
- http_response_code(400);
- echo json_encode(["error" => "reCaptcha verification failed"]);
- exit;
+ if (!$recaptchaToken) {
+ json_error("Missing reCaptcha token");
}
- // 2. Prepare HTML Email
- $subject = "Weboldal Üzenet: $name ($service)";
-
+ // 1. Verify reCaptcha v3
+ $verifyResponse = null;
+ if (function_exists("curl_init")) {
+ $ch = curl_init("https://www.google.com/recaptcha/api/siteverify");
+ curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
+ curl_setopt($ch, CURLOPT_POST, true);
+ curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query([
+ "secret" => $secretKey,
+ "response" => $recaptchaToken,
+ ]));
+ $verifyResponse = curl_exec($ch);
+ curl_close($ch);
+ } else {
+ $verifyResponse = file_get_contents(
+ "https://www.google.com/recaptcha/api/siteverify?secret=$secretKey&response=$recaptchaToken"
+ );
+ }
+
+ if ($verifyResponse === false || !$verifyResponse) {
+ $last = error_get_last();
+ json_error("reCaptcha verification failed", 400, $last ? $last["message"] : "No response");
+ }
+
+ $responseData = json_decode($verifyResponse);
+ if (!$responseData) {
+ json_error("reCaptcha verification failed", 400, "Invalid JSON response");
+ }
+
+ if (
+ !$responseData->success ||
+ $responseData->action !== $expectedAction ||
+ $responseData->score < $minScore
+ ) {
+ json_error("reCaptcha verification failed", 400, json_encode($responseData));
+ }
+
+ $isEnglish = $language === "en";
+ $subject = $isEnglish
+ ? "Website message: $name ($service)"
+ : "Weboldal uzenet: $name ($service)";
+
+ $title = $isEnglish ? "New message" : "Uj uzenet";
+ $labelName = $isEnglish ? "Name" : "Nev";
+ $labelEmail = $isEnglish ? "Email" : "Email";
+ $labelPhone = $isEnglish ? "Phone" : "Telefonszam";
+ $labelService = $isEnglish ? "Service type" : "Szolgaltatas tipusa";
+ $labelMessage = $isEnglish ? "Message" : "Uzenet";
+
$htmlEmail = "
+
+
+
-
-
Új üzenet érkezett
+
+ SkyFly Travel - $title
-
-
Név: $name
-
Email: $email
-
Telefonszám: $phone
-
Szolgáltatás: $service
-
-
Üzenet:
-
$message
+
+
$labelName: $name
+
$labelEmail: $email
+
$labelPhone: $phone
+
$labelService: $service
+
$labelMessage:
+
$message
@@ -64,13 +114,16 @@ if ($_SERVER["REQUEST_METHOD"] === "POST") {
$headers = "MIME-Version: 1.0" . "\r\n";
$headers .= "Content-type:text/html;charset=UTF-8" . "\r\n";
$headers .= "From:
" . "\r\n";
+ if ($email) {
+ $headers .= "Reply-To: $email" . "\r\n";
+ }
// 3. Send Email
if (mail($toEmail, $subject, $htmlEmail, $headers)) {
echo json_encode(["success" => true]);
} else {
- http_response_code(500);
- echo json_encode(["error" => "Failed to send email"]);
+ $last = error_get_last();
+ json_error("Failed to send email", 500, $last ? $last["message"] : "mail() returned false");
}
}
?>
diff --git a/images/1.jpg b/images/1.jpg
index 7fa02f7..4cdcff1 100644
Binary files a/images/1.jpg and b/images/1.jpg differ
diff --git a/images/1_cut.jpg b/images/1_cut.jpg
index 948cc13..b423745 100644
Binary files a/images/1_cut.jpg and b/images/1_cut.jpg differ
diff --git a/images/2.jpg b/images/2.jpg
index 9936e90..de18beb 100644
Binary files a/images/2.jpg and b/images/2.jpg differ
diff --git a/images/3.jpg b/images/3.jpg
index 2441aed..fcfb505 100644
Binary files a/images/3.jpg and b/images/3.jpg differ
diff --git a/images/Audi A6.JPG b/images/Audi A6.JPG
index f262264..0913b03 100644
Binary files a/images/Audi A6.JPG and b/images/Audi A6.JPG differ
diff --git a/images/E-osztály2.JPG b/images/E-osztály2.JPG
index cc93fc5..ed7b335 100644
Binary files a/images/E-osztály2.JPG and b/images/E-osztály2.JPG differ
diff --git a/images/E-osztály4.JPG b/images/E-osztály4.JPG
index 19d4d8e..235da7b 100644
Binary files a/images/E-osztály4.JPG and b/images/E-osztály4.JPG differ
diff --git a/images/Flotta3.jpg b/images/Flotta3.jpg
index b4e8272..9143e50 100644
Binary files a/images/Flotta3.jpg and b/images/Flotta3.jpg differ
diff --git a/images/Ford Mondeo fehér MUH416.JPG b/images/Ford Mondeo fehér MUH416.JPG
index dab7966..f17ae7c 100644
Binary files a/images/Ford Mondeo fehér MUH416.JPG and b/images/Ford Mondeo fehér MUH416.JPG differ
diff --git a/images/Ford Transit.jpg b/images/Ford Transit.jpg
index 0833639..66cd355 100644
Binary files a/images/Ford Transit.jpg and b/images/Ford Transit.jpg differ
diff --git a/images/Ford_tourneo_fekete1.JPG b/images/Ford_tourneo_fekete1.JPG
index 6b1fa93..c42e803 100644
Binary files a/images/Ford_tourneo_fekete1.JPG and b/images/Ford_tourneo_fekete1.JPG differ
diff --git a/images/Ford_tourneo_fekete2.JPG b/images/Ford_tourneo_fekete2.JPG
index b2a2d31..daeb0ff 100644
Binary files a/images/Ford_tourneo_fekete2.JPG and b/images/Ford_tourneo_fekete2.JPG differ
diff --git a/images/IMG_0494.JPG b/images/IMG_0494.JPG
index cb1043c..c68b9b0 100644
Binary files a/images/IMG_0494.JPG and b/images/IMG_0494.JPG differ
diff --git a/images/MB 0404-lq.jpg b/images/MB 0404-lq.jpg
index 108dc9a..3b427f1 100644
Binary files a/images/MB 0404-lq.jpg and b/images/MB 0404-lq.jpg differ
diff --git a/images/MB Sprinter (1).jpg b/images/MB Sprinter (1).jpg
index fcdf12b..ec3468e 100644
Binary files a/images/MB Sprinter (1).jpg and b/images/MB Sprinter (1).jpg differ
diff --git a/images/MB Sprinter (2).jpg b/images/MB Sprinter (2).jpg
index 199dca8..e00cca1 100644
Binary files a/images/MB Sprinter (2).jpg and b/images/MB Sprinter (2).jpg differ
diff --git a/images/NND.jpg b/images/NND.jpg
index 5853108..421a21f 100644
Binary files a/images/NND.jpg and b/images/NND.jpg differ
diff --git a/images/Opel Vivaro.JPG b/images/Opel Vivaro.JPG
index ecc73b6..6aba934 100644
Binary files a/images/Opel Vivaro.JPG and b/images/Opel Vivaro.JPG differ
diff --git a/images/PVR Skoda.JPG b/images/PVR Skoda.JPG
index 9528017..d3f4e7b 100644
Binary files a/images/PVR Skoda.JPG and b/images/PVR Skoda.JPG differ
diff --git a/images/Renault Grand Scenic es Renault Trafic.jpg b/images/Renault Grand Scenic es Renault Trafic.jpg
index d0d1663..705c4e8 100644
Binary files a/images/Renault Grand Scenic es Renault Trafic.jpg and b/images/Renault Grand Scenic es Renault Trafic.jpg differ
diff --git a/images/Renault Grand Scenic es Renault Trafic2.jpg b/images/Renault Grand Scenic es Renault Trafic2.jpg
index 36c306c..4856988 100644
Binary files a/images/Renault Grand Scenic es Renault Trafic2.jpg and b/images/Renault Grand Scenic es Renault Trafic2.jpg differ
diff --git a/images/Renault Grand Scenic es Renault Trafic_cut.jpg b/images/Renault Grand Scenic es Renault Trafic_cut.jpg
index 53f4abb..e882c74 100644
Binary files a/images/Renault Grand Scenic es Renault Trafic_cut.jpg and b/images/Renault Grand Scenic es Renault Trafic_cut.jpg differ
diff --git a/images/Setra 315 GT-HD.JPG b/images/Setra 315 GT-HD.JPG
index 901684b..ad63364 100644
Binary files a/images/Setra 315 GT-HD.JPG and b/images/Setra 315 GT-HD.JPG differ
diff --git a/images/Setra TOPP CLASS 415 HD (1)-lq.jpg b/images/Setra TOPP CLASS 415 HD (1)-lq.jpg
index 2193ef5..09e5089 100644
Binary files a/images/Setra TOPP CLASS 415 HD (1)-lq.jpg and b/images/Setra TOPP CLASS 415 HD (1)-lq.jpg differ
diff --git a/images/Setra TOPP CLASS 415 HD (2).jpg b/images/Setra TOPP CLASS 415 HD (2).jpg
index e0c1ac7..80ce550 100644
Binary files a/images/Setra TOPP CLASS 415 HD (2).jpg and b/images/Setra TOPP CLASS 415 HD (2).jpg differ
diff --git a/images/Skoda Enyaq.jpg b/images/Skoda Enyaq.jpg
index ab9293d..1cf47e8 100644
Binary files a/images/Skoda Enyaq.jpg and b/images/Skoda Enyaq.jpg differ
diff --git a/images/Skoda SuperB-inside.jpeg b/images/Skoda SuperB-inside.jpeg
index e9abe88..c7ebff8 100644
Binary files a/images/Skoda SuperB-inside.jpeg and b/images/Skoda SuperB-inside.jpeg differ
diff --git a/images/Skoda SuperB.jpeg b/images/Skoda SuperB.jpeg
index 4662cd6..a6cb092 100644
Binary files a/images/Skoda SuperB.jpeg and b/images/Skoda SuperB.jpeg differ
diff --git a/images/Skoda_barna.jpg b/images/Skoda_barna.jpg
index 9675456..4b29b4b 100644
Binary files a/images/Skoda_barna.jpg and b/images/Skoda_barna.jpg differ
diff --git a/images/Szolg2.jpg b/images/Szolg2.jpg
index a44c600..e078862 100644
Binary files a/images/Szolg2.jpg and b/images/Szolg2.jpg differ
diff --git a/images/Trafic barna.jpg b/images/Trafic barna.jpg
index c185c54..c17710c 100644
Binary files a/images/Trafic barna.jpg and b/images/Trafic barna.jpg differ
diff --git a/images/csalad4.jpg b/images/csalad4.jpg
index f3e7450..a75f399 100644
Binary files a/images/csalad4.jpg and b/images/csalad4.jpg differ
diff --git a/images/header.jpg b/images/header.jpg
index b5a554f..6dd135c 100644
Binary files a/images/header.jpg and b/images/header.jpg differ
diff --git a/images/m0_01.jpg b/images/m0_01.jpg
index b027745..3241c12 100644
Binary files a/images/m0_01.jpg and b/images/m0_01.jpg differ
diff --git a/images/m0_02.jpg b/images/m0_02.jpg
index b22551b..d3985d9 100644
Binary files a/images/m0_02.jpg and b/images/m0_02.jpg differ
diff --git a/images/m0_03.jpg b/images/m0_03.jpg
index 94014e2..35e83e8 100644
Binary files a/images/m0_03.jpg and b/images/m0_03.jpg differ
diff --git a/images/m0_04.jpg b/images/m0_04.jpg
index d807251..a73a2d8 100644
Binary files a/images/m0_04.jpg and b/images/m0_04.jpg differ
diff --git a/images/m0_05.jpg b/images/m0_05.jpg
index 1ea78f3..d51067e 100644
Binary files a/images/m0_05.jpg and b/images/m0_05.jpg differ
diff --git a/images/m0_06.jpg b/images/m0_06.jpg
index a72048c..daf6aeb 100644
Binary files a/images/m0_06.jpg and b/images/m0_06.jpg differ
diff --git a/images/m0_07.jpg b/images/m0_07.jpg
index 52dea8c..8bbaa5f 100644
Binary files a/images/m0_07.jpg and b/images/m0_07.jpg differ
diff --git a/images/m0_08.jpg b/images/m0_08.jpg
index d069564..120b4ef 100644
Binary files a/images/m0_08.jpg and b/images/m0_08.jpg differ
diff --git a/images/m0_09.jpg b/images/m0_09.jpg
index ce90004..67fb758 100644
Binary files a/images/m0_09.jpg and b/images/m0_09.jpg differ
diff --git a/images/m0_10.jpg b/images/m0_10.jpg
index 77eb6fd..4a946de 100644
Binary files a/images/m0_10.jpg and b/images/m0_10.jpg differ
diff --git a/images/m0_11.jpg b/images/m0_11.jpg
index ddc1330..9be46e6 100644
Binary files a/images/m0_11.jpg and b/images/m0_11.jpg differ
diff --git a/images/m0_12.jpg b/images/m0_12.jpg
index 77eb6fd..4a946de 100644
Binary files a/images/m0_12.jpg and b/images/m0_12.jpg differ
diff --git a/images/m0_13.jpg b/images/m0_13.jpg
index bacc614..4c139b4 100644
Binary files a/images/m0_13.jpg and b/images/m0_13.jpg differ
diff --git a/images/m0_14.jpg b/images/m0_14.jpg
index 77eb6fd..4a946de 100644
Binary files a/images/m0_14.jpg and b/images/m0_14.jpg differ
diff --git a/images/m1_01.jpg b/images/m1_01.jpg
index b027745..3241c12 100644
Binary files a/images/m1_01.jpg and b/images/m1_01.jpg differ
diff --git a/images/m1_02.jpg b/images/m1_02.jpg
index d4a794c..eeaa9f5 100644
Binary files a/images/m1_02.jpg and b/images/m1_02.jpg differ
diff --git a/images/m1_03.jpg b/images/m1_03.jpg
index a20ffa7..871fc45 100644
Binary files a/images/m1_03.jpg and b/images/m1_03.jpg differ
diff --git a/images/m1_04.jpg b/images/m1_04.jpg
index daa2ec5..2a42211 100644
Binary files a/images/m1_04.jpg and b/images/m1_04.jpg differ
diff --git a/images/m1_05.jpg b/images/m1_05.jpg
index 4f35f17..fe1876f 100644
Binary files a/images/m1_05.jpg and b/images/m1_05.jpg differ
diff --git a/images/m1_06.jpg b/images/m1_06.jpg
index 3553a40..8d1c927 100644
Binary files a/images/m1_06.jpg and b/images/m1_06.jpg differ
diff --git a/images/m1_07.jpg b/images/m1_07.jpg
index 849f4eb..070ad19 100644
Binary files a/images/m1_07.jpg and b/images/m1_07.jpg differ
diff --git a/images/m1_08.jpg b/images/m1_08.jpg
index 7f88fbc..0080ec3 100644
Binary files a/images/m1_08.jpg and b/images/m1_08.jpg differ
diff --git a/images/m1_09.jpg b/images/m1_09.jpg
index 0fd574c..623200a 100644
Binary files a/images/m1_09.jpg and b/images/m1_09.jpg differ
diff --git a/images/m1_10.jpg b/images/m1_10.jpg
index 7f88fbc..0080ec3 100644
Binary files a/images/m1_10.jpg and b/images/m1_10.jpg differ
diff --git a/images/m1_11.jpg b/images/m1_11.jpg
index d92770a..e41d6de 100644
Binary files a/images/m1_11.jpg and b/images/m1_11.jpg differ
diff --git a/images/m1_12.jpg b/images/m1_12.jpg
index 7f88fbc..0080ec3 100644
Binary files a/images/m1_12.jpg and b/images/m1_12.jpg differ
diff --git a/images/m1_15.jpg b/images/m1_15.jpg
index 5f1b51d..6074e1c 100644
Binary files a/images/m1_15.jpg and b/images/m1_15.jpg differ
diff --git a/images/m1_15.jpg.tmp b/images/m1_15.jpg.tmp
deleted file mode 100644
index 6074e1c..0000000
Binary files a/images/m1_15.jpg.tmp and /dev/null differ
diff --git a/images/map1_03.jpg b/images/map1_03.jpg
index 0d01738..3207af5 100644
Binary files a/images/map1_03.jpg and b/images/map1_03.jpg differ
diff --git a/images/map1_04.jpg b/images/map1_04.jpg
index 6ee574f..bfaea9d 100644
Binary files a/images/map1_04.jpg and b/images/map1_04.jpg differ
diff --git a/images/map1_05.jpg b/images/map1_05.jpg
index b1f2359..546d0f3 100644
Binary files a/images/map1_05.jpg and b/images/map1_05.jpg differ
diff --git a/images/map1_06.jpg b/images/map1_06.jpg
index 0648c5f..00b623e 100644
Binary files a/images/map1_06.jpg and b/images/map1_06.jpg differ
diff --git a/images/map1_07.jpg b/images/map1_07.jpg
index d26f7b3..f211e51 100644
Binary files a/images/map1_07.jpg and b/images/map1_07.jpg differ
diff --git a/images/map1_08.jpg b/images/map1_08.jpg
index 3f2836e..3248d84 100644
Binary files a/images/map1_08.jpg and b/images/map1_08.jpg differ
diff --git a/images/map1_09.jpg b/images/map1_09.jpg
index b336ecb..7172a5a 100644
Binary files a/images/map1_09.jpg and b/images/map1_09.jpg differ
diff --git a/images/map2_01.jpg b/images/map2_01.jpg
index 871a073..84b86c3 100644
Binary files a/images/map2_01.jpg and b/images/map2_01.jpg differ
diff --git a/images/map2_03.jpg b/images/map2_03.jpg
index cd0d43c..abea177 100644
Binary files a/images/map2_03.jpg and b/images/map2_03.jpg differ
diff --git a/images/map2_04.jpg b/images/map2_04.jpg
index 1f849a2..b6757b8 100644
Binary files a/images/map2_04.jpg and b/images/map2_04.jpg differ
diff --git a/images/map2_05.jpg b/images/map2_05.jpg
index bfcdf1e..f2fa2ea 100644
Binary files a/images/map2_05.jpg and b/images/map2_05.jpg differ
diff --git a/images/map2_06.jpg b/images/map2_06.jpg
index 7192cf1..83b040b 100644
Binary files a/images/map2_06.jpg and b/images/map2_06.jpg differ
diff --git a/images/map2_07.jpg b/images/map2_07.jpg
index fb66692..4cc4da9 100644
Binary files a/images/map2_07.jpg and b/images/map2_07.jpg differ
diff --git a/images/map2_08.jpg b/images/map2_08.jpg
index 8ff14fa..19258ac 100644
Binary files a/images/map2_08.jpg and b/images/map2_08.jpg differ
diff --git a/images/merci+rep.jpg b/images/merci+rep.jpg
index a44c600..e078862 100644
Binary files a/images/merci+rep.jpg and b/images/merci+rep.jpg differ
diff --git a/images/mobile/BTS.jpg b/images/mobile/BTS.jpg
index 616e270..99dc395 100644
Binary files a/images/mobile/BTS.jpg and b/images/mobile/BTS.jpg differ
diff --git a/images/mobile/BUD.jpg b/images/mobile/BUD.jpg
index 1eaf077..92d6b29 100644
Binary files a/images/mobile/BUD.jpg and b/images/mobile/BUD.jpg differ
diff --git a/images/mobile/VIE.jpg b/images/mobile/VIE.jpg
index e68f8ab..2b6ca93 100644
Binary files a/images/mobile/VIE.jpg and b/images/mobile/VIE.jpg differ
diff --git a/images/mobile/map.jpg b/images/mobile/map.jpg
index 905c7a8..723fe08 100644
Binary files a/images/mobile/map.jpg and b/images/mobile/map.jpg differ
diff --git a/images/mobile/map_mobile_03.jpg b/images/mobile/map_mobile_03.jpg
index 0e1a414..b05f9c6 100644
Binary files a/images/mobile/map_mobile_03.jpg and b/images/mobile/map_mobile_03.jpg differ
diff --git a/images/mobile/map_mobile_05.jpg b/images/mobile/map_mobile_05.jpg
index 354a28e..31843c2 100644
Binary files a/images/mobile/map_mobile_05.jpg and b/images/mobile/map_mobile_05.jpg differ
diff --git a/images/skoda.jpg b/images/skoda.jpg
index ab9293d..1cf47e8 100644
Binary files a/images/skoda.jpg and b/images/skoda.jpg differ
diff --git a/images/skyflytravel.hu.17aug.jpg b/images/skyflytravel.hu.17aug.jpg
index e697e6a..028c8ed 100644
Binary files a/images/skyflytravel.hu.17aug.jpg and b/images/skyflytravel.hu.17aug.jpg differ
diff --git a/images/skyflytravel.hu.17szept.jpg b/images/skyflytravel.hu.17szept.jpg
index a36d548..94b36c4 100644
Binary files a/images/skyflytravel.hu.17szept.jpg and b/images/skyflytravel.hu.17szept.jpg differ
diff --git a/images/skyflytravel.hu.18apr.jpg b/images/skyflytravel.hu.18apr.jpg
index 23e9387..ae64661 100644
Binary files a/images/skyflytravel.hu.18apr.jpg and b/images/skyflytravel.hu.18apr.jpg differ
diff --git a/images/skyflytravel.hu.18febr.jpg b/images/skyflytravel.hu.18febr.jpg
index d618586..6864e71 100644
Binary files a/images/skyflytravel.hu.18febr.jpg and b/images/skyflytravel.hu.18febr.jpg differ
diff --git a/images/skyflytravel.hu.18marc.jpg b/images/skyflytravel.hu.18marc.jpg
index 220a927..c9e6890 100644
Binary files a/images/skyflytravel.hu.18marc.jpg and b/images/skyflytravel.hu.18marc.jpg differ
diff --git a/images/sol2_02.jpg b/images/sol2_02.jpg
index f10b4a3..502ff95 100644
Binary files a/images/sol2_02.jpg and b/images/sol2_02.jpg differ
diff --git a/images/sol2_04.jpg b/images/sol2_04.jpg
index c4ed55a..1279813 100644
Binary files a/images/sol2_04.jpg and b/images/sol2_04.jpg differ
diff --git a/images/sol2_06.jpg b/images/sol2_06.jpg
index 66b1721..eef23b4 100644
Binary files a/images/sol2_06.jpg and b/images/sol2_06.jpg differ
diff --git a/images/sol_02.jpg b/images/sol_02.jpg
index 94bb77d..599f4bb 100644
Binary files a/images/sol_02.jpg and b/images/sol_02.jpg differ
diff --git a/images/sol_04.jpg b/images/sol_04.jpg
index 74dde43..c675614 100644
Binary files a/images/sol_04.jpg and b/images/sol_04.jpg differ
diff --git a/images/sol_06.jpg b/images/sol_06.jpg
index b7ad876..bbd0aac 100644
Binary files a/images/sol_06.jpg and b/images/sol_06.jpg differ
diff --git a/images/t1_01.jpg b/images/t1_01.jpg
index 65e67cc..35b0c6d 100644
Binary files a/images/t1_01.jpg and b/images/t1_01.jpg differ
diff --git a/images/t1_02.jpg b/images/t1_02.jpg
index 05af129..03435a2 100644
Binary files a/images/t1_02.jpg and b/images/t1_02.jpg differ
diff --git a/images/t1_03.jpg b/images/t1_03.jpg
index c760c3c..7c0fe24 100644
Binary files a/images/t1_03.jpg and b/images/t1_03.jpg differ
diff --git a/images/t1_04.jpg b/images/t1_04.jpg
index 8891ccf..1c271d2 100644
Binary files a/images/t1_04.jpg and b/images/t1_04.jpg differ
diff --git a/images/t1_05.jpg b/images/t1_05.jpg
index b40cdb0..ccf19d5 100644
Binary files a/images/t1_05.jpg and b/images/t1_05.jpg differ
diff --git a/images/t1_06_02.jpg b/images/t1_06_02.jpg
index 9eea3b1..1c93582 100644
Binary files a/images/t1_06_02.jpg and b/images/t1_06_02.jpg differ
diff --git a/images/t1_06_03.jpg b/images/t1_06_03.jpg
index 78aff32..70663ec 100644
Binary files a/images/t1_06_03.jpg and b/images/t1_06_03.jpg differ
diff --git a/images/t1_06_04.jpg b/images/t1_06_04.jpg
index 7ff5f42..612d0c5 100644
Binary files a/images/t1_06_04.jpg and b/images/t1_06_04.jpg differ
diff --git a/images/t1_06o_02.jpg b/images/t1_06o_02.jpg
index b5cbb70..d2fdae8 100644
Binary files a/images/t1_06o_02.jpg and b/images/t1_06o_02.jpg differ
diff --git a/images/t1_06o_03.jpg b/images/t1_06o_03.jpg
index 1b9f9e9..3f4399c 100644
Binary files a/images/t1_06o_03.jpg and b/images/t1_06o_03.jpg differ
diff --git a/images/t1_06o_04.jpg b/images/t1_06o_04.jpg
index 820ee42..eadf8a9 100644
Binary files a/images/t1_06o_04.jpg and b/images/t1_06o_04.jpg differ
diff --git a/images/t1_07.jpg b/images/t1_07.jpg
index 9317713..390b00c 100644
Binary files a/images/t1_07.jpg and b/images/t1_07.jpg differ
diff --git a/images/t1_08.jpg b/images/t1_08.jpg
index 6e3e548..89c0a72 100644
Binary files a/images/t1_08.jpg and b/images/t1_08.jpg differ
diff --git a/images/t1_09.jpg b/images/t1_09.jpg
index 626956b..03d13e3 100644
Binary files a/images/t1_09.jpg and b/images/t1_09.jpg differ
diff --git a/images/t1_10.jpg b/images/t1_10.jpg
index c286394..a574921 100644
Binary files a/images/t1_10.jpg and b/images/t1_10.jpg differ
diff --git a/images/t1_11.jpg b/images/t1_11.jpg
index 685e543..3af1724 100644
Binary files a/images/t1_11.jpg and b/images/t1_11.jpg differ
diff --git a/images/t1_12.jpg b/images/t1_12.jpg
index 965357a..7efc731 100644
Binary files a/images/t1_12.jpg and b/images/t1_12.jpg differ
diff --git a/images/t1_13.jpg b/images/t1_13.jpg
index ecc83ea..0e16583 100644
Binary files a/images/t1_13.jpg and b/images/t1_13.jpg differ
diff --git a/images/t1_14.jpg b/images/t1_14.jpg
index 78dc186..5f2549e 100644
Binary files a/images/t1_14.jpg and b/images/t1_14.jpg differ
diff --git a/images/t1_15.jpg b/images/t1_15.jpg
index c0c85a3..ae69666 100644
Binary files a/images/t1_15.jpg and b/images/t1_15.jpg differ
diff --git a/images/t1_16.jpg b/images/t1_16.jpg
index 5261a7a..02810df 100644
Binary files a/images/t1_16.jpg and b/images/t1_16.jpg differ
diff --git a/images/t1_17.jpg b/images/t1_17.jpg
index f1a2a9d..1c80f34 100644
Binary files a/images/t1_17.jpg and b/images/t1_17.jpg differ
diff --git a/images/t1_18.jpg b/images/t1_18.jpg
index 87d31a3..ec7ceca 100644
Binary files a/images/t1_18.jpg and b/images/t1_18.jpg differ
diff --git a/images/t1_20.jpg b/images/t1_20.jpg
index ad370e9..3d9bbda 100644
Binary files a/images/t1_20.jpg and b/images/t1_20.jpg differ
diff --git a/images/t1_21.jpg b/images/t1_21.jpg
index 77187ae..905453e 100644
Binary files a/images/t1_21.jpg and b/images/t1_21.jpg differ
diff --git a/images/t1_23.jpg b/images/t1_23.jpg
index b7a3e33..bc1285c 100644
Binary files a/images/t1_23.jpg and b/images/t1_23.jpg differ
diff --git a/images/t1_24.jpg b/images/t1_24.jpg
index 6e4a413..38cb9e0 100644
Binary files a/images/t1_24.jpg and b/images/t1_24.jpg differ
diff --git a/images/t1_25.jpg b/images/t1_25.jpg
index 7ded147..94dfa1e 100644
Binary files a/images/t1_25.jpg and b/images/t1_25.jpg differ
diff --git a/images/t1_27.jpg b/images/t1_27.jpg
index 25d90f9..eca5bfd 100644
Binary files a/images/t1_27.jpg and b/images/t1_27.jpg differ
diff --git a/images/t1_28.jpg b/images/t1_28.jpg
index 848c231..3df28ed 100644
Binary files a/images/t1_28.jpg and b/images/t1_28.jpg differ
diff --git a/images/t1_31.jpg b/images/t1_31.jpg
index ea4a2f4..c696eb7 100644
Binary files a/images/t1_31.jpg and b/images/t1_31.jpg differ
diff --git a/images/t1_34.jpg b/images/t1_34.jpg
index 333c705..a85fd72 100644
Binary files a/images/t1_34.jpg and b/images/t1_34.jpg differ
diff --git a/images/t1_35.jpg b/images/t1_35.jpg
index b035d75..7b52356 100644
Binary files a/images/t1_35.jpg and b/images/t1_35.jpg differ
diff --git a/images/t1_36.jpg b/images/t1_36.jpg
index fa3873f..c14182b 100644
Binary files a/images/t1_36.jpg and b/images/t1_36.jpg differ
diff --git a/images/t3_01.jpg b/images/t3_01.jpg
index df38bb1..5d13bf9 100644
Binary files a/images/t3_01.jpg and b/images/t3_01.jpg differ
diff --git a/images/t3_02.jpg b/images/t3_02.jpg
index 9a24acb..450c322 100644
Binary files a/images/t3_02.jpg and b/images/t3_02.jpg differ
diff --git a/images/t3_03.jpg b/images/t3_03.jpg
index fde4661..ec1a157 100644
Binary files a/images/t3_03.jpg and b/images/t3_03.jpg differ
diff --git a/images/t3_04.jpg b/images/t3_04.jpg
index 094cac6..db86ae8 100644
Binary files a/images/t3_04.jpg and b/images/t3_04.jpg differ
diff --git a/images/t3_05.jpg b/images/t3_05.jpg
index d1abbd9..f904ee4 100644
Binary files a/images/t3_05.jpg and b/images/t3_05.jpg differ
diff --git a/images/t3_06.jpg b/images/t3_06.jpg
index e8e3947..47a5296 100644
Binary files a/images/t3_06.jpg and b/images/t3_06.jpg differ
diff --git a/images/t3_07.jpg b/images/t3_07.jpg
index 7e0c9fb..d10cfb8 100644
Binary files a/images/t3_07.jpg and b/images/t3_07.jpg differ
diff --git a/images/t3_08.jpg b/images/t3_08.jpg
index 7aa354d..6ea0507 100644
Binary files a/images/t3_08.jpg and b/images/t3_08.jpg differ
diff --git a/images/t3_10.jpg b/images/t3_10.jpg
index b7a3e33..bc1285c 100644
Binary files a/images/t3_10.jpg and b/images/t3_10.jpg differ
diff --git a/images/vito.jpg b/images/vito.jpg
index 86a1ae9..95759c5 100644
Binary files a/images/vito.jpg and b/images/vito.jpg differ
diff --git a/images/zonnen.jpg b/images/zonnen.jpg
index d11f353..b689fe1 100644
Binary files a/images/zonnen.jpg and b/images/zonnen.jpg differ
diff --git a/public/images/airport.jpg b/public/images/airport.jpg
index 5853108..421a21f 100644
Binary files a/public/images/airport.jpg and b/public/images/airport.jpg differ
diff --git a/public/images/family.jpg b/public/images/family.jpg
index f3e7450..a75f399 100644
Binary files a/public/images/family.jpg and b/public/images/family.jpg differ
diff --git a/public/images/fleet-modern.jpg b/public/images/fleet-modern.jpg
index ab9293d..1cf47e8 100644
Binary files a/public/images/fleet-modern.jpg and b/public/images/fleet-modern.jpg differ
diff --git a/public/images/fleet/e-class.jpg b/public/images/fleet/e-class.jpg
index 7936f13..1492804 100644
Binary files a/public/images/fleet/e-class.jpg and b/public/images/fleet/e-class.jpg differ
diff --git a/public/images/fleet/superb.jpg b/public/images/fleet/superb.jpg
index b7da4ac..8f1d314 100644
Binary files a/public/images/fleet/superb.jpg and b/public/images/fleet/superb.jpg differ
diff --git a/public/images/fleet/transit.jpg b/public/images/fleet/transit.jpg
index 84ebc8c..862adc0 100644
Binary files a/public/images/fleet/transit.jpg and b/public/images/fleet/transit.jpg differ
diff --git a/public/images/fleet/v-class.jpg b/public/images/fleet/v-class.jpg
index 4eeee56..46053b4 100644
Binary files a/public/images/fleet/v-class.jpg and b/public/images/fleet/v-class.jpg differ
diff --git a/public/images/hero-main.jpg b/public/images/hero-main.jpg
index a44c600..e078862 100644
Binary files a/public/images/hero-main.jpg and b/public/images/hero-main.jpg differ
diff --git a/public/images/interior.jpg b/public/images/interior.jpg
index e9abe88..c7ebff8 100644
Binary files a/public/images/interior.jpg and b/public/images/interior.jpg differ
diff --git a/public/images/mercedes.jpg b/public/images/mercedes.jpg
index cc93fc5..ed7b335 100644
Binary files a/public/images/mercedes.jpg and b/public/images/mercedes.jpg differ
diff --git a/public/images/private-sky.jpg b/public/images/private-sky.jpg
index 4662cd6..a6cb092 100644
Binary files a/public/images/private-sky.jpg and b/public/images/private-sky.jpg differ
diff --git a/public/images/private.jpg b/public/images/private.jpg
index 4662cd6..a6cb092 100644
Binary files a/public/images/private.jpg and b/public/images/private.jpg differ
diff --git a/public/images/shared.jpg b/public/images/shared.jpg
index 86a1ae9..95759c5 100644
Binary files a/public/images/shared.jpg and b/public/images/shared.jpg differ
diff --git a/public/images/transit.jpg b/public/images/transit.jpg
index 0833639..66cd355 100644
Binary files a/public/images/transit.jpg and b/public/images/transit.jpg differ