/*    Style Sheet for Mark's Pages     */
/*   http://www.markhennessy.co.uk/    */
/*    Copyright 2024 Mark Hennessy     */


/* CSS Reset */
body, div, dl, dt, dd, ul, ol, li, h1, h2, h3,
h4, h5, h6, form, input, p, blockquote, table, th, td, img {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
}
code, em, h1, h2, h3, h4, h5, h6 {
  font-weight: normal;
}
ul, ol {
  list-style: none;
}

/*===============COMMON TO WHOLE PAGE===============*/

body {
  background-color: #fcfcfc;
  /*font-family: Arial, Helvetica, sans-serif;*/
  font-family: 'Merriweather', 'Georgia', serif;
  color: #222;
  line-height: 25px;
  font-size: 14px;
}
h1, h2, h3, h4, h5, h6 {
  margin-top: 1.75em;
  color: #204979; /* #002F6E;*/
  margin-bottom: 0.3em;
  /*font-family: Georgia, "Times New Roman", serif;*/
  font-family: 'Merriweather', 'Georgia', serif;
}
h1 {
  font-size: 40px;
}
h1 {
  font-size: 30px;
}
h2 {
  font-size: 25px;
}
h3 {
  font-size: 23px;
}
h4 {
  font-size: 18px;
}
h5 {
  font-size: 16px;
  font-weight: bold;
}
h6 {
  font-size: 12px;
  font-weight: bold;
}
a {
  color: #3088ff;
  text-decoration: none;
}
a:visited {
  color: #3088ff;
}
a:hover {
  text-decoration: underline;
  color: #000;
}
p {
  font-size: 15px;
}
ul, ol {
  font-size: 15px;
}

/* Centred fixed-width display */
.wrapper {
  width: 800px;
  margin: 0 auto;
  clear: both;
}




/*===============HEADER===============*/

#header {
  height: 96px;
  min-width: 800px;
  background: #333;
  font-family: Arial, Helvetica, sans-serif;
}
#header .logo {
  float: left;
  padding: 14px 0 13px 0;
}
#header a:link, #header a:visited {
  color: #888;
}
#header a:hover {
  color: #fff;
  text-decoration: none;
}

/* Header Links (top-right) */
#header ul.titlebar_links {
  margin: 0;
  padding: 3px 0 0 0;
  text-align: right;
  line-height: 23px;
}
#header ul.titlebar_links li {
  display: inline;
  font-size: 11px;
  border-left: 1px solid #666;
  padding: 0px 2px 0px 7px;
}
#header ul.titlebar_links li:first-child {
  border-left: none;
}

/* Menu Bar */
#header ul.menu {
  margin-top: 36px;
  list-style-type: none;
  float: right;
  font-size: 16px;
}
#header ul.menu li {
  float: left;
}
#header ul.menu li a{
  display: block;
  padding: 0 10px;
  line-height: 34px;
}
#header .selected {
  color: #555 !important;
  background-color: #eee;
  text-shadow: 1px 1px #fff;
  border-top-left-radius: 5px;
  border-top-right-radius: 5px;
}


/* Page Title (bar beneath tabs) */
#pagetitle {
  background-color: #eee; /* match bg of higlighted tab */
  height: 45px;
  min-width: 800px;
  border-bottom: 1px solid #d9d9d9;
}
#pagetitle h2 {
  margin-top: 0;
  padding: 10px 0;
  color: #777;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 24px;
  font-weight: normal;
  float: left;
  text-shadow: 1px 1px #fff;
}




/*===============MAIN PAGE CONTENT===============*/

/* Stuff to do with page layout */


/* setup the various columns */
.column0, .column1, .column2, .column3, .twocols, .threecols, .fourcols {
  float: left;
}
.column0, .column2 {
}

/* Columns 0 and 1 used for a 2 column layout */
/* 120+25 + 625 = 770px */
/* 130+25 + 645 = 800px */
.column0 {
  width: 130px;  /*submenus*/
}
.column1 {
  width: 645px;  /*large right hand column*/
  padding-left: 24px;
  border-left: 1px solid #e9e9e9;
  margin-bottom: 25px;
}

/* Columns 0 2 3 used for a 3 column layout */
/* Seems that columns 2 and 3 sit inside column 1 */
/* 480+25 + 120 = 625 */
/* 490+23 + 130 = 645 */

.column2 {
  width: 490px;  /*content*/
  padding-left: 0px;
  padding-right: 25px;
/*  border-left: 1px solid #e9e9e9;*/
  margin-bottom: 25px;
}
.column3 {
  width: 130px;  /*right hand column*/
}

/* Used to produce 2 columns */
/* 50% doesn't work in IE7 for an odd width (e.g. 625, OK with 624) */
.twocols {
  width: 49.9%;
}

/* Used for 3 columns */
/* Such as project front pages */
.threecols {
  width: 33%;
}

/* Used for 4 columns */
/* Such as project front pages */
.fourcols {
  width: 24.9%;
}

/* used to centre images, text, etc */
.centre {
  text-align: center;
  padding: 0;
  margin-bottom:25px;
}

/* float an image to the left/right */
img.right {
  float: right;
  margin-left: 10px;
}
img.left {
  float: left;
  margin-right: 10px;
}

/* Used after floated columns of potentially different heights */
.clearcols {
  clear: both;
}




/* Style the general page elements */

#content {
  margin-top: 25px;
}

#content p, #content ul, #content ol {
  margin-bottom: 25px;
  text-align: justify;
}

/* Lists */
#content ol, #content ul {
  margin-bottom: 25px;
  margin-left: 25px;
}
#content ol {
  list-style-type: decimal;
}
#content ul {
  list-style-type: disc;
}
#content li {
/*  margin-bottom: 18px;*/
}




/* Style the Submenu (left-hand navigational stuff) */

#content .submenu {
  list-style-type: none;
  margin: 0 0 25px 0;
  padding: 0;
  line-height: 18px;
  font-family: Arial, Helvetica, sans-serif;
}
#content .submenu p {
  margin-bottom: 0;
}
#content .submenu a {
  font-size: 13px;
  text-align: left;
}
#content .submenu a:hover {
  color: #000;
}
#content ul.submenu a.selected {
  color: #333;
  cursor: default;
  text-decoration: none;
  font-weight: bold;
  background-color: #f5f5f5;
}
/* Needed since adding spacing after general li */
#content ul.submenu li{
  margin-bottom: 0;
}
#content ul.submenu li, #content .submenu p {
  border-bottom: 1px solid #e9e9e9;
}
#content ul.submenu li a {
  width: 100%;
  display: block;
  padding: 5px 0;
}
#content ul.submenu li a:hover {
  background-color: #e9e9e9;
}
#content ul.submenu li ul {
  list-style: none;
  margin: 0;
  padding-left: 10px;
}
/* Move line to top border because IE doesn't understand last-child */
#content ul.submenu li ul li {
  border-bottom-style: none;
  border-top: 1px solid #ddd;
}
#content ul.submenu li ul li:first-child {
  border-top-style: none;
}
#content ul.submenu li .spacer {
  margin-bottom: 15px;
}





/* Image-related style elements */

/* Style the alt-text - seen in the absence of the image */
#content img {
  font-size: 11px;
  line-height: 14px;
  color: #333;
  background-color: #eee;
}

/* Image  - used to show a picture with text underneath */
/* Menu_Image adds a background colour and top-bottom borders */
#content .menu_image {
  background-color: #f4f4f4;
  border-top: 1px solid #ddd;
  border-bottom: 1px solid #ddd;
}
#content .image, #content .menu_image {
  text-align: center;
  margin: 5px;
  padding: 10px
}
#content .image h4, #content .menu_image h4 {
  margin: 0 0 10px 0;
}
#content .image p, #content .menu_image p {
  font-size: 11px;
  font-style: italic;
  line-height: 16px;
  margin-bottom: 0;
  text-align: center;
}


/* Simple_Gallery - used to present thumbnails and rollovers */
#content .simple_gallery {
  background-color: #f4f4f4;
  border-top: 1px solid #ddd;
  border-bottom: 1px solid #ddd;
  padding-bottom: 0px;
  margin: 5px;
}
#content .simple_gallery h4 {
  margin: 4px 0 0px 10px;
}
#content .simple_gallery p {
  font-size: 11px;
  font-style: italic;
  line-height: 16px;
  margin: 0px 30px 4px 30px;
  min-height: 3.5em;
  text-align: center;
  border-top: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
}

#content .simple_gallery ul {
  list-style-type: none;
  margin-bottom: 0;
  margin-left: 10px;
}
#content .simple_gallery li {
  display: table-cell;
  vertical-align: middle;
  padding-right: 4px;
}
#content .simple_gallery li img {
  padding: 0;
  border: 1px solid #000;
}
#content .simple_gallery li img:hover {
  border: 1px solid #fff;
}
#content .image_container {
  display: table-cell;
  vertical-align: middle;
  padding: 0;
  width: 614px;
}



/* Safety/Disclaimer */
#content .safety {
  background-color: #fcc;
  color: #000;
  font-weight: bold;
  font-size: 16px;
  border: 1px solid #000;
  padding: 10px 15px 0 15px;
  margin-bottom: 25px;
  margin-top: 10px;
}
#content .safety p {
  margin-bottom: 18px;
}




/* Blockquote */
#content blockquote {
  background-color: #f4f4f4;
  color: #444;
  border: 1px solid #ddd;
  padding: 20px 20px 0 50px;
  margin-bottom: 25px;
  border-radius: 10px;
  font-family: Georgia,serif;
  font-style: italic;
  line-height: 22px;
  position: relative;
}
#content blockquote:before {
  display: block;
  content: "\201c";
  font-size: 80px;
  position: absolute;
  left: 0px;
  top: 30px;
  color: #bbb;
}
#content blockquote cite {
  color: #888;
  font-size: 12px;
}
#content blockquote cite:before {
  content: "\2014 \2009";
}
#content blockquote p {
  font-size: 16px;
}




/* Code - IS THIS USED??? */
#content .code {
  background-color: #f00; /* #f4f4f4; */
  color: #000;
  border: 1px solid #ddd;
  padding: 15px 20px;
  margin-bottom: 20px;
  border-radius: 10px;
  font-family: sans-serif, courier;
  font-size: 15px;
}


/*Pre-formatted text - mostly used for the PIC stuff*/
#content pre {
  background-color: #f4f4f4;
  color: #080;
  border: 1px solid #ddd;
  border-radius: 10px;
  padding: 20px 20px 0 20px;
  font-family: "Courier New", Courier, monospace;
  font-size: 14px;
  font-weight: bold;
  margin-bottom: 25px;
}
#content .pic-comment {
  color: #666;
  font-style: italic;
  font-weight: normal;
}
#conten .pic-keyword {
  color: #008;
}



/*Equation*/
#content .equation {
  text-align: center;
  font-style: italic;
  font-family: serif;
  font-size: 16px;
  margin-bottom: 20px;
}





/*Table of Contents*/
#content .table_of_contents {
  padding: 10px 20px;
  border: 1px solid #ccc;
  background-color: #f5f5f5;
  display: inline-block; /*makes the width shrink to fit the content*/
  line-height: initial;
}
#content .table_of_contents h3 {
  margin-top: 0;
  font-size: 18px;
  font-weight: 400;
  text-decoration: underline;
  font-family: Arial, Helvetica, sans-serif;
  color: #333;
}
#content .table_of_contents ul {
  list-style-type: none;
  margin-left: 0px;
  margin-bottom: 0;
  font-size: 13px;
  line-height: 170%;
}
/*For the H4 titles*/
#content .table_of_contents ul li ul {
  margin-left: 25px;
  font-size: 13px;
}
/*For the H5 titles*/
#content .table_of_contents ul li ul li ul{
  font-size: 13px;
}
/*For the H6 titles*/
#content .table_of_contents ul li ul li ul li ul{
  font-size: 13px;
}



/*Smallprint - centered/non-centred*/
#content .smallprint, #content .smallprint_centre {
  font-size: 12px;
  line-height: 15px;
  padding: 10px 40px 10px 40px;
  clear: both; /*when at bottom of multiple columns*/
}
#content .smallprint_centre {
  text-align: center;
}



/*Date - used under headers on news pages and similar*/
#content .date {
  font-size: 11px;
  color: #999;
  font-weight: bold;
  margin-top: -5px;
  padding-bottom: 10px;
}




/*Table*/
#content table.simpletable {
  clear: right;
  margin-left: auto;
  margin-right: auto;
  line-height: 1.6em;
  border-collapse: collapse;
  color: #333;
  background: #f6f6f6;
  text-align: center;
  font-size: 15px;
  margin-bottom: 25px;
}
#content table.simpletable caption {
  font-weight: bold;
}
#content table.simpletable thead tr {
  color: white;
  background-color: #666;
  border-bottom: 1px solid #ccc;
}
#content table.simpletable thead tr th {
  padding: 6px 15px;
}
#content table.simpletable tbody td {
  /*background-color: #e9ecee;*/
  border-left: 1px solid #ccc;
}
#content table.simpletable tbody td:first-child {
  /*background-color: #e9ecee;*/
  border-left: none;
}
#content table.simpletable tbody tr.odd {
  background-color: #e8e8e8;
}
#content table.simpletable tbody th, #content table.simpletable tbody td {
  padding: 6px 15px;
  border-bottom: 1px solid #ccc;
}


/*Table used for PIC pages*/
#content table.pictable {
  margin: 0 auto 25px auto;
  text-align: center;
  line-height: 1.6em;
  font-size: 15px;
}
#content table.pictable thead tr {
  background-color: #666;
  color: #fff;
  font-weight: bold;
}
#content table.pictable tbody td, #content table.pictable thead td {
  padding: 4px 10px;
}
#content table.pictable tbody td.tbg1, #content table.pictable tbody tr.tbg1 {
  background-color: #ddd;
  color: #000;
}
#content table.pictable tbody td.tbg2, #content table.pictable tbody tr.tbg2 {
  background-color: #aaa;
  color: #000;
}




/* Bottom Navigation */
#content .bottom_nav {
  margin-bottom: 25px;
}
#content .bottom_nav ul {
  list-style-type: none;
  font-size: 13px;
  text-align: right;
}
#content .bottom_nav li {
  display: inline;
}
#content .bottom_nav a {
  padding: 2px 8px;
  text-decoration: underline;
  border: 1px solid #fdfdfd; /*same as background*/
  border-radius: 3px;
  font-size: 14px;
}
#content .bottom_nav a.next {
  background-color: #f4f4f4;
  border: 1px solid #ccc;
  text-decoration: none;
  padding: 2px 15px;
}
#content .bottom_nav a:hover {
  background-color: #ddd;
  color: #000;
  border: 1px solid #aaa;
}
#content .bottom_nav a.selected {
  cursor: default;
  color: #333;
  text-decoration: none;
  background-color: #fdfdfd; /* don't change on hover - would make more
                                sense to use "inherit" but this doesn't
                                work with IE */
  border-color: #fdfdfd;     /* Same as background as it's not a button */
}





#content .bottom_nav_small {
  border-top: 1px solid #ddd;
  padding-top:25px;
  margin-top: 25px;
  margin-bottom: 25px;
}
#content .bottom_nav_small ul {
  list-style-type: none;
  text-align: center;
  margin-left: 0;
  margin-bottom:0;
}
#content .bottom_nav_small li {
  display: inline;
  border-left: 1px solid #aaa;
  padding: 0 3px 0 7px;
  font-size: 12px;
}
#content .bottom_nav_small li:first-child {
  border-left: none;
  padding-left: 0;
}





/* Features - lists of projects on sub-index pages */
#content ul.features {
  list-style-type: none;
  margin-left: 0;
}
#content .features li {
  margin-bottom: 20px;
}
#content .features li h3, #content .features li h4 {
  border-bottom: 1px solid #ccc;
  margin-top: 0;
  clear: both;
}
#content .features li h3 a, #content .features li h4 a {
  color: #444;
}
#content .features li h3 a:hover, #content .features li h4 a:hover {
  color: #3088FF;
  text-decoration: none;
}
#content .features li img {
  float: left;
  margin: 1px 15px 15px 0;
  border-top: 1px solid #fff;
  border-left: 1px solid #fff;
  border-right: 1px solid #ddd;
  border-bottom: 1px solid #ddd;
  padding: 7px;
  background: #f4f4f4;
}
#content .features li a:hover img {
  background: #eee;
}
#content .features li a:active img {
  border-top: 1px solid #ddd;
  border-left: 1px solid #ddd;
  border-right: 1px solid #fff;
  border-bottom: 1px solid #fff;
  padding: 8px 6px 6px 8px;
}
#content .features li p {
  margin-bottom: 10px;
}
#content .features li p.more {
  text-align: right;
}





/* References */
.reference {
  font-weight: normal;
}
.references {
  border: 1px solid #ccc;
  padding: 10px 10px 0 10px;
  background-color: #f2f0dc;
  margin-bottom: 25px;
}
.references h3 {
  margin-top: 0;
  margin-bottom:15px;
}

.references ol {
  font-size: 10px;
  line-height: 15px;
  margin-bottom: 0;
}
.references ol li {
  padding-left: 5px;
  margin-top: 8px;
}
.references ol > li:target, sup.reference:target {
  background-color:#fdd;
}





/* Buttons */
#content .button {
  margin-bottom: 25px;
}
#content .button a {
  padding: 4px 25px;
  border: 1px solid;
  border-color: #ccc #aaa #aaa #ccc;
  background-color: #444;
  color: #fff;
  font-size: 13px;
  border-radius: 3px;
  -webkit-border-radius: 3px;
}
#content .button a:hover {
  text-decoration: none;
  cursor: default;
  background-color: #666;
}





/* Links */
h3#link_title {
  margin-top: 0;
}
#link_list ul {
  list-style-type: none;
  margin-left: 10px;
}
#link_list ul a {
  font-weight: bold;
}
#link_list ul li {
  margin-bottom: 14px;
}
#link_list ul li {
  color: #333;
  line-height: 18px;
}
#link_list .preview a {
  font-size: 9px;
  font-weight: lighter;
  color: #333;
}





/* Sitemap */
#content .sitemap {
  list-style-type: none;
  border: 1px solid #ccc;
  border-radius: 5px;
  -webkit-border-radius: 5px;
  background-color: #f4f4f4;
  padding: 0 20px 20px 20px;
  line-height: 18px;
  margin: 0 20px 10px 0;
}
#content .sitemap h4 {
  font-weight: lighter;
  padding-top: 0px;
  border-bottom: 1px solid #ccc;
}
#content .sitemap p {
  font-size: 12px;
  margin-bottom: 0;
}
#content .sitemap ul {
  margin-bottom: 0px;
  margin-left: 25px;
  list-style-type: disc;
  text-align: left;
}
#content .sitemap li {
  font-size: 12px;
}
#content .sitemap ul li ul {
  list-style-type: circle;
}



/* Column2 - encapulating navigational elements */
.featured {
  border: 1px solid #ccc;
  margin-bottom: 10px;
}






/*===============FOOTER===============*/

#footer {
  margin: 0 auto;
  width: 100%; /*770px;*/
  clear: both;
  padding: 25px 0 15px 0;
  border-top: 1px solid #d9d9d9;      /* #e0e0e0 */
  background-color: #eee;  /*#f4f4f4;*/
  line-height: 23px;
  font-family: Arial, Helvetica, sans-serif;
}
#footer ul {
  list-style-type: none;
  text-align: center;
  font-size: 13px;
}
#footer li {
  display: inline;
  border-left: 1px solid #b9b9b9;
  padding: 0 10px 0 16px;
}
#footer li:first-child {
  border-left: none;
  padding-left: 0;
}
#footer li a {
  color: #666;
  font-weight: bold;
}
#footer li a:hover {
  color: #222;
}
#footer .copyright {
  color: #555;
  font-size: 12px;
  padding-top: 15px;
  text-align: center;
}
#footer .valid {
  margin: 20px 0;
  text-align: center;
}
#footer .valid img {
  padding: 0px;
}