/*
Theme Name: Hausarztpraxis am Rütimeyerplatz
Theme URI: https://www.foxcomputers.ch
Author: Fox Computers
Author URI: https://www.foxcomputers.ch
Version: 2026
License: GNU General Public License v3 or Later
License URI: https://www.gnu.org/licenses/gpl.html
Text Domain: ruetimeyerplatz

Hausarztpraxis am Rütimeyerplatz WordPress Theme 2011-2026
Hausarztpraxis am Rütimeyerplatz is distributed under the terms of the GNU GPL
*/

@font-face {
    font-family: 'Alaska-Book';
    src: url('fonts/Alaska-Book.woff2') format('woff2'),
        url('fonts/Alaska-Book.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}
@font-face {
    font-family: 'Alaska-Regular';
    src: url('fonts/Alaska-Regular.woff2') format('woff2'),
        url('fonts/Alaska-Regular.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}
@font-face {
    font-family: 'Alaska-Medium';
    src: url('fonts/Alaska-Medium.woff2') format('woff2'),
        url('fonts/Alaska-Medium.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}

* {
    margin:0;
    padding:0;
    border:0;
    font-size:100%;
    font:inherit;
    vertical-align:baseline;
    outline:none;
    box-sizing: border-box;
    -webkit-appearance:none;
    appearance:none;
    border-radius:0,
}
:root {
    --side:max(50px, calc((100% - 1820px) / 2));
    --hh:194px;
    --hs:110px;
    --hg:7px;
    /* ein Tempo für alle Teile des Kopfs, damit Logo, Abstände und Kante zusammen gehen */
    --ht:.6s cubic-bezier(.45,0,.2,1);
}
html {
    scroll-behavior:smooth;
    scroll-padding-top:calc(var(--hs) + 20px);
}
body {
    line-height:1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    background:#F5F6F0;
}
a {
    text-decoration-skip-ink:auto
}
strong, b {
    font-family: 'Alaska-Medium';
}
a[href^="tel"] {
    color:inherit;
    text-decoration:none
}
ol,ul {
    list-style:none
}
blockquote,q {
    quotes:none
}
blockquote:before, blockquote:after, q:before, q:after {
    content:'';
    content:none
}
q {
    display:inline;
    font-style:italic
}
q:before {
    content:'"';
    font-style:normal
}
q:after {
    content:'"';
    font-style:normal
}
table {
    border-collapse:collapse;
    border-spacing:0
}
th,td {
    padding:2px
}
sup, sub {
    vertical-align: baseline;
    position: relative;
    top: -0.4em;
    font-size:60%
}
sub { 
    top: 0.4em; 
}
img {
    max-width:100%;
    height:auto;
}
.wp-caption, .wp-caption-text, .gallery-caption {
    display: none;
}
.alignright {
    float:right;
    margin:0 0 20px 20px;
}
.alignleft {
    float:left;
    margin:0 20px 20px 0;
}
.aligncenter {
    display: block;
    margin:0 auto 20px auto;
}

#infobox {
    position: fixed;
    bottom:64px;
    left:-100%;
    width:415px;
    background:#663B67;
    border-top-right-radius:10px;
    border-bottom-right-radius:10px;
    box-shadow: 0 3px 6px rgba(0,0,0,.16);
    z-index: 999;
}
.loaded #infobox {
    left:0;
    left:max(0px, calc((100% - 1920px) / 2));
    transition:all 1s ease-in-out;
}
@media only screen and (min-width:1921px) {
    #infobox {
        border-radius:10px;
    }
}
.loaded #infobox.disabled {
    left:-100%;
    transition:all 1s ease-in-out;
}
#infobox #infobox-close {
    position: absolute;
    top:10px;
    right:10px;
    width:44px;
    height:44px;
    padding:0;
    border:0;
    border-radius:50%;
    background:url(images/iclose.svg) no-repeat center center;
    background-size:15px 15px;
    cursor: pointer;
    -webkit-appearance: none;
    appearance: none;
    -webkit-tap-highlight-color: transparent;
}
#infobox #infobox-close:focus-visible {
    outline:2px solid #fff;
    outline-offset:-6px;
}
/* nur beim ersten Besuch (Klasse am html aus header.php) */
.visited #intro, .infobox-seen #infobox {
    display: none;
}
#infobox #infobox-inner {
    padding:33px 50px;
}

#wrapper {
    overflow: hidden;
    max-width:2560px;
    margin:0 auto;
    background:#F5F6F0;
}

#header {
    position: fixed;
    top:0;
    left:0;
    width:100%;
    background:#F5F6F0;
    z-index: 999;
    transition:box-shadow var(--ht);
}
#header #header-inner {
    padding:12px 0 20px 0;
    max-width:1920px;
    margin:0 auto;
    position: relative;
    transition:padding var(--ht);
}
#header #menu-toggle {
    display: none;
}
#header #header-inner #menu ul li.menu-item-home {
    display: none;
}
#header #header-inner #menu ul li.current-menu-item a {
    text-decoration: underline;
    text-decoration-thickness:.09em;
    text-underline-offset:.22em;
}
#header #header-inner #logo {
    height:109px;
    margin:0 50px 28px 42px;
    transition:height var(--ht), margin var(--ht);
}
#header #header-inner #logo a {
    display: inline-block;
    vertical-align: top;
    font-family: 'Alaska-Book';
    font-size:106px;
    line-height:109px;
    color:#663B67;
    text-decoration: none;
    transform-origin:.09em 0;
    transition:transform var(--ht);
}
/* Kopf beim Scrollen verkleinern (Klasse .scrolled am html), die Höhe --hh für Kopfbild und Abstand bleibt.
   Das Logo wird als Ganzes skaliert (ruhiger als font-size, die Schrift springt nicht), Drehpunkt an der
   Kante des «H». Seine Höhe schrumpft im gleichen Mass, so laufen Menü und Unterkante synchron mit. */
.scrolled #header {
    box-shadow: 0 0.5px 2.5px rgba(0,0,0,.1);
}
.scrolled #header #header-inner {
    padding-top:10px;
    padding-bottom:14px;
}
.scrolled #header #header-inner #logo {
    height:45px;
    margin-bottom:6px;
}
.scrolled #header #header-inner #logo a {
    transform: scale(.415);
}
#header #header-inner #menu {
    margin:0 170px 0 50px;
}
#header #header-inner #menu ul {
    text-align: left;
    font-size:0;
}
#header #header-inner #menu ul li {
    display: inline-block;
    margin-right:44px;
}
#header #header-inner #menu ul li a {
    font-family: 'Alaska-Book';
    font-size:20px;
    line-height:25px;
    color:#663B67;
    text-decoration: none;
}

#container {
    padding-top:200px;
    padding-top:calc(var(--hh) + var(--hg));
}

#header-img, #header-qimg {
    margin:0 var(--side) 172px var(--side);
}
#header-img, #header-qimg #header-qimg-img {
    height:calc(100vh - 200px);
    height:calc(100vh - var(--hh) - var(--hg));
    height:calc(100svh - var(--hh) - var(--hg));
}
#header-qimg {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
}
#header-qimg #header-qimg-img {
    width:50%;
}
#header-qimg #header-qimg-text {
    width:50%;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding:48px 0 22px 62px;
    min-height:calc(100vh - 200px);
    min-height:calc(100vh - var(--hh) - var(--hg));
    min-height:calc(100svh - var(--hh) - var(--hg));
}
#header-qimg #header-qimg-text h1, #header-qimg #header-qimg-text p {
    z-index:2;
    position: relative;
}
#header-qimg #header-qimg-text.flower-on {
    position: relative;
    --fw:clamp(249px,34vw,498px);
}
#header-qimg #header-qimg-text.flower-on.flower-off:after {
    display: none;
}
#header-qimg #header-qimg-text.flower-on:after {
    content:"";
    position: absolute;
    width:var(--fw);
    height:calc(var(--fw) * 0.70482);
    top:calc(var(--fw) * -0.04819);
    right:calc(var(--fw) * -0.30120);
    background:url(images/header-flower.png) no-repeat center center;
    background-size:100% 100%;
    transform: translateY(-70%) rotate(-45deg);
    opacity: 0;
    z-index:1;
}
.loaded #header-qimg #header-qimg-text.flower-on:after {
    transform: translateY(0) rotate(-45deg);
    opacity: 1;
    transition:transform 1.8s cubic-bezier(.25,.1,.25,1), opacity 2.4s ease-in;
}

.sb-item:nth-last-child(1) > * {
    margin-bottom:0 !important;
}
.no-head .sb-item:nth-child(1) > * {
    padding-top:132px !important;
}
.no-head .sb-item:nth-child(1) .sbi-itel, .no-head .sb-item:nth-child(1) .sbi-ifull, .no-head .sb-item:nth-child(1) .sbi-contact {
    padding-top:0 !important;
}

.sbi-tfull, .sbi-team, .sbi-services, .sbi-tiles, .sbi-logos, .sbi-contact, .sbi-form, .sbi-scarousel .sbi-scarousel-title {
    padding:0 var(--side);
}

.sbi-tfull .sbi-tfull-inner {
    margin:0 auto;
    max-width:1000px;
}
.sbi-tfull.center {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.sbi-tfull.center .sbi-tfull-text {
    margin:0 auto;
    max-width:720px;
}
.sbi-tfull.left .sbi-tfull-inner {
    margin:0 0 0 50%;
    max-width:none;
    padding-left:66px;
}

.sbi-itel {
    margin:0 var(--side) 130px var(--side);
}
.sbi-itel.purple {
    background:#663B67;
    margin:0;
}
.sbi-itel .sbi-itel-inner {
    display: flex;
    flex-wrap: wrap;
}
.sbi-itel.purple .sbi-itel-inner {
    align-items: stretch;
    min-height: 100vh;
}
.sbi-itel .sbi-itel-inner .sbi-itel-img {
    width:50%;
}
.sbi-itel .sbi-itel-inner .sbi-itel-img img {
    display: block;
}
.sbi-itel .sbi-itel-inner .sbi-itel-text {
    width:50%;
    padding:28px 66px;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
}
.sbi-itel.purple .sbi-itel-inner .sbi-itel-text {
    display: block;
    padding:122px max(66px, var(--side)) 122px 66px;
}
.sbi-itel .sbi-itel-inner .sbi-itel-text .sbi-itel-more {
    display: none;
}

.sbi-ifull {
    margin:0 var(--side) 242px var(--side);
}
.sbi-ifull .sbi-ifull-items .sbi-ifull-item {
    aspect-ratio:16 / 9;
    max-height:calc(100vh - var(--hh) - var(--hg));
    max-height:calc(100svh - var(--hh) - var(--hg));
}
.sbi-ifull .sbi-ifull-items .sbi-ifull-item img {
    display: block;
    width:100%;
    height:100%;
    object-fit: cover;
}
.sbi-ifull .sbi-ifull-items .sbi-ifull-item.portrait {
    background:#EDE7F4;
}
.sbi-ifull .sbi-ifull-items .sbi-ifull-item.portrait img {
    object-fit: contain;
}

.sbi-team {
    padding-bottom:166px;
    position: relative;
}
.sbi-team .sbi-team-text {
    columns: 2;
    column-gap:32px;
    padding-bottom:34px;
}
.sbi-team .sbi-team-text p {
    break-inside: avoid;
}
.sbi-team .sbi-team-items {
    display: flex;
    flex-wrap: wrap;
    margin:0 -18px;
}
.sbi-team .sbi-team-items .sbi-team-item {
    width:calc(33.333% - 36px);
    margin:0 18px 76px 18px;
}
.sbi-team .sbi-team-items .sbi-team-item .sbi-team-item-img {
    margin-bottom:36px;
}
.sbi-team .sbi-team-items .sbi-team-item .sbi-team-item-img img {
    display: block;
    width:100%;
    aspect-ratio:1190 / 952;
    object-fit: cover;
}
.sbi-team .sbi-team-items .sbi-team-item .sbi-team-cv, .sbi-team .sbi-team-items.cv-on .sbi-team-item .sbi-team-cv .sbi-team-cv-toggle {
    display: none;
}
.sbi-team .sbi-team-items.cv-on .sbi-team-item .sbi-team-cv {
    display: block;
}
.sbi-team .sbi-team-items.cv-on .sbi-team-item .sbi-team-cv .sbi-team-cv-toggle {
    padding-top:40px;
}
/* Lebenslauf als Tabelle (Vorlage: Jahr | Text, Linien 1 px Aubergine 50 %), Markup aus ruetimeyerplatz_cv_table() */
#content .cv-list {
    margin:0 0 26px 0;
    padding:0;
    border-bottom:1px solid rgba(102,59,103,.5);
}
#content .cv-list .cv-row {
    display:grid;
    grid-template-columns:minmax(64px,26%) 1fr;
    padding:4px 0 3px 0;
    border-top:1px solid rgba(102,59,103,.5);
    font-family:'Alaska-Book';
    font-size:17px;
    line-height:26px;
    color:#663B67;
    list-style:none;
}
#content .cv-list.cv-plain .cv-row {
    display:block;
}
#content .cv-list dt {
    padding-right:12px;
}
.sbi-team-cv-trigger {
    padding-top:17px;
    text-align: left;
    font-size:0;
    cursor: pointer;
    display: inline-block;
}
.sbi-team-cv-trigger span {
    display: block;
    font-family: 'Alaska-Book';
    font-size:17px;
    line-height:25px;
    color:#663B67;
    text-decoration: underline;
    padding-right:54px;
    position: relative;
}
.sbi-team-cv-trigger span:after {
    content:"";
    position: absolute;
    bottom:5px;
    right:0;
    width: 23px;
    height: 9px;
    background: #663B67;
    clip-path: polygon(50% 0, 100% 100%, 0 100%);
    transform: rotate(180deg);
    transition: transform .4s ease;
}
.cv-open .sbi-team-cv-trigger span:after {
    transform: rotate(0);
    transition: transform .4s ease;
}

.sbi-services {
    padding-bottom:166px;
}
.sbi-services .sbi-services-items {
    display: flex;
    flex-wrap: wrap;
    margin:0 -38px;
}
.sbi-services .sbi-services-items .sbi-services-item {
    width:calc(33.333% - 76px);
    margin:0 38px 76px 38px;
}
.sbi-services .sbi-services-items .sbi-services-item .sbi-services-item-img {
    background:#E8F4C1;
    border-radius:30px;
    margin-bottom:20px;
    box-shadow: 0 3px 6px rgba(0,0,0,.16);
    padding:40px 52px;
}
.sbi-services .sbi-services-items .sbi-services-item .sbi-services-item-front h3, .sbi-services .sbi-services-items .sbi-services-item .sbi-services-item-text {
    padding:0 22px;
}
.sbi-services .sbi-services-items .sbi-services-item .sbi-services-item-img img {
    display: block;
    width:auto;
    max-width:100%;
    height:260px;
    object-fit: contain;
    max-height:260px;
    margin:0 auto;
}

.sbi-scarousel {
    margin-bottom:242px;
    position: relative;
}
.sbi-scarousel .slick-list {
    padding-left:var(--side);
    padding-top:6px;
    padding-bottom:14px;
    margin:-6px 0 -14px 0;
    clip-path: inset(-20px -20px -20px calc(var(--side) - 12px));
}
.sbi-scarousel .sbi-scarousel-items {
    display: flex;
}
.sbi-scarousel .sbi-scarousel-items .sbi-scarousel-item {
    width:513px;
    height:668px;
    margin:0 18px 0 0;
    padding:60px 0;
    background:#E8F4C1;
    border-radius: 56px;
    box-shadow: 0 3px 6px rgba(0,0,0,.16);
}
.sbi-scarousel .sbi-scarousel-items .sbi-scarousel-item .sbi-services-item-img {
    margin-bottom:64px;
}
.sbi-scarousel .sbi-scarousel-items .sbi-scarousel-item .sbi-services-item-img img {
    display: block;
    margin:0 auto;
    max-height:396px;
    width:auto;
}
.sbi-scarousel .sbi-scarousel-items .sbi-scarousel-item .sbi-scarousel-item-text {
    display: none;
}
.sbi-scarousel .sbi-scarousel-button, .sbi-team .sbi-team-button {
    position: absolute;
    top:54px;
    right:var(--side);
}
.sbi-scarousel .sbi-scarousel-button a, .sbi-team .sbi-team-button a {
    display: inline-block;
    font-family: 'Alaska-Book';
    font-size:30px;
    line-height:35px;
    color:#663B67;
    text-decoration: none;
    padding-right:32px;
    padding-left:0;
    background:url(images/sclink-arrow.svg) no-repeat center right 8px;
    background-size:10px 17px;
    transition:all .4s ease;
}
.sbi-scarousel .sbi-scarousel-button a:hover, .sbi-team .sbi-team-button a:hover {
    background:url(images/sclink-arrow.svg) no-repeat center right 0;
    background-size:10px 17px;
    padding-right:24px;
    padding-left:8px;
    transition:all .4s ease;
}

.sbi-logos {
    padding-bottom:100px;
}
.sbi-logos .sbi-logos-text {
    max-width:895px;
}
.sbi-logos .sbi-logos-text.cols {
    max-width:none;
    display: grid;
    grid-template-columns:1fr 1fr;
    column-gap:36px;
    align-items: start;
}
#content .sbi-logos-text-right ul {
    padding-left:0;
    border-bottom:1px solid #663B67;
}
#content .sbi-logos-text-right ul li {
    list-style: none;
    border-top:1px solid #663B67;
    padding:8px 0 10px 0;
}
#content .sbi-logos-text-right ul li strong {
    display: block;
}
/* Logos: jedes bekommt dieselbe Fläche --logo² (Faktoren --lw/--lh aus ruetimeyerplatz_logo) */
.sbi-logos .sbi-logos-items {
    --logo:200px;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    gap:96px 48px;
    padding:72px 0 142px 0;
}
.sbi-logos .sbi-logos-items .sbi-logos-item a {
    display: block;
}
.sbi-logos .sbi-logos-items .sbi-logos-item img {
    display: block;
    width:calc(var(--logo) * var(--lw, 1));
    height:calc(var(--logo) * var(--lh, 1));
    max-width:100%;
    object-fit: contain;
}

.sbi-tiles .sbi-tiles-items {
    display: flex;
    flex-wrap: wrap;
    margin:0 -17.5px;
}
.sbi-tiles .sbi-tiles-items .sbi-tiles-item {
    width:calc(25% - 35px);
    margin:0 17.5px 76px 17.5px;
}
.sbi-tiles .sbi-tiles-items .sbi-tiles-item .sbi-tiles-item-img {
    padding:44px 60px;
    background:#D4BBFF;
    border-radius: 30px;
    overflow:hidden;
    box-shadow: 0 3px 6px rgba(0,0,0,.16);
}
.sbi-tiles .sbi-tiles-items .sbi-tiles-item .sbi-tiles-item-img img {
    display: block;
    height:250px;
    object-fit: contain;
    max-height:250px;
    width:auto;
    max-width:100%;
    margin:0 auto;
}
.sbi-tiles .sbi-tiles-items .sbi-tiles-item .sbi-tiles-item-front h3 {
    padding-top:34px;
}
.sbi-tiles .sbi-tiles-items .sbi-tiles-item .sbi-tiles-item-front h3, .sbi-tiles .sbi-tiles-items .sbi-tiles-item .sbi-tiles-item-text {
    padding-left:27px;
    padding-right:27px;
}

.sbi-contact {
    margin-bottom:130px;
}
.sbi-contact .sbi-contact-inner {
    display: flex;
    flex-wrap: wrap;
}
.sbi-contact .sbi-contact-inner .sbi-contact-map {
    width:50%;
    align-self: stretch;
}
.sbi-contact .sbi-contact-inner .sbi-contact-map .gmap {
    width: 100%;
    height:100%;
    min-height:calc(100vh - 200px);
    min-height:calc(100vh - var(--hh) - var(--hg));
    min-height:calc(100svh - var(--hh) - var(--hg));
}
.sbi-contact .sbi-contact-inner .sbi-contact-map .gmap img {
    max-width: inherit !important;
}
.sbi-contact .sbi-contact-inner .sbi-contact-map .gmap .gmap-marker img {
    display: block;
    width:64px;
    height:64px;
}
.sbi-contact .sbi-contact-inner .sbi-contact-map .gmap.gmap-fallback {
    display: flex;
    align-items: center;
    justify-content: center;
    background:#EDE7F2;
}
.sbi-contact .sbi-contact-inner .sbi-contact-map .gmap.gmap-fallback a {
    font-family: 'Alaska-Book';
    font-size:18px;
    line-height:26px;
    color:#663B67;
}
.sbi-contact .sbi-contact-inner .sbi-contact-map .gmap .maplibregl-ctrl-attrib {
    font-family: 'Alaska-Book';
    font-size:11px;
    line-height:16px;
    color:#663B67;
}
.sbi-contact .sbi-contact-inner .sbi-contact-data {
    width:50%;
    padding:0 0 50px 66px;
    display: grid;
    grid-template-columns:3fr 2fr;
    grid-template-areas:"address address" "hours info";
    column-gap:34px;
    align-content: end;
}
.sbi-contact .sbi-contact-inner .sbi-contact-data .sbi-contact-data-address {
    grid-area: address;
    margin-bottom:70px;
}
.sbi-contact .sbi-contact-inner .sbi-contact-data .sbi-contact-data-info {
    grid-area: info;
}
.sbi-contact .sbi-contact-inner .sbi-contact-data .sbi-contact-data-openhours {
    grid-area: hours;
}

.sbi-form {
    display: flex;
    justify-content: flex-end;
    margin-bottom:212px;
}
.sbi-form .sbi-form-inner {
    width:50%;
    padding-left:66px;
}

.sbi-button, #infobox-button {
    text-align: left;
    font-size:0;
    padding-top:24px;
}
#infobox-button {
    padding-top:32px;
}
.sbi-tfull.center .sbi-button {
    text-align: center;
}
.sbi-button a, #infobox-button a {
    display: inline-block;
    font-family: 'Alaska-Medium';
    font-size:14px;
    line-height:21px;
    letter-spacing:.025em;
    color:#fff;
    text-decoration: none;
    background:#663B67;
    border-radius:24px;
    padding:13px 30px 14px 30px;
    box-shadow: 0 3px 3px rgba(0,0,0,.1);
    transition:background .3s ease;
}
.sbi-itel.purple .sbi-button a, #infobox-button a {
    color:#663B67;
    background:#fff;
    letter-spacing:0;
    border-radius:10px;
    padding:14px 25px 15px 25px;
    box-shadow: 0 3px 3px rgba(88,41,90,.65);
}
/* Buttons nach Styleguide «button»: lila Pille (Hover #834C84, gedrückt #452845), weiss auf Lila (15 %/30 % Lila) */
@media (hover: hover) {
    .sbi-button a:hover, .footer-appointment-button a:hover, .wpcf7-submit:hover {
        background:#834C84;
    }
    .sbi-itel.purple .sbi-button a:hover, #infobox-button a:hover, .appointment-popup-button a:hover {
        background:#E8E2E8;
    }
}
.sbi-button a:focus-visible, .footer-appointment-button a:focus-visible, .wpcf7-submit:focus-visible {
    background:#834C84;
}
.sbi-itel.purple .sbi-button a:focus-visible, #infobox-button a:focus-visible, .appointment-popup-button a:focus-visible {
    background:#E8E2E8;
}
.sbi-button a:active, .footer-appointment-button a:active, .wpcf7-submit:active {
    background:#452845;
}
.sbi-itel.purple .sbi-button a:active, #infobox-button a:active, .appointment-popup-button a:active {
    background:#D1C4D1;
}

#content h1, #content h2 {
    font-family: 'Alaska-Book';
    font-size:70px;
    line-height:78px;
    color:#663B67;
    margin-bottom:36px;
}
#content .sbi-itel-text h1, #content .sbi-itel-text h2, #content #header-qimg-text h1, #content .sbi-contact-data-address h1, #content .sbi-contact-data-address h2, #content .sbi-contact-data-address p {
    font-size:45px;
    line-height:55px;
    margin-bottom:34px;
}
#content .sbi-tfull-text h2 {
    font-family: 'Alaska-Medium';
    font-size:22px;
    line-height:30px;
    margin-bottom:8px;
}
#content .sbi-tfull-text p + h2, #content .sbi-tfull-text ul + h2, #content .sbi-tfull-text ol + h2 {
    margin-top:42px;
}
#content #header-qimg-text h1 {
    margin-bottom:48px;
}
#content .sbi-contact-data-address h1, #content .sbi-contact-data-address h2, #content .sbi-contact-data-address p {
    margin-bottom:0;
    overflow-wrap: anywhere;
}
#content h2 {
    margin-bottom:72px;
}
#content h3, #content h4, span.sbi-ctitle, #infobox h3 {
    font-family: 'Alaska-Book';
    font-size:30px;
    line-height:35px;
    color:#663B67;
}
/* Styleguide «button»: H3 35/45 und H4 22/30 in Alaska Book («R»/«book»), «fett» = Alaska Medium */
#content .sbi-logos-text h3, #content .sbi-tfull-text h3, #content .sbi-itel-text-content h3, #content .sbi-team-text h3 {
    font-size:35px;
    line-height:45px;
    margin-bottom:16px;
}
#content h4, #content .sbi-logos-text-right > :first-child, #content .sbi-logos-text-right > :first-child strong {
    font-family: 'Alaska-Book';
    font-size:22px;
    line-height:30px;
    margin-bottom:16px;
}
#content .sbi-tiles-item-front h3, #content .sbi-services-item-front h3, #footer h3, #content .sbi-contact-data-openhours h3 {
    font-family: 'Alaska-Medium';
    font-size:22px;
    line-height:25px;
}
#content .sbi-team-item-content h3 {
    font-family: 'Alaska-Medium';
    font-size:22px;
    line-height:30px;
}
#content .sbi-team-item-content h4 {
    font-size:18px;
    line-height:26px;
    margin-bottom:0;
}
#content .sbi-scarousel-item h3 {
    font-size:45px;
    line-height:55px;
    text-align: center;
    margin:0 24px;
}
#content .sbi-contact-data-address p a {
    text-decoration: none;
}
#content .sbi-contact-data-info h3, #content .sbi-contact-data-info p {
    -webkit-hyphens: auto;
    hyphens: auto;
}
#content .sbi-contact-data-info h3 {
    font-family: 'Alaska-Medium';
    font-size:20px;
    line-height:25px;
    margin-bottom:8px;
}
#content .sbi-tiles-item-front h3, #infobox h3 {
    margin-bottom:12px;
}
#content p {
    font-family: 'Alaska-Book';
    font-size:18px;
    line-height:26px;
    color:#663B67;
    margin-bottom:16px;
}
#content p:where(:last-child), #content ul:where(:last-child), #content ol:where(:last-child) {
    margin-bottom:26px;
}
#content .sbi-services-item p {
    padding-top:16px;
    margin-bottom:0;
}
#infobox p {
    font-family: 'Alaska-Book';
    font-size:17px;
    line-height:21px;
    color:#fff;
}
#content p a {
    color:#663B67;
}
#content ul, #content ol {
    margin-bottom:16px;
    padding-left:24px;
}
#content ul li {
    font-family: 'Alaska-Book';
    font-size:18px;
    line-height:26px;
    color:#663B67;
    list-style: disc;
}
#content ol li {
    font-family: 'Alaska-Book';
    font-size:18px;
    line-height:26px;
    color:#663B67;
    list-style: decimal;
}
#content .sbi-tfull.center h1, #content .sbi-tfull.center h2, #content .sbi-tfull.center h3, #content .sbi-tfull.center p, #content .sbi-tfull.center ul, #content .sbi-tfull.center ol {
    text-align: center;
}
#content .sbi-itel.purple h1, #content .sbi-itel.purple h2, #content .sbi-itel.purple h3, #content .sbi-itel.purple p, #content .sbi-itel.purple ul, #content .sbi-itel.purple ol, span.sbi-ctitle, #infobox h3 {
    color:#fff;
}
span.sbi-ctitle {
    display: block;
    margin-bottom:111px;
}

.form-elements {
    display: flex;
    flex-wrap: wrap;
    margin:0 -28px;
}
.form-elements .form-element, .form-elements .form-element-full, .form-elements .form-element-submit {
    width:calc(50% - 56px);
    margin:0 28px 30px 28px;
}
.form-elements .form-element-full, .form-elements .form-element-submit {
    width:calc(100% - 56px);
    margin:0 28px 30px 28px;
}
.form-elements .form-element > label, .form-elements .form-element-full > label, .form-elements .form-element-submit > label {
    display: block;
    font-family: 'Alaska-Book';
    font-size:18px;
    line-height:26px;
    color:#663B67;
    margin-bottom:12px;
}
.wpcf7-text {
    width:100%;
    background:none;
    border-radius:10px;
    border:2px solid #663B67;
    padding:12px 24px;
    font-family: 'Alaska-Book';
    font-size:18px;
    line-height:26px;
    color:#663B67;
}
.wpcf7-textarea {
    min-width:100%;
    max-width:100%;
    background:none;
    border-radius:10px;
    border:2px solid #663B67;
    padding:12px 24px;
    font-family: 'Alaska-Book';
    font-size:18px;
    line-height:26px;
    color:#663B67;
}
.wpcf7-submit {
    font-family: 'Alaska-Medium';
    font-size:14px;
    line-height:21px;
    letter-spacing:.025em;
    color:#fff;
    background:#663B67;
    border-radius:24px;
    padding:13px 30px 14px 30px;
    box-shadow: 0 3px 3px rgba(0,0,0,.1);
    transition:background .3s ease;
    cursor: pointer;
}
.wpcf7-text::placeholder, .wpcf7-textarea::placeholder {
    color:rgba(102,59,103,.5);
    opacity:1;
}
.wpcf7-not-valid {
    border:2px solid #dc3232 !important;
}
.wpcf7-not-valid-tip {
    font-family: 'Alaska-Medium';
    font-size: 12px !important;
    padding-top:4px;
    display: block;
}
.wpcf7 form .wpcf7-response-output {
	margin: 0 !important;
	padding: 16px 24px !important;
	border: none !important;
    font-family: 'Alaska-Medium';
    font-size:18px;
    line-height:26px;
    text-align: center;
    color:#fff;
}
.wpcf7 form.sent .wpcf7-response-output {
	background: #46b450 !important;
}
.wpcf7 form.failed .wpcf7-response-output, .wpcf7 form.aborted .wpcf7-response-output, .wpcf7 form.spam .wpcf7-response-output, .wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output, .wpcf7 form.payment-required .wpcf7-response-output {
	background: #dc3232 !important;
}

#footer {
    padding:182px 50px 46px 50px;
    max-width:1920px;
    margin:0 auto;
    position: relative;
}
#footer #footer-inner {
    position: relative;
    z-index:1;
}
#footer .flower-footer {
    position: absolute;
    right:40px;
    bottom:calc(min(570px, 30vw) * -0.21);
    width:min(570px, 30vw);
    aspect-ratio:1139 / 1155;
    background:url(images/footer-flowers.png) no-repeat center center;
    background-size:100% 100%;
    pointer-events: none;
    will-change:transform,opacity;
}
#footer h3, #content .sbi-contact-data-openhours h3 {
    color:#663B67;
    margin-bottom:8px;
}
#footer p, #appointment-trigger span {
    font-family: 'Alaska-Book';
    font-size:18px;
    line-height:26px;
    color:#663B67;
}
#footer .contact p, #appointment-popup p {
    font-size:17px;
    line-height:20px;
}
#footer p a {
    color:#663B67;
    text-decoration: none;
}
#footer-items {
    display: grid;
    grid-template-columns:21.26% 33.46% 1fr;
}
#footer-items .footer-item.appointment {
    max-width:292px;
    margin:0 30px 0 0;
    position: relative;
}
#footer-items .footer-item.openhours {
    max-width:494px;
    margin:0 30px 0 0;
}
#footer-items .footer-item.contact {
    max-width:606px;
}
#appointment-trigger span {
    cursor: pointer;
    text-decoration: underline;
}
#appointment-popup {
    position: absolute;
    top:0;
    left:0;
    width:404px;
    background:#663B67;
    border-radius:10px;
    padding:34px 44px 34px 34px;
    display: none;
}
#appointment-popup-close {
    position: absolute;
    top:13px;
    right:14px;
    width:14px;
    height:14px;
    background:url(images/close.svg) no-repeat center center;
    background-size:14px 14px;
    cursor: pointer;
}
#appointment-popup h3 {
    font-family: 'Alaska-Book';
    font-size:30px;
    line-height:34px;
    color:#fff;
    margin-bottom:12px;
}
#appointment-popup p {
    color:#fff;
}
.appointment-popup-button, .footer-appointment-button {
    padding-top:38px;
    text-align: left;
    font-size:0;
}
.appointment-popup-button a, .footer-appointment-button a {
    display: inline-block;
    font-family: 'Alaska-Medium';
    font-size:14px;
    line-height:21px;
    color:#663B67;
    text-decoration: none;
    background:#fff;
    padding:14px 25px 15px 25px;
    border-radius:10px;
    box-shadow: 0 3px 3px rgba(88,41,90,.65);
    transition:background .3s ease;
}
.footer-appointment-button a {
    color:#fff;
    background:#663B67;
    letter-spacing:.025em;
    border-radius:24px;
    padding:13px 30px 14px 30px;
    box-shadow: 0 3px 3px rgba(0,0,0,.1);
}

.openhours-items {
    margin-bottom:36px;
}
.footer-item-contact {
    margin-bottom:27px;
}
.openhours-items .openhours-item, .phonehours-items .phonehours-item, .sbi-contact-data-openhour-items .sbi-contact-data-openhour-item, .sbi-contact-data-phonehours-items .sbi-contact-data-phonehours-item {
    display: flex;
    flex-wrap: wrap;
    border-bottom:1px solid #663B67;
}
.openhours-items .openhours-item:nth-child(1), .phonehours-items .phonehours-item:nth-child(1), .sbi-contact-data-openhour-items .sbi-contact-data-openhour-item:nth-child(1), .sbi-contact-data-phonehours-items .sbi-contact-data-phonehours-item:nth-child(1) {
    border-top:1px solid #663B67;
}
.openhours-items .openhours-item .openhours-item-days, .phonehours-items .phonehours-item .phonehours-item-days, .sbi-contact-data-openhour-items .sbi-contact-data-openhour-item .sbi-contact-data-openhour-item-days, .sbi-contact-data-phonehours-items .sbi-contact-data-phonehours-item .sbi-contact-data-phonehours-item-days {
    width:40%;
    padding-right:8px;
}
.openhours-items .openhours-item .openhours-item-times, .phonehours-items .phonehours-item .phonehours-item-times, .sbi-contact-data-openhour-items .sbi-contact-data-openhour-item .sbi-contact-data-openhour-item-times, .sbi-contact-data-phonehours-items .sbi-contact-data-phonehours-item .sbi-contact-data-phonehours-item-times {
    width:60%;
    padding-left:8px;
}
.openhours-items .openhours-item .openhours-item-days span, .phonehours-items .phonehours-item .phonehours-item-days span, .openhours-items .openhours-item .openhours-item-times span, .phonehours-items .phonehours-item .phonehours-item-times span, .sbi-contact-data-openhour-items .sbi-contact-data-openhour-item .sbi-contact-data-openhour-item-days span, .sbi-contact-data-phonehours-items .sbi-contact-data-phonehours-item .sbi-contact-data-phonehours-item-days span, .sbi-contact-data-openhour-items .sbi-contact-data-openhour-item .sbi-contact-data-openhour-item-times span, .sbi-contact-data-phonehours-items .sbi-contact-data-phonehours-item .sbi-contact-data-phonehours-item-times span {
    display: block;
    font-family: 'Alaska-Book';
    font-size:18px;
    line-height:30px;
    color:#663B67;
}
.sbi-contact-data-openhours .oh-item {
    margin-bottom:24px;
}

#footer-bottom {
    padding-top:148px;
}
#footer-bottom #footer-bottom-logo {
    margin:0 618px 58px 0;
    margin-right:calc(min(570px, 30vw) + 48px);
    max-width:1212px;
}
#footer-bottom #footer-bottom-logo img {
    display: block;
}
#footer-bottom #footer-bottom-bar {
    display: flex;
}
#footer-bottom #footer-bottom-bar #copyright {
    margin-right:96px;
}
#footer-bottom #footer-bottom-bar #copyright span {
    font-family: 'Alaska-Book';
    font-size:13px;
    line-height:21px;
    color:#663B67;
}
#footer-bottom #footer-bottom-bar #fmenu ul {
    text-align: left;
    font-size:0;
}
#footer-bottom #footer-bottom-bar #fmenu ul li {
    display: inline-block;
    margin-right:96px;
}
#footer-bottom #footer-bottom-bar #fmenu ul li a {
    font-family: 'Alaska-Book';
    font-size:13px;
    line-height:21px;
    color:#663B67;
    text-decoration: none;
}

#post-e404 {
    padding:132px var(--side) 172px var(--side);
}
#post-e404 > * {
    margin-left:50%;
    padding-left:66px;
}
#post-e404 span {
    display: block;
    font-family: 'Alaska-Book';
    font-size:30px;
    line-height:35px;
    color:#663B67;
    margin-bottom:24px;
}

/* Animations */
.sbi-tfull.flowers * {
    z-index: 2;
}
.sbi-form, .sbi-tfull.flowers { 
    position:relative;
}
.sbi-tfull.flowers .flower-red, .sbi-tfull.flowers .flower-blue, .sbi-form .flower-form {
    position:absolute;
    top:50%;
    opacity:0;
    background-repeat:no-repeat;
    background-position:center center;
    background-size:100% 100%;
    pointer-events:none;
    will-change:transform,opacity;
}
.sbi-form .flower-form {
    --fw:clamp(304px,42vw,608px);
    width:var(--fw);
    height:calc(var(--fw) * 1.41447);
    margin-top:calc(var(--fw) * 1.41447 / -2);
    left:calc(var(--fw) * -0.13158 + var(--side) - 50px);
    background-image:url(images/red-flower.png);
}
.sbi-tfull.flowers .flower-red {
    --fw:clamp(255px,35vw,510px);
    width:var(--fw);
    height:calc(var(--fw) * 1.41176);
    margin-top:calc(var(--fw) * 1.41176 / -2);
    left:calc(var(--fw) * -0.10588 + var(--side) - 50px);
    z-index:1;
    background-image:url(images/red-flower.png);
}
.sbi-tfull.flowers .flower-blue {
    --fw:clamp(182px,25vw,364px);
    width:var(--fw);
    height:calc(var(--fw) * 1.54396);
    margin-top:calc(var(--fw) * 1.54396 / -2);
    right:calc(var(--fw) * -0.13736 + 25px + var(--side) - 50px);
    z-index:1;
    background-image:url(images/blue-flower.png);
}

/* Intro */
#intro {
    position: fixed;
    top:0;
    left:0;
    width:100%;
    height:100%;
    background:#F5F6F0;
    z-index: 10000;
    overflow: hidden;
    cursor: pointer;
    animation: intro-failsafe 1.2s ease 8s forwards;
}
/* Sicherung: falls das Intro-Script nicht läuft, verschwindet die Fläche nach 8 s von selbst */
@keyframes intro-failsafe {
    to {
        opacity: 0;
        visibility: hidden;
    }
}
#intro.out {
    opacity: 0;
    pointer-events: none;
    transition:opacity 1.2s ease;
}
#intro #intro-stage {
    position: absolute;
    left:50%;
    bottom:0;
    width:min(100vw, 177.78vh);
    height:min(56.25vw, 100vh);
    transform: translateX(-50%);
}
#intro #intro-stage #intro-logo {
    position: absolute;
    left:5.94%;
    top:45.2%;
    width:38.5%;
    opacity: 0;
    transform: translateX(-60%);
}
#intro #intro-stage #intro-logo img {
    display: block;
    width:100%;
    height:auto;
}
#intro #intro-stage .intro-flower {
    position: absolute;
    width:auto;
    max-width:none;
    opacity: 0;
    transform: translateY(115%);
}
#intro #intro-stage .intro-flower.red {
    left:57.4%;
    bottom:-9.7%;
    height:91.3%;
}
#intro #intro-stage .intro-flower.blue {
    left:46.7%;
    bottom:-3.8%;
    height:71.3%;
}
#intro.go #intro-stage #intro-logo {
    opacity: 1;
    transform: translateX(0);
    transition:transform 1.5s .4s cubic-bezier(.33,0,.2,1), opacity 1.2s .4s ease;
}
#intro.go #intro-stage .intro-flower {
    opacity: 1;
}
#intro.go #intro-stage .intro-flower.red {
    transform: translateY(0);
    transition:transform 2.1s cubic-bezier(.37,0,.2,1), opacity 1.2s ease;
}
#intro.go #intro-stage .intro-flower.blue {
    transform: translateY(0) rotate(-2.75deg);
    transition:transform 2.1s .2s cubic-bezier(.37,0,.2,1), opacity 1.2s .2s ease;
}
@media (max-aspect-ratio: 1/1) {
    #intro #intro-stage {
        width:min(100vw, 46.2vh);
        height:min(216.4vw, 100vh);
    }
    #intro #intro-stage #intro-logo {
        left:5.13%;
        top:40.6%;
        width:89.7%;
    }
    #intro #intro-stage .intro-flower.red {
        left:25.3%;
        bottom:-7.1%;
        height:38.9%;
    }
    #intro #intro-stage .intro-flower.blue {
        left:6.85%;
        bottom:-4.4%;
        height:30.3%;
    }
}
@media (prefers-reduced-motion: reduce) {
    #intro #intro-stage #intro-logo, #intro #intro-stage .intro-flower {
        transform: none !important;
        opacity: 0;
    }
    #intro #intro-stage .intro-flower.blue {
        transform: rotate(-2.75deg) !important;
    }
    #intro.go #intro-stage #intro-logo, #intro.go #intro-stage .intro-flower {
        opacity: 1;
        transition:opacity .6s ease;
    }
}

/* Flip cards (Werte, Angebot) und Ausklapper nur mobile */
.sbi-logos-text-right .sbi-logos-trigger {
    cursor: default;
}
/* Tastaturfokus für Burger und Flipcards (Links bleiben ohne Rahmen) */
#header #menu-toggle:focus-visible {
    outline:2px solid #663B67;
    outline-offset:4px;
}
.menu-open #header #menu-toggle:focus-visible {
    outline-color:#F5F6F0;
}
.sbi-tiles-item-flip:focus-visible, .sbi-services-item-flip:focus-visible, .sbi-scarousel-item-flip:focus-visible {
    outline:3px solid #663B67;
    outline-offset:4px;
    border-radius:30px;
}

@media only screen and (max-width:1920px) {
    :root {
        --hh:153px;
    }
    #header #header-inner #logo {
        height:78px;
        margin:0 50px 18px 42px;
    }
    #header #header-inner #logo a {
        font-size:76px;
        line-height:78px;
    }
    .scrolled #header #header-inner #logo {
        height:45px;
    }
    .scrolled #header #header-inner #logo a {
        transform: scale(.58);
    }
    .sbi-tiles .sbi-tiles-items .sbi-tiles-item .sbi-tiles-item-img img {
        height:clamp(140px, calc(19.75vw - 128px), 250px);
    }
    .sbi-services .sbi-services-items .sbi-services-item .sbi-services-item-img img {
        height:clamp(140px, calc(20vw - 124px), 260px);
    }
    .sbi-logos .sbi-logos-items {
        --logo:clamp(110px, 10.5vw, 200px);
    }
}
@media only screen and (max-width:1440px) {
    :root {
        --hh:calc(75px + 5.35vw);
    }
    #header #header-inner #logo {
        height:5.35vw;
    }
    #header #header-inner #logo a {
        font-size:5.2vw;
        line-height:5.35vw;
    }
    .scrolled #header #header-inner #logo {
        height:3.1vw;
    }
    #header #header-inner #menu {
        margin:0 50px;
    }
    .sbi-scarousel .sbi-scarousel-items .sbi-scarousel-item {
        width:440px;
        height:573px;
        border-radius:48px;
    }
    .sbi-scarousel .sbi-scarousel-items .sbi-scarousel-item .sbi-services-item-img img {
        max-height:330px;
    }
    #content .sbi-scarousel-item h3 {
        font-size:38px;
        line-height:46px;
    }
    .sbi-tiles .sbi-tiles-items .sbi-tiles-item .sbi-tiles-item-img {
        padding:44px;
    }
    #content .sbi-contact-data-address h1, #content .sbi-contact-data-address h2, #content .sbi-contact-data-address p {
        font-size:36px;
        line-height:44px;
    }
    .sbi-contact .sbi-contact-inner .sbi-contact-data {
        grid-template-columns:1fr;
        grid-template-areas:"address" "hours" "info";
    }
    .sbi-contact .sbi-contact-inner .sbi-contact-data .sbi-contact-data-openhours {
        max-width:560px;
    }
    #footer-items {
        grid-template-columns:24% 42% 1fr;
    }
    #footer-bottom #footer-bottom-bar #copyright, #footer-bottom #footer-bottom-bar #fmenu ul li {
        margin-right:40px;
    }
    .openhours-items .openhours-item .openhours-item-days, .phonehours-items .phonehours-item .phonehours-item-days, .sbi-contact-data-openhour-items .sbi-contact-data-openhour-item .sbi-contact-data-openhour-item-days, .sbi-contact-data-phonehours-items .sbi-contact-data-phonehours-item .sbi-contact-data-phonehours-item-days {
        width:auto;
        min-width:40%;
        white-space: nowrap;
        padding-right:16px;
    }
    .openhours-items .openhours-item .openhours-item-times, .phonehours-items .phonehours-item .phonehours-item-times, .sbi-contact-data-openhour-items .sbi-contact-data-openhour-item .sbi-contact-data-openhour-item-times, .sbi-contact-data-phonehours-items .sbi-contact-data-phonehours-item .sbi-contact-data-phonehours-item-times {
        width:auto;
        padding-left:0;
    }
}
@media only screen and (max-width:1279px) {
    #content .sbi-itel-text h1, #content .sbi-itel-text h2, #content #header-qimg-text h1 {
        font-size:36px;
        line-height:44px;
    }
    .sbi-scarousel .sbi-scarousel-button a, .sbi-team .sbi-team-button a {
        font-size:24px;
        line-height:30px;
    }
    .sbi-team .sbi-team-button, .sbi-scarousel .sbi-scarousel-button {
        position: static;
        margin:-30px 0 40px 0;
    }
    .sbi-scarousel .sbi-scarousel-button {
        padding:0 var(--side);
    }
    .sbi-tiles .sbi-tiles-items .sbi-tiles-item {
        width:calc(50% - 35px);
        margin-bottom:56px;
    }
    .sbi-tiles .sbi-tiles-items .sbi-tiles-item .sbi-tiles-item-img img {
        height:250px;
    }
    .sbi-services .sbi-services-items {
        margin:0 -24px;
    }
    .sbi-services .sbi-services-items .sbi-services-item {
        width:calc(33.333% - 48px);
        margin:0 24px 64px 24px;
    }
    .sbi-contact .sbi-contact-inner .sbi-contact-map {
        width:40%;
    }
    .sbi-contact .sbi-contact-inner .sbi-contact-data {
        width:60%;
    }
    .sbi-form .sbi-form-inner {
        width:60%;
    }
    .form-elements .form-element {
        width:calc(100% - 56px);
    }
}
@media only screen and (max-width:1023px) {
    :root {
        --side:30px;
        --hh:calc(71px + 5.35vw);
        --hg:4px;
    }
    .alignright, .alignleft {
        float:none;
        display: block;
        margin:0 auto 20px auto;
    }
    #header #header-inner #logo {
        margin:0 30px 14px 26px;
    }
    .scrolled #header #header-inner #logo {
        height:3.5vw;
    }
    .scrolled #header #header-inner #logo a {
        transform: scale(.65);
    }
    #header #header-inner #menu {
        margin:0 30px;
    }
    #header #header-inner #menu ul li {
        margin-right:32px;
    }
    #content h1, #content h2 {
        font-size:52px;
        line-height:60px;
    }
    #content h2 {
        margin-bottom:48px;
    }
    #content h3, #content h4, span.sbi-ctitle, #infobox h3 {
        font-size:26px;
        line-height:32px;
    }
    #content h4 {
        font-size:22px;
        line-height:30px;
    }
    #header-img, #header-qimg {
        margin-bottom:110px;
    }
    #header-qimg {
        display: block;
    }
    #header-qimg #header-qimg-img {
        width:100%;
        height:auto;
        aspect-ratio:3 / 2;
    }
    #header-qimg #header-qimg-text {
        width:100%;
        display: block;
        min-height:0;
        padding:40px 0 0 0;
    }
    .sbi-tfull.center {
        min-height:0;
        padding-top:160px !important;
        padding-bottom:160px;
    }
    .sbi-tfull.left .sbi-tfull-inner, #post-e404 > * {
        margin:0;
        padding-left:0;
    }
    .sbi-itel {
        margin-bottom:110px;
    }
    .sbi-itel .sbi-itel-inner {
        display: block;
    }
    .sbi-itel.purple .sbi-itel-inner {
        min-height:0;
    }
    .sbi-itel .sbi-itel-inner .sbi-itel-img, .sbi-itel .sbi-itel-inner .sbi-itel-text {
        width:100%;
    }
    .sbi-itel .sbi-itel-inner .sbi-itel-img img {
        width:100%;
    }
    .sbi-itel .sbi-itel-inner .sbi-itel-text {
        padding:40px 0 0 0;
        display: block;
    }
    .sbi-itel.purple .sbi-itel-inner .sbi-itel-img {
        aspect-ratio:3 / 2;
    }
    .sbi-itel.purple .sbi-itel-inner .sbi-itel-text {
        padding:80px var(--side) 90px var(--side);
    }
    span.sbi-ctitle {
        margin-bottom:48px;
    }
    .sbi-ifull {
        margin-bottom:160px;
    }
    .sbi-team, .sbi-services {
        padding-bottom:110px;
    }
    .sbi-team .sbi-team-text {
        columns: 1;
    }
    .sbi-team .sbi-team-items .sbi-team-item {
        width:calc(50% - 36px);
        margin-bottom:56px;
    }
    .sbi-services .sbi-services-items {
        margin:0 -18px;
    }
    .sbi-services .sbi-services-items .sbi-services-item {
        width:calc(50% - 36px);
        margin:0 18px 56px 18px;
    }
    .sbi-services .sbi-services-items .sbi-services-item .sbi-services-item-img img {
        height:200px;
    }
    .sbi-scarousel {
        margin-bottom:200px;
    }
    .sbi-scarousel .sbi-scarousel-items .sbi-scarousel-item {
        width:340px;
        height:443px;
        padding:40px 0;
        border-radius:40px;
    }
    .sbi-scarousel .sbi-scarousel-items .sbi-scarousel-item .sbi-services-item-img {
        margin-bottom:36px;
    }
    .sbi-scarousel .sbi-scarousel-items .sbi-scarousel-item .sbi-services-item-img img {
        max-height:250px;
    }
    #content .sbi-scarousel-item h3 {
        font-size:30px;
        line-height:36px;
    }
    .sbi-logos .sbi-logos-text.cols {
        display: block;
    }
    .sbi-logos .sbi-logos-items {
        --logo:110px;
        justify-content: flex-start;
        gap:56px;
        padding:48px 0 72px 0;
    }
    .sbi-contact .sbi-contact-inner {
        display: block;
    }
    .sbi-contact .sbi-contact-inner .sbi-contact-map, .sbi-contact .sbi-contact-inner .sbi-contact-data {
        width:100%;
    }
    .sbi-contact .sbi-contact-inner .sbi-contact-map .gmap {
        min-height:0;
        height:auto;
        aspect-ratio:4 / 3;
    }
    .sbi-contact .sbi-contact-inner .sbi-contact-data {
        padding:48px 0 0 0;
    }
    .sbi-contact .sbi-contact-inner .sbi-contact-data .sbi-contact-data-address {
        margin-bottom:48px;
    }
    .sbi-form {
        display: block;
        margin-bottom:160px;
    }
    .sbi-form .sbi-form-inner {
        width:100%;
        padding-left:0;
    }
    #footer {
        padding:140px var(--side) 46px var(--side);
    }
    #footer .flower-footer {
        width:300px;
        right:20px;
        bottom:-70px;
    }
    #footer-items {
        grid-template-columns:1fr 1fr;
        row-gap:56px;
    }
    .openhours-items .openhours-item, .phonehours-items .phonehours-item, .sbi-contact-data-openhour-items .sbi-contact-data-openhour-item, .sbi-contact-data-phonehours-items .sbi-contact-data-phonehours-item {
        display: block;
    }
    .openhours-items .openhours-item .openhours-item-days, .phonehours-items .phonehours-item .phonehours-item-days, .openhours-items .openhours-item .openhours-item-times, .phonehours-items .phonehours-item .phonehours-item-times, .sbi-contact-data-openhour-items .sbi-contact-data-openhour-item .sbi-contact-data-openhour-item-days, .sbi-contact-data-phonehours-items .sbi-contact-data-phonehours-item .sbi-contact-data-phonehours-item-days, .sbi-contact-data-openhour-items .sbi-contact-data-openhour-item .sbi-contact-data-openhour-item-times, .sbi-contact-data-phonehours-items .sbi-contact-data-phonehours-item .sbi-contact-data-phonehours-item-times {
        width:100%;
        padding:0;
    }
    #footer-bottom {
        padding-top:120px;
    }
    #footer-bottom #footer-bottom-logo {
        margin-right:0;
        max-width:55%;
    }
    #footer-bottom #footer-bottom-bar {
        display: block;
    }
    #footer-bottom #footer-bottom-bar #copyright {
        margin:0 0 6px 0;
    }
    #footer-bottom #footer-bottom-bar #fmenu ul li {
        margin-right:40px;
    }
}
@media only screen and (max-width:767px) {
    :root {
        --side:20px;
        --hg:0px;
        --hh:122px;
        --hs:78px;
    }
    #header {
        box-shadow: 0 0.5px 2.5px rgba(0,0,0,.1);
    }
    #header #header-inner {
        padding:46px 0 26px 0;
    }
    .scrolled #header #header-inner {
        padding-top:20px;
        padding-bottom:16px;
    }
    .scrolled #header #header-inner #logo a {
        font-size:20px;
        line-height:21px;
        transform: none;
    }
    /* mobil zwei- bis dreizeilig: hier bleibt font-size, im gleichen Tempo */
    #header #header-inner #logo {
        height:auto;
        margin:0 100px 0 20px;
        max-width:250px;
    }
    #header #header-inner #logo a {
        display: block;
        font-size:24px;
        line-height:25px;
        transition:font-size var(--ht), line-height var(--ht);
    }
    #header #menu-toggle {
        display: block;
        position: absolute;
        top:55px;
        right:20px;
        width:54px;
        height:44px;
        background:none;
        cursor: pointer;
        z-index:2;
        transition:top var(--ht);
    }
    .scrolled #header #menu-toggle {
        top:22px;
    }
    .scrolled #header #header-inner #logo {
        height:auto;
        margin-bottom:0;
    }
    #header #menu-toggle span {
        position: absolute;
        left:0;
        width:54px;
        height:2px;
        background:#663B67;
        transition:transform .4s ease, opacity .3s ease, background .3s ease;
    }
    #header #menu-toggle span:nth-child(1) {
        top:7px;
    }
    #header #menu-toggle span:nth-child(2) {
        top:21px;
    }
    #header #menu-toggle span:nth-child(3) {
        top:35px;
    }
    .menu-open #header #menu-toggle span {
        background:#F5F6F0;
    }
    .menu-open #header #menu-toggle span:nth-child(1) {
        transform: translateY(14px) rotate(-30deg);
    }
    .menu-open #header #menu-toggle span:nth-child(2) {
        opacity: 0;
    }
    .menu-open #header #menu-toggle span:nth-child(3) {
        transform: translateY(-14px) rotate(30deg);
    }
    #header #header-inner #menu {
        position: fixed;
        top:0;
        left:0;
        width:100%;
        height:100%;
        margin:0;
        padding:min(270px, 30vh) 20px 40px 20px;
        background:#663B67;
        overflow-y: auto;
        overscroll-behavior: contain;
        visibility: hidden;
        opacity: 0;
        transition:opacity .4s ease, visibility .4s ease;
        z-index:1;
    }
    .menu-open #header #header-inner #menu {
        visibility: visible;
        opacity: 1;
    }
    #header #header-inner #menu ul li, #header #header-inner #menu ul li.menu-item-home {
        display: block;
        margin:0 0 36px 0;
    }
    #header #header-inner #menu ul li a {
        font-size:45px;
        line-height:55px;
        color:#F5F6F0;
    }
    #infobox {
        bottom:20px;
        width:calc(100% - 20px);
    }
    #infobox #infobox-close {
        top:6px;
        right:6px;
    }
    #infobox #infobox-inner {
        padding:22px 54px 26px 20px;
    }
    #content h1, #content h2 {
        font-size:35px;
        line-height:45px;
        margin-bottom:30px;
    }
    #content h2 {
        margin-bottom:36px;
    }
    #content .sbi-itel-text h1, #content .sbi-itel-text h2 {
        font-size:30px;
        line-height:40px;
        margin-bottom:30px;
    }
    #content #header-qimg-text h1 {
        font-size:35px;
        line-height:45px;
        margin-bottom:30px;
    }
    #content .sbi-contact-data-address h1, #content .sbi-contact-data-address h2, #content .sbi-contact-data-address p {
        font-size:22px;
        line-height:30px;
    }
    #content h3, #content h4, span.sbi-ctitle, #infobox h3 {
        font-size:22px;
        line-height:28px;
    }
    #content h4, #content .sbi-logos-text h3, #content .sbi-tfull-text h3, #content .sbi-itel-text-content h3, #content .sbi-team-text h3 {
        font-size:22px;
        line-height:30px;
    }
    #content .sbi-tfull-text h2 {
        font-size:22px;
        line-height:30px;
    }
    #content .sbi-tfull-text p + h2, #content .sbi-tfull-text ul + h2, #content .sbi-tfull-text ol + h2 {
        margin-top:34px;
    }
    .no-head .sb-item:nth-child(1) > * {
        padding-top:70px !important;
    }
    #post-e404 {
        padding:70px var(--side) 100px var(--side);
    }
    #header-img, #header-qimg {
        margin:0 0 70px 0;
    }
    #header-qimg #header-qimg-img {
        aspect-ratio:390 / 504;
    }
    #header-qimg #header-qimg-text {
        padding:20px var(--side) 0 var(--side);
    }
    .sbi-tfull.center {
        padding-top:110px !important;
        padding-bottom:110px;
    }
    .sbi-tfull.flowers .flower-red {
        --fw:147px;
        top:0;
        margin-top:-44px;
        left:-50px;
    }
    .sbi-tfull.flowers .flower-blue {
        --fw:128px;
        top:0;
        margin-top:-56px;
        right:18px;
    }
    .sbi-form .flower-form {
        --fw:130px;
        top:0;
        margin-top:-70px;
        left:auto;
        right:-36px;
    }
    /* Titel bricht vor der Blume um (Safari setzt Alaska schmaler, «Kontaktieren Sie uns» passte
       dort auf eine Zeile und lief in die Blume) */
    #content .sbi-form h1, #content .sbi-form h2 {
        padding-right:80px;
    }
    .sbi-itel {
        margin:0 0 70px 0;
    }
    .sbi-itel .sbi-itel-inner .sbi-itel-text {
        padding:20px var(--side) 0 var(--side);
    }
    .sbi-itel.purple .sbi-itel-inner .sbi-itel-img {
        aspect-ratio:390 / 303;
    }
    .sbi-itel.purple .sbi-itel-inner .sbi-itel-text {
        padding:55px var(--side) 80px var(--side);
    }
    span.sbi-ctitle {
        font-size:18px;
        line-height:35px;
        margin-bottom:18px;
    }
    .sbi-itel.purple .sbi-itel-text.has-more .sbi-itel-text-content {
        max-height:156px;
        overflow: hidden;
        transition:max-height .6s ease;
    }
    .sbi-itel.purple .sbi-itel-text.has-more .sbi-itel-text-content p:last-child {
        margin-bottom:0;
    }
    .sbi-itel .sbi-itel-inner .sbi-itel-text.has-more .sbi-itel-more {
        display: block;
        padding-top:10px;
        font-size:0;
    }
    .sbi-itel .sbi-itel-inner .sbi-itel-text .sbi-itel-more span {
        display: inline-block;
        font-family: 'Alaska-Book';
        font-size:18px;
        line-height:35px;
        color:#F5F6F0;
        text-decoration: underline;
        padding-right:26px;
        position: relative;
        cursor: pointer;
    }
    .sbi-itel .sbi-itel-inner .sbi-itel-text .sbi-itel-more span:after {
        content:"";
        position: absolute;
        top:15px;
        right:0;
        width:12px;
        height:7px;
        background:#F5F6F0;
        clip-path: polygon(0 0, 100% 0, 50% 100%);
        transition: transform .4s ease;
    }
    .sbi-itel .sbi-itel-inner .sbi-itel-text.more-open .sbi-itel-more span:after {
        transform: rotate(180deg);
    }
    .sbi-itel.purple .sbi-button {
        text-align: center;
        padding-top:48px;
    }
    .sbi-ifull {
        margin:0 0 70px 0;
    }
    .sbi-team, .sbi-services {
        padding-bottom:70px;
    }
    .sbi-team .sbi-team-items {
        margin:0;
    }
    .sbi-team .sbi-team-items .sbi-team-item {
        width:100%;
        margin:0 0 40px 0;
    }
    .sbi-team .sbi-team-items .sbi-team-item .sbi-team-item-img {
        margin-bottom:20px;
    }
    .sbi-team .sbi-team-items .sbi-team-item .sbi-team-item-img img {
        aspect-ratio:350 / 318;
    }
    .sbi-team-cv-trigger {
        padding-top:8px;
    }
    .sbi-team .sbi-team-items.cv-on .sbi-team-item .sbi-team-cv .sbi-team-cv-toggle {
        padding-top:24px;
    }
    /* mobil Jahr über dem Text, 18/26 wie in der Vorlage */
    #content .cv-list .cv-row {
        display:block;
        padding:1px 0 3px 0;
        font-size:18px;
    }
    #content .cv-list dt {
        padding-right:0;
    }
    .sbi-team .sbi-team-button, .sbi-scarousel .sbi-scarousel-button {
        position: static;
        margin:-22px 0 40px 0;
    }
    .sbi-scarousel .sbi-scarousel-button {
        padding:0 var(--side);
    }
    .sbi-scarousel .sbi-scarousel-button a, .sbi-team .sbi-team-button a {
        font-size:18px;
        line-height:35px;
        text-decoration: underline;
        padding-right:22px;
        background-position:center right 4px;
        background-size:7px 12px;
    }
    .sbi-scarousel .sbi-scarousel-button a:hover, .sbi-team .sbi-team-button a:hover {
        padding-right:22px;
        padding-left:0;
        background-position:center right 4px;
        background-size:7px 12px;
    }
    .sbi-team.carousel {
        padding-bottom:150px;
        margin-bottom:70px;
    }
    .home .sbi-team.carousel {
        background:#EDE7F4;
        padding-top:70px;
    }
    .sbi-team.carousel .sbi-team-items {
        margin:0 calc(var(--side) * -1);
    }
    .sbi-team.carousel .sbi-team-items .sbi-team-item {
        margin:0;
        padding:0 5px;
        transform: scale(.9);
        transform-origin:center top;
        transition:transform .6s ease;
    }
    .sbi-team.carousel .sbi-team-items .sbi-team-item.active {
        transform: scale(1);
    }
    .sbi-team.carousel .sbi-team-items .sbi-team-item .sbi-team-item-img {
        margin-bottom:12px;
    }
    .sbi-team.carousel .sbi-team-items .sbi-team-item .sbi-team-item-img img {
        aspect-ratio:260 / 331;
    }
    #content .sbi-team.carousel .sbi-team-item h3, #content .sbi-team.carousel .sbi-team-item h4 {
        font-family: 'Alaska-Book';
        font-size:16px;
        line-height:20px;
    }
    .sbi-team.carousel .slick-prev, .sbi-scarousel .slick-prev {
        top:calc(100% + 36px);
        right:auto;
        left:calc(50% - 74px);
    }
    .sbi-team.carousel .slick-next, .sbi-scarousel .slick-next {
        top:calc(100% + 36px);
        right:auto;
        left:calc(50% + 24px);
    }
    /* Pfeile hängen absolut unter dem Karussell; als letztes Element (Startseite) braucht es
       ihren Platz (36 + 50 px), sonst ragen sie in die Fusszeile (Personen-Karussell hat schon 150 px) */
    .sb-item:nth-last-child(1) > .sbi-scarousel {
        padding-bottom:86px;
    }
    .sbi-services .sbi-services-items, .sbi-tiles .sbi-tiles-items {
        margin:0;
    }
    .sbi-services .sbi-services-items .sbi-services-item, .sbi-tiles .sbi-tiles-items .sbi-tiles-item {
        width:100%;
        margin:0 0 25px 0;
        perspective:1400px;
    }
    .sbi-services-item-flip, .sbi-tiles-item-flip {
        display: grid;
        cursor: pointer;
        transform-style: preserve-3d;
        transition:transform .8s cubic-bezier(.45,.05,.25,1);
        -webkit-tap-highlight-color: transparent;
    }
    .flipped .sbi-services-item-flip, .flipped .sbi-tiles-item-flip {
        transform: rotateY(180deg);
    }
    .sbi-services-item-front, .sbi-services-item-text, .sbi-tiles-item-front, .sbi-tiles-item-text {
        grid-area:1 / 1;
        min-height:349px;
        border-radius:30px;
        box-shadow: 0 3px 6px rgba(0,0,0,.16);
        -webkit-backface-visibility: hidden;
        backface-visibility: hidden;
    }
    .sbi-services-item-front, .sbi-services-item-text {
        background:#E8F4C1;
    }
    .sbi-tiles-item-front, .sbi-tiles-item-text {
        background:#D4BBFF;
    }
    .sbi-services-item-front, .sbi-tiles-item-front {
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        padding:37px 20px 32px 20px;
    }
    .sbi-services-item-text, .sbi-tiles-item-text {
        display: flex;
        flex-direction: column;
        justify-content: center;
        padding:30px 26px !important;
        transform: rotateY(180deg);
    }
    .sbi-services .sbi-services-items .sbi-services-item .sbi-services-item-img, .sbi-tiles .sbi-tiles-items .sbi-tiles-item .sbi-tiles-item-img {
        padding:0;
        margin:0;
        background:none;
        box-shadow: none;
        border-radius:0;
    }
    .sbi-services .sbi-services-items .sbi-services-item .sbi-services-item-img img, .sbi-tiles .sbi-tiles-items .sbi-tiles-item .sbi-tiles-item-img img {
        height:205px;
        max-height:205px;
    }
    #content .sbi-services-item-front h3, #content .sbi-tiles-item-front h3 {
        padding:24px 0 0 0;
        margin-bottom:0;
        text-align: center;
    }
    #content .sbi-services-item p, #content .sbi-tiles-item-text p {
        padding-top:0;
        margin-bottom:0;
    }
    .sbi-scarousel {
        margin-bottom:180px;
    }
    .sbi-scarousel .sbi-scarousel-items .sbi-scarousel-item {
        width:228px;
        height:auto;
        margin-right:22px;
        padding:0;
        background:none;
        border-radius:0;
        box-shadow: none;
        perspective:1400px;
    }
    .sbi-scarousel-item-flip {
        display: grid;
        cursor: pointer;
        transform-style: preserve-3d;
        transition:transform .8s cubic-bezier(.45,.05,.25,1);
        -webkit-tap-highlight-color: transparent;
    }
    .flipped .sbi-scarousel-item-flip {
        transform: rotateY(180deg);
    }
    .sbi-scarousel-item-front, .sbi-scarousel .sbi-scarousel-items .sbi-scarousel-item .sbi-scarousel-item-text {
        grid-area:1 / 1;
        min-height:315px;
        border-radius:30px;
        background:#E8F4C1;
        box-shadow: 0 3px 6px rgba(0,0,0,.16);
        -webkit-backface-visibility: hidden;
        backface-visibility: hidden;
    }
    .sbi-scarousel-item-front {
        padding:30px 0 24px 0;
    }
    .sbi-scarousel .sbi-scarousel-items .sbi-scarousel-item .sbi-scarousel-item-text {
        display: flex;
        flex-direction: column;
        justify-content: center;
        padding:24px 20px;
        transform: rotateY(180deg);
    }
    .sbi-scarousel .sbi-scarousel-items .sbi-scarousel-item .sbi-services-item-img {
        height:190px;
        margin-bottom:21px;
    }
    .sbi-scarousel .sbi-scarousel-items .sbi-scarousel-item .sbi-services-item-img img {
        width:100%;
        height:100%;
        max-height:none;
        object-fit: cover;
    }
    #content .sbi-scarousel-item h3 {
        font-size:18px;
        line-height:25px;
        margin:0 12px;
    }
    #content .sbi-scarousel-item-text p {
        margin-bottom:0;
        -webkit-hyphens: auto;
        hyphens: auto;
    }
    .sbi-logos {
        padding-bottom:40px;
    }
    .sbi-logos-text-right {
        padding-top:0;
    }
    .sbi-logos-text-right .sbi-logos-trigger {
        cursor: pointer;
    }
    .sbi-logos-text-right .sbi-logos-trigger strong, .sbi-logos-text-right .sbi-logos-trigger {
        display: inline-block;
        padding-right:30px;
        position: relative;
    }
    .sbi-logos-text-right .sbi-logos-trigger:after {
        content:"";
        position: absolute;
        top:11px;
        right:0;
        width:15px;
        height:9px;
        background:#663B67;
        clip-path: polygon(0 0, 100% 0, 50% 100%);
        transition: transform .4s ease;
    }
    .sbi-logos-text-right.benefits-open .sbi-logos-trigger:after {
        transform: rotate(180deg);
    }
    .sbi-logos-text-right .sbi-logos-toggle {
        display: none;
    }
    .sbi-logos .sbi-logos-items {
        --logo:87px;
        gap:32px 28px;
        padding:56px 0 24px 0;
    }
    .sbi-contact {
        margin-bottom:90px;
    }
    .sbi-contact .sbi-contact-inner .sbi-contact-map {
        margin:0 calc(var(--side) * -1);
        width:auto;
    }
    .sbi-contact .sbi-contact-inner .sbi-contact-map .gmap {
        aspect-ratio:390 / 314;
    }
    .sbi-contact .sbi-contact-inner .sbi-contact-data {
        padding-top:24px;
        grid-template-columns:1fr;
        grid-template-areas:"address" "hours" "info";
    }
    .sbi-form {
        margin-bottom:100px;
    }
    .form-elements {
        margin:0;
    }
    .form-elements .form-element, .form-elements .form-element-full, .form-elements .form-element-submit {
        width:100%;
        margin:0 0 24px 0;
    }
    #footer {
        padding:80px var(--side) 40px var(--side);
    }
    #footer .flower-footer {
        width:186px;
        right:auto;
        /* optisch zentriert: die Stiele (bei 45 % der Bildbreite) stehen in der Mitte */
        left:calc(50% - 84px);
        bottom:104px;
    }
    #footer-items {
        display: block;
    }
    #footer-items .footer-item.appointment, #footer-items .footer-item.openhours, #footer-items .footer-item.contact {
        max-width:none;
        margin:0 0 56px 0;
    }
    #footer-items .footer-item.appointment {
        text-align: center;
    }
    .footer-appointment-button {
        text-align: center;
        padding-top:24px;
    }
    #appointment-popup {
        width:100%;
        text-align: left;
    }
    #footer .contact p {
        font-size:18px;
        line-height:26px;
    }
    #footer-bottom {
        padding-top:210px;
    }
    #footer-bottom #footer-bottom-logo {
        display: none;
    }
    #footer-bottom #footer-bottom-bar {
        display: flex;
        flex-direction: column-reverse;
    }
    #footer-bottom #footer-bottom-bar #copyright {
        margin:16px 0 0 0;
        text-align: center;
    }
    #footer-bottom #footer-bottom-bar #copyright span, #footer-bottom #footer-bottom-bar #fmenu ul li a {
        font-size:16px;
        line-height:24px;
    }
    #footer-bottom #footer-bottom-bar #fmenu ul {
        display: flex;
        justify-content: space-between;
    }
    #footer-bottom #footer-bottom-bar #fmenu ul li {
        margin:0;
    }
}
/* sehr schmale Handys (320 px): Logo bleibt zweizeilig, sonst wird der Kopf höher als --hh */
@media only screen and (max-width:344px) {
    #header #header-inner #logo {
        margin-right:84px;
    }
    #header #header-inner #logo a {
        font-size:22px;
    }
}