/* ========================================================= * BASE * ========================================================= */ [data-bs-vsgdi-id="bs-vsgdi-6"], [data-bs-vsgdi-id="bs-vsgdi-6"] *, [data-bs-vsgdi-id="bs-vsgdi-6"] *::before, [data-bs-vsgdi-id="bs-vsgdi-6"] *::after { box-sizing: border-box; } [data-bs-vsgdi-id="bs-vsgdi-6"] .bs-vsgdi-placeholder { background-image: linear-gradient( 45deg, #e9e9e9 25%, transparent 25% ), linear-gradient( -45deg, #e9e9e9 25%, transparent 25% ), linear-gradient( 45deg, transparent 75%, #e9e9e9 75% ), linear-gradient( -45deg, transparent 75%, #e9e9e9 75% ); background-size: 64px 64px; background-position: 0 0, 0 32px, 32px -32px, -32px 0; background-color: #f7f7f7; } /* ========================================================= * BULLETS * ========================================================= */ [data-bs-vsgdi-id="bs-vsgdi-6"] .bs-vsgdi-bullets { display: flex; flex-direction: column; gap: 10px; margin: 0; padding: 0; list-style: none; } [data-bs-vsgdi-id="bs-vsgdi-6"] .bs-vsgdi-bullet { display: flex; align-items: flex-start; gap: 10px; } [data-bs-vsgdi-id="bs-vsgdi-6"] .bs-vsgdi-bullet svg { flex: 0 0 auto; margin-top: 4px; } /* ========================================================= * * TESTIMONIAL MARQUEE * * ========================================================= */ /* * IMPORTANT: * * The old preset had a fixed 620px article height. * * We REMOVE that limitation for the marquee. * * Therefore a long testimonial can increase * the total height naturally. */ /* [data-bs-vsgdi-id="bs-vsgdi-6"].is-slider { height: auto !important; min-height: 620px; } */ /* ========================================================= * VIEWPORT * ========================================================= */ [data-bs-vsgdi-id="bs-vsgdi-6"] .bs-vsgdi-marquee { position: relative; left: 50%; width: 100vw; height: auto; min-height: 620px; overflow-x: hidden; overflow-y: visible; transform: translateX(-50%); } /* ========================================================= * MOVING TRACK * ========================================================= */ [data-bs-vsgdi-id="bs-vsgdi-6"] .bs-vsgdi-marquee-track { display: flex; align-items: stretch; width: max-content; min-width: max-content; height: 1100px; will-change: transform; animation: bs-vsgdi-marquee-bs-vsgdi-6 30s linear infinite; } /* ========================================================= * TESTIMONIAL GROUP * ========================================================= */ [data-bs-vsgdi-id="bs-vsgdi-6"] .bs-vsgdi-marquee-group { display: flex; flex: 0 0 auto; /* * YOUR NEW DISTANCE */ gap: 256px; height: auto; /* * You specifically wanted this to stay 56px. */ padding-right: 256px; } /* ========================================================= * SINGLE TESTIMONIAL * ========================================================= */ [data-bs-vsgdi-id="bs-vsgdi-6"] .bs-vsgdi-marquee-item { position: relative; flex: 0 0 966px; width: 966px; /* * We keep at least the old visual height, * but allow the item to become taller. */ min-height: 620px; height: auto; overflow: visible; } /* ========================================================= * IMAGE * ========================================================= */ [data-bs-vsgdi-id="bs-vsgdi-6"] .bs-vsgdi-marquee-image, [data-bs-vsgdi-id="bs-vsgdi-6"] .bs-vsgdi-marquee-placeholder { position: absolute; top: 0; left: 0; display: block; width: 526px; height: 483.65px; border-radius: 20px; object-fit: cover; object-position: 50% 10%; } /* ========================================================= * CONTENT * * IMPORTANT CHANGE: * * NO absolute positioning. * NO fixed height. * * That lets the content define the actual * height of the testimonial. * ========================================================= */ [data-bs-vsgdi-id="bs-vsgdi-6"] .bs-vsgdi-marquee-content { position: relative; /* * equivalent to your requested: * * top: 269px; * left: 350px; * * BUT margin is used so that the content * contributes to the parent's height. */ margin-top: 269px; margin-left: 350px; display: flex; width: auto; /* * THIS FIXES THE CUT TEXT. */ height: auto; min-height: 0; padding: 32px 32px 88px 32px; flex-direction: column; align-items: flex-start; gap: 24px; /* * Never cut long testimonials. */ overflow: visible; border-radius: 20px; background: rgba(255, 255, 255, 0.60); box-shadow: 0 0 26px 0 rgba(19, 31, 51, 0.10); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); } /* ========================================================= * NAME / COMPANY * ========================================================= */ [data-bs-vsgdi-id="bs-vsgdi-6"] .bs-vsgdi-marquee-meta { margin: 0; color: #0079C1; font-family: Verdana, Geneva, sans-serif; font-size: 15px; font-style: italic; font-weight: 400; line-height: 150%; letter-spacing: 0.15px; } /* ========================================================= * TESTIMONIAL TEXT * ========================================================= */ [data-bs-vsgdi-id="bs-vsgdi-6"] .bs-vsgdi-marquee-quote { display: block; width: 100%; margin: 0; /* * IMPORTANT: * * No line clamp. * No max-height. * No hidden overflow. */ height: auto; max-height: none; overflow: visible; white-space: normal; color: #131F33; font-family: 'CalSans-Regular', sans-serif; font-size: 26px; font-style: normal; font-weight: 400; line-height: 120%; letter-spacing: 0.8px; } /* ========================================================= * ANIMATION * * NO hover pause. * ========================================================= */ @keyframes bs-vsgdi-marquee-bs-vsgdi-6 { from { transform: translate3d} to { transform: translate3d( -50%, 0, 0 ); } } /* ========================================================= * TABLET * ========================================================= */ @media (min-width: 992px) and (max-width: 1100px) { .bs-container-responsive.voirol-stelle-grid-description.wp-block-basetheme-container{ margin: 0 0 400px 0 !important; } [data-bs-vsgdi-id="bs-vsgdi-6"] .bs-vsgdi-marquee-group { gap: 300px; padding-right: 40px; } [data-bs-vsgdi-id="bs-vsgdi-6"] .bs-vsgdi-marquee-item { flex-basis: 820px; width: auto; } [data-bs-vsgdi-id="bs-vsgdi-6"] .bs-vsgdi-marquee-image, [data-bs-vsgdi-id="bs-vsgdi-6"] .bs-vsgdi-marquee-placeholder { width: 440px; height: 440px; } [data-bs-vsgdi-id="bs-vsgdi-6"] .bs-vsgdi-marquee-content { width: auto; margin-left: 330px; margin-top: 240px; height: auto; } [data-bs-vsgdi-id="bs-vsgdi-6"] .bs-vsgdi-marquee-quote { font-size: 34px; } } /* ========================================================= * MOBILE * ========================================================= */ @media (max-width: 767px) { [data-bs-vsgdi-id="bs-vsgdi-9"] .bs-vsgdi-marquee-track { height: 526px !important; } [data-bs-vsgdi-id="bs-vsgdi-6"].is-slider { min-height: 0; } [data-bs-vsgdi-id="bs-vsgdi-6"] .bs-vsgdi-marquee { min-height: 0; } [data-bs-vsgdi-id="bs-vsgdi-6"] .bs-vsgdi-marquee-group { gap: 180px; padding-right: 180px; } [data-bs-vsgdi-id="bs-vsgdi-6"] .bs-vsgdi-marquee-item { flex-basis: calc(100vw - 48px); width: calc(100vw - 48px); min-height: 0; height: auto; } [data-bs-vsgdi-id="bs-vsgdi-6"] .bs-vsgdi-marquee-image, [data-bs-vsgdi-id="bs-vsgdi-6"] .bs-vsgdi-marquee-placeholder { position: relative; top: auto; left: auto; height: 320px; } [data-bs-vsgdi-id="bs-vsgdi-6"] .bs-vsgdi-marquee-content { position: relative; width: calc(100% - 24px); height: auto; margin-top: -28px; margin-left: 124px; padding: 24px; gap: 14px; overflow: visible; } [data-bs-vsgdi-id="bs-vsgdi-6"] .bs-vsgdi-marquee { position: relative; left: auto; width: 100vw; max-width: none; margin-left: calc(50% - 50vw); height: auto; min-height: 620px; overflow-x: hidden; overflow-y: visible; transform: none; } } @media (max-width: 450px) { [data-bs-vsgdi-id="bs-vsgdi-6"] .bs-vsgdi-marquee-image, [data-bs-vsgdi-id="bs-vsgdi-6"] .bs-vsgdi-marquee-placeholder { width: 100% !important; } } /* ========================================================= * ACCESSIBILITY * ========================================================= */ @media (prefers-reduced-motion: reduce) { [data-bs-vsgdi-id="bs-vsgdi-6"] .bs-vsgdi-marquee-track { animation-duration: 1ms; } } @media (min-width: 993px) and (max-width: 1476px) { [data-bs-vsgdi-id="bs-vsgdi-6"] .bs-vsgdi-marquee { position: relative; width: 125vw; max-width: none; left: auto; transform: none; /* * Center the 125vw element relative to * the actual viewport despite body zoom: .8 */ margin-left: calc(50% - 62.5vw); overflow-x: hidden; overflow-y: visible; } } @media (min-width: 768px) and (max-width: 992px) { [data-bs-vsgdi-id="bs-vsgdi-6"] .bs-vsgdi-marquee { width: 100vw; max-width: none; left: 0; right: auto; margin-left: 0; margin-right: 0; transform: none; } } @media (max-width: 550px) { [data-bs-vsgdi-id="bs-vsgdi-9"] .bs-vsgdi-marquee { min-height: 750px !important; } }
Qualität mit Anspruch
Unsere Projekte verlangen technisches Können, sorgfältige Arbeit und ein gutes Verständnis für komplexe Anlagen. Wer bei Voirol arbeitet, übernimmt Verantwortung für seinen Bereich und trägt dazu bei, dass Planung, Ausführung und Service ineinandergreifen.