/* Custom Feature – Gallivant Menu (layout and motion; colours, fonts and sizes come from the widget controls).
   Layout changes follow the widths set in the widget: .is-chips2, .is-narrow, .is-compact, .is-phone, .is-small, .is-tiny */
.gv-dr{--gv-ink:#2B2A28;--gv-o:46px 41px;--gv-o-phone:calc(100% - 36px) 36px;--gv-speed:.9s;--gv-stage:42%;--gv-stage-n:36%;--gv-top:82px;--gv-top-s:72px;--gv-o-now:var(--gv-o);
  position:fixed;inset:0;z-index:1100;background:#BEBCAB;color:var(--gv-ink);display:grid;grid-template-columns:1fr var(--gv-stage);visibility:hidden;
  clip-path:circle(0px at var(--gv-o-now));transition:clip-path var(--gv-speed) cubic-bezier(.77,0,.18,1),visibility 0s linear var(--gv-speed);
  font-family:"Euclid Circular A",sans-serif;font-weight:400;font-size:16px;line-height:normal;text-align:left;-webkit-font-smoothing:antialiased;box-sizing:border-box}
.gv-dr *,.gv-dr *::before,.gv-dr *::after{box-sizing:border-box}
.gv-dr.open{visibility:visible;clip-path:circle(160% at var(--gv-o-now));transition:clip-path var(--gv-speed) cubic-bezier(.77,0,.18,1),visibility 0s}
.gv-dr{--gv-top-now:var(--gv-top)}.gv-dr.is-small{--gv-top-now:var(--gv-top-s)}
.gv-dr.is-phone{--gv-o-now:var(--gv-o-phone)}
.gv-dr.is-narrow{grid-template-columns:1fr var(--gv-stage-n)}
.elementor-editor-active .gv-dr{display:none}
.elementor-editor-active .elementor-edit-area-active .gv-dr-edit-yes .gv-dr{display:grid;visibility:visible;clip-path:none;position:fixed;inset:0;z-index:99990}
.elementor-editor-active .elementor-edit-area-active .gv-dr-edit-yes .gv-dr-main>li,.elementor-editor-active .elementor-edit-area-active .gv-dr-edit-yes .gv-dr-foot{opacity:1;transform:none}

/* picture */
.gv-dr-stage{position:relative;overflow:hidden;background:#9C9A8A;order:2}
.gv-dr-slide{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;transform:scale(1.08);transition:opacity .8s ease,transform 1.6s cubic-bezier(.2,.7,.2,1)}
.gv-dr-slide.on{opacity:1;transform:scale(1)}
.gv-dr-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,20,15,.35),rgba(20,20,15,0) 30%,rgba(20,20,15,0) 55%,rgba(20,20,15,.55));pointer-events:none}
.gv-dr-cap{position:absolute;left:clamp(24px,3vw,48px);right:clamp(24px,3vw,48px);bottom:clamp(24px,4vh,44px);margin:0;padding:0;color:#fff}
.gv-dr-cap-k{display:block;opacity:.9;margin-bottom:8px}
.gv-dr-cap-t{display:block;max-width:16ch}
.gv-dr-cap.swap .gv-dr-cap-k,.gv-dr-cap.swap .gv-dr-cap-t{animation:gvCapIn .6s cubic-bezier(.2,.7,.2,1)}
@keyframes gvCapIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}

/* close */
.gv-dr .gv-dr-close{position:absolute;left:clamp(16px,4vw,56px);top:19px;z-index:3;width:44px;height:44px;border:0;border-radius:0;background:none;cursor:pointer;color:var(--gv-ink);padding:0;margin:0;min-height:0;box-shadow:none}
.gv-dr .gv-dr-close:hover,.gv-dr .gv-dr-close:focus{background:none;color:var(--gv-ink)}
.gv-dr-close::before,.gv-dr-close::after{content:"";position:absolute;left:6px;top:21px;width:32px;height:1.5px;background:currentColor;transform:rotate(45deg);transition:transform .4s}
.gv-dr-close::after{transform:rotate(-45deg)}
.gv-dr-close:hover::before{transform:rotate(135deg)}.gv-dr-close:hover::after{transform:rotate(45deg)}

/* panel */
.gv-dr-panel{position:relative;order:1;display:flex;flex-direction:column;padding:0 clamp(24px,5vw,90px) clamp(24px,4vh,40px) clamp(16px,4vw,56px);overflow-y:auto;border-right:1px solid #F4C2CA}
.gv-dr-top{height:var(--gv-top);flex:0 0 auto;display:grid;grid-template-columns:1fr auto 1fr;align-items:center}
.gv-dr.is-small .gv-dr-top{height:var(--gv-top-s)}
.gv-dr-logo{grid-column:2;line-height:normal}
.gv-dr-logo img{display:inline;height:62px;width:auto;max-width:none;opacity:1;vertical-align:baseline}
.gv-dr .gv-dr-book{grid-column:3;justify-self:end;display:inline-flex;padding:11px 26px;border-radius:999px;background:transparent;border:2px solid var(--gv-ink);color:var(--gv-ink);text-decoration:none;transition:background .3s,color .3s}

/* list */
.gv-dr-main{list-style:none;margin:auto 0 0;padding:clamp(16px,3vh,36px) 0 0;display:grid;gap:clamp(2px,.8vh,8px);max-width:720px}
.gv-dr-main>li{margin:0;padding:0;opacity:0;transform:translateY(34px);transition:opacity .7s ease,transform .9s cubic-bezier(.2,.7,.2,1)}
.gv-dr.open .gv-dr-main>li{opacity:1;transform:none}
.gv-dr-row{display:flex;align-items:center;gap:14px}
.gv-dr .gv-dr-ml{display:grid;grid-template-columns:40px auto;align-items:baseline;column-gap:8px;color:var(--gv-ink);text-decoration:none;padding:3px 0}
.gv-dr-ml .gv-dr-no{color:var(--gv-ink);opacity:.6}
.gv-dr-ml .gv-dr-t{transition:transform .5s cubic-bezier(.2,.7,.2,1),font-style .2s}
.gv-dr-ml:hover .gv-dr-t,.gv-dr-ml:focus-visible .gv-dr-t{transform:translateX(8px)}
.gv-dr-ml[aria-current="page"] .gv-dr-no{opacity:1}
.gv-dr-main li.off .gv-dr-ml{opacity:.32;cursor:default;pointer-events:none}
.gv-dr-main li:not(.off)+li.off{margin-top:clamp(10px,2vh,22px);padding-top:clamp(10px,2vh,22px);border-top:1px solid rgba(43,42,40,.16)}

/* spaces */
.gv-dr-subs{display:grid;grid-template-rows:0fr;transition:grid-template-rows .55s cubic-bezier(.2,.7,.2,1),opacity .4s;opacity:0;margin-left:48px;max-width:760px}
.gv-dr-main li.open>.gv-dr-subs{grid-template-rows:1fr;opacity:1}
.gv-dr-subs-in{overflow:hidden;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 18px}
.gv-dr.is-chips2 .gv-dr-subs-in{grid-template-columns:repeat(2,minmax(0,1fr))}
.gv-dr-main li.open .gv-dr-subs-in{padding:12px 0 14px}
.gv-dr .gv-dr-tog{flex:0 0 34px;width:34px;height:34px;border-radius:50%;border:1px solid var(--gv-ink);background:none;cursor:pointer;position:relative;color:var(--gv-ink);padding:0;margin:0;min-height:0;box-shadow:none;transition:background .3s,color .3s,transform .4s}
.gv-dr .gv-dr-tog:hover,.gv-dr .gv-dr-tog:focus{background:none;color:var(--gv-ink)}
.gv-dr-tog::before,.gv-dr-tog::after{content:"";position:absolute;left:50%;top:50%;width:12px;height:1.5px;background:currentColor;transform:translate(-50%,-50%)}
.gv-dr-tog::after{transform:translate(-50%,-50%) rotate(90deg);transition:transform .4s}
.gv-dr .gv-dr-main li.open .gv-dr-tog{background:var(--gv-ink);color:#F2EDE0}
.gv-dr-main li.open .gv-dr-tog::after{transform:translate(-50%,-50%) rotate(0deg)}
.gv-dr .gv-dr-chip{display:flex;align-items:center;gap:14px;color:var(--gv-ink);text-decoration:none;padding:6px;margin:-6px;border-radius:10px;transition:background .3s}
.gv-dr-chip.all .gv-dr-ci{outline:1px solid var(--gv-ink);outline-offset:2px}
.gv-dr-chip .gv-dr-ci{flex:0 0 52px;width:52px;height:52px;border-radius:6px;overflow:hidden;background:#9C9A8A}
.gv-dr .gv-dr-chip img{display:block;width:100%;height:100%;max-width:none;object-fit:cover;border-radius:0;transition:transform .8s}
.gv-dr-chip:hover img{transform:scale(1.1)}
.gv-dr-chip b{display:block;font-weight:400}
.gv-dr-chip small{display:block;margin-top:2px}
.gv-dr-chip[aria-current="page"] b{text-decoration:underline;text-underline-offset:4px}

/* small links */
.gv-dr-more{display:flex;flex-wrap:wrap;gap:8px 22px;margin:clamp(14px,2.5vh,26px) 0 auto 48px;padding-bottom:clamp(14px,3vh,30px)}
.gv-dr .gv-dr-more a{color:var(--gv-ink);text-decoration:none;border-bottom:1px solid transparent;padding:4px 0;transition:border-color .3s}
.gv-dr .gv-dr-more a:hover{border-color:var(--gv-ink)}
.gv-dr-more span{padding:4px 0}
.gv-dr-more.off span{opacity:.32}

/* foot */
.gv-dr-foot{flex:0 0 auto;display:grid;grid-template-columns:repeat(3,auto);justify-content:space-between;gap:20px;padding-top:18px;margin-top:auto;border-top:1px solid rgba(43,42,40,.22);opacity:0;transition:opacity .8s ease .65s}
.gv-dr.open .gv-dr-foot{opacity:1}
.gv-dr-foot h4{margin:0 0 6px;padding:0}
.gv-dr-foot p{margin:0;padding:0}
.gv-dr .gv-dr-foot a{color:var(--gv-ink);text-decoration:underline}

/* one column */
.gv-dr.is-compact{grid-template-columns:1fr}
.gv-dr.is-compact .gv-dr-stage{display:none}
.gv-dr.is-compact .gv-dr-close{position:fixed;top:calc((var(--gv-top-now,82px) - 44px)/2);left:12px;z-index:5}
.gv-dr.is-compact .gv-dr-panel{border-right:0;padding:0 clamp(16px,4vw,32px) 28px}
.gv-dr.is-compact .gv-dr-top{position:sticky;top:0;z-index:4;background:#BEBCAB;margin:0 calc(-1*clamp(16px,4vw,32px));padding:0 clamp(16px,4vw,32px);border-bottom:1px solid rgba(43,42,40,.12)}
.gv-dr.is-compact .gv-dr-book{display:inline-flex;padding:10px 16px}
.gv-dr.is-compact .gv-dr-main{margin:0;padding:8px 0 0;gap:0;max-width:none}
.gv-dr.is-compact .gv-dr-main>li{border-bottom:1px solid rgba(43,42,40,.14)}
.gv-dr.is-compact .gv-dr-row{justify-content:space-between;min-height:56px}
.gv-dr.is-compact .gv-dr-ml{grid-template-columns:30px auto;padding:12px 0;flex:1}
.gv-dr.is-compact .gv-dr-ml:hover .gv-dr-t,.gv-dr.is-compact .gv-dr-ml:focus-visible .gv-dr-t{transform:none}
.gv-dr.is-compact .gv-dr-tog{flex:0 0 36px;width:36px;height:36px}
.gv-dr.is-compact .gv-dr-subs{margin:0 0 0 30px;max-width:none}
.gv-dr.is-compact .gv-dr-subs-in{display:grid;grid-template-columns:1fr;gap:4px}
.gv-dr.is-compact .gv-dr-main li.open .gv-dr-subs-in{padding:2px 0 14px}
.gv-dr.is-compact .gv-dr-chip{flex-direction:row;align-items:center;gap:12px;width:auto;padding:6px;margin:0 -6px}
.gv-dr.is-compact .gv-dr-more{display:grid;grid-template-columns:1fr 1fr;gap:4px 16px;margin:18px 0 22px}
.gv-dr.is-compact .gv-dr-more a,.gv-dr.is-compact .gv-dr-more span{padding:8px 0}
.gv-dr.is-compact .gv-dr-foot{grid-template-columns:1fr 1fr;gap:16px;margin-top:0}
.gv-dr.is-compact .gv-dr-foot>div:last-child{grid-column:1/-1}
.gv-dr.is-compact .gv-dr-main li:not(.off)+li.off{margin-top:0;padding-top:0;border-top:0}

/* phone top row */
.gv-dr.is-phone .gv-dr-close{left:auto!important;right:12px}
.gv-dr.is-phone .gv-dr-top{grid-template-columns:auto 1fr auto 52px}
.gv-dr.is-phone .gv-dr-logo{grid-column:1;justify-self:start}
.gv-dr.is-phone .gv-dr-book{grid-column:3}
.gv-dr.is-tiny .gv-dr-book{display:none}

@media (prefers-reduced-motion:reduce){.gv-dr,.gv-dr.open{transition:none;clip-path:none}.gv-dr-main>li,.gv-dr-foot{opacity:1;transform:none;transition:none}.gv-dr-slide{transition:opacity .2s}}
