{% if document.getTitle() is defined and document.getTitle() is not empty %}
{% do pimcore_head_title().set(document.getTitle()) %}
{% else %}
{% do pimcore_head_title().set('BMW Timmermanns') %}
{% endif %}
{% set brandStyles = document.getProperty('brandStyles') | default('none') %}
{{ pimcore_head_script() }}
<!DOCTYPE html>
<html lang="de">
<head>
<meta charset="UTF-8">
{{ pimcore_head_title() }}
<meta name="viewport" content="width=device-width, initial-scale=1">
{% if document.getProperty('nocookiebanner') != true %}
{{ include('Includes/cookiebot.html.twig') }}
{{ include('Includes/tracking_google_tag_manager.html.twig') }}
{% endif %}
<link rel="apple-touch-icon" sizes="180x180" href="/assets/img/favicon/apple-touch-icon.png">
<link rel="icon" type="image/png" sizes="32x32" href="/assets/img/favicon/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="16x16" href="/assets/img/favicon/favicon-16x16.png">
<link rel="manifest" href="/assets/img/favicon/site.webmanifest">
<link rel="mask-icon" href="/assets/img/favicon/safari-pinned-tab.svg" color="#00528E">
<link rel="shortcut icon" href="/assets/img/favicon/favicon.ico">
<meta name="msapplication-TileColor" content="#00528E">
<meta name="msapplication-config" content="/assets/img/favicon/browserconfig.xml">
<meta name="theme-color" content="#ffffff">
<link rel="stylesheet" href="/assets/css/main.css?v=69232de{% include 'jenkins-build-no.txt' ignore missing %}">
{% if brandStyles == 'Mini' %}
<link rel="stylesheet" href="/assets/css/mini-additions.css">
{% endif %}
{% if editmode %}
<style>
[data-name='header'] {
z-index: 1300;
}
.pimcore_editable_areablock[name='header'] > .pimcore_block_plus,
.pimcore_editable_areablock[name='header'] > .pimcore_block_options {
position: relative;
z-index: 100;
}
</style>
{% endif %}
<style>
nav.locations-nav ul {
display: flex;
gap: 4.625rem;
margin: 0;
}
.skip-link {
position: absolute;
left: -999px;
background: #000;
color: #fff;
padding: 8px 16px;
z-index: 1000;
}
.skip-link:focus {
left: 0;
}
</style>
</head>
<body>
<a href="#main-content" class="skip-link">Zum Inhalt springen</a>
<header>
{% include '@FormBuilder/common/redirect-flash-message.html.twig' %}
{% include "./partials/_main-navigation.html.twig" with { 'brandStyles' : brandStyles } %}
{{ pimcore_inc('/shared/includes/quick-access-bar') }}
{{ pimcore_areablock('header', {
'allowed': ['keyvisual','calendar-overview'],
'limits': {'keyvisual': 1},
'class': 'position-relative',
'reload': true
}) }}
</header>
<main id="main-content">
{{ block('content') }}
</main>
{% set showBasicFooter = document.getProperty('showBasicFooter') %}
{% if showBasicFooter %}
{{ pimcore_inc('/shared/includes/footer-basic') }}
{% else %}
{{ pimcore_inc('/shared/includes/footer') }}
{% endif %}
{{ include('Includes/contact_forms.html.twig') }}
<script src="https://timmermanns.de/assets/js/app.js"></script>
<script>
/* Do things after DOM has fully loaded */
let readyLayout = (callback) => {
if (document.readyState !== 'loading') callback();
else document.addEventListener('DOMContentLoaded', callback);
};
const openCheck = (dialog) => {
if (!dialog.open) {
dialog.showModal();
}
};
readyLayout(() => {
let contactForm = document.querySelector('form#contact_form');
let contactFormName = contactForm.getAttribute('name');
let contactFormUrlField = contactFormName + '_url';
let contactFormSourceContextField = contactFormName + '_source_context';
let contactFormDealerdeskTypeField = contactFormName + '_dealerdeskType';
const dialog = document.getElementById('modal-iframe-zoho');
document.getElementById(contactFormUrlField).value = window.location.href;
document.getElementById(contactFormDealerdeskTypeField).value = 'CASE'; // Default value
contactForm.setAttribute('action', '//' + window.location.hostname);
const contactFormError = document.querySelector('form#contact_form .is-invalid');
const contactFormSuccess = document.querySelector('form#contact_form .alert.alert-success');
const qaLinkButtons = document.querySelectorAll(`[id^="qa-link-"]`);
const contactFormRow = document.querySelectorAll('form#contact_form .formbuilder-row')
const mandatoryDescription = document.querySelector('dialog .mandatory-description')
qaLinkButtons.forEach(btn => {
btn.addEventListener("click", function (e) {
if (contactFormSuccess) {
contactFormSuccess.remove();
}
mandatoryDescription.style.display = 'block';
contactFormRow.forEach(row => {
row.style.display = 'block';
});
});
});
if (contactFormError) {
openCheck(dialog);
const contactFormErrorBadge = document.querySelectorAll('form#contact_form .form-error-icon.badge');
contactFormErrorBadge.forEach(error => {
error.remove();
});
} else if (contactFormSuccess) {
openCheck(dialog);
mandatoryDescription.style.display = 'none';
contactFormRow.forEach(row => {
row.style.display = 'none';
});
}
});
</script>
</body>
</html>