/*
Theme Name: OFT Theme v3 [3.0.6]
Description: A hacked-up Kubrick, now made responsive by ChatGPT
Version: 3.0.6 [2026-10-25]
Author: Paul Kafasis
Author URI: https://onefoottsunami.com/
Tags: blue, custom header, two columns, widgets
*/

/* Begin Typography & Colors */
body 
{
	font-size: 62.5%; /* Resets 1em to 10px */
	font-family: Georgia, sans-serif;
	background: #9BD8EC;
	color: #333;
	text-rendering: optimizeLegibility;
}

#content p 
{
	line-height: 1.5em;
	font-size: 1.6em;
	margin: 0 0 15px 0px;
	text-wrap: pretty; /* Added 2025-04-09 */
	
}
  
#content p.quotation {
	padding: 5px 30px 0px 30px;
	font-size: 1.6em;
	}

#content p.attribution {
	padding: 5px 30px 0px 30px;
	font-size: 1.6em;
	text-align: right;
	}  
  
#content p.centeredimage, #sidebar p.centeredimage
{
	text-align: center;
	font-style: italic;
	font-size: 1.4em;
	font-weight: 400;
	padding: 0;
	color: #434343;
}	

#content p.centeredimage img, #sidebar p.centeredimage img
{
	margin: 5px;
	border: none;
}	
   	
sup 
{
	height: 0;
	line-height: 1;
	vertical-align: super;
	bottom: 1ex;	
	margin: 0 1px 0 3px;	
}

a.linkTitle
{
}

a.permalinkRollover
{
	font-size: smaller;
	text-decoration: none; 	
}

a.footnoteBackLink
{
	text-decoration: none; 	
	border: 0;
	padding: 3px 4px 2px 4px;
	vertical-align: -.2em;	
}

.post hr.footnote
{
	width:75%;
}

.smallbold
{ 
	font-size:smaller; 
	font-weight:bold
}


#middle 
{
	background: white;	
	overflow: auto;
	border-left: 1px solid #A8B7BC;	
	border-right: 1px solid #A8B7BC;
}

#header 
{
	background: none;
}

.widecolumn .entry p {
	font-size: 1.05em;
	}

.narrowcolumn .entry, .widecolumn .entry {
	line-height: 1.6em;
	/*text-align: none;*/
	}

.entry {
	margin-top: .75em;}
	
	
.widecolumn {
	line-height: 1.6em;
	}

.narrowcolumn .postmetadata {
	text-align: center;
	}

.depth-1 {
border: 1px solid #ddd;
}

.even, .alt {

	border-left: 1px solid #ddd;
}

#footer {
	background: none;
	}

small {
	font-family: Helvetica, Arial, Sans-Serif;
	font-size: 0.9em;
	line-height: 1.5em;
	}

div.emphasisbox {
	background-color: #f6fdff;
	border: 1px solid #e6f3f7; 
	margin-top: 20px; padding: 0 20px 10px 20px;
}

.emphasisbox p
{
	color: #666;
	font-size: 11px;
	margin: 0;
	padding: 5px 1px 5px 1px;
}

.emphasisbox a
{
	text-decoration: none;
}

h1 {
	font-family: Tahoma, Arial, sans-serif;
	font-size: 3.2em;
	font-weight: bold;
	line-height: 1.2;
	color: #0099BB;
	text-align: left;
	margin: 1.2em 0 0.5em 0;
	padding: 0;
}

h2, h2.boxtitle {
	font-size: 2.4em;
	font-weight: normal;
	font-family: Tahoma, sans-serif;	
	color: #333;
	margin: 1.4em 0 0 0;
}

h2.pagetitle  {
	font-size: 2.4em;
	font-weight: bold;
	font-family: Tahoma, sans-serif;	
	color: #0099BB;
	margin: 1.4em 0 0.6em 0;
}

h3 {
	font-size: 2.2em;
	font-weight: normal;
	font-family: Georgia, serif;
	color: #333;
	padding: 0;
	margin: 1.0em 0 0 0;
}
	
h4 {
	color: #0099BB;
	font-size: 1.4em;
	font-family: Verdana, Geneva, sans-serif;
	text-transform: uppercase;
	margin: 1.6em 0 0.6em 0;	
}	
		
h5	{
	font-family: Verdana, Geneva, sans-serif;
	color: #999;
	font-style: italic;
	font-weight: 100;
	font-size: 1.2em;
	margin: .2em 0 1.5em 0;
}

.emphasisbox h2.pagetitle, h2.boxtitle {
	margin: 15px 0 15px 0;	
}

.emphasisbox p {
	font-family: Tahoma, sans-serif;
}

.boxtitle {
	text-align: center;
	margin: .4em 0 1em 0;
	}

#sidebar h2 {
	font-family: Tahoma, sans-serif;
	font-size: 1.4em;
	text-transform: uppercase;
	margin: 5px 0px 0px 0px;
	padding: 0;
	}

	
/* ---------------- title links ----------------- */
h1 a, h1 a:visited {
    color: inherit;
    text-decoration: none;
}

h2 a, h2 a:visited, h3 a, h3 a:visited, #sidebar h2, cite {
	text-decoration: none;
	color: #333;
}

/* Link colors and transitions */
a {
    transition: color 0.15s ease;
}

a, h2 a:hover, h3 a:hover {
    color: #0066cc;
    text-decoration: underline;
}

a:hover,
h1 a:hover,
h2 a:hover,
h3 a:hover {
    color: #00718C;
    text-decoration: underline;
}

h1 a:hover,
h2 a:hover,
h3 a:hover {
    text-decoration: none;
}

.entry p a:visited {
	color: #b85b5a;
	}


small, #sidebar ul ul li, #sidebar ul ol li, .nocomments, .postmetadata, blockquote, strike {
	color: #777;
	}

code {
	font: 1.1em 'Courier New', Courier, Fixed;
    background-color: #e3e3e3;
	padding: 2px 4px 2px 4px;
	}

/* End Typography & Colors */



/* Begin Structure */

#content .posthead
{
	font-size: 2.4em;
	font-weight: bold;
	font-family: Tahoma, sans-serif;	
	color: #333;
	margin: 1.4em 0 0 0;	
}

#content p.postsubhead
{
	font-size: 2.0em;
	font-weight: normal;
	font-family: Georgia, serif;
	color: #888;
	margin: 5px 0 5px 0;	
}

#content p.postdate
{
	font-family: Tahoma, serif;
	color: #999;
	font-weight: 100;
	font-size: 1.2em;
	margin: .2em 0 1.5em 0;
}

body {
	margin: 0 0 20px 0;
	padding: 0;
	}

#page {
	margin: 20px auto;
	padding: 0;
	width: 900px;
	}

#header {
	height: 179px;
	}

.narrowcolumn {
	float: left;
	padding: 0 0 20px 30px;
	margin: 0 0 0 0;
	width: 610px;
	}

.post {
	margin: 0 0 4.5em 0;
	/*text-align: justify;*/
	}

.post hr {
	display: block;
	text-align:center;
	width:90%;
	border:0px;
	color:#9BD8EC;
	background-color:#9BD8EC;
	height:1px;
	margin-top:20px;
	margin-bottom: 20px;	
}

.widecolumn .post {
	margin: 0;
	}

.narrowcolumn .postmetadata {
	padding-top: 5px;
	}

.widecolumn .postmetadata {
	margin: 30px 0;
	}

.widecolumn .smallattachment {
	text-align: center;
	float: left;
	width: 128px;
	margin: 5px 5px 5px 0px;
}

.widecolumn .attachment {
	text-align: center;
	margin: 5px 0px;
}

.clear {
	clear: both;
}

#footer {
	padding: 0;
	margin: 0 auto;
	width: 900px;
	clear: both;	
	}

#footer p {
	margin: 0;
	padding: 0px 0px 0px 0px;
	text-align: center;
	}
/* End Structure */






/* Begin Images */
p img {
	padding: 0;

	}

/*	Using 'class="alignright"' on an image will (who would've
	thought?!) align the image to the right. And using 'class="centered',
	will of course center the image. This is much better than using
	align="center", being much more futureproof (and valid) */

img.centered {
	display: block;
	margin-left: auto;
	margin-right: auto;
	}

img.alignright {
	padding: 4px;
	margin: 0 0 2px 7px;
	display: inline;
	}

img.alignleft {
	padding: 4px;
	margin: 0 7px 2px 0;
	display: inline;
	}

.alignright {
	float: right;
	font-size: 1.6em;	
	}

.alignleft {
	float: left;
	font-size: 1.6em;
	}
/* End Images */



/* Begin Lists

	Special stylized non-IE bullets
	Do not work in Internet Explorer, which merely default to normal bullets. */

html>body .entry ul {
	margin-left: 0px;
	padding: 0px 0px 0px 30px;
	list-style-image: url("global/images/list-droplet.gif"); 
	}

html>body .entry blockquote ul {
	margin-left: 0px;
	padding: 0px 0px 0px 30px;
	list-style-image: none; 	
	list-style-type: disc; 
	}


html>body .entry li {
	margin: 7px 0px 8px 5px;
	padding: 0px 0px 0px 5px;	
	}

html>body .entry ul.quotes {
	padding: 0px 20px 0px 20px;
	list-style-image: url("global/images/quotemark.gif"); 
	}


html>body .entry ul.quotes li 
{
	list-style-position: inside;
	padding: 5px 10px 0px 10px;
	color: #757575;
	font-size: 1.1em;
	border: 1px solid #f1f1f1;
	background-color: #f9f9f9;
	border-radius: 15px;
}



.entry ul li:before, #sidebar ul ul li:before {
	/*content: "\00BB \0020";*/
	}

.entry ol {
    padding: 0 0 0 35px;
    margin: 0;
}

.entry ol li {
    margin: 0;
    padding: 0;
}

.entry ol li::marker {
    font-size: 1.75em;
}

.postmetadata ul, .postmetadata li {
	display: inline;
	list-style-type: none;
	list-style-image: none;
	}

#sidebar ul, #sidebar ul ol {
	margin: 0;
	padding: 0;
	}

#sidebar ul li {
	list-style-type: none;
	list-style-image: none;
	margin-bottom: 15px;
	}

#sidebar ul p, #sidebar ul select {
	margin: 5px 0px 0px 0px;
	}

#sidebar ul ul, #sidebar ul ol {
	margin: 5px 0 0 10px;
	}

#sidebar ul ul ul, #sidebar ul ol {
	margin: 0 0 0 10px;
	}

ol li, #sidebar ul ol li {
	list-style: decimal outside;
	}

#sidebar ul ul li, #sidebar ul ol li {
	margin: 3px 0 0;
	padding: 0;
	}

ol.footnotes li {font-size: smaller;}

html>body .entry ul 
{
	margin-left: 0px;
	padding: 0px 0px 0px 30px;
	list-style-image: url("global/images/list-droplet.gif"); 
}

html>body .entry blockquote ul 
{
	margin-left: 0px;
	padding: 0px 0px 0px 30px;
	list-style-image: none; 	
	list-style-type: disc; 
}

#sidebar ul.bestof 
{
	padding: 0px;
	list-style-image: url("global/images/list-droplet.gif"); 
}

#sidebar li.bestof 
{
	margin: 7px 0px 8px 5px;
	padding: 0px 0px 0px 5px;	
}
	
/* End Entry Lists */

/* Begin Form Elements */
#searchform {
	margin: 10px auto;
	padding: 5px 3px;
	text-align: center;
	}

#sidebar #searchform #s {
	width: 108px;
	padding: 2px;
	}

#sidebar #searchsubmit {
	padding: 1px;
	}

select {
	width: 130px;
	}


#respond:after {
		content: "."; 
	    display: block; 
	    height: 0; 
	    clear: both; 
	    visibility: hidden;
	}
/* End Form Elements */


/* Begin Sidebar */
#sidebar
{	
	font-size: 1em;
	float: right;
	margin: 0 28px 0 28px;	
	width: 200px;
}

#sidebar p
{
	font-size: 1.2em;
}

#sidebar li.emphasisbox
{
	background-color: #f6fdff;
	border: 1px solid #A6CAD4; 
	margin-top: 10px;
	padding: 10px 7px 10px 7px;
}

#sidebar form {
	margin: 0;
	}
/* End Sidebar */

/* Begin Various Tags & Classes */
blockquote {
	margin: 10px 50px 0 10px;
	padding-left: 15px;
	border-left: 1px solid #ddd;
	}

.center {
	text-align: center;
	}

.hidden {
	display: none;
	}

hr {
	display: none;
	}

a img {
	border: none;
	}

.navigation 
{
	display: block;
	text-align: center;
	margin-top: 2.5em;
	margin-bottom: 2.5em;
}

/*.navigation a 
{
	padding: 10px;
	border: 0px solid #ccc; 
	border-radius: 15px;
	text-decoration: none;
}
*/

/* End Various Tags & Classes*/

/* Captions */
.aligncenter, div.aligncenter {
	display: block;
	margin-left: auto;
	margin-right: auto;
}

/* Figures and captions, adapted from Rogue Amoeba for OFT. */
#content figure {
    text-align: center;
    margin: 0;
    max-width: 100%;
}

#content figure img {
    display: block;
    max-width: 100%;
    height: auto;
    margin: 0 auto 10px;
}

#content figcaption,
#content figure p {
    width: 100%;
    font-family: Georgia, serif;
    font-size: 14px;
    font-style: italic;
    font-weight: 400;
    line-height: 1.4;
    color: #434343;
    text-align: center;
    margin: 5px 0 15px;
}

/* CSS for "Real or Fake" */
div.RorFheadlinewrapper {
	border-bottom: 1px dashed #9BD8EC;
	margin: 0 0 1.5em 0;
	}

p.RorFheadline {
	margin: .75em 0;
	font-family: Georgia, "Times New Roman", Times, serif; 
	font-size: 14px;
	}

p.RorFheadline a {
	font-size: 11px;
	font-family: "Lucida Sans Unicode", "Lucida Grande", sans-serif;
	color: #0066cc;
	}

div.hidden {
	display: none;
	}

div.unhidden {
	display: block; 
	width: 600px;
	}

div.unhidden p.fake {
	padding: 5px 10px; 
	background-color: #F8E0E0; 
	border: 1px solid #F6CECE;
	font-size: 11px; 
	color: #333; 
	font-family: "Lucida Sans Unicode", "Lucida Grande", sans-serif
	}

div.unhidden p.real {
	padding: 5px 10px; 
	background-color: #ECF8E0; 
	border: 1px solid #E3F6CE; 
	font-size: 11px; 
	color: #333; 
	font-family: "Lucida Sans Unicode", "Lucida Grande", sans-serif
	}

div.unhidden p.real a, div.unhidden p.fake a {
	color: #0066cc;
	}
/* End Real or Fake CSS */

/* Begin Call to Action button CSS */
a.twitterCTARollover
{
	float: left;
	margin-left: 18px;	
	width: 114px;
	height: 28px;
 	background: url("global/images/CTA-twitter-sprite.png") no-repeat 0 0;	
	text-decoration: none;	
}

a.facebookCTARollover
{
	float: left;
	margin-left: 19px;	
	width: 114px;
	height: 28px;
 	background: url("global/images/CTA-facebook-sprite.png") no-repeat 0 0;	
	text-decoration: none; 	
}

a.subscribeCTARollover
{
	float: left;
	margin-left: 19px;
	width: 114px;
	height: 28px;
 	background: url("global/images/CTA-rss-sprite.png") no-repeat 0 0;	
	text-decoration: none; 	
}

a.CTARollover:hover
{ 
	background-position: 0 -28px;
	text-decoration: none;
}

a.CTARollover span
{
	position: absolute;
	top: -999em;
}

div.CTAbox {
	width: 550px;
	margin:0px auto;
	background-color: #f6fdff;
	border: 1px solid #e6f3f7; 
	margin-top: 20px; 
	padding: 5px 0px 5px 0px;
}

div.CTAbox p
{
	color: #666;
	font-size: 11px;
	text-align:center;		
	margin: 0;
	padding: 5px;
}

hr.CTAbox
{
	text-align:center;
	width:100%;
	border:0px;
	color:#9BD8EC;
	background-color:#9BD8EC;
	height:1px;
	margin-top:20px;
}
/* End Call to Action button CSS */

/* Amazon Button */

a.amazonButton 
{
    display: block;
    height: 30px;
    width: 130px;
    border-radius: 5px;
    line-height: 30px;
    color: #402f06;
    text-decoration: none;
    text-align: center;
    border: 1px solid #c89411;
    font-family: "lucida grande", lucida, sans-serif;
    font-size: 12px;
    background: #f8e1a7; /* Old browsers */
    background: -moz-linear-gradient(top, #f8e1a7 0%, #eeba38 100%); /* FF3.6+ */
    background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#f8e1a7), color-stop(100%,#eeba38)); /* Chrome,Safari4+ */
    background: -webkit-linear-gradient(top, #f8e1a7 0%,#eeba38 100%); /* Chrome10+,Safari5.1+ */
    background: -o-linear-gradient(top, #f8e1a7 0%,#eeba38 100%); /* Opera 11.10+ */
    background: -ms-linear-gradient(top, #f8e1a7 0%,#eeba38 100%); /* IE10+ */
    background: linear-gradient(to bottom, #f8e1a7 0%,#eeba38 100%); /* W3C */
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f8e1a7', endColorstr='#eeba38',GradientType=0 ); 
    margin: 0 auto;
}


/* Sponsorship Schedule Table */

table.schedule
{
	font-size: 12px; border-collapse: collapse;
}

table.schedule td 
{
	border: 1px solid #e4e4e4;  padding: 10px 30px 10px 20px;
}

table.schedule tr.sold td 
{
	background-color: #f6f6f6; color: #b6b6b6;
}

tr td:first-child
{
	font-weight: bold;
}
/* Responsive layout refresh, October 2026. Desktop text column: 760px. */
*, *::before, *::after { box-sizing: border-box; }
#page { width: 1060px; max-width: 100%; }
.narrowcolumn { width: 790px; padding-left: 30px; padding-right: 0; }
#sidebar { width: 200px; margin-left: 28px; margin-right: 28px; }
#footer { width: 100%; }
#header { height: auto; }
#header p, #footer p { margin: 0; }
#header img, #footer img { display: block; width: 100%; height: auto; }
#content img, #content video, #content iframe, #content embed, #content object,
.entry img, .entry video, .entry iframe { max-width: 100%; }
#content img, .entry img { height: auto; }
#content pre, #content code { overflow-wrap: anywhere; }
#content pre { overflow-x: auto; }
div.unhidden { max-width: 100%; }
div.CTAbox { max-width: 100%; }
@media (max-width: 1059px) {
  #page { width: 100%; }
  .narrowcolumn { width: calc(100% - 256px); }
  #sidebar { width: 200px; }
}
@media (max-width: 720px) {
  body { margin-bottom: 0; }
  #page { margin: 0 auto; }
  #middle { display: flex; flex-direction: column; align-items: stretch; }
  .narrowcolumn, #content { float: none; width: 100%; max-width: 100%; padding: 15px 18px 25px; margin: 0; min-width: 0; }
  #sidebar { float: none; width: auto; max-width: none; margin: 0 18px 25px; padding-top: 20px; border-top: 1px solid #9BD8EC; }
  #sidebar #searchform #s { max-width: 100%; }
  #content table { display: block; max-width: 100%; overflow-x: auto; }
  #content iframe { width: 100%; }
  #header img, #footer img { width: 100%; }
}

/* Mobile header: artwork-free wordmark and live rotating tagline. */
.oft-mobile-brand { display: none; }
.oft-header-link { display: block; text-decoration: none; }
@media (max-width: 720px) {
  #header.oft-header { height: auto; background: #fff; border-bottom: 2px solid #0099b9; }
  #header .oft-desktop-header { display: none; }
  #header .oft-mobile-brand { display: block; box-sizing: border-box; padding: 18px 16px 14px; }
  #header .oft-mobile-brand img { display: block; width: min(100%, 340px); height: auto; }
  #header .oft-mobile-tagline { display: block; margin-top: 6px; font-family: Arial, Helvetica, sans-serif; font-size: 13px; font-weight: 500; letter-spacing: .045em; line-height: 1.35; text-transform: uppercase; color: #0099b9; }
}

/* Mobile refinements, v3.0.1 */
.oft-sidebar-toggle { display: none; }
@media (max-width: 720px) {
  #content .post:first-child .posthead { margin-top: .55em; }
  #sidebar { display: none; }
  #sidebar.oft-sidebar-open { display: block; }
  .oft-sidebar-toggle { display: block; width: calc(100% - 36px); margin: 0 18px 22px; padding: 12px 15px; border: 1px solid #0099b9; border-radius: 4px; background: white; color: #007e9b; font: bold 15px Arial, sans-serif; text-align: left; cursor: pointer; }
  .oft-sidebar-toggle::after { content: '+'; float: right; font-size: 19px; line-height: 17px; }
  .oft-sidebar-toggle[aria-expanded="true"]::after { content: '−'; }
}

/* Mobile slide-out navigation, v3.0.2 */
.oft-menu-button, .oft-menu-close, .oft-menu-backdrop { display: none; }
@media (max-width: 720px) {
  #header.oft-header { position: relative; }
  #header .oft-mobile-brand { padding-right: 16px; }
  .oft-menu-button { display: flex; align-items: center; justify-content: space-between; gap: 8px; width: auto; min-height: 40px; margin: 0 16px 12px auto; padding: 5px 10px; border: 1px solid #0099b9; border-radius: 4px; background: white; color: #007e9b; font: bold 14px Arial, sans-serif; cursor: pointer; }
  .oft-menu-button span { font-size: 18px; }
  .oft-menu-backdrop { display: block; position: fixed; inset: 0; background: rgba(0,0,0,.42); z-index: 9997; visibility: hidden; opacity: 0; transition: opacity .2s, visibility .2s; }
  #sidebar { display: block; position: fixed; top: 0; right: 0; bottom: 0; z-index: 9998; width: min(340px, 88vw); max-width: none; margin: 0; padding: 18px 20px 36px; overflow-y: auto; overscroll-behavior: contain; background: white; border: 0; box-shadow: -3px 0 15px rgba(0,0,0,.15); transform: translateX(110%); visibility: hidden; transition: transform .23s ease, visibility .23s; }
  #sidebar.oft-sidebar-open { display: block; }
  .oft-menu-close { display: block; margin: 0 0 12px auto; padding: 9px 12px; min-height: 40px; background: white; color: #007e9b; border: 1px solid #0099b9; border-radius: 4px; font: bold 14px Arial, sans-serif; cursor: pointer; }
  body.oft-menu-open { overflow: hidden; }
  body.oft-menu-open #sidebar { transform: translateX(0); visibility: visible; }
  body.oft-menu-open .oft-menu-backdrop { opacity: 1; visibility: visible; }
}
@media (prefers-reduced-motion: reduce) {
  #sidebar, .oft-menu-backdrop { transition: none !important; }
}

/* Mobile navigation refinements, v3.0.3 */
@media (max-width: 720px) {
  #header.oft-header { position: relative; }
  #header .oft-mobile-brand { padding-bottom: 14px; }
  #header .oft-mobile-tagline { padding-right: 50px; }
  #header .oft-menu-button {
    position: absolute; right: 14px; bottom: 10px; z-index: 2;
    display: flex; justify-content: center; align-items: center;
    width: 38px; height: 38px; min-height: 38px; margin: 0; padding: 0;
    border: 1px solid #9BD8EC; border-radius: 4px;
    background: #fff; color: #1686a1;
  }
  #header .oft-menu-button span { font-size: 23px; line-height: 1; }
  #sidebar {
    top: 0; bottom: 0; width: min(300px, 85vw);
    padding: 12px 16px 26px;
    scroll-padding-top: 60px;
  }
  #sidebar .oft-menu-close {
    position: sticky; top: 0; z-index: 3;
    min-width: 72px; min-height: 40px; margin: 0 0 12px auto;
    background: #fff;
  }
  #sidebar > br { display: none; }
  #sidebar > h2 { margin: 6px 0 16px; }
  #sidebar ul li { margin-bottom: 10px; }
  #sidebar li.emphasisbox { padding: 10px; margin-top: 12px; }
  #sidebar li.emphasisbox p { margin-top: 8px; }
  #sidebar h4.boxtitle { margin-top: 4px; margin-bottom: 10px; }
  body.admin-bar #sidebar { top: 46px; }
  body.admin-bar .oft-menu-backdrop { top: 46px; }
}


/* v3.0.4: keep navigation beside the tagline, never over the wordmark. */
@media (max-width: 720px) {
  #header .oft-mobile-brand { padding-bottom: 15px; }
  #header .oft-mobile-tagline {
    box-sizing: border-box;
    padding-right: 46px;
    min-height: 30px;
    overflow-wrap: normal;
  }
  #header .oft-menu-button {
    right: 16px;
    bottom: 13px;
    width: 30px;
    height: 30px;
    min-height: 30px;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: #1686a1;
  }
  #header .oft-menu-button span { font-size: 24px; }
  #header .oft-menu-button:focus-visible { outline: 2px solid #1686a1; outline-offset: 3px; }
}

/* v3.0.5: Shared live tagline for desktop and mobile; original wave retained. */
#header.oft-header {
  position: relative;
  background: transparent url('global/images/header-wave.png') no-repeat center top;
  background-size: 100% 100%;
  border-bottom: 2px solid #0099b9;
  aspect-ratio: 5 / 1;
}
#header .oft-header-link { position: relative; height: 100%; }
#header .oft-desktop-brand {
  position: absolute; left: 3.3%; top: 55%; width: 54%;
  display: block;
}
#header .oft-desktop-wordmark { display: block; width: 91%; height: auto; }
#header .oft-desktop-tagline {
  display: block; margin: 5px 0 0 5px;
  font: 500 clamp(10px, 1.6vw, 17px)/1.2 Arial, Helvetica, sans-serif;
  letter-spacing: .025em; text-transform: uppercase; color: #0099b9;
  white-space: nowrap;
}
@media (max-width: 720px) {
  #header.oft-header { aspect-ratio: auto; background: #fff; }
  #header .oft-desktop-brand { display: none; }
  #header .oft-header-link { height: auto; }
}

/* v3.0.6: clean desktop branding over text-free wave artwork. */
@media (min-width: 721px) {
  #header.oft-header { overflow: hidden; }
  #header .oft-desktop-brand { left: 3.3%; top: 56%; width: 68%; }
  #header .oft-desktop-wordmark { width: 78%; max-width: 100%; }
  #header .oft-desktop-tagline {
    margin: 4px 0 0 5px;
    font-size: clamp(11px, 1.35vw, 15px);
    white-space: normal;
    max-width: 100%;
  }
}

/* Preserve image proportions on narrow viewports, including legacy inline dimensions. */
@media screen and (max-width: 767px) {
    #content .entry img {
        height: auto !important;
    }
}

/* Message box styles, adapted for OFT. */
/* Update message boxes (adapted from Rogue Amoeba). */
#content aside.update, #content .message.update {
    width: 100%;
    margin: 20px 0 15px;
    padding: 15px 20px 20px 94px;
    border-radius: 16px;
    background: rgba(255, 127, 0, 0.15);
    background: url('global/images/message-icon-update.svg') no-repeat 20px center,
        linear-gradient(to right, rgba(255, 127, 0, 0.3) 0 74px, rgba(255, 127, 0, 0.15) 74px);
    font-size: 18px;
    line-height: 26px;
    font-weight: 400;
}
#content aside.update.tall, #content .message.update.tall {
    background-position: 20px 20px, 0 0;
}
#content aside.update p, #content .message.update p {
    font-size: 18px;
    line-height: 26px;
    font-weight: 400;
}
#content aside.update p:last-child, #content .message.update p:last-child { margin-bottom: 0; }
#content aside.update a, #content .message.update a { color: #FF7F00; }
#content aside.update a:hover, #content .message.update a:hover { color: #333; }
#content aside.update h2, #content aside.update h3, #content aside.update h4,
#content aside.update h5, #content aside.update h6,
#content .message.update h2, #content .message.update h3, #content .message.update h4,
#content .message.update h5, #content .message.update h6 {
    color: #FF7F00;
    font-size: 24px;
    line-height: 28px;
    margin: 0 0 2px;
    padding: 0;
}
#content aside.update.smaller, #content .message.update.smaller { font-size: 16px; line-height: 22px; }
#content aside.update.smaller p, #content .message.update.smaller p { font-size: 16px; line-height: 22px; }
#content aside.update.smallest, #content .message.update.smallest { font-size: 14px; line-height: 20px; }
#content aside.update.smallest p, #content .message.update.smallest p { font-size: 14px; line-height: 20px; }
#content aside.update.compact, #content .message.update.compact { padding-top: 10px; padding-bottom: 10px; }
#content aside.update.tag, #content .message.update.tag {
    display: inline-block;
    width: auto;
    margin-top: 10px;
    padding: 15px 20px 15px 64px;
    background: url('global/images/message-icon-update.svg') no-repeat 10px center,
        linear-gradient(to right, rgba(255, 127, 0, 0.3) 0 54px, rgba(255, 127, 0, 0.15) 54px);
}
@media (max-width: 480px) {
    #content aside.update, #content .message.update { padding-right: 12px; padding-left: 82px; }
    #content aside.update.tag, #content .message.update.tag { padding-left: 64px; }
}

/* Only the wordmark is clickable, not the header or tagline. */
#header .oft-desktop-brand > .oft-header-link {
  display: inline-block;
  width: 78%;
  height: auto;
  vertical-align: top;
}
#header .oft-desktop-brand > .oft-header-link .oft-desktop-wordmark {
  width: 100%;
}
#header .oft-mobile-brand > .oft-header-link {
  display: block;
  width: min(100%, 340px);
  height: auto;
}

/* Subtle hover effect for the OFT wordmark */
#header .oft-header-link img {
    transition: opacity 0.15s ease;
}

@media (hover: hover) {
    #header .oft-header-link:hover img {
        opacity: 0.75;
    }
}
/* Consistent headline typeface across desktop and mobile. */
#content .posthead, #content h2, #content h2.pagetitle { font-family: Tahoma, sans-serif; }
