<div id="split-form-page-53942-50224" class="split-form-page u-inverted">
<div class="split-form-page__image">
<picture class="image image--cover">
<img class="image__img" src="https://bildermangel.de/900x900/fe7c09/130f26.webp" width="900" height="900" alt="" loading="lazy" role="presentation" />
</picture>
</div>
<div class="split-form-page__inner">
<div class="split-form-page__content">
<div class="split-form-page__close">
<a class="icon-button" title="Schließen" href="#">
<span class="icon-button__icon">
<svg class="icon icon--cross" viewBox="0 0 200 200" aria-hidden="true">
<use xlink:href="/assets/icons/icons.3bafb6df0d.svg#cross"></use>
</svg> </span>
</a>
</div>
<div class="split-form-page__icon">
<svg class="icon icon--thumbs-up" viewBox="0 0 200 200" aria-hidden="true">
<use xlink:href="/assets/icons/icons.3bafb6df0d.svg#thumbs-up"></use>
</svg>
</div>
<div class="split-form-page__headline">
<h1 class="headline headline--3"><span class="headline__text">Willkommen</span></h1>
</div>
<form id="split-form-page-53942-50224-form" class="split-form-page__form" method="post" enctype="multipart/form-data" accept-charset="utf-8">
<div id="split-form-page-53942-50224-field-76518-97411" class="field split-form-page__field">
<label class="field__label" for="split-form-page-53942-50224-field-76518-97411-control">
<span class="label">Nutzername oder E-Mail</span>
</label>
<div id="split-form-page-53942-50224-field-76518-97411-errors" class="field__errors" hidden>
<div class="notice notice--error">
<svg class="icon icon--caution notice__icon" viewBox="0 0 200 200" aria-hidden="true">
<use xlink:href="/assets/icons/icons.3bafb6df0d.svg#caution"></use>
</svg>
<span class="notice__text"></span>
</div>
</div>
<div class="field__controls field__controls--stacked">
<div class="field__control">
<div class="input">
<div class="input__inner">
<input class="input__input input__input--text" id="split-form-page-53942-50224-field-76518-97411-control" name="username-field" required aria-required="true" type="text" />
</div>
</div>
</div>
</div>
<div class="field__footer">
</div>
</div>
<div id="split-form-page-53942-50224-field-15034-73371" class="field split-form-page__field">
<label class="field__label" for="split-form-page-53942-50224-field-15034-73371-control">
<span class="label">Passwort</span>
</label>
<div id="split-form-page-53942-50224-field-15034-73371-errors" class="field__errors" hidden>
<div class="notice notice--error">
<svg class="icon icon--caution notice__icon" viewBox="0 0 200 200" aria-hidden="true">
<use xlink:href="/assets/icons/icons.3bafb6df0d.svg#caution"></use>
</svg>
<span class="notice__text"></span>
</div>
</div>
<div class="field__controls field__controls--stacked">
<div class="field__control">
<div class="input">
<div class="input__inner">
<input class="input__input input__input--password" id="split-form-page-53942-50224-field-15034-73371-control" name="password-field" required aria-required="true" type="password" spellcheck="false" />
</div>
</div>
</div>
</div>
<div class="field__footer">
</div>
</div>
<div class="split-form-page__submit">
<button class="button u-underline" type="submit">Login</button>
</div>
<div class="split-form-page__buttons-splitter">
<span class="split-form-page__buttons-splitter-text">oder</span>
</div>
<div class="split-form-page__buttons">
<div class="split-form-page__button">
<a class="button button--outline u-underline" href="#">Mit Einmalcode einloggen</a>
</div>
</div>
</form>
<div class="split-form-page__outro">
<p class="paragraph"><a class="link link--internal" href="#"><span class="link__text u-underline">Passwort vergessen</span></a><br>Neu hier? <a class="link link--internal" href="#"><span class="link__text u-underline">Kostenlos anmelden</span></a></p>
</div>
<div class="split-form-page__lang-switcher">
<a class="lang-switcher" title="Switch to English" rel="alternate" hreflang="en" href="#">
<img class="lang-switcher__flag" src="/assets/images/en-flag.583699d9c6.svg" width="50" height="30" role="presentation" loading="lazy" alt="">
</a>
</div>
</div>
</div>
</div>
{% set id = id ??? html_id('split-form-page') %}
<div {{ html_attributes({
id: id,
class: 'split-form-page u-inverted',
}, attrs ?? {}) }}>
{% if image|default %}
<div class="split-form-page__image">
{% include '@image' with image | merge({
decorative: true,
cover: true,
}) only %}
</div>
{% endif %}
<div class="split-form-page__inner">
<div class="split-form-page__content">
{% if closeUrl|default %}
<div class="split-form-page__close">
{% include '@icon-button' with {
title: 'Close' | t('site'),
link: closeUrl,
icon: 'cross',
} only %}
</div>
{% endif %}
{% if icon|default %}
<div class="split-form-page__icon">
{% include '@icon' with {
icon: icon,
} only %}
</div>
{% endif %}
{% if headline|default %}
<div class="split-form-page__headline">
{% include '@headline' with headline | merge({
level: 1,
size: 3,
}) only %}
</div>
{% endif %}
{% if intro|default %}
<div class="split-form-page__intro">
{{ intro | componentize }}
</div>
{% endif %}
{% for alert in alerts|default([]) %}
<div class="split-form-page__alert">
{% include '@alert' with alert only %}
</div>
{% endfor %}
{% if fields|default or forceForm|default %}
<form {{ html_attributes({
id: 'form' | namespaceInputId(id),
class: 'split-form-page__form',
action: action ??? '',
method: method ??? 'post',
enctype: 'multipart/form-data',
'accept-charset': 'utf-8',
}, formAttrs ?? {}) }}>
{{ csrf|default ? csrfInput({ autocomplete: 'false' }) }}
{{ actionUrl|default ? actionInput(actionUrl) }}
{{ redirectUrl|default ? redirectInput(redirectUrl) }}
{% for name, value in hiddenInputs|default %}
{{ value ? hiddenInput(name, value) }}
{% endfor %}
{% for name, value in hashedHiddenInputs|default %}
{{ value ? hiddenInput(name, value | hash) }}
{% endfor %}
{% for field in fields|default([]) %}
{% include '@field' with field | merge({
id: field.id | default(html_id('field')) | namespaceInputId(id),
formId: id,
attrs: field.attrs | default({}) | merge({
class: html_classes(field.attrs.class ?? '', 'split-form-page__field'),
}),
}) only %}
{% endfor %}
<div class="split-form-page__submit">
{% include '@button' with submitButton | default({
text: 'Submit' | t('site'),
}) | merge({
type: 'submit',
block: true,
}) only %}
</div>
{% if buttons|default %}
{% if buttonSpliter|default %}
<div class="split-form-page__buttons-splitter">
<span class="split-form-page__buttons-splitter-text">
{{- buttonSpliter -}}
</span>
</div>
{% endif %}
<div class="split-form-page__buttons">
{% for button in buttons %}
<div class="split-form-page__button">
{% include '@button' with button | merge({
outline: true,
block: true,
}) only %}
</div>
{% endfor %}
</div>
{% endif %}
</form>
{% endif %}
{% if outro|default %}
<div class="split-form-page__outro">
{{ outro | componentize }}
</div>
{% endif %}
{% if langSwitcher|default %}
<div class="split-form-page__lang-switcher">
{% include '@lang-switcher' with langSwitcher only %}
</div>
{% endif %}
</div>
</div>
</div>
{
"image": {
"src": "https://bildermangel.de/900x900/fe7c09/130f26.webp",
"width": 900,
"height": 900,
"alt": "Das ist ein Platzhalter-Bild"
},
"closeUrl": "#",
"langSwitcher": {
"link": "#",
"title": "Switch to English",
"language": "EN"
}
}
:root {
--split-form-page-background-color: var(--color-midnight);
--split-form-page-close-size: 4.4rem;
--split-form-page-color: var(--color-white);
--split-form-page-content-max-width: 40rem;
--split-form-page-icon-color: var(--color-orange);
--split-form-page-image-max-width: 90rem;
}
.split-form-page {
background-color: var(--split-form-page-background-color);
color: var(--split-form-page-color);
display: flex;
inline-size: 100vw;
min-block-size: 100vh;
}
.split-form-page__image {
display: none;
flex-basis: 50%;
flex-grow: 1;
flex-shrink: 0;
max-inline-size: var(--split-form-page-image-max-width);
@include mq($from: m) {
display: flex;
}
@include mq($from: l) {
flex-basis: 55%;
}
}
.split-form-page__inner {
flex-basis: 50%;
flex-grow: 1;
flex-shrink: 0;
padding-block: clamp(2rem, 5vw, 6rem);
padding-inline: clamp(2rem, 5vw, 3rem);
}
.split-form-page__content {
display: flex;
flex-direction: column;
inline-size: 100%;
justify-content: center;
margin-inline: auto;
max-inline-size: var(--split-form-page-content-max-width);
min-block-size: 100%;
padding-block-end: 3rem;
padding-block-start: calc(var(--split-form-page-close-size) + 3rem);
position: relative;
}
.split-form-page__icon {
color: var(--split-form-page-icon-color);
font-size: 6.6rem;
margin-block-end: 2.5rem;
text-align: center;
}
.split-form-page__headline {
--headline-kicker-font-size: 1.8rem;
--headline-kicker-line-height: var(--line-height-default);
margin-block-end: 2rem;
text-align: center;
}
.split-form-page__alert {
background-color: var(--color-white);
margin-block: 2rem;
}
.split-form-page__intro {
font-size: 1.6rem;
line-height: var(--line-height-body);
margin-block-end: 4rem;
text-align: center;
> * + * {
margin-block-start: 1rem;
}
}
.split-form-page__field {
& + & {
margin-block-start: 2rem;
}
}
.split-form-page__submit {
--button-width: 100%;
margin-block-start: 3rem;
}
.split-form-page__buttons-splitter {
font-size: var(--split-form-page-buttons-splitter-font-size, 1.4rem);
line-height: 1;
margin-block-start: 2rem;
position: relative;
&::before {
background-color: var(--color-midnight-offset);
block-size: 1px;
content: '';
inline-size: 100%;
inset-block-start: calc(50% - 0.5px);
inset-inline-start: 0;
position: absolute;
z-index: 1;
}
}
.split-form-page__buttons-splitter-text {
background-color: var(--color-midnight);
display: block;
inline-size: min-content;
margin-inline: auto;
padding-inline: 1em;
position: relative;
z-index: 2;
}
.split-form-page__buttons {
--button-width: 100%;
display: grid;
gap: 2rem;
margin-block-start: 2rem;
}
.split-form-page__outro {
font-size: 1.6rem;
line-height: var(--line-height-body);
margin-block-start: 3rem;
text-align: center;
}
.split-form-page__lang-switcher {
margin-block-start: 6rem;
}
.split-form-page__close {
--icon-button-background-color: transparent;
--icon-button-icon-color: var(--split-form-page-icon-color);
--icon-button-size: var(--split-form-page-close-size);
--icon-button-icon-size: 0.5em;
--icon-button-border-size: 2px;
--icon-button-background-color-active: var(--split-form-page-icon-color);
--icon-button-icon-color-active: var(--split-form-page-background-color);
inset-block-start: 0;
inset-inline-end: 0;
position: absolute;
}
No notes defined.