.innercolumn {
float: left;
width: 31%;
padding: 1%
}

#content { color: #000000; background-color:#FFF; border: 3px solid #336699; font-size: 12pt; padding: 20px; margin-left: 6px; margin-right: 6px; }
#content .subtitle { color: #336699; font-size: 14pt; margin-left: 0;}
#content .smalltext { font-size: 9pt; }

.page-splits {
    background-color: #F0F0F0;
    border: 1px solid #A2B7B5;
    color: #F0F0F0;
}

.headline {
        text-align: left;
        background-color: #FFFFFF;
        padding: 2px 4px 2px 4px;
        font-size : 10pt;
        font-family: Arial, Helvetica, Geneva, sans-serif;
        font-weight: bold;
}
.body_txt1 {
        font-size : 10pt;
        padding: 1px 9px 4px 9px;
}



.txtC { text-align: center; }

#bar1 { display: none; }

li  {  font-family: Trebuchet MS,Tahoma,Verdana,Arial,sans-serif; font-size: 9pt; }

.hot_topics strong { margin: 0 5px; padding: 3px 5px; border: 1px solid #ccc; background: #fc0; text-decoration: none }
.hot_topics { border: 1px solid #ddd; background-color: #eee; }
.hot_topics div { padding: 0;  margin: 0; color: #333; text-align: left; font-size: 9pt; width: 160px; overflow: hidden }
.hot_topics h3 {  font-size: 11pt; font-weight: bold; padding: 0px 3px 3px; text-align: left; overflow: hidden }
.hot_topics p {  padding: 5px; text-align: left; overflow: hidden }


.menutitle {
    background-color: #0E509A;
    color: #FFF;
    font-family: "Times New Roman",Times,serif;
    font-size: 11pt;
    font-weight: bold;
    text-align: center;
}

.subtitle {
    font-family: "Arial",sans-serif;
    font-size: 11pt;
    font-weight: bold;
    margin-left: 10px;
    margin-top: 3px;
    text-align: left;
}

#country_accordion .ui-accordion .ui-accordion-content { padding: 0; }

.menusection {
	border: 1px solid #000;
	margin: 0px 0px 5px 0px;
	font-size: 13pt; 
	border-style:solid solid solid; 
	border-width: 3px; 
}

.menusection p { 
	font-size:10pt;
	margin: 3px;
}

.menusection h1 {
	font-size:10pt;
	margin: 3px;
}

#col2 h1 {
	font-size:12pt;
	margin: 3px;
}

#col3 .ui-accordion .ui-accordion-content {padding: 0; margin: 0;} 
#col2 .ui-accordion .ui-accordion-content {padding: 0; margin: 0;} 
ul {padding: 2px; margin: 2px;} 
li {padding: 2px; margin: 2px; list-style-type: none;} 

#col3 h1 {
	font-size:12pt;
	margin: 3px;
}

body {
	margin:0;
	padding:0;
	width:100%;
	background:#fff;
	min-width:600px;		/* Minimum width of layout - remove line if not required */
					/* The min-width property does not work in old versions of Internet Explorer */
	font-size:90%;
}
a {
	color:#369;
}
a:hover {
	color:#fff;
	background:#369;
	text-decoration:none;
}

#header img, #header a { border: none; }

#header {
	float:left;
	width:100%;
	padding:0;
	margin:0;
	border-bottom:1px solid #000;
 	

/* IE10 Consumer Preview */ 
background-image: -ms-linear-gradient(left, #FFFFFF 0%, #3D5AB2 100%);

/* Mozilla Firefox */ 
background-image: -moz-linear-gradient(left, #FFFFFF 0%, #3D5AB2 100%);

/* Opera */ 
background-image: -o-linear-gradient(left, #FFFFFF 0%, #3D5AB2 100%);

/* Webkit (Safari/Chrome 10) */ 
background-image: -webkit-gradient(linear, left top, right top, color-stop(0, #FFFFFF), color-stop(1, #3D5AB2));

/* Webkit (Chrome 11+) */ 
background-image: -webkit-linear-gradient(left, #FFFFFF 0%, #3D5AB2 100%);

/* W3C Markup, IE10 Release Preview */ 
background-image: linear-gradient(to right, #FFFFFF 0%, #3D5AB2 100%);

}
#header p {
	padding:.5em 15px	.2em 15px;
	margin:0;
}
#header h1  {
	padding:.2em 15px;
	margin:0;
}
#header h2  {
	padding:.2em 15px	.7em 15px;
	margin:0;
}

#right_ear  { position: absolute; border: solid 4px; top: 12px; right: 10px; background: #FFF; padding: 12px;  }
#login_button  { position: absolute; top: 79px; right: 20px; }


#colmask {
	position:relative;	/* This fixes the IE7 overflow hidden bug and stops the layout jumping out of place */
	clear:both;
	float:left;
	width:100%;			/* width of whole page */
	overflow:hidden;		/* This chops off any overhanging divs */
	background:#EEEEEE;		/* Left column background colour */
}
#colmid {
	float:left;
	width:200%;
	position:relative;
	left:200px;
	background:#fff;    	/* Centre column background colour */
}
#colright {
	float:left;
	width:100%;
	position:relative;
	left:50%;
	margin-left:-400px;
	background:#EEEEEE ;    	/* Right column background colour */
}
#col1wrap {
	float:right;
	width:50%;
	position:relative;
	right:100%;
}
#col1pad {
	margin:0 15px 0 415px;
	overflow:hidden;
}
#col1 {
	width:100%;
	overflow:hidden;
}
#col2 {
	float:left;
	width:170px;
	position:relative;
	margin-left:-50%;
	left:215px;
	overflow:hidden;
}
#col3 {
	float:left;
	width:170px;
	position:relative;
	left: 15px;
	overflow:hidden;
}
#footer {
	clear:both;
	float:left;
	width:100%;
	padding:0;
	margin:0;
	border-top:1px solid #000;
}
#footer p {
	padding:.5em 15px;
}

.alink_menu {
	display: inline; 
}

.link_menu {
	position: relative; 
	display: inline; 
	top: 17px;
	width: 17px;
        margin-top: 60px;
        margin-left: 0px;
        margin-right: 0px;
        background-color: #00dd11;
}

#menubar { height: 50px; }

a.menu,
a.menu:link,
a.menu:active,
a.menu:visited {
position: relative; 
  display: inline; 
  font-family: sans-serif;
  padding: 4px;
  font-size: 10pt;
  font-weight:bold;
  text-decoration:none;
  border-style:solid;
  border-color: white;
  border-width: 2px;
  width: 100px;
  background-color: #1E37FF;
  color: #F3FF35;
}

a.menu:hover {
  color: yellow;
} 

#nl_preview h1 {  text-align:center;  background-color:#FFFFFF; font-size: 28pt; font-family: copperplate; font-weight: bold; border-bottom:4px solid #C3D5E4; margin: 0; padding-top: 2px; padding-bottom: 6px;}
#nl_preview h2 {  text-align:left;  padding-top: 3px; margin: 0; font-size:13pt;font-weight:bold;color:#316AC5;font-family:arial;}
#nl_preview h3 { padding-top: 3px; padding-bottom: 6px; margin: 0; font-size: 10pt;font-weight:bold;color:#316AC5;font-family:times,serif;line-height:110%; } 
#nl_preview h4 {  text-align:center;  padding-top: 3px; margin: 0; font-size:13pt;font-weight:bold;color:#316AC5;font-family:arial;}
#nl_preview h5 {  text-align:center;  padding-top: 3px; margin: 0; font-size:10pt;font-weight:bold;color:#316AC5;font-family:trebuchet ms;}
#nl_preview p {  padding: 5px; margin: 2px; }
#nl_preview table {  border: 1px solid; padding: 5px; margin: 2px; }
#sub_rates {  border: 1px solid; text-color: #316AC5; padding: 2px 10px; width: 150px; margin: auto; }


#nl_preview .column1-wrap {
    float: left;
    width: 100%;
}

#nl_preview .column1 {
	padding-top: 3px;
	margin-right: 200px;
}
#nl_preview .column2 {
	background-color:#C3D5E4; 
	font-size:9pt;
	color:#000000; 
	font-family: verdana,arial,sans-serif;
	float: left;
	width: 200px;
	margin-left: -200px;
}
#nl_preview .clear {
    clear: both;
}

/*  padding: 0 0 0 0; width: 100%; margin: 4px 0px 0px 0px; font-size:10pt; font-weight:bold; font-family:arial; color: #00  */

#nl_preview .headerTop { color: #000000; background-color:#C3D5E4; border-top:0px solid #000000; border-bottom:1px solid #FFFFFF; text-align:center; font-size: 10pt; padding: 3px ;}
#nl_preview .headlines { background-color:#8865FB; border-top:0px solid #000000; border-bottom:1px solid #FFFFFF; text-align:center; }
#nl_preview .adminText { font-size:10px; color:#996600; line-height:200%; font-family:verdana; text-decoration:none; }
#nl_preview .headerBar { background-color:#FFFFFF; border-top:0px solid #333333; border-bottom:10px solid #FFFFFF; }
#nl_preview .title { font-size:20px; font-weight:bold; color:#CC6600; font-family:arial; }
#nl_preview .subTitle { font-size:11px; font-weight:normal; color:#666666; font-style:italic; font-family:arial; }
#nl_preview .defaultText { font-size:12px; color:#000000; line-height:150%; font-family:trebuchet ms; }
#nl_preview .footerRow { background-color:#FFFFCC; border-top:10px solid #FFFFFF; }
#nl_preview .footerText { font-size:10px; color:#996600; line-height:100%; font-family:verdana; }
#nl_preview a { color:#272727; color:#272727; color:#272727; text-decoration: none; }

.morelink {
        cursor:pointer;
        font-weight: bold;
        font-style: italic;
}

.link {
        cursor:pointer;
        color: blue;
}
.link_button {
        cursor:pointer;
        color: blue;
}



.infobox {
  border: medium solid #45647E;
  padding: 3px;
}

.sample_box {
	float: right; 
	border-color: navy; background: white;
	margin: 11px;
	martin-top: 210px;
	padding: 3px;
	border: medium solid #45647E;
	width: 50%;
background-image: url('/images/texture_paper.png');
background-repeat: repeat;

}

.sample_box h1 {
	font-size:12pt;
	margin: 11px;
	padding: 3px;
}

.story_body { font-size: 11pt;  padding: 3px 10px 3px 2px; margin: 11px;}

.story_body A { color: #000;
        text-decoration: underline;
        font-weight: bold;
}
.story_body A:hover {
        background: #9E9893;
        color: white;
}

/* --- Document Request Form --- */
.request-form-fieldset {
	margin: 0 auto;
	max-width: 700px;
	width: 100%;
	box-sizing: border-box;
	padding: 10px 20px;
}
.request-form-fields {
	width: 100%;
}
.request-form-row {
	display: flex;
	align-items: flex-start;
	margin-bottom: 10px;
	gap: 10px;
}
.request-form-label {
	flex: 0 0 200px;
	text-align: right;
	font-weight: bold;
	padding-top: 4px;
}
.request-form-input {
	flex: 1;
	min-width: 0;
}
.request-form-input input[type="text"] {
	width: 100%;
	box-sizing: border-box;
}
.request-form-input textarea {
	width: 100%;
	box-sizing: border-box;
}
.request-form-radios {
	display: flex;
	flex-wrap: wrap;
	gap: 6px 16px;
}
.request-form-radios label {
	white-space: nowrap;
	font-weight: normal;
}
.request-form-products {
	margin-top: 10px;
}
.request-form-product-item {
	padding: 4px 0;
}
.request-form-product-item label {
	font-weight: normal;
}
.request-form-product-item select {
	max-width: 100%;
}
.request-form-actions {
	margin: 15px 0 10px;
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	align-items: center;
}

.dateline { font-style: italic; font-size: 11pt;  padding: 3px 3px 0px 0px; margin-left: 11px}

#nav a { border: 1px solid #ccc; background: #fc0; text-decoration: none; margin: 0 5px; padding: 3px 5px;  }
#nav a.activeSlide { background: #ea0 }
#nav a:focus { outline: none; }

/* ============================================================
   Team Page
   ============================================================ */
#content:has(.team-page) {
	border: none;
	background: transparent;
	box-shadow: none;
	padding: 0;
}
.team-page {
	max-width: 720px;
	margin: 30px auto;
	padding: 28px 32px;
	background: #fff;
	border: 1px solid #d0dce8;
	border-radius: 6px;
	box-shadow: 0 2px 8px rgba(0,0,0,0.08);
}
.team-page-title {
	font-size: 16pt;
	font-weight: bold;
	color: #336699;
	border-bottom: 2px solid #336699;
	padding-bottom: 8px;
	margin: 0 0 20px 0;
}
.team-role-section {
	margin-bottom: 24px;
}
.team-role-heading {
	font-size: 12pt;
	font-weight: bold;
	color: #fff;
	background: #336699;
	padding: 6px 12px;
	border-radius: 3px;
	margin: 0 0 12px 0;
}
.team-card {
	background: #f5f8fc;
	border: 1px solid #d0dce8;
	border-radius: 4px;
	padding: 12px 16px;
	margin-bottom: 10px;
}
.team-card-name {
	font-size: 11pt;
	font-weight: bold;
	color: #333;
}
.team-card-title {
	font-size: 10pt;
	font-style: italic;
	color: #555;
	margin-top: 2px;
}
.team-card-detail {
	font-size: 10pt;
	margin-top: 4px;
}
.team-card-detail a {
	color: #336699;
}
.team-card-bio {
	font-size: 10pt;
	color: #444;
	margin-top: 8px;
	line-height: 1.5;
}

/* ============================================================
   Contact Us Page
   ============================================================ */
#content:has(.contact-page) {
	border: none;
	background: transparent;
	box-shadow: none;
	padding: 0;
}
.contact-page {
	max-width: 640px;
	margin: 30px auto;
	padding: 28px 32px;
	background: #fff;
	border: 1px solid #d0dce8;
	border-radius: 6px;
	box-shadow: 0 2px 8px rgba(0,0,0,0.08);
}
.contact-page-title {
	font-size: 16pt;
	font-weight: bold;
	color: #336699;
	border-bottom: 2px solid #336699;
	padding-bottom: 8px;
	margin: 0 0 16px 0;
}
.contact-methods {
	background: #f5f8fc;
	border: 1px solid #d0dce8;
	border-radius: 4px;
	padding: 12px 16px;
	margin-bottom: 16px;
}
.contact-methods h3 {
	font-size: 11pt;
	margin: 0 0 8px 0;
	color: #333;
}
.contact-methods ul {
	margin: 0;
	padding: 0 0 0 8px;
}
.contact-methods li {
	font-size: 10pt;
	padding: 3px 0;
	margin: 0;
}
.contact-sample-btn {
	margin-bottom: 16px;
}
.contact-sample-btn button {
	background: #336699;
	color: #fff;
	border: none;
	border-radius: 3px;
	padding: 8px 18px;
	font-size: 10pt;
	cursor: pointer;
}
.contact-sample-btn button:hover {
	background: #264d73;
}
.contact-form-fields {
	margin-bottom: 16px;
}
.contact-form-group {
	margin-bottom: 12px;
}
.contact-form-group label {
	display: block;
	font-weight: bold;
	font-size: 10pt;
	margin-bottom: 4px;
	color: #333;
}
.contact-required {
	color: red;
}
.contact-form-group input[type="text"],
.contact-form-group textarea {
	width: 100%;
	max-width: 400px;
	padding: 6px 8px;
	font-size: 10pt;
	border: 1px solid #aaa;
	border-radius: 3px;
	box-sizing: border-box;
}
.contact-form-group textarea {
	max-width: 100%;
	resize: vertical;
}
.contact-form-group input[type="text"]:focus,
.contact-form-group textarea:focus {
	border-color: #336699;
	outline: none;
	box-shadow: 0 0 3px rgba(51,102,153,0.3);
}
.contact-form-actions {
	padding-top: 4px;
}
.contact-form-actions input[type="submit"],
.contact-form-actions input[type="reset"] {
	padding: 8px 24px;
	font-size: 10pt;
	border: none;
	border-radius: 3px;
	cursor: pointer;
	margin-right: 8px;
}
.contact-form-actions input[type="submit"] {
	background: #336699;
	color: #fff;
}
.contact-form-actions input[type="submit"]:hover {
	background: #264d73;
}
.contact-form-actions input[type="reset"] {
	background: #ddd;
	color: #333;
}
.contact-form-actions input[type="reset"]:hover {
	background: #ccc;
}

/* ============================================================
   Media / Clients Page
   ============================================================ */
#content:has(.media-page) {
	border: none;
	background: transparent;
	box-shadow: none;
	padding: 0;
}
.media-page {
	max-width: 800px;
	margin: 30px auto;
	padding: 28px 32px;
	background: #fff;
	border: 1px solid #d0dce8;
	border-radius: 6px;
	box-shadow: 0 2px 8px rgba(0,0,0,0.08);
}
.media-page-title {
	font-size: 16pt;
	font-weight: bold;
	color: #336699;
	border-bottom: 2px solid #336699;
	padding-bottom: 8px;
	margin: 0 0 20px 0;
}
.media-admin-links {
	float: right;
	display: flex;
	flex-direction: column;
	gap: 4px;
	margin-bottom: 12px;
	font-size: 10pt;
}
.media-categories {
	background: #f5f8fc;
	border: 1px solid #d0dce8;
	border-radius: 4px;
	padding: 12px 16px;
	margin-bottom: 20px;
}
.media-categories-heading {
	font-size: 11pt;
	font-weight: bold;
	color: #333;
	margin: 0 0 10px 0;
}
.media-categories-list {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
}
.media-categories-list .button {
	font-size: 9pt;
}
.media-client-list {
	margin-top: 10px;
}
.media-client-section {
	margin-bottom: 16px;
}
.media-section-heading {
	font-size: 12pt;
	font-weight: bold;
	color: #fff;
	background: #336699;
	padding: 6px 12px;
	border-radius: 3px;
	margin: 0 0 8px 0;
}
.media-client-items {
	margin: 0;
	padding: 0 0 0 8px;
}
.media-client-item {
	font-size: 10pt;
	padding: 5px 8px;
	margin: 0;
	border-bottom: 1px solid #eee;
}
.media-client-item:last-child {
	border-bottom: none;
}
.media-client-item a {
	color: #336699;
	text-decoration: none;
}
.media-client-item a:hover {
	text-decoration: underline;
	background: none;
	color: #264d73;
}
.media-tipoff-link {
	font-size: 9pt;
	color: #888;
	margin-left: 4px;
}
.media-admin-actions {
	margin-left: 8px;
}

/* ============================================================
   Products Page
   ============================================================ */
#content:has(.products-page) {
	border: none;
	background: transparent;
	box-shadow: none;
	padding: 0;
}
.products-page {
	max-width: 860px;
	margin: 30px auto;
	padding: 28px 32px;
	background: #fff;
	border: 1px solid #d0dce8;
	border-radius: 6px;
	box-shadow: 0 2px 8px rgba(0,0,0,0.08);
}
.products-page-title {
	font-size: 16pt;
	font-weight: bold;
	color: #336699;
	border-bottom: 2px solid #336699;
	padding-bottom: 8px;
	margin: 0 0 20px 0;
}
.products-grid {
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
}
.products-card {
	flex: 1 1 calc(50% - 16px);
	min-width: 260px;
	background: #f5f8fc;
	border: 1px solid #d0dce8;
	border-radius: 4px;
	padding: 0;
	box-sizing: border-box;
}
.products-card-heading {
	font-size: 12pt;
	font-weight: bold;
	color: #fff;
	background: #336699;
	padding: 8px 14px;
	border-radius: 4px 4px 0 0;
	margin: 0;
}
.products-card-list {
	margin: 0;
	padding: 10px 14px;
}
.products-card-list li {
	font-size: 10pt;
	padding: 4px 0;
	margin: 0;
	border-bottom: 1px solid #e4eaf0;
	list-style: none;
}
.products-card-list li:last-child {
	border-bottom: none;
}
.products-card-list li a {
	color: #336699;
	text-decoration: none;
}
.products-card-list li a:hover {
	text-decoration: underline;
	background: none;
	color: #264d73;
}

/* ============================================================
   TNS Distribute Page
   ============================================================ */
#content:has(.distribute-page) {
	border: none;
	background: transparent;
	box-shadow: none;
	padding: 0;
}
.distribute-page {
	max-width: 860px;
	margin: 30px auto;
	padding: 28px 32px;
	background: #fff;
	border: 1px solid #d0dce8;
	border-radius: 6px;
	box-shadow: 0 2px 8px rgba(0,0,0,0.08);
}
.distribute-page-title {
	font-size: 16pt;
	font-weight: bold;
	color: #336699;
	border-bottom: 2px solid #336699;
	padding-bottom: 8px;
	margin: 0 0 4px 0;
}
.distribute-welcome {
	font-size: 11pt;
	color: #555;
	margin: 0 0 16px 0;
}
.distribute-tagline {
	font-size: 11pt;
	color: #555;
	margin: 0 0 20px 0;
}
.distribute-tabs {
	margin-bottom: 20px;
}
.distribute-footer-info {
	border-top: 1px solid #d0dce8;
	padding-top: 12px;
	margin-top: 16px;
	font-size: 10pt;
	color: #555;
}
.distribute-footer-info p {
	margin: 0 0 8px 0;
}
.distribute-footer-links {
	display: flex;
	gap: 16px;
}
.distribute-footer-links a {
	color: #336699;
	text-decoration: none;
}
.distribute-footer-links a:hover {
	text-decoration: underline;
	background: none;
	color: #264d73;
}
/* --- Login layout --- */
.distribute-login-layout {
	display: flex;
	gap: 24px;
	align-items: flex-start;
}
.distribute-info {
	flex: 1;
	font-size: 10pt;
	line-height: 1.6;
	color: #333;
}
.distribute-info p {
	margin: 0 0 12px 0;
}
.distribute-login-box {
	flex: 0 0 280px;
	background: #f5f8fc;
	border: 1px solid #d0dce8;
	border-radius: 4px;
	padding: 16px;
}
.distribute-login-heading {
	font-size: 11pt;
	font-weight: bold;
	color: #336699;
	text-align: center;
	margin: 0 0 12px 0;
}
.distribute-login-field {
	margin-bottom: 10px;
}
.distribute-login-field label {
	display: block;
	font-weight: bold;
	font-size: 10pt;
	margin-bottom: 4px;
	color: #333;
}
.distribute-login-field input {
	width: 100%;
	padding: 6px 8px;
	font-size: 10pt;
	border: 1px solid #aaa;
	border-radius: 3px;
	box-sizing: border-box;
}
.distribute-login-field input:focus {
	border-color: #336699;
	outline: none;
	box-shadow: 0 0 3px rgba(51,102,153,0.3);
}
.distribute-login-actions {
	margin: 12px 0 8px 0;
}
.distribute-login-actions input[type="submit"] {
	width: 100%;
	padding: 8px;
	font-size: 10pt;
	background: #336699;
	color: #fff;
	border: none;
	border-radius: 3px;
	cursor: pointer;
}
.distribute-login-actions input[type="submit"]:hover {
	background: #264d73;
}
.distribute-forgot-link {
	font-size: 9pt;
	color: #336699;
	text-decoration: none;
}
.distribute-forgot-link:hover {
	text-decoration: underline;
	background: none;
}

/* ============================================================
   Newsletter List Page
   ============================================================ */
#content:has(.newsletter-page) {
	border: none;
	background: transparent;
	box-shadow: none;
	padding: 0;
}
.newsletter-page {
	max-width: 760px;
	margin: 30px auto;
	padding: 28px 32px;
	background: #fff;
	border: 1px solid #d0dce8;
	border-radius: 6px;
	box-shadow: 0 2px 8px rgba(0,0,0,0.08);
}
.newsletter-page-title {
	font-size: 16pt;
	font-weight: bold;
	color: #336699;
	border-bottom: 2px solid #336699;
	padding-bottom: 8px;
	margin: 0 0 20px 0;
}
.newsletter-list {
	margin: 0;
	padding: 0;
}
.newsletter-item {
	list-style: none;
	padding: 10px 12px;
	margin: 0;
	border-bottom: 1px solid #e4eaf0;
}
.newsletter-item:last-child {
	border-bottom: none;
}
.newsletter-item a {
	font-size: 11pt;
	font-weight: bold;
	color: #336699;
	text-decoration: none;
}
.newsletter-item a:hover {
	text-decoration: underline;
	background: none;
	color: #264d73;
}
.newsletter-private {
	font-size: 8pt;
	font-weight: normal;
	color: #fff;
	background: #c33;
	padding: 1px 6px;
	border-radius: 3px;
	vertical-align: middle;
}
.newsletter-intro {
	font-size: 9pt;
	color: #666;
	margin: 4px 0 0 0;
	line-height: 1.4;
}

/* ============================================================
   Products Navigation Bar (shared include)
   ============================================================ */
.products-nav {
	background: #e8eff7;
	border: 1px solid #d0dce8;
	border-radius: 4px;
	margin-bottom: 16px;
	font-size: 10pt;
}
.products-nav-top {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 8px 14px;
}
.products-nav-back {
	flex: 0 0 auto;
	font-weight: bold;
	color: #336699;
	text-decoration: none;
	padding: 4px 12px;
	background: #fff;
	border: 1px solid #d0dce8;
	border-radius: 3px;
	white-space: nowrap;
}
.products-nav-back:hover {
	background: #336699;
	color: #fff;
	border-color: #336699;
}
.products-nav-links {
	display: flex;
	flex-wrap: wrap;
	gap: 4px;
}
.products-nav-links a {
	color: #336699;
	text-decoration: none;
	padding: 4px 10px;
	border-radius: 3px;
	white-space: nowrap;
}
.products-nav-links a:hover {
	background: #336699;
	color: #fff;
}
.products-nav-links a.active {
	background: #336699;
	color: #fff;
	font-weight: bold;
}
/* --- Sub-level (category links) --- */
.products-nav-sub {
	display: flex;
	flex-wrap: wrap;
	gap: 4px;
	padding: 6px 14px 8px;
	border-top: 1px solid #d0dce8;
}
.products-nav-sub a {
	color: #4a7fb5;
	text-decoration: none;
	padding: 3px 10px;
	border-radius: 3px;
	font-size: 9pt;
	white-space: nowrap;
}
.products-nav-sub a:hover {
	background: #4a7fb5;
	color: #fff;
}
.products-nav-sub a.active {
	background: #4a7fb5;
	color: #fff;
	font-weight: bold;
}

/* ============================================================
   Daily News Page
   ============================================================ */
#content:has(.daily-news-page) {
	border: none;
	background: transparent;
	box-shadow: none;
	padding: 0;
}
.daily-news-page {
	max-width: 900px;
	margin: 30px auto;
	padding: 28px 32px;
	background: #fff;
	border: 1px solid #d0dce8;
	border-radius: 6px;
	box-shadow: 0 2px 8px rgba(0,0,0,0.08);
}
.daily-news-header {
	margin-bottom: 16px;
}
.daily-news-title {
	font-size: 16pt;
	font-weight: bold;
	color: #336699;
	border-bottom: 2px solid #336699;
	padding-bottom: 8px;
	margin: 0 0 8px 0;
}
.daily-news-description {
	font-size: 10pt;
	color: #555;
	line-height: 1.5;
	margin: 0;
}
.daily-news-sidebar {
	float: right;
	width: 38%;
	padding: 12px;
	margin: 0 0 16px 20px;
	background: #f5f8fc;
	border: 1px solid #d0dce8;
	border-radius: 4px;
	box-sizing: border-box;
	font-size: 10pt;
}
.daily-news-articles {
	margin-top: 8px;
}
.daily-news-section-heading {
	font-size: 13pt;
	font-weight: bold;
	color: #fff;
	background: #336699;
	padding: 8px 14px;
	border-radius: 3px;
	margin: 0 0 16px 0;
}
.daily-news-article {
	padding: 12px 0;
	border-bottom: 1px solid #e4eaf0;
}
.daily-news-article:last-child {
	border-bottom: none;
}
.daily-news-headline {
	font-size: 12pt;
	font-weight: bold;
	color: #336699;
	margin-bottom: 4px;
}
.daily-news-byline {
	font-size: 9pt;
	color: #777;
	font-style: italic;
	margin-bottom: 6px;
}
.daily-news-body {
	font-size: 10pt;
	color: #333;
	line-height: 1.6;
}

/* ============================================================
   Tipoffs Page
   ============================================================ */
#content:has(.tipoffs-page) {
	border: none;
	background: transparent;
	box-shadow: none;
	padding: 0;
}
.tipoffs-page {
	max-width: 900px;
	margin: 30px auto;
	padding: 28px 32px;
	background: #fff;
	border: 1px solid #d0dce8;
	border-radius: 6px;
	box-shadow: 0 2px 8px rgba(0,0,0,0.08);
}
.tipoffs-page-title {
	font-size: 16pt;
	font-weight: bold;
	color: #336699;
	border-bottom: 2px solid #336699;
	padding-bottom: 8px;
	margin: 0 0 12px 0;
}
.tipoffs-toggle {
	margin-bottom: 16px;
}
.tipoffs-toggle a {
	display: inline-block;
	padding: 6px 16px;
	font-size: 10pt;
	background: #336699;
	color: #fff;
	border-radius: 3px;
	text-decoration: none;
}
.tipoffs-toggle a:hover {
	background: #264d73;
	color: #fff;
}
.tipoffs-list {
	margin-top: 8px;
}
.tipoffs-section {
	margin-bottom: 20px;
}
.tipoffs-section-heading {
	font-size: 12pt;
	font-weight: bold;
	color: #fff;
	background: #336699;
	padding: 8px 14px;
	border-radius: 3px;
	margin: 0 0 10px 0;
}
.tipoffs-section-heading a {
	color: #fff;
	text-decoration: none;
}
.tipoffs-section-heading a:hover {
	text-decoration: underline;
	background: none;
	color: #fff;
}
.tipoffs-section-content {
	padding: 0 8px;
	font-size: 10pt;
	line-height: 1.5;
}

/* ============================================================
   Newsletter Display Page (nl_disp.php)
   ============================================================ */
#content:has(.nl-disp-page) {
	border: none;
	background: transparent;
	box-shadow: none;
	padding: 0;
}
.nl-disp-page {
	max-width: 960px;
	margin: 30px auto;
	padding: 28px 32px;
	background: #fff;
	border: 1px solid #d0dce8;
	border-radius: 6px;
	box-shadow: 0 2px 8px rgba(0,0,0,0.08);
}
.nl-disp-admin-bar {
	margin-bottom: 12px;
}
.nl-disp-publish-btn {
	display: inline-block;
	padding: 6px 16px;
	font-size: 10pt;
	background: #c33;
	color: #fff;
	border-radius: 3px;
	text-decoration: none;
}
.nl-disp-publish-btn:hover {
	background: #a22;
	color: #fff;
}
.nl-disp-header {
	margin-bottom: 16px;
}
.nl-disp-title {
	font-size: 16pt;
	font-weight: bold;
	color: #336699;
	border-bottom: 2px solid #336699;
	padding-bottom: 8px;
	margin: 0 0 6px 0;
}
.nl-disp-meta {
	font-size: 9pt;
	color: #777;
	display: flex;
	align-items: center;
	gap: 10px;
}
.nl-disp-admin-links {
	display: inline-flex;
	gap: 6px;
	align-items: center;
}
.nl-disp-admin-links img {
	vertical-align: middle;
}
/* --- Prev / Next Navigation --- */
.nl-disp-nav {
	display: flex;
	justify-content: space-between;
	align-items: center;
	background: #f5f8fc;
	border: 1px solid #d0dce8;
	border-radius: 4px;
	padding: 8px 14px;
	margin-bottom: 16px;
	font-size: 10pt;
}
.nl-disp-nav a {
	color: #336699;
	text-decoration: none;
}
.nl-disp-nav a:hover {
	text-decoration: underline;
	background: none;
	color: #264d73;
}
.nl-disp-nav-prev,
.nl-disp-nav-next {
	flex: 1;
}
.nl-disp-nav-next {
	text-align: right;
}
.nl-disp-nav-signup {
	flex: 0 0 auto;
}
.nl-disp-signup-btn {
	padding: 6px 18px;
	font-size: 10pt;
	background: #336699;
	color: #fff;
	border: none;
	border-radius: 3px;
	cursor: pointer;
}
.nl-disp-signup-btn:hover {
	background: #264d73;
}
/* --- Top Story --- */
.nl-disp-top-story {
	background: #fffce6;
	border: 1px solid #e6d980;
	border-radius: 4px;
	padding: 12px 16px;
	margin-bottom: 16px;
}
.nl-disp-top-story h3 {
	font-size: 12pt;
	color: #336699;
	margin: 0 0 6px 0;
}
/* --- Multi-column content area --- */
.nl-disp-columns {
	display: flex;
	gap: 16px;
	align-items: flex-start;
}
.nl-disp-column {
	flex: 1;
	min-width: 0;
}
.nl-disp-article {
	padding: 10px 0;
	border-bottom: 1px solid #e4eaf0;
}
.nl-disp-article:last-child {
	border-bottom: none;
}
.nl-disp-article-headline {
	font-size: 11pt;
	font-weight: bold;
	color: #336699;
	margin-bottom: 4px;
}
.nl-disp-article-body {
	font-size: 10pt;
	color: #333;
	line-height: 1.5;
}
.nl-disp-more-link {
	font-weight: bold;
	font-style: italic;
	color: #336699;
	text-decoration: none;
}
.nl-disp-more-link:hover {
	text-decoration: underline;
	background: none;
}
.nl-disp-article-admin {
	margin-top: 6px;
	padding-top: 4px;
	border-top: 1px dashed #ccc;
	font-size: 9pt;
	color: #666;
}
.nl-disp-article-admin a {
	color: #336699;
	margin: 0 3px;
	text-decoration: none;
}
.nl-disp-article-admin a:hover {
	text-decoration: underline;
	background: none;
}
.nl-disp-article-admin select {
	font-size: 9pt;
	padding: 1px;
}
.nl-disp-seq {
	font-size: 8pt;
	color: #999;
}
/* --- Footer signup --- */
.nl-disp-footer-signup {
	margin-top: 20px;
	padding: 12px;
	text-align: center;
	background: #f5f8fc;
	border: 1px solid #d0dce8;
	border-radius: 4px;
	font-size: 10pt;
}
.nl-disp-footer-signup a {
	color: #336699;
	text-decoration: none;
	font-weight: bold;
}
.nl-disp-footer-signup a:hover {
	text-decoration: underline;
	background: none;
}

/* ============================================================
   Mobile Menu Toggle Button (hidden on desktop)
   ============================================================ */
.mobile-menu-toggle {
	display: none;
	background: none;
	border: none;
	cursor: pointer;
	padding: 10px;
	position: absolute;
	top: 10px;
	right: 10px;
	z-index: 1000;
}
.mobile-menu-toggle span {
	display: block;
	width: 28px;
	height: 3px;
	margin: 5px 0;
	background-color: #333;
	border-radius: 2px;
	transition: all 0.3s ease;
}

/* ============================================================
   Tablet Breakpoint (max-width: 768px)
   ============================================================ */
@media (max-width: 768px) {
	/* --- Base --- */
	body {
		min-width: 0;
		font-size: 100%;
	}

	/* --- Header --- */
	#header {
		position: relative;
		padding-bottom: 5px;
	}
	#header img {
		max-width: 250px;
		height: auto;
	}
	#right_ear {
		position: static;
		text-align: center;
		border: none;
		padding: 4px;
		font-size: 9pt;
	}
	#login_button {
		position: static;
		display: block;
		margin: 5px auto;
	}

	/* --- Mobile Menu Toggle --- */
	.mobile-menu-toggle {
		display: block;
	}

	/* --- Menubar --- */
	.menubar {
		display: none;
		clear: both;
		width: 100%;
	}
	.menubar.mobile-menu-open {
		display: block;
	}
	.sf-menu > li {
		float: none;
		display: block;
	}
	.sf-menu a {
		padding: 12px 15px;
	}
	.sf-menu ul {
		position: static;
		display: block;
		width: 100%;
		box-shadow: none;
	}
	.sf-menu ul li a {
		padding-left: 30px;
	}

	/* --- 3-Column Layout Override --- */
	#colmask {
		position: static;
		float: none;
		overflow: visible;
	}
	#colmid {
		float: none;
		width: 100%;
		position: static;
		left: 0;
	}
	#colright {
		float: none;
		width: 100%;
		position: static;
		left: 0;
		margin-left: 0;
	}
	#col1wrap {
		float: none;
		width: 100%;
		position: static;
		right: 0;
	}
	#col1pad {
		margin: 0 10px;
		overflow: visible;
	}
	#col1 {
		width: 100%;
		overflow: visible;
	}
	#col2 {
		float: none;
		width: 100%;
		position: static;
		left: 0;
		margin-left: 0;
		padding: 10px;
		box-sizing: border-box;
	}
	#col3 {
		float: none;
		width: 100%;
		position: static;
		left: 0;
		padding: 10px;
		box-sizing: border-box;
	}

	/* --- Content area (new_page2.tpl) --- */
	#content {
		margin-left: 0;
		margin-right: 0;
		font-size: 11pt;
	}

	/* --- Homepage inner columns --- */
	#col1 {
		display: flex;
		flex-direction: column;
	}
	.innercolumn {
		float: none;
		width: 100%;
		padding: 5px 0;
		box-sizing: border-box;
	}
	.innercolumn:nth-child(2) {
		order: -1;
	}

	/* --- Images & Tables --- */
	img {
		max-width: 100%;
		height: auto;
	}
	table {
		max-width: 100%;
	}
	.dataTables_wrapper {
		overflow-x: auto;
	}

	/* --- Sample Box & Hot Topics --- */
	.sample_box {
		float: none;
		width: 100%;
		margin: 10px 0;
		box-sizing: border-box;
	}
	.hot_topics div {
		width: 100%;
	}

	/* --- Products Navigation Bar --- */
	.products-nav-top {
		flex-direction: column;
		gap: 8px;
		padding: 8px;
	}
	.products-nav-back {
		text-align: center;
	}
	.products-nav-links {
		justify-content: center;
	}
	.products-nav-sub {
		justify-content: center;
		padding: 6px 8px 8px;
	}

	/* --- Daily News Page --- */
	.daily-news-page {
		padding: 10px;
		margin: 10px auto;
	}
	.daily-news-sidebar {
		float: none;
		width: 100%;
		margin: 0 0 16px 0;
	}

	/* --- jQuery UI Dialog --- */
	.ui-dialog {
		width: 90% !important;
		max-width: 90%;
		left: 5% !important;
	}

	/* --- Contact Page --- */
	.contact-page {
		padding: 10px;
	}
	.contact-form-group input[type="text"] {
		max-width: 100%;
	}

	/* --- Team Page --- */
	.team-page {
		padding: 10px;
		margin: 10px auto;
	}

	/* --- Media Page --- */
	.media-page {
		padding: 10px;
		margin: 10px auto;
	}
	.media-admin-links {
		float: none;
		flex-direction: row;
		flex-wrap: wrap;
		margin-bottom: 10px;
	}
	.media-categories-list {
		flex-direction: column;
	}

	/* --- Products Page --- */
	.products-page {
		padding: 10px;
		margin: 10px auto;
	}
	.products-card {
		flex: 1 1 100%;
	}

	/* --- Distribute Page --- */
	.distribute-page {
		padding: 10px;
		margin: 10px auto;
	}
	.distribute-login-layout {
		flex-direction: column;
	}
	.distribute-login-box {
		flex: 1 1 auto;
		width: 100%;
		box-sizing: border-box;
	}

	/* --- Newsletter Page --- */
	.newsletter-page {
		padding: 10px;
		margin: 10px auto;
	}

	/* --- Tipoffs Page --- */
	.tipoffs-page {
		padding: 10px;
		margin: 10px auto;
	}

	/* --- Newsletter Display Page --- */
	.nl-disp-page {
		padding: 10px;
		margin: 10px auto;
	}
	.nl-disp-nav {
		flex-direction: column;
		gap: 8px;
		text-align: center;
	}
	.nl-disp-nav-prev,
	.nl-disp-nav-next {
		text-align: center;
	}
	.nl-disp-columns {
		flex-direction: column;
	}

	/* --- Document Request Form --- */
	.request-form-fieldset {
		padding: 10px;
	}
	.request-form-row {
		flex-direction: column;
		gap: 4px;
	}
	.request-form-label {
		flex: none;
		text-align: left;
	}
	.request-form-radios {
		flex-direction: column;
		gap: 6px;
	}
	.request-form-actions {
		flex-direction: column;
		align-items: stretch;
	}
	.request-form-actions button,
	.request-form-actions .button {
		text-align: center;
	}

	/* --- Footer --- */
	#footer p {
		font-size: 9pt;
		padding: 8px;
		text-align: center;
	}
}

/* ============================================================
   Phone Breakpoint (max-width: 480px)
   ============================================================ */
@media (max-width: 480px) {
	#header img {
		max-width: 180px;
	}
	.mobile-menu-toggle {
		top: 5px;
		right: 5px;
	}
	.sf-menu a {
		padding: 14px 15px;
		font-size: 10pt;
	}
	#col1pad {
		margin: 0 5px;
	}
	.subtitle {
		font-size: 10pt;
		margin-left: 5px;
	}
	.story_body {
		font-size: 10pt;
		margin: 5px;
		padding: 3px 5px;
	}
	#footer p {
		font-size: 8pt;
		padding: 5px;
	}
}
