/*
Theme Name: Orbital Service Theme
Theme URI: https://connormoizer.com/
Author: Connor Moizer
Author URI: https://connormoizer.com/
Description: Generic agency-style WordPress theme with CMUK-style main and service headers, service header on by default with Home and Contact toggles, expanded post/blog/live-blog service header support with Display Rules respected, full-width single-site and multisite search results, independent CPT display controls, per-CPT service title URL dropdowns, multisite main-site URL option, main-site title override option, source-site-safe multisite menu link syncing, main-site header search URL, shared visible 404 layout, matching Home-style page-title checkboxes for pages and every registered CPT, automatic forced page/CPT titles above Elementor content, full multisite global header menu location sync, and Customizer multisite content menu picker, manual-only independent CPT listener widget areas with per-CPT on/off controls in Customizer and Appearance, full-width content when CPT widgets are off or empty, no automatic related widget injection, Customizer controls sorted into clear tab-like per-CPT sections with service/title/widget controls, with CMUK-style lower footer credit bar using inline year, full site name, and made-with-love credit. v1.2.7 reduces the page editor/last updated footer meta so it visually matches the copyright footer and feels less dominant on mobile. v1.3.0 centres only real uploaded WordPress content images and excludes emoji/smilies. v1.3.1 automatically shows Media Library caption/alt/description/title text below real article images. v1.3.2 hard-forces the media-text injection through Gutenberg render_block and the_content fallbacks so real WordPress attachment images reliably show their Media Library text. v1.3.3 also reads the inserted image alt/title attribute from the editor modal, so alt text typed into Image Details is forced onto the frontend even when WordPress does not save it back to attachment meta. v1.3.4 adds a frontend hard fallback so inserted image alt/title text shows by default even when no visible caption option was selected.
Version: 1.3.6
Requires at least: 6.0
Tested up to: 6.5
Requires PHP: 7.4
License: GPL-2.0-or-later
Text Domain: orbital-service-theme
Copyright: Copyright © Connor Moizer. All rights reserved.
*/

:root{
  --ost-bg:#000000;
  --ost-bg-2:#1b1f2a;
  --ost-text:#ffffff;
  --ost-muted:#9b9ba3;
  --ost-accent:#ff4b2b;
  --ost-link:#1d70b8;
  --ost-footer:#000000;
  --ost-max:1280px;
  --ost-pad:10px;
  font-size:16px;
}
*{box-sizing:border-box;}
html{font-size:16px;}
body{margin:0;background:#fff;color:#111;font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.55;}
a{color:var(--ost-link);}
a:hover,a:focus{background:transparent;text-decoration:underline;text-underline-offset:4px;}
.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
.ost-wrap{max-width:var(--ost-max);margin:0 auto;padding-left:var(--ost-pad);padding-right:var(--ost-pad);}
.site{min-height:100vh;display:flex;flex-direction:column;}
.site-main{flex:1 0 auto;display:block;min-height:0;}
.ost-home-blank-main{padding:0;margin:0;}

/* MAIN GLOBAL HEADER: title left, logo centre, menu right */
.ost-global-header{background:var(--ost-bg);color:#fff;border-bottom:1px solid rgba(255,255,255,.12);position:relative;z-index:50;}
.ost-global-header a{color:#fff;text-decoration:none;}
.ost-header-row,.ost-global-row{min-height:86px;display:flex;align-items:center;gap:24px;position:relative;}
.ost-title-brand{order:1;display:flex;flex-direction:column;justify-content:center;min-width:0;max-width:42%;color:#fff!important;text-decoration:none!important;z-index:3;}
.ost-site-title{font-size:22px;font-weight:900;line-height:1.1;letter-spacing:.01em;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.ost-site-description{display:block;font-size:13px;color:#d7dbe7;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.ost-center-logo{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:flex;align-items:center;justify-content:center;text-decoration:none!important;color:#fff!important;z-index:2;}
.ost-brand-mark{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle at 30% 30%,#fff 0 8%,#2f83ff 9% 38%,#071225 39% 100%);box-shadow:0 0 0 2px rgba(255,255,255,.75);}
.ost-brand-mark span{width:38px;height:4px;background:var(--ost-accent);display:block;transform:rotate(-18deg);border-radius:99px;}
.ost-global-header .ost-brand{display:none!important;}
.ost-nav-toggle,.ost-mobile-toggle,.ost-service-mobile-toggle{display:none;background:transparent!important;border:0!important;box-shadow:none!important;color:inherit;font:inherit;font-size:16px;font-weight:900;padding:10px 0!important;cursor:pointer;border-radius:0;}
.ost-nav-toggle:after,.ost-mobile-toggle:after,.ost-service-mobile-toggle:after{content:'+';display:inline-block;margin-left:9px;font-weight:900;}
.ost-nav-toggle[aria-expanded="true"]:after,.ost-mobile-toggle[aria-expanded="true"]:after,.ost-service-mobile-toggle[aria-expanded="true"]:after{content:'−';}
.ost-primary-nav{order:3;margin-left:auto;display:flex;align-items:center;z-index:4;}
.ost-search-link{margin-left:18px;border-left:1px solid rgba(255,255,255,.25);padding-left:18px;color:#fff!important;font-weight:900;}

/* SHARED MENU + ACCORDION */
.ost-menu,.ost-header-menu,.ost-service-menu{list-style:none;margin:0;padding:0;display:flex;align-items:center;gap:2px;line-height:1.2;}
.ost-menu li,.ost-header-menu li,.ost-service-menu li{position:relative;}
.ost-menu a,.ost-header-menu a,.ost-service-menu a{display:block;font-size:16px;font-weight:800;text-decoration:none;background:transparent;padding:18px 13px;color:inherit;}
.ost-menu a:hover,.ost-menu a:focus,.ost-header-menu a:hover,.ost-header-menu a:focus,.ost-service-menu a:hover,.ost-service-menu a:focus{background:transparent;text-decoration:underline;text-underline-offset:4px;}
.ost-menu .sub-menu,.ost-header-menu .sub-menu,.ost-service-menu .sub-menu{display:none;position:absolute;z-index:60;top:100%;left:0;min-width:240px;background:#161b28;padding:8px 0;margin:0;list-style:none;border-top:3px solid var(--ost-accent);box-shadow:0 12px 28px rgba(0,0,0,.35);}
.ost-menu li:hover>.sub-menu,.ost-menu li:focus-within>.sub-menu,.ost-header-menu li:hover>.sub-menu,.ost-header-menu li:focus-within>.sub-menu,.ost-service-menu li:hover>.sub-menu,.ost-service-menu li:focus-within>.sub-menu{display:block;}
.ost-menu .sub-menu a,.ost-header-menu .sub-menu a,.ost-service-menu .sub-menu a{padding:12px 16px;}
.ost-menu-item-wrap{display:flex;align-items:stretch;}
.ost-menu-item-wrap>a{flex:1;}
.ost-submenu-toggle{display:none;background:transparent;border:0;color:inherit;font:inherit;font-size:16px;font-weight:900;min-width:48px;padding:0 12px;cursor:pointer;}
.ost-submenu-toggle:before{content:'+';font-size:22px;line-height:1;font-weight:900;}
li.is-open>.ost-menu-item-wrap>.ost-submenu-toggle:before,.ost-submenu-toggle[aria-expanded="true"]:before{content:'−';}

/* SERVICE / MISSION HEADER: separate menu, NASA-like dark strip */
.ost-service-header{background:#1b1f2a;background:var(--ost-bg-2);color:#fff;border-top:0!important;border-bottom:1px solid rgba(255,255,255,.18);position:relative;z-index:40;}
.ost-service-header a{color:#fff!important;text-decoration:none;background:transparent!important;}
.ost-service-row{min-height:72px;display:flex;align-items:center;gap:24px;}
.ost-service-brand{display:flex;flex-direction:column;justify-content:center;min-width:230px;color:#fff!important;text-decoration:none!important;}
.ost-service-title{font-size:22px;font-weight:900;line-height:1.1;color:#fff;white-space:nowrap;}
.ost-service-description{font-size:13px;color:#d7dbe7;margin-top:3px;}
.ost-service-nav-panel{margin-left:auto;display:flex;align-items:center;background:transparent;}
.ost-service-menu .sub-menu{background:#1b1f2a;background:var(--ost-bg-2);}
.ost-service-menu a{color:#fff!important;}
.ost-service-menu a:hover,.ost-service-menu a:focus{background:transparent!important;color:#fff!important;}
.ost-service-mobile-toggle,.ost-mobile-toggle{border:0!important;outline:0;box-shadow:none!important;background:transparent!important;}

/* PAGE TITLE: white, no breadcrumbs, no coloured background */
.ost-page-title,.ost-page-title-white{background:#fff!important;color:#111!important;border:0!important;}
.ost-page-title .ost-wrap,.ost-page-title-white .ost-wrap{padding-top:88px!important;padding-bottom:28px!important;}
.ost-page-title h1,.ost-page-title-white h1{color:#111!important;background:transparent!important;font-size:clamp(58px,10vw,112px)!important;line-height:.92!important;letter-spacing:-.055em!important;font-weight:900!important;margin:0!important;}
.ost-breadcrumbs{display:none!important;}

/* CONTENT */
.ost-content-shell{padding:42px 0;}
.ost-main-content{width:100%;max-width:1280px;margin:0 auto;padding-left:10px;padding-right:10px;}
.ost-layout{display:grid;grid-template-columns:minmax(0,3fr) minmax(260px,1fr);gap:34px;align-items:start;}
/* v1.0.98: when CPT widgets are Off or empty, remove the empty sidebar column completely. */
.ost-layout.ost-layout-no-sidebar{display:block;grid-template-columns:1fr;width:100%;}
.ost-layout.ost-layout-no-sidebar .ost-main{width:100%;max-width:none;}
.ost-layout.ost-layout-no-sidebar .ost-sidebar{display:none!important;}

.ost-main,.ost-entry{min-width:0;}
.ost-main-content img,.ost-main img{max-width:100%;height:auto;}
.ost-main h1,.ost-main h2,.ost-main h3,.ost-entry h1,.ost-entry h2,.ost-entry h3{line-height:1.15;}
.wp-caption-text,.ost-alt-caption{display:block;font-size:16px;color:#505a66;margin-top:8px;}
.ost-sidebar{border-left:1px solid #d6d8de;padding-left:24px;}
.ost-sidebar .widget{margin-bottom:26px;}
.ost-sidebar .widget-title{font-size:19px;margin:0 0 12px;color:#111;background:transparent!important;}

/* FOOTER */
.ost-footer,.ost-footer *,.ost-connor-meta-footer,.ost-connor-meta-footer *{font-size:16px!important;box-sizing:border-box;}
.ost-connor-meta-footer{--ost-footer-label-width:23ch;background:#000!important;color:#8f8f98!important;width:100%;border:0!important;margin-top:auto;min-height:0!important;display:block;font-family:Arial,Helvetica,sans-serif;}
.ost-connor-footer-wrap{width:100%;max-width:1280px;margin:0 auto;padding:34px 10px!important;}
.ost-connor-footer-line{display:grid!important;grid-template-columns:var(--ost-footer-label-width) minmax(0,1fr);column-gap:12px;align-items:baseline;margin:0 0 10px!important;padding:0;color:#8f8f98!important;line-height:1.45!important;font-weight:400!important;letter-spacing:0;}
.ost-connor-footer-line:last-child{margin-bottom:0!important;}
.ost-connor-footer-label{color:#8f8f98!important;font-weight:400!important;white-space:nowrap;}
.ost-connor-footer-line strong{color:#9b9ba3!important;font-weight:800!important;margin-left:0!important;white-space:nowrap;}
.ost-connor-meta-footer a{color:#fff!important;background:transparent!important;}

.ost-cmuk-credit-footer{background:#000!important;border-top:1px solid rgba(255,255,255,.18);color:#fff!important;width:100%;font-size:16px!important;line-height:1.45!important;}
.ost-cmuk-credit-wrap{max-width:1280px;margin:0 auto;padding:14px 10px!important;display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;white-space:normal;overflow:visible;text-align:center;}
.ost-cmuk-credit-footer,.ost-cmuk-credit-footer *{font-size:16px!important;box-sizing:border-box;}
.ost-cmuk-credit-footer a{color:#fff!important;text-decoration:none!important;background:transparent!important;font-weight:700!important;}
.ost-cmuk-credit-footer a:hover,.ost-cmuk-credit-footer a:focus{text-decoration:underline!important;background:transparent!important;}
.ost-cmuk-credit-separator{color:#9b9ba3!important;margin:0 4px;}

/* MOBILE */
@media(max-width:860px){
  .ost-header-row,.ost-global-row{min-height:88px;gap:12px;}
  .ost-title-brand{max-width:42%;}
  .ost-site-title{font-size:20px!important;}
  .ost-site-description{display:none;}
  .ost-center-logo .ost-brand-mark{width:52px;height:52px;}
  .ost-mobile-toggle{display:block;margin-left:auto;order:3;color:#fff!important;z-index:5;}
  .ost-primary-nav{display:none;position:absolute;z-index:70;top:88px;left:0;right:0;margin-left:0;background:var(--ost-bg);border-top:1px solid rgba(255,255,255,.18);}
  .ost-primary-nav.is-open{display:block;}
  .ost-search-link{display:block;margin-left:0;padding:15px 10px;border-left:0;border-top:1px solid rgba(255,255,255,.16);color:#fff!important;}
  .ost-service-row{min-height:72px;gap:12px;}
  .ost-service-brand{min-width:0;max-width:calc(100% - 90px);}
  .ost-service-title{font-size:20px!important;}
  .ost-service-description{display:none;}
  .ost-service-mobile-toggle{display:block;margin-left:auto;color:#fff!important;}
  .ost-service-nav-panel{display:none;position:absolute;z-index:65;top:72px;left:0;right:0;margin-left:0;background:#1b1f2a;background:var(--ost-bg-2);border-top:1px solid rgba(255,255,255,.18);}
  .ost-service-nav-panel.is-open{display:block;}
  .ost-menu,.ost-header-menu,.ost-service-menu{display:block;width:100%;}
  .ost-menu li,.ost-header-menu li,.ost-service-menu li{display:block;}
  .ost-menu-item-wrap{border-top:1px solid rgba(255,255,255,.16);}
  .ost-menu a,.ost-header-menu a,.ost-service-menu a{padding:15px 10px;border-top:1px solid rgba(255,255,255,.16);}
  .ost-menu-item-wrap>a{border-top:0!important;}
  .ost-submenu-toggle{display:block;border-left:1px solid rgba(255,255,255,.16);}
  .ost-menu .sub-menu,.ost-header-menu .sub-menu,.ost-service-menu .sub-menu{display:none!important;position:static;min-width:0;background:rgba(255,255,255,.045);box-shadow:none;border-top:0;padding:0;overflow:hidden;}
  .ost-menu li.is-open>.sub-menu,.ost-header-menu li.is-open>.sub-menu,.ost-service-menu li.is-open>.sub-menu{display:block!important;}
  .ost-menu li:hover>.sub-menu,.ost-menu li:focus-within>.sub-menu,.ost-header-menu li:hover>.sub-menu,.ost-header-menu li:focus-within>.sub-menu,.ost-service-menu li:hover>.sub-menu,.ost-service-menu li:focus-within>.sub-menu{display:none!important;}
  .ost-menu li.is-open>.sub-menu,.ost-header-menu li.is-open>.sub-menu,.ost-service-menu li.is-open>.sub-menu{display:block!important;}
  .ost-menu .sub-menu a,.ost-header-menu .sub-menu a,.ost-service-menu .sub-menu a{padding-left:28px;}
  .ost-menu .sub-menu .sub-menu a,.ost-header-menu .sub-menu .sub-menu a,.ost-service-menu .sub-menu .sub-menu a{padding-left:46px;}
  .ost-menu .sub-menu .sub-menu .sub-menu a,.ost-header-menu .sub-menu .sub-menu .sub-menu a,.ost-service-menu .sub-menu .sub-menu .sub-menu a{padding-left:64px;}
  .ost-page-title .ost-wrap,.ost-page-title-white .ost-wrap{padding-top:92px!important;padding-bottom:24px!important;}
  .ost-page-title h1,.ost-page-title-white h1{font-size:clamp(58px,18vw,92px)!important;}
  .ost-layout{display:block;}
  .ost-sidebar{border-left:0;border-top:1px solid #d6d8de;margin-top:28px;padding-left:0;padding-top:24px;}
  .ost-connor-footer-wrap{padding:30px 10px!important;}
}
@media(max-width:620px){
  .ost-connor-meta-footer{--ost-footer-label-width:22ch;}
  .ost-connor-footer-wrap{padding:26px 10px!important;}
  .ost-connor-footer-line{column-gap:10px;}
}
@media(max-width:380px){
  .ost-connor-meta-footer{--ost-footer-label-width:21ch;}
  .ost-connor-footer-line{column-gap:8px;}
}


/* v1.0.14: initials title + NASA-style white service header + CMUK borderless buttons */
.ost-global-header .ost-title-brand{
  flex:0 0 auto!important;
  max-width:130px!important;
  min-width:0!important;
}
.ost-site-title{
  display:inline-block!important;
  font-size:22px!important;
  font-weight:900!important;
  letter-spacing:.02em!important;
  max-width:90px!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.ost-service-header{
  background:#ffffff!important;
  color:#111111!important;
  border-top:0!important;
  border-bottom:1px solid #d0d0d0!important;
}
.ost-service-header a,
.ost-service-title,
.ost-service-mobile-toggle,
.ost-service-header .ost-nav-toggle,
.ost-service-header .ost-submenu-toggle{
  color:#111111!important;
}
.ost-service-description{color:#555555!important;}
.ost-service-nav-panel{background:#ffffff!important;color:#111111!important;}
.ost-service-menu .sub-menu{background:#ffffff!important;border-top:1px solid #d0d0d0!important;box-shadow:0 12px 24px rgba(0,0,0,.12)!important;}
.ost-service-menu a:hover,.ost-service-menu a:focus{background:transparent!important;color:#111111!important;}
.ost-nav-toggle,
.ost-mobile-toggle,
.ost-service-mobile-toggle{
  border:0!important;
  outline:0!important;
  box-shadow:none!important;
  background:transparent!important;
  padding-left:0!important;
  padding-right:0!important;
}
@media(max-width:860px){
  .ost-global-header .ost-title-brand{max-width:96px!important;}
  .ost-site-title{font-size:20px!important;max-width:76px!important;}
  .ost-service-row{min-height:72px!important;background:#ffffff!important;color:#111111!important;}
  .ost-service-mobile-toggle{color:#111111!important;background:transparent!important;border:0!important;box-shadow:none!important;}
  .ost-service-nav-panel{top:72px!important;background:#ffffff!important;border-top:1px solid #d0d0d0!important;}
  .ost-service-menu a{color:#111111!important;border-top:1px solid #d0d0d0!important;background:#ffffff!important;}
  .ost-service-menu .ost-menu-item-wrap{border-top:1px solid #d0d0d0!important;background:#ffffff!important;}
  .ost-service-menu .ost-submenu-toggle{border-left:1px solid #d0d0d0!important;color:#111111!important;background:#ffffff!important;}
  .ost-service-menu .sub-menu{background:#f6f6f6!important;border-top:0!important;box-shadow:none!important;}
  .ost-service-menu .sub-menu a{background:#f6f6f6!important;color:#111111!important;}
}


/* v1.0.15 proper service header: light black NASA-style strip, CMUK borderless buttons */
.ost-service-header{background:#1b1f2a!important;color:#fff!important;border-top:0!important;border-bottom:1px solid rgba(255,255,255,.18)!important;}
.ost-service-header .ost-wrap,.ost-service-row,.ost-service-brand,.ost-service-nav-panel{background:transparent!important;}
.ost-service-header a,.ost-service-title,.ost-service-description,.ost-service-menu a{color:#fff!important;background:transparent!important;}
.ost-service-header button,.ost-service-mobile-toggle,.ost-service-header .ost-submenu-toggle{border:0!important;box-shadow:none!important;background:transparent!important;color:#fff!important;}
.ost-service-menu .sub-menu{background:#1b1f2a!important;border-top:1px solid rgba(255,255,255,.18)!important;}
.ost-service-menu a:hover,.ost-service-menu a:focus{background:transparent!important;color:#fff!important;text-decoration:underline;text-underline-offset:4px;}
@media(max-width:860px){.ost-service-nav-panel{background:#1b1f2a!important;}.ost-service-menu .sub-menu{position:static!important;background:#1b1f2a!important;box-shadow:none!important;border-top:0!important;}.ost-service-menu a{border-bottom:1px solid rgba(255,255,255,.14)!important;}}


/* v1.0.16: smaller service header + forced white menu text */
.ost-service-header{
  background:#1b1f2a!important;
  color:#ffffff!important;
}
.ost-service-row{
  min-height:58px!important;
  padding-top:0!important;
  padding-bottom:0!important;
}
.ost-service-title{
  font-size:20px!important;
  color:#ffffff!important;
}
.ost-service-description{
  display:none!important;
}
.ost-service-mobile-toggle,
.ost-service-mobile-toggle:before,
.ost-service-mobile-toggle:after,
.ost-service-header .ost-nav-toggle,
.ost-service-header .ost-nav-toggle:before,
.ost-service-header .ost-nav-toggle:after,
.ost-service-header button,
.ost-service-header button:before,
.ost-service-header button:after{
  color:#ffffff!important;
  opacity:1!important;
  text-shadow:none!important;
}
.ost-service-header a,
.ost-service-header a:visited,
.ost-service-menu a,
.ost-service-menu a:visited,
.ost-service-menu .ost-menu-item-wrap > a,
.ost-service-menu .ost-submenu-toggle{
  color:#ffffff!important;
  opacity:1!important;
}
.ost-service-nav-panel{
  background:#1b1f2a!important;
  color:#ffffff!important;
}
.ost-service-menu .ost-menu-item-wrap{
  background:transparent!important;
  border-top-color:rgba(255,255,255,.14)!important;
}
.ost-service-menu .sub-menu{
  background:#1b1f2a!important;
}
@media(max-width:860px){
  .ost-service-row{
    min-height:56px!important;
  }
  .ost-service-brand{
    min-height:56px!important;
  }
  .ost-service-title{
    font-size:18px!important;
  }
  .ost-service-mobile-toggle{
    display:block!important;
    color:#ffffff!important;
    padding-top:0!important;
    padding-bottom:0!important;
    line-height:1!important;
  }
  .ost-service-nav-panel{
    top:56px!important;
    background:#1b1f2a!important;
    border-top:1px solid rgba(255,255,255,.16)!important;
  }
  .ost-service-menu a,
  .ost-service-menu .sub-menu a{
    color:#ffffff!important;
    background:transparent!important;
    border-top-color:rgba(255,255,255,.14)!important;
    border-bottom-color:rgba(255,255,255,.14)!important;
  }
  .ost-service-menu .ost-submenu-toggle{
    color:#ffffff!important;
    border-left:1px solid rgba(255,255,255,.14)!important;
    background:transparent!important;
  }
}

/* v1.0.20: service title URL dropdowns now list only content from the matching CPT section. */


/* v1.0.24: main header title switches automatically.
   Two words stay full, three or more words are shortened to initials by PHP. */
.ost-global-header .ost-title-brand{
  max-width:min(44vw, 240px)!important;
}
.ost-site-title{
  max-width:min(44vw, 240px)!important;
}
@media(max-width:860px){
  .ost-global-header .ost-title-brand{
    max-width:42vw!important;
  }
  .ost-site-title{
    max-width:42vw!important;
    font-size:20px!important;
  }
}
@media(max-width:380px){
  .ost-global-header .ost-title-brand{
    max-width:38vw!important;
  }
  .ost-site-title{
    max-width:38vw!important;
    font-size:19px!important;
  }
}


/* v1.0.30: ITV-style blog metadata and related news layout from BO theme. */
.ost-itv-meta{
  display:flex;
  align-items:center;
  gap:12px;
  color:#6f7278;
  font-size:16px;
  line-height:1.35;
  font-weight:400;
}
.ost-page-title .ost-itv-meta-full{
  margin-top:20px;
  padding-bottom:22px;
  border-bottom:4px solid #aeb3b8;
  font-size:18px;
}
.ost-itv-clock{
  position:relative;
  width:22px;
  height:22px;
  border:2px solid currentColor;
  border-radius:50%;
  flex:0 0 22px;
  opacity:.95;
}
.ost-itv-clock:before,
.ost-itv-clock:after{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:2px;
  background:currentColor;
  transform-origin:bottom center;
  border-radius:2px;
}
.ost-itv-clock:before{height:7px;transform:translate(-50%,-100%) rotate(0deg);}
.ost-itv-clock:after{height:8px;transform:translate(-50%,-100%) rotate(90deg);}
.ost-itv-separator{font-weight:700;color:#55585e;margin:0 2px;}
.ost-itv-author{font-weight:400;color:#6f7278;}

.ost-itv-related-news .widget-title,
.ost-default-related-widget .widget-title{
  font-size:32px!important;
  line-height:1.1!important;
  font-weight:900!important;
  margin:0 0 26px!important;
  color:#050505!important;
}
.ost-related-list{display:flex;flex-direction:column;gap:34px;}
.ost-related-item{
  display:grid;
  grid-template-columns:112px minmax(0,1fr);
  gap:22px;
  align-items:start;
}
.ost-related-thumb{
  display:block;
  width:112px;
  height:88px;
  overflow:hidden;
  background:#eef1f3;
  text-decoration:none!important;
}
.ost-related-thumb img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}
.ost-related-placeholder{
  display:block;
  width:100%;
  height:100%;
  background:linear-gradient(135deg,#e8edf1,#f6f7f8);
}
.ost-related-title{
  margin:0 0 14px!important;
  font-size:22px!important;
  line-height:1.25!important;
  font-weight:900!important;
  color:#050505!important;
}
.ost-related-title a{
  color:#050505!important;
  text-decoration:none!important;
}
.ost-related-title a:hover,
.ost-related-title a:focus{
  text-decoration:underline!important;
  text-underline-offset:4px;
}
.ost-itv-meta-relative{font-size:18px;color:#74777e;gap:14px;}
.ost-itv-meta-relative .ost-itv-clock{width:20px;height:20px;flex-basis:20px;border-width:2px;}

body.single-post .ost-entry,
body.blog .ost-entry,
body.archive .ost-entry{
  font-size:16px;
}
@media(max-width:860px){
  .ost-page-title .ost-itv-meta-full{
    font-size:16px;
    margin-top:16px;
    padding-bottom:18px;
    border-bottom-width:3px;
  }
  .ost-itv-meta{gap:10px;flex-wrap:wrap;}
  .ost-itv-clock{width:20px;height:20px;flex-basis:20px;}
  .ost-related-list{gap:30px;}
  .ost-related-item{grid-template-columns:96px minmax(0,1fr);gap:18px;}
  .ost-related-thumb{width:96px;height:76px;}
  .ost-related-title{font-size:20px!important;line-height:1.28!important;}
  .ost-itv-related-news .widget-title,
  .ost-default-related-widget .widget-title{font-size:30px!important;}
}
@media(max-width:420px){
  .ost-related-item{grid-template-columns:86px minmax(0,1fr);gap:14px;}
  .ost-related-thumb{width:86px;height:72px;}
  .ost-related-title{font-size:18px!important;}
  .ost-itv-meta-relative{font-size:16px;}
}

/* v1.0.32 main title: full on tablet/desktop, initials only on mobile for 3+ word titles */
.ost-site-title-mobile-initials{display:none;}
.ost-site-title-full{display:inline;}
@media (max-width: 767px){
  .ost-site-title:has(.ost-site-title-mobile-initials) .ost-site-title-full{display:none;}
  .ost-site-title-mobile-initials{display:inline;}
}
@media (min-width: 768px){
  .ost-site-title-full{display:inline!important;}
  .ost-site-title-mobile-initials{display:none!important;}
}
/* v1.0.32 centre copyright/footer credit on all devices */
.ost-cmuk-credit-wrap{justify-content:center!important;text-align:center!important;}


/* v1.0.33: Service header + ITV meta explicitly supported on post/blog/live-blog style layouts. */
body.single-post .ost-service-header,
body.blog .ost-service-header,
body.archive .ost-service-header{display:block;}
.ost-itv-meta-full{border-bottom:4px solid #aeb4b8;padding-bottom:24px;margin-bottom:34px;}


/* v1.0.34: service/mission header support for posts, blogs and live blogs without touching plugin output */
body.blog .ost-service-header,
body.single-post .ost-service-header,
body.archive .ost-service-header,
body.category .ost-service-header,
body.tag .ost-service-header,
body.date .ost-service-header,
body.author .ost-service-header{
  display:block;
}

/* v1.0.36: service/mission header is forced for CPTs named post/posts/blog/blogs/live blog/live blogs; content output is untouched. */
body.single .ost-service-header,
body.archive .ost-service-header,
body.blog .ost-service-header{display:block!important;}

/* v1.0.36 search page: full-width results, no sidebar, clean dividers */
.ost-search-results-shell .ost-search-fullwidth{display:block;width:100%;max-width:var(--ost-max);margin:0 auto;padding-left:var(--ost-pad);padding-right:var(--ost-pad);}
.ost-search-main{width:100%;max-width:100%;}
.ost-search-main .search-form{display:flex;align-items:flex-end;gap:10px;margin:0 0 28px 0;max-width:760px;}
.ost-search-main .search-field{width:100%;min-height:44px;border:1px solid #6f777b;padding:8px 10px;font-size:16px;background:#fff;color:#111;}
.ost-search-main .search-submit{min-height:44px;border:0;background:var(--ost-link);color:#fff;font-size:16px;font-weight:800;padding:9px 18px;cursor:pointer;}
.ost-search-count-label{font-size:16px;margin:0 0 24px 0;color:#111;}
.ost-search-site-group{margin:0 0 34px 0;}
.ost-search-site-heading{font-size:24px;line-height:1.2;margin:0 0 14px 0;color:#111;}
.ost-search-result-item{border-bottom:2px solid #8a8f96;padding:0 0 20px 0;margin:0 0 20px 0;background:transparent;}
.ost-search-result-title{font-size:24px;line-height:1.2;margin:0 0 4px 0;font-weight:900;}
.ost-search-result-title a{color:var(--ost-link);text-decoration:underline;text-underline-offset:3px;background:transparent!important;}
.ost-search-result-meta{font-size:16px;line-height:1.4;color:#444;margin:0 0 12px 0;}
.ost-search-result-description{font-size:16px;line-height:1.55;margin:0;color:#111;max-width:920px;}
.ost-search-empty{font-size:16px;margin:0 0 30px 0;}
@media (max-width:700px){.ost-search-main .search-form{display:block;}.ost-search-main .search-field{display:block;margin-bottom:10px;}.ost-search-main .search-submit{width:100%;}.ost-search-result-title{font-size:21px;}}


/* v1.0.37: CPT-listening tabs for single-site and multisite search */
.ost-search-tabs{width:100%;margin:0 0 34px 0;}
.ost-search-tab-list{display:flex;flex-wrap:wrap;gap:10px;border-bottom:2px solid #8a8f96;margin:0 0 28px 0;}
.ost-search-tab{appearance:none;border:2px solid #8a8f96;border-bottom:0;background:#f3f4f5;color:#111;padding:12px 16px;margin:0 0 -2px 0;font-size:16px;font-weight:800;line-height:1.2;cursor:pointer;display:flex;align-items:center;gap:10px;}
.ost-search-tab strong{display:inline-flex;align-items:center;justify-content:center;min-width:28px;min-height:24px;padding:2px 8px;border-radius:999px;background:#111;color:#fff;font-size:14px;line-height:1;}
.ost-search-tab.is-active{background:#fff;border-color:#111;position:relative;z-index:2;}
.ost-search-tab.is-active:after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:2px;background:#fff;}
.ost-search-tab:focus{outline:3px solid #ffdd00;outline-offset:0;}
.ost-search-tab-panel[hidden]{display:none!important;}
.ost-search-tab-heading{font-size:28px;line-height:1.2;margin:0 0 18px 0;color:#111;font-weight:900;}
.ost-search-site-heading{font-size:20px;line-height:1.25;margin:26px 0 14px 0;color:#111;font-weight:900;}
@media (max-width:700px){.ost-search-tab-list{display:block;border-bottom:0;}.ost-search-tab{width:100%;justify-content:space-between;border:2px solid #8a8f96;margin:0 0 8px 0;}.ost-search-tab.is-active:after{display:none;}.ost-search-tab-heading{font-size:24px;}}


/* v1.0.42: tab-first search with single-site / all-sites switch */
.ost-search-scope-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 18px 0;}
.ost-search-scope-tab{display:inline-block;border:2px solid #111;background:#fff;color:#111!important;text-decoration:none!important;font-size:16px;font-weight:800;line-height:1.2;padding:10px 14px;}
.ost-search-scope-tab.is-active{background:#111;color:#fff!important;}
.ost-search-scope-tab:focus{outline:3px solid #ffdd00;outline-offset:0;}
.ost-search-main .search-form input[name="ost_scope"]{display:none;}

/* v1.0.45 search load-more and reset controls */
.ost-search-result-item[hidden]{display:none!important;}
.ost-search-load-more-wrap{margin:24px 0 10px 0;text-align:left;}
.ost-search-load-more{min-height:44px;border:2px solid #111;background:#111;color:#fff;font-size:16px;font-weight:800;line-height:1.2;padding:10px 18px;cursor:pointer;}
.ost-search-load-more:hover,.ost-search-load-more:focus{background:#fff;color:#111;outline:3px solid #ffdd00;outline-offset:0;}
.ost-search-reset-tab{border-color:#8a8f96!important;background:#f3f4f5!important;color:#111!important;}

/* v1.0.57 mobile search button + reset refresh */
@media (max-width: 820px){.ost-primary-nav .ost-search-link{display:block!important;margin-left:0!important;padding:15px 10px!important;border-left:0!important;border-top:1px solid rgba(255,255,255,.16)!important;color:#fff!important;text-decoration:none;}}

/* v1.0.59 reset clears search field and submits the search form instead of refreshing */


/* =========================================================
 * 404 PAGE
 * ========================================================= */
.cm-404-page{width:100%;padding:40px 20px;flex:1 0 auto;}
.cm-404-wrap{width:100%;max-width:900px;margin:0 auto;}
.cm-404-inner{width:100%;padding:40px 0;}
.cm-404-kicker{font-size:16px;margin:0 0 10px;opacity:.7;}
.cm-404-title{font-size:48px;line-height:1.1;margin:0 0 20px;font-weight:900;}
.cm-404-text{font-size:16px;line-height:1.6;margin:0 0 30px;max-width:680px;}
.cm-404-actions{display:flex;gap:15px;flex-wrap:wrap;margin-bottom:40px;}
.cm-404-button{display:inline-flex;align-items:center;justify-content:center;padding:12px 20px;text-decoration:none!important;font-size:16px;font-weight:900;border:1px solid currentColor;background:transparent;color:inherit;cursor:pointer;border-radius:0;}
.cm-404-button:hover,.cm-404-button:focus{background:transparent;text-decoration:underline!important;text-underline-offset:4px;}
.cm-404-search{width:100%;max-width:680px;}
.cm-404-search form{display:flex;gap:10px;align-items:stretch;flex-wrap:wrap;}
.cm-404-search input[type=search],.cm-404-search input[type=text]{width:min(100%,420px);min-height:44px;padding:10px 12px;font-size:16px;border:1px solid #777;background:#fff;color:#111;}
.cm-404-search input[type=submit],.cm-404-search button[type=submit]{min-height:44px;padding:10px 18px;font-size:16px;font-weight:900;border:1px solid #111;background:#111;color:#fff;cursor:pointer;}
@media(max-width:768px){.cm-404-page{padding:30px 16px}.cm-404-title{font-size:36px}.cm-404-search form{display:block}.cm-404-search input[type=search],.cm-404-search input[type=text],.cm-404-search input[type=submit],.cm-404-search button[type=submit]{width:100%;margin-bottom:10px}}


/* =========================================================
 * 404 PAGE CENTERED LAYOUT - v1.0.61
 * ========================================================= */
body.error404 .cm-404-inner{
    text-align:center;
}
body.error404 .cm-404-kicker,
body.error404 .cm-404-title{
    text-align:center;
}
body.error404 .cm-404-text{
    max-width:700px;
    margin-left:auto;
    margin-right:auto;
    text-align:center;
}
body.error404 .cm-404-actions{
    justify-content:center;
    align-items:center;
    text-align:center;
}
body.error404 .cm-404-search{
    max-width:700px;
    margin-left:auto;
    margin-right:auto;
}
body.error404 .cm-404-search form{
    justify-content:center;
}
body.error404 .cm-404-search input[type=search],
body.error404 .cm-404-search input[type=text]{
    text-align:left;
}
@media(max-width:768px){
    body.error404 .cm-404-actions{
        justify-content:center;
    }
    body.error404 .cm-404-button{
        min-width:0;
    }
}


/* GLOBAL CONTENT HEIGHT SYSTEM
 * Default is Elementor-style natural height. The old fixed 1440px theme content
 * height now only runs when Customizer > Orbital Service Theme > Layout >
 * Theme content height is set to Theme Fixed Height.
 */
body.ost-theme-content-height-on,
body.ost-theme-content-height-on #page,
body.ost-theme-content-height-on .site,
body.ost-theme-content-height-on .site-content,
body.ost-theme-content-height-on .site-main,
body.ost-theme-content-height-on main,
body.ost-theme-content-height-on .content-area,
body.ost-theme-content-height-on .elementor,
body.ost-theme-content-height-on .elementor-location-single,
body.ost-theme-content-height-on .elementor-location-archive,
body.ost-theme-content-height-on .elementor-section-wrap,
body.ost-theme-content-height-on .elementor-widget-wrap {
    min-height: 1440px;
}

body.ost-theme-content-height-on {
    display: flex;
    flex-direction: column;
}

body.ost-theme-content-height-on #page,
body.ost-theme-content-height-on .site {
    display: flex;
    flex-direction: column;
    flex: 1;
}

body.ost-theme-content-height-on .site-content,
body.ost-theme-content-height-on .site-main,
body.ost-theme-content-height-on main,
body.ost-theme-content-height-on .content-area,
body.ost-theme-content-height-on .elementor {
    flex: 1;
}

body.ost-theme-content-height-on .site-footer,
body.ost-theme-content-height-on footer {
    margin-top: auto;
}

body.ost-theme-content-height-elementor .site-main,
body.ost-theme-content-height-elementor .site-content,
body.ost-theme-content-height-elementor main,
body.ost-theme-content-height-elementor .content-area,
body.ost-theme-content-height-elementor .elementor,
body.ost-theme-content-height-elementor .elementor-section-wrap,
body.ost-theme-content-height-elementor .elementor-widget-wrap {
    min-height: 0 !important;
}


/* =========================================================
 * v1.0.66 - remove main header logo and force full site name
 * ========================================================= */
.ost-global-header .ost-center-logo,
.ost-global-header .ost-brand-mark,
.ost-global-header .custom-logo,
.ost-global-header .custom-logo-link,
.ost-global-header .custom-logo-link img,
.ost-global-header .site-logo,
.ost-global-header .site-branding img,
.ost-global-header .header-logo,
.ost-global-header .navbar-brand img {
    display: none !important;
    visibility: hidden !important;
}

.ost-global-header .ost-global-row,
.ost-global-header .ost-header-row {
    justify-content: flex-start !important;
}

.ost-global-header .ost-title-brand {
    flex: 0 1 auto !important;
    max-width: none !important;
    min-width: 0 !important;
    width: auto !important;
}

.ost-global-header .ost-site-title {
    max-width: none !important;
    width: auto !important;
    white-space: nowrap !important;
    overflow: visible !important;
    text-overflow: clip !important;
}

.ost-global-header .ost-site-title-full {
    display: inline !important;
}

.ost-global-header .ost-site-title-mobile-initials {
    display: none !important;
}

@media (max-width: 860px) {
    .ost-global-header .ost-title-brand {
        max-width: calc(100% - 90px) !important;
    }

    .ost-global-header .ost-site-title {
        max-width: none !important;
        font-size: 20px !important;
        white-space: normal !important;
        overflow: visible !important;
        text-overflow: clip !important;
    }
}

/* v1.0.76: shared visible 404 across multisite, keeping the broken URL visible. */
.cm-404-page{width:100%;min-height:720px;display:flex;align-items:center;justify-content:center;background:#fff;color:#111;padding:64px 10px;}
.cm-404-wrap{width:100%;max-width:1280px;margin:0 auto;}
.cm-404-inner{text-align:center;max-width:820px;margin:0 auto;}
.cm-404-kicker{font-size:16px;font-weight:900;margin:0 0 12px;color:#1d70b8;}
.cm-404-title{font-size:clamp(44px,8vw,92px);line-height:.95;letter-spacing:-.05em;margin:0 0 20px;font-weight:900;color:#111;}
.cm-404-text{font-size:20px;line-height:1.5;margin:0 auto 22px;max-width:680px;color:#333;}
.cm-404-source{font-size:16px;line-height:1.45;margin:0 auto 24px;max-width:760px;color:#505a66;word-break:break-word;}
.cm-404-source span{font-weight:700;color:#111;}
.cm-404-actions{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;margin:0 0 28px;}
.cm-404-button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 18px;background:#1d70b8!important;color:#fff!important;border:2px solid #1d70b8;border-radius:0;text-decoration:none!important;font-size:16px;font-weight:900;cursor:pointer;}
.cm-404-button:hover,.cm-404-button:focus{background:#003078!important;border-color:#003078;text-decoration:underline!important;}
.cm-404-search{display:flex;align-items:stretch;justify-content:center;gap:0;max-width:560px;margin:0 auto;}
.cm-404-search input[type="search"]{width:100%;min-height:44px;border:2px solid #111;border-right:0;padding:9px 12px;font-size:16px;}
.cm-404-search button{min-height:44px;border:2px solid #1d70b8;background:#1d70b8;color:#fff;font-size:16px;font-weight:900;padding:9px 16px;cursor:pointer;}
.cm-404-search button:hover,.cm-404-search button:focus{background:#003078;border-color:#003078;text-decoration:underline;}

/* v1.0.81: forced normal page/CPT title above all content, including Elementor-built bodies. */
.ost-page-title-forced{display:block;clear:both;width:100%;}

/* v1.0.88: CPT listener widened for built-in, CPT UI and third-party plugin post types in independent widget areas. */


/* v1.0.90 CPT widget display positions: desktop left/right, mobile bottom. */
.ost-layout-sidebar-right{grid-template-columns:minmax(0,3fr) minmax(260px,1fr);}
.ost-layout-sidebar-right .ost-main{order:1;}
.ost-layout-sidebar-right .ost-sidebar{order:2;border-left:1px solid #d6d8de;border-right:0;padding-left:24px;padding-right:0;}
.ost-layout-sidebar-left{grid-template-columns:minmax(260px,1fr) minmax(0,3fr);}
.ost-layout-sidebar-left .ost-sidebar{order:1;border-right:1px solid #d6d8de;border-left:0;padding-right:24px;padding-left:0;}
.ost-layout-sidebar-left .ost-main{order:2;}
@media (max-width: 780px){
  .ost-layout-sidebar-left,.ost-layout-sidebar-right{display:block;}
  .ost-layout-sidebar-left .ost-main,.ost-layout-sidebar-right .ost-main{order:1;}
  .ost-layout-sidebar-left .ost-sidebar,.ost-layout-sidebar-right .ost-sidebar{order:2;border-left:0;border-right:0;border-top:1px solid #d6d8de;margin-top:28px;padding-left:0;padding-right:0;padding-top:24px;}
}


/* v1.0.92: show CPT widgets above the footer on mobile only. */
.ost-mobile-cpt-widgets-above-footer{display:none;}
@media (max-width: 780px){
  .ost-layout .ost-sidebar{display:none!important;}
  .ost-mobile-cpt-widgets-above-footer{display:block;clear:both;width:100%;max-width:1280px;margin:0 auto 28px;padding:0 10px;}
  .ost-mobile-cpt-widgets-wrap{border-top:1px solid #d6d8de;padding-top:24px;}
  .ost-mobile-cpt-widgets-above-footer .widget{margin-bottom:26px;}
  .ost-mobile-cpt-widgets-above-footer .widget-title{font-size:19px;margin:0 0 12px;color:#111;background:transparent!important;}
}


/* v1.0.94: CPT widget fallback toggle. */
.ost-cpt-widget-fallback-disabled .ost-default-related-widget {
    display: none;
}


/* v1.0.95: automatic pre-made CPT Related Posts widget defaults. */
.ost-auto-cpt-related-widget .ost-related-site-name{font-size:14px;color:#505a66;margin-top:4px;}
@media (max-width:780px){
  .ost-auto-cpt-related-widget-desktop{display:none!important;}
}
@media (min-width:781px){
  .ost-auto-cpt-related-widget-mobile{display:none!important;}
}

/* v1.0.99: hard stop for disabled/empty CPT widget layouts. */
.ost-layout.ost-layout-no-sidebar{display:block!important;grid-template-columns:1fr!important;}
.ost-layout.ost-layout-no-sidebar>.ost-main{width:100%!important;max-width:none!important;}
.ost-layout.ost-layout-no-sidebar>.ost-sidebar{display:none!important;}


/* v1.1.9: scoped blog-style content flow with stretched/full-width content, now including CV/resume CPTs and CV/resume subsites. Page-title/header output is not touched. */
body.single .ost-entry.ost-blog-flow {
  width: 100%;
  max-width: none;
  margin-left: 0;
  margin-right: 0;
}
body.single .ost-entry.ost-blog-flow .entry-content {
  font-size: 16px;
  line-height: 1.72;
  color: #111;
}
body.single .ost-entry.ost-blog-flow .entry-content > *:first-child {
  margin-top: 0;
}
body.single .ost-entry.ost-blog-flow .entry-content > *:last-child {
  margin-bottom: 0;
}
body.single .ost-entry.ost-blog-flow .entry-content p,
body.single .ost-entry.ost-blog-flow .entry-content ul,
body.single .ost-entry.ost-blog-flow .entry-content ol {
  margin-top: 0;
  margin-bottom: 1.35em;
}
body.single .ost-entry.ost-blog-flow .entry-content h2 {
  font-size: clamp(28px, 4vw, 42px);
  line-height: 1.08;
  letter-spacing: -0.025em;
  margin: 1.65em 0 0.55em;
}
body.single .ost-entry.ost-blog-flow .entry-content h3 {
  font-size: clamp(23px, 3vw, 30px);
  line-height: 1.15;
  margin: 1.45em 0 0.55em;
}
body.single .ost-entry.ost-blog-flow .entry-content h4 {
  font-size: 20px;
  line-height: 1.2;
  margin: 1.35em 0 0.5em;
}
body.single .ost-entry.ost-blog-flow .entry-content ul,
body.single .ost-entry.ost-blog-flow .entry-content ol {
  padding-left: 1.45em;
}
body.single .ost-entry.ost-blog-flow .entry-content li {
  margin-bottom: 0.55em;
}
body.single .ost-entry.ost-blog-flow .entry-content blockquote {
  margin: 1.8em 0;
  padding: 0 0 0 20px;
  border-left: 5px solid #1d70b8;
  color: #333;
  font-size: 19px;
  line-height: 1.55;
}
body.single .ost-entry.ost-blog-flow .entry-content figure,
body.single .ost-entry.ost-blog-flow .entry-content .wp-block-image {
  margin: 2em 0;
}
body.single .ost-entry.ost-blog-flow .entry-content img {
  display: block;
  width: auto;
  max-width: 100%;
  height: auto;
}
body.single .ost-entry.ost-blog-flow .entry-content .wp-caption,
body.single .ost-entry.ost-blog-flow .entry-content figcaption {
  max-width: 100%;
  color: #505a66;
  font-size: 16px;
  line-height: 1.45;
}
body.single .ost-entry.ost-blog-flow .entry-content .alignwide,
body.single .ost-entry.ost-blog-flow .entry-content .alignfull {
  width: 100%;
  max-width: 100%;
  margin-left: 0;
  transform: none;
}
body.single .ost-layout-no-sidebar .ost-entry.ost-blog-flow,
body.single .ost-layout-sidebar-left .ost-entry.ost-blog-flow,
body.single .ost-layout-sidebar-right .ost-entry.ost-blog-flow {
  max-width: none;
}
@media (max-width: 780px) {
  body.single .ost-content-shell {
    padding-top: 28px;
  }
  body.single .ost-entry.ost-blog-flow {
    max-width: none;
  }
  body.single .ost-entry.ost-blog-flow .entry-content {
    line-height: 1.68;
  }
  body.single .ost-entry.ost-blog-flow .entry-content h2 {
    margin-top: 1.35em;
  }
  body.single .ost-entry.ost-blog-flow .entry-content .alignwide,
  body.single .ost-entry.ost-blog-flow .entry-content .alignfull {
    width: 100%;
    max-width: 100%;
    margin-left: 0;
    transform: none;
  }
}



/* v1.2.6: editorial clock/date/author strip for blog/post/news-style multisite subsites and CPT layouts. */
.ost-entry-editorial-header{margin:0 0 28px!important;padding:0!important;background:transparent!important;color:#111!important;}
.ost-entry-editorial-header .ost-entry-title{margin:0 0 18px!important;font-size:clamp(42px,7vw,88px)!important;line-height:.96!important;letter-spacing:-.045em!important;font-weight:900!important;color:#111!important;background:transparent!important;}
.ost-entry-editorial-header .ost-itv-meta-full{margin-top:0!important;margin-bottom:28px!important;padding-bottom:22px!important;border-bottom:4px solid #aeb4b8!important;color:#6f7278!important;font-size:18px!important;}
body[class*="blog"] .ost-page-title .ost-itv-meta-full,
body[class*="post"] .ost-page-title .ost-itv-meta-full,
body[class*="news"] .ost-page-title .ost-itv-meta-full,
body[class*="article"] .ost-page-title .ost-itv-meta-full{display:flex!important;}
@media(max-width:860px){
  .ost-entry-editorial-header .ost-entry-title{font-size:clamp(36px,12vw,58px)!important;}
  .ost-entry-editorial-header .ost-itv-meta-full{font-size:16px!important;border-bottom-width:3px!important;}
}


/* v1.2.7: make the page editor / last-updated footer meta match the copyright footer size. */
.ost-footer.ost-connor-meta-footer .ost-connor-footer-wrap,
.ost-footer.ost-connor-meta-footer .ost-connor-footer-line,
.ost-footer.ost-connor-meta-footer .ost-connor-footer-label,
.ost-footer.ost-connor-meta-footer .ost-connor-footer-line strong{
  font-size:16px!important;
  line-height:1.45!important;
}
.ost-footer.ost-connor-meta-footer .ost-connor-footer-line strong{
  font-weight:700!important;
}
.ost-footer.ost-connor-meta-footer .ost-connor-footer-wrap{
  padding-top:28px!important;
  padding-bottom:28px!important;
}
@media (max-width:700px){
  .ost-footer.ost-connor-meta-footer .ost-connor-footer-wrap,
  .ost-footer.ost-connor-meta-footer .ost-connor-footer-line,
  .ost-footer.ost-connor-meta-footer .ost-connor-footer-label,
  .ost-footer.ost-connor-meta-footer .ost-connor-footer-line strong{
    font-size:16px!important;
    line-height:1.45!important;
  }
  .ost-footer.ost-connor-meta-footer .ost-connor-footer-wrap{
    padding-top:24px!important;
    padding-bottom:24px!important;
  }
}


/* v1.3.0: force real uploaded WordPress content images to centre only.
   Excludes emoji/smilies so blue/yellow hearts and other inline emoji stay inline. */
body.single .ost-main .entry-content .wp-block-image,
body.single .ost-main .entry-content figure.wp-block-image,
body.single .ost-main .entry-content .wp-caption {
  float: none !important;
  clear: both !important;
  display: block !important;
  text-align: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

body.single .ost-main .entry-content .wp-block-image.alignleft,
body.single .ost-main .entry-content .wp-block-image.alignright,
body.single .ost-main .entry-content figure.wp-block-image.alignleft,
body.single .ost-main .entry-content figure.wp-block-image.alignright,
body.single .ost-main .entry-content .wp-caption.alignleft,
body.single .ost-main .entry-content .wp-caption.alignright {
  float: none !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

body.single .ost-main .entry-content img[class*="wp-image-"],
body.single .ost-main .entry-content .wp-block-image img[class*="wp-image-"],
body.single .ost-main .entry-content figure.wp-block-image img[class*="wp-image-"],
body.single .ost-main .entry-content .wp-caption img[class*="wp-image-"] {
  float: none !important;
  clear: both !important;
  display: block !important;
  height: auto !important;
  max-width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

body.single .ost-main .entry-content a > img[class*="wp-image-"] {
  float: none !important;
  clear: both !important;
  display: block !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Do not centre emoji, smilies, icons, or inline image glyphs. */
body.single .ost-main .entry-content img.emoji,
body.single .ost-main .entry-content img.wp-smiley,
body.single .ost-main .entry-content img[class*="emoji"],
body.single .ost-main .entry-content img[class*="smiley"] {
  display: inline !important;
  float: none !important;
  clear: none !important;
  width: 1em !important;
  height: 1em !important;
  margin: 0 .07em !important;
  vertical-align: -0.1em !important;
}


/* v1.3.1: automatic editorial media text under real article images only. */
body.single .ost-main .entry-content .ost-auto-image-caption,
body.single .ost-main .entry-content figcaption.ost-auto-image-caption {
  display: block !important;
  margin: 8px auto 24px auto !important;
  max-width: 100% !important;
  color: #6f7278 !important;
  font-size: 16px !important;
  line-height: 1.45 !important;
  font-weight: 400 !important;
  text-align: center !important;
  font-style: normal !important;
}

body.single .ost-main .entry-content figure.wp-block-image figcaption.ost-auto-image-caption,
body.single .ost-main .entry-content .wp-caption .ost-auto-image-caption {
  margin-bottom: 0 !important;
}

body.single .ost-main .entry-content img.emoji + .ost-auto-image-caption,
body.single .ost-main .entry-content img.wp-smiley + .ost-auto-image-caption {
  display: none !important;
}


/* v1.3.2: hard-forced automatic media text layout. */
body.single .ost-main .entry-content .ost-auto-media-wrap {
  display: block !important;
  clear: both !important;
  text-align: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

body.single .ost-main .entry-content .ost-auto-media-wrap > a,
body.single .ost-main .entry-content .ost-auto-media-wrap > img[class*="wp-image-"] {
  display: block !important;
  margin-left: auto !important;
  margin-right: auto !important;
  float: none !important;
}

body.single .ost-main .entry-content .ost-auto-image-caption[data-ost-media-text="1"] {
  display: block !important;
  clear: both !important;
  width: 100% !important;
  margin: 8px auto 24px auto !important;
  max-width: 760px !important;
  color: #6f7278 !important;
  font-size: 14px !important;
  line-height: 1.45 !important;
  font-weight: 400 !important;
  text-align: center !important;
  font-style: normal !important;
}

body.single .ost-main .entry-content img.emoji + .ost-auto-image-caption[data-ost-media-text="1"],
body.single .ost-main .entry-content img.wp-smiley + .ost-auto-image-caption[data-ost-media-text="1"] {
  display: none !important;
}


/* v1.3.3: force auto media text from inserted image alt/title as well as Media Library data. */
body.single .ost-main .entry-content .ost-auto-media-figure,
body.single .ost-main .entry-content .ost-auto-media-wrap {
  text-align: center !important;
}
body.single .ost-main .entry-content .ost-auto-image-caption[data-ost-media-text="1"] {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
}


/* v1.3.4: JS fallback captions should look identical to PHP-injected media text. */
body.single .ost-main .entry-content .ost-auto-image-caption-js[data-ost-media-text="1"] {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  clear: both !important;
  width: 100% !important;
  max-width: 760px !important;
  margin: 8px auto 24px auto !important;
  color: #6f7278 !important;
  font-size: 14px !important;
  line-height: 1.45 !important;
  font-weight: 400 !important;
  text-align: center !important;
  font-style: normal !important;
}
