/* Aeroquest Mapcon - site styles that replace behaviour Squarespace did with scripts */

/* Banner image: fill the banner box and crop to fit.
   The focal point is applied by assets/js/main.js (defaults to the centre). */
.banner-thumbnail-wrapper figure.content-fill {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  overflow: hidden;
}

.banner-thumbnail-wrapper figure.content-fill img,
.banner-thumbnail-wrapper figure.content-fill video {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 50%;
}

/* Manrope (variable font, weights 200-800) - self-hosted from assets/fonts.
   Source: Google Fonts, SIL Open Font License 1.1 */
@font-face {
  font-family: "Manrope";
  font-style: normal;
  font-weight: 200 800;
  font-display: swap;
  src: url("../fonts/manrope-latin-ext.woff2") format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: "Manrope";
  font-style: normal;
  font-weight: 200 800;
  font-display: swap;
  src: url("../fonts/manrope-latin.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* "Manrope Text": the same Manrope files at 85% size. Used where the design had Adobe Garamond
   (body text, h1, tagline), which is about 15% narrower than Manrope at the same font size. */
@font-face {
  font-family: "Manrope Text";
  font-style: normal;
  font-weight: 200 800;
  font-display: swap;
  size-adjust: 85%;
  src: url("../fonts/manrope-latin-ext.woff2") format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: "Manrope Text";
  font-style: normal;
  font-weight: 200 800;
  font-display: swap;
  size-adjust: 85%;
  src: url("../fonts/manrope-latin.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* Section list on phones (Services / Projects / Industries): the "+" button adds .expanded to #folderNav (see main.js).
   These are the original Squarespace rules that were dropped when the stylesheet was trimmed. */
@media only screen and (max-width: 640px) {
  #folderNav.expanded .folder-nav-toggle { z-index: 0; }
  #folderNav.expanded .folder-nav-toggle:after { content: "\2013"; }
  #folderNav.expanded .folder-nav li:not(.active-link) { display: block; }
  #folderNav.expanded .folder-nav li:not(.active-link).nav-section-label { display: none; }
}

/* Phone-style menu on medium screens: when the desktop menu does not fit next to the logo, main.js adds
   .force-mobile-nav to <body>. These are the original Squarespace rules for that state, restored after the
   stylesheet was trimmed. */
.force-mobile-nav #sidecarNav .folder-toggle~.subnav { height:0;max-height:0;overflow:hidden;padding:0 1.5em;font-size:13px }
.force-mobile-nav #sidecarNav .folder-toggle~.subnav>div { padding:.5em 0 }
.force-mobile-nav #sidecarNav .folder-toggle.active~.subnav { height:auto;max-height:999px;padding:0 1em 1em }
.force-mobile-nav #header #headerNav { display:none }
.force-mobile-nav .mobile-nav-toggle { display:block;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box;z-index:100;width:10%;position:absolute;z-index:1002;top:50%;right:20px;margin-top:-8px;padding:0;vertical-align:middle;line-height:16px;text-align:right;cursor:pointer;user-select:none;color:rgba(255,255,255,.9);width:22px;height:22px }
.force-mobile-nav .mobile-nav-toggle .top-bar,.force-mobile-nav .mobile-nav-toggle .middle-bar,.force-mobile-nav .mobile-nav-toggle .bottom-bar { width:22px;height:2px;background-color:#fff;-webkit-transition:-webkit-transform .1s 0s ease-in-out,top .1s .1s ease-in-out;-moz-transition:-moz-transform .1s 0s ease-in-out,top .1s .1s ease-in-out;-ms-transition:-ms-transform .1s 0s ease-in-out,top .1s .1s ease-in-out;-o-transition:-o-transform .1s 0s ease-in-out,top .1s .1s ease-in-out;transition:transform .1s 0s ease-in-out,top .1s .1s ease-in-out;-webkit-transform-origin:50% 50%;-moz-transform-origin:50% 50%;-ms-transform-origin:50% 50%;-o-transform-origin:50% 50%;transform-origin:50% 50%;position:absolute;top:0;right:0 }
.force-mobile-nav .mobile-nav-toggle .middle-bar { -webkit-transition:opacity 0s .15s linear;-moz-transition:opacity 0s .15s linear;-ms-transition:opacity 0s .15s linear;-o-transition:opacity 0s .15s linear;transition:opacity 0s .15s linear;top:7px }
.force-mobile-nav .mobile-nav-toggle .bottom-bar { top:14px }
.force-mobile-nav #mainNavWrapper { display:block;position:fixed;width:260px;z-index:-1;top:0;right:0;bottom:0;height:100%;line-height:1em;text-align:left;overflow:auto;background-color:#22264e;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-transform:translate3d(260px,0,0);-moz-transform:translate3d(260px,0,0);-ms-transform:translate3d(260px,0,0);-o-transform:translate3d(260px,0,0);transform:translate3d(260px,0,0);-webkit-transition:-webkit-transform 0s 0s ease-in-out;-moz-transition:-moz-transform 0s 0s ease-in-out;-ms-transition:-ms-transform 0s 0s ease-in-out;-o-transition:-o-transform 0s 0s ease-in-out;transition:transform 0s 0s ease-in-out }
.force-mobile-nav #mainNavWrapper nav { padding:32px 40px;display:none }
.force-mobile-nav #mainNavWrapper nav div { -moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box }
.force-mobile-nav #mainNavWrapper nav div a,.force-mobile-nav #mainNavWrapper nav div .folder-toggle { display:block;padding:.75em 0 }
.force-mobile-nav #mainNavWrapper nav div .subnav>div a { padding:0 0 .5em }
.force-mobile-nav #mainNavWrapper nav div .subnav>div:last-child a { padding-bottom:1em }
.force-mobile-nav #siteWrapper { width:100%;-webkit-transition:-webkit-transform .2s ease-in-out;-moz-transition:-moz-transform .2s ease-in-out;-ms-transition:-ms-transform .2s ease-in-out;-o-transition:-o-transform .2s ease-in-out;transition:transform .2s ease-in-out }
.force-mobile-nav.mobile-nav-open #siteWrapper { position:fixed;-webkit-transform:translatex(-260px);-webkit-transform:translate3d(-260px,0,0);-moz-transform:translatex(-260px) translatez(0);-moz-transform:translate3d(-260px,0,0);-ms-transform:translatex(-260px) translatez(0);-ms-transform:translate3d(-260px,0,0);-o-transform:translatex(-260px) translatez(0);-o-transform:translate3d(-260px,0,0);transform:translatex(-260px) translatez(0);transform:translate3d(-260px,0,0) }
.force-mobile-nav.mobile-nav-open #siteWrapper .mobile-nav-toggle .top-bar,.force-mobile-nav.mobile-nav-open #siteWrapper .mobile-nav-toggle .bottom-bar { -webkit-transition:top .1s .1s ease-in-out,-webkit-transform .1s .2s ease-in-out;-moz-transition:top .1s .1s ease-in-out,-moz-transform .1s .2s ease-in-out;-ms-transition:top .1s .1s ease-in-out,-ms-transform .1s .2s ease-in-out;-o-transition:top .1s .1s ease-in-out,-o-transform .1s .2s ease-in-out;transition:top .1s .1s ease-in-out,transform .1s .2s ease-in-out }
.force-mobile-nav.mobile-nav-open #siteWrapper .mobile-nav-toggle .top-bar { -webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-ms-transform:rotate(45deg);-o-transform:rotate(45deg);transform:rotate(45deg);top:7px }
.force-mobile-nav.mobile-nav-open #siteWrapper .mobile-nav-toggle .middle-bar { opacity:0 }
.force-mobile-nav.mobile-nav-open #siteWrapper .mobile-nav-toggle .bottom-bar { -webkit-transform:rotate(-45deg);-moz-transform:rotate(-45deg);-ms-transform:rotate(-45deg);-o-transform:rotate(-45deg);transform:rotate(-45deg);top:7px }
.force-mobile-nav.mobile-nav-open #sidecarNav { height:100%;visibility:visible;-webkit-transition:height 0s .14s linear,visibility 0s 0s linear;-moz-transition:height 0s .14s linear,visibility 0s 0s linear;-ms-transition:height 0s .14s linear,visibility 0s 0s linear;-o-transition:height 0s .14s linear,visibility 0s 0s linear;transition:height 0s .14s linear,visibility 0s 0s linear }
.force-mobile-nav.enable-nav-button #sidecarNav nav>div:not(.folder):last-child a { display:inline-block;margin:1em 0 0 0;line-height:1;padding:1em 1.5em }
.force-mobile-nav .folder-toggle.active~.subnav { padding:.25em 0 .5em }

/* Image captions: centred under their images on every page. */
.image-caption { text-align: center; }

/* Footer banner: about half its original height (64px) with the copyright line and contact details inside. */
.footer-inner { padding: 17.6px 32px; }
.footer-row { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: baseline; column-gap: 40px; }
.footer-copyright p, .footer-contact p { margin: 0; padding: 0; color: #fff;
  font-family: "Manrope Text", "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 18px; font-weight: 400; line-height: 1.6; }
.footer-copyright p { text-align: left; }
.footer-contact { margin-left: auto; }
.footer-contact p { text-align: right; }
.footer-contact span { display: inline-block; margin-left: 40px; white-space: nowrap; }
.footer-contact span:first-child { margin-left: 0; }
.footer-contact a, .footer-contact a:visited { color: #fff; text-decoration: none; border: 0; }
.footer-contact a:hover { text-decoration: underline; }
@media only screen and (max-width: 640px) {
  .footer-inner { padding: 6px 20px; }
  .footer-contact span { margin-left: 24px; white-space: normal; overflow-wrap: anywhere; }
  .footer-contact span:first-child { margin-left: 24px; }
}
