/* */
@font-face { font-display: swap; font-family: 'Archivo'; font-style: normal; font-weight: 100; src: url('../fonts/archivo-v25-latin-100.woff2') format('woff2'); }
@font-face { font-display: swap; font-family: 'Archivo'; font-style: italic; font-weight: 100; src: url('../fonts/archivo-v25-latin-100italic.woff2') format('woff2'); }
@font-face { font-display: swap; font-family: 'Archivo'; font-style: normal; font-weight: 200; src: url('../fonts/archivo-v25-latin-200.woff2') format('woff2'); }
@font-face { font-display: swap; font-family: 'Archivo'; font-style: italic; font-weight: 200; src: url('../fonts/archivo-v25-latin-200italic.woff2') format('woff2'); }
@font-face { font-display: swap; font-family: 'Archivo'; font-style: normal; font-weight: 300; src: url('../fonts/archivo-v25-latin-300.woff2') format('woff2'); }
@font-face { font-display: swap; font-family: 'Archivo'; font-style: italic; font-weight: 300; src: url('../fonts/archivo-v25-latin-300italic.woff2') format('woff2'); }
@font-face { font-display: swap; font-family: 'Archivo'; font-style: normal; font-weight: 400; src: url('../fonts/archivo-v25-latin-regular.woff2') format('woff2'); }
@font-face { font-display: swap; font-family: 'Archivo'; font-style: italic; font-weight: 400; src: url('../fonts/archivo-v25-latin-italic.woff2') format('woff2'); }
@font-face { font-display: swap; font-family: 'Archivo'; font-style: normal; font-weight: 500; src: url('../fonts/archivo-v25-latin-500.woff2') format('woff2'); }
@font-face { font-display: swap; font-family: 'Archivo'; font-style: italic; font-weight: 500; src: url('../fonts/archivo-v25-latin-500italic.woff2') format('woff2'); }
@font-face { font-display: swap; font-family: 'Archivo'; font-style: normal; font-weight: 600; src: url('../fonts/archivo-v25-latin-600.woff2') format('woff2'); }
@font-face { font-display: swap; font-family: 'Archivo'; font-style: italic; font-weight: 600; src: url('../fonts/archivo-v25-latin-600italic.woff2') format('woff2'); }
@font-face { font-display: swap; font-family: 'Archivo'; font-style: normal; font-weight: 700; src: url('../fonts/archivo-v25-latin-700.woff2') format('woff2'); }
@font-face { font-display: swap; font-family: 'Archivo'; font-style: italic; font-weight: 700; src: url('../fonts/archivo-v25-latin-700italic.woff2') format('woff2'); }
@font-face { font-display: swap; font-family: 'Archivo'; font-style: normal; font-weight: 800; src: url('../fonts/archivo-v25-latin-800.woff2') format('woff2'); }
@font-face { font-display: swap; font-family: 'Archivo'; font-style: italic; font-weight: 800; src: url('../fonts/archivo-v25-latin-800italic.woff2') format('woff2'); }
@font-face { font-display: swap; font-family: 'Archivo'; font-style: normal; font-weight: 900; src: url('../fonts/archivo-v25-latin-900.woff2') format('woff2'); }
@font-face { font-display: swap; font-family: 'Archivo'; font-style: italic; font-weight: 900; src: url('../fonts/archivo-v25-latin-900italic.woff2') format('woff2'); }
@font-face { font-display: swap; font-family: 'IBM Plex Mono'; font-style: normal; font-weight: 100; src: url('../fonts/ibm-plex-mono-v20-latin-100.woff2') format('woff2'); }
@font-face { font-display: swap; font-family: 'IBM Plex Mono'; font-style: italic; font-weight: 100; src: url('../fonts/ibm-plex-mono-v20-latin-100italic.woff2') format('woff2'); }
@font-face { font-display: swap; font-family: 'IBM Plex Mono'; font-style: normal; font-weight: 200; src: url('../fonts/ibm-plex-mono-v20-latin-200.woff2') format('woff2'); }
@font-face { font-display: swap; font-family: 'IBM Plex Mono'; font-style: italic; font-weight: 200; src: url('../fonts/ibm-plex-mono-v20-latin-200italic.woff2') format('woff2'); }
@font-face { font-display: swap; font-family: 'IBM Plex Mono'; font-style: normal; font-weight: 300; src: url('../fonts/ibm-plex-mono-v20-latin-300.woff2') format('woff2'); }
@font-face { font-display: swap; font-family: 'IBM Plex Mono'; font-style: italic; font-weight: 300; src: url('../fonts/ibm-plex-mono-v20-latin-300italic.woff2') format('woff2'); }
@font-face { font-display: swap; font-family: 'IBM Plex Mono'; font-style: normal; font-weight: 400; src: url('../fonts/ibm-plex-mono-v20-latin-regular.woff2') format('woff2'); }
@font-face { font-display: swap; font-family: 'IBM Plex Mono'; font-style: italic; font-weight: 400; src: url('../fonts/ibm-plex-mono-v20-latin-italic.woff2') format('woff2'); }
@font-face { font-display: swap; font-family: 'IBM Plex Mono'; font-style: normal; font-weight: 500; src: url('../fonts/ibm-plex-mono-v20-latin-500.woff2') format('woff2'); }
@font-face { font-display: swap; font-family: 'IBM Plex Mono'; font-style: italic; font-weight: 500; src: url('../fonts/ibm-plex-mono-v20-latin-500italic.woff2') format('woff2'); }
@font-face { font-display: swap; font-family: 'IBM Plex Mono'; font-style: normal; font-weight: 600; src: url('../fonts/ibm-plex-mono-v20-latin-600.woff2') format('woff2'); }
@font-face { font-display: swap; font-family: 'IBM Plex Mono'; font-style: italic; font-weight: 600; src: url('../fonts/ibm-plex-mono-v20-latin-600italic.woff2') format('woff2'); }
@font-face { font-display: swap; font-family: 'IBM Plex Mono'; font-style: normal; font-weight: 700; src: url('../fonts/ibm-plex-mono-v20-latin-700.woff2') format('woff2'); }
@font-face { font-display: swap; font-family: 'IBM Plex Mono'; font-style: italic; font-weight: 700; src: url('../fonts/ibm-plex-mono-v20-latin-700italic.woff2') format('woff2'); }
@font-face { font-display: swap; font-family: 'Inter'; font-style: normal; font-weight: 100; src: url('../fonts/inter-v20-latin-100.woff2') format('woff2'); }
@font-face { font-display: swap; font-family: 'Inter'; font-style: italic; font-weight: 100; src: url('../fonts/inter-v20-latin-100italic.woff2') format('woff2'); }
@font-face { font-display: swap; font-family: 'Inter'; font-style: normal; font-weight: 200; src: url('../fonts/inter-v20-latin-200.woff2') format('woff2'); }
@font-face { font-display: swap; font-family: 'Inter'; font-style: italic; font-weight: 200; src: url('../fonts/inter-v20-latin-200italic.woff2') format('woff2'); }
@font-face { font-display: swap; font-family: 'Inter'; font-style: normal; font-weight: 300; src: url('../fonts/inter-v20-latin-300.woff2') format('woff2'); }
@font-face { font-display: swap; font-family: 'Inter'; font-style: italic; font-weight: 300; src: url('../fonts/inter-v20-latin-300italic.woff2') format('woff2'); }
@font-face { font-display: swap; font-family: 'Inter'; font-style: normal; font-weight: 400; src: url('../fonts/inter-v20-latin-regular.woff2') format('woff2'); }
@font-face { font-display: swap; font-family: 'Inter'; font-style: italic; font-weight: 400; src: url('../fonts/inter-v20-latin-italic.woff2') format('woff2'); }
@font-face { font-display: swap; font-family: 'Inter'; font-style: normal; font-weight: 500; src: url('../fonts/inter-v20-latin-500.woff2') format('woff2'); }
@font-face { font-display: swap; font-family: 'Inter'; font-style: italic; font-weight: 500; src: url('../fonts/inter-v20-latin-500italic.woff2') format('woff2'); }
@font-face { font-display: swap; font-family: 'Inter'; font-style: normal; font-weight: 600; src: url('../fonts/inter-v20-latin-600.woff2') format('woff2'); }
@font-face { font-display: swap; font-family: 'Inter'; font-style: italic; font-weight: 600; src: url('../fonts/inter-v20-latin-600italic.woff2') format('woff2'); }
@font-face { font-display: swap; font-family: 'Inter'; font-style: normal; font-weight: 700; src: url('../fonts/inter-v20-latin-700.woff2') format('woff2'); }
@font-face { font-display: swap; font-family: 'Inter'; font-style: italic; font-weight: 700; src: url('../fonts/inter-v20-latin-700italic.woff2') format('woff2'); }
@font-face { font-display: swap; font-family: 'Inter'; font-style: normal; font-weight: 800; src: url('../fonts/inter-v20-latin-800.woff2') format('woff2'); }
@font-face { font-display: swap; font-family: 'Inter'; font-style: italic; font-weight: 800; src: url('../fonts/inter-v20-latin-800italic.woff2') format('woff2'); }
@font-face { font-display: swap; font-family: 'Inter'; font-style: normal; font-weight: 900; src: url('../fonts/inter-v20-latin-900.woff2') format('woff2'); }
@font-face { font-display: swap; font-family: 'Inter'; font-style: italic; font-weight: 900; src: url('../fonts/inter-v20-latin-900italic.woff2') format('woff2'); }
/* */
html, body { min-height: 100% }
body { background: rgba(237, 238, 233, 1) }
body, p, label, .button { font-family: 'Inter', system-ui, sans-serif; color: rgba(27, 36, 48, 1); font-weight: 400; -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; line-height: 1.5 }
body, p { font-size: 1rem }
/* */
h1, h2, h3, h4, h5, h6 { font-family: 'Archivo', system-ui, sans-serif; font-weight: 700; color: inherit; letter-spacing: 0; margin: 0 0 .9375rem 0; line-height: 1.1; text-transform: none }
h1 { font-size: clamp(2rem, 5vw, 3.625rem) }
h2 { font-size: clamp(1.625rem, 3.8vw, 2.25rem) }
h3 { font-size: clamp(1.125rem, 2vw, 1.375rem) }
h4 { font-size: 1rem }
/* */
p:last-of-type { margin: 0 }
/* */
a, a:link, a:focus { color: inherit; outline: none; text-decoration: none }
a:hover { color: rgba(122, 106, 10, 1) }
/* */
ul { margin: 0; padding: 0; list-style-type: none; line-height: 1.5 }
/* */
.grid-padding-x>.cell { padding-right: .9375rem; padding-left: .9375rem }
.grid-container { max-width: 80rem }
/* */
tbody, tfoot, thead, tbody tr:nth-child(even) { background: transparent }
/* */
.flex_top, .flex_centered, .flex_middle, .flex_bottom, .flex_right, .flex_left { display: flex }
.flex_top { align-items: flex-start }
.flex_centered { align-items: center; justify-content: center }
.flex_middle { align-items: center }
.flex_bottom { align-items: flex-end }
.flex_right { justify-content: flex-end }
.flex_left { justify-content: flex-start }
/* */
::-webkit-input-placeholder {
color: rgba(27, 36, 48, .58)!important
}
::-moz-placeholder {
color: rgba(27, 36, 48, .58)!important
}
:-ms-input-placeholder {
color: rgba(27, 36, 48, .58)!important
}
::placeholder {
color: rgba(27, 36, 48, .58)!important
}
::selection { background: rgba(245, 227, 65, 1); color: rgba(27, 36, 48, 1); text-shadow: none }
/* */
.site-header { background: rgba(237, 238, 233, 1); border-bottom: 1px solid rgba(201, 203, 195, 1); position: sticky; top: 0; z-index: 99991 }
.vf-topbar { background: rgba(27, 36, 48, 1); color: rgba(237, 238, 233, 1); font-family: 'IBM Plex Mono', ui-monospace, monospace; font-size: .75rem }
.vf-topbar .grid-x { min-height: 2.125rem }
.vf-topbar a { color: rgba(237, 238, 233, 1) }
.vf-topbar-service { display: none }
.vf-navrow { min-height: 3.75rem }
.logo-container .custom-logo { display: block; max-width: 6rem; height: auto }
/* */
.vf-phone-badge { align-items: center; background: rgba(27, 36, 48, 1); border-radius: 3px; color: rgba(237, 238, 233, 1)!important; display: inline-flex; font-family: 'IBM Plex Mono', ui-monospace, monospace; font-size: .75rem; min-height: 2.75rem; padding: 0 .9375rem; white-space: nowrap }
.vf-phone-badge .vf-phone-icon + span, .vf-phone-badge .vf-mail-icon + span { margin-left: .9375rem }
.vf-phone-badge:hover { background: rgba(15, 22, 32, 1); color: rgba(255, 255, 255, 1)!important }
.vf-phone-icon, .vf-mail-icon { display: inline-block; flex: 0 0 auto; inline-size: 1.125rem; block-size: 1.125rem; position: relative }
.vf-phone-icon:before, .vf-mail-icon:before { background: currentColor; content: ''; inset: 0; position: absolute }
.vf-phone-icon:before { -webkit-mask: url("data:image/svg+xml, %3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='white'%20stroke-width='2.2'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M22%2016.92v3a2%202%200%200%201-2.18%202%2019.79%2019.79%200%200%201-8.63-3.07%2019.5%2019.5%200%200%201-6-6%2019.79%2019.79%200%200%201-3.07-8.67A2%202%200%200%201%204.11%202h3a2%202%200%200%201%202%201.72c.12.91.33%201.79.62%202.64a2%202%200%200%201-.45%202.11L8.09%209.91a16%2016%200%200%200%206%206l1.44-1.19a2%202%200%200%201%202.11-.45c.85.29%201.73.5%202.64.62A2%202%200%200%201%2022%2016.92z'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml, %3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='white'%20stroke-width='2.2'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M22%2016.92v3a2%202%200%200%201-2.18%202%2019.79%2019.79%200%200%201-8.63-3.07%2019.5%2019.5%200%200%201-6-6%2019.79%2019.79%200%200%201-3.07-8.67A2%202%200%200%201%204.11%202h3a2%202%200%200%201%202%201.72c.12.91.33%201.79.62%202.64a2%202%200%200%201-.45%202.11L8.09%209.91a16%2016%200%200%200%206%206l1.44-1.19a2%202%200%200%201%202.11-.45c.85.29%201.73.5%202.64.62A2%202%200%200%201%2022%2016.92z'/%3E%3C/svg%3E") center / contain no-repeat }
.vf-mail-icon:before { -webkit-mask: url("data:image/svg+xml, %3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='white'%20stroke-width='2.1'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Crect%20width='20'%20height='16'%20x='2'%20y='4'%20rx='2'/%3E%3Cpath%20d='m22%207-8.97%205.7a2%202%200%200%201-2.06%200L2%207'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml, %3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='white'%20stroke-width='2.1'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Crect%20width='20'%20height='16'%20x='2'%20y='4'%20rx='2'/%3E%3Cpath%20d='m22%207-8.97%205.7a2%202%200%200%201-2.06%200L2%207'/%3E%3C/svg%3E") center / contain no-repeat }
.vf-mail-icon:after { display: none }
/* */
.site-content { overflow: visible }
/* */
.vf-section { padding: 1.875rem 0 }
.vf-section-tight { padding: 1.875rem 0 }
.vf-section + .vf-section, .vf-section + .vf-section-tight, .vf-section-tight + .vf-section, .vf-section-tight + .vf-section-tight { border-top: 1px solid rgba(201, 203, 195, 1) }
/* */
.vf-mastkante { margin-bottom: 1.875rem; padding-left: 1.875rem; position: relative }
.vf-mastkante:before { background: rgba(245, 227, 65, 1); border-radius: 1px; bottom: .375rem; content: ''; left: 0; position: absolute; top: .375rem; width: .5rem }
/* */
.vf-eyebrow, .vf-badge, .page-kranfahnen .vf-panel-split-copy > .vf-eyebrow { background: rgba(245, 227, 65, 1); border-radius: 2px; color: rgba(27, 36, 48, 1); display: inline-flex; font-family: 'IBM Plex Mono', ui-monospace, monospace; font-size: .75rem!important; letter-spacing: .13em; margin: 0 0 .9375rem 0!important; padding: .234375rem .9375rem .175rem .9375rem; text-transform: uppercase }
/* */
.vf-lede { color: rgba(92, 102, 114, 1); font-size: clamp(1rem, 2.4vw, 1.1875rem); margin-top: 0; max-width: 42rem }
.vf-pagehead { background: rgba(237, 238, 233, 1); color: rgba(27, 36, 48, 1); padding: 3.75rem 0 1.875rem }
body[class*="page-full-width-konfigurator"] .vf-pagehead { padding: 1.875rem 0 .9375rem }
body[class*="page-full-width-konfigurator"] .vf-pagehead + .vf-section { padding-top: .9375rem }
.vf-pagehead-photo { background-position: center; background-repeat: no-repeat; background-size: cover; color: rgba(237, 238, 233, 1); overflow: hidden; position: relative }
.vf-pagehead-photo:before { background: linear-gradient(96deg, rgba(20, 28, 38, .96), rgba(20, 28, 38, .66), rgba(20, 28, 38, .20)); content: ''; inset: 0; position: absolute; z-index: 1 }
.vf-pagehead .grid-container { position: relative; z-index: 2 }
.vf-pagehead-photo h1 { color: rgba(255, 255, 255, 1) }
.vf-pagehead-photo .vf-lede { color: rgba(185, 193, 203, 1) }
/* */
.vf-hero { position: relative; background: rgba(27, 36, 48, 1); color: rgba(237, 238, 233, 1); overflow: hidden }
.vf-hero, .vf-hero .grid-x { min-height: 40.5rem }
.vf-hero-photo { background-position: 22% center; background-repeat: no-repeat; background-size: cover }
.vf-hero-photo:before { background: linear-gradient(180deg, rgba(20, 28, 38, .94), rgba(20, 28, 38, .86), rgba(20, 28, 38, .94)); content: ''; inset: 0; position: absolute; z-index: 1 }
.vf-hero .grid-container { position: relative; z-index: 2 }
.vf-hero h1 { color: rgba(255, 255, 255, 1); margin-top: 0; max-width: 36.25rem }
.vf-hero .vf-lede { color: rgba(211, 218, 226, 1) }
.vf-hero .vf-hint { color: rgba(211, 218, 226, 1); margin-top: 0 }
.vf-hero-actions { display: flex; flex-wrap: wrap; margin-top: 1.875rem }
.vf-hero-actions .button { margin-bottom: 0!important; margin-right: .9375rem!important }
.vf-hero-facts { border-top: 1px solid rgba(237, 238, 233, .22); display: flex; flex-wrap: wrap; margin-top: 1.875rem; padding-top: 1.875rem }
.vf-hero-facts li { width: 100%; color: rgba(186, 196, 206, 1); font-family: 'IBM Plex Mono', ui-monospace, monospace; font-size: .75rem }
.vf-hero-facts li + li { margin-top: .46875rem }
.vf-hero-facts strong { color: rgba(255, 255, 255, 1); font-weight: 500 }
.vf-hero-facts span + strong, .vf-hero-facts strong + span { margin-left: .9375rem }
/* */
.button, input[type=submit].button { align-items: center; background: rgba(245, 227, 65, 1)!important; border: 0!important; border-radius: 3px!important; color: rgba(27, 36, 48, 1)!important; display: inline-flex; font-weight: 700!important; justify-content: center!important; margin: 0!important; min-height: 3.0625rem; padding: .9375rem 1.875rem!important; text-transform: none!important; transition: background .15s ease, transform .15s ease }
.button:hover, input[type=submit].button:hover { background: rgba(232, 212, 42, 1)!important; color: rgba(27, 36, 48, 1)!important }
.button:active { transform: translateY(1px) }
.button.block { width: 100%; justify-content: center }
.button.dark { background: rgba(27, 36, 48, 1)!important; color: rgba(237, 238, 233, 1)!important }
.button.ghost { background: transparent!important; border: 1px solid rgba(27, 36, 48, 1)!important; color: rgba(27, 36, 48, 1)!important }
.vf-hero .button.ghost, .vf-panel-dark .button.ghost, .vf-pagehead-photo .button.ghost { border-color: rgba(245, 227, 65, .65)!important; color: rgba(237, 238, 233, 1)!important }
/* */
.vf-card, .vf-panel { background: rgba(255, 255, 255, 1); border: 1px solid rgba(201, 203, 195, 1); border-radius: 4px; color: rgba(27, 36, 48, 1); display: block; margin-top: .9375rem }
.vf-card { transition: border-color .15s ease, transform .15s ease }
.vf-card:hover { border-color: rgba(27, 36, 48, 1); color: rgba(27, 36, 48, 1); transform: translateY(-2px) }
.vf-card-figure { aspect-ratio: 4 / 3; background: rgba(226, 228, 220, 1); overflow: hidden }
.vf-card-figure img { height: 100%; width: 100%; object-fit: cover }
.vf-card-body { padding: .9375rem }
.vf-panel { padding: .9375rem }
.vf-card h3, .vf-motive-panel h3 { font-size: 1rem; margin: 0 0 .46875rem 0 }
.vf-card p { color: rgba(92, 102, 114, 1); font-size: .875rem; margin-top: 0 }
.vf-badge { background: rgba(27, 36, 48, 1); color: rgba(255, 255, 255, 1) }
.vf-pill { border: 1px solid rgba(201, 203, 195, 1); border-radius: 2px; color: rgba(92, 102, 114, 1); display: inline-block; font-family: 'IBM Plex Mono', ui-monospace, monospace; font-size: .75rem; margin: .9375rem 0 0 0; padding: .234375rem .46875rem }
.grid-margin-y > .cell > .vf-card, .grid-margin-y > .cell > .vf-panel, .grid-margin-y > .cell > .vf-note, .grid-margin-y > .cell > .vf-step-card { margin-top: 0 }
.vf-front-card-grid .vf-card { margin-top: 0 }
.vf-zubehoer-grid .vf-card-link { margin-bottom: 0!important; font-weight: 700 }
.vf-zubehoer-grid .vf-card-hint { margin-top: 0!important; margin-bottom: .9375rem!important; font-size: .75rem }
.vf-section-masten-zubehoer-text_media-1 .vf-richtext p { margin-top: 0!important }
.vf-section-masten-zubehoer-panels-2 .vf-note { margin-bottom: 0!important }
.vf-section-kranfahnen-drei-wege-einen-kran-zu-bespielen .vf-panel h3, .vf-section-kranfahnen-panels-3 h3, .vf-section-kranfahnen-zwei-varianten-ein-wichtiger-unterschied h3, .vf-section-kranfahnen-wie-wir-sie-fertigen h3, .vf-section-kranfahnen-wer-haengt-sie-auf-und-wie h3, .vf-section-kranfahnen-was-auf-30-bis-80-meter-noch-funktioniert h3, .vf-section-masten-zubehoer-panels-2 h3, .vf-section-kommunen-und-vereine-wer-bei-uns-bestellt h3, .vf-section-druckdaten-article-1 h3, .page-kommunen-und-vereine .vf-section-kommunen-und-vereine-panels-1 h3, .vf-section-ablauf-und-zahlung-panels-2 h3, .vf-section-kontakt-kontakt-methoden h3 { font-size: 1rem }
.vf-section-kranfahnen-drei-wege-einen-kran-zu-bespielen .vf-panel p, .vf-section-kranfahnen-panels-3 .vf-panel p, .vf-section-kranfahnen-zwei-varianten-ein-wichtiger-unterschied .vf-panel p, .vf-section-kranfahnen-wie-wir-sie-fertigen .vf-panel p, .vf-section-kranfahnen-wer-haengt-sie-auf-und-wie .vf-panel p, .vf-section-masten-zubehoer-panels-2 .vf-panel p, .vf-section-kommunen-und-vereine-wer-bei-uns-bestellt .vf-panel p, .vf-section-druckdaten-article-1 p, .page-kommunen-und-vereine .vf-section-kommunen-und-vereine-panels-1 p, .vf-section-ablauf-und-zahlung-panels-2 p, .vf-section-kontakt-kontakt-methoden p { font-size: .875rem }
/* */
body[class*="page-full-width-front"] .vf-section-front-overview + .vf-section .vf-front-card-grid .vf-card-figure { aspect-ratio: 4 / 5 }
.vf-section-front-overview .vf-mastkante h2 { max-width: none }
.vf-section-front-home-mast .vf-card-figure { align-items: center; box-sizing: border-box; display: flex; justify-content: center; padding: .9375rem }
.vf-section-front-home-mast .vf-card-figure img { height: 100%; object-fit: cover; width: 100% }
.vf-card-kicker { color: rgba(122, 106, 10, 1); display: block; font-family: 'IBM Plex Mono', ui-monospace, monospace; font-size: .75rem; margin-bottom: .46875rem }
.vf-card-link { color: rgba(122, 106, 10, 1); display: inline-block; font-family: 'IBM Plex Mono', ui-monospace, monospace; font-size: .75rem; margin-top: .9375rem }
.vf-card-hint { color: rgba(92, 102, 114, 1); font-size: .75rem; margin-top: .9375rem!important }
.vf-card-hint .vf-plain-link { border-bottom: 1px solid rgba(201, 203, 195, 1) }
.vf-card-hint .vf-plain-link:hover { border-color: rgba(122, 106, 10, 1) }
.vf-front-cta-note { background: rgba(255, 255, 255, 1); border-left: .3125rem solid rgba(245, 227, 65, 1); border-radius: 0 3px 3px 0; margin-top: 1.875rem; max-width: 50.75rem; padding: 1.875rem .9375rem }
.vf-front-cta-note h3 { color: rgba(27, 36, 48, 1); font-family: 'Inter', system-ui, sans-serif; font-size: .9375rem; margin: 0 }
.vf-front-cta-note p { color: rgba(92, 102, 114, 1); font-size: .875rem; margin-top: 0 }
.vf-front-cta-note .button { min-height: 3.75rem; min-width: 11.5rem }
.vf-front-card-grid-two-ways .vf-card-figure { aspect-ratio: 4 / 5; background: rgba(27, 36, 48, 1) }
.vf-front-card-grid-two-ways .vf-card-figure img { object-position: center top }
.vf-front-card-grid-two-ways .vf-card-body { min-height: 9.75rem }
.vf-front-card-grid-two-ways .vf-card-no-figure { height: auto; min-height: 0 }
.vf-front-card-grid-two-ways > .cell:first-child .vf-badge { background: rgba(245, 227, 65, 1); color: rgba(27, 36, 48, 1) }
.vf-front-card-grid-two-ways > .cell:nth-child(2) .vf-badge { background: rgba(255, 255, 255, 1); border: 1px solid rgba(27, 36, 48, 1); color: rgba(27, 36, 48, 1) }
.vf-front-card-grid .vf-card h3 { margin: 0 0 .46875rem 0 }
/* */
body.page-fahnenarten .vf-section-layout-cards .vf-card-figure, body[class*="page-full-width-fahnenarten"] .vf-section-layout-cards .vf-card-figure { aspect-ratio: 4 / 5!important; min-height: auto }
body.page-fahnenarten .vf-section-layout-cards .vf-card-figure img, body[class*="page-full-width-fahnenarten"] .vf-section-layout-cards .vf-card-figure img { height: 100%!important; object-fit: cover; object-position: center; width: 100%!important }
/* */
.vf-panel-dark { background: rgba(27, 36, 48, 1); border-color: rgba(27, 36, 48, 1); color: rgba(237, 238, 233, 1) }
.vf-panel-dark h2, .vf-panel-dark h3 { color: rgba(255, 255, 255, 1) }
.vf-panel-dark p { color: rgba(185, 193, 203, 1) }
.vf-panel-dark .vf-eyebrow { color: rgba(27, 36, 48, 1) }
.vf-panel-feature h3 { font-size: clamp(2rem, 4vw, 2.75rem); max-width: 14em }
.vf-panel-feature-copy p { color: rgba(185, 193, 203, 1); margin-top: 0; max-width: 37rem }
.vf-panel-feature-data { margin-top: 0 }
.vf-panel-feature-note { color: rgba(185, 193, 203, 1)!important; font-size: .875rem!important; margin-top: .9375rem; max-width: none }
.vf-panel-actions { display: flex; flex-wrap: wrap; margin-top: 1.875rem }
.vf-panel-actions .button { margin-bottom: .9375rem!important }
.vf-panel-actions .button { min-height: 3.5rem }
.vf-panel-feature-data .vf-panel-actions { margin-top: 0 }
.vf-panel-feature-data .vf-panel-actions .button { width: 100% }
.vf-panel-feature-data .vf-panel-actions .button:last-child { margin-bottom: 0!important }
.vf-panel-feature-with-media { overflow: hidden }
.vf-panel-feature-with-media .vf-panel-feature-copy p { max-width: 44ch }
.vf-panel-feature-visual { align-items: center; background: rgba(35, 46, 60, 1); display: flex; justify-content: center; min-height: 18rem; padding: .9375rem }
.vf-panel-feature-visual img, .vf-panel-feature-visual svg { display: block; height: auto; max-height: 18.75rem; max-width: 100%; width: auto }
.vf-panel-feature-facts { border-top: 1px solid rgba(237, 238, 233, .18); display: flex; flex-wrap: wrap; margin-top: .9375rem; padding-top: .9375rem }
.vf-panel-feature-facts div { margin-bottom: 0; margin-right: .9375rem }
.vf-panel-feature-facts div { color: rgba(186, 196, 206, 1); font-family: 'IBM Plex Mono', ui-monospace, monospace; font-size: .75rem }
.vf-panel-feature-facts b { color: rgba(255, 255, 255, 1); font-weight: 500 }
.vf-panel-feature-facts span + b, .vf-panel-feature-facts b + span { margin-left: .9375rem }
.vf-spec { align-items: baseline; border-bottom: 1px solid rgba(237, 238, 233, .18); display: flex; flex-wrap: wrap; justify-content: space-between; padding: .9375rem 0 }
.vf-panel:not(.vf-panel-dark) .vf-spec { border-bottom-color: rgba(201, 203, 195, 1) }
.vf-spec span { color: rgba(174, 184, 196, 1); font-family: 'IBM Plex Mono', ui-monospace, monospace; font-size: .75rem }
.vf-panel:not(.vf-panel-dark) .vf-spec span { color: rgba(92, 102, 114, 1) }
.vf-spec b { font-family: 'IBM Plex Mono', ui-monospace, monospace; color: rgba(255, 255, 255, 1); font-size: .75rem; font-weight: 600; margin-left: .9375rem }
.vf-panel:not(.vf-panel-dark) .vf-spec b { color: rgba(27, 36, 48, 1) }
/* */
.page-kranfahnen .vf-section-image-wide { padding-top: 0; padding-bottom: .9375rem }
.page-kranfahnen .vf-section-image-wide .vf-figure-caption { box-sizing: border-box; margin: .9375rem auto 0; max-width: 80rem; padding: 0 .9375rem }
.page-kranfahnen .vf-section-kran-montage .vf-mastkante { margin-bottom: 1.875rem }
.page-kranfahnen .vf-section-kran-montage .vf-panel { margin-top: 0; padding: .9375rem }
.page-kranfahnen .vf-section-kran-montage .vf-panel h3 { color: rgba(122, 106, 10, 1); font-family: 'IBM Plex Mono', ui-monospace, monospace; font-size: .875rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; margin: 0 0 .46875rem 0 }
.page-kranfahnen .vf-section-kran-montage .vf-panel p { color: rgba(92, 102, 114, 1); font-size: .9375rem; margin: 0 }
.page-kranfahnen .vf-section-kran-montage .vf-note { padding: .9375rem }
.page-kranfahnen .vf-section-kran-montage .vf-note-danger { border-left-color: rgba(190, 22, 34, 1) }
.page-kranfahnen .vf-section-kran-montage .vf-note h3 { color: rgba(27, 36, 48, 1); display: inline; font-family: 'Inter', system-ui, sans-serif; font-size: .9375rem; font-weight: 700; letter-spacing: 0; margin: 0; text-transform: none }
.page-kranfahnen .vf-section-kran-montage .vf-note h3 + p { display: inline; margin: 0 }
.page-kranfahnen .vf-section-kran-montage .vf-note p { color: rgba(27, 36, 48, 1); display: inline; font-size: .9375rem }
.page-kranfahnen .vf-section-kran-montage .vf-note-link { border-bottom: 1px solid rgba(27, 36, 48, .4); color: rgba(27, 36, 48, 1); display: inline; font-size: .9375rem; margin-left: .9375rem; white-space: nowrap }
.page-kranfahnen .vf-section-kran-montage .vf-note-link:hover { border-color: rgba(122, 106, 10, 1); color: rgba(122, 106, 10, 1) }
.page-kranfahnen .vf-section-kran-montage .vf-panel-list { height: auto; padding: .9375rem }
.page-kranfahnen .vf-section-kran-montage .vf-panel-list h3 { color: rgba(27, 36, 48, 1); font-family: 'Inter', system-ui, sans-serif; font-size: 1.125rem; font-weight: 700; letter-spacing: 0; text-transform: none }
.page-kranfahnen .vf-section-kran-montage .vf-panel-list-items { list-style: disc; margin: 0 0 0 1.25rem; padding: 0 }
.page-kranfahnen .vf-section-kran-montage .vf-panel-list-items li { color: rgba(92, 102, 114, 1); font-size: .9375rem; margin: .234375rem 0; padding-left: 0 }
.page-kranfahnen .vf-section-kran-visibility .vf-mastkante { margin-bottom: 1.875rem }
.page-kranfahnen .vf-section-kran-visibility .vf-panel { margin-top: 0; padding: .9375rem }
.page-kranfahnen .vf-section-kran-visibility .vf-panel h3 { color: rgba(122, 106, 10, 1); font-family: 'Inter', system-ui, sans-serif; font-size: 1rem; font-weight: 700; letter-spacing: 0 }
.page-kranfahnen .vf-section-kran-visibility .vf-panel-negative h3 { color: rgba(190, 22, 34, 1) }
.page-kranfahnen .vf-section-kran-visibility .vf-panel-list-items { list-style: disc; margin: 0 0 0 1.15rem; padding: 0 }
.page-kranfahnen .vf-section-kran-visibility .vf-panel-list-items li { color: rgba(92, 102, 114, 1); font-size: .9375rem; margin: .234375rem 0; padding-left: 0 }
.page-kranfahnen .vf-section-kran-visibility .vf-after-text { color: rgba(92, 102, 114, 1); font-size: .875rem; margin: .9375rem 0 0; max-width: 50rem }
.page-kranfahnen .vf-section-kran-buyers .vf-mastkante { margin-bottom: 0 }
.page-kranfahnen .vf-section-kran-buyers .vf-richtext { max-width: 42rem }
.page-kranfahnen .vf-section-kran-buyers .vf-richtext p { color: rgba(92, 102, 114, 1); font-size: 1.0625rem; margin-top: 0 }
.page-kranfahnen .vf-section-kran-safety .vf-panel-safety, .page-kranfahnen .vf-section-kran-offer .vf-panel-offer { margin-top: 0; padding: .9375rem }
.page-kranfahnen .vf-panel-split-copy > h3 { font-size: 1.5rem }
.page-kranfahnen .vf-panel-split-copy > p { color: rgba(185, 193, 203, 1); font-size: 1rem; margin: 0; max-width: 39rem }
.page-kranfahnen .vf-panel-split-action-cell { margin-top: .9375rem }
.page-kranfahnen .vf-panel-split-actions .button { min-height: 3.75rem; width: 100% }
.page-kranfahnen .vf-section-kran-types .vf-panel { padding: .9375rem }
.page-kranfahnen .vf-section-kran-types .vf-panel .vf-eyebrow { background: rgba(27, 36, 48, 1); color: rgba(237, 238, 233, 1) }
.page-kranfahnen .vf-section-kran-types .vf-panel h3 { font-size: 1.25rem }
.page-kranfahnen .vf-section-kran-types .vf-panel h3 + p { color: rgba(92, 102, 114, 1); font-size: 1rem; margin-top: 0 }
.page-kranfahnen .vf-section-kran-types .vf-panel h3 + p + p { color: rgba(122, 106, 10, 1); font-family: 'IBM Plex Mono', ui-monospace, monospace; font-size: .75rem; margin: 0; padding: 0 }
.page-kranfahnen .vf-section-kran-shield-facts { border: none!important; padding: 1.875rem 0 3.75rem 0!important }
.page-kranfahnen .vf-section-kran-shield-facts .vf-mastkante { margin-bottom: 1.875rem }
.page-kranfahnen .vf-section-kran-shield-facts .vf-panel { margin-top: 0; padding: .9375rem }
.page-kranfahnen .vf-section-kran-shield-facts .vf-panel h3 { color: rgba(92, 102, 114, 1); font-family: 'IBM Plex Mono', ui-monospace, monospace; font-size: .75rem; font-weight: 500; letter-spacing: .13em; text-transform: uppercase; margin: 0 0 .46875rem 0 }
.page-kranfahnen .vf-section-kran-shield-facts .vf-panel p { color: rgba(27, 36, 48, 1); font-size: 1rem; font-weight: 700; margin: 0 }
.page-kranfahnen .vf-section-kran-shield-facts .vf-after-text { color: rgba(92, 102, 114, 1); font-size: .875rem; margin: .9375rem 0 0; max-width: 43rem }
.page-kranfahnen .vf-section-kran-shield-facts .vf-kran-banner-heading { font-size: 1.5rem; line-height: 1.15; margin: 1.875rem 0 .9375rem; max-width: none }
.page-kranfahnen .vf-section-kran-shield-facts .vf-kran-banner-lede { color: rgba(92, 102, 114, 1); font-size: 1rem; margin: 0 0 .9375rem; max-width: 45rem }
.page-kranfahnen .vf-section-kran-shield-facts .vf-table { margin-top: .9375rem }
.page-kranfahnen .vf-section-kran-shield-facts .vf-table table { font-size: .9375rem; margin-bottom: 0 }
.page-kranfahnen .vf-section-kran-shield-facts .vf-table thead, .page-kranfahnen .vf-section-kran-shield-facts .vf-table tbody tr, .page-kranfahnen .vf-section-kran-shield-facts .vf-table tbody tr:nth-child(even) { background: rgba(255, 255, 255, 1) }
.page-kranfahnen .vf-section-kran-shield-facts .vf-table th, .page-kranfahnen .vf-section-kran-shield-facts .vf-table td { background: rgba(255, 255, 255, 1); padding: .9375rem; font-size: .875rem }
.page-kranfahnen .vf-section-kran-shield-facts .vf-table td a { font-family: 'Inter', system-ui, sans-serif; font-size: .75rem }
.page-kranfahnen .vf-section-kran-shield-facts .vf-table th { font-size: .75rem; padding-bottom: .9375rem; padding-top: .9375rem }
.page-kranfahnen .vf-section-kran-shield-facts .vf-table td:last-child { text-decoration: underline; text-underline-offset: .13em }
.page-kranfahnen .vf-section-kran-banner-sizes .vf-mastkante { margin-bottom: 1.875rem; padding-left: 0 }
.page-kranfahnen .vf-section-kran-banner-sizes .vf-mastkante:before, .page-kranfahnen .vf-section-kran-banner-sizes .vf-mastkante .vf-eyebrow { display: none }
.page-kranfahnen .vf-section-kran-banner-sizes .vf-mastkante h2 { font-size: 1.5rem; line-height: 1.15; max-width: none }
.page-kranfahnen .vf-section-kran-banner-sizes .vf-table { margin-top: .9375rem }
.page-kranfahnen .vf-section-kran-banner-sizes .vf-table table { font-size: .9375rem; margin-bottom: 0 }
.page-kranfahnen .vf-section-kran-banner-sizes .vf-table thead, .page-kranfahnen .vf-section-kran-banner-sizes .vf-table tbody tr, .page-kranfahnen .vf-section-kran-banner-sizes .vf-table tbody tr:nth-child(even) { background: rgba(255, 255, 255, 1) }
.page-kranfahnen .vf-section-kran-banner-sizes .vf-table th, .page-kranfahnen .vf-section-kran-banner-sizes .vf-table td { background: rgba(255, 255, 255, 1); padding: .9375rem; font-size: .875rem }
.page-kranfahnen .vf-section-kran-banner-sizes .vf-table td a { font-family: 'Inter', system-ui, sans-serif; font-size: .75rem }
.page-kranfahnen .vf-section-kran-banner-sizes .vf-table th { font-size: .75rem; padding-bottom: .9375rem; padding-top: .9375rem }
.page-kranfahnen .vf-section-kran-banner-sizes .vf-table td:last-child { text-decoration: underline; text-underline-offset: .13em }
.page-kranfahnen .vf-section-kran-banner-sizes .vf-after-text { color: rgba(92, 102, 114, 1); font-size: .875rem; margin: .9375rem 0 0; max-width: 45rem }
.page-kranfahnen .vf-section-kran-variants { padding-top: 1.875rem }
.page-kranfahnen .vf-section-kran-variants .vf-mastkante, .page-kranfahnen .vf-section-kran-production .vf-mastkante { margin-bottom: 1.875rem }
.page-kranfahnen .vf-section-kran-variants .vf-panel { margin-top: 0; padding: .9375rem }
.page-kranfahnen .vf-section-kran-variants .vf-panel h3 { color: rgba(27, 36, 48, 1); font-family: 'Archivo', system-ui, sans-serif; font-size: 1.125rem; font-weight: 700; letter-spacing: 0; text-transform: none }
.page-kranfahnen .vf-section-kran-variants .vf-panel p:last-child { color: rgba(122, 106, 10, 1); font-family: 'IBM Plex Mono', ui-monospace, monospace; font-size: .75rem; margin-bottom: 0; margin-top: .9375rem }
.page-kranfahnen .vf-section-kran-variants .vf-panel-variant-standard > .vf-eyebrow { background: rgba(27, 36, 48, 1); color: rgba(237, 238, 233, 1) }
.page-kranfahnen .vf-section-kran-variants .vf-panel-variant-banner > .vf-eyebrow { background: rgba(245, 227, 65, 1); color: rgba(27, 36, 48, 1) }
.page-kranfahnen .vf-section-kran-variants .vf-note { max-width: 48rem }
.page-kranfahnen .vf-section-kran-variants .vf-note h3 { color: rgba(27, 36, 48, 1); display: inline; font-family: 'Inter', system-ui, sans-serif; font-size: .875rem; margin: 0 }
.page-kranfahnen .vf-section-kran-variants .vf-note h3 + p { display: inline; margin: 0 }
.page-kranfahnen .vf-section-kran-variants .vf-note p { color: rgba(27, 36, 48, 1); font-size: .875rem; line-height: 1.45 }
.page-kranfahnen .vf-section-kranfahnen-zwei-varianten-ein-wichtiger-unterschied .vf-panel { margin-top: 0; padding: .9375rem }
.page-kranfahnen .vf-section-kranfahnen-zwei-varianten-ein-wichtiger-unterschied .vf-panel h3 { color: rgba(27, 36, 48, 1); font-family: 'Archivo', system-ui, sans-serif; font-size: 1.125rem; font-weight: 700; letter-spacing: 0; text-transform: none }
.page-kranfahnen .vf-section-kranfahnen-zwei-varianten-ein-wichtiger-unterschied .vf-panel p:last-child { color: rgba(122, 106, 10, 1); font-family: 'IBM Plex Mono', ui-monospace, monospace; font-size: .75rem; margin-bottom: 0; margin-top: .9375rem }
.page-kranfahnen .vf-section-kranfahnen-zwei-varianten-ein-wichtiger-unterschied .vf-panel-variant-standard > .vf-eyebrow { background: rgba(27, 36, 48, 1); color: rgba(237, 238, 233, 1) }
.page-kranfahnen .vf-section-kranfahnen-zwei-varianten-ein-wichtiger-unterschied .vf-panel-variant-banner > .vf-eyebrow { background: rgba(245, 227, 65, 1); color: rgba(27, 36, 48, 1) }
.page-kranfahnen .vf-section-kranfahnen-zwei-varianten-ein-wichtiger-unterschied .vf-note { max-width: 48rem }
.page-kranfahnen .vf-section-kranfahnen-zwei-varianten-ein-wichtiger-unterschied .vf-note h3 { color: rgba(27, 36, 48, 1); display: inline; font-family: 'Inter', system-ui, sans-serif; font-size: .875rem; margin: 0 }
.page-kranfahnen .vf-section-kranfahnen-zwei-varianten-ein-wichtiger-unterschied .vf-note h3 + p { display: inline; margin: 0 }
.page-kranfahnen .vf-section-kranfahnen-zwei-varianten-ein-wichtiger-unterschied .vf-note p { color: rgba(27, 36, 48, 1); font-size: .875rem; line-height: 1.45 }
.page-kranfahnen .vf-section-kran-production .vf-panel-media, .page-kranfahnen .vf-section-wie-wir-sie-fertigen .vf-panel-media, .page-kranfahnen .vf-section-kranfahnen-wie-wir-sie-fertigen .vf-panel-media { margin-bottom: 1.875rem }
.page-kranfahnen .vf-section-kran-production .vf-panel-media-figure, .page-kranfahnen .vf-section-wie-wir-sie-fertigen .vf-panel-media-figure, .page-kranfahnen .vf-section-kranfahnen-wie-wir-sie-fertigen .vf-panel-media-figure { background: rgba(255, 255, 255, 1); border: 1px solid rgba(201, 203, 195, 1); border-radius: 4px; margin: 0; overflow: hidden; padding: 1.875rem }
.page-kranfahnen .vf-section-kran-production .vf-panel-media-figure svg, .page-kranfahnen .vf-section-kran-production .vf-panel-media-figure img, .page-kranfahnen .vf-section-wie-wir-sie-fertigen .vf-panel-media-figure svg, .page-kranfahnen .vf-section-wie-wir-sie-fertigen .vf-panel-media-figure img, .page-kranfahnen .vf-section-kranfahnen-wie-wir-sie-fertigen .vf-panel-media-figure svg, .page-kranfahnen .vf-section-kranfahnen-wie-wir-sie-fertigen .vf-panel-media-figure img { display: block; height: auto; width: 100% }
.page-kranfahnen .vf-section-kran-production .vf-panel-media-text, .page-kranfahnen .vf-section-wie-wir-sie-fertigen .vf-panel-media-text, .page-kranfahnen .vf-section-kranfahnen-wie-wir-sie-fertigen .vf-panel-media-text { color: rgba(92, 102, 114, 1); font-size: 1.25rem; line-height: 1.45; margin: 0; max-width: 39rem }
.page-kranfahnen .vf-section-kran-production .vf-panel { padding: .9375rem }
.page-kranfahnen .vf-section-kran-production .vf-panel h3 { color: rgba(122, 106, 10, 1); font-family: 'IBM Plex Mono', ui-monospace, monospace; font-size: .75rem; font-weight: 600; letter-spacing: .13em; text-transform: uppercase; margin-bottom: .46875rem }
.page-kranfahnen .vf-section-kran-production .vf-panel p { color: rgba(92, 102, 114, 1); font-size: .875rem; margin: 0 }
.page-kranfahnen .vf-section-kranfahnen-formate-und-preise-der-kranfahne .vf-mastkante { margin-bottom: 1.875rem }
.page-kranfahnen .vf-section-kranfahnen-formate-und-preise-der-kranfahne .vf-table { margin-top: 0 }
.page-kranfahnen .vf-section-kranfahnen-formate-und-preise-der-kranfahne .vf-table table { font-size: .875rem; margin-bottom: 0 }
.page-kranfahnen .vf-section-kranfahnen-formate-und-preise-der-kranfahne .vf-table th, .page-kranfahnen .vf-section-kranfahnen-formate-und-preise-der-kranfahne .vf-table td { padding: .9375rem }
.page-kranfahnen .vf-section-kranfahnen-formate-und-preise-der-kranfahne .vf-table th { font-size: .75rem; padding-bottom: .9375rem; padding-top: .9375rem }
.page-kranfahnen .vf-section-kranfahnen-formate-und-preise-der-kranfahne .vf-table td { font-family: 'IBM Plex Mono', ui-monospace, monospace; font-size: .875rem }
.page-kranfahnen .vf-section-kranfahnen-formate-und-preise-der-kranfahne .vf-table td:first-child { font-weight: 400 }
.page-kranfahnen .vf-section-kranfahnen-formate-und-preise-der-kranfahne .vf-table td:last-child { text-decoration: underline; text-underline-offset: .13em }
.page-kranfahnen .vf-section-kranfahnen-formate-und-preise-der-kranfahne .vf-table td a { font-family: 'Inter', system-ui, sans-serif; font-size: .75rem }
.page-kranfahnen .vf-section-kranfahnen-stoff .vf-panel { padding: .9375rem }
.page-kranfahnen .vf-section-kranfahnen-stoff .vf-panel h3 { color: rgba(27, 36, 48, 1); font-family: 'Archivo', system-ui, sans-serif; font-size: 1rem; font-weight: 700; letter-spacing: 0; margin-bottom: .46875rem }
.page-kranfahnen .vf-section-kranfahnen-stoff .vf-panel p { color: rgba(92, 102, 114, 1); font-size: .875rem; margin-top: 0 }
.page-kranfahnen .vf-section-kranfahnen-stoff .vf-panel p:last-child { color: rgba(27, 36, 48, 1); font-family: 'IBM Plex Mono', ui-monospace, monospace; font-size: .75rem; margin-bottom: 0; margin-top: .9375rem }
.page-kranfahnen .vf-section-kranfahnen-drei-wege-einen-kran-zu-bespielen .vf-note-danger { border-left-color: rgba(190, 22, 34, 1) }
.page-kranfahnen .vf-section-kranfahnen-drei-wege-einen-kran-zu-bespielen .vf-panel-list h3 { color: rgba(27, 36, 48, 1); font-family: 'Inter', system-ui, sans-serif; font-size: 1.125rem; font-weight: 700; letter-spacing: 0; line-height: 1.35; margin: 0 0 .9375rem 0; text-transform: none }
.page-kranfahnen .vf-section-kranfahnen-drei-wege-einen-kran-zu-bespielen .vf-panel-list-items, .page-kranfahnen .vf-panel .vf-panel-list-items { list-style: disc; margin: 0 0 0 1.25rem; padding: 0 }
.page-kranfahnen .vf-panel h3 + .vf-panel-list-items { margin-top: .46875rem }
.page-kranfahnen .vf-section-kranfahnen-drei-wege-einen-kran-zu-bespielen .vf-panel-list-items li, .page-kranfahnen .vf-panel .vf-panel-list-items li { margin: .234375rem 0; padding-left: 0 }
.page-kranfahnen .vf-section-kranfahnen-drei-wege-einen-kran-zu-bespielen .vf-panel-list-items li { color: rgba(92, 102, 114, 1); font-size: .9375rem }
.page-kranfahnen .vf-panel .vf-panel-list-items li { font-size: .875rem }
.page-kranfahnen .vf-panel-kranfahnen-dark-cta, .page-fahnenarten .vf-panel-fahnenarten-dark-cta { margin-top: 0; padding: 1.875rem .9375rem }
.page-kranfahnen .vf-panel-kranfahnen-dark-cta .vf-panel-split-grid, .page-fahnenarten .vf-panel-fahnenarten-dark-cta .vf-panel-split-grid { margin-bottom: 0 }
.page-kranfahnen .vf-panel-kranfahnen-dark-cta .vf-panel-split-copy > h3, .page-fahnenarten .vf-panel-fahnenarten-dark-cta .vf-panel-split-copy > h3 { color: rgba(255, 255, 255, 1); font-size: 1.5rem; line-height: 1.2 }
.page-kranfahnen .vf-panel-kranfahnen-dark-cta .vf-panel-split-copy > p, .page-fahnenarten .vf-panel-fahnenarten-dark-cta .vf-panel-split-copy > p { color: rgba(185, 193, 203, 1); font-size: 1rem; line-height: 1.45; margin: 0; max-width: 47rem }
.page-kranfahnen .vf-panel-kranfahnen-dark-cta .vf-panel-split-copy > .vf-eyebrow, .page-fahnenarten .vf-panel-fahnenarten-dark-cta .vf-panel-split-copy > .vf-eyebrow { color: rgba(27, 36, 48, 1) }
.page-kranfahnen .vf-panel-kranfahnen-dark-cta .vf-panel-split-action-cell, .page-fahnenarten .vf-panel-fahnenarten-dark-cta .vf-panel-split-action-cell { margin-top: .9375rem }
.page-kranfahnen .vf-panel-kranfahnen-dark-cta .vf-panel-split-actions .button, .page-fahnenarten .vf-panel-fahnenarten-dark-cta .vf-panel-split-actions .button { min-height: 3.75rem; width: 100% }
.page-fahnenarten .vf-panel-fahnenarten-dark-cta .vf-panel-split-actions .button + .button { margin-top: .9375rem!important }
/* */
.vf-note { background: rgba(255, 255, 255, 1); border-left: 4px solid rgba(245, 227, 65, 1); border-radius: 0 3px 3px 0; color: rgba(92, 102, 114, 1); font-size: .875rem; margin-top: .9375rem; margin-bottom: 1.875rem; padding: .9375rem }
.vf-note-danger { border-color: rgba(196, 33, 39, 1) }
.vf-note h3 { color: rgba(27, 36, 48, 1); display: inline; font-family: 'Inter', system-ui, sans-serif; font-size: .875rem; margin: 0 }
.vf-note h3 + p { display: inline; margin: 0 }
.vf-note p { color: rgba(92, 102, 114, 1); font-size: .875rem }
/* */
.vf-process .vf-step-card { background: rgba(255, 255, 255, 1); border: 1px solid rgba(201, 203, 195, 1); border-radius: 4px; margin-top: 0; padding: .9375rem }
.vf-step-card .vf-step-kicker { color: rgba(122, 106, 10, 1); font-family: 'IBM Plex Mono', ui-monospace, monospace; font-size: .75rem; margin: 0 0 .46875rem 0 }
.vf-step-card h4 { margin: 0 0 .46875rem 0 }
.vf-step-card p { color: rgba(92, 102, 114, 1); font-size: .75rem; margin-top: 0 }
.vf-front-faq-grid .vf-panel { margin-top: 0 }
.vf-section-front-faq .vf-panel { padding: .9375rem; width: 100% }
.vf-section-front-faq .vf-panel h3 { font-family: 'Inter', system-ui, sans-serif; font-size: 1rem; margin: 0 0 .46875rem 0 }
.vf-section-front-faq .vf-panel p { color: rgba(92, 102, 114, 1); font-size: .875rem; margin-top: 0 }
.vf-block-link { display: block; color: rgba(27, 36, 48, 1); font-size: .9375rem; margin-top: .9375rem!important }
.vf-block-link .vf-plain { border-bottom: 1px solid rgba(201, 203, 195, 1) }
.vf-block-link .vf-plain:hover { border-color: rgba(122, 106, 10, 1); color: rgba(122, 106, 10, 1) }
/* */
.vf-faq details { border-bottom: 1px solid rgba(201, 203, 195, 1) }
.vf-faq summary { cursor: pointer; font-weight: 700; list-style: none; padding: .9375rem 1.875rem .9375rem 0; position: relative }
.vf-faq summary::-webkit-details-marker {
display: none
}
.vf-faq summary:after { color: rgba(122, 106, 10, 1); content: '+'; font-family: 'IBM Plex Mono', ui-monospace, monospace; font-size: 1.25rem; position: absolute; right: .375rem; top: .75rem }
.vf-faq details[open] summary:after { content: '-' }
.vf-faq p { color: rgba(92, 102, 114, 1); font-size: .875rem; padding: 0 1.875rem 1.875rem 0 }
/* */
.vf-table { background: rgba(255, 255, 255, 1); border: 1px solid rgba(201, 203, 195, 1); border-radius: 4px; margin-top: .9375rem; overflow-x: auto }
.vf-table-stoffe .vf-stoff-name { display: block; font-weight: 700; margin-bottom: .46875rem }
.vf-table-stoffe .vf-stoff-description { color: rgba(92, 102, 114, 1); display: block; font-size: .875rem; line-height: 1.45 }
.vf-table-stoffe .vf-stoff-badge { background: rgba(27, 36, 48, 1); color: rgba(255, 255, 255, 1); margin: 0!important }
.vf-table-stoffe + .vf-stoffe-panel-grid { margin-top: .9375rem }
.vf-stoffe-panel-grid + .vf-stoffe-after-text { margin-top: .9375rem }
.vf-stoffe-after-text { color: rgba(92, 102, 114, 1); font-size: .875rem; max-width: 48rem }
.page-stoffe .vf-panel.vf-note, body[class*="page-full-width-stoffe"] .vf-panel.vf-note { border: 0; border-left: 4px solid rgba(245, 227, 65, 1); border-radius: 0 3px 3px 0; margin-top: 0 }
table { border-collapse: collapse; font-size: .875rem; width: 100% }
th, td { border-bottom: 1px solid rgba(201, 203, 195, 1); padding: .9375rem; text-align: left; vertical-align: top }
th { color: rgba(92, 102, 114, 1); font-family: 'IBM Plex Mono', ui-monospace, monospace; font-size: .75rem; font-weight: 500; letter-spacing: .1em; text-transform: uppercase }
/* */
.vf-figure { margin: 0 }
.vf-figure img { width: 100% }
.vf-section-kranfahnen-230 img, .vf-section-kranfahnen-234 img { height: 80vh; object-fit: cover; object-position: center bottom }
.vf-figure-caption { color: rgba(92, 102, 114, 1); font-family: 'IBM Plex Mono', ui-monospace, monospace; font-size: .75rem; margin-top: .9375rem }
.vf-detail-section { padding-top: 1.875rem }
.vf-breadcrumb { font-family: 'IBM Plex Mono', ui-monospace, monospace; color: rgba(92, 102, 114, 1); font-size: .875rem; margin-bottom: .9375rem!important }
.vf-breadcrumb a { font-family: 'IBM Plex Mono', ui-monospace, monospace; font-size: .875rem }
.vf-breadcrumb a:hover { border-color: rgba(122, 106, 10, 1) }
.vf-detail-figure { background: rgba(226, 228, 220, 1); border: 1px solid rgba(201, 203, 195, 1); border-radius: 4px; margin: 0 0 .9375rem; overflow: hidden }
.vf-detail-figure img { width: 100% }
.vf-preview { align-items: center; background: rgba(226, 228, 220, 1); border: 1px solid rgba(201, 203, 195, 1); border-radius: 4px; display: flex; justify-content: center; margin-bottom: .9375rem; padding: .9375rem }
.vf-preview svg { display: block; height: auto; max-width: 100% }
.vf-detail-copy .vf-lede { margin-bottom: .9375rem }
.vf-detail-specs { margin-bottom: .9375rem }
.vf-detail-subtitle { margin: 1.875rem 0 .9375rem }
.vf-button-block { width: 100% }
/* */
.vf-motive-search { margin-bottom: .9375rem; display: none; visibility: hidden }
.vf-motive-search input, .vf-field input { background: rgba(255, 255, 255, 1); border: 1px solid rgba(201, 203, 195, 1); border-radius: 3px; box-shadow: none; color: rgba(27, 36, 48, 1); font-family: 'Inter', system-ui, sans-serif; font-size: 1rem; height: auto; margin: 0; padding: .9375rem; width: 100% }
.vf-motive-tabs, .vf-zubehoer-tabs { display: flex; flex-wrap: wrap; margin-bottom: 0 }
.vf-motive-tabs button, .vf-zubehoer-tabs button { margin-bottom: 0; margin-right: .9375rem }
.vf-motive-panel, .vf-zubehoer-panel { display: none }
.vf-motive-panel.is-active, .vf-zubehoer-panel.is-active { display: block; margin-top: 1.875rem }
.vf-motive-panel .button.ghost, .vf-zubehoer-panel .button.ghost { margin-top: .9375rem!important }
.vf-motive-heading, .vf-zubehoer-heading { margin: 1.875rem 0 }
.vf-motive-heading-spaced { margin-top: 1.875rem }
.vf-motive-card .vf-motive-figure { align-items: center; display: flex; justify-content: center; padding: .9375rem }
.vf-motive-card .vf-motive-figure svg { display: block; height: auto; max-width: 100%; width: 100% }
.vf-motive-empty, .vf-zubehoer-empty { color: rgba(92, 102, 114, 1); display: none; font-size: .875rem; margin-top: .9375rem }
.vf-motive-empty.is-visible, .vf-zubehoer-empty.is-visible { display: block }
.vf-motive-set .vf-mono, .vf-mono { font-family: 'IBM Plex Mono', ui-monospace, monospace }
.vf-motive-wide-image { margin-bottom: .9375rem }
.vf-motive-preview { margin-bottom: 0 }
.vf-motive-order-row, .vf-zubehoer-order-row { margin-top: .9375rem }
.vf-field { color: rgba(92, 102, 114, 1); display: block; font-family: 'IBM Plex Mono', ui-monospace, monospace; font-size: .75rem; letter-spacing: .1em; text-transform: uppercase }
.vf-motive-total, .vf-zubehoer-total { color: rgba(27, 36, 48, 1); font-family: 'Archivo', system-ui, sans-serif; font-size: 1.75rem; font-weight: 800; line-height: 1.1; margin-top: .234375rem }
.vf-motive-detail-panel { margin-top: .9375rem }
.vf-motive-order-area[hidden], .vf-motive-confirm[hidden], [data-vf-motive-product][hidden] { display: none!important }
.vf-motive-order-side-cell, .vf-zubehoer-order-side-cell { align-self: flex-start; position: sticky; top: 6.75rem; z-index: 10 }
.admin-bar .vf-motive-order-side-cell, .admin-bar .vf-zubehoer-order-side-cell { top: 8.75rem }
.vf-lagerware-form-shell { display: none!important }
.vf-motive-filter-section [data-vf-motive-panel="eigen"] .vf-panel p { color: rgba(92, 102, 114, 1); font-size: .875rem; margin-top: 0 }
.vf-motive-filter-section [data-vf-motive-panel="staedte"] .vf-motive-info-panel > p { color: rgba(92, 102, 114, 1); font-size: 1rem; line-height: 1.5; margin-top: .46875rem; max-width: 62ch }
.vf-motive-filter-section [data-vf-motive-panel="staedte"] .vf-motive-info-grid { margin-top: 0 }
.vf-motive-filter-section [data-vf-motive-panel="staedte"] .vf-motive-info-grid h4 { color: rgba(92, 102, 114, 1); font-size: .75rem; letter-spacing: .1em; margin: 0 0 .46875rem 0; text-transform: uppercase }
.vf-motive-filter-section [data-vf-motive-panel="staedte"] .vf-motive-info-grid p { color: rgba(92, 102, 114, 1); font-size: .875rem; margin: 0 }
.vf-motive-filter-section [data-vf-motive-panel="staedte"] .vf-motive-info-panel > .button { margin-top: .9375rem!important }
/* */
.vf-zubehoer-order-area[hidden], .vf-zubehoer-confirm[hidden], [data-vf-zubehoer-product][hidden], [data-vf-zubehoer-list][hidden] { display: none!important }
body.vf-zubehoer-order-open .vf-pagehead { display: none }
/* */
.vf-richtext { max-width: 47.5rem }
.vf-richtext h2, .vf-richtext h3, .vf-richtext h4 { margin-top: 1.875rem }
.vf-richtext p { color: rgba(92, 102, 114, 1); margin-top: .9375rem }
.vf-richtext ul { list-style: disc; margin: .9375rem 0 0 1.875rem; padding: 0 }
.vf-richtext li { color: rgba(92, 102, 114, 1); margin-top: .9375rem }
/* */
.vf-article { max-width: 47.5rem }
.vf-article > * + * { margin-top: .9375rem }
.vf-article h2 { font-size: clamp(1.25rem, 3.4vw, 1.625rem); margin-top: 1.875rem }
.vf-article h3 { margin-top: 1.875rem }
.vf-article .vf-panel h3 { font-size: 1rem; margin-top: 0 }
.vf-article p { color: rgba(92, 102, 114, 1) }
.vf-article .vf-table, .vf-article .vf-panel, .vf-article .vf-note, .vf-article .vf-figure { margin-top: .9375rem }
.vf-article .vf-note strong { color: rgba(27, 36, 48, 1) }
.vf-article-actions { display: flex; flex-wrap: wrap; margin-top: .9375rem }
.vf-article-actions .button { margin-bottom: .9375rem!important; margin-right: .9375rem!important }
.vf-article-link-list { margin-top: .9375rem }
.vf-article-link-list a { display: table; font-size: 1rem; line-height: 1.5; margin-top: .46875rem; border-bottom: 1px solid rgba(201, 203, 195, 1); text-decoration: none; text-underline-offset: .13em; transition: border-color .2s ease }
.vf-article-link-list a:first-child { margin-top: 0 }
.vf-article-backlink a { display: table; color: inherit; margin-top: .9375rem; outline: none }
/* */
.vf-form-shell { margin-top: .9375rem }
.vf-configurator-layout .vf-form-shell { margin-top: 0 }
.vf-configurator-layout, .vf-configurator-layout .grid-x, .vf-configurator-layout .cell { overflow: visible }
.vf-configurator-layout .wpcf7, .vf-configurator-layout .wpcf7 form { margin: 0 }
.vf-configurator-layout fieldset { border: 0; margin: 0; padding: 0 }
.vf-config-screen[hidden], .vf-config-side-step[hidden] { display: none!important }
.vf-config-screen.is-active, .vf-config-side-step.is-active { display: block }
.vf-configurator-layout.is-vf-step-confirm .vf-config-main-cell { flex: 0 0 100%; max-width: 100% }
.vf-configurator-layout.is-vf-step-confirm .vf-config-side-cell { display: none!important }
.vf-configurator-layout.is-vf-step-2 .vf-config-sticky, .vf-configurator-layout.is-vf-step-confirm .vf-config-sticky { display: none!important }
.vf-form label.vf-field-label { color: rgba(27, 36, 48, 1); display: block; font-size: .875rem; letter-spacing: 0; line-height: 1.35; margin: 0 0 .3125rem 0; text-transform: none }
.vf-form input[type=text], .vf-form input[type=email], .vf-form input[type=tel], .vf-form input[type=number], .vf-form input[type=file], .vf-form select, .vf-form textarea { background: rgba(255, 255, 255, 1); border: 1px solid rgba(201, 203, 195, 1); border-radius: 3px; box-shadow: none; color: rgba(27, 36, 48, 1); font-size: .875rem; letter-spacing: 0; margin-top: 0; margin-bottom: 0; padding: .9375rem; text-transform: none; height: 2.85rem; width: 100% }
.vf-form textarea { min-height: 7rem; resize: vertical }
.vf-form .is-invalid input, .vf-form .is-invalid textarea, .vf-form .is-invalid select { border-color: rgba(190, 22, 34, 1) }
.vf-form input:focus, .vf-form select:focus, .vf-form textarea:focus, button:focus-visible, a:focus-visible {
border-color: rgba(122, 106, 10, 1);
box-shadow: none;
outline: 2px solid rgba(122, 106, 10, 1);
outline-offset: 2px
}
.vf-form .wpcf7-form-control-wrap { display: block; margin-top: 0 }
.vf-order-step label.vf-field-label { margin-bottom: .9375rem }
.vf-order-step label.vf-field-label > .wpcf7-form-control-wrap { margin-top: .3125rem }
.vf-order-step .vf-upload-panel, .vf-order-step .vf-check-line, .vf-order-step .vf-release-line { margin-bottom: .9375rem }
.vf-order-step .vf-order-layout-grid { margin-left: -.9375rem; margin-right: -.9375rem; margin-bottom: 0; margin-top: 1.875rem }
.vf-order-step .vf-order-layout-grid > .cell { margin-bottom: 1.875rem }
.vf-order-step .vf-order-layout-grid > .cell:last-child { margin-bottom: 0 }
.vf-order-step .vf-order-field-grid { margin-left: -.46875rem; margin-right: -.46875rem; margin-bottom: -.9375rem; margin-top: 0 }
.vf-order-step .vf-order-field-grid > .cell { margin-bottom: .9375rem; padding-left: .46875rem; padding-right: .46875rem }
.vf-order-step .vf-order-field-grid .vf-field-label { margin-bottom: 0 }
.vf-order-step .vf-step > .vf-field-label { margin-bottom: .9375rem }
.vf-order-step .vf-step > .vf-field-row { margin-top: 0 }
.vf-order-step .vf-step > .vf-check-line.vf-field-row { margin-top: .9375rem }
.vf-order-step .vf-step > .vf-check-line, .vf-order-step .vf-step > .vf-upload-panel, .vf-order-step .vf-step > .vf-release-line { margin-bottom: .9375rem }
.vf-step { border-top: 1px solid rgba(201, 203, 195, 1); margin-top: 1.875rem; padding-top: 1.875rem }
.vf-step:first-child { border-top: 0; margin-top: 0; padding-top: 0 }
.vf-step h3 { align-items: baseline; display: flex }
.vf-step h3 em { background: rgba(245, 227, 65, 1); border-radius: 2px; color: rgba(122, 106, 10, 1); font-family: 'IBM Plex Mono', ui-monospace, monospace; font-size: .75rem; font-style: normal; margin-right: .9375rem; padding: 0 .9375rem }
.vf-hint { color: rgba(92, 102, 114, 1); font-size: .875rem; margin: .9375rem 0!important; max-width: 41.25rem }
.vf-small-link { font-size: .75rem; margin-top: .9375rem }
.vf-plain { border-bottom: 1px solid rgba(201, 203, 195, 1) }
.vf-plain:hover { border-color: rgba(122, 106, 10, 1); color: rgba(122, 106, 10, 1) }
.vf-field-row { margin-top: .9375rem }
.vf-chip-group { display: flex; flex-wrap: wrap; margin-bottom: 0 }
.vf-chip { align-items: center; background: rgba(255, 255, 255, 1); border: 1px solid rgba(201, 203, 195, 1); border-radius: 3px; color: rgba(27, 36, 48, 1); cursor: pointer; display: inline-flex; font-family: 'IBM Plex Mono', ui-monospace, monospace; font-size: .75rem; justify-content: center; margin-bottom: 0; margin-right: .46875rem; height: 2.75rem; padding: .9375rem; position: relative; text-transform: none }
.vf-chip-group .vf-chip { margin-bottom: .46875rem }
.vf-chip input { opacity: 0; pointer-events: none; position: absolute }
.vf-chip span { pointer-events: none; position: relative }
.vf-chip:hover { border-color: rgba(27, 36, 48, 1) }
.vf-chip.is-active { background: rgba(27, 36, 48, 1); border-color: rgba(27, 36, 48, 1); color: rgba(237, 238, 233, 1) }
.vf-option { align-items: flex-start; background: rgba(255, 255, 255, 1); border: 1px solid rgba(201, 203, 195, 1); border-radius: 3px; color: rgba(27, 36, 48, 1)!important; cursor: pointer; display: flex; letter-spacing: 0!important; margin: 0 0 .9375rem!important; padding: .9375rem; text-transform: none!important }
.vf-option:hover { border-color: rgba(27, 36, 48, 1) }
.vf-option.is-active { border-color: rgba(27, 36, 48, 1); box-shadow: inset 4px 0 0 rgba(245, 227, 65, 1) }
.vf-option input[type=radio], .vf-option input[type=checkbox] { accent-color: rgba(27, 36, 48, 1); box-shadow: none; flex: 0 0 auto; height: 1.25rem; margin: 0 .9375rem 0 0; width: 1.25rem }
.vf-option > span:not(.vf-option-price) { display: flex; flex: 1 1 auto; flex-direction: column; min-width: 0 }
.vf-option-title { display: block; font-size: .9375rem; font-weight: 700 }
.vf-option-title small { color: rgba(92, 102, 114, 1); font-size: inherit; font-weight: 400 }
.vf-option-title small:before { content: ' · ' }
.vf-option-text, .vf-option-desc { color: rgba(92, 102, 114, 1); display: block; font-size: .875rem; max-width: 38.75rem }
.vf-option-price { align-self: flex-start; flex: 0 0 auto; font-family: 'IBM Plex Mono', ui-monospace, monospace; font-size: .75rem; margin-left: auto; min-width: 6rem; padding-left: .9375rem; padding-top: 0; text-align: right; white-space: nowrap }
.vf-option-gap { margin-top: .9375rem!important }
.vf-option-image { align-items: flex-start }
.vf-option-image > span:not(.vf-option-price) { align-self: center }
.vf-option-image .vf-option-price { align-self: flex-start }
.vf-option-image .vf-konf-image { aspect-ratio: 3 / 2; background: rgba(237, 238, 233, 1); border: 1px solid rgba(201, 203, 195, 1); border-radius: 3px; block-size: 5rem; flex: 0 0 7.5rem; inline-size: 7.5rem; margin-right: .9375rem; max-width: 7.5rem; min-inline-size: 7.5rem; object-fit: cover }
.vf-upload-panel { margin-top: 0; padding: .9375rem }
.vf-upload-panel p { color: rgba(27, 36, 48, 1); font-size: .875rem }
.vf-upload-panel .wpcf7-form-control-wrap { margin-top: .9375rem }
/* */
.vf-file-input::file-selector-button {
font-family: 'Inter', system-ui, sans-serif;
font-weight: 700;
background: transparent;
border: 1px solid rgba(27, 36, 48, 1);
border-radius: 3px;
color: rgba(27, 36, 48, 1);
cursor: pointer;
margin-right: .9375rem;
min-height: 3rem;
padding: .9375rem 1.875rem
}
.vf-file-input::file-selector-button:hover {
background: rgba(27, 36, 48, 1);
color: rgba(237, 238, 233, 1)
}
.vf-upload-panel .codedropz-upload-wrapper { margin-top: .9375rem }
.vf-upload-panel .codedropz-upload-handler { background: rgba(255, 255, 255, 1); border: 1px solid rgba(201, 203, 195, 1); border-radius: 3px; box-shadow: none; margin: 0; padding: .9375rem }
.vf-upload-panel .codedropz-upload-handler:hover, .vf-upload-panel .codedropz-upload-handler.dragover, .vf-upload-panel .codedropz-upload-handler.dnd-upload-dragover { border-color: rgba(27, 36, 48, 1) }
.vf-upload-panel .codedropz-upload-container { background: transparent; border: 0; margin: 0; padding: 0 }
.vf-upload-panel .codedropz-upload-inner { align-items: center; display: flex; flex-wrap: wrap; justify-content: flex-start; min-height: 3rem; padding: 0; text-align: left }
.vf-upload-panel .codedropz-upload-inner h3, .vf-upload-panel .codedropz-upload-inner span { font-family: 'Inter', system-ui, sans-serif; color: rgba(92, 102, 114, 1); font-size: 1rem; font-weight: 400; margin-right: .9375rem }
.vf-upload-panel .codedropz-upload-inner h3 { order: 2 }
.vf-upload-panel .codedropz-upload-inner span { margin-bottom: .9375rem; order: 3 }
.vf-upload-panel .codedropz-upload-inner > h3, .vf-upload-panel .codedropz-upload-inner > span { display: none!important }
.vf-upload-panel .codedropz-upload-inner .cd-upload-btn { font-family: 'Inter', system-ui, sans-serif; align-items: center; background: transparent; border: 1px solid rgba(27, 36, 48, 1); border-radius: 3px; color: rgba(27, 36, 48, 1); display: inline-flex; font-size: 1rem; font-weight: 700; justify-content: center; margin-bottom: 0; margin-right: .9375rem; min-height: 3rem; order: 1; padding: .9375rem 1.875rem; text-decoration: none }
.vf-upload-panel .codedropz-upload-inner .cd-upload-btn:hover { background: rgba(27, 36, 48, 1); color: rgba(237, 238, 233, 1) }
.vf-upload-panel .dnd-upload-counter { font-family: 'IBM Plex Mono', ui-monospace, monospace; color: rgba(92, 102, 114, 1); display: block; font-size: .75rem; margin-top: .9375rem }
.vf-upload-panel .dnd-upload-status { background: rgba(255, 255, 255, 1); border: 1px solid rgba(201, 203, 195, 1); border-radius: 3px; margin-top: .9375rem; padding: .9375rem }
.vf-upload-panel .dnd-upload-status .dnd-upload-image { background: rgba(237, 238, 233, 1); border-radius: 3px; block-size: 2.5rem; inline-size: 2.5rem; overflow: hidden }
.vf-upload-panel .dnd-upload-status .dnd-upload-image img { block-size: 100%; inline-size: 100%; object-fit: cover }
.vf-upload-panel .dnd-upload-status .dnd-upload-details { color: rgba(92, 102, 114, 1); font-size: .75rem; line-height: 1.45 }
.vf-upload-panel .dnd-upload-status .dnd-upload-details .name { color: rgba(27, 36, 48, 1); font-weight: 700 }
.vf-upload-panel .dnd-progress-bar { background: rgba(245, 227, 65, 1); border-radius: 999px; height: .25rem }
.vf-upload-panel .remove-file { color: rgba(27, 36, 48, 1); font-weight: 700 }
.vf-subheadline { font-size: .9375rem; margin: 1.875rem 0 .9375rem }
.vf-process-list { font-size: .875rem; line-height: 1.7; margin: 0; padding-left: 1.875rem }
.vf-staffel-table { margin-top: .9375rem }
.vf-staffel-table tr.is-active { background: rgba(251, 237, 237, 1) }
.vf-check-line .wpcf7-list-item { display: block; margin: 0 0 .9375rem }
.vf-check-line .wpcf7-list-item label { align-items: center; display: flex }
.vf-check-line input { accent-color: rgba(27, 36, 48, 1) }
.vf-form .wpcf7-acceptance .wpcf7-list-item { margin: .9375rem 0 0 }
.vf-form .wpcf7-acceptance label { font-family: 'Inter', system-ui, sans-serif; align-items: flex-start; color: rgba(92, 102, 114, 1); display: flex; font-size: .875rem; letter-spacing: 0; text-transform: none }
.vf-form .wpcf7-acceptance input { accent-color: rgba(27, 36, 48, 1); flex: 0 0 auto; margin-right: .9375rem; margin-top: 0 }
.vf-check-line .wpcf7-list-item label input { margin-right: .9375rem }
.vf-check-line { background: rgba(255, 255, 255, 1); border: 1px solid rgba(201, 203, 195, 1); border-radius: 3px; color: rgba(92, 102, 114, 1); margin-bottom: .9375rem; padding: .9375rem }
.vf-check-line > label { align-items: center; display: flex; margin: 0 }
.vf-check-line > label input { flex: 0 0 auto; margin: 0 .9375rem 0 0 }
.vf-check-line strong { color: rgba(27, 36, 48, 1); font-size: .9375rem }
.vf-check-line > span { display: block; font-size: .75rem; margin-left: 1.875rem; margin-top: 0 }
.vf-check-line > span.wpcf7-form-control-wrap, .vf-check-line .wpcf7-form-control-wrap { margin-left: 0; margin-top: 0 }
.vf-check-line .wpcf7-list-item { margin: 0 }
.vf-rechnung-group { display: none; margin-top: .9375rem }
.vf-rechnung-group.is-active { display: block }
.vf-release-line strong { color: rgba(27, 36, 48, 1); display: block; font-size: .9375rem }
.vf-release-line .wpcf7-list-item-label > span { color: rgba(92, 102, 114, 1); display: block; font-size: .75rem; margin-top: .9375rem }
.vf-submit { margin-top: .9375rem }
.vf-submit-hidden { display: none!important }
/* */
.vf-config-side-cell { align-self: flex-start; position: sticky; top: 6.75rem; z-index: 10 }
.admin-bar .vf-config-side-cell { top: 8.75rem }
.vf-config-side { position: relative }
.vf-config-preview { align-items: center; background: rgba(226, 228, 220, 1); border: 1px solid rgba(201, 203, 195, 1); border-radius: 4px; display: flex; justify-content: center; min-height: 13rem; padding: .9375rem }
.vf-config-preview svg { height: auto; max-width: 100% }
/* */
.vf-price-toggle { display: flex; flex-wrap: wrap; margin: .9375rem 0 0 }
.vf-price-toggle button { margin-bottom: .9375rem!important; margin-right: .9375rem!important }
.vf-price-box, .vf-order-total-box { background: rgba(27, 36, 48, 1); border-radius: 4px; color: rgba(237, 238, 233, 1); padding: .9375rem }
.vf-price-box .vf-eyebrow { margin-bottom: .9375rem }
.vf-price-box .vf-price-main, .vf-order-total-box .vf-price-main { font-family: 'Archivo', system-ui, sans-serif; color: rgba(255, 255, 255, 1); font-size: 1.875rem; font-weight: 800; letter-spacing: 0; line-height: 1.1 }
.vf-price-note { font-family: 'IBM Plex Mono', ui-monospace, monospace; color: rgba(174, 184, 196, 1); font-size: .75rem; margin-top: .234375rem; margin-bottom: .46875rem }
.vf-price-box .vf-price-row, .vf-order-total-box .vf-price-row { font-family: 'IBM Plex Mono', ui-monospace, monospace; align-items: baseline; color: rgba(174, 184, 196, 1); display: flex; font-size: .75rem; justify-content: space-between; padding: .1171875rem 0 }
.vf-price-box .vf-price-row span, .vf-order-total-box .vf-price-row span { flex: 1 1 auto; min-width: 0 }
.vf-price-box .vf-price-row b, .vf-order-total-box .vf-price-row b { color: rgba(255, 255, 255, 1); flex: 0 0 auto; font-weight: 500; margin-left: .9375rem; min-width: 5.75rem; text-align: right }
.vf-price-box hr, .vf-order-total-box hr { border: 0; border-top: 1px solid rgba(58, 71, 86, 1); margin: .46875rem 0 }
.vf-price-box .vf-order-button, .vf-order-total-box .vf-order-button { margin: .46875rem 0 .9375rem 0!important; width: 100% }
.vf-price-box .vf-eyebrow { margin: 0 0 .46875rem 0!important }
/* */
.vf-order-total-box .vf-confirm-preview-button { background: transparent!important; border: 1px solid rgba(245, 227, 65, .65)!important; color: rgba(237, 238, 233, 1)!important; margin: 0 0 .9375rem!important; width: 100% }
.vf-order-step > .vf-eyebrow { margin-bottom: .9375rem }
.vf-order-step > h2 { font-size: clamp(1.625rem, 3.8vw, 2.25rem) }
.vf-order-step > .vf-lede { margin: 0 0 1.875rem; max-width: 36rem }
.vf-order-summary-box, .vf-confirm-hero, .vf-confirm-card { background: rgba(255, 255, 255, 1); border: 1px solid rgba(201, 203, 195, 1); border-radius: 4px; color: rgba(27, 36, 48, 1); margin-bottom: .9375rem; padding: .9375rem }
.vf-order-summary-box .vf-badge { background: rgba(245, 227, 65, 1); color: rgba(27, 36, 48, 1); margin-bottom: .9375rem }
.vf-order-summary-box .vf-badge-outline { background: transparent; border: 1px solid rgba(27, 36, 48, 1); color: rgba(27, 36, 48, 1) }
.vf-order-summary-box h3 { font-family: 'Inter', system-ui, sans-serif; font-size: .9375rem }
.vf-order-summary-price { font-family: 'IBM Plex Mono', ui-monospace, monospace; color: rgba(92, 102, 114, 1); font-size: .75rem; margin-bottom: .9375rem }
.vf-order-summary-row { display: flex; flex-wrap: wrap; padding: .25rem 0 }
.vf-order-summary-row span { font-family: 'IBM Plex Mono', ui-monospace, monospace; color: rgba(92, 102, 114, 1); flex: 0 0 6.25rem; font-size: .75rem; padding-right: .9375rem; text-transform: uppercase }
.vf-order-summary-row b { color: rgba(27, 36, 48, 1); flex: 1 1 0; font-size: .75rem; font-weight: 500; min-width: 0 }
.vf-order-summary-box .vf-small-link { margin-top: .9375rem }
.vf-order-total-box .vf-eyebrow { margin-bottom: .9375rem }
.vf-order-total-label { font-family: 'IBM Plex Mono', ui-monospace, monospace; color: rgba(174, 184, 196, 1); font-size: .75rem; margin-bottom: .46875rem }
.vf-order-total-box .vf-order-button[disabled], .vf-order-total-box .vf-order-button:disabled, .vf-order-total-box .vf-confirm-preview-button[disabled], .vf-order-total-box .vf-confirm-preview-button:disabled { cursor: not-allowed; opacity: .45; pointer-events: none }
.vf-confirm-hero { padding: 1.875rem }
.vf-confirm-hero h2 { font-size: clamp(2rem, 4.8vw, 3rem) }
.vf-eyebrow-dark { background: rgba(27, 36, 48, 1); color: rgba(237, 238, 233, 1) }
.vf-confirm-card h3 { font-family: 'Inter', system-ui, sans-serif; font-size: 1rem; margin-top: .9375rem }
.vf-confirm-card p { color: rgba(92, 102, 114, 1); font-size: .9375rem }
.vf-step-kicker { color: rgba(122, 106, 10, 1); font-family: 'IBM Plex Mono', ui-monospace, monospace; font-size: .75rem }
.vf-confirm-note { margin-bottom: .9375rem }
.vf-confirm-actions { display: flex; flex-wrap: wrap }
.vf-confirm-actions .button { margin-bottom: .9375rem!important; margin-right: .9375rem!important }
.vf-confirm-actions .button { min-height: 3.5rem; padding-left: 1.875rem!important; padding-right: 1.875rem!important }
/* */
.vf-section-kranfahnen-wer-bei-uns-kranwerbung-bestellt .vf-mastkante, .vf-section-kranfahnen-wer-bei-uns-kranwerbung-bestellt h2 { margin-bottom: 0 }
.vf-section-kranfahnen-wer-bei-uns-kranwerbung-bestellt .vf-richtext { margin-top: 0 }
.vf-section-kranfahnen-wer-bei-uns-kranwerbung-bestellt .vf-richtext p { font-size: 1.1875rem }
/* */
.vf-hidden-art, .vf-hidden-format, .vf-hidden-stoff, .vf-hidden-konf, .vf-hidden-zusatz, .vf-hidden-grafik, .vf-hidden-beidseitig, .vf-hidden-zahlung, .vf-hidden-flaeche, .vf-hidden-netto, .vf-hidden-brutto, .vf-hidden-rechnungsbetrag, .vf-hidden-summary { display: none!important }
.vf-config-sticky { align-items: center; background: rgba(255, 255, 255, 1); border-top: 1px solid rgba(201, 203, 195, 1); bottom: 0; box-shadow: 0 -4px 18px rgba(27, 36, 48, .09); display: none; justify-content: space-between; left: 0; padding: .9375rem; position: fixed; right: 0; z-index: 70 }
.vf-sticky-summary { font-family: 'IBM Plex Mono', ui-monospace, monospace; color: rgba(92, 102, 114, 1); font-size: .75rem }
.vf-sticky-price { font-family: 'Archivo', system-ui, sans-serif; color: rgba(27, 36, 48, 1); font-size: 1.1875rem; font-weight: 800; line-height: 1.1 }
/* */
.vf-contact-rail { align-items: flex-end; display: none; flex-direction: column; position: fixed; right: 0; top: 50%; transform: translateY(-50%); z-index: 75 }
.vf-contact-rail a { align-items: center; background: rgba(27, 36, 48, 1); border: 1px solid rgba(58, 71, 86, 1); border-right: 0; border-radius: 3px 0 0 3px; box-shadow: 0 2px 12px rgba(20, 28, 38, .24); box-sizing: border-box; color: rgba(237, 238, 233, 1); display: flex; flex-wrap: nowrap; height: 3.25rem; justify-content: flex-start; overflow: hidden; padding: 0; transition: width .28s ease, background .18s ease, color .18s ease; white-space: nowrap; width: 3.25rem }
.vf-contact-rail .vf-phone-icon, .vf-contact-rail .vf-mail-icon { block-size: 3.25rem; display: block; flex: 0 0 3.25rem; inline-size: 3.25rem; position: relative }
.vf-contact-rail .vf-phone-icon:before, .vf-contact-rail .vf-mail-icon:before { block-size: 1.125rem; inline-size: 1.125rem; left: 50%; top: 50%; transform: translate(-50%, -50%) }
.vf-contact-rail span + span { font-family: 'IBM Plex Mono', ui-monospace, monospace; color: inherit; display: block!important; flex: 0 0 auto; font-size: .75rem; line-height: 1; min-width: max-content; opacity: 0; overflow: visible; padding-right: .9375rem; transform: translateX(.5rem); transition: opacity .18s ease .06s, transform .28s ease; white-space: nowrap!important }
.vf-contact-rail a:hover, .vf-contact-rail a:focus { background: rgba(245, 227, 65, 1); color: rgba(27, 36, 48, 1); width: 13rem }
.vf-contact-rail a[href^="mailto:"]:hover, .vf-contact-rail a[href^="mailto:"]:focus { width: 14.75rem }
.vf-contact-rail a:hover span + span, .vf-contact-rail a:focus span + span { opacity: 1; transform: translateX(0) }
/* */
.page-anfrage .vf-section-anfrage-form { padding-top: 0 }
.page-anfrage .vf-section-anfrage-form .vf-form-shell { margin-top: 0 }
.page-anfrage .vf-request-shell { padding: 1.875rem .9375rem }
.page-anfrage .vf-request-form { margin: 0 }
.page-anfrage .vf-request-form .grid-x { margin-bottom: 0 }
.page-anfrage .vf-request-form > label, .page-anfrage .vf-request-form > p { margin-left: .9375rem; margin-right: .9375rem }
.page-anfrage .vf-request-form > p > label { margin-left: 0; margin-right: 0 }
.page-anfrage .vf-request-form > input[type=submit], .page-anfrage .vf-request-form > .wpcf7-submit { margin-left: .9375rem }
.page-anfrage .vf-request-form label { color: rgba(27, 36, 48, 1); display: block; font-size: .875rem; letter-spacing: 0; line-height: 1.35; margin: 0 0 .9375rem 0; text-transform: none }
.page-anfrage .vf-request-form .grid-x + label, .page-anfrage .vf-request-form label + .grid-x { margin-top: 0 }
.page-anfrage .vf-request-form .wpcf7-form-control-wrap { display: block; margin-top: .3125rem }
.page-anfrage .vf-request-form .vf-check-line, .page-anfrage .vf-request-form .vf-upload-panel { margin-bottom: .9375rem }
.page-anfrage .vf-request-form input[type=text], .page-anfrage .vf-request-form input[type=email], .page-anfrage .vf-request-form input[type=tel], .page-anfrage .vf-request-form input[type=number], .page-anfrage .vf-request-form select, .page-anfrage .vf-request-form textarea { font-size: 1rem; height: auto; letter-spacing: 0; margin: 0; min-height: 3.25rem; text-transform: none }
.page-anfrage .vf-request-form textarea { min-height: 9.375rem }
.page-anfrage .vf-request-form .button { margin-top: .9375rem!important }
.page-anfrage .vf-request-form .wpcf7-response-output { margin: .9375rem 0 0 0!important }
/* */
.page-kommunen-und-vereine .vf-section-kommunen-und-vereine-panels-1 .vf-panel:not(.vf-panel-dark) .vf-spec span { font-family: 'Inter', system-ui, sans-serif; color: inherit; font-size: .875rem }
/* */
.vf-section-faq-1, .vf-section-stoffe-table-1, .vf-section-druckdaten-article-1, .vf-section-agb-panels-1, .vf-section-impressum-panels-1, .vf-section-datenschutz-panels-1, .vf-section-widerruf-panels-1 { padding-top: 0!important }
/* */
body[class*="page-full-width-ratgeber"] .vf-pagehead + .vf-section, .vf-section-ratgeber-cards-1, .vf-section-masten-zubehoer-text_media-1, .vf-section-masten-zubehoer-panels-2 { padding-top: 0!important }
/* */
.vf-section-kranfahnen-zwei-varianten-ein-wichtiger-unterschied .vf-note, .vf-section-kranfahnen-wer-haengt-sie-auf-und-wie .vf-note, .vf-pagehead-faq .vf-mastkante, .vf-pagehead-ratgeber .vf-mastkante, .vf-pagehead-stoffe .vf-mastkante, .vf-pagehead-ablauf .vf-mastkante, .vf-pagehead-agb .vf-mastkante, .vf-pagehead-impressum .vf-mastkante, .vf-pagehead-datenschutz .vf-mastkante, .vf-pagehead-widerruf .vf-mastkante { margin-bottom: 0 }
/* */
.vf-zubehoer-filter-section, .vf-section-masten-zubehoer-text_media-1 { padding-bottom: 1.875rem!important }
.vf-section-masten-zubehoer-text_media-1, .vf-section-masten-zubehoer-panels-2 { border: none!important }
/* */
.vf-section-ratgeber-cards-1 .vf-badge { font-family: "IBM Plex Mono", ui-monospace, monospace; font-size: .75rem; letter-spacing: inherit; text-transform: none; background: transparent; border: none; padding: 0; margin: 0 0 .46875rem 0!important; color: rgb(122, 106, 10) }
/* */
.vf-section-impressum-panels-1 ul, .vf-section-datenschutz-panels-1 ul, .vf-section-widerruf-panels-1 ul { list-style-type: disc; margin: 0 0 .9375rem 1.25rem }
/* */
body[class*="page-full-width-ablauf"] .vf-pagehead + .vf-section, .vf-section-ablauf-process { padding-top: 0!important }
.vf-section-ablauf-process { padding-bottom: 1.875rem!important }
.vf-section-ablauf-process .vf-step-card { margin-top: 0; padding: .9375rem }
.vf-section-ablauf-process .vf-step-card h4 { font-size: 1rem; margin-bottom: .46875rem }
.vf-section-ablauf-process .vf-step-card p { font-size: .875rem; margin: 0 }
.vf-section-ablauf-notes { border-top: 0!important; padding-bottom: 1.875rem!important; padding-top: 0!important }
.vf-section-ablauf-notes .grid-margin-y { margin-bottom: 0; margin-top: 0 }
.vf-section-ablauf-notes .grid-margin-y > .cell { margin-bottom: .9375rem; margin-top: 0 }
.vf-section-ablauf-notes .grid-margin-y > .cell:last-child { margin-bottom: 0 }
.vf-section-ablauf-notes .vf-panel.vf-note { border: 0; border-left: .3125rem solid rgba(245, 227, 65, 1); border-radius: 0 3px 3px 0; margin-bottom: 0; margin-top: 0; padding: .9375rem }
.vf-section-ablauf-notes .vf-panel.vf-note h3 { display: inline; font-size: 1rem; margin: 0 .3125rem 0 0 }
.vf-section-ablauf-notes .vf-panel.vf-note p { color: rgba(27, 36, 48, 1); display: inline; font-size: .875rem; margin: 0 }
/* */
.vf-section-kranfahnen-panels-3 { padding: 1.875rem 0!important; border: none!important }
/* */
.vf-section-druckdaten-article-1 .vf-panel h3, .vf-section-druckdaten-article-1 .vf-article-panel-grid .vf-panel { margin-top: 0 }
/* */
.vf-motive-order-row .vf-mono { font-size: .75rem }
.vf-detail-copy .vf-button-block { margin-top: .9375rem!important }
/* */
.page-kontakt .vf-pagehead + .vf-section-kontakt-methoden { padding-top: 0 }
.page-kontakt .vf-section-kontakt-methoden { padding-bottom: 1.875rem }
.page-kontakt .vf-section-kontakt-methoden .vf-mastkante { display: none }
.page-kontakt .vf-section-kontakt-methoden .vf-panel { margin-top: 0; padding: 1.25rem }
.page-kontakt .vf-section-kontakt-methoden .vf-panel h3 { margin-bottom: .9375rem }
.page-kontakt .vf-section-kontakt-methoden .vf-panel p { color: rgba(27, 36, 48, 1); margin: 0 }
.page-kontakt .vf-section-kontakt-methoden + .vf-section-page-content { padding-top: 0; border: none }
.page-kontakt .vf-section-page-content .vf-form-shell { margin-top: 0 }
.page-kontakt .vf-contact-form { margin: 0 }
.page-kontakt .vf-contact-form .grid-x { margin-bottom: 0 }
.page-kontakt .vf-contact-form .vf-form-field { margin: 0 }
.page-kontakt .vf-contact-form label { color: rgba(27, 36, 48, 1); display: block; font-size: .875rem; letter-spacing: 0; line-height: 1.35; margin: 0 0 .3125rem 0; text-transform: none }
.page-kontakt .vf-contact-form .wpcf7-form-control-wrap { display: block; margin-top: 0 }
.page-kontakt .vf-contact-form input[type=text], .page-kontakt .vf-contact-form input[type=email], .page-kontakt .vf-contact-form input[type=tel], .page-kontakt .vf-contact-form input[type=number], .page-kontakt .vf-contact-form select, .page-kontakt .vf-contact-form textarea { font-size: 1rem; height: auto; letter-spacing: 0; margin: 0; min-height: 3.25rem; text-transform: none }
.page-kontakt .vf-contact-form textarea { min-height: 8.75rem }
.page-kontakt .vf-contact-form .vf-form-actions { margin-top: 0 }
.page-kontakt .vf-contact-form .button { margin-top: 0!important }
.page-kontakt .vf-contact-form .wpcf7-response-output { margin: .9375rem 0 0 0!important }
/* */
.wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output, .wpcf7 form.payment-required .wpcf7-response-output { border-color: rgba(245, 227, 65, 1) }
.wpcf7-not-valid-tip { display: none!important; visibility: hidden!important }
/* */
.scroll-to-top { align-items: center; background: transparent; border: 0; border-radius: 50%; bottom: 1.875rem; cursor: pointer; display: flex; height: 60px; justify-content: center; opacity: 0; position: fixed; right: 1.875rem; transition: opacity .3s ease, visibility .3s ease; visibility: hidden; width: 60px; z-index: 999 }
.scroll-to-top.visible { opacity: 1; visibility: visible }
.scroll-to-top .progress-ring { left: 0; position: absolute; top: 0; transform: rotate(-90deg) }
.scroll-to-top .progress-ring__bg { fill: rgba(237, 238, 233, 1); stroke: rgba(201, 203, 195, 1); stroke-width: 4 }
.scroll-to-top .progress-ring__progress { fill: none; stroke: rgba(245, 227, 65, 1); stroke-linecap: round; stroke-width: 4; transition: stroke-dashoffset .2s linear }
.scroll-to-top .arrow { fill: rgba(27, 36, 48, 1); z-index: 2 }
/* */
.site-footer { background: rgba(27, 36, 48, 1); color: rgba(152, 163, 176, 1); padding: 2.8125rem 0 1.875rem }
.site-footer .custom-logo { filter: brightness(0) invert(1); max-width: 6.25rem; opacity: .78 }
.site-footer h4, .site-footer .widget-title { font-family: 'IBM Plex Mono', ui-monospace, monospace; color: rgba(255, 255, 255, 1); font-size: .75rem; letter-spacing: .14em; text-transform: uppercase }
.site-footer .footer-menu { display: block; list-style: none; margin: 0; padding: 0 }
.site-footer .footer-menu li { display: block; padding: .35rem 0 }
.site-footer .footer-menu a { padding: 0; color: rgb(152, 163, 176); background: transparent; font-size: .875rem; transition: color .25s ease }
.site-footer .footer-menu a:hover, .site-footer .footer-menu .is-active a { color: rgba(245, 227, 65, 1)!important }
.site-footer p { color: rgba(152, 163, 176, 1); font-size: .9375rem }
/* */
.vf-footer-claim { font-family: 'Archivo', system-ui, sans-serif; color: rgba(255, 255, 255, 1)!important; font-size: 1rem; font-weight: 700; margin-top: .9375rem }
.vf-footer-bottom { margin-top: 0 }
.vf-footer-brand p { max-width: 23rem }
.vf-footer-copy { font-family: 'IBM Plex Mono', ui-monospace, monospace; align-items: center; border-top: 1px solid rgba(58, 71, 86, 1); color: rgba(152, 163, 176, 1); display: flex; flex-wrap: wrap; font-size: .75rem; margin-top: 0; padding-top: 1.875rem }
.vf-footer-copy span { margin-bottom: 0; margin-right: .9375rem }
.vf-disclaimer { color: rgba(124, 136, 150, 1); font-size: .75rem!important; margin-top: .9375rem }

@media screen and (max-width: 39.99875em) {
.desktop-menu.menu > li + li { margin-left: 0 }
.vf-hero-actions .button.ghost { margin-top: .9375rem!important }
.vf-chip { flex: 1 1 auto }
.vf-option { flex-wrap: wrap }
.vf-option-price { margin-left: 1.875rem; min-width: 0; padding-left: 0; text-align: left; width: 100% }
.vf-option-image .vf-konf-image { block-size: 3.666rem; flex-basis: 5.5rem; inline-size: 5.5rem; max-width: 5.5rem; min-inline-size: 5.5rem }
.vf-preview { padding: .9375rem }
.page-anfrage .vf-request-shell { padding: .9375rem }
.page-anfrage .vf-request-form > label, .page-anfrage .vf-request-form > p { margin-left: .625rem; margin-right: .625rem }
.page-anfrage .vf-request-form > input[type=submit], .page-anfrage .vf-request-form > .wpcf7-submit { margin-left: .625rem }
}

@media screen and (max-width: 63.99875em) {
.na-nav-container { position: relative; height: 80px; display: flex; -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center }
.na-nav-container .na-nav-section { position: fixed; top: 0; right: 0; bottom: 0 }
.na-nav-container .na-nav { opacity: 0; background: rgba(27, 36, 48, 1); transition: opacity .1s; width: 0; height: 0 }
.na-nav-container input[type="checkbox"] { display: none; max-width: none; margin: 0 }
.na-nav-container input[type="checkbox"]:checked ~ .na-nav { opacity: 1; width: 100vw; height: 100vh }
.na-nav-container input[type="checkbox"]:checked ~ label .bar { background: rgba(255, 255, 255, 1) }
.na-nav-container input[type="checkbox"]:checked ~ label .top { transform: translateY(10px) rotate(45deg) }
.na-nav-container input[type="checkbox"]:checked ~ label .middle { width: 0 }
.na-nav-container input[type="checkbox"]:checked ~ label .bottom { transform: translateY(-6px) rotate(-45deg) }
.na-nav-container .middle { margin: 0 auto }
.na-nav-container label { position: relative; width: 30px; display: inline-block; margin: 0; padding: 0; background: transparent; cursor: pointer; z-index: 3 }
.na-nav-container .bar { position: relative; display: block; background: rgba(27, 36, 48, 1); width: 30px; height: 3px; border-radius: 5px; margin: 5px auto; transition: background-color .4s ease-in, transform .4s ease-in, width .4s ease-in }
.na-nav-container input[type="checkbox"]:checked ~ .na-nav .desktop-menu { background: transparent!important; display: block!important }
.desktop-menu { display: none!important }
.mobile-menu.menu { align-items: center; display: flex; flex-wrap: wrap; justify-content: center; left: 50%; margin: 0; padding: 0; position: absolute; top: calc(50% - 3.75rem); transform: translate(-50%, -50%); width: min(100%, 32rem) }
.mobile-menu.menu > li { display: block; flex: 0 0 100%; margin: 0; padding: .46875rem 0; text-align: center; width: 100% }
.mobile-menu.menu > li > a { color: rgba(255, 255, 255, 1); background: transparent; display: block; font-size: 1.15rem; font-weight: 600; padding: 0; text-align: center; transition: color .25s }
.mobile-menu.menu > li > a:hover, .mobile-menu.menu > li.is-active > a, .mobile-menu.menu > li > a.mPS2id-highlight { color: rgba(245, 227, 65, 1)!important }
.vf-config-side-cell, .vf-config-side, .vf-motive-order-side-cell, .vf-zubehoer-order-side-cell { position: static }
.vf-has-config-bar-active .vf-config-sticky { display: flex }
.page-kontakt .vf-section-page-content .vf-form-shell { padding: 1.875rem .46875rem }
}

@media screen and (min-width: 64em) {
.page-fahnenarten .vf-panel-fahnenarten-dark-cta, .page-kranfahnen .vf-panel-kranfahnen-dark-cta { padding: 1.875rem }
.page-fahnenarten .vf-panel-fahnenarten-dark-cta .vf-panel-split-action-cell, .page-kranfahnen .vf-panel-kranfahnen-dark-cta .vf-panel-split-action-cell { margin-top: 0; margin-bottom: 0 }
.vf-order-step .vf-order-layout-grid > .cell { margin-bottom: 0 }
.site-header .desktop-menu.menu { display: flex }
/* */
.desktop-menu.menu { display: flex; align-items: center; margin: 0 }
.desktop-menu.menu > li + li { margin-left: 1.25rem }
.desktop-menu.menu a { border-bottom: 3px solid transparent; color: rgba(27, 36, 48, 1); display: block; font-size: .9375rem; font-weight: 600; padding-top: calc(.46875rem + 3px); padding-bottom: .46875rem; padding-left: 0; padding-right: 0; transition: border-color .2s ease }
.desktop-menu.menu .active > a, .desktop-menu.menu .is-active > a, .desktop-menu.menu .current-menu-item > a, .desktop-menu.menu .current_page_item > a, .desktop-menu.menu .current-menu-ancestor > a, .desktop-menu.menu a:hover { background: transparent!important; border-color: rgba(245, 227, 65, 1); color: rgba(27, 36, 48, 1)!important }
/* */
.vf-topbar-service { display: inline }
.na-nav-container { align-items: center; display: flex; height: 3.75rem; position: relative }
.na-nav-container .na-nav-section { bottom: 0; position: fixed; right: 0; top: 0; z-index: 99992 }
.na-nav-container .na-nav { background: rgba(27, 36, 48, 1); height: 0; opacity: 0; overflow: hidden; transition: opacity .1s; width: 0 }
.na-nav-container input[type="checkbox"] { display: none; margin: 0; max-width: none }
.na-nav-container input[type="checkbox"]:checked ~ .na-nav { height: 100vh; opacity: 1; overflow: visible; width: 100vw }
.na-nav-container input[type="checkbox"]:checked ~ label .bar { background: rgba(255, 255, 255, 1) }
.na-nav-container input[type="checkbox"]:checked ~ label .top { transform: translateY(10px) rotate(45deg) }
.na-nav-container input[type="checkbox"]:checked ~ label .middle { width: 0 }
.na-nav-container input[type="checkbox"]:checked ~ label .bottom { transform: translateY(-6px) rotate(-45deg) }
.na-nav-container .middle { margin: 0 auto }
.na-nav-container label { background: transparent; cursor: pointer; display: inline-block; margin: 0; padding: 0; position: relative; width: 30px; z-index: 99993 }
.na-nav-container .bar { background: rgba(27, 36, 48, 1); border-radius: 5px; display: block; height: 3px; margin: .9375rem auto 0; position: relative; transition: background-color .4s ease-in, transform .4s ease-in, width .4s ease-in; width: 30px }
.na-nav-container .bar:first-child { margin-top: 0 }
.vf-section, .vf-section-tight { padding: 3.75rem 0 }
.vf-hero-photo { background-position: 72% center }
.vf-hero-photo:before { background: linear-gradient(96deg, rgba(20, 28, 38, .96) 0%, rgba(20, 28, 38, .90) 38%, rgba(20, 28, 38, .34) 62%, rgba(20, 28, 38, .06) 88%) }
.vf-panel-feature { margin-top: 0 }
.vf-panel-feature h3 { font-size: clamp(1.5rem, 2.2667vw, 2rem) }
.vf-panel-feature-with-media .vf-panel-feature-visual { min-height: 18.75rem; padding: .9375rem }
.vf-panel-feature, .page-kranfahnen .vf-section-kran-safety .vf-panel-safety, .page-kranfahnen .vf-section-kran-offer .vf-panel-offer { padding: 1.875rem }
.vf-section-kranfahnen-panels-3 { padding: 1.875rem 0 3.75rem 0!important }
.page-kontakt .vf-section-page-content .vf-form-shell { padding: 1.875rem .9375rem }
.vf-section-impressum-panels-1 .vf-panel, .vf-section-datenschutz-panels-1 .vf-panel, .vf-section-widerruf-panels-1 .vf-panel { padding: 1.875rem }
}

@media screen and (min-width: 75em) {
.vf-phone-badge { display: none }
.vf-contact-rail { display: flex }
}
