/* Small additions for semantic HTML5 audio and responsive phone layouts. Desktop uses the inspected legacy CSS unchanged. */
audio{display:block;max-width:100%;margin:6px 0}.audio-download{font-size:10px}.podcast-frame{width:100%;max-width:100%}.contact-message{min-height:170px;width:100%;font:11px Verdana,Arial,sans-serif}.simple-hidden{position:absolute!important;left:-10000px!important;width:1px;height:1px;overflow:hidden}.public-catalog{clear:both}.public-catalog .catalog-entry{width:100px;min-height:190px;float:left;margin:0 10px 10px 0;text-align:left;font-size:10px}.public-catalog .catalog-entry img{width:100px;height:100px;object-fit:cover}.public-catalog::after{display:block;clear:both;content:""}.release-description{clear:both}.cd-gallery{position:relative;width:230px;height:200px;margin:0 0 20px}.cd-gallery a{position:absolute;left:0;top:0}.cd-gallery a:first-child img{width:150px;height:200px}.cd-gallery a:nth-child(2){left:154px}.cd-gallery a:nth-child(3){left:154px;top:53px}.cd-gallery a:nth-child(4){left:154px;top:106px}.cd-gallery a:nth-child(5){left:154px;top:150px}.cd-gallery img{width:50px;height:50px;object-fit:cover;border:1px solid #d9ecff}.cd-tracklist{margin-top:220px}.artist-roster{width:710px;background:#d9ecff;padding-left:50px;margin-left:-20px;line-height:2em}.artist-roster a{text-decoration:none;color:#196082;margin-right:10px;font-weight:bold}.artist-accordion{width:100%}.artist-entry{margin:0;padding:0}.artist-entry summary{list-style:none;text-transform:lowercase}.artist-entry summary::-webkit-details-marker{display:none}.artist-entry summary::before{content:"+";display:inline-block;width:18px;margin-left:-20px}.artist-entry[open] summary::before{content:"−"}.artist-entry-body{position:relative;left:0;width:690px;height:auto;padding:0 20px}.artist-entry-body p{margin:0;padding:4px;padding-top:20px}.release-downloads{font-size:11px}.release-heading h2,.release-heading h3{display:block}.release-heading{background:#d9ecff;margin:0 0 20px -20px;padding:10px 10px 10px 250px;min-height:85px;width:550px}.cover-link{position:static;display:inline;width:auto;margin:0}.cover-link img{position:absolute;left:0;top:-5px;width:200px;height:200px;border:2px solid #d9ecff;object-fit:cover}.cover-link span{visibility:hidden;position:absolute;top:109px;left:24px;padding:5px;background:#d9ecff;border:2px solid #d9ecff;font-size:10px}.cover-link:hover span{visibility:visible}.track-list{position:relative;margin-left:230px;margin-bottom:30px;width:480px;font-size:11px}.track-list ol{padding-left:20px}.track-list li{padding:5px 2px;border-bottom:1px solid #eee}.track-list audio{width:250px;height:28px}.release-description{width:700px;float:right;margin:0 20px 20px 0}.release-description p{width:600px;float:right}.simple-form fieldset{clear:left;padding:10px;border:1px solid #bfbaB0;background:#f2efe9 url('/images/fieldset_gradient.jpg') repeat-x;font-family:'Lucida Grande','Lucida Sans Unicode',Verdana,Arial,sans-serif}.simple-form ol{padding:1em 1em 0;list-style:none}.simple-form li{float:left;width:100%;padding-bottom:1em}.simple-form label{float:left;width:30%;margin-right:1em}.simple-form input:not([type=radio]),.simple-form textarea,.simple-form select{float:right;width:200px;font-size:11px}.simple-form textarea{width:100%;overflow:auto}.simple-form button{float:right;width:200px;padding:4px;border:2px solid #bfbaB0;background:transparent;font-size:11px}.newsletter-form input[type=email]{float:right;width:200px;font-size:11px}.newsletter-form button{float:right;width:100px;padding:4px;border:2px solid #bfbaB0;background:transparent;font-size:11px}.site-social-clear{clear:both}


.info-image{float:right;padding:20px;width:300px;height:300px;object-fit:cover}.episode-controls{width:100%}


/* Raise legacy section headings above the adjoining box body so their full text remains visible. */
.boxhead h1,.boxhead h2,.boxhead h3{z-index:1}


/* One responsive layout, retaining the legacy mobile palette and simple navigation. */
@media (max-width: 900px) {
  body { padding: 0; }
  .thisis { box-sizing: border-box; width: 100%; margin: 0; border-width: 5px; }
  #iconset { display: none; }
  .thisis #header { position: relative; width: 100%; height: 164px; background-image: url('/images/layout/home.jpg'); background-size: cover; }
  .thisis #menu { width: 100%; }
  .thislogo { left: auto; right: 10px; top: 8px; width: 48px; height: 48px; background-size: contain; }
  .thisis #menu .header-copy { position: absolute; top: 12px; left: 10px; right: 65px; float: none!important; margin: 0!important; padding: 0!important; text-align: left!important; font-size: 11px; line-height: 1.5; }
  .header-version { display: none; }
  #nav { position: absolute; top: 66px; left: 0; box-sizing: border-box; width: 100%; height: auto; display: flex; flex-wrap: wrap; margin: 0; background: #fff; overflow: visible; }
  #nav li { float: none; flex: 0 0 auto; }
  #nav li a { float: none; display: block; box-sizing: border-box; width: auto; height: 25px; min-width: 0; padding: 3px 9px; font-size: 11px; }
  #nav_hom { order: 1; } #nav_art { order: 2; } #nav_rel { order: 3; } #nav_sto { order: 4; } #nav_pod { order: 5; } #nav_inf { order: 6; } #nav_con { order: 7; }
  #content { box-sizing: border-box; float: none; width: 100%; padding: 12px 10px; text-align: left; }
  .left-col, .right-col { float: none; width: 100%; }
  #latest_releases, #affiliates, #paypal, #latest_news, #mailing_list, #release_info, #artist_profile, #about_div, #contact_div, #links_div, #news_content { box-sizing: border-box; float: none; position: static; width: 100%; margin: 0 0 16px; }
  .content-object { float: none; width: 100%; margin: 0 0 16px; padding: 0; overflow: visible; }
  .boxhead { position: static; height: auto; background: #fff; }
  .boxhead .filler { display: none; }
  .boxhead h1, .boxhead h2, .boxhead h3, #artist_profile .boxhead h1 { position: static; box-sizing: border-box; width: auto; height: auto; margin: 0; padding: 12px; font-size: 17px; text-align: left; background: #fff; }
  .boxbody { position: static; top: auto; box-sizing: border-box; width: auto; margin: 0; padding: 4px 12px 18px; background: #fff; }
  .content-object p { width: auto; margin: 12px 0; text-align: left; }
  .reltable { width: 100%; max-width: 500px; } .reltable td { padding: 2px; } .reltable h2 { font-size: 12px; }
  .minicover { width: 100%; max-width: 100px; height: auto; }
  .artist-roster { box-sizing: border-box; width: 100%; margin: 0; padding: 8px; line-height: 2; }
  .artist-entry summary, .toggler { box-sizing: border-box; width: 100%; margin: 0; }
  .artist-entry-body, .element { box-sizing: border-box; width: 100%; padding: 12px; }
  .artistpict { width: 100px; height: auto; padding: 0 0 10px 10px; }
  #basicinfo, #options { box-sizing: border-box; position: static; width: 100%; padding: 10px; margin: 0 0 14px; }
  .cover-link { display: block; float: none; width: auto; height: auto; margin: 0 0 14px; }
  #coverart { position: static; width: min(200px, 65vw); height: auto; margin: 0; }
  a#popupcover span { display: none; }
  #tracklistingdiv { position: static; left: auto; box-sizing: border-box; width: 100%; margin: 0 0 16px; }
  #tracklisting { width: 100%; } #tracklisting td.high { width: auto; } #tracklisting audio { width: 100%; }
  #release_info .details, #release_info .details p { box-sizing: border-box; float: none; width: 100%; margin: 12px 0; }
  .cd-gallery { margin-bottom: 14px; } .cd-tracklist { margin-top: 0; }
  fieldset { box-sizing: border-box; max-width: 100%; } form ol { padding: 10px; }
  form label { float: none; display: block; width: auto; } form input[type=email], form input[type=text], form textarea, form select { box-sizing: border-box; max-width: 100%; }
  .newsletter-form input[type=email] { float: none; width: 100%; } .newsletter-form button { float: none; margin-top: 10px; }
  .info-image { width: 42%; height: auto; padding: 10px; }
  #footer { position: static; box-sizing: border-box; width: 100%; }
}

.mobile-donate { display: none; }
@media (max-width: 900px) { .mobile-donate { display: block; margin-top: 12px; } }

.artist-entry summary::before { display: none; }
.artist-entry[open] summary { color: #000; background: #eee; padding-left: 42px; font-size: 16px; }

.public-catalog { display: grid; grid-template-columns: repeat(6, 100px); gap: 24px 10px; }
.public-catalog .catalog-entry { float: none; min-height: 0; margin: 0; }
.public-catalog::after { display: none; }
@media (max-width: 900px) { .public-catalog { grid-template-columns: repeat(2, minmax(0, 1fr)); } .public-catalog .catalog-entry { width: auto; } }
@media (max-width: 900px) {
  #release_info #popupcover { display: block; margin-bottom: 10px; }
  .cd-thumbnail { display: inline-block; margin: 0 4px 12px 0; }
  .cd-thumbnail img { position: static!important; width: 50px!important; height: 50px!important; }
}
.credits { text-align: center; }
/* Podcast audio retains the original inline control footprint. */
.episode-controls { display: inline-block; margin: 0; }
/* This rule lived inline in the legacy page head. */
#affiliates a img { border: none; padding-right: 5px; float: left; }
.podcast-download-links a { font-size: 1.1em; }
@media (max-width: 900px) {
  #news_content table { width: 100%; max-width: 100%; table-layout: fixed; }
  #news_content img { max-width: 100%; height: auto; }
  #news_content iframe { width: 100%; height: auto; aspect-ratio: 440 / 328; }
  #about_div .boxbody img { box-sizing: border-box; width: 50%!important; max-width: 50%; height: auto!important; padding: 8px!important; }
}

/* Phone/tablet header and menu: match the legacy mobile site (solid blue header, logo at left, stacked menu). */
@media (max-width: 900px) {
  .thisis #header { box-sizing: border-box; height: auto; padding: 10px 10px 0; background: #196082; overflow: hidden; }
  .thisis #menu { display: grid; grid-template-columns: 60px 1fr; height: auto !important; }
  .thisis .thislogo { grid-column: 1; grid-row: 1; position: static; width: 50px; height: 50px; margin: 0; background-size: contain; }
  .thisis #menu .header-copy { grid-column: 2; grid-row: 1; position: static; float: none !important; margin: 0 !important; padding: 0 !important; text-align: left !important; font-size: 12px; line-height: 1.4; }
  .thisis #menu .header-version { grid-column: 1 / -1; grid-row: 2; display: block; float: none !important; margin: 10px 0 0 !important; text-align: left !important; font-size: 8px; }
  /* Menu: plain centred links on white, as on the legacy mobile site (full-bleed under the blue header). */
  .thisis #nav { grid-column: 1 / -1; grid-row: 3; position: static; display: flex; flex-direction: column; box-sizing: border-box; width: auto; height: auto; margin: 10px -10px 0; padding: 10px 0; background: #fff; text-align: center; }
  .thisis #nav li { display: block; text-align: center; }
  .thisis #nav li a { display: block; float: none; width: auto; height: auto; padding: 5px; font-size: 12px; font-weight: normal; line-height: 1.4; text-align: center; background: none; color: #196082; border: 0; border-radius: 0; }
  .thisis #nav li a:hover, .thisis #nav li.current a { background: none; color: #196082; }
  .thisis #nav li a:hover { background: #196082; color: #fff; }
  .thisis #nav li.current a { font-weight: bold; }
  .reltable { background: none; border-top: 2px solid #333; }
  .simple-form fieldset { padding: 6px; }
  .simple-form ol { padding: 6px 0 0; }
  .simple-form li { float: none; }
  .simple-form label { float: none; display: block; width: auto; margin: 0 0 4px; }
  .simple-form input:not([type=radio]):not([type=submit]), .simple-form textarea, .simple-form select { float: none; display: block; box-sizing: border-box; width: 100%; max-width: 100%; }
  .simple-form input[type=submit] { float: none; width: auto; }
  /* Legacy ID rules (#yourname etc.) float the fields right at 200px; stack them full width on small screens. */
  .thisis form#contactform input:not([type=hidden]):not([type=submit]), .thisis form#contactform textarea, .thisis form#contactform select { float: none; display: block; box-sizing: border-box; width: 100%; max-width: 100%; }
  .thisis form#contactform input[type=submit] { float: none; width: auto; }
  .thisis form#contactform .simple-hidden { position: absolute; }
  .thisis #links_div pre { line-height: 2.2; white-space: pre-wrap; }
  .thisis #links_div a { padding: 6px 0; }
  #coverart { width: min(320px, 100%); }
  .thisis #mc_embed_signup label { float: none; display: block; width: auto; margin: 0 0 4px; }
  .thisis #mc_embed_signup input#mce-EMAIL { float: none; display: block; box-sizing: border-box; width: 100%; max-width: 100%; }
  .thisis #mc_embed_signup input#mc-embedded-subscribe { float: none; display: block; width: auto; margin-top: 10px; }
}

/* Accessibility: skip link and visible keyboard focus (all widths). */
.skip-link { position: absolute; left: 8px; top: -60px; z-index: 1000; padding: 10px 14px; background: #fff; color: #196082; font-weight: bold; border: 2px solid #196082; border-radius: 4px; }
.skip-link:focus { top: 8px; }
#content:focus { outline: none; }
a:focus-visible, button:focus-visible, summary:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, audio:focus-visible { outline: 3px solid #1a73e8; outline-offset: 2px; }

/* Accessibility: legible type and 44px touch targets on phones and tablets (WCAG 1.4.4 / 2.5.8). Legacy desktop sizes are untouched. */
@media (max-width: 900px) {
  body, .thisis, .thisis p, .thisis li, .thisis td, .thisis th, .thisis dd, .thisis label, .thisis fieldset, .thisis pre { font-size: 16px; line-height: 1.5; }
  .thisis h1, .thisis .boxhead h1 { font-size: 21px; line-height: 1.3; }
  .thisis h2, .thisis .boxhead h2, .thisis .reltable h2, .thisis #basicinfo h2 { font-size: 17px; line-height: 1.3; }
  .thisis h3, .thisis .boxhead h3, .thisis #basicinfo h3 { font-size: 16px; line-height: 1.3; }
  .thisis h4 { font-size: 14px; }
  .thisis .reltable, .thisis .reldate, .thisis .catno, .thisis .reltitle, .thisis .artistname, .thisis .releaseinfo,
  .thisis .public-catalog .catalog-entry, .thisis .catalog-entry { font-size: 15px; line-height: 1.4; }
  .thisis .smalls, .thisis .comingsoon, .thisis .audio-download, .thisis #footer .copyright, .thisis a#popupcover span { font-size: 14px; line-height: 1.5; }
  .thisis #menu .header-copy { font-size: 15px; }
  .thisis #menu .header-version { font-size: 13px; }
  .thisis #nav li a { padding: 10px 8px; font-size: 17px; min-height: 44px; box-sizing: border-box; }
  .thisis .boxhead h1 { text-align: center; }
  .thisis #label1 a, .thisis #label2 a, .thisis .artistreleases a, .thisis #links_div a, .thisis .release-downloads, .thisis .podcast-download-links a { font-size: 16px; }
  .thisis #links_div h3 { font-size: 17px !important; }
  .thisis #tracklistingdiv, .thisis #tracklisting, .thisis .track-list { font-size: 16px; }
  .thisis [style*="font-size:9px"], .thisis [style*="font-size:11px"], .thisis [style*="font-size:12px"], .thisis [style*="font-size:10px"] { font-size: 15px !important; }
  /* Touch targets */
  .thisis h4 a { display: inline-block; white-space: nowrap; padding: 12px 6px 12px 0; min-height: 44px; box-sizing: border-box; line-height: 1.3; }
  .thisis .track-audio-toggle { display: inline-block; min-height: 44px; padding: 10px 0; color: #196082; text-decoration: underline; }
  .thisis #tracklisting td.high a { display: inline-block; padding: 10px 4px; }
  .thisis summary.toggler, .thisis .artist-entry summary { min-height: 44px; padding-top: 10px; padding-bottom: 10px; font-size: 17px; display: flex; align-items: center; box-sizing: border-box; }
  .thisis .artist-roster a { display: inline-block; padding: 8px 4px; }
  .thisis input[type=text], .thisis input[type=email], .thisis input:not([type]), .thisis select, .thisis textarea { font-size: 16px !important; min-height: 44px; padding: 8px; box-sizing: border-box; }
  .thisis textarea { min-height: 170px; }
  .thisis .submit, .thisis .submit2, .thisis input[type=submit], .thisis button.submit { font-size: 16px !important; min-height: 44px; padding: 8px 18px; }
  .thisis #tracklisting .audio-row audio { height: 44px; }
  .thisis audio { height: 44px; }
  .thisis .lightbox__footer { font-size: 14px; }
}
