Анализ сайта highline179.com
Основное Готовность: 85%
Домен
highline179.com
Состояние доменного имени
?
Проверяем корректность доменного имени и наличие технических проблем на уровне домена.
Домен второго уровня идеален для продвижения.
Отличный запоминающийся домен.
Ответ сервера
200 Успешный ответ
HTTP-код ответа и цепочка редиректов
?
Код 200 — страница доступна. Коды 3xx — редиректы (цепочки замедляют загрузку и размывают ссылочный вес). Коды 4xx/5xx — ошибки, поисковик не сможет проиндексировать страницу.
Кол-во редиректов 3 слишком большое! Проверьте настройки сайта и веб-сервера!
Цепочка редиректов:
http://highline179.com
301 MovedPermanently
https://highline179.com/
301 MovedPermanently
https://highline179.tirol/
200 OK
Безопасность
Сайт безопасен
Использование HTTPS и SSL-сертификат
?
HTTPS — обязательный стандарт. Google и Яндекс отдают предпочтение защищённым сайтам. Отсутствие SSL или просроченный сертификат ведут к предупреждениям в браузере и снижению позиций.
На сайте работает защищенный протокол ssl и сайт открывается по https.
Ssl-сертификат действителен до 18.10.2026 17:50:50.
Включён HSTS (Strict-Transport-Security) — защита от подмены на http.
HTTP автоматически перенаправляется на HTTPS.
Поздравляем! Сайт не содержится в реестре РКН.
Кодировка
utf-8
Кодировка символов страницы
?
Стандарт — UTF-8. Неправильная кодировка вызывает нечитаемые символы и мешает поисковику корректно распознать текст страницы.
Указана кодировка на странице utf-8.
Язык
de
Атрибут lang в HTML-теге
?
Атрибут lang (<html lang="ru">) сообщает поисковикам и браузерам, на каком языке написана страница. Помогает при ранжировании в региональном поиске.
Язык документа указан явно: de.
Скорость загрузки
~1,06сек
Время отклика сервера (TTFB)
?
Time To First Byte — время до получения первого байта от сервера. Норма до 200 мс. Медленный отклик ухудшает пользовательский опыт и ранжирование: Яндекс и Google учитывают скорость страниц.
Скорость загрузки сайта 1,06сек превышает 1 секунду. Желательно улучшить работу сайта!
Объем документа
74Кб
Размер HTML-кода страницы
?
Слишком большой HTML замедляет парсинг браузером и сканирование поисковым роботом. Рекомендуется не более 200 Кб.
Объем html-документа 74Кб оптимален.
Структура html-документа корректна.
Ресурсы
Ресурсы: 6
Внешние ресурсы страницы (CSS, JS, изображения)
?
Количество и тип подключённых ресурсов влияют на скорость загрузки. Большое число запросов увеличивает время рендеринга страницы.
Кол-во файлов ресурсов 6 достаточно.
Показать полный список ресурсов
| Тип | Название | Значение |
|---|---|---|
| stylesheet | /Content/css/tailwind.min.css | |
| js | https://unpkg.com/lucide@0.469.0/dist/umd/lucide.js | |
| js | https://www.googletagmanager.com/gtag/js?id=G-KL1FMTJKEW | |
| js | text/javascript | /WebResource.axd?d=pynGkmcFUV13He1Qd6_TZI3m3qzQdCcm_2BGbYqnc8q7fDpa_ZMhiO4EavOIHYV2ClVd5MUicu8F2HM3z76f3w2&t=638914436334897068 |
| js | text/javascript | /ScriptResource.axd?d=nEDDI62s9Gb4CTiY6PEkbvd3WUWkiRgza0BfMj3AwXaPI10hHLvT4aeqh_kdbNyH_Bh5zwdgXFTpFjIBtSqTVKNRACAZmTMo9nUitgmpC-PidWWmxTfxSLStiDmGYZxRgitdn0wrcOLT5bojBGxQ8wHx5JzMYvboQwe2bOXEpYg1&t=ffffffff9763f56e |
| js | text/javascript | /ScriptResource.axd?d=Z3cO7lBZoMpiBgNyw-495aAEWKC98jnBt7IYPA9MtGYwpuceglOinNmZ7AVBcX0v5QvOa1IWnAaef0NcIMnCDn8S6iiIepNDxIV8upi5hCcY7fsKDfoRIibtpopv9xJXSI8J_1UWVIz4LfrfA6UXUcD7WLxfff70mnNrrkKHW1M1&t=ffffffff9763f56e |
Серверные заголовки
Кол-во: 10
HTTP-заголовки ответа сервера
?
Заголовки сервера передают браузеру и поисковику служебную информацию: кеширование, безопасность (CSP, HSTS), сжатие (gzip). Правильная настройка ускоряет загрузку и повышает защищённость.
Найдены серверные заголовки 10шт. Подробнее про серверные заголовки.
Показать полный список серверных заголовков
| Ключ | Значение |
|---|---|
| Cache-Control | private |
| Set-Cookie | ASP.NET_SessionId=e5bp2diq5fx4mbmrhmrn2ybw; path=/; HttpOnly; SameSite=Lax |
| X-Frame-Options | SAMEORIGIN |
| X-Content-Type-Options | nosniff |
| X-XSS-Protection | 1; mode=block |
| Strict-Transport-Security | max-age=31536000; includeSubDomains |
| Referrer-Policy | strict-origin-when-cross-origin |
| Content-Security-Policy | default-src 'self'; base-uri 'self'; object-src 'none'; frame-ancestors 'self'; form-action 'self'; upgrade-insecure-requests; script-src 'self' 'unsafe-inline' 'unsafe-eval' https://unpkg.com https://js.stripe.com https://www.googletagmanager.com https://www.google-analytics.com https://x.klarnacdn.net https://js.klarna.com; style-src 'self' 'unsafe-inline' https://cdn.jsdelivr.net https://fonts.googleapis.com; font-src 'self' data: https://cdn.jsdelivr.net https://fonts.gstatic.com; img-src 'self' data: https:; connect-src 'self' https://unpkg.com https://api.stripe.com https://www.google-analytics.com https://region1.google-analytics.com https://www.googletagmanager.com https://eu.playground.klarnaevt.com https://eu.klarnaevt.com https://api.klarna.com https://js.klarna.com https://pay.google.com https://apple-pay-gateway.apple.com https://cn-apple-pay-gateway.apple.com; frame-src 'self' https://js.stripe.com https://hooks.stripe.com https://www.youtube.com https://www.youtube-nocookie.com https://www.google.com https://maps.google.com https://maps.googleapis.com https://x.klarnacdn.net https://js.klarna.com https://pay.google.com; |
| permissions-policy | camera=(), microphone=(), geolocation=(self), payment=(self "https://pay.google.com" "https://js.stripe.com" "https://hooks.stripe.com" "https://apple-pay-gateway.apple.com" "https://cn-apple-pay-gateway.apple.com") |
| Date | Sun, 23 Aug 2026 02:08:15 GMT |
CMS
Не определена
Система управления сайтом (движок)
?
CMS — это движок, на котором работает сайт (WordPress, 1C-Bitrix, Tilda и др.). Знание CMS помогает понять возможности SEO-оптимизации и подобрать подходящие инструменты. «Не определена» — вероятно, самописный сайт или нестандартная сборка.
CMS не определена. Вероятно, сайт самописный либо движок надёжно скрыт. Это не ошибка.
Веб-сервер
Не определён
Программное обеспечение сервера
?
Веб-сервер — это ПО, которое отдаёт страницы посетителям (nginx, Apache, IIS, LiteSpeed и др.). Определяется по серверным заголовкам ответа (Server, X-Powered-By и т.п.). «Не определён» — сервер намеренно скрывает эти заголовки, это нормальная практика безопасности.
Веб-сервер не определён — заголовок Server скрыт. Это не ошибка: часто так настраивают из соображений безопасности.
Мета-теги Готовность: 23%
Title
Home – highline179
Заголовок страницы в браузере и поисковой выдаче
?
Title — главный SEO-заголовок страницы. Влияет на CTR в поиске и ранжирование. Оптимальная длина: 50–70 символов. Ключевые слова — ближе к началу.
Необходимо увеличить число символов в title (текущее значение мало: 23, минимум: 25, оптимально: от 40 до 45)
Дублей словоформ в title не найдено.
Description
highline179 – Blick mit Kick
Описание страницы в поисковой выдаче (сниппет)
?
Meta Description — текст под заголовком в выдаче. Напрямую на позиции не влияет, но влияет на CTR. Оптимальная длина: 120–160 символов.
Необходимо увеличить число символов в description (текущее значение мало: 28, минимум: 80, оптимально: от 120 до 130)
Keywords
Список ключевых слов страницы (устаревший тег)
?
Meta Keywords не учитывается Яндексом и Google для ранжирования с 2009–2012 годов. Заполнение не обязательно, но не вредит. Конкурент может использовать содержимое для анализа.
Установите мета-тег keywords!
Канонический Url
https://highline179.tirol/
Указывает поисковику основную версию страницы
?
Canonical (rel=canonical) предотвращает проблему дублей страниц. Должен точно совпадать с URL проверяемой страницы. Неправильный canonical может передать ссылочный вес на другую страницу.
Канонический Url прописан корректно.
Robots
index,follow
Директивы для поисковых роботов на уровне страницы
?
Meta Robots управляет индексацией конкретной страницы: index/noindex — индексировать ли, follow/nofollow — следовать ли по ссылкам. Noindex полностью исключает страницу из поиска.
Meta-тег robots со значениями index, follow не накладывает ограничений на индексирование и показ контента.
Адаптивность
width=device-width, initial-scale=1
Настройка масштабирования на мобильных устройствах
?
Тег viewport (<meta name="viewport">) сообщает браузеру, как масштабировать страницу на мобильных. Стандарт: width=device-width, initial-scale=1. Отсутствие — признак отсутствия мобильной версии.
Meta-тег viewport со значением-константой width=device-width задаёт ширину страницы в соответствии с размером экрана.
Meta-тег viewport со значением initial-scale=1.0 определяет масштаб 1:1, т.е. «не масштабировать».
Разметка OpenGraph
Кол-во: 10
Мета-теги для красивых превью в соцсетях
?
OpenGraph (og:title, og:description, og:image) управляет тем, как страница выглядит при репосте в социальных сетях и мессенджерах. Отсутствие OG-тегов — невзрачный превью при шеринге.
Разметка OpenGraph задана. Страница оптимизирована под социальные сети.
Показать полный список og мета-тегов
| Тип | Значение |
|---|---|
| og:type | website |
| og:site_name | highline179 |
| og:locale | de_AT |
| og:title | Home – highline179 |
| og:description | highline179 – Blick mit Kick |
| og:url | https://highline179.tirol/ |
| og:image | https://highline179.tirol/Content/img/bridge/DSC_00611.jpg |
| og:image:width | 1024 |
| og:image:height | 681 |
| og:image:alt | highline179 – Hängebrücke über dem Tal bei Reutte, Tirol |
Все мета-теги
Кол-во: 17
Полный список мета-тегов страницы
?
Таблица всех meta-тегов, включая нестандартные. Позволяет найти опечатки, дубли и лишние теги.
Найдены мета-теги 17шт. Мета-теги не видимы для человека и предназначены для обмена информацией между веб-страницей и поисковыми системами, браузерами и другими веб-службами. С ними роботы 🤖 и устройства ведут себя более ожидаемо.
Показать полный список мета-тегов
| Тип | Название | Значение |
|---|---|---|
| name | viewport | width=device-width, initial-scale=1 |
| name | robots | index,follow |
| name | twitter:card | summary_large_image |
| name | twitter:title | Home – highline179 |
| name | twitter:description | highline179 – Blick mit Kick |
| name | twitter:image | https://highline179.tirol/Content/img/bridge/DSC_00611.jpg |
| name | description | highline179 – Blick mit Kick |
| property | og:type | website |
| property | og:site_name | highline179 |
| property | og:locale | de_AT |
| property | og:title | Home – highline179 |
| property | og:description | highline179 – Blick mit Kick |
| property | og:url | https://highline179.tirol/ |
| property | og:image | https://highline179.tirol/Content/img/bridge/DSC_00611.jpg |
| property | og:image:width | 1024 |
| property | og:image:height | 681 |
| property | og:image:alt | highline179 – Hängebrücke über dem Tal bei Reutte, Tirol |
Оптимизация Готовность: 80%
Структура
Ошибок нет
Семантические HTML-элементы страницы
?
Проверяет наличие основных структурных элементов: nav, header, footer, main. Корректная семантическая структура помогает поисковику понять архитектуру страницы.
Структура документа корректна (теги <html> и <body> присутствуют по одному на документ).
Контент
Есть ошибки
Объём и качество текстового содержимого
?
Анализирует объём полезного текста на странице. Слишком мало — страница может считаться малополезной. Слишком много — ухудшается читаемость и восприятие.
Слова из title 1 встречаются в тексте редко. Добавьте в контент страницы слова из тега <title>!
Кол-во слов 401 не очень много. Добавьте побольше текста (хотя бы 800 слов)!
Абзацев с текстом 13 достаточно.
Среднее число слов в абзаце 86 достаточно.
Кол-во знаков контента 2985 на странице оптимально.
Заголовки
Ошибок нет
Иерархия заголовков H1–H6
?
H1 должен быть один и содержать ключевой запрос. H2–H6 описывают подразделы. Пропуск уровней (H1 → H3) и несколько H1 — типичные ошибки, снижающие понятность страницы для поисковика.
На странице присутствуют заголовки <h1> 1. Это прекрасно.
На странице присутствуют заголовки <h2> 2. Это хорошо.
На странице присутствуют заголовки <h3> 3.
Тошнота
2,24
Насколько одно слово доминирует в тексте
?
Классическая тошнота = √(частота самого повторяющегося слова). Норма до 7–8: текст воспринимается естественно. Выше — поисковик может счесть страницу переспамленной.
Тошнота страницы в пределах нормы 3.
Академич. тошнота
12,72%
Насколько текст перенасыщен ключевыми словами
?
Академическая тошнота = (частота слова / общее количество слов) × 100%. Показывает долю конкретного слова в тексте. Норма 5–15%.
Академическая тошнота страницы в пределах нормы.
Семантическое ядро
20
Наиболее часто встречающиеся слова на странице
?
Топ слов по частоте использования. Показывает, какие слова доминируют в тексте с точки зрения поисковика.
Контент страницы содержит осмысленный текст и слова.
Показать список слов
| Слово | Кол-во | Частота |
|---|---|---|
| brücke | 5 | 1,25% |
| klause | 5 | 1,25% |
| tickets | 4 | 1,00% |
| highline179 | 4 | 1,00% |
| cookies | 4 | 1,00% |
| zustimmung | 4 | 1,00% |
| öffnungszeiten | 3 | 0,75% |
| details | 3 | 0,75% |
| ehrenberg | 3 | 0,75% |
| reutte | 3 | 0,75% |
| technisch | 3 | 0,75% |
| notwendige | 3 | 0,75% |
| auswahl | 3 | 0,75% |
| anreise | 2 | 0,50% |
| preise | 2 | 0,50% |
| täglich | 2 | 0,50% |
| können | 2 | 0,50% |
| barrierefrei | 2 | 0,50% |
| hinweis | 2 | 0,50% |
| burgenwelt | 2 | 0,50% |
Индексация Готовность: 0%
Индексирование
Ошибок нет
Разрешено ли индексирование страницы
?
Проверяет, не закрыта ли страница от индексации через robots.txt, meta robots или X-Robots-Tag. Страница, закрытая от индексации, не появится в поисковой выдаче.
Анкоров на странице 28 оптимально. Поисковые роботы обязательно проиндексируют сайт.
Robots.txt
Найден корректный robots.txt
Файл управления сканированием сайта роботами
?
Robots.txt указывает поисковым роботам, какие страницы сканировать, а какие — нет. Ошибки в файле могут случайно закрыть важные разделы от индексации.
Кол-во редиректов для файла robots.txt 3 слишком большое! Это может вызывать затруднение при индексации поисковыми роботами!
Проверяемая страница не запрещена в robots.txt.
Robots.txt доступен по постоянному адресу
Цепочка редиректов для файла robots.txt:
http://highline179.com/robots.txt
301 MovedPermanently
https://highline179.com/robots.txt
301 MovedPermanently
https://highline179.tirol/
200 OK
Показать содержимое robots.txt
<!DOCTYPE html>
<html lang="de">
<head><meta charset="utf-8" /><title>
Home – highline179
</title><meta name="viewport" content="width=device-width, initial-scale=1" />
<!-- SEO Defaults -->
<meta name="robots" content="index,follow" />
<!-- Favicon -->
<link rel="icon" href="/favicon.ico" sizes="any" /><link rel="icon" type="image/svg+xml" href="/favicon.svg" /><link rel="apple-touch-icon" href="/favicon-180x180.png" />
<!-- Canonical / OG URL -->
<link rel="canonical" href="https://highline179.tirol/" />
<link rel="alternate" hreflang="de" href="https://highline179.tirol/" /><link rel="alternate" hreflang="en" href="https://highline179.tirol/en/" /><link rel="alternate" hreflang="x-default" href="https://highline179.tirol/" /><meta property="og:type" content="website" /><meta property="og:site_name" content="highline179" />
<meta property="og:locale" content="de_AT" />
<meta property="og:title" content="Home – highline179" />
<meta property="og:description" content="highline179 – Blick mit Kick" />
<meta property="og:url" content="https://highline179.tirol/" />
<meta property="og:image" content="https://highline179.tirol/Content/img/bridge/DSC_00611.jpg" />
<meta property="og:image:width" content="1024" /><meta property="og:image:height" content="681" /><meta property="og:image:alt" content="highline179 – Hängebrücke über dem Tal bei Reutte, Tirol" /><meta name="twitter:card" content="summary_large_image" />
<meta name="twitter:title" content="Home – highline179" />
<meta name="twitter:description" content="highline179 – Blick mit Kick" />
<meta name="twitter:image" content="https://highline179.tirol/Content/img/bridge/DSC_00611.jpg" />
<!-- Default Theme (pro Seite überschreibbar über CSS-Variablen) -->
<style>
:root {
--hl-page-bg: #f2f2f2;
--hl-page-fg: #111;
}
html, body {
background: var(--hl-page-bg);
}
body {
color: var(--hl-page-fg);
margin: 0;
}
:target {
scroll-margin-top: 130px;
}
</style>
<!-- Tailwind & Icons -->
<link rel="stylesheet" href="/Content/css/tailwind.min.css"
asp:append-version="true" />
<!-- Lucide: mit SRI + fixe Version statt @latest -->
<script src="https://unpkg.com/lucide@0.469.0/dist/umd/lucide.js"
integrity="sha384-cztVf4nptt4arwI8Ixfn8naubPgxH22BSvA0CuqFUCulIT+dgnb18vSqiZbbPDL1"
crossorigin="anonymous"></script>
<!-- pro Seite zusätzliche Head-Inhalte -->
<!-- Dark Theme -->
<style>
:root {
--hl-page-bg: #1f1f1f;
--hl-page-fg: #fff;
}
body {
margin: 0;
}
@keyframes hlZoom {
from {
transform: scale(1.05);
}
to {
transform: scale(1.18);
}
}
.hlHeroZoom {
animation: hlZoom 28s ease-in-out infinite alternate;
transform-origin: center;
}
/* simple lightbox */
#hlLightbox {
position: fixed;
inset: 0;
display: none;
z-index: 9999;
}
#hlLightbox .bg {
position: absolute;
inset: 0;
background: rgba(0,0,0,.75);
}
#hlLightbox .wrap {
position: relative;
height: 100%;
display: flex;
align-items: center;
justify-content: center;
padding: 24px;
}
#hlLightbox img {
max-height: 92vh;
max-width: 96vw;
border-radius: 18px;
box-shadow: 0 18px 60px rgba(0,0,0,.55);
}
#hlLightbox .close {
position: absolute;
top: 18px;
right: 18px;
width: 42px;
height: 42px;
border-radius: 999px;
background: rgba(255,255,255,.14);
color: #fff;
display: flex;
align-items: center;
justify-content: center;
font-size: 20px;
}
#hlLightbox .close:hover {
background: rgba(255,255,255,.22);
}
.hlSectionTitle {
letter-spacing: .22em;
text-transform: uppercase;
font-weight: 800;
font-size: 12px;
color: rgba(255,255,255,.75);
}
.hlHr {
height: 2px;
width: 56px;
background: #a81d20;
margin-top: 14px;
}
#hlHeroBtnRow {
display: flex;
flex-direction: column;
gap: 12px;
width: 100%;
max-width: 930px;
}
#hlHeroBtnRow a {
display: inline-flex;
align-items: center;
justify-content: center;
width: 100%;
box-sizing: border-box;
}
@media (min-width: 1024px) {
#hlHeroBtnRow {
flex-direction: row;
flex-wrap: nowrap;
gap: 16px;
width: auto;
max-width: none;
}
#hlHeroBtnRow a {
width: auto;
min-width: 240px;
}
}
</style>
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "TouristAttraction",
"name": "highline179 | Erlebe den #BlickMitKick",
"description": "highline179 – Blick mit Kick",
"url": "https://highline179.tirol/",
"image": "https://highline179.tirol/Content/img/bridge/DSC_00611.jpg",
"address": {
"@type": "PostalAddress",
"streetAddress": "Klause 1",
"addressLocality": "Reutte",
"postalCode": "6600",
"addressCountry": "AT"
},
"geo": {
"@type": "GeoCoordinates",
"latitude": "47.4833",
"longitude": "10.7167"
},
"openingHoursSpecification": {
"@type": "OpeningHoursSpecification",
"dayOfWeek": ["Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"],
"opens": "08:00",
"closes": "22:00"
},
"priceRange": "€6 - €30",
"offers": {
"@type": "Offer",
"url": "https://highline179.tirol/ticket",
"priceCurrency": "EUR",
"price": "10.00",
"description": "Erwachsenenticket"
}
}
</script>
<!-- Google tag (GA4) + Consent Mode -->
<script>
window.dataLayer = window.dataLayer || [];
function gtag() { dataLayer.push(arguments); }
gtag('consent', 'default', {
analytics_storage: 'denied',
ad_storage: 'denied',
ad_user_data: 'denied',
ad_personalization: 'denied',
wait_for_update: 500
});
gtag('js', new Date());
// WICHTIG: verhindert page_view vor Consent
gtag('config', 'G-KL1FMTJKEW', { anonymize_ip: true, send_page_view: false });
</script>
<script async src="https://www.googletagmanager.com/gtag/js?id=G-KL1FMTJKEW"></script>
<meta name="description" content="highline179 – Blick mit Kick" /></head>
<body class="min-h-screen" style="background: var(--hl-page-bg) !important;">
<form method="post" action="./" id="form1" enctype="multipart/form-data" class="min-h-screen" style="background: var(--hl-page-bg) !important;">
<div class="aspNetHidden">
<input type="hidden" name="__EVENTTARGET" id="__EVENTTARGET" value="" />
<input type="hidden" name="__EVENTARGUMENT" id="__EVENTARGUMENT" value="" />
<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="lFqPauwjW8AIRm3ISxCZH01vSJH9Iyt+okeLgDfByNrI3p2KnxQ3hfT5cHQ3Tpq++3mXJG4S/AGSD/I1KSQM8FpCSYhkfwXwSi7NzA+ijsAChrMENZfwtPi0mMcN9lBjOb0QDJUGnmGo4VKIll6+zjsE3FNPjL52Drt8vKjiUQP+rQ5MtoMzPOSdkdL7i9IVHjsuDhowWFSo+2ySybQXL18vAtLDPLbC++uQdcl84euBY+XxWzyzZhUW0ckifYMUr2K0waEb147RMP9ExhKJzms9GNn6BtAKzRy9d8WfZr6xwJf8YkGfWuhocldd38mD0jh7U7aLwbZsiWnSXRH0mdZoWgOmbqCzvKkZuj+zTDaPpkeRpNOM3rgc+J1aa4pmzNeTXmYY3W9e4oxEnryoqQ==" />
</div>
<script type="text/javascript">
//<![CDATA[
var theForm = document.forms['form1'];
if (!theForm) {
theForm = document.form1;
}
function __doPostBack(eventTarget, eventArgument) {
if (!theForm.onsubmit || (theForm.onsubmit() != false)) {
theForm.__EVENTTARGET.value = eventTarget;
theForm.__EVENTARGUMENT.value = eventArgument;
theForm.submit();
}
}
//]]>
</script>
<script src="/WebResource.axd?d=pynGkmcFUV13He1Qd6_TZI3m3qzQdCcm_2BGbYqnc8q7fDpa_ZMhiO4EavOIHYV2ClVd5MUicu8F2HM3z76f3w2&t=638914436334897068" type="text/javascript"></script>
<script src="/ScriptResource.axd?d=nEDDI62s9Gb4CTiY6PEkbvd3WUWkiRgza0BfMj3AwXaPI10hHLvT4aeqh_kdbNyH_Bh5zwdgXFTpFjIBtSqTVKNRACAZmTMo9nUitgmpC-PidWWmxTfxSLStiDmGYZxRgitdn0wrcOLT5bojBGxQ8wHx5JzMYvboQwe2bOXEpYg1&t=ffffffff9763f56e" type="text/javascript"></script>
<script src="/ScriptResource.axd?d=Z3cO7lBZoMpiBgNyw-495aAEWKC98jnBt7IYPA9MtGYwpuceglOinNmZ7AVBcX0v5QvOa1IWnAaef0NcIMnCDn8S6iiIepNDxIV8upi5hCcY7fsKDfoRIibtpopv9xJXSI8J_1UWVIz4LfrfA6UXUcD7WLxfff70mnNrrkKHW1M1&t=ffffffff9763f56e" type="text/javascript"></script>
<div class="aspNetHidden">
<input type="hidden" name="__VIEWSTATEGENERATOR" id="__VIEWSTATEGENERATOR" value="8D0E13E6" />
<input type="hidden" name="__VIEWSTATEENCRYPTED" id="__VIEWSTATEENCRYPTED" value="" />
<input type="hidden" name="__EVENTVALIDATION" id="__EVENTVALIDATION" value="QYBbVhl2BwITvVNzElbLiKvRn7sHtz/LSuhVlUcg5l+7zO1G2H9yWkJ3rOh/HcB9ftuusCxwabfQPJdUb7C8I1tEM66SNPuIpD9LFS8IXcSHlRI162Z3cegun0eE8mfI" />
</div>
<script type="text/javascript">
//<![CDATA[
Sys.WebForms.PageRequestManager._initialize('ctl00$ScriptManager1', 'form1', [], [], [], 90, 'ctl00');
//]]>
</script>
<style>
.hlNavLink.hl-active {
color: #a81d20 !important;
border-color: #a81d20 !important;
}
/* makes fixed header play nice with full-screen hero */
:root {
--hl-header-h: 96px;
}
/* Active link (desktop + mobile clone inherits) */
.hlNavLink.hl-active {
color: #a81d20 !important;
border-bottom-color: #a81d20 !important;
}
</style>
<script>
function setSecureCookie(name, value, days) {
const expires = new Date();
expires.setTime(expires.getTime() + (days * 24 * 60 * 60 * 1000)); // Ablaufzeit
document.cookie = `${name}=${encodeURIComponent(value)};` +
`expires=${expires.toUTCString()};` +
`path=/;` +
`Secure;` + // nur HTTPS
`SameSite=Strict`; // schützt vor CSRF
}
</script>
<header id="headerBar"
class="fixed top-0 left-0 right-0 z-50 transition-all duration-500 bg-black/40 border-b border-white/40 py-6 backdrop-blur-[4px]">
<div class="max-w-[1400px] mx-auto px-4 md:px-8 flex items-center justify-between text-white font-sans relative">
<!-- Logo -->
<a href="/"
class="flex items-center gap-3 cursor-pointer group">
<div class="relative">
<div class="w-20 h-[68px] overflow-hidden">
<img src="/Content/Logo/highline179-logo-weiss.png"
class="w-full h-full object-contain" />
</div>
</div>
<div class="leading-none hidden xs:block">
<div class="text-xl md:text-2xl font-light italic tracking-wider">
highline<span class="font-bold">179</span>
</div>
</div>
</a>
<!-- Navigation -->
<nav id="mainNavDesktop" class="hidden lg:flex gap-6 text-[13px] font-bold tracking-widest uppercase items-center whitespace-nowrap absolute left-1/2 -translate-x-1/2">
<a id="lnkHome" class="hlNavLink hover:text-[#a81d20] cursor-pointer transition border-b-2 border-transparent hover:border-[#a81d20] pb-1" href="./">HOME</a>
<a id="lnkBridge" class="hlNavLink hover:text-[#a81d20] cursor-pointer transition border-b-2 border-transparent hover:border-[#a81d20] pb-1" href="die-bruecke">DIE BRÜCKE</a>
<a id="lnkShop" class="hlNavLink hover:text-[#a81d20] cursor-pointer transition border-b-2 border-transparent hover:border-[#a81d20] pb-1" href="ticket#ticketsSection">Tickets</a>
<a id="lnkArrival" class="hlNavLink hover:text-[#a81d20] cursor-pointer transition border-b-2 border-transparent hover:border-[#a81d20] pb-1" href="anreise">ANREISE</a>
<a id="lnkPrices" class="hlNavLink hover:text-[#a81d20] cursor-pointer transition border-b-2 border-transparent hover:border-[#a81d20] pb-1" href="preise">PREISE / ÖFFNUNGSZEITEN</a>
</nav>
<!-- Controls -->
<div class="flex items-center justify-end gap-4 md:gap-6">
<!-- Sprache -->
<div class="flex text-[11px] font-bold tracking-widest gap-2 items-center border-r border-gray-500 pr-4">
<a id="Header1_btnLangToggle" class="cursor-pointer text-gray-300 hover:text-white uppercase tracking-widest" href="javascript:__doPostBack('ctl00$Header1$btnLangToggle','')">EN</a>
</div>
<!-- AUTH (Login / Account) -->
<a href="javascript:void(0)"
onclick="
try{ window.__HL_CART_OPEN=false; if(typeof closeCartOverlay==='function') closeCartOverlay(); }catch(e){}
if(typeof goLogin==='function'){ goLogin(); return false; }
window.location.href='/ticket?view=login';
return false;"
class="hidden lg:flex items-center gap-2 text-xs font-bold uppercase hover:text-[#a81d20] transition">
<svg xmlns="http://www.w3.org/2000/svg" class="w-3.5 h-3.5" viewBox="0 0 24 24" fill="none"
stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true">
<path d="M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2"></path>
<circle cx="12" cy="7" r="4"></circle>
</svg>
<span class="hidden xl:inline">
LOGIN
</span>
</a>
<a href="javascript:void(0)"
onclick="
try{ window.__HL_CART_OPEN=false; if(typeof closeCartOverlay==='function') closeCartOverlay(); }catch(e){}
if(typeof goLogin==='function'){ goLogin(); return false; }
window.location.href='/ticket?view=login';
return false;"
class="lg:hidden flex items-center gap-2 text-xs font-bold uppercase hover:text-[#a81d20] transition">
<svg xmlns="http://www.w3.org/2000/svg" class="w-4 h-4" viewBox="0 0 24 24" fill="none"
stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true">
<path d="M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2"></path>
<circle cx="12" cy="7" r="4"></circle>
</svg>
<span>
LOGIN
</span>
</a>
<!-- Mobile Cart Trigger -->
<button type="button"
id="hlCartTriggerBtn"
class="relative bg-transparent text-white rounded hover:text-[#a81d20] transition flex items-center gap-2 lg:hidden"
onclick="openCartOverlay()" aria-label="Warenkorb öffnen/schließen">
<svg xmlns="http://www.w3.org/2000/svg" class="w-5 h-5" viewBox="0 0 24 24" fill="none"
stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true">
<circle cx="9" cy="21" r="1"></circle>
<circle cx="20" cy="21" r="1"></circle>
<path d="M1 1h4l2.68 13.39a2 2 0 0 0 2 1.61h9.72a2 2 0 0 0 2-1.61L23 6H6"></path>
</svg>
<span id="lblCartBadgeMobile"></span>
</button>
<!-- Mobile Menu Icon -->
<button type="button"
class="lg:hidden text-white hover:text-[#a81d20]"
onclick="hlOpenMobileMenu()"
aria-label="Menü öffnen">
<svg xmlns="http://www.w3.org/2000/svg" class="w-6 h-6" viewBox="0 0 24 24" fill="none"
stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true">
<path d="M4 6h16"></path>
<path d="M4 12h16"></path>
<path d="M4 18h16"></path>
</svg>
</button>
</div>
</div>
<!-- Tailwind CDN safelist (damit dynamische Klassen CSS bekommen) -->
<div class="hidden bg-[#2c2c2c] bg-opacity-95 py-2 shadow-lg bg-black/40 py-6 border-b border-white/40 backdrop-blur-[4px]"></div>
</header>
<!-- Mobile Menu (Glass / wie Desktop-Header) -->
<div id="hlMobileMenuOverlay" class="hidden fixed inset-0 z-[80] lg:hidden">
<!-- Backdrop: NICHT zu dunkel, sonst sieht man das Glas nicht -->
<div class="absolute inset-0 bg-black/40" onclick="hlCloseMobileMenu()" aria-hidden="true"></div>
<!-- Panel: gläsern -->
<div id="hlMobileMenuPanel"
class="absolute right-0 top-0 h-full w-[92%] max-w-sm
bg-black/40 backdrop-blur-2xl
border-l border-white/10 ring-1 ring-white/10
shadow-2xl flex flex-col
translate-x-full transition-transform duration-200 ease-out">
<!-- Topbar: gläsern dunkel, Text weiß -->
<div class="px-4 py-4 bg-black/30 backdrop-blur-2xl text-white
flex items-center justify-between border-b border-white/10">
<div class="leading-tight">
<div class="text-xs font-bold uppercase tracking-widest">Menü</div>
<div class="text-[11px] text-white/60">
highline179
</div>
</div>
<button type="button" onclick="hlCloseMobileMenu()"
class="p-2 rounded hover:bg-white/10 text-white"
aria-label="Schließen">
✕</button>
</div>
<div class="px-4 pt-4 pb-2">
<div class="text-[11px] font-bold uppercase tracking-widest text-white/60">Navigation</div>
<div class="h-[2px] w-12 bg-[#a81d20] mt-2"></div>
</div>
<!-- Hier rein wird das Desktop-Menü (nur Links) sauber reingerendert -->
<nav id="hlMobileMenuContent" class="px-3 pb-4"></nav>
<div class="mt-auto border-t border-white/10 bg-black/25 backdrop-blur-2xl px-4 py-3">
<div class="text-[11px] text-white/50">Tippe außerhalb, um zu schließen.</div>
</div>
</div>
</div>
<script>
(function () {
if (window.__HL_MOBILE_MENU_INIT) return;
window.__HL_MOBILE_MENU_INIT = true;
function escapeHtml(s) {
return (s || "").replace(/[&<>"']/g, function (m) {
return ({ '&': '&', '<': '<', '>': '>', '"': '"', "'": ''' }[m]);
});
}
function buildMenu() {
var target = document.getElementById('hlMobileMenuContent');
if (!target) return;
// neu aufbauen (auch sauber nach UpdatePanel)
target.innerHTML = "";
var desktopMenu = document.getElementById('mainNavDesktop');
if (!desktopMenu) {
target.innerHTML = "<div class='p-4 text-sm text-white/70'>Desktop-Menü nicht gefunden.</div>";
return;
}
var links = desktopMenu.querySelectorAll('a');
if (!links || links.length === 0) {
target.innerHTML = "<div class='p-4 text-sm text-white/70'>Keine Menülinks gefunden.</div>";
return;
}
// ✅ Clean-Liste: KEINE Box pro Item, KEIN Rahmen.
// Nur große Touch-Flächen + dezente Divider (Mobile-App-Style)
var wrap = document.createElement('div');
wrap.className = "rounded-xl overflow-hidden"; // nur für saubere Kanten, kein Rahmen
links.forEach(function (a, idx) {
var href = a.getAttribute('href') || '#';
var text = (a.textContent || '').trim();
var item = document.createElement('a');
item.href = href;
// großes Tap-Ziel, gläserner Hover, Divider
item.className =
"group flex items-center justify-between " +
"px-4 py-4 rounded-lg " +
"text-white/90 hover:text-white " +
"hover:bg-white/10 active:bg-white/20 transition " +
"border-b border-white/10";
item.innerHTML =
"<span class='text-[13px] font-bold tracking-widest uppercase'>" + escapeHtml(text) + "</span>" +
"<span class='text-white/30 group-hover:text-white/60 transition text-xl leading-none'>›</span>";
// Bei Klick Menü schließen (fühlt sich mobile an)
item.addEventListener('click', function () { try { window.hlCloseMobileMenu(); } catch (e) { } });
wrap.appendChild(item);
});
// letzten Divider weg
if (wrap.lastElementChild) {
wrap.lastElementChild.classList.remove('border-b', 'border-white/10');
}
target.appendChild(wrap);
}
function openPanel() {
var overlay = document.getElementById('hlMobileMenuOverlay');
var panel = document.getElementById('hlMobileMenuPanel');
if (!overlay || !panel) return;
buildMenu();
overlay.classList.remove('hidden');
document.body.classList.add('overflow-hidden');
window.__HL_MENU_OPEN = true;
requestAnimationFrame(function () {
panel.classList.remove('translate-x-full');
});
}
function closePanel() {
var overlay = document.getElementById('hlMobileMenuOverlay');
var panel = document.getElementById('hlMobileMenuPanel');
if (!overlay || !panel) return;
panel.classList.add('translate-x-full');
document.body.classList.remove('overflow-hidden');
window.__HL_MENU_OPEN = false;
setTimeout(function () {
overlay.classList.add('hidden');
}, 220);
}
window.__HL_MENU_OPEN = false;
window.hlOpenMobileMenu = openPanel;
window.hlCloseMobileMenu = closePanel;
document.addEventListener('keydown', function (e) {
if (e.key === 'Escape') closePanel();
});
// ✅ UpdatePanel: Menü offen lassen + Inhalt neu bauen (wenn Header neu gerendert wurde)
if (window.Sys && Sys.WebForms) {
var prm = Sys.WebForms.PageRequestManager.getInstance();
prm.add_endRequest(function () {
if (window.__HL_MENU_OPEN) {
var overlay = document.getElementById('hlMobileMenuOverlay');
var panel = document.getElementById('hlMobileMenuPanel');
if (overlay && panel) {
overlay.classList.remove('hidden');
panel.classList.remove('translate-x-full');
document.body.classList.add('overflow-hidden');
buildMenu();
}
}
});
}
})();
</script>
<script>
(function () {
window.scrollToTop = function () {
window.scrollTo({ top: 0, behavior: 'smooth' });
};
function hlSyncHeaderHeight() {
var header = document.getElementById('headerBar');
if (!header) return;
var h = header.offsetHeight || 0;
if (h < 60) h = 60;
document.documentElement.style.setProperty('--hl-header-h', h + 'px');
}
function applyHeaderState() {
var header = document.getElementById('headerBar');
if (!header) return;
var scrolled = (window.scrollY > 50);
header.classList.toggle('bg-[#2c2c2c]', scrolled);
header.classList.toggle('bg-opacity-95', scrolled);
header.classList.toggle('py-2', scrolled);
header.classList.toggle('shadow-lg', scrolled);
header.classList.toggle('bg-black/40', !scrolled);
header.classList.toggle('py-6', !scrolled);
hlSyncHeaderHeight();
}
window.toggleAccountMenu = function () {
var m = document.getElementById('accountMenu');
if (!m) return;
m.classList.toggle('hidden');
};
function markActiveNav() {
try {
var p = (location.pathname || '').toLowerCase();
var isShop = (p.indexOf('/tickets') >= 0) || p.endsWith('/ticketshop.aspx');
var isRoot = (p === '/' || p.endsWith('/'));
document.querySelectorAll('.hlNavLink').forEach(function (a) { a.classList.remove('hl-active'); });
if (isShop) {
var as = document.getElementById('lnkShop');
if (as) as.classList.add('hl-active');
return;
}
if (isRoot) {
var a0 = document.getElementById('lnkHome');
if (a0) a0.classList.add('hl-active');
return;
}
var map = [
{ id: 'lnkHome', match: ['/home.aspx', '/home'] },
{ id: 'lnkBridge', match: ['/diebruecke.aspx', '/die-bruecke', '/diebruecke', '/en/bridge'] },
{ id: 'lnkShop', match: ['/tickets', '/ticketshop.aspx', '/ticket', '/en/ticket'] },
{ id: 'lnkArrival', match: ['/anreise.aspx', '/anreise', '/en/travel'] },
{ id: 'lnkPrices', match: ['/preise.aspx', '/preise', '/en/price'] }
];
map.forEach(function (m) {
var a = document.getElementById(m.id);
if (!a) return;
var hit = m.match.some(function (x) { return p.indexOf(x) >= 0; });
if (hit) a.classList.add('hl-active');
});
} catch (e) { }
}
function bindOnce() {
if (window.__HL_headerBound) return;
window.__HL_headerBound = true;
window.addEventListener('scroll', applyHeaderState, { passive: true });
window.addEventListener('resize', function () {
try { applyHeaderState(); markActiveNav(); } catch (e) { }
}, { passive: true });
document.addEventListener('click', function (e) {
var m = document.getElementById('accountMenu');
if (!m || m.classList.contains('hidden')) return;
if (!e.target.closest('#accountMenu') && !e.target.closest('#btnAccountMenuToggle')) {
m.classList.add('hidden');
}
}, true);
document.addEventListener('click', function (e) {
var a = e.target.closest('#lnkShop');
if (!a) return;
var p = (location.pathname || '').toLowerCase();
var isShop =
p.indexOf('/tickets') >= 0 ||
p.indexOf('/ticket') >= 0 ||
p.endsWith('/ticketshop.aspx');
if (isShop && typeof window.goTickets === 'function') {
e.preventDefault();
window.goTickets();
}
}, true);
if (window.Sys && Sys.WebForms) {
var prm = Sys.WebForms.PageRequestManager.getInstance();
if (prm) {
prm.add_endRequest(function () {
applyHeaderState();
markActiveNav();
});
}
}
}
function onHeaderLoaded() {
bindOnce();
var header = document.getElementById('headerBar');
if (header) {
header.__oldTransition = header.style.transition;
header.style.transition = 'none';
}
requestAnimationFrame(function () {
requestAnimationFrame(function () {
applyHeaderState();
markActiveNav();
if (window.lucide && window.lucide.createIcons && document.querySelector('i[data-lucide]')) {
window.lucide.createIcons();
}
requestAnimationFrame(function () {
if (header) {
header.style.transition = header.__oldTransition || '';
header.__oldTransition = null;
}
});
});
});
}
if (window.Sys && Sys.Application) {
Sys.Application.add_load(onHeaderLoaded);
} else {
window.addEventListener('load', onHeaderLoaded);
}
window.openCartOverlay = window.openCartOverlay || function () {
var ov = document.getElementById('cartOverlay');
if (ov) ov.classList.remove('hidden');
else window.location.href = '/ticket#ticketsSection';
};
})();
</script>
<main>
<!-- HERO / Slider -->
<section class="relative w-full h-[78vh] min-h-[520px] overflow-hidden bg-black"
style="margin-top: calc(-1 * var(--hl-header-h, 96px));">
<div id="hlHeroSlides" class="absolute inset-0 z-0" aria-hidden="true">
<div class="hlSlide absolute inset-0 opacity-100 transition-opacity duration-1000">
<img src="/Content/img/intro/slider/20141108-DSC_2704-Bearbeitet.jpg"
alt="Erlebe den #BlickMitKick"
class="absolute inset-0 w-full h-full object-cover hlHeroZoom" />
</div>
<div class="hlSlide absolute inset-0 opacity-0 transition-opacity duration-1000">
<img src="/Content/img/intro/slider/20141111-DSC_3446.jpg"
alt="Adrenalin pur"
class="absolute inset-0 w-full h-full object-cover hlHeroZoom" />
</div>
<div class="hlSlide absolute inset-0 opacity-0 transition-opacity duration-1000">
<img src="/Content/img/intro/slider/20151022-DSC_6307.jpg"
alt="Nur fliegen ist schöner"
class="absolute inset-0 w-full h-full object-cover hlHeroZoom" />
</div>
</div>
<div class="absolute inset-0 z-[1] bg-gradient-to-b from-black/35 via-black/45 to-black/75"></div>
<div class="relative z-10 max-w-[1400px] mx-auto px-4 md:px-8 h-full flex items-end pb-10 md:pb-14">
<div class="text-white w-full max-w-5xl">
<div class="max-w-2xl">
<div class="hlSectionTitle">HIGHLINE179</div>
<h1 id="hlHeroTitle" class="text-3xl md:text-6xl font-light italic tracking-wide mt-2">
Erlebe den<br />
#BlickMitKick
</h1>
<div class="text-white/85 mt-4" id="hlHeroSub">Täglich von 08:00 - 22:00 Uhr</div>
<div class="hlHr"></div>
</div>
<div class="mt-7" id="hlHeroBtnRow">
<a href="/die-bruecke"
id="hlHeroBtnBridge"
class="inline-flex items-center justify-center px-6 py-3 rounded-full
bg-[#a81d20] hover:bg-[#8f171a]
text-white text-sm font-bold tracking-widest uppercase
transition shadow-lg shadow-black/20
focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-white/70 whitespace-nowrap">
<span>Die Brücke ansehen</span>
<i data-lucide="arrow-right" class="w-5 h-5 ml-3 shrink-0" aria-hidden="true"></i>
</a>
<a href="/preise"
id="hlHeroBtnPrices"
class="inline-flex items-center justify-center px-6 py-3 rounded-full
bg-[#a81d20] hover:bg-[#8f171a]
text-white text-sm font-bold tracking-widest uppercase
transition shadow-lg shadow-black/20
focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-white/70 whitespace-nowrap">
<span>Preise & Öffnungszeiten</span>
<i data-lucide="arrow-right" class="w-5 h-5 ml-3 shrink-0" aria-hidden="true"></i>
</a>
<a href="/ticket#ticketsSection"
id="hlHeroBtnTicket"
class="inline-flex items-center justify-center px-6 py-3 rounded-full
bg-[#a81d20] hover:bg-[#8f171a]
text-white text-sm font-bold tracking-widest uppercase
transition shadow-lg shadow-black/20
focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-white/70 whitespace-nowrap">
<span>Ticket kaufen</span>
<i data-lucide="arrow-right" class="w-5 h-5 ml-3 shrink-0" aria-hidden="true"></i>
</a>
</div>
</div>
</div>
</section>
<!-- SERVICE -->
<section class="bg-[#2c2c2c] py-16 text-white">
<div class="max-w-[1400px] mx-auto px-4 md:px-8">
<div class="text-center">
<div class="text-[12px] font-extrabold uppercase tracking-[.3em] text-white/70">Service</div>
<h2 class="mt-3 text-2xl md:text-3xl font-semibold text-white">Alles Wichtige auf einen Blick</h2>
<div class="mx-auto mt-6 h-[2px] w-14 bg-[#a81d20]"></div>
</div>
<div class="mt-10 grid grid-cols-1 md:grid-cols-3 gap-6">
<div class="rounded-2xl overflow-hidden bg-white/5 border border-white/10 shadow-[0_18px_50px_rgba(0,0,0,.25)]">
<div class="flex items-center gap-3 bg-[#a81d20] px-6 py-4">
<i data-lucide="clock" class="w-5 h-5 text-white" aria-hidden="true"></i>
<div class="text-xs md:text-sm font-extrabold uppercase tracking-widest text-white">Öffnungszeiten</div>
</div>
<div class="p-7">
<p class="text-sm text-white/80 leading-relaxed">
Wir haben täglich von <b>08:00</b> Uhr bis <b>22:00</b> Uhr geöffnet.
</p>
<p class="mt-4 text-sm text-white/80 leading-relaxed">
Tickets können via Ticketautomaten (nur Erwachsenen- und Familien-Tickets) direkt an der Brücke erworben werden.
</p>
<p class="mt-4 text-sm text-white/80 leading-relaxed">
<a class="inline-flex items-center justify-center px-4 py-2 rounded-full bg-white/10 hover:bg-white/15 ring-1 ring-white/10 text-white text-xs font-extrabold tracking-widest uppercase transition"
href="/anreise">Details</a>
</p>
</div>
</div>
<div class="rounded-2xl overflow-hidden bg-white/5 border border-white/10 shadow-[0_18px_50px_rgba(0,0,0,.25)]">
<div class="flex items-center gap-3 bg-[#a81d20] px-6 py-4">
<i data-lucide="ticket" class="w-5 h-5 text-white" aria-hidden="true"></i>
<div class="text-xs md:text-sm font-extrabold uppercase tracking-widest text-white">Tickets</div>
</div>
<div class="p-7">
<div class="overflow-hidden rounded-xl border border-white/10">
<table class="w-full text-sm">
<tbody class="divide-y divide-white/10">
<tr class="bg-white/5">
<td class="px-4 py-3 text-white/80">Erwachsene ab 15 Jahre</td>
<td class="px-4 py-3 font-semibold text-right">10,00 EUR</td>
</tr>
<tr>
<td class="px-4 py-3 text-white/80">Kinder 4 bis 14 Jahre</td>
<td class="px-4 py-3 font-semibold text-right">6,00 EUR</td>
</tr>
<tr class="bg-white/5">
<td class="px-4 py-3 text-white/80">Familienkarte</td>
<td class="px-4 py-3 font-semibold text-right">30,00 EUR</td>
</tr>
<tr>
<td class="px-4 py-3 text-white/80">Gruppen ab 20 Personen</td>
<td class="px-4 py-3 font-semibold text-right">9,00 EUR</td>
</tr>
</tbody>
</table>
</div>
<div class="mt-6">
<a href="/ticket#ticketsSection"
class="inline-flex items-center justify-center px-5 py-3 rounded-full bg-white/10 hover:bg-white/15 ring-1 ring-white/10 text-white text-xs font-extrabold tracking-widest uppercase transition">
Zum Ticket-Shop
</a>
</div>
</div>
</div>
<div class="rounded-2xl overflow-hidden bg-white/5 border border-white/10 shadow-[0_18px_50px_rgba(0,0,0,.25)]">
<div class="flex items-center gap-3 bg-[#a81d20] px-6 py-4">
<i data-lucide="accessibility" class="w-5 h-5 text-white" aria-hidden="true"></i>
<div class="text-xs md:text-sm font-extrabold uppercase tracking-widest text-white">Barrierefrei</div>
</div>
<div class="p-7">
<p class="text-sm text-white/80 leading-relaxed">
Wir sind barrierefrei, barrierefreie Tickets erhalten Sie ausschließlich im Ticketcenter.
<b class="text-white"></b>
<b class="text-white"></b>
</p>
<div class="mt-5 flex items-start gap-3">
<div class="shrink-0 mt-1">
<img src="/Content/img/walker.png" alt="Wegzeit"
class="w-5 h-8 object-contain opacity-90" />
</div>
<p class="text-sm text-white/80 leading-relaxed">
Vom Parkplatz der Klause aus erreichen Sie das Brückenportal der „highline179“ auf der Seite der Ruine Ehrenberg in <b class="text-white">gemütlichen 20 Minuten </b>Gehzeit.
</p>
</div>
<div class="mt-5 rounded-xl bg-black/25 border border-white/10 p-5">
<div class="flex items-start gap-4">
<div class="shrink-0">
<div class="w-12 h-12 rounded-full bg-white/5 border border-white/10 flex items-center justify-center">
<img src="/Content/img/No-Kiwa-highline179.png"
alt="Kinderwagen sind auf der highline179 aus Platzgründen nicht erlaubt."
class="w-10 h-10 object-contain" width="50" height="50" />
</div>
</div>
<div class="min-w-0">
<div class="font-extrabold uppercase tracking-widest text-white text-xs">Hinweis</div>
<p class="mt-2 text-sm text-white/80 leading-relaxed">
Bitte haben Sie Verständnis dafür, dass <b class="text-white">Kinderwagen</b> auf der Brücke
<b class="text-white">nicht erlaubt</b> sind.
</p>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</section>
<!-- Scenic Banner -->
<section class="relative overflow-hidden">
<div class="h-[260px] md:h-[320px]">
<img src="/Content/img/fb-images/DSC_00611.jpg" alt="highline179" class="w-full h-full object-cover" />
</div>
<div class="absolute inset-0 bg-black/30"></div>
<div class="absolute inset-0 flex items-center justify-center">
<div class="text-center text-white px-6">
<div class="text-[12px] font-extrabold uppercase tracking-[.3em]"></div>
<div class="mt-3 text-2xl md:text-3xl font-light italic tracking-wide">„Nur fliegen ist schöner“</div>
</div>
</div>
</section>
<!-- ANREISE (Kurz) -->
<section class="bg-[#2c2c2c] py-16 text-white">
<div class="max-w-[1400px] mx-auto px-4 md:px-8">
<div class="text-center">
<div class="text-[12px] font-extrabold uppercase tracking-[.3em] text-white/70">Anreise</div>
<h2 class="mt-3 text-2xl md:text-3xl font-semibold text-white">So finden Sie uns</h2>
<div class="mx-auto mt-6 h-[2px] w-14 bg-[#a81d20]"></div>
</div>
<div class="mt-10 grid grid-cols-1 md:grid-cols-3 gap-6">
<div class="rounded-2xl overflow-hidden bg-white/5 border border-white/10 shadow-[0_18px_50px_rgba(0,0,0,.25)]">
<div class="flex items-center gap-3 bg-[#a81d20] px-6 py-4">
<i data-lucide="car" class="w-5 h-5 text-white" aria-hidden="true"></i>
<div class="text-xs md:text-sm font-extrabold uppercase tracking-widest text-white">Auto</div>
</div>
<div class="p-7">
<p class="text-sm text-white/80 leading-relaxed">
Burgenwelt Ehrenberg, Klause 1, 6600 Reutte. Parkplätze bei der Klause – von dort Richtung Brücke.
</p>
<p class="mt-4 text-sm text-white/80 leading-relaxed">
Die highline179 selbst hat keine Parkplätze. Parken können Sie in der Klause unterhalb der highline179 auf den Parkplätzen der Burgenwelt Ehrenberg (gebührenpflichtig).
</p>
<div class="mt-6">
<a class="inline-flex items-center justify-center px-4 py-2 rounded-full bg-white/10 hover:bg-white/15 ring-1 ring-white/10 text-white text-xs font-extrabold tracking-widest uppercase transition"
href="/anreise">Details</a>
</div>
</div>
</div>
<div class="rounded-2xl overflow-hidden bg-white/5 border border-white/10 shadow-[0_18px_50px_rgba(0,0,0,.25)]">
<div class="flex items-center gap-3 bg-[#a81d20] px-6 py-4">
<i data-lucide="train-front" class="w-5 h-5 text-white" aria-hidden="true"></i>
<div class="text-xs md:text-sm font-extrabold uppercase tracking-widest text-white">Zug</div>
</div>
<div class="p-7">
<p class="text-sm text-white/80 leading-relaxed">
Bahnhof Reutte in Tirol – weiter mit Bus/Taxi zur Klause.
</p>
<div class="mt-6 flex flex-wrap gap-3">
<a class="inline-flex items-center justify-center px-4 py-2 rounded-full bg-white/10 hover:bg-white/15 ring-1 ring-white/10 text-white text-xs font-extrabold tracking-widest uppercase transition"
href="https://www.vvt.at" target="_blank" rel="noopener noreferrer nofollow">VVT</a>
<a class="inline-flex items-center justify-center px-4 py-2 rounded-full bg-white/10 hover:bg-white/15 ring-1 ring-white/10 text-white text-xs font-extrabold tracking-widest uppercase transition"
href="https://www.oebb.at/pv/de/Servicebox/Fahrplanabfrage/index.jsp" target="_blank" rel="noopener noreferrer nofollow">ÖBB</a>
<a class="inline-flex items-center justify-center px-4 py-2 rounded-full bg-white/10 hover:bg-white/15 ring-1 ring-white/10 text-white text-xs font-extrabold tracking-widest uppercase transition"
href="https://www.bahn.de/" target="_blank" rel="noopener noreferrer nofollow">DB</a>
</div>
</div>
</div>
<div class="rounded-2xl overflow-hidden bg-white/5 border border-white/10 shadow-[0_18px_50px_rgba(0,0,0,.25)]">
<div class="flex items-center gap-3 bg-[#a81d20] px-6 py-4">
<i data-lucide="plane" class="w-5 h-5 text-white" aria-hidden="true"></i>
<div class="text-xs md:text-sm font-extrabold uppercase tracking-widest text-white">Flugzeug</div>
</div>
<div class="p-7">
<p class="text-sm text-white/80 leading-relaxed">
Nächste Flughäfen: Innsbruck / München – anschließend per Bahn/Auto nach Reutte.
</p>
<div class="mt-6">
<a class="inline-flex items-center justify-center px-5 py-3 rounded-full bg-white/10 hover:bg-white/15 ring-1 ring-white/10 text-white text-xs font-extrabold tracking-widest uppercase transition"
href="https://www.austrian.com/" target="_blank" rel="noopener noreferrer nofollow">Flugbuchung</a>
</div>
</div>
</div>
</div>
</div>
</section>
<!-- Lightbox Markup -->
<div id="hlLightbox" aria-hidden="true">
<div class="bg" onclick="hlCloseLightbox()"></div>
<div class="wrap">
<button type="button" class="close" onclick="hlCloseLightbox()" aria-label="Schließen">✕</button>
<img id="hlLightboxImg" src="" alt="" />
</div>
</div>
</main>
<footer class="bg-[#2c2c2c] text-gray-200 border-t-8 border-[#a81d20]">
<div class="max-w-[1400px] mx-auto px-4 md:px-8 py-12">
<div class="grid grid-cols-1 md:grid-cols-3 gap-10">
<!-- Spalte 1: Links -->
<div>
<h3 class="text-xs font-bold uppercase tracking-widest text-gray-300 mb-4">
Links
</h3>
<div class="flex flex-col gap-1 text-base sm:text-sm">
<a href="/faq" class="inline-block py-0.5 hover:text-white transition">FAQ</a>
<a href="/agb" class="inline-block py-0.5 hover:text-white transition">AGB</a>
<a href="/datenschutz" class="inline-block py-0.5 hover:text-white transition">Datenschutz</a>
<a href="/impressum" class="inline-block py-0.5 hover:text-white transition">Impressum</a>
</div>
</div>
<!-- Spalte 2: Hinweis -->
<div>
<h3 class="text-xs font-bold uppercase tracking-widest text-gray-300 mb-4">
Hinweis
</h3>
<p class="text-sm text-gray-300 leading-relaxed">
Diese Webseite dient nur Informations- und Marketingzwecken und wird von der WLF‑Projekt GmbH zur Verfügung gestellt. Der Betrieb der Erlebnis‑Brücke „highline179 – Blick mit Kick“ erfolgt durch die WLF Projekt GmbH.
</p>
</div>
<!-- Spalte 3: Kontakt + Social -->
<div class="md:text-right">
<h3 class="text-xs font-bold uppercase tracking-widest text-gray-300 mb-4">
Kontakt
</h3>
<!-- Wenn du KEINE interne Kontaktseite hast: ersetze den Link z.B. durch https://www.highline179.tirol/kontakt -->
<a href="mailto:info@highline179.tirol"
class="text-xs font-bold uppercase tracking-widest text-gray-300 mb-4">info@highline179.tirol
</a>
<div class="flex md:justify-end gap-3 mt-6">
<!-- Facebook -->
<a href="https://www.facebook.com/highline179/" target="_blank" class="opacity-80 hover:opacity-100 transition" aria-label="Facebook">
<svg xmlns="http://www.w3.org/2000/svg" class="w-6 h-6" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true">
<path d="M22 12a10 10 0 1 0-11.56 9.87v-6.99H7.9V12h2.54V9.8c0-2.5 1.49-3.89 3.77-3.89 1.09 0 2.23.2 2.23.2v2.46h-1.26c-1.24 0-1.63.77-1.63 1.56V12h2.77l-.44 2.88h-2.33v6.99A10 10 0 0 0 22 12Z" />
</svg>
</a>
<!-- Instagram -->
<a href="https://www.instagram.com/highline179/" target="_blank" class="opacity-80 hover:opacity-100 transition" aria-label="Instagram">
<svg xmlns="http://www.w3.org/2000/svg" class="w-6 h-6" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" aria-hidden="true">
<rect x="3" y="3" width="18" height="18" rx="5" ry="5" />
<path d="M16 11.37A4 4 0 1 1 12.63 8 4 4 0 0 1 16 11.37z" />
<path d="M17.5 6.5h.01" />
</svg>
</a>
</div>
</div>
</div>
<div class="border-t border-white/10 mt-10 pt-6 flex flex-col md:flex-row items-center justify-between gap-3">
<p class="text-xs text-gray-400">
©
2026
WLF Projekt GmbH.
Alle Rechte vorbehalten.
</p>
<button type="button"
class="text-xs font-bold uppercase tracking-widest text-gray-300 hover:text-white transition"
onclick="window.scrollTo({top:0,behavior:'smooth'});">
Nach oben
</button>
</div>
</div>
</footer>
<!-- ✅ Cookie Banner + Einstellungen (highline179) -->
<div id="hlCookieBanner" class="fixed inset-x-0 bottom-0 z-[9998] hidden">
<div class="mx-auto max-w-[1200px] px-3 pb-3">
<div class="rounded-2xl bg-[#2c2c2c] text-gray-100 shadow-2xl border border-white/10 overflow-hidden">
<div class="p-4 md:p-5">
<div class="flex items-start gap-3">
<div class="mt-0.5 w-10 h-10 rounded-xl bg-white/10 flex items-center justify-center shrink-0">
<i data-lucide="cookie" class="w-5 h-5 text-white"></i>
</div>
<div class="flex-1 min-w-0">
<div class="flex flex-col md:flex-row md:items-start md:justify-between gap-4">
<div class="min-w-0">
<div class="text-sm md:text-base font-extrabold tracking-tight">Cookies & Privatsphäre</div>
<p class="mt-1 text-sm text-white/75 leading-snug">
Wir verwenden technisch notwendige Cookies für den Betrieb (z. B. Warenkorb/Session).
Analyse- und Marketing-Cookies setzen wir nur mit deiner Zustimmung. Du kannst deine Auswahl jederzeit ändern.
</p>
<div class="mt-2 text-xs text-white/55">
<a class="underline hover:text-white" href="/impressum">Impressum</a>
<span class="mx-2">·</span>
<a class="underline hover:text-white" href="/datenschutz">Datenschutz</a>
</div>
</div>
<!-- Buttons (gleichwertig, kein “Dark Pattern”) -->
<div class="flex flex-col sm:flex-row gap-2 sm:items-center shrink-0">
<button type="button" id="hlCookieBtnAcceptAll"
class="px-4 py-2 rounded-xl font-bold text-sm border border-white/15 bg-[#a81d20] hover:brightness-110 transition">
Alle akzeptieren
</button>
<button type="button" id="hlCookieBtnReject"
class="px-4 py-2 rounded-xl font-bold text-sm border border-white/15 bg-white/10 hover:bg-white/15 transition">
Alle ablehnen
</button>
<button type="button" id="hlCookieBtnSettings"
class="px-4 py-2 rounded-xl font-bold text-sm border border-white/15 bg-transparent hover:bg-white/10 transition">
Einstellungen
</button>
</div>
</div>
<div class="mt-3 text-[11px] text-white/45 leading-snug">
Hinweis: Technisch notwendige Cookies sind immer aktiv. Deine Auswahl wird auf diesem Gerät/Browser gespeichert.
</div>
</div>
</div>
</div>
<div class="h-1 bg-[#a81d20]"></div>
</div>
</div>
</div>
<!-- Floating Button (optional, wie in deinem Screenshot) -->
<button type="button" id="hlCookieFab"
class="fixed left-4 bottom-4 z-[9997] hidden w-11 h-11 rounded-full bg-[#2c2c2c] border border-white/15 shadow-xl
flex items-center justify-center hover:brightness-110 transition"
aria-label="Cookie-Einstellungen öffnen">
<i data-lucide="cookie" class="w-5 h-5 text-white"></i>
</button>
<!-- Einstellungen Modal -->
<div id="hlCookieModal" class="fixed inset-0 z-[9999] hidden" role="dialog" aria-modal="true" aria-label="Cookie-Einstellungen">
<div class="absolute inset-0 bg-black/60"></div>
<div class="relative mx-auto max-w-[720px] px-3 md:px-6 pt-10 md:pt-16">
<div class="rounded-2xl bg-[#2c2c2c] text-gray-100 border border-white/10 shadow-2xl overflow-hidden">
<div class="p-4 md:p-6 flex items-start justify-between gap-4 border-b border-white/10">
<div>
<div class="text-lg font-extrabold tracking-tight">Cookie-Einstellungen</div>
<div class="text-sm text-white/65 mt-1">
Wähle aus, welche Kategorien wir verwenden dürfen. Du kannst die Einwilligung jederzeit widerrufen.
</div>
</div>
<button type="button" id="hlCookieModalClose" class="p-2 rounded-xl hover:bg-white/10 transition" aria-label="Schließen">
<i data-lucide="x" class="w-5 h-5 text-white"></i>
</button>
</div>
<div class="p-4 md:p-6 space-y-4">
<!-- Notwendig -->
<div class="rounded-xl border border-white/10 bg-white/5 p-4">
<div class="flex items-start justify-between gap-3">
<div>
<div class="font-bold">Technisch notwendige Cookies</div>
<div class="text-sm text-white/65 mt-1">
Erforderlich für Grundfunktionen (z. B. Warenkorb/Session, Login, Sicherheit) und zum Speichern deiner Cookie-Auswahl.
</div>
</div>
<div class="text-xs font-bold px-3 py-1 rounded-full bg-white/10 border border-white/10 mt-0.5">Immer aktiv</div>
</div>
</div>
<!-- Analytics -->
<div class="rounded-xl border border-white/10 bg-white/5 p-4">
<div class="flex items-start justify-between gap-3">
<div>
<div class="font-bold">Analyse / Statistik</div>
<div class="text-sm text-white/65 mt-1">
Hilft uns zu verstehen, wie die Website genutzt wird (z. B. Besucherzahlen, Klickpfade). Nur mit Zustimmung.
</div>
</div>
<label class="inline-flex items-center gap-2 cursor-pointer select-none">
<input id="hlCookieToggleAnalytics" type="checkbox" class="sr-only">
<span class="w-12 h-7 rounded-full bg-white/10 border border-white/15 relative transition">
<span class="absolute top-0.5 left-0.5 w-6 h-6 rounded-full bg-white/70 transition" id="hlKnobAnalytics"></span>
</span>
<span class="text-sm font-bold">Aktiv</span>
</label>
</div>
</div>
<!-- Marketing -->
<div class="rounded-xl border border-white/10 bg-white/5 p-4">
<div class="flex items-start justify-between gap-3">
<div>
<div class="font-bold">Marketing</div>
<div class="text-sm text-white/65 mt-1">
Personalisierung und/oder Kampagnen-Messung. Nur mit Zustimmung.
</div>
</div>
<label class="inline-flex items-center gap-2 cursor-pointer select-none">
<input id="hlCookieToggleMarketing" type="checkbox" class="sr-only">
<span class="w-12 h-7 rounded-full bg-white/10 border border-white/15 relative transition">
<span class="absolute top-0.5 left-0.5 w-6 h-6 rounded-full bg-white/70 transition" id="hlKnobMarketing"></span>
</span>
<span class="text-sm font-bold">Aktiv</span>
</label>
</div>
</div>
<!-- External Media -->
<div class="rounded-xl border border-white/10 bg-white/5 p-4">
<div class="flex items-start justify-between gap-3">
<div>
<div class="font-bold">Externe Medien</div>
<div class="text-sm text-white/65 mt-1">
Inhalte von Drittanbietern (z. B. eingebettete Karten/Videos). Nur mit Zustimmung.
</div>
</div>
<label class="inline-flex items-center gap-2 cursor-pointer select-none">
<input id="hlCookieToggleMedia" type="checkbox" class="sr-only">
<span class="w-12 h-7 rounded-full bg-white/10 border border-white/15 relative transition">
<span class="absolute top-0.5 left-0.5 w-6 h-6 rounded-full bg-white/70 transition" id="hlKnobMedia"></span>
</span>
<span class="text-sm font-bold">Aktiv</span>
</label>
</div>
</div>
<div class="text-xs text-white/55 leading-snug">
Details zu Anbietern, Speicherdauer und etwaigen Drittlandübermittlungen stehen in der Datenschutzerklärung.
</div>
</div>
<div class="p-4 md:p-6 border-t border-white/10 flex flex-col sm:flex-row gap-2 sm:justify-end">
<button type="button" id="hlCookieSaveReject"
class="px-4 py-2 rounded-xl font-bold text-sm border border-white/15 bg-white/10 hover:bg-white/15 transition">
Ablehnen
</button>
<button type="button" id="hlCookieSaveSelected"
class="px-4 py-2 rounded-xl font-bold text-sm border border-white/15 bg-[#a81d20] hover:brightness-110 transition">
Auswahl speichern
</button>
</div>
</div>
</div>
</div>
<script>
(function () {
// -----------------------------
// Config
// -----------------------------
var CONSENT_COOKIE = "hl_cookie_consent";
var CONSENT_DAYS = 180; // 6 Monate (üblich)
// App-Pfad dynamisch: "/" oder "/WLFShop/"
var APP_PATH = "/";
var COOKIE_PATH = APP_PATH.endsWith("/") ? APP_PATH : (APP_PATH + "/");
// localStorage Key pro App
var STORAGE_KEY = CONSENT_COOKIE + "__" + COOKIE_PATH.replace(/\//g, "_");
// -----------------------------
// Helpers (Cookie)
// -----------------------------
function setCookie(name, value, days) {
var maxAge = days * 24 * 60 * 60;
document.cookie = name + "=" + encodeURIComponent(value)
+ "; path=" + COOKIE_PATH
+ "; max-age=" + maxAge
+ "; SameSite=Lax";
}
function getCookie(name) {
var m = document.cookie.match(new RegExp("(^| )" + name.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&") + "=([^;]+)"));
return m ? decodeURIComponent(m[2]) : "";
}
function readConsent() {
var raw = getCookie(CONSENT_COOKIE);
if (!raw) {
try { raw = localStorage.getItem(STORAGE_KEY) || ""; } catch (e) { }
}
if (!raw) return null;
try { return JSON.parse(raw); } catch (e) { return null; }
}
function writeConsent(obj) {
var raw = JSON.stringify(obj);
setCookie(CONSENT_COOKIE, raw, CONSENT_DAYS); // setCookie muss path=COOKIE_PATH verwenden!
try { localStorage.setItem(STORAGE_KEY, raw); } catch (e) { }
}
// -----------------------------
// UI
// -----------------------------
var banner = document.getElementById("hlCookieBanner");
var fab = document.getElementById("hlCookieFab");
var modal = document.getElementById("hlCookieModal");
var tAnalytics = document.getElementById("hlCookieToggleAnalytics");
var tMarketing = document.getElementById("hlCookieToggleMarketing");
var tMedia = document.getElementById("hlCookieToggleMedia");
var kAnalytics = document.getElementById("hlKnobAnalytics");
var kMarketing = document.getElementById("hlKnobMarketing");
var kMedia = document.getElementById("hlKnobMedia");
function syncKnob(cb, knob) {
if (!cb || !knob) return;
// Track = das 12x7 "Schienen"-Span direkt neben dem Input
var track = cb.parentElement.querySelector("span.w-12.h-7");
if (!track) track = cb.parentElement.querySelector("span.w-12"); // fallback
if (cb.checked) {
knob.style.transform = "translateX(20px)";
knob.style.backgroundColor = "rgba(255,255,255,.9)";
if (track) track.style.backgroundColor = "rgba(168,29,32,.45)";
} else {
knob.style.transform = "translateX(0px)";
knob.style.backgroundColor = "rgba(255,255,255,.7)";
if (track) track.style.backgroundColor = "rgba(255,255,255,.10)";
}
}
function openModal() {
if (!modal) return;
modal.classList.remove("hidden");
document.documentElement.classList.add("overflow-hidden");
// render icons if lucide is available
try { if (window.lucide) lucide.createIcons(); } catch (e) { }
}
function closeModal() {
if (!modal) return;
modal.classList.add("hidden");
document.documentElement.classList.remove("overflow-hidden");
}
function showBanner() {
if (banner) banner.classList.remove("hidden");
}
function hideBanner() {
if (banner) banner.classList.add("hidden");
// show FAB after decision
if (fab) fab.classList.remove("hidden");
}
// -----------------------------
// Apply consent (hook for analytics/marketing/media)
// -----------------------------
function applyConsent(consent) {
try {
window.dispatchEvent(new CustomEvent("hlCookieConsentChanged", { detail: consent }));
} catch (e) { }
try {
if (typeof gtag === "function") {
var analyticsGranted = !!(consent && consent.analytics);
gtag("consent", "update", {
analytics_storage: analyticsGranted ? "granted" : "denied",
ad_storage: "denied",
ad_user_data: "denied",
ad_personalization: "denied"
});
if (analyticsGranted) {
// GA4 "aktivieren", aber kontrolliert senden
gtag("config", "G-KL1FMTJKEW", { anonymize_ip: true, send_page_view: false });
gtag("event", "page_view");
}
}
} catch (e) { }
}
// -----------------------------
// Init
// -----------------------------
function init() {
// lucide icons
try { if (window.lucide) lucide.createIcons(); } catch (e) { }
var consent = readConsent();
// wire toggles
function wireToggle(cb, knob) {
if (!cb) return;
cb.addEventListener("change", function () { syncKnob(cb, knob); });
}
wireToggle(tAnalytics, kAnalytics);
wireToggle(tMarketing, kMarketing);
wireToggle(tMedia, kMedia);
// Buttons
var btnAcceptAll = document.getElementById("hlCookieBtnAcceptAll");
var btnReject = document.getElementById("hlCookieBtnReject");
var btnSettings = document.getElementById("hlCookieBtnSettings");
var btnClose = document.getElementById("hlCookieModalClose");
var btnSaveSel = document.getElementById("hlCookieSaveSelected");
var btnSaveRej = document.getElementById("hlCookieSaveReject");
if (btnAcceptAll) btnAcceptAll.addEventListener("click", function () {
var c = { v: 1, ts: Date.now(), analytics: true, marketing: true, media: true };
writeConsent(c);
hideBanner();
applyConsent(c);
});
if (btnReject) btnReject.addEventListener("click", function () {
var c = { v: 1, ts: Date.now(), analytics: false, marketing: false, media: false };
writeConsent(c);
hideBanner();
applyConsent(c);
});
if (btnSettings) btnSettings.addEventListener("click", function () {
// prefill with existing or defaults
var c = readConsent() || { analytics: false, marketing: false, media: false };
if (tAnalytics) tAnalytics.checked = !!c.analytics;
if (tMarketing) tMarketing.checked = !!c.marketing;
if (tMedia) tMedia.checked = !!c.media;
syncKnob(tAnalytics, kAnalytics);
syncKnob(tMarketing, kMarketing);
syncKnob(tMedia, kMedia);
openModal();
});
if (btnClose) btnClose.addEventListener("click", closeModal);
if (modal) modal.addEventListener("click", function (e) {
if (e.target === modal || e.target === modal.querySelector(".absolute.inset-0")) closeModal();
});
document.addEventListener("keydown", function (e) {
if (e.key === "Escape") closeModal();
});
if (btnSaveRej) btnSaveRej.addEventListener("click", function () {
var c = { v: 1, ts: Date.now(), analytics: false, marketing: false, media: false };
writeConsent(c);
closeModal();
hideBanner();
applyConsent(c);
});
if (btnSaveSel) btnSaveSel.addEventListener("click", function () {
var c = {
v: 1,
ts: Date.now(),
analytics: !!(tAnalytics && tAnalytics.checked),
marketing: !!(tMarketing && tMarketing.checked),
media: !!(tMedia && tMedia.checked)
};
writeConsent(c);
closeModal();
hideBanner();
applyConsent(c);
});
// Floating button opens settings anytime
if (fab) fab.addEventListener("click", function () {
var c = readConsent() || { analytics: false, marketing: false, media: false };
if (tAnalytics) tAnalytics.checked = !!c.analytics;
if (tMarketing) tMarketing.checked = !!c.marketing;
if (tMedia) tMedia.checked = !!c.media;
syncKnob(tAnalytics, kAnalytics);
syncKnob(tMarketing, kMarketing);
syncKnob(tMedia, kMedia);
openModal();
});
// first run
if (!consent) {
// show banner first time
showBanner();
// FAB hidden until decision
if (fab) fab.classList.add("hidden");
} else {
// banner not needed anymore, but FAB available
hideBanner();
applyConsent(consent);
}
}
if (document.readyState === "loading") document.addEventListener("DOMContentLoaded", init);
else init();
})();
</script>
<!-- /Cookie Banner -->
<script>
(function () {
var slides = Array.prototype.slice.call(document.querySelectorAll('#hlHeroSlides .hlSlide'));
var title = document.getElementById('hlHeroTitle');
var sub = document.getElementById('hlHeroSub');
var captions = [
{ t: 'Erlebe den<br/>#BlickMitKick', s: 'Täglich von 08:00 - 22:00 Uhr' },
{ t: 'Adrenalin pur!', s: '365 Tage im Jahr' },
{ t: '„Nur fliegen ist schöner“', s: '' }
];
var idx = 0;
function show(i) {
slides.forEach(function (el, n) {
el.classList.toggle('opacity-100', n === i);
el.classList.toggle('opacity-0', n !== i);
});
if (title) title.innerHTML = captions[i].t;
if (sub) sub.textContent = captions[i].s;
if (window.hlAdjustHeroBtns) window.hlAdjustHeroBtns();
}
if (slides.length) {
setInterval(function () {
idx = (idx + 1) % slides.length;
show(idx);
}, 6500);
}
})();
(function () {
function qs(sel, root) { return (root || document).querySelector(sel); }
window.hlOpenLightbox = function (src, alt) {
var lb = qs('#hlLightbox'), img = qs('#hlLightboxImg');
if (!lb || !img) return;
img.src = src || '';
img.alt = alt || '';
lb.style.display = 'block';
document.body.classList.add('overflow-hidden');
};
window.hlCloseLightbox = function () {
var lb = qs('#hlLightbox'), img = qs('#hlLightboxImg');
if (!lb || !img) return;
lb.style.display = 'none';
img.src = '';
document.body.classList.remove('overflow-hidden');
};
document.addEventListener('click', function (e) {
var a = e.target.closest('[data-hl-lightbox]');
if (!a) return;
e.preventDefault();
var src = a.getAttribute('href') || a.getAttribute('data-src') || '';
var alt = a.getAttribute('data-alt') || (e.target.getAttribute('alt') || '');
window.hlOpenLightbox(src, alt);
}, true);
document.addEventListener('keydown', function (e) {
if (e.key === 'Escape') window.hlCloseLightbox();
});
})();
try { lucide.createIcons(); } catch (e) { }
// Buttons ausblenden wenn zu wenig Platz im Hero
(function () {
function adjustHeroBtns() {
var headerH = parseFloat(getComputedStyle(document.documentElement).getPropertyValue('--hl-header-h')) || 96;
var availH = window.innerHeight - headerH;
var btn1 = document.getElementById('hlHeroBtnBridge');
var btn2 = document.getElementById('hlHeroBtnPrices');
// Unter 680px: nur 2 Buttons
// Unter 580px: nur 1 Button (Ticket kaufen)
if (btn1) btn1.style.display = availH < 680 ? 'none' : '';
if (btn2) btn2.style.display = availH < 580 ? 'none' : '';
}
adjustHeroBtns();
window.addEventListener('resize', adjustHeroBtns);
window.hlAdjustHeroBtns = adjustHeroBtns;
})();
</script>
</form>
<script>
try { if (window.lucide && typeof lucide.createIcons === 'function') lucide.createIcons(); } catch (e) { }
</script>
</body>
</html>
Sitemap
Кол-во: 0
XML-карта сайта для поисковиков
?
Sitemap.xml помогает поисковику быстрее находить и индексировать страницы. Особенно важен для крупных сайтов и новых страниц, на которые ещё нет входящих ссылок.
Robots.txt не содержит ссылку на карту сайта. Рекомендуется добавить карту сайта и указать ссылку на нее в robots.txt.
Внутренние ссылки
Кол-во: 14
Ссылки на другие страницы своего сайта
?
Внутренние ссылки распределяют ссылочный вес между страницами и помогают поисковику обходить сайт. Пустые анкоры и ссылки на запрещённые robots.txt страницы — типичные ошибки.
Внутренних ссылок на странице 14 оптимально.
Внутренние ссылки не запрещены к индексации в robots.txt.
На странице присутствуют изображения 1.
Показать внутренние ссылки
| Url | Анкор | Состояние | Анализировать |
|---|---|---|---|
| /./ |
HOME
|
|
Анализировать url |
| /die-bruecke |
DIE BRÜCKE
|
|
Анализировать url |
| /anreise |
ANREISE
|
|
Анализировать url |
| /preise |
PREISE / ÖFFNUNGSZEITEN
|
|
Анализировать url |
| /die-bruecke |
<span>Die Brücke ansehen</span>
<i data-lucide="arrow-right" class="w-5 h-5 ml-3 shrink-0" aria-hidden="true"></i>
|
|
Анализировать url |
| /preise |
<span>Preise & Öffnungszeiten</span>
<i data-lucide="arrow-right" class="w-5 h-5 ml-3 shrink-0" aria-hidden="true"></i>
|
|
Анализировать url |
| /anreise |
Details
|
|
Анализировать url |
| /anreise |
Details
|
|
Анализировать url |
| /faq |
FAQ
|
|
Анализировать url |
| /agb |
AGB
|
|
Анализировать url |
| /datenschutz |
Datenschutz
|
|
Анализировать url |
| /impressum |
Impressum
|
|
Анализировать url |
| /impressum |
Impressum
|
|
Анализировать url |
| /datenschutz |
Datenschutz
|
|
Анализировать url |
Внешние ссылки
Кол-во: 6
Ссылки на сторонние сайты
?
Исходящие внешние ссылки передают часть ссылочного веса на чужие сайты. Ссылки на авторитетные ресурсы безопасны; ссылки на мусорные сайты могут навредить репутации страницы.
Внешних ссылок на странице 6 слишком много. Спрячьте лишние ссылки в тег noindex или атрибут rel='nofollow'!
На странице ссылки с атрибутом rel='nofollow' 4.
Показать внешние ссылки
| Url | Анкор | Анализировать |
|---|---|---|
| vvt.at |
VVT
|
Анализировать url |
| oebb.at |
ÖBB
|
Анализировать url |
| bahn.de |
DB
|
Анализировать url |
| austrian.com |
Flugbuchung
|
Анализировать url |
| facebook.com |
<svg xmlns="http://www.w3.org/2000/svg" class="w-6 h-6" viewbox="0 0 24 24" fill="currentColor" aria-hidden="true">
<path d="M22 12a10 10 0 1 0-11.56 9.87v-6.99H7.9V12h2.54V9.8c0-2.5 1.49-3.89 3.77-3.89 1.09 0 2.23.2 2.23.2v2.46h-1.26c-1.24 0-1.63.77-1.63 1.56V12h2.77l-.44 2.88h-2.33v6.99A10 10 0 0 0 22 12Z"></path>
</svg>
|
|
| instagram.com |
<svg xmlns="http://www.w3.org/2000/svg" class="w-6 h-6" viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" aria-hidden="true">
<rect x="3" y="3" width="18" height="18" rx="5" ry="5"></rect>
<path d="M16 11.37A4 4 0 1 1 12.63 8 4 4 0 0 1 16 11.37z"></path>
<path d="M17.5 6.5h.01"></path>
</svg>
|
Конкуренты Готовность: 0%
Конкуренты в Яндексе
Кол-во: 0
Топ сайтов-конкурентов в Яндексе
?
Сайты, чаще всего появляющиеся в ТОПе Яндекса по запросам из семантического ядра этой страницы.
Мы не нашли у вас конкурентов в Яндексе. Сайт или очень молодой или плохо продвигается.
Конкурентов в ТОП-10 Яндекса не нашлось.
Конкуренты в Google
Кол-во: 0
Топ сайтов-конкурентов в Google
?
Сайты, чаще всего появляющиеся в ТОПе Google по запросам из семантического ядра этой страницы.
Конкуренты в Google тоже не найдены. Займитесь продвижением сайта!
Конкурентов в ТОП-10 Google не нашлось.
ЗоЗПП: права потребителей Готовность: 100%
Нарушения
Не выявлены
Признаков дистанционной продажи товаров (интернет-магазина) не обнаружено — требования ЗоЗПП о раскрытии информации продавца к сайту не применяются. Нарушений нет.
ФЗ-149: рекомендательные технологии Готовность: 100%
Нарушения
Не выявлены
Рекомендательные блоки («с этим покупают», «похожие товары» и т.п.) на сайте не обнаружены — требования ст. 10.7 ФЗ-149 к сайту не применяются. Нарушений нет.
ФЗ-38: реклама Готовность: 100%
Нарушения
Не выявлены
Рекламных тематик с обязательными оговорками (медицина, БАД, кредиты и займы, новостройки) на сайте не обнаружено. Нарушений нет.
ФЗ-436: защита детей Готовность: 100%
Нарушения
Не выявлены
Признаков информационной продукции (новости, видео, книги, игры, курсы) не обнаружено — обязательная возрастная маркировка по ФЗ-436 сайту не требуется. Нарушений нет.
Вердикт
Таким сайт highline179.com видят поисковые системы. Процент оптимизации невысокий - 47%. Чтобы улучшить сайт и попасть в ТОП необходимо:
Исправьте ошибки в мета-тегах.
Исправьте ошибки индексации.
Поделитесь с друзьями: