/* The same ribbon artwork and palette as the theme's homepage header. */
body .shvg-footer.shf-ribbon {
  color:#fff; border:0;
  background:#073b60 linear-gradient(110deg,#073653,#09547a 46%,#062f55);
  padding:0; position:relative; isolation:isolate; overflow:visible;
}
.shf-ribbon::before {
  content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:linear-gradient(0deg,rgba(4,35,55,.6),transparent 42%),url('ribbon.svg') center/100% 100% no-repeat;
}
body .shvg-footer.shf-ribbon .shvg-footer-grid {
  width:min(92%,1360px);max-width:none; margin:0 auto; display:flex; flex-wrap:wrap;
  align-items:center;justify-content:space-between;gap:16px 36px;padding:26px 0 22px;
}
.shf-ribbon .shf-brand { display:flex;flex-direction:column;align-items:flex-start;gap:6px; }
body .shvg-footer.shf-ribbon .shvg-logo {display:block;width:174px;max-width:100%;flex:none;}
body .shvg-footer.shf-ribbon .shvg-logo img {width:100%;height:auto;display:block;filter:drop-shadow(0 2px 4px #042d4780);}
.shf-ribbon .shf-location {font:500 12px/1.5 'DM Sans',Arial,sans-serif;letter-spacing:.015em;color:#f1faff;text-shadow:0 1px 3px #07344b;}
body .shvg-footer.shf-ribbon .shf-navigation,.shf-ribbon .shf-links {display:flex;align-items:center;flex-direction:row;gap:clamp(20px,2.6vw,42px);}
.shf-ribbon .shf-links details {position:relative;}
.shf-ribbon .shf-links summary,body .shvg-footer.shf-ribbon .shf-enquiry {
  display:inline-flex;align-items:center;gap:9px;min-height:44px;padding:0;color:white;background:transparent;
  border:0;list-style:none;white-space:nowrap;cursor:pointer;text-decoration:none;font:600 14px/1.4 'DM Sans',Arial,sans-serif;text-shadow:0 1px 3px #063550;
}
.shf-ribbon summary::-webkit-details-marker {display:none;}
.shf-ribbon .shf-links summary::after {content:"";width:6px;height:6px;border-right:1.6px solid currentColor;border-top:1.6px solid currentColor;transform:rotate(-45deg);margin-top:4px;}
.shf-ribbon details[open] summary::after {transform:rotate(135deg);margin-top:-3px;}
.shf-ribbon .shf-links summary:hover,body .shvg-footer.shf-ribbon .shf-enquiry:hover,.shf-ribbon .shvg-footer-bottom a:hover {text-decoration:underline;text-underline-offset:4px;}
.shf-ribbon .shf-panel {
  position:absolute;bottom:calc(100% + 4px);right:0;z-index:10;
  padding:8px;min-width:225px;max-height:min(55dvh,360px);overflow:auto;
  background:#f4fbfd;border:1px solid #cfebf1;border-radius:12px;
  box-shadow:0 12px 36px #052c4942;
}
body .shvg-footer.shf-ribbon .shf-panel a {display:block;padding:10px 12px;color:#184760;font:500 14px/1.4 'DM Sans',Arial,sans-serif;text-decoration:none;white-space:normal;border-radius:6px;}
body .shvg-footer.shf-ribbon .shf-panel a:hover,body .shvg-footer.shf-ribbon .shf-panel a:focus-visible {background:#dfeff3;color:#0d5372;}
body .shvg-footer.shf-ribbon .shf-book {
  display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:12px 19px;background:#edfaff;
  border:1px solid #b3ebff;border-radius:32px;box-shadow:0 4px 16px #01253c40;
  color:#114e72;font:600 13px/1.4 'DM Sans',Arial,sans-serif;text-decoration:none;white-space:nowrap;
}
body .shvg-footer.shf-ribbon .shf-book:hover {background:white;}
body .shvg-footer.shf-ribbon .shvg-footer-bottom {
  display:flex;align-items:center;justify-content:flex-start;flex-wrap:wrap;gap:8px 24px;
  width:min(92%,1360px);max-width:none;margin:0 auto;border-top:1px solid #c0e6f650;
  padding:14px 0 18px;color:white;font:400 12px/1.6 'DM Sans',Arial,sans-serif;text-shadow:0 1px 3px #052f46;
}
.shf-ribbon .shvg-footer-bottom>span {margin-right:auto;}
.shf-ribbon a:focus-visible,.shf-ribbon summary:focus-visible {outline:2px solid #ffd286!important;outline-offset:3px;}
@media(max-width:860px) {
 body .shvg-footer.shf-ribbon .shvg-footer-grid {gap:10px 20px;padding:21px 0 15px;}
 .shf-ribbon .shf-brand {width:100%;flex-direction:row;align-items:center;justify-content:space-between;gap:20px;}
 body .shvg-footer.shf-ribbon .shvg-logo {width:158px;}
 .shf-ribbon .shf-location {text-align:right;max-width:50%;}
 body .shvg-footer.shf-ribbon .shf-navigation {width:100%;justify-content:space-between;gap:16px;}
 .shf-ribbon .shf-links {gap:25px;}
 .shf-ribbon .shf-panel {left:0;right:auto;}
}
@media(max-width:540px) {
 body .shvg-footer.shf-ribbon .shvg-footer-grid {display:grid;grid-template-columns:1fr auto;gap:16px 8px;align-items:center;width:calc(100% - 36px);padding:22px 0 12px;}
 .shf-ribbon .shf-brand,body .shvg-footer.shf-ribbon .shf-navigation {display:contents;}
 body .shvg-footer.shf-ribbon .shvg-logo {grid-area:1/1;width:145px;}
 body .shvg-footer.shf-ribbon .shf-book {grid-area:1/2;font-size:12px;padding:10px 13px;}
 .shf-ribbon .shf-links {grid-area:2/1/3/-1;position:relative;gap:12px;justify-content:space-between;}
 .shf-ribbon .shf-links details {position:static;}
 .shf-ribbon .shf-links summary,body .shvg-footer.shf-ribbon .shf-enquiry {font-size:13px;min-height:40px;}
 .shf-ribbon .shf-panel {left:0;right:0;min-width:0;}
 .shf-ribbon .shf-location {grid-area:3/1/4/-1;text-align:left;max-width:none;font-size:11px;}
 body .shvg-footer.shf-ribbon .shvg-footer-bottom {width:calc(100% - 36px);padding:12px 0 18px;gap:3px 14px;font-size:11px;}
 .shf-ribbon .shvg-footer-bottom>span {flex-basis:100%;}
}

body .shvg-footer.shf-ribbon a { border-bottom:0; }
