input[type="submit"], div, p, td {
  font-family: "Gill Sans MT", "Gill Sans", "Trebuchet MS", "Verdana", "Arial", "Helvetica", sans-serif;
  }
p.p1 {
  text-indent: 2em;
  }
p.p1, p.p2 {
  text-align: justify; margin-top: 0.25em; margin-bottom: 0.25em;
  }
p.backref { 
  font-style: italic;
  margin-top: 0;
  }
div.standard {
  position: absolute;
  font-family: sans-serif;
  }
div.standard table.top {
  }
.nowrap {
  white-space: nowrap;
  }
/* top left */
div.standard table.top td.logo { 
  width: 212px;
  height: 100px;
  border: 1px solid white;
  }
/* top right */
div.standard table.top td.bar { 
  height: 100px;
  /*
  background-color: red;
  border: 1px solid gray;
  */
  }
/* middle left (side nav) */
div.standard table.mid {
  width: 90%;
  }
@media print {
  .noprint,
  .poslid,
  div.standard table.mid td.bar {
    display: none;
    }
  }
div.standard table.mid td.bar {
  background-color: #000080;
  width: 100px;
  max-width: 100px;
  min-height: 320px;
  border: 1px solid gray;
  text-align: center;
  padding: 12px 0;
  }
div.standard table.mid td.bar img.first {
  border-top: 1px solid #000040;
  }
div.standard table.mid td.bar img {
  padding: 0px 0px;
  border-bottom: 1px solid #000040;
  border-top: 0px;
  border-left: 0px;
  border-right: 0px;
  }
div.standard table.mid td.bar div.nb {
  margin-top: 0.5em;
  padding: 0.25em 0.5em;
  }
div.standard table.mid td.bar div.nb div.nbi a {
  color: white;
  font-weight: bold;
  }
/* middle right (main body) */
body.home td.body {
  float: left;
  }
div.standard table.mid td.body {
  background-color: #fffdd3;
  min-height: 320px;
  min-width: 616px;
  border: 1px solid gray;
  padding: 12px;
  margin-left: 12px;
  }
div.standard table.mid td.body h1 {
  margin: 0;
  font-size: 120%;
  font-weight:bold;
  }
div.standard table.mid td.body h2 {
  margin: 1em 0 0 0;
  padding: 0.5em;
  font-size: 100%;
  background-color: #F39D77;
  font-weight:bold;
  }
div.standard table.mid td.body h3 {
  margin: 1em 0 0 0;
  padding: 0.5em;
  font-size: 100%;
  background-color: #9BCCEF;
  font-weight:bold;
  }
div.standard table.mid td.body p {
  }
div.standard td.bot {
  font-size: 50%;
  padding-top: 12px;
  text-align: justify;
  }
/* for Windows versions of Internet Explorer */
/*\*/
* html div.standard table.mid td.bar,
* html div.standard table.mid td.body {
height: 320px;
}
/**/
table.edit td.note {
font-size: 80%; 
font-style: italic;
  padding-top: 0;
  margin-top: 0;
  }
p.note {
  color: blue;
  }
p.error {
  color: red;
  }
table.searched th {
  background-color: #ff7d5d;
  }
table.searched td {
  background-color: white;
  }
table.confmem td,
table.confmem th {
  background-color: white;
  padding-bottom: 0.5em;
  }
table.confmem th,
table.buymem th {
  text-align: right;
  }
table.buymem td.note {
  font-size: 90%;
  }
table.buymem .error {
  color: red;
  }
table.buymem table.login,
table.buymem table.memtype {
  background: white;
  margin: 0.5em;
  border: 1px solid gray;
  }
table.buymem table.memtype th {
  text-align: center;
  }
table.buymem table.memtype td {
  padding: 0.25em 0.25em;
  }
table.buymem table.memtype td.plan {
  text-align: center;
  font-style: italic;
  }
table.buymem table.memtype td.cost {
  text-align: center;
  }
/* tournament calendar */

table.calendar .month th { font-size: 160%; color: red; padding-top: 1.0em; padding-bottom: 1.0em; background-color: white; border: 1pt solid #d0d0d0; }
table.calendar .wdays th { font-size: 100%; font-weight: bold; color: black; padding-top: 0.2em; padding-bottom: 0.2em; padding-left: 0.2em; padding-right: 0.2em;  background-color: #ffc0c0; font-style: oblique; border: 1pt solid red; }
table.calendar .dates .nodate { background-color: #f8f8f8; }
table.calendar .dates .date { padding-left: 0.5em; padding-top: 0.2em; padding-bottom: 0.2em; background-color: #d0d0d0; border: 1pt solid #a0a0a0; }
table.calendar .event { border: 1pt solid #ffc0c0; padding-left: 0.5em; padding-top: 0.2em; padding-bottom: 0.2em; padding-right: 0.5em; background-color: #fff0f0; text-align: center; }
/* table.calendar .event:hover { background-color: yellow } */
table.calendar .events .eventmargin { background-color: #f8f8f8; }
table.calendar .event a:link,
table.calendar .event a:visited
  { text-decoration: none; color: black; }
table.calendar .event a:link:hover,
table.calendar .event a:visited:hover
  { text-decoration: underline; color: red; }

/* tournament listings */
div.tcallist div.event {
  display: block;
  margin-top: 36px;
  margin-bottom: 6px;
  }
div.tcallist .top .title {
  margin-bottom: 6px;
  display: block;
  font-weight: bold;
  font-size: 120%;
  color: red;
  }
div.tcallist .top .note {
  display: block;
  font-style: oblique;
  margin-bottom: 6px;
  }
div.tcallist .top .webnote {
  display: block;
  font-style: oblique;
  margin-bottom: 6px;
  }
div.tcallist .subevent {
  border: 1pt solid red;
  margin-bottom: 6px;
  padding-left: 6px;
  padding-right: 6px;
  padding-top: 6px;
  padding-bottom: 6px;
  }
div.tcallist .subevent div {
  border: none;
  margin-bottom: 0px;
  }
div.tcallist .subevent .rated {
  background-color: #fff0f0;
  margin-top: -6px;
  }
div.tcallist .subevent .rated.UNR { font-style:  italic; }
div.tcallist .subevent .rated.ORT { font-weight: bold; }
div.tcallist .subevent .type {
  display: block;
  font-style: oblique;
  font-weight: bold;
  font-size: 120%;
  background-color: #ffc0c0;
  padding: 6px;
  margin-bottom: 6px;
  }
div.tcallist .schedule {
  margin-left: 6px;
  border-collapse: collapse;
  }
div.tcallist .schedule tr {
  margin-left: 0px;
  }
div.tcallist .schedule td {
  padding-left: 3px;
  padding-right: 3px;
  /* border: gray 1px solid; */
  }
div.tcallist .schedule .wday {
  text-align: right;
  font-style: oblique;
  color: red;
  width: 7em;
  }
div.tcallist .schedule .time {
  text-align: center;
  width: 6em;
  }
div.tcallist div span.label { font-weight: bold; color: red; }
div.tcallist .efs, .format, .commuter, .prize { margin-top: 6px; }
div.tcallist table.contact { margin-top: 6px; margin-bottom: 6px; 
  border: 1px #808080 solid; 
  }
div.tcallist table.contact td, table.contact th { 
  padding-top: 3px; 
  padding-bottom: 3px; 
  padding-left: 3px; 
  padding-right: 3px; 
  border: 1px #808080 solid; 
  }

/* tournament data submission */
div.rdatasub p.message { color: red; }
div.rdatasub table.checkdata { border: 1px solid black; padding: 0.5em; }
div.rdatasub table.checkdata th { text-align: right; padding-right: 0.5em; }
div.rdatasub table.checkdata th { text-align: right; }
div.rdatasub span.fatal { color: red; }
div.rdatasub p.report { padding-left: 2em; }

/* account.pl */
table.account { border: 1px solid black; margin: 1em 0; }
table.account th {
  border-bottom: 3px double black; 
  }
table.account tr.xn td {
  border-bottom: 1px solid black;
  }
table.account tr.total td {
  border-top: 3px double black;
  }
table.account td, table.account th {
  padding: 0.25em 0.5em;
  background-color: white;
  }
table.account .date,
table.account .type,
table.account .amount,
table.account .description {
  border-right: 1px solid black;
  }
table.account td.balance,
table.account td.amount {
  text-align: right;
  }
table.account_payment {
  margin: 1em 0;
  border: 1px solid black;
  }
table.account_payment th {
  text-align: right;
  }
table.account_payment td.hrule {
  background-color: gray;
  font-size: 2pt;
  }

/* combined cross-tables */
table.cxt th, 
table.cxt td {
  padding: 0;
  padding-right: 0.25em;
  font-family: sans-serif;
  }
table.cxt th.event_name {
  font-size: 120%;
  }
table.cxt tr.top0 th.division {
  font-size: 120%;
  padding-top: 1em;
  }
table.cxt th {
  font-size: 90%;
  }
table.cxt th.rating.b,
table.cxt td.rating.b,
table.cxt th.player,
table.cxt td.player,
table.cxt th.spread,
table.cxt td.spread {
  border-right: 1px dotted #808080;
  }
table.cxt td {
  border: none;
  border-top: 1px dotted #808080;
  }
table.cxt tr.top1 th.rating.b {
  font-size: 80%;
  border: none;
  }
table.cxt .player {
  text-align: left;
  }
table.cxt tr.top1 th {
  padding-top: 0.5em;
  }
table.cxt tr.top1 .rating,
table.cxt .rank,
table.cxt .wins {
  text-align: center;
  }
table.cxt .rating,
table.cxt .spread {
  text-align: right;
  }
table.cxt .wins {
  white-space: nowrap;
  }
table.cxt .perf {
  font-style: italic;
  }
table.cxt div.wlos {
  padding-left: 0.1em;
  font-size: 14px;
  }
table.cxt td.opic {
  padding: 0; /* padding-right: 0; */
  }
table.cxt td.result {
  line-height: normal;
  padding: 0; /* padding-right: 0; */
  }
table.cxt div.result.W div.wlos {
  background-color: #c0ffc0;
  }
table.cxt div.result.L div.wlos {
  background-color: #ffc0c0;
  }
table.cxt div.result.T div.wlos {
  background-color: #ffff80;
  }
table.cxt div.result.B div.wlos {
  background-color: #c0c0ff;
  }
table.cxt div.result div.pic,
table.cxt div.result div.wlos {
  display: inline;
  float: left;
  }

/*** state ratings pages ***/

.stateratings table.province {
  padding: 12px;
  }
.stateratings th.province {
  padding: 6px;
  font-size: 150%;
  font-weight: bold;
  background-color: #ffc0c0;
  }
.stateratings th.subhead {
  padding-top: 6px;
  padding-bottom: 6px;
  font-size: 120%;
  }
.stateratings p.leader {
  margin-top: 6px;
  text-align: center;
  line-height: 120%;
  width: 20em;
  }
.stateratings p.leader img {
  border: 1px red solid;
  }
.stateratings table.all {
  margin-top: 1em;
  }
.stateratings table.runnersup,
.stateratings table.all {
  border-collapse: collapse;
  padding: 0px;
  }
.stateratings table.runnersup {
  width: 25em;
  }
.stateratings table.all th,
.stateratings table.all td,
.stateratings table.runnersup th,
.stateratings table.runnersup td {
  padding: 3px;
  border-right: 1px red solid;
  }
.stateratings tr.top th.rank,
.stateratings table.all td,
.stateratings table.runnersup td {
  border-bottom: 1px red solid;
  }
.stateratings tr.top th.rank,
.stateratings .lrank {
  border-left: 1px red solid;
  }
.stateratings tr.top th {
  border-top: 1px red solid;
  }
.stateratings th.lrank,
.stateratings th.orank,
.stateratings th.rating,
.stateratings th.name {
  border-bottom: 3px double red;
}
.stateratings table.ratings100 .rank {
  text-align: right;
  }
.stateratings table.ratings100 th {
  border-bottom: none;
  text-align: left;
  }
.stateratings table.ratings100 th, .stateratings table.ratings100 td {
  padding-right: 0.5em;
  }
.stateratings th {
  vertical-align: bottom;
  }
.stateratings td {
  vertical-align: top;
  }
.stateratings td.left {
  vertical-align: top;
  border: 1px solid black;
  }
.stateratings td.left {
  }
.stateratings th.lrank,
.stateratings td.lrank,
.stateratings th.orank,
.stateratings td.orank,
.stateratings th.rating,
.stateratings td.rating 
  {
  text-align: center;
  }
.stateratings th.name,
.stateratings td.name {
  text-align: left;
  }
table.poslid {
  border: 1px solid #808080;
  }

table.regs { background-color: white; }
table.regs td { text-align: center; }
table.regs td.city,
table.regs td.name { text-align: left; }
table.regs td.subtotal { text-align: left; font-weight: bold; }

table.service {
  background-color: white;
  margin: 1em 0;
  }
table.service th, table.service td {
  padding: 0.25em;
  }

.naspaid_status span {
  background-color: white;
  border: 1px dotted gray;
  padding: 0px 3px;
  margin-left: 3px;
  }
.naspaid_status .error {
  color: red;
  }
.naspaid_status .info {
  color: green;
  }

div.service {
  max-width: 8in;
  }
div.service div.intro {
  padding: 0.5em 0;
  text-indent: 2em;
  }
div.service table.servicewrapper {
  border-collapse: collapse;
  margin: 2em;
  background-color: white;
  }
div.service table.servicewrapper th, div.service table.servicewrapper td {
  border: 1px solid black;
  padding: 0.5em;
  }
div.service table.servicewrapper tr th {
  white-space: nowrap;
  text-align: right;
  background-color: #c0c0e0;
  }
div.service table.servicewrapper tr td.input {
  border-bottom: 1px dotted #c0c0c0;
  }
div.service table.servicewrapper tr td.note {
  border-top: 1px dotted #c0c0c0;
  background-color: #e0e0e0;
  }
div.service table.servicewrapper tr td.note {
  border-top: 1px dotted #c0c0c0;
  }
div.service.wrapper div.submit {
  margin-bottom: 1em;
  }

table.suspensions td.start,
table.suspensions td.end {
  white-space: nowrap;
  }
table.suspensions td.motion {
  text-align: center;
  }
table.suspensions pre {
  font-size: 50%;
  }

table.qualevents tr.title th {
  text-align: left;
  font-weight: bold;
  font-style: normal;
  font-size: 120%;
  padding-top: 0.5em;
  }
table.qualevents tr.subtop th {
  font-weight: normal;
  font-style: oblique;
  font-size: 80%;
  }
table.qualevents tr.subtop th,
table.qualevents tr.data td {
  text-align: center;
  }
table.qualevents tr.subtop th.event,
table.qualevents tr.data td.event {
  text-align: left;
  }

table.handicaps td.player {
  white-space: nowrap;
  }

table.loginfail {
  border-collapse: collapse;
  background-color: white;
  margin: 1em 0;
  }
table.loginfail th,
table.loginfail td {
  border: 1pt solid black;
  padding: 3px;
  }

div.service table.poslid { 
  background-color: white;
  }

div.service.shop table.confirm,
div.service.shop table.cart,
div.service.shop table.catalogue {
  border-collapse: collapse;
  background-color: #FFFEEA;
  }

div.service.shop table.confirm th,
div.service.shop table.confirm td,
div.service.shop table.cart th,
div.service.shop table.cart td,
div.service.shop table.catalogue td {
  border: #FFF080 1px solid;
  vertical-align: top;
  }

div.service.shop td.error {
  color: red;
  }

div.service.shop td.error span.label {
  display: none;
  }

div.service.shop table.catalogue tr.catalogue td.label {
  font-weight: bold;
  }

div.service.shop table.catalogue tr.catalogue td.photo img {
  width: 128px;
  }

div.service.shop td.price {
  text-align: right;
  }

div.service.shop table.confirm .value,
div.service.shop td.quantity, 
div.service.shop td.remove, 
div.service.shop td.modify {
  text-align: center;
  }

div.service.shop table.confirm tr.item th {
  white-space: nowrap;
  font-weight: normal;
  }

div.service.shop table.cart tr.cart.total td {
  border-top: #FFF080 3px double;
  }

/* /tourneys/canam/*.shtml */
div.canam th { padding-left: .25em; padding-right: .25em; background: white; }
div.canam td { text-align: center; padding-left: .25em; padding-right: .25em; font-family: sans-serif; white-space: nowrap; }
div.canam td.name { font-size: 75%; white-space: normal; }
div.canam td.empty { background-color: white; }
div.canam tr.cp, td.cyrec { background-color: #ffd0d0; }
div.canam tr.up, td.uyrec { background-color: #d0d0ff; }
/* bracketology */
div.service.bracket div.participants {
  display:inline-block;
  width:256px;
  vertical-align:top;
  }
div.service.bracket div.participants > div { 
/*display: inline-block;
  float: left;*/
  border: 1px solid grey;
  padding: 8px;
  margin: 8px;
  height: 64px;
  position: relative;
  }
div.service.bracket div.participants div.participant > div {
  display: block;
  position: absolute;
  line-height: normal;
  vertical-align: middle;
  top: 8px;
  }
div.service.bracket div.participants div.participant div.photo {
  left: 8px;
  }
div.service.bracket div.participants div.participant div.info {
  left: 80px;
  overflow:hidden;
  }
div.service.bracket div.participants div.photo img { vertical-align: middle }
div.service.bracket div.participants div.npicks span.unique { color: red; }
div.service.bracket div.participants button.hide { float: right; margin-left: 0.5em; }
div.service.bracket div.participants button.del { float: right; margin-left: 0.5em; }
div.service.bracket div.participants button.more { float: right; margin-left: 0.5em; }
div.service.bracket div.picks {
  clear:both;
}
div.service.bracket div.picks div.add { 
  margin-top:8px;
  display:inline-block;
  text-align: center;
  vertical-align:top;
  }
div.service.bracket div.picks div.add.too-few { 
  background-color: yellow; 
  }
div.service.bracket div.picks div.add table { border: none; margin: 0; }
div.service.bracket div.picks div.add td { border: none; vertical-align: middle; align: center; }
div.service.bracket div.picks div.add button.add { height: 2.5em; }
div.service.bracket h2 { clear: both; }
div.service.bracket div#status .warning { color: black; background-color: yellow; margin-bottom: 0.5em; padding: 0.25em;}
div.service.bracket .excess { background-color: yellow; }
div.service.bracket div#more { 
  position: absolute;
  background-color: #fdfad4;
  padding: 6px;
  border: #575757 2px solid;
  left: 10px;
  top: 30px;
  z-index: 10;
  display: none;
  }
div.service.bracket div#more svg {
  margin-top: 0.5em;
  background-color: white;
  }
div.service.bracket div#more svg line.axis {
  stroke-width: 1px;
  stroke: black;
  }
div.service.bracket div#more svg line.tick {
  stroke-width: 1px;
  stroke: black;
  }
div.service.bracket div#more svg polyline.picks {
  stroke-width: 3px;
  stroke: red;
  fill: none;
  }
div.service.bracket div#more svg polyline.rating {
  stroke-width: 1px;
  stroke: blue;
  fill: none;
  }
div.service.bracket div#more svg text.axisLabel.y.l {
  font-weight: bold;
  fill: blue;
  }
div.service.bracket div#more svg text.axisLabel.y.r {
  fill: red;
  }
div.service.bracket div.division div.divname {
  font-size: 120%;
  font-weight: bold;
  float: left;
  margin-right: 0.5em;
  }
/* club stuff */
div.club table.record td {
  vertical-align: middle;
  text-align: right;
  line-height: normal;
  }
div.club table.record td.name {
  text-align: left;
  }
div.club table.record td.photo img {
  vertical-align: top;
  text-align: center;
  height: 36px;
  width: 36px;
  }
/* tablesorter */
table.tablesorter {
/* font-family:arial; */
  background-color: #CDCDCD;
  margin:10px 0pt 15px;
  font-size: 8pt;
/*width: 100%; */
  text-align: left;
}
table.tablesorter thead tr th, table.tablesorter tfoot tr th {
  background-color: #e6EEEE;
  border: 1px solid #FFF;
  font-size: 8pt;
  padding: 4px;
  padding-right: 2em;
}
table.tablesorter thead tr .header {
  background-image: url(/images/tablesorter/bg.gif);
  background-repeat: no-repeat;
  background-position: center right;
  cursor: pointer;
  }
table.tablesorter tbody td {
  color: #3D3D3D;
  padding: 4px;
  background-color: #FFF;
  vertical-align: top;
  }
table.tablesorter tbody tr.odd td {
  background-color:#F0F0F6;
  }
table.tablesorter thead tr .headerSortUp {
  background-image: url(/images/tablesorter/asc.gif);
  }
table.tablesorter thead tr .headerSortDown {
  background-image: url(/images/tablesorter/desc.gif);
  }
table.tablesorter thead tr .headerSortDown, table.tablesorter thead tr .headerSortUp { background-color: #8dbdd8;
  }
input[type="submit"] {
  background-color: #3e4e97; 
  color: white;
  }

/* landing page */
body.landing {
  }
body.landing h1 {
  text-align: center;
  }
body.landing div.h1sub {
  text-align: center;
  font-style: italic;
  font-size: 1.5em;
  margin-top: -0.5em;
  margin-bottom: 1em;
  }
body.landing div.standard {
  margin: auto;
  max-width: 30em;
  position: relative;
  }
body.landing table td {
  border: white solid 1px;
  background-color: #3e4e97;
  color: white;
  padding: 1.0em;
  }
body.landing table td a {
  color: white;
  text-decoration: none;
  font-weight: bold;
  }
body.landing table td a:visited {
  color: white;
  text-decoration: none;
  font-weight: normal;
  }
body.landing table td a:hover {
  color: yellow;
  text-decoration: underline;
  }
body.landing p.nsalogo {
  text-align: center;
  }
body.naspa-service tr.doclist.h1 td {
  font-weight: bold;
  font-size: 120%;
  background-color: #e0e0ff;
  }
body.naspa-service tr.doclist.h2 td {
  font-weight: bold;
  background-color: #ffe0e0;
  }
input:invalid { background-color:pink; }
td.titlist { height: 4em; }

body.naspa-service tbody#tb_payment_ li { margin-left: 4em; }
