/* CMS elements (elements.php): containers, the element wrapper, hiding per screen,
   transforms, entrance and hover animations, shape dividers, the editor's placeholders.
   Element types add their own styles from elements/*.css, inlined where used. */

/* ---- Containers ---- */
.cb-con{position:relative;display:flex;flex-direction:column;min-width:0}
.cb-con__in{position:relative;z-index:1;display:flex;flex-direction:column;gap:20px;width:100%;min-width:0}
.cb-con__in--grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
.cb-con--grid>.cb-con__in{display:grid}
.cb-con__in--row>.cb-e-container{flex:1 1 0}
.cb-con__in>.cb-el{min-width:0}
.cb-con__ov{position:absolute;inset:0;z-index:0;border-radius:inherit;opacity:.5;pointer-events:none}
.cb-s--container .cb-inner{display:flex;flex-direction:column}
/* Shape dividers on the top and bottom edge */
.cb-shape{position:absolute;left:0;right:0;z-index:1;overflow:hidden;line-height:0;direction:ltr;pointer-events:none}
.cb-shape--top{top:-1px}
.cb-shape--bottom{bottom:-1px;transform:rotate(180deg)}
.cb-shape svg{position:relative;left:50%;display:block;width:calc(100% + 1.3px);height:60px;transform:translateX(-50%)}
.cb-shape path{fill:#fff}
.cb-shape--flip svg{transform:translateX(-50%) rotateY(180deg)}
.cb-shape--front{z-index:3}

/* ---- Icons ---- */
.cb-ico{display:inline-block;flex:none;width:1em;height:1em;vertical-align:-.125em}

/* ---- Hidden on a screen size (Advanced → Responsive, or the eyes in Structure) ---- */
@media (min-width:1025px){body:not(.cb-preview) .cb-hide-d{display:none!important}.cb-preview .cb-hide-d{opacity:.35;outline:2px dashed #9fb4bd;outline-offset:-2px}}
@media (min-width:701px) and (max-width:1024px){body:not(.cb-preview) .cb-hide-t{display:none!important}.cb-preview .cb-hide-t{opacity:.35;outline:2px dashed #9fb4bd;outline-offset:-2px}}
@media (max-width:700px){body:not(.cb-preview) .cb-hide-m{display:none!important}.cb-preview .cb-hide-m{opacity:.35;outline:2px dashed #9fb4bd;outline-offset:-2px}}

/* ---- Transform (Advanced): separate properties, so entrance animations still work ---- */
.cb-tf{translate:var(--cb-tx,0px) var(--cb-ty,0px);rotate:var(--cb-rot,0deg);scale:calc(var(--cb-sc,1) * var(--cb-fh,1)) calc(var(--cb-sc,1) * var(--cb-fv,1));transition:translate var(--cb-tfd,.4s),rotate var(--cb-tfd,.4s),scale var(--cb-tfd,.4s)}

/* ---- Entrance animations ---- */
.cb-js:not(.cb-anim-off) .cb-fx-in:not(.cb-fx-on){opacity:0}
.cb-fx-on{animation-duration:var(--cb-ad,1s);animation-delay:var(--cb-adl,0ms);animation-timing-function:ease;animation-fill-mode:backwards}
[data-cb-anim=fadeIn].cb-fx-on{animation-name:cbFadeIn}
[data-cb-anim=fadeInUp].cb-fx-on{animation-name:cbFadeInUp}
[data-cb-anim=fadeInDown].cb-fx-on{animation-name:cbFadeInDown}
[data-cb-anim=fadeInLeft].cb-fx-on{animation-name:cbFadeInLeft}
[data-cb-anim=fadeInRight].cb-fx-on{animation-name:cbFadeInRight}
[data-cb-anim=zoomIn].cb-fx-on{animation-name:cbZoomIn}
[data-cb-anim=zoomInUp].cb-fx-on{animation-name:cbZoomInUp}
[data-cb-anim=zoomInDown].cb-fx-on{animation-name:cbZoomInDown}
[data-cb-anim=zoomInLeft].cb-fx-on{animation-name:cbZoomInLeft}
[data-cb-anim=zoomInRight].cb-fx-on{animation-name:cbZoomInRight}
[data-cb-anim=bounceIn].cb-fx-on{animation-name:cbBounceIn;animation-timing-function:cubic-bezier(.215,.61,.355,1)}
[data-cb-anim=bounceInUp].cb-fx-on{animation-name:cbBounceInUp;animation-timing-function:cubic-bezier(.215,.61,.355,1)}
[data-cb-anim=bounceInDown].cb-fx-on{animation-name:cbBounceInDown;animation-timing-function:cubic-bezier(.215,.61,.355,1)}
[data-cb-anim=bounceInLeft].cb-fx-on{animation-name:cbBounceInLeft;animation-timing-function:cubic-bezier(.215,.61,.355,1)}
[data-cb-anim=bounceInRight].cb-fx-on{animation-name:cbBounceInRight;animation-timing-function:cubic-bezier(.215,.61,.355,1)}
[data-cb-anim=slideInUp].cb-fx-on{animation-name:cbSlideInUp}
[data-cb-anim=slideInDown].cb-fx-on{animation-name:cbSlideInDown}
[data-cb-anim=slideInLeft].cb-fx-on{animation-name:cbSlideInLeft}
[data-cb-anim=slideInRight].cb-fx-on{animation-name:cbSlideInRight}
[data-cb-anim=rotateIn].cb-fx-on{animation-name:cbRotateIn}
[data-cb-anim=rotateInDownLeft].cb-fx-on{animation-name:cbRotateInDownLeft}
[data-cb-anim=rotateInDownRight].cb-fx-on{animation-name:cbRotateInDownRight}
[data-cb-anim=rotateInUpLeft].cb-fx-on{animation-name:cbRotateInUpLeft}
[data-cb-anim=rotateInUpRight].cb-fx-on{animation-name:cbRotateInUpRight}
[data-cb-anim=lightSpeedIn].cb-fx-on{animation-name:cbLightSpeedIn;animation-timing-function:ease-out}
[data-cb-anim=rollIn].cb-fx-on{animation-name:cbRollIn}
[data-cb-anim=flipInX].cb-fx-on{animation-name:cbFlipInX;backface-visibility:visible}
[data-cb-anim=flipInY].cb-fx-on{animation-name:cbFlipInY;backface-visibility:visible}
[data-cb-anim=bounce].cb-fx-on{animation-name:cbBounce;transform-origin:center bottom}
[data-cb-anim=flash].cb-fx-on{animation-name:cbFlash}
[data-cb-anim=pulse].cb-fx-on{animation-name:cbPulse}
[data-cb-anim=rubberBand].cb-fx-on{animation-name:cbRubberBand}
[data-cb-anim=shake].cb-fx-on{animation-name:cbShake}
[data-cb-anim=headShake].cb-fx-on{animation-name:cbHeadShake;animation-timing-function:ease-in-out}
[data-cb-anim=swing].cb-fx-on{animation-name:cbSwing;transform-origin:top center}
[data-cb-anim=tada].cb-fx-on{animation-name:cbTada}
[data-cb-anim=wobble].cb-fx-on{animation-name:cbWobble}
[data-cb-anim=jello].cb-fx-on{animation-name:cbJello;transform-origin:center}
@keyframes cbFadeIn{from{opacity:0}to{opacity:1}}
@keyframes cbFadeInUp{from{opacity:0;transform:translate3d(0,60px,0)}to{opacity:1;transform:none}}
@keyframes cbFadeInDown{from{opacity:0;transform:translate3d(0,-60px,0)}to{opacity:1;transform:none}}
@keyframes cbFadeInLeft{from{opacity:0;transform:translate3d(-60px,0,0)}to{opacity:1;transform:none}}
@keyframes cbFadeInRight{from{opacity:0;transform:translate3d(60px,0,0)}to{opacity:1;transform:none}}
@keyframes cbZoomIn{from{opacity:0;transform:scale3d(.3,.3,.3)}50%{opacity:1}to{transform:none}}
@keyframes cbZoomInUp{from{opacity:0;transform:scale3d(.1,.1,.1) translate3d(0,1000px,0)}60%{opacity:1;transform:scale3d(.475,.475,.475) translate3d(0,-60px,0)}to{transform:none}}
@keyframes cbZoomInDown{from{opacity:0;transform:scale3d(.1,.1,.1) translate3d(0,-1000px,0)}60%{opacity:1;transform:scale3d(.475,.475,.475) translate3d(0,60px,0)}to{transform:none}}
@keyframes cbZoomInLeft{from{opacity:0;transform:scale3d(.1,.1,.1) translate3d(-1000px,0,0)}60%{opacity:1;transform:scale3d(.475,.475,.475) translate3d(10px,0,0)}to{transform:none}}
@keyframes cbZoomInRight{from{opacity:0;transform:scale3d(.1,.1,.1) translate3d(1000px,0,0)}60%{opacity:1;transform:scale3d(.475,.475,.475) translate3d(-10px,0,0)}to{transform:none}}
@keyframes cbBounceIn{from{opacity:0;transform:scale3d(.3,.3,.3)}20%{transform:scale3d(1.1,1.1,1.1)}40%{transform:scale3d(.9,.9,.9)}60%{opacity:1;transform:scale3d(1.03,1.03,1.03)}80%{transform:scale3d(.97,.97,.97)}to{opacity:1;transform:none}}
@keyframes cbBounceInUp{from{opacity:0;transform:translate3d(0,3000px,0)}60%{opacity:1;transform:translate3d(0,-20px,0)}75%{transform:translate3d(0,10px,0)}90%{transform:translate3d(0,-5px,0)}to{transform:none}}
@keyframes cbBounceInDown{from{opacity:0;transform:translate3d(0,-3000px,0)}60%{opacity:1;transform:translate3d(0,25px,0)}75%{transform:translate3d(0,-10px,0)}90%{transform:translate3d(0,5px,0)}to{transform:none}}
@keyframes cbBounceInLeft{from{opacity:0;transform:translate3d(-3000px,0,0)}60%{opacity:1;transform:translate3d(25px,0,0)}75%{transform:translate3d(-10px,0,0)}90%{transform:translate3d(5px,0,0)}to{transform:none}}
@keyframes cbBounceInRight{from{opacity:0;transform:translate3d(3000px,0,0)}60%{opacity:1;transform:translate3d(-25px,0,0)}75%{transform:translate3d(10px,0,0)}90%{transform:translate3d(-5px,0,0)}to{transform:none}}
@keyframes cbSlideInUp{from{transform:translate3d(0,100%,0);visibility:visible}to{transform:none}}
@keyframes cbSlideInDown{from{transform:translate3d(0,-100%,0);visibility:visible}to{transform:none}}
@keyframes cbSlideInLeft{from{transform:translate3d(-100%,0,0);visibility:visible}to{transform:none}}
@keyframes cbSlideInRight{from{transform:translate3d(100%,0,0);visibility:visible}to{transform:none}}
@keyframes cbRotateIn{from{opacity:0;transform:rotate3d(0,0,1,-200deg);transform-origin:center}to{opacity:1;transform:none;transform-origin:center}}
@keyframes cbRotateInDownLeft{from{opacity:0;transform:rotate3d(0,0,1,-45deg);transform-origin:left bottom}to{opacity:1;transform:none;transform-origin:left bottom}}
@keyframes cbRotateInDownRight{from{opacity:0;transform:rotate3d(0,0,1,45deg);transform-origin:right bottom}to{opacity:1;transform:none;transform-origin:right bottom}}
@keyframes cbRotateInUpLeft{from{opacity:0;transform:rotate3d(0,0,1,45deg);transform-origin:left bottom}to{opacity:1;transform:none;transform-origin:left bottom}}
@keyframes cbRotateInUpRight{from{opacity:0;transform:rotate3d(0,0,1,-90deg);transform-origin:right bottom}to{opacity:1;transform:none;transform-origin:right bottom}}
@keyframes cbLightSpeedIn{from{opacity:0;transform:translate3d(100%,0,0) skewX(-30deg)}60%{opacity:1;transform:skewX(20deg)}80%{transform:skewX(-5deg)}to{transform:none}}
@keyframes cbRollIn{from{opacity:0;transform:translate3d(-100%,0,0) rotate3d(0,0,1,-120deg)}to{opacity:1;transform:none}}
@keyframes cbFlipInX{from{opacity:0;transform:perspective(400px) rotate3d(1,0,0,90deg)}40%{transform:perspective(400px) rotate3d(1,0,0,-20deg)}60%{opacity:1;transform:perspective(400px) rotate3d(1,0,0,10deg)}80%{transform:perspective(400px) rotate3d(1,0,0,-5deg)}to{transform:perspective(400px)}}
@keyframes cbFlipInY{from{opacity:0;transform:perspective(400px) rotate3d(0,1,0,90deg)}40%{transform:perspective(400px) rotate3d(0,1,0,-20deg)}60%{opacity:1;transform:perspective(400px) rotate3d(0,1,0,10deg)}80%{transform:perspective(400px) rotate3d(0,1,0,-5deg)}to{transform:perspective(400px)}}
@keyframes cbBounce{0%,20%,53%,to{transform:none}40%,43%{transform:translate3d(0,-30px,0) scaleY(1.1)}70%{transform:translate3d(0,-15px,0) scaleY(1.05)}80%{transform:translate3d(0,0,0) scaleY(.95)}90%{transform:translate3d(0,-4px,0) scaleY(1.02)}}
@keyframes cbFlash{0%,50%,to{opacity:1}25%,75%{opacity:0}}
@keyframes cbPulse{0%,to{transform:none}50%{transform:scale3d(1.05,1.05,1.05)}}
@keyframes cbRubberBand{0%,to{transform:none}30%{transform:scale3d(1.25,.75,1)}40%{transform:scale3d(.75,1.25,1)}50%{transform:scale3d(1.15,.85,1)}65%{transform:scale3d(.95,1.05,1)}75%{transform:scale3d(1.05,.95,1)}}
@keyframes cbShake{0%,to{transform:none}10%,30%,50%,70%,90%{transform:translate3d(-10px,0,0)}20%,40%,60%,80%{transform:translate3d(10px,0,0)}}
@keyframes cbHeadShake{0%,50%{transform:none}6.5%{transform:translateX(-6px) rotateY(-9deg)}18.5%{transform:translateX(5px) rotateY(7deg)}31.5%{transform:translateX(-3px) rotateY(-5deg)}43.5%{transform:translateX(2px) rotateY(3deg)}}
@keyframes cbSwing{20%{transform:rotate3d(0,0,1,15deg)}40%{transform:rotate3d(0,0,1,-10deg)}60%{transform:rotate3d(0,0,1,5deg)}80%{transform:rotate3d(0,0,1,-5deg)}to{transform:none}}
@keyframes cbTada{0%,to{transform:none}10%,20%{transform:scale3d(.9,.9,.9) rotate3d(0,0,1,-3deg)}30%,50%,70%,90%{transform:scale3d(1.1,1.1,1.1) rotate3d(0,0,1,3deg)}40%,60%,80%{transform:scale3d(1.1,1.1,1.1) rotate3d(0,0,1,-3deg)}}
@keyframes cbWobble{0%,to{transform:none}15%{transform:translate3d(-25%,0,0) rotate3d(0,0,1,-5deg)}30%{transform:translate3d(20%,0,0) rotate3d(0,0,1,3deg)}45%{transform:translate3d(-15%,0,0) rotate3d(0,0,1,-3deg)}60%{transform:translate3d(10%,0,0) rotate3d(0,0,1,2deg)}75%{transform:translate3d(-5%,0,0) rotate3d(0,0,1,-1deg)}}
@keyframes cbJello{0%,11.1%,to{transform:none}22.2%{transform:skewX(-12.5deg) skewY(-12.5deg)}33.3%{transform:skewX(6.25deg) skewY(6.25deg)}44.4%{transform:skewX(-3.125deg) skewY(-3.125deg)}55.5%{transform:skewX(1.5625deg) skewY(1.5625deg)}66.6%{transform:skewX(-.78deg) skewY(-.78deg)}77.7%{transform:skewX(.39deg) skewY(.39deg)}88.8%{transform:skewX(-.195deg) skewY(-.195deg)}}
@media (prefers-reduced-motion:reduce){.cb-fx-on{animation:none!important}.cb-js .cb-fx-in:not(.cb-fx-on){opacity:1}}

/* ---- Hover animations (Elementor's Hover.css set) ---- */
[class*="cb-hv-"]{transition:transform .3s;-webkit-tap-highlight-color:transparent}
.cb-hv-grow:hover{transform:scale(1.1)}
.cb-hv-shrink:hover{transform:scale(.9)}
.cb-hv-pulse:hover{animation:cbHvPulse 1s linear infinite}
.cb-hv-pulse-grow:hover{animation:cbHvPulseGrow .3s linear infinite alternate}
.cb-hv-push:hover{animation:cbHvPush .3s linear 1}
.cb-hv-pop:hover{animation:cbHvPop .3s linear 1}
.cb-hv-float:hover{transform:translateY(-8px)}
.cb-hv-sink:hover{transform:translateY(8px)}
.cb-hv-bob:hover{animation:cbHvBob 1.5s ease-in-out infinite alternate}
.cb-hv-hang:hover{animation:cbHvHang 1.5s ease-in-out infinite alternate}
.cb-hv-rotate:hover{transform:rotate(4deg)}
.cb-hv-grow-rotate:hover{transform:scale(1.1) rotate(4deg)}
.cb-hv-skew:hover{transform:skew(-10deg)}
.cb-hv-wobble-horizontal:hover{animation:cbHvWobbleH 1s ease-in-out 1}
.cb-hv-wobble-vertical:hover{animation:cbHvWobbleV 1s ease-in-out 1}
.cb-hv-buzz:hover{animation:cbHvBuzz .15s linear infinite}
@keyframes cbHvPulse{25%{transform:scale(1.1)}75%{transform:scale(.9)}}
@keyframes cbHvPulseGrow{to{transform:scale(1.1)}}
@keyframes cbHvPush{50%{transform:scale(.8)}to{transform:scale(1)}}
@keyframes cbHvPop{50%{transform:scale(1.2)}}
@keyframes cbHvBob{0%{transform:translateY(-8px)}to{transform:translateY(-4px)}}
@keyframes cbHvHang{0%{transform:translateY(8px)}to{transform:translateY(4px)}}
@keyframes cbHvWobbleH{16.65%{transform:translateX(8px)}33.3%{transform:translateX(-6px)}49.95%{transform:translateX(4px)}66.6%{transform:translateX(-2px)}83.25%{transform:translateX(1px)}to{transform:none}}
@keyframes cbHvWobbleV{16.65%{transform:translateY(8px)}33.3%{transform:translateY(-6px)}49.95%{transform:translateY(4px)}66.6%{transform:translateY(-2px)}83.25%{transform:translateY(1px)}to{transform:none}}
@keyframes cbHvBuzz{50%{transform:translateX(3px) rotate(2deg)}to{transform:translateX(-3px) rotate(-2deg)}}
@media (prefers-reduced-motion:reduce){[class*="cb-hv-"]:hover{animation:none!important;transform:none!important}}

/* ---- Lightbox (Image, Gallery, Video) ---- */
.cb-lb{position:fixed;inset:0;z-index:2147480000;display:flex;align-items:center;justify-content:center;padding:56px 64px;background:rgba(8,22,31,.92)}
.cb-lb[hidden]{display:none}
.cb-lb img,.cb-lb iframe{max-width:100%;max-height:100%;border-radius:4px;box-shadow:0 10px 40px rgba(0,0,0,.5)}
.cb-lb iframe{width:min(1100px,100%);aspect-ratio:16/9;height:auto;border:0}
.cb-lb__cap{position:absolute;left:0;right:0;bottom:14px;color:#fff;font:600 15px/1.4 Manrope,Arial,sans-serif;text-align:center}
.cb-lb button{position:absolute;display:grid;place-items:center;width:52px;height:52px;border:0;border-radius:50%;background:rgba(255,255,255,.14);color:#fff;font-size:30px;line-height:1;cursor:pointer}
.cb-lb button:hover,.cb-lb button:focus-visible{background:rgba(255,255,255,.3)}
.cb-lb__x{top:14px;right:14px}
.cb-lb__prev{left:12px;top:50%;margin-top:-26px}
.cb-lb__next{right:12px;top:50%;margin-top:-26px}
@media (max-width:700px){.cb-lb{padding:56px 8px}}

/* ---- In the editor only ---- */
.cb-el-empty{padding:16px;border:2px dashed #b9c9d0;border-radius:8px;color:#51656f;font:600 14px/1.4 Manrope,Arial,sans-serif;text-align:center}
.cb-con__empty{display:flex;flex:1 1 auto;flex-direction:column;align-items:center;justify-content:center;gap:8px;width:100%;min-height:120px;padding:18px;border:2px dashed #9fb4bd;border-radius:8px;background:rgba(255,255,255,.55);color:#40555f;font:600 15px/1.4 Manrope,Arial,sans-serif;text-align:center;cursor:pointer;zoom:var(--cb-ui,1)}
.cb-con__empty:hover{border-color:#087a7b;color:#087a7b}
.cb-con__plus{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#087a7b;color:#fff;font-size:26px;font-weight:400;line-height:1}
.cb-preview .cb-el--conditional{outline:2px dotted #f0b429;outline-offset:2px}

/* ---- Carousel (elements.js carousel(); Slides, Image / Media / Testimonial / Loop carousels) ---- */
.cb-car{--cb-car-per:1;--cb-car-gap:20px;position:relative;padding-bottom:40px}
.cb-car__vp{overflow:hidden;touch-action:pan-y}
.cb-car__track{display:flex;gap:var(--cb-car-gap);transition:transform .5s ease;will-change:transform}
.cb-car__slide{flex:0 0 calc((100% - (var(--cb-car-per) - 1) * var(--cb-car-gap)) / var(--cb-car-per));min-width:0}
.cb-car--fade .cb-car__track{display:grid;transform:none!important}
.cb-car--fade .cb-car__slide{grid-area:1/1;opacity:0;visibility:hidden;transition:opacity .6s,visibility .6s}
.cb-car--fade .cb-car__slide.is-active{opacity:1;visibility:visible}
.cb-car__arrow{position:absolute;top:calc(50% - 20px);z-index:3;display:grid;place-items:center;width:44px;height:44px;margin-top:-22px;padding:0;border:0;border-radius:50%;background:rgba(255,255,255,.92);color:#152f40;box-shadow:0 2px 10px rgba(0,0,0,.18);cursor:pointer}
.cb-car__arrow:hover,.cb-car__arrow:focus-visible{background:#087a7b;color:#fff}
.cb-car__arrow:disabled{opacity:.35;cursor:default}
.cb-car__arrow svg{width:22px;height:22px}
.cb-car__arrow--prev{left:8px}.cb-car__arrow--next{right:8px}
.cb-car__dots{position:absolute;left:0;right:0;bottom:6px;display:flex;justify-content:center;gap:8px}
.cb-car__dot{width:12px;height:12px;padding:0;border:0;border-radius:50%;background:#c9d6dc;cursor:pointer}
.cb-car__dot[aria-current=true]{background:#087a7b}
.cb-car--static .cb-car__arrow,.cb-car--static .cb-car__dots{display:none}
@media (prefers-reduced-motion:reduce){.cb-car__track{transition:none}}

/* Each section is its own layer; a section with an open menu dropdown sits above the next one. */
.cb-wrap:has(.cb-mm__it.is-open),.cb-wrap:has(.cb-mm__it.has-drop:hover),.cb-wrap:has(.cbs-nav .is-open),.cb-wrap:has(.cbs-nav__li:hover){z-index:60}

.cb-con>.cb-con__in{flex:1 1 auto}
