/* ФОРСАГРО — баннеры над шапкой. Высота одинаковая для всех баннеров: --fab-h-d / --fab-h-t / --fab-h-m */
.fab-wrap{position:relative;display:none;z-index:9990;width:100%;overflow:hidden;font-family:inherit}
.fab-wrap.fab-sticky{position:sticky;top:0}
.fab-b{position:absolute;inset:0;display:none;background:var(--fab-side,#26901b);color:var(--fab-fg,#fff);overflow:hidden;animation:fabfade .6s ease}
.fab-b.fab-off{display:none!important}
.fab-in{position:relative;height:100%;margin:0 auto;overflow:hidden}
.fab-bg{position:absolute;inset:0;overflow:hidden}
.fab-art{position:absolute;inset:0;width:100%;height:100%;display:none}
.fab-img{position:absolute;inset:0;width:100%!important;height:100%!important;max-width:none!important;object-fit:cover;display:block}
.fab-ov{position:absolute;inset:0}
.fab-cv{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.fab-cv-bg{z-index:1}.fab-cv-p{z-index:2}
.fab-link{position:absolute;inset:0;z-index:4}
.fab-content{position:absolute;inset:0;z-index:5;display:flex;align-items:center;justify-content:center;gap:10px 24px;padding:4px 64px;pointer-events:none;--fab-fs:1;box-sizing:border-box}
.fab-content a,.fab-content button{pointer-events:auto}
.fab-text{min-width:0;flex:0 1 auto;text-align:center;font-size:calc(var(--fab-fs)*17px);line-height:1.2;color:var(--fab-fg);max-height:100%;overflow:hidden;overflow-wrap:anywhere}
.fab-text p,.fab-text h2,.fab-text h3{margin:0;padding:0;line-height:1.2;color:inherit;font-size:inherit}
.fab-text p+p{margin-top:3px}
.fab-text a{color:inherit;text-decoration:underline}
.fab-plate .fab-text{background:rgba(0,0,0,.38);padding:5px 16px;border-radius:12px}
.fab-btn{flex:none;font-weight:700;font-size:max(13px,calc(var(--fab-fs)*16px));line-height:1.1;padding:.65em 1.6em;text-decoration:none!important;white-space:nowrap;box-shadow:0 2px 8px rgba(0,0,0,.18);transition:filter .2s}
.fab-btn:hover{filter:brightness(1.08)}
.fab-btn-pill{border-radius:999px}.fab-btn-round{border-radius:8px}.fab-btn-square{border-radius:0}
.fab-bp-right .fab-content{display:grid;grid-template-columns:minmax(0,1fr) auto auto;justify-items:center}
.fab-bp-below .fab-content{flex-direction:column;gap:4px}
.fab-bp-below .fab-btn{padding:.4em 1.3em}
/* таймер — всегда мельче заголовка */
.fab-timer{flex:none;display:flex;flex-direction:column;align-items:center;gap:3px;font-size:11px;line-height:1;color:var(--fab-fg)}
.fab-tb{display:flex;gap:5px}
.fab-tc{display:flex;flex-direction:column;align-items:center;justify-content:center;width:34px;height:34px;border-radius:6px;background:rgba(255,255,255,.93);color:#1d2327}
.fab-tc b{font-size:15px;line-height:1;font-weight:700}
.fab-tc i{font-size:9px;font-style:normal;color:#646970;margin-top:1px}
.fab-ts-m .fab-tc{width:40px;height:40px}.fab-ts-m .fab-tc b{font-size:18px}
.fab-timer.fab-done .fab-tb{display:none}
.fab-x{position:absolute;z-index:6;right:10px;top:50%;transform:translateY(-50%);width:32px;height:32px;padding:0;border:0;background:transparent;color:var(--fab-fg);font:400 24px/1 Arial,sans-serif;cursor:pointer;opacity:.85}
.fab-x:hover{opacity:1}
.fab-toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);background:#1d2327;color:#fff;padding:10px 18px;border-radius:999px;font-size:14px;z-index:99999;opacity:0;transition:opacity .25s;pointer-events:none}
.fab-toast.on{opacity:1}

/* компьютер */
@media (min-width:1000px){
	.fab-wrap.fab-has-d{display:block;height:var(--fab-h-d)}
	.fab-wrap:not(.fab-pre) .fab-first-d,.fab-wrap.fab-pre .fab-cur-d{display:block}
	.fab-art-d{display:block}
}
/* планшет */
@media (min-width:600px) and (max-width:999px){
	.fab-wrap.fab-has-t{display:block;height:var(--fab-h-t)}
	.fab-wrap:not(.fab-pre) .fab-first-t,.fab-wrap.fab-pre .fab-cur-t{display:block}
	.fab-art-t{display:block}
	.fab-content{--fab-fs:.85;padding:4px 48px;gap:8px 16px}
}
/* телефон */
@media (max-width:599px){
	.fab-wrap.fab-has-m{display:block;height:var(--fab-h-m)}
	.fab-wrap:not(.fab-pre) .fab-first-m,.fab-wrap.fab-pre .fab-cur-m{display:block}
	.fab-art-m{display:block}
	.fab-content{--fab-fs:.64;padding:6px 30px 6px 12px;gap:6px 10px}
	.fab-has-btn .fab-content,.fab-bp-right.fab-has-btn .fab-content{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center}
	.fab-has-timer .fab-content{display:grid;grid-template-columns:auto auto;grid-template-rows:minmax(0,1fr) auto;justify-content:center;align-content:center;row-gap:5px}
	.fab-has-timer .fab-text{grid-column:1/-1}
	.fab-has-timer:not(.fab-has-btn) .fab-timer{grid-column:1/-1}
	.fab-timer{flex-direction:row;gap:6px;font-size:9px}
	.fab-tc,.fab-ts-m .fab-tc{width:26px;height:26px;border-radius:5px}
	.fab-tc b,.fab-ts-m .fab-tc b{font-size:12px}
	.fab-tc i{font-size:7px}
	.fab-btn{padding:.55em 1.1em}
	.fab-x{top:3px;right:3px;transform:none;width:24px;height:24px;font-size:19px}
	.fab-bp-below .fab-content{display:flex}
}

/* эффекты текста и кнопки */
.fab-tx-pulse .fab-btn{animation:fabpulse 2.2s ease-in-out infinite}
.fab-tx-shine .fab-btn{position:relative;overflow:hidden}
.fab-tx-shine .fab-btn::after{content:"";position:absolute;top:0;bottom:0;left:-60%;width:40%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.55),transparent);animation:fabshine 3.2s ease-in-out infinite}
.fab-tx-typewriter .fab-text{animation:fabtype 2.8s steps(28) both}
.fab-tx-marquee .fab-content{justify-content:flex-start;overflow:hidden}
.fab-tx-marquee .fab-text{flex:none;white-space:nowrap;max-height:none;animation:fabmarq 18s linear infinite}
.fab-tx-neon .fab-text{animation:fabneon 1.8s ease-in-out infinite alternate}
.fab-tx-colorshift .fab-text{animation:fabhue 8s linear infinite}
.fab-tx-bounce .fab-text{animation:fabbounce 1.8s ease-in-out infinite}
.fab-tx-wobble .fab-text{animation:fabwobble 2.6s ease-in-out infinite}
.fab-tx-risein .fab-text,.fab-tx-risein .fab-btn,.fab-tx-risein .fab-timer{animation:fabrise .9s ease-out both}
.fab-tx-flip .fab-tc b.fab-fl{animation:fabflip .45s ease}
/* анимация иллюстраций шаблонов */
.fab-svganim .sway{transform-box:fill-box;transform-origin:50% 100%;animation:fabsway 4s ease-in-out infinite}
.fab-svganim .sway:nth-of-type(2n){animation-delay:-1.4s;animation-duration:4.6s}
.fab-svganim .sway:nth-of-type(3n){animation-delay:-2.3s;animation-duration:3.7s}
.fab-svganim .bob{transform-box:fill-box;transform-origin:50% 50%;animation:fabbob 3.4s ease-in-out infinite}
.fab-svganim .bob:nth-of-type(2n){animation-delay:-1.2s}
.fab-svganim .twinkle{transform-box:fill-box;transform-origin:50% 50%;animation:fabtw 2.6s ease-in-out infinite}
.fab-svganim .ray{transform-box:fill-box;animation:fabray 9s linear infinite}
.fab-svganim .shine{transform-box:fill-box;animation:fabsvgshine 6s ease-in-out infinite}
.fab-svganim .orn path{stroke-dasharray:1;animation:fabstitch 10s ease-in-out infinite}
.fab-flag .static-ribbon{display:none}
.fab-b.fab-paused *,.fab-b.fab-paused{animation-play-state:paused!important}
@keyframes fabfade{from{opacity:0}to{opacity:1}}
@keyframes fabpulse{0%,100%{transform:scale(1);box-shadow:0 0 0 0 rgba(255,255,255,.5)}50%{transform:scale(1.06);box-shadow:0 0 0 10px rgba(255,255,255,0)}}
@keyframes fabshine{0%,40%{left:-60%}80%,100%{left:130%}}
@keyframes fabtype{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}}
@keyframes fabmarq{from{transform:translateX(100vw)}to{transform:translateX(-100%)}}
@keyframes fabneon{from{text-shadow:0 0 2px currentColor}to{text-shadow:0 0 6px currentColor,0 0 16px currentColor}}
@keyframes fabhue{to{filter:hue-rotate(360deg)}}
@keyframes fabbounce{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}
@keyframes fabwobble{0%,100%{transform:rotate(-1.2deg)}50%{transform:rotate(1.2deg)}}
@keyframes fabrise{from{transform:translateY(18px);opacity:0}to{transform:none;opacity:1}}
@keyframes fabflip{0%{transform:rotateX(90deg)}100%{transform:rotateX(0)}}
@keyframes fabsway{0%,100%{transform:rotate(-3deg)}50%{transform:rotate(3deg)}}
@keyframes fabbob{0%,100%{transform:translateY(-2px) rotate(-2deg)}50%{transform:translateY(2px) rotate(2deg)}}
@keyframes fabtw{0%,100%{opacity:.75;transform:scale(.92)}50%{opacity:1;transform:scale(1.1)}}
@keyframes fabray{from{transform:translateX(0)}to{transform:translateX(640%)}}
@keyframes fabsvgshine{0%,35%{transform:translateX(0)}75%,100%{transform:translateX(1400%)}}
@keyframes fabstitch{0%{stroke-dashoffset:1}40%,85%{stroke-dashoffset:0}100%{stroke-dashoffset:1}}
@media (prefers-reduced-motion:reduce){.fab-b *,.fab-b{animation:none!important}.fab-flag .static-ribbon{display:inline}}
