@charset "UTF-8";
/*
Theme Name: feMedia
Theme URI: https://www.femedia.at
Description: 1:1-Nachbau des früheren IONOS-Sitebuilder-Designs von femedia.at (Block-Theme). Werte aus dem gerenderten Original vermessen (Desktop 1366 px).
Version: 1.0.0
Requires at least: 6.5
Requires PHP: 8.0
Author: EGW Telekom
Text Domain: femedia
License: GPL-2.0-or-later
*/

/* ---------- Icons (Font Awesome 4.7, SIL OFL) ---------- */
@font-face { font-family: 'FontAwesome'; src: url('assets/fonts/fontawesome-webfont.woff2') format('woff2'); font-weight: normal; font-style: normal; font-display: block; }
.fa { display: inline-block; font: normal normal normal 14px/1 FontAwesome; font-size: inherit; text-rendering: auto; -webkit-font-smoothing: antialiased; }
.fa-envelope-o:before { content: "\f003"; } .fa-envelope:before { content: "\f0e0"; } .fa-facebook:before { content: "\f09a"; }
.fa-instagram:before { content: "\f16d"; } .fa-whatsapp:before { content: "\f232"; } .fa-phone:before { content: "\f095"; }
.fa-linkedin:before { content: "\f0e1"; } .fa-search:before { content: "\f002"; } .fa-angle-left:before { content: "\f104"; } .fa-angle-right:before { content: "\f105"; }
.fm-svg { width: 1em; height: 1em; display: inline-block; vertical-align: middle; }

/* ---------- Base ---------- */
body { margin: 0; background: #fff; color: #525252; font-family: Epilogue, sans-serif; -webkit-font-smoothing: antialiased; }
body.fm-bg-grey { background: #EEEEEE; }
body.fm-bg-light { background: #FBFDFF; }
.wp-site-blocks { padding: 0 !important; }
.wp-site-blocks > * { margin-block-start: 0 !important; }
.fm-main { margin: 0; }
.fm-main h1, .fm-main h2, .fm-main h3, .fm-main h4, .fm-main p { margin: 0; }
a { color: inherit; text-decoration: none; }
.fm-wrap { width: 960px; max-width: calc(100% - 40px); margin-left: auto !important; margin-right: auto !important; box-sizing: border-box; }
.fm-btn .wp-block-button__link, a.fm-btn, button.fm-btn { display: inline-flex; align-items: center; justify-content: center; box-sizing: border-box; background: #FFCB33; color: #514F4F; border: 0; border-radius: 6px; box-shadow: 3px 3px 11px 0 rgba(0, 0, 0, .25); font-family: Epilogue, sans-serif; cursor: pointer; text-transform: uppercase; padding: 0; line-height: 1; }

/* ---------- Header ---------- */
.fm-header { position: relative; height: 162px; background: #EDBD31; margin: 0; }
.fm-header .fm-logo { position: absolute; top: 0; left: 50%; transform: translateX(-50%); margin: 0; z-index: 5; line-height: 0; }
.fm-header .fm-logo img { width: 300px !important; height: 163px !important; object-fit: fill; }
.fm-header nav.fm-nav { position: absolute; top: 69px; left: 0; right: 0; margin: 0; justify-content: center; font-family: Roboto, sans-serif; font-size: 16px; font-weight: 400; letter-spacing: .48px; line-height: 24px; text-transform: uppercase; }
.fm-nav .wp-block-navigation__container { gap: 30px !important; }
.fm-nav .wp-block-navigation-item:nth-child(3) { margin-right: 310px; }
.fm-nav .wp-block-navigation-item__content { color: #FBFDFF !important; padding: 0 !important; position: relative; }
.fm-nav .current-menu-item > .wp-block-navigation-item__content { color: #fff !important; }
.fm-nav .current-menu-item > .wp-block-navigation-item__content::after { content: ""; position: absolute; left: 0; right: 0; bottom: -9px; height: 2px; background: #fff; }

/* ---------- Home: hero ---------- */
.fm-hero.wp-block-cover { min-height: 0 !important; padding: 0 !important; align-items: flex-start; background: url('assets/img/hintergrund-femedia.png') 50% 0 / cover fixed; }
.fm-hero .wp-block-cover__background { background: #000 !important; opacity: .45 !important; }
.fm-hero .wp-block-cover__inner-container { position: static; width: 100% !important; box-sizing: border-box; padding: 142px 40px 157px; }
.fm-hero .wp-block-cover__inner-container > * { position: relative; z-index: 2; }
.fm-hero h1 { font: 700 130px/104px Barlow, sans-serif; color: #FBFDFF; text-align: center; margin: 0; }
/* like the old site: headline spans the full width, subtitle + button sit at fixed left offsets (not centred) */
.fm-hero .fm-hero__sub { font: 400 28px/25.2px Epilogue, sans-serif; color: #fff; text-align: left; width: 743px; max-width: 100%; margin: 47px 0 0 288px; }
.fm-hero .wp-block-buttons { justify-content: flex-start; margin: 54px 0 0 496px; }
.fm-hero .fm-btn .wp-block-button__link { width: 294px; height: 60px; background: #FECC37; border: 2px solid transparent; box-shadow: 3px 3px 11px 0 #514F4F; font-size: 21px; }
.fm-hero .fm-icons--hero { position: absolute !important; left: 44px; bottom: 21px; display: flex; gap: 24px; } .fm-icons--hero a { width: 16px; text-align: center; font-size: 16px; color: #FBFDFF; }

/* ---------- Home: über uns ---------- */
/* like the old site: two 50% columns; image centred in the left one (3% right padding), text starts 10px right of the middle */
.fm-about { display: grid; grid-template-columns: 50% 50%; height: 598px; background: #fff; overflow: hidden; }
.fm-about .fm-about__img { margin: 0; padding-right: 3%; display: flex; justify-content: center; }
.fm-about .fm-about__img img { width: 635px; height: 598px; object-fit: cover; display: block; flex: none; }
.fm-about .fm-about__text { padding: 143px 30px 0 10px; }
.fm-about h2 { font: 700 70px/70px 'Rock Salt', cursive; color: #514F4F; margin: 0; }
.fm-about p { font-size: 20px; line-height: normal; text-align: justify; color: #525252; max-width: 577px; }
.fm-about h2 + p { margin-top: 39px; }
.fm-about p + p { margin-top: 21px; }

/* ---------- Home: magische Zahlen ---------- */
.fm-stats { background: #FFCB33; padding: 55px 0 100px; }
.fm-stats h2 { font: 700 50px/50px Barlow, sans-serif; color: #514F4F; }
.fm-stats .fm-stats__intro { font-size: 20px; line-height: 22px; color: #514F4F; max-width: 717px; margin-top: 30px; }
.fm-stats .fm-cards4 { display: grid; grid-template-columns: 240px 240px 226px 219px; gap: 20px; margin-top: 65px; }
.fm-card { border-radius: 10px; box-shadow: 3px 3px 11px 0 #514F4F; padding: 42px 32px 56px !important; height: 353px; box-sizing: border-box; }
.fm-card--blue { background: #5086C3; color: #FBFDFF; }
.fm-card--white { background: #FBFDFF; color: #525252; }
.fm-cards4 > .fm-card:first-child { color: #fff; }
.fm-card .fm-card__num { font: 700 50px/75px Epilogue, sans-serif; }
.fm-card .fm-card__text { font: 400 24px/26.4px Epilogue, sans-serif; margin-top: 12px; hyphens: manual; }
.fm-card:last-child .fm-card__text { line-height: 24px; margin-top: 13px; } /* 4th card on the old site uses line-height 1 */

/* ---------- Footer: Kontaktbereich ---------- */
.fm-contact { display: grid; grid-template-columns: 300px 311px 306px; min-height: 587px; box-sizing: border-box; padding: 97px 0 0 calc(50% - 517px); }
.fm-contact .fm-contact__info { grid-column: 2; margin-left: 64px; width: 247px; }
.fm-contact .fm-contact__form { grid-column: 3; }
.fm-contact h4 { font: 700 22px/normal Barlow, sans-serif; color: #CB982A; margin: 0; }
.fm-contact .fm-contact__form h4 { line-height: 33px; margin-top: 0; }
.fm-contact .fm-contact__phone { font-size: 18px; color: #514F4F; margin-top: 6px; }
.fm-contact .fm-contact__call { margin-top: 13px; }
.fm-contact .fm-contact__call .wp-block-button__link { width: 175px; height: 47px; border-radius: 10px; font-size: 15px; }
.fm-contact .fm-contact__h-where { margin-top: 31px !important; }
.fm-contact .fm-contact__addr { font-size: 18px; color: #525252; margin-top: 4px; line-height: 21px; }
.fm-contact .fm-contact__h-hours { margin-top: 38px !important; }
.fm-contact .fm-contact__hours { font: 400 18px/22px Roboto, sans-serif; color: #525252; margin-top: 2px; }

/* Termin-Formular (Footer) */
.fm-form--termin { margin-top: 11px; font-family: Barlow, sans-serif; }
.fm-form--termin .fm-form__row3 { display: grid; grid-template-columns: repeat(3, 91px); column-gap: 16px; }
.fm-form--termin label { display: block; font: 400 18px/27px Barlow, sans-serif; color: #514F4F; }
.fm-form--termin input, .fm-form--termin textarea { display: block; box-sizing: border-box; width: 91px; height: 40px; margin-top: 3px; padding: 0 10px; background: rgba(255, 203, 51, .43); border: 2px solid #fff; border-radius: 10px; font: 400 16px Barlow, sans-serif; color: #514F4F; }
.fm-form--termin .fm-form__msg-label { margin-top: 18px; }
.fm-form--termin textarea { width: 304px; height: 80px; padding: 10px; resize: vertical; }
.fm-form--termin button.fm-btn { width: 150px; height: 38px; margin-top: 117px; border-radius: 10px; font: 400 18px Barlow, sans-serif; }

.fm-form .fm-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
.fm-form__status { font: 400 16px/1.4 Epilogue, sans-serif; margin-top: 12px; color: #514F4F; }
.fm-form__privacy { margin: 10px 0 0; font: 400 12px/1.4 Epilogue, sans-serif; color: #514F4F; }
.fm-form--termin .fm-form__privacy { max-width: 304px; margin-bottom: 40px; font-family: Barlow, sans-serif; }
.fm-form--kontakt .fm-form__privacy { max-width: 600px; font-size: 13px; color: #4B4C53; }
.fm-form__privacy a { color: inherit; text-decoration: underline; }
.fm-form__status--err { color: #b3261e; }

/* ---------- Footer: Leiste ---------- */
.fm-bottom { position: relative; background: #514F4F; height: 68px; box-sizing: border-box; }
.fm-bottom .fm-bottom__copy { position: absolute; left: calc(50% - 480px); top: 21px; font: 400 15px/normal Epilogue, sans-serif; color: #fff; }
.fm-bottom .fm-icons--footer { position: absolute; left: calc(50% + 202px); top: 20px; display: flex; gap: 14px; }
.fm-icons--footer a { width: 33px; height: 33px; border: 3px solid #fff; border-radius: 50%; box-sizing: border-box; display: flex; align-items: center; justify-content: center; color: #fff; font-size: 15px; }

/* ---------- Über uns ---------- */
.fm-lead { background: #FBFDFF; height: 423px; box-sizing: border-box; padding: 52px 0; }
.fm-lead .fm-lead__inner { display: grid; grid-template-columns: 306px 1fr; column-gap: 34px; }
.fm-lead .fm-lead__img { margin: 0; }
.fm-lead .fm-lead__img img { width: 306px; height: 319px; border-radius: 50%; object-fit: cover; display: block; }
.fm-lead h2 { font: 700 42px/normal Barlow, sans-serif; color: #514F4F; margin-top: 0; }
.fm-lead .fm-lead__inner > .wp-block-group { padding-top: 33px; }
.fm-lead .fm-lead__role { font: 400 30px/45px Epilogue, sans-serif; color: #514F4F; margin-top: 10px; }
.fm-lead .fm-lead__text { font: 400 16px/24px Epilogue, sans-serif; color: #514F4F; margin-top: 12px; }
.fm-team { background: #fff; height: 167px; box-sizing: border-box; padding-top: 26.5px; }
.fm-team .fm-team__inner { display: grid; grid-template-columns: repeat(4, 240px); }
.fm-team h3 { font: 700 28px/42px Barlow, sans-serif; color: #514F4F; text-align: center; margin-top: 0; }
.fm-team .fm-team__inner > .wp-block-group { padding-top: 17px; }
.fm-team .fm-team__inner > :nth-child(2) p, .fm-team .fm-team__inner > :nth-child(3) p { line-height: normal; }
.fm-team .fm-team__inner p { margin-top: 3px !important; }
.fm-team p { font: 400 14px/21px Epilogue, sans-serif; color: #525252; text-align: center; max-width: 160px; margin: 0 auto !important; }

/* ---------- Portfolio ---------- */
.fm-pf-intro { padding: 78px 30px 20px; height: 236px; box-sizing: border-box; }
.fm-pf-intro h1 { font: 700 70px/70px Barlow, sans-serif; color: #514F4F; text-align: center; }
.fm-pf-intro p { font: 400 30px/45px Epilogue, sans-serif; color: #525252; text-transform: uppercase; text-align: center; margin-top: 7px; }
.fm-pf-row { background: #fff; }
.fm-pf-row .fm-pf-grid { display: grid; grid-template-columns: repeat(3, 320px); }
.fm-pf-row + .fm-pf-row { padding-bottom: 48px; }
.fm-pf-col { background: rgba(255, 255, 255, .91); padding: 50px 10px !important; display: flex; flex-direction: column; }
.fm-pf-col .fm-pf-img { margin: 0; height: 167px; }
.fm-pf-col .fm-pf-img img { display: block; }
.fm-pf-col h3 { font: 700 30px/30px Barlow, sans-serif; color: #514F4F; margin-top: 11px; }
.fm-pf-col .fm-pf-text { font: 400 18px/18px Epilogue, sans-serif; color: #525252; margin-top: 20px; flex: 1; }
.fm-pf-col .wp-block-buttons { margin-top: 20px; }
.fm-pf-intro + .fm-pf-row .fm-pf-col { height: 668px; padding-bottom: 20px !important; box-sizing: border-box; }
.fm-pf-row + .fm-pf-row .fm-pf-col { height: 724px; padding-bottom: 60px !important; box-sizing: border-box; }
.fm-pf-col .fm-btn .wp-block-button__link { width: 199px; height: 50px; border: 2px solid transparent; font-size: 20px; }

/* ---------- Kontakt ---------- */
.fm-kontakt { background: #EFEFEF; padding: 72px 0 120px; }
.fm-kontakt h1 { font: 700 70px/70px Barlow, sans-serif; color: #514F4F; padding-left: 16px; }
.fm-kontakt .fm-kcards { display: grid; grid-template-columns: 470px 470px; gap: 20px; margin-top: 42px !important; }
.fm-kcard { background: #fff; border-radius: 20px; padding: 32px !important; box-sizing: border-box; }
.fm-kcard .fm-kcard__icon { font-size: 28px; color: #000; line-height: 1; }
.fm-kcard h3 { font: 700 24px/36px Barlow, sans-serif; color: #000; margin-top: 22px; }
.fm-kcard p { font: 400 17px/17px Epilogue, sans-serif; color: #6C6C6C; margin-top: 3px !important; }
.fm-kcards .fm-kcard { height: 173px; }
.fm-kform { margin-top: 12px !important; padding: 32px 32px 55px !important; }
.fm-form--kontakt { margin-top: 35px; }
.fm-form--kontakt .fm-form__row2 { display: grid; grid-template-columns: 434px 434px; column-gap: 30px; }
.fm-form--kontakt label { display: block; font: 400 16px/24px Epilogue, sans-serif; color: #4B4C53; margin-bottom: 12px; }
.fm-form--kontakt input, .fm-form--kontakt textarea { display: block; box-sizing: border-box; width: 100%; height: 40px; margin-top: 4px; padding: 0 12px; border: 1px solid #4B4C53; border-radius: 8px; background: #fff; font: 400 16px Epilogue, sans-serif; color: #000; }
.fm-form--kontakt textarea { height: 80px; padding: 10px 12px; resize: vertical; }
.fm-form--kontakt button.fm-btn { width: 280px; height: 55px; margin-top: 94px; border-radius: 10px; font-size: 18px; }

/* ---------- Impressum ---------- */
.fm-imp-hero.wp-block-cover { min-height: 675px !important; padding: 220px 40px !important; align-items: flex-start; }
.fm-imp-hero .wp-block-cover__background { background: #000 !important; opacity: .35 !important; }
/* old site: text block "fadeInUp" on load (Duda/animate.css: 1s, starts one block-height lower, transparent) */
.fm-imp-hero .wp-block-cover__inner-container { animation: fm-fade-in-up 1s both; }
@keyframes fm-fade-in-up { from { opacity: 0; transform: translate3d(0, 100%, 0); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) { .fm-imp-hero .wp-block-cover__inner-container { animation: none; } }
.fm-imp-hero .wp-block-cover__inner-container { width: 960px !important; max-width: 100%; margin: 0 auto; }
.fm-imp-hero h1 { font: 700 55px/82.5px Barlow, sans-serif; color: #fff; padding-top: 10px; }
.fm-imp-hero p { font: 400 20px/20px Epilogue, sans-serif; color: #fff; max-width: 690px; margin-top: 12px; }
.fm-imp-body { padding: 76px 16px 157px; }
.fm-imp-body h2 { font: 700 40px/40px Barlow, sans-serif; color: #514F4F; margin-bottom: 21px; }
.fm-imp-body h3 { font: 700 20px/30px Epilogue, sans-serif; color: #525252; margin-top: 30px; }
.fm-imp-body p, .fm-imp-body li { font: 400 20px/30px Epilogue, sans-serif; color: #525252; }
.fm-imp-body p + p { margin-top: 45px; }
.fm-imp-body ul { margin: 0; padding-left: 0; list-style: none; }
.fm-imp-body li::before { content: "• "; }

/* ---------- Blog-Übersicht ---------- */
.fm-blog-head { padding: 110px 0 36px; }
.fm-blog-head h1 { font: 700 60px/60px Barlow, sans-serif; color: #514F4F; text-align: center; }
.fm-blog-head .wp-block-search { width: 420px; margin: 15px auto 0 !important; }
.fm-blog-head .wp-block-search__inside-wrapper { border: 1px solid #939393 !important; border-radius: 25px; height: 55px; padding: 0 14px 0 23px !important; box-sizing: border-box; background: #fff; }
.fm-blog-head .wp-block-search__input { border: 0 !important; font: 400 14px Roboto, sans-serif; color: #777; background: transparent; padding: 0; outline: 0; }
.fm-blog-head .wp-block-search__button { background: transparent !important; color: #333 !important; border: 0; padding: 0; margin: 0; }
.fm-blog-head .wp-block-search__button svg { display: none; }
.fm-blog-head .wp-block-search__button::before { content: ""; font: normal 18px/1 FontAwesome; color: #525252; }
.fm-blog-list { padding: 60px 0 100px; }
.fm-blog-list .wp-block-post-template { display: grid !important; grid-template-columns: repeat(3, 307px) !important; gap: 20px !important; margin: 0; padding: 0; }
.fm-blog-list .wp-block-post-featured-image { margin: 4px 0 0; height: 190px; }
.fm-blog-list .wp-block-post-featured-image img { height: 190px !important; width: 100%; object-fit: cover; }
.fm-blog-list .wp-block-post-title { font: 700 18px/27px 'Roboto Slab', serif; color: #525252; margin-top: 15px !important; }
.fm-blog-list .wp-block-post-excerpt { margin-top: 20px; }
.fm-blog-list .wp-block-post-excerpt__excerpt { font: 400 15px/21px Roboto, sans-serif; color: #747474; margin: 0; max-height: 63px; overflow: hidden; }
.fm-blog-list .wp-block-post-excerpt__more-text { display: none; }
.fm-blog-list .wp-block-read-more { display: inline-block; font: 400 14px/21px Roboto, sans-serif; color: #000; margin-top: 16px; }

/* ---------- Blog-Beitrag ---------- */
.fm-post-hero.wp-block-cover { min-height: 0 !important; padding: 190px 0 181px !important; background-color: #F1F1F1; }
.fm-post-hero .wp-block-cover__inner-container { width: 744px !important; max-width: calc(100% - 40px); }
.fm-post-hero .wp-block-post-title { font: 400 38px/57px 'Roboto Slab', serif; color: #fff; text-align: center; margin: 0; }
.fm-post-hero .fm-postmeta { font: 400 16px/24px Roboto, sans-serif; color: #fff; text-align: center; margin-top: 19px; }
.fm-post-hero .wp-block-cover__background { opacity: .22 !important; }
.fm-post-body { width: 860px; max-width: calc(100% - 40px); margin: 0 auto; padding-top: 66px; }
.fm-post-body .wp-block-post-content p { font: 400 20px/24px Epilogue, sans-serif; color: #525252; margin: 0; }
/* vertical spacing comes from wp:spacer blocks (45/36px), copied 1:1 from the old posts */
.fm-post-body .wp-block-post-content h2 { font: 700 30px/45px Barlow, sans-serif; color: #525252; margin: 0 0 3px; }
.fm-post-body .wp-block-post-content h2.fm-h-tight { line-height: 36px; margin-bottom: 4px; }
.fm-post-body .wp-block-post-content .wp-block-spacer { margin: 0; }
.fm-post-nav { margin-top: 56px !important; font: 400 16px/24px Roboto, sans-serif; display: flex; justify-content: space-between; }
.fm-post-nav a { color: #005BB9; }
.fm-share { display: flex; justify-content: center; gap: 17px; margin-top: 66px; }
.fm-share a { width: 36px; height: 36px; border-radius: 50%; display: flex; align-items: center; justify-content: center; color: #fff; font-size: 19px; }
.fm-share .fm-share--fb { background: #1877F2; } .fm-share .fm-share--x { background: #000; } .fm-share .fm-share--li { background: #0A66C2; }
.fm-share .fm-share--wa { background: #25D366; } .fm-share .fm-share--mail { background: #7A7A7A; }
.fm-related { display: flex; gap: 20px; margin: 105px 0 0; padding-bottom: 96px; }
.fm-rel-card { width: 273px; height: 431px; background: #fff; border-radius: 4px; box-shadow: 0 3px 11px 0 rgba(0, 0, 0, .25); overflow: hidden; }
.fm-rel-card__img { height: 190px; background-size: cover; background-position: 50% 50%; display: block; }
.fm-rel-card__body { padding: 15px; }
.fm-rel-card h3 { font: 700 18px/27px 'Roboto Slab', serif; color: #525252; margin: 0; }
.fm-rel-card p { font: 400 15px/21px Roboto, sans-serif; color: #747474; margin: 19px 0 0; max-height: 84px; overflow: hidden; }

/* ---------- Responsive (old site had no usable mobile view; this keeps the same look) ---------- */
@media (max-width: 1000px) {
	.fm-header { height: auto; padding: 0 0 20px; }
	.fm-header .fm-logo { position: static; transform: none; display: flex; justify-content: center; }
	.fm-header .fm-logo img { width: 220px !important; height: 120px !important; }
	.fm-header nav.fm-nav { position: static; margin-top: 4px; }
	.fm-nav .wp-block-navigation__container { gap: 18px !important; flex-wrap: wrap; justify-content: center; }
	.fm-nav .wp-block-navigation-item:nth-child(3) { margin-right: 0; }
	.fm-hero.wp-block-cover { min-height: 600px !important; background-attachment: scroll; }
	.fm-hero .wp-block-cover__inner-container { padding: 80px 20px 90px; }
	.fm-hero h1 { font-size: 64px; line-height: 60px; }
	.fm-hero .fm-hero__sub { font-size: 22px; line-height: 26px; margin-top: 30px; text-align: center; width: auto; margin-left: 0; }
	.fm-hero .wp-block-buttons { justify-content: center; margin-left: 0; }
	.fm-about, .fm-lead .fm-lead__inner, .fm-team .fm-team__inner, .fm-pf-row .fm-pf-grid, .fm-kontakt .fm-kcards, .fm-form--kontakt .fm-form__row2 { display: block; height: auto; padding-left: 0; }
	.fm-about { height: auto; }
	.fm-about .fm-about__img { padding-right: 0; }
	.fm-about .fm-about__img img { width: 100%; height: auto; }
	.fm-about .fm-about__text { padding: 40px 20px; }
	.fm-about h2 { font-size: 48px; line-height: 52px; }
	.fm-about h2 + p { margin-top: 30px; }
	.fm-stats { padding: 50px 0 60px; }
	.fm-stats h2 { font-size: 36px; line-height: 40px; }
	.fm-stats .fm-cards4 { grid-template-columns: 1fr 1fr; margin-top: 40px; }
	.fm-card { height: auto; padding: 24px !important; }
	.fm-card .fm-card__num { font-size: 36px; line-height: 50px; }
	.fm-card .fm-card__text { font-size: 18px; line-height: 22px; }
	.fm-contact { display: block; height: auto; padding: 50px 20px; }
	.fm-contact .fm-contact__fb { display: none; }
	.fm-contact .fm-contact__info { margin: 0 0 40px; }
	.fm-bottom { height: auto; padding: 16px 20px; display: flex; flex-direction: column; gap: 12px; align-items: center; }
	.fm-bottom .fm-bottom__copy, .fm-bottom .fm-icons--footer { position: static; text-align: center; }
	.fm-lead { height: auto; }
	.fm-lead .fm-lead__img img { margin: 0 auto; width: 240px; height: 250px; }
	.fm-team { height: auto; padding-bottom: 30px; }
	.fm-pf-intro { height: auto; padding: 60px 20px 20px; }
	.fm-pf-intro h1, .fm-kontakt h1 { font-size: 44px; line-height: 48px; }
	.fm-pf-intro p { font-size: 22px; line-height: 30px; }
	.fm-kcard, .fm-kcards .fm-kcard { height: auto; margin-bottom: 20px; }
	.fm-form--kontakt button.fm-btn { margin-top: 20px; }
	.fm-imp-hero.wp-block-cover { min-height: 400px !important; padding: 80px 20px !important; }
	.fm-blog-head .wp-block-search { width: 100%; }
	.fm-blog-list .wp-block-post-template, .fm-related { grid-template-columns: 1fr !important; flex-direction: column; align-items: center; }
	.fm-post-hero.wp-block-cover { padding: 110px 0 100px !important; }
	.fm-post-hero .wp-block-post-title { font-size: 28px; line-height: 40px; }
}
@media (max-width: 599px) {
	.fm-header .fm-nav { justify-content: center; }
	.fm-nav .wp-block-navigation__responsive-container-open { color: #fff; }
	.fm-hero h1 { font-size: 46px; line-height: 46px; }
	.fm-stats .fm-cards4 { grid-template-columns: 1fr; }
	.fm-form--termin .fm-form__row3 { grid-template-columns: 1fr; }
	.fm-form--termin input, .fm-form--termin textarea { width: 100%; }
	.fm-form--termin button.fm-btn { margin-top: 24px; }
}
.fm-related { padding-bottom: 0 !important; }
.fm-rel-nav { width: 566px; display: flex; justify-content: center; gap: 60px; margin-top: 12px; padding-bottom: 58px; color: #C8C8C8; font-size: 26px; line-height: 1; }
@media (max-width: 1000px) { .fm-rel-nav { width: auto; } }

/* ---------- Mobile navigation ---------- */
.fm-nav .wp-block-navigation__responsive-container.is-menu-open { background: #EDBD31 !important; color: #fff !important; padding: 24px; }
.fm-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { gap: 22px !important; align-items: center; }
.fm-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item:nth-child(3) { margin-right: 0; }
.fm-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content { font-size: 20px; }
.fm-nav .wp-block-navigation__responsive-container-close { color: #fff; }
@media (max-width: 599px) {
	.fm-header { display: flex; align-items: center; justify-content: space-between; padding: 8px 20px; }
	.fm-header .fm-logo img { width: 170px !important; height: 92px !important; }
	.fm-header nav.fm-nav { margin: 0; }
	.fm-nav .wp-block-navigation__responsive-container-open { color: #fff; }
	.fm-nav .wp-block-navigation__responsive-container-open svg { width: 34px; height: 34px; }
}
@media (max-width: 1000px) {
	.fm-pf-intro + .fm-pf-row .fm-pf-col, .fm-pf-row + .fm-pf-row .fm-pf-col { height: auto; padding: 40px 20px !important; }
	.fm-pf-col .fm-pf-img { height: auto; }
	.fm-pf-col .fm-pf-img img { margin-left: 0 !important; }
}

/* ---------- Portfolio: per-column details of the old page ---------- */
@media (min-width: 1001px) {
	.fm-pf-intro + .fm-pf-row .fm-pf-col:first-child .fm-pf-img img { margin-top: 6px; }
	.fm-pf-intro + .fm-pf-row .fm-pf-col:nth-child(2) .fm-btn .wp-block-button__link { font-family: Barlow, sans-serif; }
	.fm-pf-row + .fm-pf-row .fm-pf-col:not(:first-child) h3 { margin-top: 15px; }
	.fm-pf-row + .fm-pf-row .fm-btn .wp-block-button__link { width: 192px; height: 48px; }
	.fm-pf-row + .fm-pf-row .fm-pf-col:first-child .fm-btn .wp-block-button__link { width: 202px; }
}
.fm-blog-head .wp-block-search__input::placeholder { color: #777; opacity: 1; }
