/* Static site adaptation of the original 2012 Good Publicity Artisteer layout. */
.btd-hmenu > li { position:relative; }
.btd-hmenu > li > ul {display:none;position:absolute;top:100%;left:0;min-width:270px;max-width:410px;background:#f9f9f9;z-index:1000;box-shadow:1px 4px 7px #5558; list-style:none;}
.btd-hmenu > li:hover > ul, .btd-hmenu > li:focus-within > ul,.btd-hmenu > li.open > ul {display:block;}
.btd-hmenu > li > ul > li { display:block;float:none; width:100%;padding:0;}
.btd-hmenu > li > ul > li a{display:block;float:none;font-size:13px;color:#245583;padding:9px 14px;line-height:1.35;text-align:left;text-decoration:none;background:#f6f6f6;border-bottom:1px solid #ddd;white-space:normal;}
.btd-hmenu > li > ul > li a:hover,.btd-hmenu > li > ul > li a:focus{background:#e8f1fa;color:#d00;}
.btd-content > .capture-fallback { margin:15px 8px 30px; min-height:280px; }
.capture-fallback .lead-graphic{max-width:92%;height:auto;display:block;margin:16px auto;}
.capture-fallback .preview-note{background:#fffaea;border:1px solid #e5cf88;padding:13px;font-size:13px;color:#594b2d;}
.btd-content img {max-width:100%;height:auto;}
.btd-footer-text { text-align:center; line-height:1.9;}
.btd-footer-text p { margin:0.35em 0;}
.gp-foot-extra {font-size:11px;color:#545454;text-align:center;}
.gp-foot-extra a{color:#1d5c8b}
.gp-sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
#gp-loading { display:none; }
@media(max-width:990px){.btd-sheet, .btd-header-wrapper,.btd-nav-wrapper,.btd-nav {max-width:970px;width:100%;}.btd-headerobject{max-width:100%} .btd-layout-wrapper{min-width:0}body{overflow-x:hidden}}
@media(max-width:690px){.btd-headerobject{background-size:contain;background-repeat:no-repeat;width:calc(100vw - 26px);left:13px;margin-left:0} .btd-hmenu>li>a{font-size:11px !important;padding-left:9px !important;padding-right:9px !important}.btd-hmenu{display:flex;flex-wrap:wrap}.btd-hmenu>li>ul{position:fixed;top:235px;left:12px;max-width:90vw;max-height:55vh;overflow-y:auto}}

/* Conversion V1: preserve the original rich article markup. */
.btd-postcontent img { max-width:100%; height:auto; }
.btd-homepage .btd-postcontent > table {max-width:none;} /* original magazine-cover table */
.btd-content .btd-post {min-width:0;}
.btd-postcontent a img {border:0;}
@media (max-width:760px){.btd-postcontent table { max-width:100%; display:block; overflow-x:auto; } .btd-postcontent td { vertical-align:top; }}


/* Good Publicity V2: page-wide original sky, trumpet artwork, base-anchored footer. */
html {min-height:100%;}
body {
  min-height:100vh;
  background-color:#aeadaa;
  background-image:url('images/background-trumpet_player.jpg');
  background-repeat:no-repeat;
  /* Keep the original photo behind the right-hand site gutter. */
  background-position:center top;
  background-size:868px auto;
}
#btd-main {
  min-height:100vh;
  display:flex;
  flex-direction:column;
  overflow-x:clip;
  overflow-y:visible;
}
/* The supplied header photograph is 1934px wide. Fill any modern monitor
   while retaining the same 205px sky and scalloped baseline. */
div.btd-header:after {
  background-repeat:no-repeat;
  background-size:100% 100%;
  background-position:center top;
}
/* Stretch only the page's middle region; let long articles flow normally. */
#btd-main > .btd-sheet {
  flex:1 0 auto;
  box-sizing:border-box;
}
#btd-main > .btd-footer {
  flex:0 0 auto;
  margin-top:auto;
  padding-bottom:9px;
}
/* Footer text was generated by the Joomla module; keep it centred without
   the original Artisteer float-based centring offsets. */
.btd-footer-center,
.btd-footer-text {
  float:none;
  position:static;
  left:auto;
  right:auto;
  margin:0 auto;
  text-align:center;
}
.btd-footer-text {padding:0 14px;}
.gp-social-links {
  display:flex;
  justify-content:center;
  align-items:center;
  gap:6px;
  margin:8px auto 4px;
  min-height:31px;
}
.gp-social-links a,
.gp-social-links span {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:29px;
  height:29px;
  box-sizing:border-box;
}
.gp-social-links img {width:28px;height:27px;object-fit:contain;display:block;margin:0;border:0;}
.gp-social-links a:hover img, .gp-social-links a:focus-visible img {filter:brightness(0.72);}
.gp-social-static {cursor:default;}
@media (max-width:1150px) {
  /* At narrow viewports the trumpet sits underneath the 970px-wide layout;
     remove the hidden background to avoid extra cropping and painting. */
  body {background-image:none;}
}

/* Good Publicity V3: original blue header icons and centred trumpet artwork. */
.btd-header-wrapper { position:relative; }
.gp-header-social-links {
  position:absolute;
  z-index:20;
  top:8px;
  right:100px;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:3px;
  height:28px;
  white-space:nowrap;
}
.gp-header-social-links a,
.gp-header-social-links span {
  display:inline-flex;
  width:27px;
  height:26px;
  align-items:center;
  justify-content:center;
  flex:none;
}
.gp-header-social-links img {
  width:27px;
  height:26px;
  display:block;
  border:0;
}
.gp-header-social-links a:hover img,
.gp-header-social-links a:focus-visible img { filter:brightness(.85); }
.gp-header-social-static { cursor:default; }
@media (max-width:690px) {
  /* Remain visible without covering the primary logo on smaller screens. */
  .gp-header-social-links {right:10px;top:6px;gap:1px;}
  .gp-header-social-links a,.gp-header-social-links span,
  .gp-header-social-links img {width:22px;height:22px;}
}


/* V3.1 targeted amendments: never show the trumpeter except on Home. */
body { background-image:none; }
body.gp-homepage-bg {
  background-image:url('images/background-trumpet_player.jpg');
  background-position:center top;
  background-size:868px auto;
  background-repeat:no-repeat;
}
/* Keep the existing V2 small-screen behaviour when the illustration would crop. */
@media (max-width:1150px) {body.gp-homepage-bg{background-image:none;}}

/* Give descriptive dropdown links room; keep every menu inside the viewport. */
.btd-hmenu > li > ul {
  box-sizing:border-box;
  width:480px;
  min-width:0;
  max-width:calc(100vw - 24px);
}
.btd-hmenu > li:nth-child(2) > ul { width:320px; }
.btd-hmenu > li:nth-child(3) > ul { width:550px; }
.btd-hmenu > li:nth-child(4) > ul { width:500px; }
.btd-hmenu > li > ul > li > a {
  box-sizing:border-box;
  padding:10px 16px;
  line-height:1.4;
  overflow-wrap:break-word;
}
@media (max-width:690px) {
  .btd-hmenu > li > ul {
    width:min(550px, calc(100vw - 24px));
    max-width:calc(100vw - 24px);
    min-width:0;
    left:12px;
  }
}


/* V3.2 — Proper dropdown sizing, overriding Artisteer's old fixed 31px link
   height and :link/:visited 16px/line-height rules. This is deliberately scoped
   to the drop-downs so the visible top navigation is left unchanged. */
ul.btd-hmenu > li.has-submenu > ul {
  display:none;
  visibility:hidden;
  box-sizing:border-box;
  position:absolute;
  z-index:3000;
  top:100%;
  left:var(--gp-submenu-offset, 0px);
  right:auto;
  padding:0;
  margin:0;
  border:1px solid #c2cbd4;
  background:#f6f6f6;
  box-shadow:1px 5px 12px rgba(0,0,0,.24);
  width:max-content;
  min-width:0;
  max-width:calc(100vw - 24px);
}
ul.btd-hmenu > li.has-submenu:hover > ul,
ul.btd-hmenu > li.has-submenu:focus-within > ul,
ul.btd-hmenu > li.has-submenu.open > ul {
  display:block;
  visibility:visible;
  top:100%;
}
/* Full single-line labels on desktop. The script automatically shifts menus
   to stay inside the viewport, rather than relying on fixed left offsets. */
ul.btd-hmenu > li.has-submenu:nth-child(2) > ul {min-width:360px;}
ul.btd-hmenu > li.has-submenu:nth-child(3) > ul {min-width:760px;}
ul.btd-hmenu > li.has-submenu:nth-child(4) > ul {min-width:650px;}
ul.btd-hmenu > li.has-submenu > ul > li {
  float:none;
  display:block;
  width:100%;
  height:auto;
  padding:0;
  margin:0;
}
ul.btd-hmenu > li.has-submenu > ul > li > a,
ul.btd-hmenu > li.has-submenu > ul > li > a:link,
ul.btd-hmenu > li.has-submenu > ul > li > a:visited,
ul.btd-hmenu > li.has-submenu > ul > li > a:hover,
ul.btd-hmenu > li.has-submenu > ul > li > a:focus {
  display:block;
  box-sizing:border-box;
  width:100%;
  height:auto;
  min-height:38px;
  margin:0;
  padding:10px 17px;
  line-height:1.35;
  font-size:15px;
  white-space:nowrap;
  overflow:visible;
  overflow-wrap:normal;
  text-align:left;
  text-decoration:none;
  background-image:none;
  border-bottom:1px solid #d8d8d8;
}
ul.btd-hmenu > li.has-submenu > ul > li:last-child > a {border-bottom:0;}
ul.btd-hmenu > li.has-submenu > ul > li > a:hover,
ul.btd-hmenu > li.has-submenu > ul > li > a:focus {
  color:#c00;
  background-color:#e8f1fa;
}
/* Small screens: keep menu usable and allow long items to wrap at natural
   word boundaries. No fixed-height links, which previously clipped the text. */
@media (max-width:900px) {
  ul.btd-hmenu > li.has-submenu > ul {
    position:fixed;
    top:210px;
    left:12px;
    right:12px;
    width:calc(100vw - 24px);
    min-width:0;
    max-width:calc(100vw - 24px);
    max-height:calc(100vh - 230px);
    overflow-x:hidden;
    overflow-y:auto;
    margin:0;
  }
  ul.btd-hmenu > li.has-submenu:nth-child(2) > ul,
  ul.btd-hmenu > li.has-submenu:nth-child(3) > ul,
  ul.btd-hmenu > li.has-submenu:nth-child(4) > ul {
    width:calc(100vw - 24px);
    min-width:0;
  }
  ul.btd-hmenu > li.has-submenu > ul > li > a,
  ul.btd-hmenu > li.has-submenu > ul > li > a:link,
  ul.btd-hmenu > li.has-submenu > ul > li > a:visited {
    white-space:normal;
    overflow-wrap:break-word;
  }
  ul.btd-hmenu > li.has-submenu:hover > ul,
  ul.btd-hmenu > li.has-submenu:focus-within > ul,
  ul.btd-hmenu > li.has-submenu.open > ul {top:210px;}
}
