/*! Flexi Builder — Copyright (c) 2026 BoholwebWP (https://boholwebwp.com). MIT License. Base styles for builder elements (low specificity so designs override them). */
:root{--flx-color-primary:#5b4cf0;--flx-color-secondary:#0f172a;--flx-color-accent:#f59e0b;--flx-color-text:#334155;--flx-color-heading:#0f172a;--flx-color-muted:#64748b;--flx-color-light:#f6f7fb;--flx-color-border:#e2e8f0;--flx-color-white:#fff;--flx-font-body:"Inter",system-ui,sans-serif;--flx-font-heading:"Inter",system-ui,sans-serif}
.flx-doc{font-family:var(--flx-font-body);line-height:1.65;color:var(--flx-color-text)}
.flx-doc :is(h1,h2,h3,h4,h5,h6){font-family:var(--flx-font-heading);line-height:1.2;color:var(--flx-color-heading);font-weight:700}
.flx-doc h1{font-size:52px}.flx-doc h2{font-size:40px}.flx-doc h3{font-size:24px}
@media (max-width:767px){.flx-doc h1{font-size:36px}.flx-doc h2{font-size:30px}}
.flx-doc,.flx-canvas{--flx-c-primary:var(--flx-color-primary,#5b4cf0);--flx-c-heading:var(--flx-color-heading,#0f172a);--flx-c-text:var(--flx-color-text,#334155);--flx-c-muted:var(--flx-color-muted,#64748b);--flx-c-border:var(--flx-color-border,#e2e8f0);--flx-c-light:var(--flx-color-light,#f6f7fb)}
.flx-doc *,.flx-doc *::before,.flx-doc *::after,.flx-canvas *,.flx-canvas *::before,.flx-canvas *::after{box-sizing:border-box}
.flx-doc{display:block;width:100%}
.flx-doc :is(h1,h2,h3,h4,h5,h6,p,figure,blockquote,ul,ol){margin:0}
.flx-doc img,.flx-canvas img{max-width:100%;height:auto;display:block}
.flx-doc svg.flx-svg,.flx-canvas svg.flx-svg{width:1em;height:1em;display:inline-block;vertical-align:-.125em;flex:none}
body.flx-page{margin:0;background:#fff;color:var(--flx-c-text,#334155);-webkit-font-smoothing:antialiased}
.flx-main{display:block}
.flx-container{max-width:var(--flx-container,1200px);margin:0 auto;padding:48px var(--flx-gutter,24px)}
.flx-fallback__title{margin-bottom:24px}
.flx-fallback__item{padding:16px 0;border-bottom:1px solid var(--flx-c-border)}
.flx-error{padding:10px 14px;border:1px solid #fecaca;background:#fef2f2;color:#b91c1c;border-radius:8px;font:13px/1.4 system-ui,sans-serif}

/* visibility */
@media (min-width:1025px){.flx-hide-desktop{display:none!important}}
@media (min-width:768px) and (max-width:1024px){.flx-hide-tablet{display:none!important}}
@media (max-width:767px){.flx-hide-mobile{display:none!important}}
.flx-has-overlay{position:relative;isolation:isolate}
.flx-has-overlay>*{position:relative;z-index:1}

/* section */
.flx-section{position:relative;padding:var(--flx-section-py,96px) 0;display:block}
.flx-section__inner{max-width:var(--flx-container,1200px);margin:0 auto;padding:0 var(--flx-gutter,24px);position:relative;z-index:1;display:flex;flex-direction:column;gap:var(--flx-gap,24px)}
.flx-section--wide>.flx-section__inner{max-width:1600px}
.flx-section--full>.flx-section__inner{max-width:none}
.flx-section--h-screen{min-height:100vh;display:flex;flex-direction:column;justify-content:center}
.flx-section--h-half{min-height:50vh;display:flex;flex-direction:column;justify-content:center}
.flx-section--h-screen>.flx-section__inner,.flx-section--h-half>.flx-section__inner{width:100%}
.flx-section__video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
.flx-section.flx-has-video{overflow:hidden}
.flx-section__divider{position:absolute;left:0;right:0;bottom:-1px;line-height:0;z-index:1;pointer-events:none}
.flx-section__divider svg{width:100%;height:clamp(40px,6vw,90px)}
.flx-doc--header .flx-section,.flx-doc--footer .flx-section:first-child{}

/* div / columns */
.flx-div{display:flex;flex-direction:column;gap:16px;min-width:0}
.flx-div--link{text-decoration:none;color:inherit}
.flx-columns{display:grid;grid-template-columns:1fr 1fr;gap:var(--flx-gap,24px);width:100%}
.flx-column{display:flex;flex-direction:column;gap:16px;min-width:0}
@media (max-width:1024px){.flx-columns--stack-tablet{grid-template-columns:1fr!important}}
@media (max-width:767px){.flx-columns--stack-mobile{grid-template-columns:1fr!important}}
.flx-spacer{height:48px}

/* divider */
.flx-divider__wrap{display:flex;align-items:center;gap:14px;width:var(--flx-div-width,100%)}
.flx-divider--center .flx-divider__wrap{margin:0 auto}
.flx-divider--right .flx-divider__wrap{margin-left:auto}
.flx-divider__line{flex:1;border-top:var(--flx-div-weight,1px) var(--flx-div-style,solid) var(--flx-div-color,currentColor);display:block}
.flx-divider__text{font-size:14px;color:var(--flx-c-muted);white-space:nowrap}

/* typography elements */
.flx-heading{color:var(--flx-c-heading)}
.flx-heading__link{color:inherit;text-decoration:none}
.flx-text__inner>*+*{margin-top:1em}
.flx-text__inner :is(ul,ol){padding-left:1.4em}
.flx-text a,.flx-prose a{color:var(--flx-link,var(--flx-c-primary));text-decoration:underline;text-underline-offset:2px}
.flx-text a:hover,.flx-prose a:hover{color:var(--flx-link-hover,var(--flx-c-heading))}
.flx-prose>*+*{margin-top:1.1em}
.flx-prose :is(h2,h3,h4){margin-top:1.6em}
.flx-prose img{border-radius:12px}
.flx-prose blockquote{border-left:4px solid var(--flx-c-primary);padding-left:18px;font-style:italic}

/* buttons */
.flx-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5em;padding:var(--flx-btn-py,14px) var(--flx-btn-px,26px);border-radius:var(--flx-btn-radius,10px);font-size:var(--flx-btn-size,15px);font-weight:var(--flx-btn-weight,600);line-height:1.2;text-decoration:none;border:1.5px solid transparent;cursor:pointer;transition:background-color .2s,color .2s,border-color .2s,transform .2s,box-shadow .2s;font-family:inherit;white-space:nowrap}
.flx-btn--primary{background:var(--flx-btn-primary-bg,var(--flx-c-primary));color:var(--flx-btn-primary-color,#fff)}
.flx-btn--primary:hover{background:var(--flx-btn-primary-hover,var(--flx-c-heading));color:var(--flx-btn-primary-color,#fff);transform:translateY(-1px)}
.flx-btn--secondary{background:var(--flx-btn-secondary-bg,transparent);color:var(--flx-btn-secondary-color,var(--flx-c-heading));border-color:var(--flx-btn-secondary-border,var(--flx-c-border))}
.flx-btn--secondary:hover{border-color:var(--flx-c-heading)}
.flx-btn--outline{background:transparent;color:var(--flx-c-primary);border-color:currentColor}
.flx-btn--outline:hover{background:var(--flx-c-primary);color:#fff;border-color:var(--flx-c-primary)}
.flx-btn--text{background:none;color:var(--flx-c-primary);padding-left:0;padding-right:0}
.flx-btn--text:hover{gap:.75em}
.flx-btn--custom{background:var(--flx-c-light);color:var(--flx-c-heading)}
.flx-btn--sm{padding:9px 16px;font-size:14px}
.flx-btn--lg{padding:17px 32px;font-size:16px}
.flx-btn--xl{padding:20px 40px;font-size:18px}
.flx-btn--block{width:100%}
.flx-button--full .flx-button__btn{width:100%}
.flx-button__icon,.flx-btn .flx-svg{display:inline-flex}
.flx-button-group{display:flex;flex-wrap:wrap;gap:12px}

/* image */
.flx-image{margin:0}
.flx-image a{display:block}
.flx-image__caption,.flx-gallery figcaption{font-size:14px;color:var(--flx-c-muted);margin-top:8px}
.flx-icon{display:flex;font-size:40px;color:var(--flx-c-primary);line-height:1}
.flx-icon a{color:inherit;display:inline-flex}
.flx-icon__wrap{display:inline-flex;align-items:center;justify-content:center}
.flx-icon--stacked{background:var(--flx-c-primary);color:#fff;padding:.45em}
.flx-icon--framed{border:2px solid currentColor;padding:.4em}
.flx-icon--circle{border-radius:999px}
.flx-icon--square{border-radius:12px}

/* icon box */
.flx-icon-box{display:flex;flex-direction:column;gap:16px}
.flx-icon-box--left{flex-direction:row;align-items:flex-start}
.flx-icon-box--right{flex-direction:row-reverse;align-items:flex-start}
.flx-icon-box__media{font-size:32px;color:var(--flx-c-primary);display:inline-flex;align-self:flex-start;line-height:1;flex:none}
.flx-align-center .flx-icon-box__media,.flx-icon-box.flx-align-center{align-items:center;text-align:center}
.flx-icon-box.flx-align-center .flx-icon-box__media{align-self:center}
.flx-icon-box.flx-align-right{text-align:right}
.flx-icon-box.flx-align-right .flx-icon-box__media{align-self:flex-end}
.flx-icon-box__media--img img{width:72px;height:72px;object-fit:cover;border-radius:14px}
.flx-icon-box__title{font-size:20px;margin-bottom:8px;color:var(--flx-c-heading)}
.flx-icon-box__title a{color:inherit;text-decoration:none}
.flx-icon-box__text{color:var(--flx-c-muted)}
.flx-icon-box__more{display:inline-flex;align-items:center;gap:6px;margin-top:12px;color:var(--flx-c-primary);font-weight:600;text-decoration:none}

/* icon list */
.flx-icon-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.flx-icon-list--inline{flex-direction:row;flex-wrap:wrap;gap:12px 24px}
.flx-icon-list__item{display:flex}
.flx-icon-list__item>*,.flx-icon-list__link{display:flex;align-items:flex-start;gap:10px;color:inherit;text-decoration:none}
.flx-icon-list__icon{color:var(--flx-c-primary);display:inline-flex;margin-top:.2em}
.flx-icon-list--divider .flx-icon-list__item+.flx-icon-list__item{border-top:1px solid var(--flx-c-border);padding-top:10px}

/* video & map */
.flx-video__frame{position:relative;width:100%;overflow:hidden;border-radius:inherit;background:#000}
.flx-video__media{position:absolute;inset:0;width:100%;height:100%;border:0;object-fit:cover}
.flx-video__cover{position:absolute;inset:0;border:0;padding:0;cursor:pointer;background:#000 center/cover no-repeat;display:grid;place-items:center}
.flx-video__play{width:76px;height:76px;border-radius:999px;background:rgba(255,255,255,.92);color:#111;display:grid;place-items:center;font-size:28px;transition:transform .2s;box-shadow:0 10px 30px rgba(0,0,0,.3)}
.flx-video__cover:hover .flx-video__play{transform:scale(1.08)}
.flx-map iframe{width:100%;border:0;display:block;border-radius:inherit}
.flx-map--gray iframe{filter:grayscale(1)}

/* gallery */
.flx-gallery{display:grid;grid-template-columns:repeat(var(--flx-gal-cols,3),minmax(0,1fr));gap:12px}
.flx-gallery__item{margin:0;overflow:hidden;border-radius:10px}
.flx-gallery__item img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.flx-gallery__item a:hover img{transform:scale(1.04)}

/* social */
.flx-social-icons{display:flex;flex-wrap:wrap;gap:10px}
.flx-social__link{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;font-size:18px;color:var(--flx-c-heading);text-decoration:none;transition:transform .2s,opacity .2s}
.flx-social__link:hover{transform:translateY(-2px);opacity:.9}
.flx-social--stacked .flx-social__link{background:var(--flx-c-heading);color:#fff}
.flx-social--framed .flx-social__link{border:1.5px solid var(--flx-c-border)}
.flx-social--plain .flx-social__link{width:auto;height:auto}
.flx-social--circle .flx-social__link{border-radius:999px}
.flx-social--rounded .flx-social__link{border-radius:10px}
.flx-social--brand.flx-social--stacked .flx-social--facebook{background:#1877f2}
.flx-social--brand.flx-social--stacked .flx-social--instagram{background:linear-gradient(45deg,#f58529,#dd2a7b,#8134af)}
.flx-social--brand.flx-social--stacked .flx-social--youtube{background:#ff0000}
.flx-social--brand.flx-social--stacked .flx-social--linkedin{background:#0a66c2}
.flx-social--brand.flx-social--stacked .flx-social--twitter{background:#111}
.flx-social--brand.flx-social--stacked .flx-social--github{background:#24292f}
.flx-social--brand:not(.flx-social--stacked) .flx-social--facebook{color:#1877f2}
.flx-social--brand:not(.flx-social--stacked) .flx-social--instagram{color:#dd2a7b}
.flx-social--brand:not(.flx-social--stacked) .flx-social--youtube{color:#ff0000}
.flx-social--brand:not(.flx-social--stacked) .flx-social--linkedin{color:#0a66c2}

/* rating, alert, testimonial */
.flx-star-rating{display:flex;align-items:center;gap:10px}
.flx-star-rating__stars{display:inline-flex;font-size:20px;line-height:1;letter-spacing:2px}
.flx-star{background:linear-gradient(90deg,var(--flx-star,#f59e0b) var(--fill),#d7dbe5 var(--fill));-webkit-background-clip:text;background-clip:text;color:transparent}
.flx-star-rating__label{color:var(--flx-c-muted);font-size:14px}
.flx-alert{display:flex;gap:12px;align-items:flex-start;padding:14px 18px;border-radius:12px;border:1px solid;font-size:15px}
.flx-alert__icon{font-size:20px;display:inline-flex}
.flx-alert__body{flex:1}
.flx-alert__title{display:block;margin-bottom:2px}
.flx-alert__close{background:none;border:0;font-size:22px;line-height:1;cursor:pointer;color:inherit;opacity:.6}
.flx-alert--info{background:#eff6ff;border-color:#bfdbfe;color:#1e40af}
.flx-alert--success{background:#f0fdf4;border-color:#bbf7d0;color:#166534}
.flx-alert--warning{background:#fffbeb;border-color:#fde68a;color:#92400e}
.flx-alert--danger{background:#fef2f2;border-color:#fecaca;color:#991b1b}
.flx-testimonial{margin:0;display:flex;flex-direction:column;gap:18px}
.flx-testimonial.flx-align-center{align-items:center;text-align:center}
.flx-testimonial__stars{color:#f59e0b;letter-spacing:2px}
.flx-testimonial__quote{margin:0;font-size:17px;line-height:1.65;color:var(--flx-c-heading)}
.flx-testimonial__author{display:flex;align-items:center;gap:12px}
.flx-testimonial__author>span{display:flex;flex-direction:column}
.flx-testimonial__avatar{width:48px;height:48px;border-radius:999px;object-fit:cover;flex:none}
.flx-testimonial__avatar--initial{display:grid;place-items:center;background:var(--flx-c-primary);color:#fff;font-weight:700}
.flx-testimonial__role{font-size:14px;color:var(--flx-c-muted)}

/* tabs */
.flx-tabs{display:flex;flex-direction:column;gap:0}
.flx-tabs--vertical{flex-direction:row;gap:28px}
.flx-tabs__nav{display:flex;gap:4px;flex-wrap:wrap}
.flx-tabs--vertical .flx-tabs__nav{flex-direction:column;flex:0 0 220px}
.flx-tabs__btn{display:inline-flex;align-items:center;gap:8px;background:none;border:0;padding:12px 18px;font:inherit;font-weight:600;color:var(--flx-c-muted);cursor:pointer;transition:color .2s,background-color .2s,border-color .2s}
.flx-tabs--underline .flx-tabs__nav{border-bottom:1px solid var(--flx-c-border)}
.flx-tabs--underline .flx-tabs__btn{border-bottom:2px solid transparent;margin-bottom:-1px}
.flx-tabs--underline .flx-tabs__btn.is-active{color:var(--flx-c-primary);border-color:var(--flx-c-primary)}
.flx-tabs--pills .flx-tabs__btn{border-radius:999px}
.flx-tabs--pills .flx-tabs__btn.is-active{background:var(--flx-c-primary);color:#fff}
.flx-tabs--boxed .flx-tabs__btn{border:1px solid var(--flx-c-border);border-radius:10px 10px 0 0;margin-bottom:-1px}
.flx-tabs--boxed .flx-tabs__btn.is-active{background:#fff;color:var(--flx-c-heading);border-bottom-color:#fff}
.flx-tabs--boxed .flx-tabs__panels{border:1px solid var(--flx-c-border);border-radius:0 10px 10px 10px}
.flx-tabs__panels{padding:24px 0;flex:1;min-width:0}
.flx-tabs--boxed .flx-tabs__panels{padding:24px}
.flx-tabs__panel{display:none;flex-direction:column;gap:16px}
.flx-tabs__panel.is-active{display:flex}
.flx-js .flx-tabs__panel:first-child:not(.is-active){display:none}
.flx-tabs__panels>.flx-tabs__panel:first-child{display:flex}
.flx-js .flx-tabs__panels>.flx-tabs__panel:first-child:not(.is-active){display:none}
@media (max-width:767px){.flx-tabs--vertical{flex-direction:column}.flx-tabs--vertical .flx-tabs__nav{flex:none;flex-direction:row}}

/* accordion */
.flx-accordion{display:flex;flex-direction:column;gap:10px}
.flx-accordion-item{border:1px solid var(--flx-c-border);border-radius:12px;background:#fff;overflow:hidden}
.flx-accordion__title{all:unset;box-sizing:border-box;width:100%;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 22px;font-weight:600;color:var(--flx-c-heading);cursor:pointer;text-align:left}
.flx-accordion__title:focus-visible{outline:2px solid var(--flx-c-primary);outline-offset:-2px}
.flx-accordion__icon{position:relative;width:14px;height:14px;flex:none;transition:transform .25s}
.flx-accordion--icon-plus .flx-accordion__icon::before,.flx-accordion--icon-plus .flx-accordion__icon::after{content:"";position:absolute;left:0;right:0;top:6px;height:2px;background:currentColor;border-radius:2px;transition:transform .25s}
.flx-accordion--icon-plus .flx-accordion__icon::after{transform:rotate(90deg)}
.flx-accordion--icon-plus .is-open>.flx-accordion__title .flx-accordion__icon::after{transform:rotate(0)}
.flx-accordion--icon-chevron .flx-accordion__icon::before{content:"";position:absolute;inset:2px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translate(-2px,-2px)}
.flx-accordion--icon-chevron .is-open>.flx-accordion__title .flx-accordion__icon{transform:rotate(180deg)}
.flx-accordion__body{height:0;overflow:hidden;transition:height .3s ease}
.flx-accordion-item.is-open>.flx-accordion__body{height:auto}
.flx-js .flx-accordion-item.is-open>.flx-accordion__body{height:auto}
.flx-accordion__inner{padding:0 22px 20px;display:flex;flex-direction:column;gap:12px}

/* slider */
.flx-slider{position:relative}
.flx-slider__track{display:flex;gap:var(--flx-gap,24px);overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;scroll-behavior:smooth}
.flx-slider__track::-webkit-scrollbar{display:none}
.flx-slider__slide{flex:0 0 calc((100% - (var(--flx-per,1) - 1) * var(--flx-gap,24px)) / var(--flx-per,1));scroll-snap-align:start;display:flex;flex-direction:column;gap:16px;min-width:0;text-decoration:none;color:inherit}
.flx-slider__arrow{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;border-radius:999px;border:0;background:#fff;color:var(--flx-c-heading);box-shadow:0 6px 20px rgba(15,23,42,.18);cursor:pointer;display:grid;place-items:center;font-size:18px;z-index:2}
.flx-slider__arrow--prev{left:12px}
.flx-slider__arrow--next{right:12px}
.flx-slider__dots{display:flex;justify-content:center;gap:8px;margin-top:18px}
.flx-slider__dot{width:9px;height:9px;border-radius:999px;border:0;padding:0;background:var(--flx-c-border);cursor:pointer;transition:width .25s,background-color .25s}
.flx-slider__dot.is-active{width:26px;background:var(--flx-c-primary)}

/* counter, progress, countdown */
.flx-counter__number{font-size:44px;font-weight:800;line-height:1.1;color:var(--flx-c-heading)}
.flx-counter__label{color:var(--flx-c-muted);margin-top:4px}
.flx-progress__head{display:flex;justify-content:space-between;font-weight:600;margin-bottom:8px;color:var(--flx-c-heading)}
.flx-progress__track{background:var(--flx-c-light);border-radius:999px;overflow:hidden}
.flx-progress__bar{height:100%;width:var(--flx-p);border-radius:inherit;transition:width 1.2s ease}
.flx-countdown{display:flex;gap:12px;flex-wrap:wrap}
.flx-countdown__unit{display:flex;flex-direction:column;align-items:center;min-width:76px;padding:14px 10px;border-radius:12px;background:var(--flx-c-light)}
.flx-countdown__num{font-size:34px;font-weight:800;line-height:1;color:var(--flx-c-heading);font-variant-numeric:tabular-nums}
.flx-countdown__label{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--flx-c-muted);margin-top:6px}
.flx-countdown__expired{font-weight:600}

/* pricing */
.flx-pricing{position:relative;display:flex;flex-direction:column;gap:20px;padding:34px 30px;border:1px solid var(--flx-c-border);border-radius:20px;background:#fff;height:100%}
.flx-pricing.is-featured{border:2px solid var(--flx-c-primary);box-shadow:0 24px 50px -20px rgba(91,76,240,.35)}
.flx-pricing__badge{position:absolute;top:-13px;left:30px;background:var(--flx-c-primary);color:#fff;font-size:12px;font-weight:700;padding:5px 12px;border-radius:999px}
.flx-pricing__title{font-size:20px}
.flx-pricing__desc{color:var(--flx-c-muted);margin-top:4px;font-size:15px}
.flx-pricing__price{display:flex;align-items:baseline;gap:4px;color:var(--flx-c-heading);flex-wrap:wrap}
.flx-pricing__price del{color:var(--flx-c-muted);margin-right:6px}
.flx-pricing__currency{font-size:22px;font-weight:700}
.flx-pricing__amount{font-size:46px;font-weight:800;line-height:1}
.flx-pricing__period{color:var(--flx-c-muted)}
.flx-pricing__features{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px;flex:1}
.flx-pricing__features li{display:flex;gap:10px;align-items:flex-start}
.flx-pricing__features .flx-svg{color:#16a34a;margin-top:.25em}
.flx-pricing__features li.is-off{color:var(--flx-c-muted);text-decoration:line-through}
.flx-pricing__features li.is-off .flx-svg{color:#cbd5e1}
.flx-pricing__btn{width:100%}

/* menu */
.flx-menu{position:relative;display:flex;align-items:center}
.flx-menu__panel{display:flex;justify-content:var(--flx-menu-align,flex-end);width:100%}
.flx-menu__list,.flx-menu__sub{list-style:none;margin:0;padding:0}
.flx-menu__list{display:flex;flex-wrap:wrap;align-items:center;gap:4px}
.flx-menu--vertical .flx-menu__list{flex-direction:column;align-items:stretch}
.flx-menu__item{position:relative;display:flex;align-items:center}
.flx-menu__link{display:block;padding:10px 14px;color:var(--flx-c-heading);text-decoration:none;font-weight:500;border-radius:8px;transition:color .2s,background-color .2s}
.flx-menu__link:hover,.flx-menu__item.is-active>.flx-menu__link{color:var(--flx-c-primary)}
.flx-menu__caret{background:none;border:0;padding:4px;margin-left:-8px;cursor:pointer;color:inherit;width:22px;height:22px;position:relative}
.flx-menu__caret::before{content:"";position:absolute;left:7px;top:5px;width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg)}
.flx-menu__sub{position:absolute;top:100%;left:0;min-width:220px;background:#fff;border-radius:12px;box-shadow:0 18px 40px -12px rgba(15,23,42,.25);padding:8px;opacity:0;visibility:hidden;transform:translateY(6px);transition:opacity .2s,transform .2s,visibility .2s;z-index:50}
.flx-menu__sub .flx-menu__sub{top:0;left:100%}
.flx-menu__item:hover>.flx-menu__sub,.flx-menu__item:focus-within>.flx-menu__sub,.flx-menu__item.is-open>.flx-menu__sub{opacity:1;visibility:visible;transform:none}
.flx-menu__sub .flx-menu__item{display:block}
.flx-menu__sub .flx-menu__link{padding:9px 12px}
.flx-menu__toggle{display:none;background:none;border:0;cursor:pointer;width:44px;height:44px;padding:11px 10px;flex-direction:column;justify-content:space-between;margin-left:auto;color:var(--flx-c-heading)}
.flx-menu__toggle span{display:block;height:2px;background:currentColor;border-radius:2px;transition:transform .25s,opacity .25s}
.flx-menu.is-open .flx-menu__toggle span:nth-child(1){transform:translateY(9px) rotate(45deg)}
.flx-menu.is-open .flx-menu__toggle span:nth-child(2){opacity:0}
.flx-menu.is-open .flx-menu__toggle span:nth-child(3){transform:translateY(-9px) rotate(-45deg)}
@media (max-width:1024px){
  .flx-menu--mobile-tablet .flx-menu__toggle{display:flex}
  .flx-menu--mobile-tablet .flx-menu__panel{display:none}
  .flx-menu--mobile-tablet.is-open .flx-menu__panel{display:block}
  .flx-menu--mobile-tablet .flx-menu__list{flex-direction:column;align-items:stretch}
  .flx-menu--mobile-tablet .flx-menu__item{flex-wrap:wrap}
  .flx-menu--mobile-tablet .flx-menu__link{flex:1}
  .flx-menu--mobile-tablet .flx-menu__sub{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;display:none;width:100%;padding:0 0 0 14px}
  .flx-menu--mobile-tablet .flx-menu__item.is-open>.flx-menu__sub{display:block}
  .flx-menu--mobile-tablet.flx-menu--m-dropdown .flx-menu__panel{position:absolute;top:100%;right:0;left:auto;width:min(92vw,360px);background:#fff;border-radius:14px;box-shadow:0 20px 50px -15px rgba(15,23,42,.3);padding:10px;z-index:100}
  .flx-menu--mobile-tablet.flx-menu--m-offcanvas .flx-menu__panel{position:fixed;top:0;right:0;bottom:0;width:min(86vw,340px);background:#fff;padding:72px 18px 18px;z-index:999;box-shadow:-20px 0 50px rgba(15,23,42,.2);overflow:auto}
  .flx-menu--mobile-tablet.flx-menu--m-fullscreen .flx-menu__panel{position:fixed;inset:0;background:#fff;padding:80px 24px;z-index:999;overflow:auto}
  .flx-menu--mobile-tablet.is-open .flx-menu__toggle{position:relative;z-index:1000}
}
@media (max-width:767px){
  .flx-menu--mobile-mobile .flx-menu__toggle{display:flex}
  .flx-menu--mobile-mobile .flx-menu__panel{display:none}
  .flx-menu--mobile-mobile.is-open .flx-menu__panel{display:block}
  .flx-menu--mobile-mobile .flx-menu__list{flex-direction:column;align-items:stretch}
  .flx-menu--mobile-mobile .flx-menu__item{flex-wrap:wrap}
  .flx-menu--mobile-mobile .flx-menu__link{flex:1}
  .flx-menu--mobile-mobile .flx-menu__sub{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;display:none;width:100%;padding:0 0 0 14px}
  .flx-menu--mobile-mobile .flx-menu__item.is-open>.flx-menu__sub{display:block}
  .flx-menu--mobile-mobile.flx-menu--m-dropdown .flx-menu__panel{position:absolute;top:100%;right:0;width:min(92vw,360px);background:#fff;border-radius:14px;box-shadow:0 20px 50px -15px rgba(15,23,42,.3);padding:10px;z-index:100}
  .flx-menu--mobile-mobile.flx-menu--m-offcanvas .flx-menu__panel{position:fixed;top:0;right:0;bottom:0;width:min(86vw,340px);background:#fff;padding:72px 18px 18px;z-index:999;overflow:auto}
  .flx-menu--mobile-mobile.flx-menu--m-fullscreen .flx-menu__panel{position:fixed;inset:0;background:#fff;padding:80px 24px;z-index:999;overflow:auto}
  .flx-menu--mobile-mobile.is-open .flx-menu__toggle{position:relative;z-index:1000}
}
html.flx-menu-locked{overflow:hidden}

/* site logo, search */
.flx-site-logo{display:flex}
.flx-site-logo__link{display:inline-flex;align-items:center;text-decoration:none;color:inherit}
.flx-site-logo img{max-height:48px;width:auto}
.flx-site-logo__text{font-size:22px;font-weight:800;color:var(--flx-c-heading);letter-spacing:-.01em}
.flx-search-form{display:flex;border:1px solid var(--flx-c-border);border-radius:10px;overflow:hidden;background:#fff}
.flx-search-form input{flex:1;border:0;padding:12px 14px;font:inherit;background:transparent;min-width:0;outline:none}
.flx-search-form__btn{border:0;background:var(--flx-c-primary);color:#fff;padding:0 16px;cursor:pointer;font:inherit;font-weight:600;display:inline-flex;align-items:center}

/* dynamic */
.flx-entry-title a{color:inherit;text-decoration:none}
.flx-entry-title a:hover{color:var(--flx-c-primary)}
.flx-featured-image{margin:0}
.flx-featured-image img[src=""]{display:none}
.flx-entry-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px;color:var(--flx-c-muted);font-size:14px}
.flx-entry-meta__item{display:inline-flex;align-items:center;gap:6px}
.flx-entry-meta__item:empty{display:none}
.flx-breadcrumbs__nav{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.flx-breadcrumbs a,.flx-entry-terms a{color:inherit;text-decoration:none}
.flx-breadcrumbs a:hover,.flx-entry-terms a:hover{color:var(--flx-c-primary)}
.flx-breadcrumbs__sep{opacity:.5}
.flx-loop__items{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.flx-loop__item{display:flex;flex-direction:column;gap:6px;min-width:0}
.flx-loop__empty{padding:24px;text-align:center;color:var(--flx-c-muted)}
.flx-loop__pagination{display:flex;justify-content:center;align-items:center;gap:14px;margin-top:32px}
.flx-loop__pagination a{padding:10px 18px;border:1px solid var(--flx-c-border);border-radius:10px;text-decoration:none;color:var(--flx-c-heading);font-weight:600}
.flx-loop__page{color:var(--flx-c-muted)}

/* forms */
.flx-form__fields{display:flex;flex-wrap:wrap;gap:16px}
.flx-form__field{flex:0 0 100%;display:flex;flex-direction:column;gap:6px;min-width:0}
.flx-form__field[style*="--w:100%"]{flex-basis:100%}
.flx-form__field[style*="--w:50%"]{flex-basis:calc(50% - 8px)}
.flx-form__field[style*="--w:33.333%"]{flex-basis:calc(33.333% - 11px)}
.flx-form__field[style*="--w:66.666%"]{flex-basis:calc(66.666% - 6px)}
.flx-form__field[style*="--w:25%"]{flex-basis:calc(25% - 12px)}
@media (max-width:767px){.flx-form__field{flex-basis:100%!important}}
.flx-form__label{font-size:14px;font-weight:600;color:var(--flx-c-heading)}
.flx-form__req{color:#dc2626;margin-left:2px}
.flx-form__input{width:100%;padding:12px 14px;border:1px solid var(--flx-c-border);border-radius:10px;background:#fff;font:inherit;color:var(--flx-c-heading);transition:border-color .2s,box-shadow .2s}
.flx-form__input:focus{outline:none;border-color:var(--flx-c-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--flx-c-primary) 18%,transparent)}
textarea.flx-form__input{resize:vertical;min-height:110px}
.flx-form__choices{display:flex;flex-wrap:wrap;gap:8px 18px}
.flx-form__choice{display:inline-flex;gap:6px;align-items:center;cursor:pointer}
.flx-form__field.has-error .flx-form__input{border-color:#dc2626}
.flx-form__error{font-size:13px;color:#dc2626;min-height:0}
.flx-form__error:empty{display:none}
.flx-form__actions{flex-direction:row;align-items:center}
.flx-form__message{margin-top:14px;font-weight:500}
.flx-form__message:empty{display:none}
.flx-form__message.is-success{padding:12px 16px;border-radius:10px;background:#f0fdf4;color:#166534}
.flx-form__message.is-error{padding:12px 16px;border-radius:10px;background:#fef2f2;color:#991b1b}
.flx-form__hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.flx-form.is-sending .flx-form__submit{opacity:.6;cursor:progress}

/* animations */
html.flx-js .flx-anim[data-flx-anim]:not(.is-in){opacity:0}
.flx-anim{transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1)}
html.flx-js .flx-anim--fade-up:not(.is-in){transform:translateY(32px)}
html.flx-js .flx-anim--fade-down:not(.is-in){transform:translateY(-32px)}
html.flx-js .flx-anim--fade-left:not(.is-in){transform:translateX(40px)}
html.flx-js .flx-anim--fade-right:not(.is-in){transform:translateX(-40px)}
html.flx-js .flx-anim--zoom-in:not(.is-in){transform:scale(.9)}
html.flx-js .flx-anim--zoom-out:not(.is-in){transform:scale(1.08)}
html.flx-js .flx-anim--flip-up:not(.is-in){transform:perspective(800px) rotateX(18deg) translateY(20px)}
html.flx-js .flx-anim--slide-up:not(.is-in){transform:translateY(80px)}
@media (prefers-reduced-motion:reduce){.flx-anim{transition:none!important;transform:none!important;opacity:1!important}}

/* header behaviour */
.flx-doc--header{position:relative;z-index:100}
.flx-header--sticky{position:sticky;top:0;transition:transform .3s,background-color .3s,box-shadow .3s}
.flx-header--sticky.is-scrolled{box-shadow:0 6px 24px -10px rgba(15,23,42,.18)}
.flx-header--sticky.is-scrolled[style*="--flx-sticky-bg"] .flx-section{background:var(--flx-sticky-bg)!important}
.flx-header--shrink.is-scrolled .flx-section{padding-top:8px!important;padding-bottom:8px!important;transition:padding .3s}
.flx-header--hide.is-hidden{transform:translateY(-100%)}
.flx-header--overlay{position:absolute;left:0;right:0;top:0}
.flx-header--overlay.flx-header--sticky{position:fixed}
.flx-header--overlay:not(.is-scrolled) .flx-section{background:transparent!important;border-color:transparent!important}

/* popups */
.flx-popup{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;padding:20px}
.flx-popup[hidden]{display:none}
.flx-popup__overlay{position:absolute;inset:0;background:var(--flx-popup-overlay,rgba(15,23,42,.6));opacity:0;transition:opacity .25s}
.flx-popup__box{position:relative;width:min(100%,var(--flx-popup-width,560px));max-height:calc(100vh - 40px);overflow:auto;background:#fff;border-radius:18px;box-shadow:0 30px 80px -20px rgba(15,23,42,.45);opacity:0;transition:opacity .25s,transform .3s cubic-bezier(.2,.8,.2,1)}
.flx-popup.is-open .flx-popup__overlay,.flx-popup.is-open .flx-popup__box{opacity:1}
.flx-popup--anim-zoom .flx-popup__box{transform:scale(.92)}
.flx-popup--anim-slide-up .flx-popup__box{transform:translateY(40px)}
.flx-popup--anim-slide-down .flx-popup__box{transform:translateY(-40px)}
.flx-popup.is-open .flx-popup__box{transform:none}
.flx-popup--top{align-items:flex-start}
.flx-popup--bottom{align-items:flex-end}
.flx-popup--left{justify-content:flex-start}
.flx-popup--right{justify-content:flex-end}
.flx-popup--bottom-right{align-items:flex-end;justify-content:flex-end}
.flx-popup--bottom-left{align-items:flex-end;justify-content:flex-start}
.flx-popup--bottom-right .flx-popup__overlay,.flx-popup--bottom-left .flx-popup__overlay{display:none}
.flx-popup--bottom-right,.flx-popup--bottom-left{pointer-events:none}
.flx-popup--bottom-right .flx-popup__box,.flx-popup--bottom-left .flx-popup__box{pointer-events:auto}
.flx-popup--fullscreen{padding:0}
.flx-popup--fullscreen .flx-popup__box{width:100%;height:100%;max-height:none;border-radius:0}
.flx-popup__close{position:absolute;top:10px;right:12px;z-index:5;width:36px;height:36px;border-radius:999px;border:0;background:rgba(15,23,42,.06);color:#0f172a;font-size:22px;line-height:1;cursor:pointer}
.flx-popup__close:hover{background:rgba(15,23,42,.12)}
html.flx-popup-open{overflow:hidden}

/* lightbox */
.flx-lightbox{position:fixed;inset:0;z-index:10000;background:rgba(10,12,20,.92);display:none;align-items:center;justify-content:center;padding:40px}
.flx-lightbox.is-open{display:flex}
.flx-lightbox figure{margin:0;max-width:100%;max-height:100%;text-align:center}
.flx-lightbox img{max-width:min(92vw,1400px);max-height:84vh;border-radius:8px;margin:0 auto}
.flx-lightbox figcaption{color:#e2e8f0;margin-top:12px;font:14px system-ui,sans-serif}
.flx-lightbox button{position:absolute;background:rgba(255,255,255,.12);color:#fff;border:0;width:48px;height:48px;border-radius:999px;font-size:30px;line-height:1;cursor:pointer}
.flx-lightbox__close{top:16px;right:16px}
.flx-lightbox__prev{left:16px;top:50%;transform:translateY(-50%)}
.flx-lightbox__next{right:16px;top:50%;transform:translateY(-50%)}
.flx-lightbox.is-single .flx-lightbox__prev,.flx-lightbox.is-single .flx-lightbox__next{display:none}

/* front-end edit shortcut for editors */
.flx-adminbar{position:fixed;left:16px;bottom:16px;z-index:9998;font:13px/1.2 system-ui,sans-serif}
.flx-adminbar__toggle{width:42px;height:42px;border-radius:12px;border:0;background:linear-gradient(135deg,#6d5dfc,#a855f7);color:#fff;font-weight:800;cursor:pointer;box-shadow:0 10px 30px rgba(91,76,240,.4)}
.flx-adminbar__menu{position:absolute;bottom:52px;left:0;background:#111827;border-radius:12px;padding:6px;display:none;min-width:170px;box-shadow:0 20px 40px rgba(0,0,0,.3)}
.flx-adminbar.is-open .flx-adminbar__menu{display:block}
.flx-adminbar__menu a{display:block;padding:9px 12px;color:#f9fafb;text-decoration:none;border-radius:8px}
.flx-adminbar__menu a:hover{background:#1f2937}

/* Full-width builder pages inside a template's content column */
.flx-doc--bleed{position:relative;width:100vw;max-width:none;margin-left:calc(50% - 50vw);margin-right:0}
html:has(.flx-doc--bleed){overflow-x:clip}
