/* ===== hide the theme footer (CreativeThemes copyright) and its own back-to-top ===== */
footer#footer,footer.ct-footer,.ct-footer,.ct-back-to-top{display:none!important}

/* ===== menu / header ===== */
#header{--bp-teal:#0f8076;--bp-pulse:#e4572e}
header#header{position:sticky;top:0;z-index:99990;transition:box-shadow .3s}
.admin-bar header#header{top:32px}
@media (max-width:782px){.admin-bar header#header{top:46px}}
body.bpl-scrolled header#header{box-shadow:0 12px 32px rgba(4,48,45,.16)}
header#header::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;z-index:5;background:linear-gradient(90deg,#0f8076,#5eead4,#e4572e,#0f8076);background-size:200% 100%;animation:bpmv 6s linear infinite}
@keyframes bpmv{to{background-position:200% 0}}
#header .site-logo-container img,#header .site-logo-container svg{transition:transform .45s cubic-bezier(.3,1.5,.5,1)}
#header .site-logo-container:hover img,#header .site-logo-container:hover svg{transform:scale(1.06) rotate(-1.5deg)}

#header .menu>li>a.ct-menu-link{position:relative;font-weight:600!important;letter-spacing:.05em;transition:color .25s,transform .25s}
#header .menu>li>a.ct-menu-link::after{content:"";position:absolute;left:14%;right:14%;bottom:4px;height:3px;border-radius:3px;background:linear-gradient(90deg,#0f8076,#e4572e);transform:scaleX(0);transform-origin:left center;transition:transform .35s cubic-bezier(.2,.8,.2,1)}
#header .menu>li:hover>a.ct-menu-link,#header .menu>li.current-menu-item>a.ct-menu-link,#header .menu>li.current_page_item>a.ct-menu-link,#header .menu>li.current-menu-ancestor>a.ct-menu-link{color:#0f8076!important}
#header .menu>li:hover>a.ct-menu-link{transform:translateY(-2px)}
#header .menu>li:hover>a.ct-menu-link::after,#header .menu>li.current-menu-item>a.ct-menu-link::after,#header .menu>li.current_page_item>a.ct-menu-link::after,#header .menu>li.current-menu-ancestor>a.ct-menu-link::after{transform:scaleX(1)}

#header .sub-menu{border-radius:0 0 16px 16px!important;border-top:4px solid #0f8076;box-shadow:0 26px 54px rgba(4,48,45,.2)!important;overflow:hidden}
#header li:hover>.sub-menu,#header li:focus-within>.sub-menu{animation:bpsd .3s ease both}
@keyframes bpsd{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
#header .sub-menu a.ct-menu-link{font-weight:600;transition:background .25s,padding-left .25s,color .25s}
#header .sub-menu a.ct-menu-link:hover{background:#e3f2ef!important;color:#0f8076!important;padding-left:26px}
#offcanvas .ct-menu-link,.ct-drawer-canvas .ct-menu-link{font-weight:600;letter-spacing:.04em}

/* ===== scroll progress bar ===== */
.bpf-prog{position:fixed;left:0;top:0;z-index:100000;height:4px;width:100%;transform:scaleX(0);transform-origin:left;background:linear-gradient(90deg,#0f8076,#5eead4,#e4572e);pointer-events:none}
.admin-bar .bpf-prog{top:32px}
@media (max-width:782px){.admin-bar .bpf-prog{top:46px}}

/* ===== floating call button ===== */
.bpf-call{position:fixed;left:20px;bottom:22px;z-index:99980;display:flex;align-items:center;height:58px;padding:0 6px;border-radius:999px;background:#0f8076;color:#fff;text-decoration:none;box-shadow:0 14px 34px rgba(4,48,45,.38);transition:background .25s,transform .25s}
.bpf-call:hover{background:#e4572e;transform:translateY(-3px);color:#fff}
.bpf-call .ic{position:relative;flex:none;width:46px;height:46px;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center}
.bpf-call .ic::before{content:"";position:absolute;inset:0;border-radius:50%;border:2px solid #fff;animation:bpcr 2.4s infinite}
@keyframes bpcr{0%{transform:scale(1);opacity:.9}100%{transform:scale(1.9);opacity:0}}
.bpf-call svg{width:24px;height:24px;stroke:#0f8076;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;animation:bpring 2.6s infinite}
@keyframes bpring{0%,60%,100%{transform:rotate(0)}65%{transform:rotate(-14deg)}72%{transform:rotate(12deg)}79%{transform:rotate(-10deg)}86%{transform:rotate(8deg)}}
.bpf-call .tx{display:block;max-width:0;overflow:hidden;white-space:nowrap;font:600 13px/1.2 'Figtree',system-ui,sans-serif;transition:max-width .4s ease,padding .4s}
.bpf-call .tx b{display:block;font-size:15px}
.bpf-call:hover .tx,.bpf-call:focus-visible .tx{max-width:200px;padding:0 16px 0 12px}

/* ===== back to top with progress ring ===== */
.bpf-top{position:fixed;right:20px;bottom:22px;z-index:99980;width:56px;height:56px;padding:0;border:0;border-radius:50%;background:#fff;box-shadow:0 12px 30px rgba(4,48,45,.3);cursor:pointer;opacity:0;transform:translateY(20px) scale(.8);pointer-events:none;transition:opacity .3s,transform .3s,background .25s}
.bpf-top.show{opacity:1;transform:none;pointer-events:auto}
.bpf-top:hover{background:#0f8076;transform:translateY(-4px)}
.bpf-top .rg{position:absolute;inset:2px;width:52px;height:52px;transform:rotate(-90deg)}
.bpf-top .rg circle{fill:none;stroke-width:3}
.bpf-top .rg .bg{stroke:#e3f2ef}
.bpf-top .rg .fg{stroke:#e4572e;stroke-linecap:round;stroke-dasharray:138.23;stroke-dashoffset:138.23}
.bpf-top .ar{position:relative;width:22px;height:22px;stroke:#0f8076;fill:none;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;transition:stroke .25s}
.bpf-top:hover .ar{stroke:#fff}
@media (max-width:600px){.bpf-call .tx{display:none}.bpf-call{padding:0 6px}}

/* ===== custom footer ===== */
.bpf{position:relative;overflow:hidden;color:#cfe9e4;font-family:'Figtree',system-ui,sans-serif;padding-top:70px;line-height:1.65;
background:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px) 0 0/28px 28px,linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px) 0 0/28px 28px,linear-gradient(135deg,#031f1d,#0b625b)}
.bpf *{box-sizing:border-box}
.bpf a{color:#cfe9e4;text-decoration:none;transition:color .2s}
.bpf a:hover{color:#5eead4}
.bpf-ecg{position:absolute;left:0;top:0;width:100%;height:60px;opacity:.9}
.bpf-ecg path{fill:none;stroke:#5eead4;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1000;stroke-dashoffset:1000;animation:bpdr 5s ease-in-out infinite}
@keyframes bpdr{0%{stroke-dashoffset:1000;opacity:1}55%{stroke-dashoffset:0;opacity:1}85%{stroke-dashoffset:0;opacity:0}100%{stroke-dashoffset:1000;opacity:0}}
.bpf-wrap{position:relative;max-width:1240px;margin:0 auto;padding:30px 28px 40px;display:grid;grid-template-columns:1.4fr .8fr 1.2fr 1.2fr;gap:40px}
.bpf-logo{display:inline-flex;flex-direction:column;background:#fff;border-radius:14px;padding:12px 20px;margin-bottom:18px}
.bpf-logo img{display:block;max-width:190px;max-height:64px;width:auto;height:auto}
.bpf-logo b{font:700 24px/1 'Fraunces',Georgia,serif;color:#04302d}
.bpf-logo small{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#0f8076}
.bpf-tag{margin:0;font:700 34px/1.1 'Fraunces',Georgia,serif;color:#fff}
.bpf-tag i{font-style:normal;color:#e4572e;display:inline-block;animation:bpdot 1.4s infinite}
.bpf-tag i:nth-of-type(2){animation-delay:.18s}.bpf-tag i:nth-of-type(3){animation-delay:.36s}
@keyframes bpdot{0%,60%,100%{transform:translateY(0)}25%{transform:translateY(-.25em)}}
.bpf-sub{margin:2px 0 14px;font:500 19px 'Fraunces',Georgia,serif;color:#9fdcd2}
.bpf-txt{margin:0;max-width:360px}
.bpf h4{margin:0 0 16px;font:700 14px 'Figtree',sans-serif;letter-spacing:.16em;text-transform:uppercase;color:#5eead4}
.bpf p{margin:0 0 12px}
.bpf-links{list-style:none;margin:0;padding:0}
.bpf-links li{margin-bottom:8px}
.bpf-links a{display:inline-block;position:relative;padding-left:0;transition:padding-left .25s,color .2s}
.bpf-links a::before{content:"";position:absolute;left:0;top:50%;width:0;height:2px;background:#e4572e;transition:width .25s}
.bpf-links a:hover{padding-left:20px}
.bpf-links a:hover::before{width:14px}
.bpf-bot{position:relative;display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 20px;max-width:1240px;margin:0 auto;padding:20px 28px 26px;border-top:1px solid rgba(255,255,255,.14);font-size:14px;color:#9fdcd2}
.bpf .rv{opacity:1}
.bpf-js .bpf .rv{opacity:0;transform:translateY(34px);transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1)}
.bpf-js .bpf .rv.in{opacity:1;transform:none}
.bpf .d1{transition-delay:.12s!important}.bpf .d2{transition-delay:.24s!important}.bpf .d3{transition-delay:.36s!important}
@media (max-width:960px){.bpf-wrap{grid-template-columns:1fr 1fr}.bpf-brand{grid-column:1/-1}}
@media (max-width:560px){.bpf-wrap{grid-template-columns:1fr;gap:28px}}
@media (prefers-reduced-motion:reduce){
header#header::before,.bpf-call .ic::before,.bpf-call svg,.bpf-tag i,.bpf-ecg path{animation:none!important}
.bpf-ecg path{stroke-dashoffset:0}
.bpf-js .bpf .rv{opacity:1;transform:none}
}
