/*
Dragon Go Server
Copyright (C) 2001-  Erik Ouchterlony, Rod Ival, Jens-Uwe Gaspar

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as
published by the Free Software Foundation, either version 3 of the
License, or (at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU Affero General Public License for more details.

You should have received a copy of the GNU Affero General Public License
along with this program.  If not, see <http://www.gnu.org/licenses/>.
*/

/* ************************* */
/* global styles */
/* ************************* */

/* IMPORTANT NOTE: NOT USED, because only supported in newer browsers with CSS3; but used for reference. */
:root {
   --main-bg-color: #f7f5e3; /* see also blend_alpha() function in 'std_functions.php' */
   --debug-bg-color: #bcffab; /* light green */
   --admin-bg-color: #bcffab; /* light green */
   --mark-bg-color: #c0ffb0;
   --tourney-light-bg-color: #e0e8ff; /* light blue, complementary to background */
   --tourney-dark-bg-color: #c8d0f0; /* darker blue for lists, complementary to background */
}

/* ------------------------- */
/* same initial states for any browsers */
/* ------------------------- */

/* Legend:
 * - FF = Firefox, IE = Internet Explorer
 */

img {
   border: 0 solid black;
   /* vertical-align: middle;
      No vertical-align here, else Avant browser will badly display the table.goban img:
      enlarging the text display will increase the height of the table cells too. */
   margin: 0;
}

table { /* skeleton tables */
   table-layout: auto;
   border: 0 solid blue;
   border-spacing: 0;
   border-collapse: collapse;
   margin: 0 auto;
   width: auto;
   max-width: none;
   overflow: visible;
   empty-cells: show;
   text-indent: 0;
}

td {
   border: 0 solid red;
   margin: 0;
   padding: 2px 4px;
   width: auto;
   text-align: left;
}

hr {
   display: block;
   width: 100%;
   height: 1px;
   margin: 7px 0;
   padding: 0;
   color: #808081;
   background: #808080;
   border-width: 0;
}

hr.Inline {
   width: 70%;
   height: 1px;
}

pre {
   display: block;
   width: 100%;
   border-width: 0;
   margin: 0.3em 0.5em 0.3em 0.5em;
   padding: 0.3em 0.8em 0.3em 0.5em;
   text-align: left;
}

select, input {
   vertical-align: middle;
   margin-right: 4px;
}

ul {
   margin-top: 1em;
}

a * {
   text-decoration: underline;
}

/*
a:link    { color: blue; }
a:visited { color: navy; }
a:hover   { color: purple; }
a:focus   { color: red; }
a:active  { color: red; }
*/


/* ------------------------- */
/* global properties */
/* ------------------------- */

a[target]
{
   color: olive;
}

a.linkmarkup {
   text-decoration: underline;
}

.hidden {
   display: none;
}

.black {
   color: black;
}

.white {
   color: white;
}

.gray {
   color: gray;
}

.blue {
   color: blue;
}

.green {
   color: green;
}

.red {
   color: red;
}

.darkred {
   color: darkred;
}

.bold {
   font-weight: bold;
}

.underline {
   text-decoration: underline;
}

.larger {
   font-size: larger;
}

.none {
   text-decoration: none;
   font-weight: normal;
}

.center {
   text-align: center;
}

.left {
   text-align: left;
}

.right {
   text-align: right;
}

.smaller {
   font-size: smaller
}

.nowrap {
   white-space: nowrap;
}

.InlineWarning {
   color: red;
}

.Spacing {
   padding: 0 0.5em 0 0.5em;
}

.Ref,
.Send,
.User,
.Game,
.Rating {
   color: black;
}

h2.Header {
   color: #800000;
   font-weight: bold;
   text-align: center;
   padding: 3px;
   margin: 1em 0;
}

h3.Header .Ref,
h3.Header .Send,
h3.Header .User,
h3.Header .Game,
h3.Header .Rating,
h3.Header {
   color: #800000;
   font-weight: bold;
}
h3.Header {
   text-align: center;
   padding: 2px;
   margin: 1em 0;
}

h4.Chapter {
   font-weight: bold;
   padding: 0;
   margin: 0;
}

span.NativeText {
   border: 1px dashed lime;
}

span.BoxLabel3,
span.BoxLabel2,
span.BoxLabel1,
span.BoxLabel0 {
   padding-right: 6px;
   vertical-align: middle;
   text-align: left;
}

div.Section { /* page section */
   margin: 0 auto;
   width: auto;
   max-width: none;
   overflow: visible;
   vertical-align: top;
   padding: 4px;
   text-align: center;
}

table.Container { /* centered_container */
   table-layout: auto;
   border: 0 solid red;
   border-spacing: 0;
   border-collapse: collapse;
   empty-cells: show;
   margin: 0 auto;
   width: auto;
   max-width: none;
   overflow: visible;
   vertical-align: top;
}

hr.Section {
   display: none;
   margin: 1em 0 0 0;
}

p.SysMsg {
   color: green;
   font-weight: bold;
}

p.WarnQuota {
   background-color: darkred;
   color: white;
   font-weight: bold;
   padding: 5px;
   margin: 1em 5em;
}

.ErrMsg {
   color: darkred;
   text-decoration: none;
   font-style: normal;
   font-weight: normal;
}
span.ImportantNote,
span.ErrorMsg,
span.FormWarning {
   color: darkred;
}

.EmphasizeWarn,
span.ErrMsgCode,
span.ErrMsgMaxGames,
span.MPGWarning {
   font-weight: bold;
   color: darkred;
}

.EmphasizeInfo {
   font-weight: bold;
   color: teal;
}

.WarnMsg {
   color: teal;
   text-decoration: none;
   font-style: normal;
   font-weight: normal;
}

span.Maintenance {
   font-weight: bold;
   background: red;
}

.DebugInfoBox {
   width: auto;
   height: auto;
   border: 2px solid #ff0000;
   background-color: #bcffab; /* var(--debug-bg-color) */
   overflow: visible;
   margin: 0;
   float: left;
   top: 0;
   left: 0;
   position: absolute;
}

.DebugInfoBoxSmall {
   width: 10px;
   height: 10px;
   border: 2px solid #00ff00;
   background: #bcffab; /* var(--debug-bg-color) */
   overflow: hidden;
   margin: 0;
}

.DebugInfo {
   border: 0 solid #ff0000;
   background: #bcffab; /* var(--debug-bg-color) */
   margin: 0;
   padding: 0;
}

img.Action {
   margin: 1px 2px 0 2px;
   padding: 0;
   vertical-align: middle;
}

table.Table td.GameSettings img,
img.InTextImage {
   border: 0 solid black;
   vertical-align: middle;
}

img.InTextStone {
   width: 17px;
   height: 17px;
   border: 0 solid black;
   vertical-align: middle;
}

img.MinWidth {
   border: 0 solid black;
   visibility: hidden;
   display: block;
   height: 0;
}

img.Hero {
   padding-left: 0.4em;
}

span.Note {
   font-style: italic;
}

span.AdminOption,
span.AdminTitle,
.AdminLink {
   font-style: italic;
   background: #bcffab; /* var(--admin-bg-color) */
}
span.AdminLink img {
   vertical-align: middle;
}

table#ErrorNote tr td {
   text-align: left;
}



/* ************************* */
/* main page skeleton */
/* ************************* */


body {
   background: #f7f5e3; /* var(--main-bg-color) */
   color: black;
   margin: 0;
   padding: 8px;
}


/* banners */

table#pageHead,
table#pageFoot {
   table-layout: auto;
   background: #0C41C9;
   color: #FFFC70;
   border: 0 solid red;
   border-spacing: 0;
   border-collapse: collapse;
   margin: 0;
   width: 100%;
   max-width: none;
   overflow: visible;
   empty-cells: show;
   font-weight: bold;
   text-align: center;
}

table#pageFoot th,
table#pageFoot td,
table#pageHead th,
table#pageHead td {
   border: 0 solid red;
   padding: 4px;
   vertical-align: middle;
}

table#pageFoot a,
table#pageHead a {
   color: #FFFC70;
   font-weight: bold;
}

table#pageFoot .ServerHome,
table#pageHead .ServerHome {
   text-align: left;
   white-space: nowrap;
}

table#pageFoot .LoginBox,
table#pageHead .LoginBox {
   text-align: right;
}

table#pageFoot span.Version {
   font-size: 80%;
   padding-left: 1em;
   margin-right: -8em;
}

table#pageFoot .PageTime {
   text-align: center;
   font-weight: normal;
   font-size: 90%;
}

table#pageFoot .PageLapse {
   font-weight: normal;
   font-size: 80%;
}

table#pageFoot .PageQuota {
   font-size: 80%;
}

table.HostedBy {
   table-layout: auto;
   border: 0 solid red;
   border-spacing: 0;
   border-collapse: collapse;
   margin: 0;
   width: 100%;
   max-width: none;
   overflow: visible;
   empty-cells: show;
   vertical-align: top;
   color: black;
}

td#hostedBy {
   border: 0 solid red;
   padding: 4px;
   text-align: right;
   font-size: 90%;
}


table#pageLayout {
   width: 100%;
}


/*
 Reminder of the different page/menu layouts

 Vertical menu tree:
 body [
   ...
   table#pageLayout tr.LayoutVertical td.Menu [
      (table#pageMenu or table.MenuVertical)
      table#pageTools
   }
   table#pageLayout tr.LayoutVertical td#pageBody ...
   ...
 ]

 Horizontal menu tree:
 body [
   ...
   (table#pageMenu or table.MenuHorizontal)
   table#pageTools
   table#pageLayout tr.LayoutHorizontal td#pageBody ...
   ...
 }

 Memo: "Not logged" or "Is down" tree (like horizontal with no menu):
 body [
   ...
   table#pageLayout tr.LayoutHorizontal td#pageBody ...
   ...
 }
 */

table#pageMenu {
   background: #f7f5ff;
   color: black;
/*   border-width: 1px; /* see MenuHorizontal and MenuVertical */
   border-color: #0C41C9;
   border-style: solid;
   table-layout: auto;
   border-spacing: 0;
   border-collapse: collapse;
   margin: 0;
   max-width: none;
   overflow: visible;
   empty-cells: show;
   text-align: left;
}

table.MenuHorizontal {
   border-width: 0 0 1px 0;
   width: 100%;
   margin: 0;
}

table.MenuVertical {
   border-width: 1px;
   width: auto;
   margin: 0; /* seems to not always work. See td.Menu padding */
}

table#pageLayout tr.LayoutVertical td.Menu {
   width: 10%;
   text-align: left;
   vertical-align: top;
   padding: 4px 4px 4px 2px;
}

table#pageMenu th,
table#pageMenu td {
   border: 0 solid red;
   white-space: nowrap;
   padding: 4px 4px;
}

table.MenuHorizontal th,
table.MenuHorizontal td {
   width: 17%; /* for 4 columns */
   white-space: nowrap;
   padding: 4px 4px;
}

table.MenuHorizontal td.Logo1 {
   width: 20%;
}

table.MenuHorizontal td.Logo2 {
   width: 12%;
   text-align: right;
}

table.MenuVertical th,
table.MenuVertical td {
   white-space: nowrap;
   padding: 0 4px;
}

table.MenuVertical td.Logo2,
table.MenuVertical td.Logo1 {
   text-align: center;
}

table.MenuVertical td.Logo2 img {
   display: none;
}


table.MenuHorizontal dl {
   margin:  0.3em 0 0.3em 0;
   padding: 0;
}
table.MenuHorizontal dt {
   white-space: nowrap;
   padding: 0.1em 0;
   height: 30%;
}

table.MenuVertical dl {
   margin:  0.3em 0 0.3em 0;
   padding: 0;
}
table.MenuVertical dt {
   white-space: nowrap;
   padding: 0.1em 0;
   height: 30%;
}

span.MainMenuCount {
   color: red;
   text-decoration: none;
}
a.MainMenuCount {
   text-decoration: none;
}
a:hover.MainMenuCount {
   text-decoration: underline;
}

table#pageMenu a {
   color: black;
}

table#pageMenu a.strong {
   color: black;
   font-weight: bold;
   font-size: 110%;
}


/* page tools */

table#pageTools {
   margin: 0;
}

table#pageTools td {
   padding: 4px 6px 4px 4px;
}

/* page body */

table#pageLayout td#pageBody {
   margin: 0;
   padding: 4px 4px 1em 4px;
   text-align: center;
   vertical-align: top;
}

table#pageLayout tr.LayoutVertical td#pageBody {
   width: 100%;
}

table#pageLayout tr.LayoutHorizontal td#pageBody {
   width: 100%;
}

/* links of bottom menu */
table.Links {
   table-layout: auto;
   border: 0 solid red;
   border-spacing: 0;
   border-collapse: collapse;
   margin: 4px auto;
   width: auto;
   max-width: none;
   overflow: visible;
   empty-cells: hide;
   text-align: center;
}

table.Links td {
   color: black;
   border: 0 solid red;
   padding: 8px 32px;
   text-align: center;
   vertical-align: top;
   font-weight: bold;
}

table.Links a,
div.Links a {
   color: blue;
   font-weight: bold;
}



/* ************************* */
/* general objects specifications */
/* ************************* */


/* ------------------------- */
/* usual list-tables */
/* ------------------------- */

table.Table {
   table-layout: auto;
   border: 0 solid red;
   border-spacing: 0;
   border-collapse: collapse;
   margin: 0 auto 4px auto;
   width: auto;
   max-width: none;
   overflow: visible;
   empty-cells: show;
   position: relative;
}

table.Table th,
table.Table td {
   border: 0 solid red;
   margin: 0;
   padding: 2px 4px;
}

table.Table th a,
table.Table th {
   color: black;
   font-weight: bold;
   text-align: center;
}

table.Table td a,
table.Table td {
   white-space: nowrap;
   color: black;
   text-align: left;
}

/* row of the column headers */

table.Table tr.Head {
   background: #cccccc;
}

table.Table tr.Head th div,
table.Table tr.Head th {
   white-space: nowrap;
   text-align: center;
   text-indent: 0;
   vertical-align: bottom;
}

table.Table tr.Head th div {
   display: block;
}

table.Table tr.Head th span.Header {
   white-space: pre; /* normal, nowrap - pre: allow &#10; */
   color: black;
   font-weight: bold;
   text-align: center;
   padding: 0;
   margin: 0;
}

/*
 row of the column filters may be at the bottom of the table
*/
table.Table tr.Error,
table.Table tr.Warning,
table.Table tr.Filter {
   background: #dddddd;
}

table.Table tr.Filter td div,
table.Table tr.Filter td {
   white-space: nowrap;
   text-align: left;
   text-indent: 0;
   vertical-align: middle;
}

table.Table tr.Filter select,
table.Table tr.Filter input {
   vertical-align: middle;
   white-space: nowrap;
   margin-right: 0;
}

table.Table tr.Filter td.Number div {
   text-align: right;
}

table.Table tr.Filter td.Number select,
table.Table tr.Filter td.Number input {
   margin-left: auto;
   margin-right: 0;
}

table.Table tr.Filter td.Error {
   background: #dd0080; /* #ff0066 #ddb0b0=#ffcccc*86% #dd4080 */
}

table.Table tr.Filter td.Warning {
   background: teal; /* #ff0066 #ddb0b0=#ffcccc*86% #dd4080 */
}

table.Table td.ErrMsg em {
   color: darkred;
   text-decoration: none;
   font-style: normal;
   font-weight: normal;
}

table.Table td.WarnMsg em {
   color: teal;
   text-decoration: none;
   font-style: normal;
   font-weight: normal;
}

table.Table tr.Filter td.ShowFilter a,
table.Table tr.Filter td.ShowFilter { /* hidden filter cell */
   color: blue;
   text-align: center;
}

table.Table tr.LinksT td,
table.Table tr.LinksB td {
   color: black;
   margin: 0;
   padding: 2px 8px;
   text-align: left;
}

span.NaviInfo {
   font-size: smaller;
}

table.Table tr.LinksT td.PagingR,
table.Table tr.LinksB td.PagingR {
   text-align: right;
}


/*
 rows of datas:
 Row1/3 (light), Row2/4 (darker)
*/
table.Table tr.Row3,
table.Table tr.Row1 {
   background: #ffffff;
}
table.Table tr.Row4,
table.Table tr.Row2 {
   background: #e0e8ed;
}
table.Table tr.Highlight,
table.Table tr.HilRow3,
table.Table tr.HilRow1 {
   background: #ffdfbf; /* #ffd080 #ffdfbf */
}
table.Table tr.HilRow4,
table.Table tr.HilRow2 {
   background: #e7cdb1; /* #f0c476 #e7cdb1 */
}
table.Table tr.Row3 td.Warning,
table.Table tr.Row1 td.Warning {
   color: black;
   background: #ffcccc;
}
table.Table tr.Row4 td.Warning,
table.Table tr.Row2 td.Warning {
   color: black;
   background: #e6b9bd;
}

/* remaining-time warnings: alarm=red-card, warning=yellow-card */
table.Table tr.Row1 td.RemTimeWarn1,
table.Table tr.Row3 td.RemTimeWarn1 {
   background: #ffb0c2; /* alarm - light */
}
table.Table tr.Row2 td.RemTimeWarn1,
table.Table tr.Row4 td.RemTimeWarn1 {
   background: #fa96a6; /* alarm - dark */
}
table.Table tr.HilRow1 td.RemTimeWarn1,
table.Table tr.HilRow3 td.RemTimeWarn1 {
   background: #ff9082; /* alarm - light */
}
table.Table tr.HilRow2 td.RemTimeWarn1,
table.Table tr.HilRow4 td.RemTimeWarn1 {
   background: #fa7666; /* alarm - dark */
}
table.Table tr.Row1 td.RemTimeWarn2,
table.Table tr.Row3 td.RemTimeWarn2 {
   background: #fff69f; /* warning - light */
}
table.Table tr.Row2 td.RemTimeWarn2,
table.Table tr.Row4 td.RemTimeWarn2 {
   background: #e0e096; /* warning - dark */
}
table.Table tr.HilRow1 td.RemTimeWarn2,
table.Table tr.HilRow3 td.RemTimeWarn2 {
   background: #ffd65f; /* warning - light */
}
table.Table tr.HilRow2 td.RemTimeWarn2,
table.Table tr.HilRow4 td.RemTimeWarn2 {
   background: #e0cb62; /* warning - dark */
}


/*
 special cells of various list-tables
*/

table.Table td.Sgf a {
   color: #d50047;
}

table.Table td.Center,
table.Table td.Mark,
table.Table td.NumberC,
table.Table td.Image {
   text-align: center;
}

table.Table td.Right,
table.Table td.ID,
table.Table td.Number,
table.Table td.MsgDir,
table.Table td.ImagesRightPadded {
   text-align: right;
}

table.Table td.RatPos {
   text-align: right;
   color: #555555;
}

table.Table td.ImagesRightPadded img {
   padding-left:  0.4em;
   padding-right: 0.4em;
}

table.Table td.ImagesLeft {
   text-align: left;
}

table.Table td.GameSettings {
   text-align: left;
   vertical-align: middle;
}

table.Table td.Enum {
   text-align: left;
   font-size: smaller;
}

table.Table td.YesNo {
   text-align: center;
   font-size: smaller;
}

table.Table td.TRank,
table.Table td.BoldC {
   text-align: center;
   font-weight: bold;
}

table.Table td.Monospace {
   font-family: monospace;
   font-size: 120%;
}

table.Table td.ForumTagsBG {
   background-color: #cccccc;
}
table.Table td.SearchTagsBG {
   background-color: #77bb88;
}


table.Table th.Button {
   margin: 0;
   padding: 2px 8px;
   text-align: center;
}

table.Table td.Button {
   background-repeat: no-repeat;
   background-position: center center; /* V H: top left */
   margin: 0;
   padding: 3px 8px 2px 8px;
   text-align: center;
   white-space: nowrap;
}

table.Table tr.Filter td.Button,
table.Table tr.Filter td {
   background-image: none;
}

table.Table a.Button {
   display: block;
   margin: 0;
   padding: 0;
   text-decoration: none;
   font-weight: bold;
   text-align: center;
   white-space: nowrap;
}
table.Table a.ButtonText {
   text-decoration: underline;
}


/*
 cells tools
*/
table.Table span.Tool {
   padding: 0 0 0 2px;
   margin: 0;
   font-size: 0.5em;
   line-height: 0.5em;
   color: red;
   text-align: left;
   white-space: nowrap;
   vertical-align: bottom; /* super */
}

table.Table span.Tool a,
table.Table span.Tool span {
   padding: 0;
   margin: 0; /* */
   font-size: 0.5em;
   line-height: 0.5em;
   text-align: left;
   white-space: nowrap;
   vertical-align: bottom; /* super */
}

table.Table tr.Filter td span.Tool img.Hide, /* filters row */
table.Table tr.Head th span.Tool img.Sort, /* headers row */
table.Table tr.Head th span.Tool img.Hide { /* headers row */
   width: 9px;
   height: 9px;
   vertical-align: bottom;
}

table.Table tr.Filter td span.Tool img.Hide, /* filters row */
table.Table tr.Head th span.Tool img.Hide { /* headers row */
   border: 0 solid black;
   margin: 0 0 10px 0;
}

table.Table tr.Head th span.Tool img.Sort { /* headers row */
   border: 0 solid green;
   margin: 10px 0 0 -9px;
}


/* ------------------------- */
/* Popup info-box */
/* ------------------------- */

div#InfoBox {
   position: absolute;
   visibility: hidden;
   z-index: 200;
   min-width: 50px;
   max-width: 400px;
   padding: 5px;
   border: 1px solid #0C41C9;
   background: #f7f5ff;
   text-align: left;
}
div#InfoBox table {
   margin: 0;
}
div#InfoBox table th {
   font-weight: bold;
}

div#InfoBox table.GameThumbnail td {
   padding: 2px;
}

div#JSInfoBox {
   position: absolute;
   display: none;
   z-index: 200;
   min-width: 50px;
   max-width: 400px;
   padding: 5px;
   border: 1px solid #0C41C9;
   background: #f7f5ff;
   text-align: left;
   overflow: auto;
}


/* ------------------------- */
/* embossed tables */
/* ------------------------- */

table.MessageBox,
table.InfoBox,
table.Infos {
   table-layout: auto;
   border-spacing: 2px;
   border-collapse: separate;
   border: 2px outset white;
}

table.MessageBox th,
table.MessageBox td,
table.InfoBox th,
table.InfoBox td,
table.Infos th,
table.Infos td {
   border: 1px inset #f7f5e3; /* var(--main-bg-color) */
}


/* ------------------------- */
/* infos tables */
/* ------------------------- */

/* see also: embossed tables */
table.Infos {
   margin: 0 auto;
   width: auto;
   max-width: none;
   overflow: visible;
   empty-cells: show;
   text-align: left;
}

table.Infos tr {
   vertical-align: top;
}

table.Infos th,
table.Infos td {
   margin: 0;
   padding: 4px;
}

table.Infos th {
   color: #800000;
   text-align: center;
   font-weight: bold;
   font-size: larger;
}

table.Infos td {
   color: black;
   text-align: left;
}

table.Infos col.ColRubric,
table.Infos td.Rubric a,
table.Infos td.Rubric {
   color: black;
   font-weight: bold;
   white-space: nowrap;
}

table.Infos .Warning {
   background: #f8c4b8;
}

table.Infos td.RubricWarning a,
table.Infos td.RubricWarning {
   background: #f8c4b8; /* #ffcccc; */
   color: black;
   font-weight: bold;
   white-space: nowrap;
}

table.Infos .RubricOnVacation a,
table.Infos .RubricOnVacation,
table.Infos .OnVacation a,
table.Infos .OnVacation,
span.OnVacation {
   color: red;
   font-weight: bold;
   white-space: nowrap;
}

table.Infos .Highlight {
   background: #ffd070;
}

table.Infos td.Colors,
table.Infos td.Images,
table.Infos td.KomiBid {
   text-align: center;
}


/* ------------------------- */
/* search and filter highlights */
/* ------------------------- */

span.MarkTerm {
   background: #c0ffb0; /* var(--mark-bg-color) */
}

a span.MarkTerm {
   text-decoration: underline;
}

span.MarkTagTerm {
   background: #fffca0;
   font-size: 0.5em;
   margin: 0 0 0.5em 0;
   vertical-align: super;
}


/* ------------------------- */
/* quick-info boxes */
/* ------------------------- */

/* see also: embossed tables */
/* TODO cleanup with upper def of InfoBox */
table.InfoBox {
   margin: 0 auto;
   width: 100%;
   max-width: none;
   overflow: visible;
   empty-cells: hide;
   text-align: left;
}

table.InfoBox td {
   margin: 0;
   padding: 0 8px 0 4px;
   text-align: left;
   vertical-align: bottom;
}


/* ------------------------- */
/* form and area tables */
/* ------------------------- */

table.FormClass td {
   vertical-align: top;
}

td.FormClassV,
td.FormClassH,
td.FormClassC,
table.FormClass,
table.FormClassV,
table.FormClassH,
table.FormClassC {
   border: 0 solid red;
}

table.FormClass,
table.FormClassV,
table.FormClassH,
table.FormClassC {
   margin: 0 auto 0 auto;
}

table.FormClass td.FormDescription {
   text-align: right;
}
table.FormClass td.FormHeader,
table.FormClass td.FormSubmitbutton {
   text-align: center;
}
table.FormClass td.FormFilterError,
table.FormClass td.FormFilterWarning,
table.FormClass td.FormFilter,
table.FormClass td.FormChapter,
table.FormClass td.FormRadiobuttons,
table.FormClass td.FormCheckbox,
table.FormClass td.FormTextarea,
table.FormClass td.FormSelectbox,
table.FormClass td.FormPassword,
table.FormClass td.FormTextinput,
table.FormClass td.FormText {
   text-align: left;
}

td.FormClassV,
td.FormClassH {
   color: black;
   padding: 0;
   vertical-align: top;
   text-align: center;
}

td.FormClassC {
   color: black;
   padding: 0 20px;
   vertical-align: top;
   text-align: center;
}

td.FormClassC span.Rubric {
   font-weight: bold;
}


/* ------------------------- */
/* Registration / Activation */
/* ------------------------- */

.RegisterMsg {
   color: darkred;
   text-decoration: none;
   font-style: normal;
   font-weight: normal;
}


/* ------------------------- */
/* userinfo */
/* ------------------------- */

table#UserInfo {
   table-layout: auto;
   border: 0 solid red;
   margin: auto;
   width: auto;
}

table#UserInfo td.UserInfo {
   vertical-align: top;
   padding: 0 1em;
}

span.BigSpace {
   padding-left: 50px;
}


/* ------------------------- */
/* messages and folders features */
/* ------------------------- */

span.Suggestion {
   font-size: 80%;
}

span.InviteMsgInfo {
   color: green;
}

span.InvDiffs {
   font-size: smaller;
}
span.IDiffField {
   font-size: smaller;
   font-weight: bold;
}
span.InvDiffs span.Old {
   color: black;
}
span.InvDiffs span.New {
   color: blue;
}

table.MessageInfos {
   table-layout: auto;
   border: 0 solid red;
   border-spacing: 0;
   border-collapse: collapse;
   margin: 0 auto;
   width: auto; /* 100% */
   max-width: none;
   overflow: visible;
   empty-cells: show;
}

table.MessageInfos td {
   color: black;
   text-align: left;
   padding: 2px;
}

table.MessageInfos td.Rubric {
   color: black;
   font-weight: bold;
   vertical-align: top;
}

/* see also: embossed tables */
table.MessageBox {
   margin: 0 auto;
   width: 30em; /* 475px; */
   max-width: none;
   overflow: visible;
   empty-cells: hide;
   text-align: center;
}

table.MessageBox td {
   margin: 0;
   padding: 4px;
   text-align: left;
}

/* Message-thread */
table tr.MessageThread td.MessageThread {
   padding: 7px 6px 5px;
   vertical-align: top;
   text-align: right;
}
table tr.MessageThread div.MessageBox {
   /*width: 30em; /* 475px; */
   white-space: normal;
   text-align: left;
   margin: 5px 0;
   padding: 2px 4px;
   border: 1px solid;
}

table#message_threadTable tr.Title,
table#message_threadTable tr.Empty {
   height: 1.5em;
   background-color: #f7f5e3; /* var(--main-bg-color) */
}
table#message_threadTable tr.Title td {
   font-weight: bold;
   text-align: left;
}

div.MessageFlow {
   margin: 0 auto;
   vertical-align: top;
   text-align: center;
}

table.FoldersTabs {
   table-layout: auto;
   border: 0 solid red;
   border-spacing: 2px;
   border-collapse: separate;
   margin: 0 auto;
   width: auto;
   max-width: none;
   overflow: visible;
   empty-cells: hide;
}

table.FoldersTabs td { /* including title cell */
   border: 4px solid #f7f5e3; /* var(--main-bg-color) */
   padding: 2px 6px;
   text-align: center;
}

table.FoldersTabs td.Tab a font {
   text-decoration: underline;
}

table.FoldersTabs td.Selected {
   border: 4px solid #6666ff;
}

table.FoldersTabs td.Rubric {
   color: black;
   font-weight: bold;
   text-align: right;
   padding: 2px 6px 2px 2px;
}

form#msgSearchForm td.Description {
   margin: 0;
   padding: 4px;
   width: auto;
   text-align: left;
   vertical-align: top;
}

form#msgSearchForm tr {
   vertical-align: top;
}

form#msgSearchForm tr.SelectFolders td {
   padding: 2px 0;
}

form#msgSearchForm tr.SelectFolders td.Description {
   padding: 6px 4px;
}

form#msgSearchForm tr.SelectFolders table.CheckboxArray {
   table-layout: auto;
   border: 0 solid blue;
   border-spacing: 0;
   border-collapse: collapse;
   margin: 0 auto 0 0;
   width: auto;
   max-width: none;
   overflow: visible;
   empty-cells: show;
   text-indent: 0;
}

form#msgSearchForm tr.SelectFolders table.CheckboxArray td {
   padding: 4px;
   text-align: left;
   vertical-align: middle;
}

/* GameSetup-error */
input.GSError {
   background-color: lightgreen;
}

input.MsgQuote {
   margin-left: 2em;
}


/* ************************* */
/* page level and local specifications */
/* ************************* */

/* ------------------------- */
/* game-list pages */
/* ------------------------- */

span.GameTypeFairKomi {
   font-size: smaller;
}


/* ------------------------- */
/* status page */
/* ------------------------- */

body.Status table#pageLayout td#pageBody hr.Section {
   display: block;
}


/* ------------------------- */
/* contacts pages */
/* ------------------------- */

form#contactForm table.Table tr.Row4 td,
form#contactForm table.Table tr.Row3 td,
form#contactForm table.Table tr.Row2 td,
form#contactForm table.Table tr.Row1 td {
   vertical-align: top;
}

form#contactForm table.FormClassV {
   border: 0 solid green;
   margin: 0 auto 0 0;
}
form#contactForm table.FormClassH {
   border: 0 solid blue;
   margin: 0 auto 0 0;
}
form#contactForm table.FormClassC {
   border: 0 solid orange;
   margin: 0 auto 0 0;
}

form#contactForm td.FormClassC {
   border: 0 solid red;
   color: black;
   padding: 0 30px;
   vertical-align: top;
   text-align: left;
}

form#contactForm table.EditOptions td,
form#contactForm table.FilterOptions td {
   text-align: left;
}

form#contactForm table.EditOptions {
   margin-top: 1em;
   margin-bottom: 1em;
}


/* ------------------------- */
/* users pages */
/* ------------------------- */

table tr.ShowPosUser td {
   background: #bbddff;
   font-weight: bold;
}


/* ------------------------- */
/* opponents pages */
/* ------------------------- */

table#gameFilter {
   margin-bottom: 1em;
}

table#gameFilter td.Description {
   text-align: left;
}

table#playersInfos th.Rubric,
table#gameStats th.Rubric {
   text-align: right;
}

table#gameStats tr.Sum,
table#gameStats th.Sum,
table#gameStats td.Sum {
   background: #e0e8ff; /* light blue, complementary to background */
}

table#gameStats tr.Number td.Rubric,
table#gameStats td.Rubric {
   text-align: left;
}

table#gameStats tr.Number td {
   text-align: right;
}



/* ------------------------- */
/* rating changes pages */
/* ------------------------- */

table#RatingChgTableInfos {
   background: #f7f5ff;
   border: 1px solid grey;
   border-bottom: 2px solid grey;
   border-spacing: 0;
   font-size: 90%;
}

table#RatingChgTableInfos th.Caption {
   padding: 0.5em;
   border: 1px solid grey;
   border-bottom: 0 solid grey;
}

table#RatingChgTableInfos td.Rubric {
   text-align: left;
}
table#RatingChgTableInfos td {
   text-align: center;
   border: 1px solid grey;
   border-bottom: 0 solid grey;
   padding: 4px 8px;
}



/* ------------------------- */
/* docs pages */
/* ------------------------- */

dl.DocLink {
   margin: 0 auto;
   border: 0 solid lime;
}

dl.DocLink dd {
   text-align: left;
   margin: 0 auto 1em auto;
}

dl.DocLink span {
   color: gray;
}

dl.DocLink a *,
dl.DocLink a span,
dl.DocLink a {
   color: blue;
}

dl.DocLinkNarrow dd {
   text-align: left;
   margin: 0 auto 0.3em auto;
}

body.Links table#pageLayout td#pageBody div.Section {
   width: 85%;
}

body.Links table#pageLayout td#pageBody .Section h3.Header {
   text-align: left;
}

body.People table#pageLayout td#pageBody div.Section {
   width: 90%;
}

body.People table.People {
   width: 100%;
   border-bottom: 1px solid gray;
   margin: 0 0 1em 0;
}

body.People table.People tr.First {
   border-top: 1px solid gray;
}

body.People table.People td {
   vertical-align: top;
   text-align: left;
}

body.People table.People td.Rubric {
   text-decoration: none;
   font-weight: normal;
   color: black;
   width: 25%;
}

body.People table.People td.People {
   font-weight: bold;
   color: black;
}

body.People table.People td.People a {
   text-decoration: underline;
   color: black;
}

body.People table.People td.PeopleExtra {
   color: green;
}

body.SiteMap table#pageLayout td#pageBody div.Section {
   width: 85%;
   text-align: left;
}

body.SiteMap table.SiteMap {
   border: 0 solid red;
   margin: 0 auto 1em 0;
}

body.SiteMap table.SiteMap td {
   border: 0 solid red;
   text-align: left;
   padding: 0 4px;
   color: black;
}

body.SiteMap table.SiteMap td a {
   text-decoration: underline;
   color: #0C41Ca;
}

body.SiteMap table.SiteMap td.Indent {
   width: 50px; /* img width time 2 */
   text-align: right;
   padding: 0;
}

body.SiteMap table.SiteMap td.Indent img {
   margin: 0;
   width: 25px;
   height: 25px;
}

body.Intro table#pageLayout td#pageBody div.Section,
body.FAQAdmin table#pageLayout td#pageBody div#sectIntroPreview {
   width: 85%;
   text-align: left;
}
body.Intro table#pageLayout td#pageBody div.Section dl dt,
body.FAQAdmin table#pageLayout td#pageBody div#sectIntroPreview dl dt {
   font-size: 115%;
   font-weight: bold;
   margin: 1em 0 0 0;
   padding-bottom: 0.5em;
}

body.News table#pageLayout td#pageBody div.ReleaseTOC * {
   color: darkblue;
   text-decoration: none;
}

body.News table#pageLayout td#pageBody div.ReleaseTOC a:hover {
   color: darkblue;
   text-decoration: underline;
}

body.Policy table#pageLayout td#pageBody div.Section {
   width: 85%;
   text-align: left;
}

body.News table#pageLayout td#pageBody span.ReleaseTitle {
   text-align: left;
   font-size: larger;
   font-weight: bold;
   color: darkred;
}

body.Donation table#pageLayout td#pageBody div.Section table {
   border: 0 solid red;
   width: 60%;
}

body.Goodies table#pageLayout td#pageBody div {
   width: 85%;
   text-align: left;
   background-color: white;
   padding: 0.1em 1.5em;
}
body.Goodies li {
   margin-top: 2em;
   border-top: 1px solid gray;
   padding: 0 1em;
}
body.Goodies pre {
   margin: 0.5em 0;
   background-color: #f0f0f0;
   overflow: visible;
}



/* ------------------------- */
/* translations page */
/* ------------------------- */

span.UpdTransl {
   color: darkred;
}

form#translateForm table.FormClass tr.LinksT td,
form#translateForm table.FormClass tr.LinksB td {
   background: #d0d0d0;
   color: black;
   margin: 0;
   vertical-align: top;
}

form#translateForm table.FormClass td.PageLinksR {
   border: 0 solid lime;
   padding: 4px 8px 4px 8px;
   text-align: right;
   white-space: nowrap;
}

form#translateForm table.FormClass td.PageLinksL {
   border: 0 solid lime;
   padding: 4px 8px 4px 8px;
   text-align: left;
   white-space: nowrap;
}

form#translateForm table.FormClass td.PageLinks a {
   color: black;
}

form#translateForm table.FormClass td {
   text-align: center;
}

form#translateForm table.FormClass td.English {
   width: 30%;
   text-align: left;
   vertical-align: top;
}

form#translateForm table.FormClass td.Language {
   width: 30%;
   text-align: left;
   vertical-align: top;
}

form#translateForm table.FormClass td.Sample {
   text-align: left;
   vertical-align: top;
}

form#translateForm table.FormClass tr.SubmitTransl td {
   border: 0 solid lime;
   padding-left: 10em;
   text-align: left;
}

form#selectlangForm table.FormClass,
form#selectgroupForm table.FormClass {
   border: 0 solid lime;
   margin-left: 10em;
}

form#selectlangForm table.FormClass td.FormHeader h3.Header,
form#selectgroupForm table.FormClass td.FormHeader h3.Header {
   border: 0 solid red;
   text-align: left;
}


/* ------------------------- */
/* Shape Game */
/* ------------------------- */

table.ViewShape tr {
   vertical-align: top;
}

table#shapeTableInfos td {
   font-size: smaller;
}
table#shapeTableInfos td.Diff {
   font-weight: bold;
   color: darkred;
}


/* ------------------------- */
/* Game editor */
/* ------------------------- */

/* DEBUG start */
table#GameEditor td {
   border: 1px solid green;
}
table#GameEditor form td {
   border: 0 solid black;
}
/* DEBUG end */

table#GameEditor {
   border: 0 solid red;
   border-collapse: collapse;
   border-spacing: 0;
   margin: 0 auto;
}
table#GameEditor tr {
   border-width: 0;
   margin: 0;
   padding: 0;
}

table#GameEditor td#EditArea {
   vertical-align: top;
   width: 400px;
}
table#GameEditor table.Goban td {
   border: 0 solid red;
}
table#GameEditor div.GobanGfx {
   display: block;
   margin: 0;
   border: 0 solid darkblue;
}


/*----------------------------------------*/
/*!
 * Adjusted extract from: jQuery UI Tabs 1.11.4 - http://jqueryui.com
 * Copyright jQuery Foundation and other contributors
 * Released under the MIT license.
 * http://jquery.org/license
 * http://api.jqueryui.com/category/theming/
 * http://docs.jquery.com/UI/Tabs#theming
 */
.ui-tabs { position: relative; padding: .2em; }
.ui-tabs .ui-tabs-nav { margin: 0; padding: .2em .2em 0; }
.ui-tabs .ui-tabs-nav li { list-style: none; float: left; position: relative; top: 0; margin: 1px .2em 0 0; border-bottom-width: 0; padding: 0; white-space: nowrap; }
.ui-tabs .ui-tabs-nav .ui-tabs-anchor { float: left; padding: .5em .5em; text-decoration: none; }
.ui-tabs .ui-tabs-nav li.ui-tabs-active { font-weight: bold; background-color: #cccccc; margin-bottom: 0; padding-bottom: 0; }
.ui-tabs .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor,
.ui-tabs .ui-tabs-nav li.ui-state-disabled .ui-tabs-anchor,
.ui-tabs .ui-tabs-nav li.ui-tabs-loading .ui-tabs-anchor { cursor: text; }
.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-active a { cursor: pointer; }
.ui-tabs .ui-tabs-panel { display: block; border-width: 0; padding: .2em; background: none; }

/*!
 * jQuery UI - v1.11.4 - 2015-07-25
 * http://jqueryui.com
 * Includes: core.css, sortable.css, slider.css
 * Copyright 2015 jQuery Foundation and other contributors; Licensed MIT
 */
.ui-helper-hidden{display:none}.ui-helper-hidden-accessible{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.ui-helper-reset{margin:0;padding:0;border:0;outline:0;line-height:1.3;text-decoration:none;font-size:100%;list-style:none}.ui-helper-clearfix:before,.ui-helper-clearfix:after{content:"";display:table;border-collapse:collapse}.ui-helper-clearfix:after{clear:both}.ui-helper-clearfix{min-height:0}.ui-helper-zfix{width:100%;height:100%;top:0;left:0;position:absolute;opacity:0;filter:Alpha(Opacity=0)}
.ui-front{z-index:100}
.ui-state-disabled{cursor:default!important}
.ui-icon{display:block;text-indent:-99999px;overflow:hidden;background-repeat:no-repeat}
.ui-widget-overlay{position:fixed;top:0;left:0;width:100%;height:100%}
.ui-sortable-handle{-ms-touch-action:none;touch-action:none}
.ui-slider{position:relative;text-align:left}.ui-slider .ui-slider-handle{position:absolute;z-index:2;width:1.2em;height:1.2em;cursor:default;-ms-touch-action:none;touch-action:none}.ui-slider .ui-slider-range{position:absolute;z-index:1;font-size:.7em;display:block;border:0;background-position:0 0}.ui-slider.ui-state-disabled .ui-slider-handle,.ui-slider.ui-state-disabled .ui-slider-range{filter:inherit}.ui-slider-horizontal{height:.8em}.ui-slider-horizontal .ui-slider-handle{top:-.3em;margin-left:-.6em}.ui-slider-horizontal .ui-slider-range{top:0;height:100%}.ui-slider-horizontal .ui-slider-range-min{left:0}.ui-slider-horizontal .ui-slider-range-max{right:0}.ui-slider-vertical{width:.8em;height:100px}.ui-slider-vertical .ui-slider-handle{left:-.3em;margin-left:0;margin-bottom:-.6em}.ui-slider-vertical .ui-slider-range{left:0;width:100%}.ui-slider-vertical .ui-slider-range-min{bottom:0}.ui-slider-vertical .ui-slider-range-max{top:0}
/*--------------------*/

table#GameEditor div#tabs {
   margin: 0;
   padding: 0;
}
table#GameEditor div.tab {
   clear: left;
   position: relative;
   top: -1px;
   background-color: #dddddd;
   padding-top: .3em;
}
table#GameEditor div.tab table.FormClass {
   margin: 0 auto 0 1em;
}
table#GameEditor div.tab table.FormClass tr {
   line-height: 140%;
}

table#GameEditor a.Tool {
   text-decoration: none;
   margin: 0 .2em;
   padding: 2px 1px 4px 1px;
   width: 21px;
   height: 21px;
}
table#GameEditor a.Tool img {
   vertical-align: middle;
   padding: 2px;
}
table#GameEditor a.ToolSelected {
   border: 1px solid #683888; /* sync with body background */
}

table#GameEditor a.UndoTool {
   text-decoration: none;
   background-color: #fbd79d;
   border: 1px dotted #683888; /* sync with body background */
   margin: 0 .2em;
   padding: 0 2px;
   font-weight: bold;
   color: black;
}
table#GameEditor span.UndoHist {
   margin: 0 1em 0 .2em;
}

table#GameEditor a.Label {
   text-decoration: none;
   text-align: center;
   padding: 0 2px;
   font-weight: bold;
   color: black;
}
table#GameEditor a.Tool span.LabelTool,
table#GameEditor a.UndoTool span.LabelTool {
   text-decoration: none;
   margin: 0 4px;
}


/* ------------------------- */
/* Goban Editor */
/* ------------------------- */

table#GobanEditor td {
   /*border: 1px solid green;*/
}
table#GobanEditor form td {
   border: 0 solid black;
}

table#GobanEditor {
   border: 0 solid red;
   border-collapse: collapse;
   border-spacing: 0;
   margin: 0 auto;
}

table#GobanEditor td#PreviewArea {
   padding: .7em;
}
table#GobanEditor td#EditArea {
   vertical-align: middle;
   padding: .5em 1em .5em 1em;
}
table#GobanEditor table.Goban td {
   border: 0 solid red;
}
table#GobanEditor div.GobanGfx {
   display: block;
   margin: 0;
   border: 0 dotted black;
}

body.GobanEdit ul.Notes tt {
   font-size: larger;
}
body.GobanEdit ul.SubNotes {
   list-style-type: square;
}


/* ------------------------- */
/* OLD Goban editor */
/* ------------------------- */

body.GobanEdit img.ToolOff {
   vertical-align: middle;
   border-color: #f7f5e3; /* var(--main-bg-color) */
   border-style: solid;
   border-width: 1px;
   padding: 2px;
}

body.GobanEdit img.ToolOn {
   vertical-align: middle;
   border-color: #683888;
   border-style: solid;
   border-width: 1px;
   padding: 2px;
}

/* form debug */
body.GobanEdit td.FormClassC {
   border-color: green;
   border-width: 1px;
}
/* end form debug */


div.GobanGfx {
   display: inline-block;
   margin: 1em;
   border: 1px outset darkblue; /*or: 1px dotted black;*/
   float: left;
}
div.GobanGfx div.Board table.Goban td {
   padding: 0;
}
div.GobanGfx td.BoardLink {
   background-color: #ca6a45;
}
div.GobanGfx div.Title {
   text-align: center;
   font-size: smaller;
   padding: 5px;
}
div.GobanRaw {
   display: inline-block;
   margin: 1em;
   border: 1px dotted black;
}
div.GobanEnd {
   clear: left;
}


/* ----------------------------- */
/* NEW JS game page / board page */
/* ----------------------------- */

table#GamePage div#tabs {
   display: none;
   margin: 0;
   padding: 0;
}
table#GamePage div.tab {
   clear: left;
   position: relative;
   top: -1px;
   background-color: #aaaad0;
}

img#NotesChanged {
   display: none;
}

table#GamePage td#ToolsArea {
   vertical-align: top;
   width: 30em;
}

div.ToolsArea {
   background: #e0e8ed;
   padding: 5px;
   line-height: 150%;
}

div#GameMessage {
   border: 3px solid #aaaad0;
   background: #e0e8ed;
}
div#GameMessageHeader {
   background: #aaaad0;
   padding-left: 0.5em;
   padding-bottom: 2px;
   font-weight: bold;
   font-size: larger;
}
div#GameMessageTools {
   float: right;
   margin: 0 1.5em;
}
div#GameMessageTools img {
   padding: 3px;
}
div#GameMessageBody {
   clear: both;
   display: block;
   padding: 2px;
   width: 29em;
   height: 15em;
   overflow: scroll;
}

div#GameMessageBody > div {
   border-top: 1px solid black;
   padding: 0 0 0.5em 0.5em;
   font-size: smaller;
}
div#GameMessageBody .Black {
   background: #dddddd;
}
div#GameMessageBody .White {
   background: #ffffff;
}
div#GameMessageBody div.Head {
   display: inline-block;
   margin: 0.5em 0;
}
div#GameMessageBody div.Tools {
   float: right;
   margin: 0.5em 1.5em;
}

span#GameViewer {
   padding: 1em 0.5em 0.7em 0.5em;
}
span#GameViewer img {
   margin: 0 0.5em 0 0.5em;
   vertical-align: middle;
}


/* ---------------------- */
/* game page / board page */
/* ---------------------- */

table.GameMessageBox {
   table-layout: auto;
   border: 0 solid black;
   margin: 0.5em 0;
   width: 30em; /* 475px; */
   max-width: none;
   overflow: visible;
   empty-cells: hide;
}

table.GameMessageBox th {
   text-align: left;
   font-weight: normal;
}

table.GameMessageBox td {
   padding: 5px 8px;
   background: #e0e8ed;
   border: 1px dotted black;
}


/*
 Some simple browsers (like Pocket PC IE or PALM ones) poorly
 manage the CSS commands related to cellspacing and cellpadding.
 Most of the time, this results in a 1 or 2 pixels added to the
 cells size and is not so disturbing. But this is really annoying
 for the board cells.
 So we have been forced to keep the:
   <table border=0 cellspacing=0 cellpadding=0>
 in our PHP code for the board table (i.e. table.Goban).
*/
table.Goban {
   border: 0 solid red;
   background-repeat: repeat;
   background-position: top left; /* 0 0 - top left */
   empty-cells: hide;
   border-collapse: collapse;
   border-spacing: 0;
   margin: 0 auto;
}

table.Goban tr {
   border-width: 0;
   margin: 0;
   padding: 0;
}

table.Goban td {
   border-width: 0;
   text-align: left;
   color: black;
   padding: 0;
   line-height: 0;
   white-space: nowrap;
}

table.Goban a {
/*
  Netscape6.2.3 under Win95 seems to oversize the cells when
  they contain a link (within the board of the "play" step)
*/
   border-width: 0;
   margin: 0;
   padding: 0;
   text-decoration: none;
   font-weight: normal;
   line-height: 0;
}

table.Goban a img,
table.Goban img {
/*
  No vertical-align: here, else Avant browser will badly display the table.goban img:
  enlarging the text display will increase the height of the table cells too.
   vertical-align: top !important;
*/
   border-width: 0;
   margin: 0;
   padding: 0;
}

span.SgfMove {
   font-size: 70%;
}

/* infos on action, just below the board */
dl.ExtraInfos {
   margin: 0;
   padding: 0;
   text-align: center;
}

dl.ExtraInfos dd {
   margin: 0;
   padding: 0;
   text-align: center;
}

dl.ExtraInfos dd.Guidance,
dl.ExtraInfos dd.Info {
   color: green;
}

dl.ExtraInfos dd.Score {
   color: blue;
}

dl.ExtraInfos dd.Important {
   color: darkred;
}

table.Captures {
   background: #f7f5ff;
   border-width: 0 0 1px 0;
   border-bottom: 1px solid #0c41c9;
   border-spacing: 0;
   margin: 4px;
}

table.Captures th {
   background: #0c41c9;
   color: #fffc70;
   border: 0 solid gray;
   padding: 4px;
}

table.Captures td.B {
   border: 0;
   vertical-align: top;
   padding: 4px;
   white-space: nowrap;
}

table.Captures td.W {
   border: 0;
   vertical-align: top;
   padding: 4px;
   white-space: nowrap;
}

table.Captures dl {
   padding: 0;
   margin: 0;
}

table.Captures dt {
   padding: 0;
   margin: 0;
}

table.Captures img {
   vertical-align: middle;
}


table.Scoring {
   background: #f7f5ff;
   border: 1px solid #0c41c9;
   border-spacing: 0;
   margin: 4px;
   font-size: 80%;
}

table.Scoring th,
table.Scoring tr.Header td,
table.Scoring td {
   vertical-align: top;
   text-align: center;
   border: 1px solid #0c41c9;
}

table.Scoring tr td.Header {
   text-align: left;
}
table.Scoring tr td.HeaderSum {
   text-align: left;
   font-weight: bold;
}


td.GameNotesRight {
   vertical-align: middle;
   text-align: left;
}

td.GameNotesBelow {
   text-align: center;
}

table.GameNotes {
   border-width: 0;
   margin: 2px;
}

table.GameNotes th {
   background: #7aa07a;
   color: #fffc70;
   padding: 4px;
}

table.GameNotes td {
   padding: 0;
   margin: 0;
}

table.GameNotes td.Notes {
   background: #ddf0dd;
   padding: 0;
   margin: 0;
}

td.UnderBoard {
   text-align: center;
}

table.GameInfos {
   border: 0 solid #e0e8ed;
   border-spacing: 0;
   margin: 0 auto;
   text-align: left;
   empty-cells: show;
}

table.GameInfos th,
table.GameInfos td {
   border: 0 solid #e0e8ed;
   margin: 0;
   padding: 4px;
}

table.GameInfos tr {
   background: #e0e8ed;
}
table.GameInfos tr.blackInfo {
   background: #dddddd;
}
table.GameInfos tr.whiteInfo {
   background: #ffffff;
}
table.GameInfos td.Prisoners,
table.GameInfos td.Ratings {
   padding-left: 1em;
}

table.GameInfos tr.BoardInfos {
/*   background: #ffffff; */
   border-width: 1px 0 0 0;
   border-style: solid;
   border-color: #808080;
}

dl.BoardInfos {
   border: 0 solid green;
   margin: 0;
   padding: 0;
   text-align: left;
}

dl.BoardInfos dd {
   margin: 0 0;
   padding: 0;
   text-align: left;
   color: green;
   font-size: 80%;
}


table.AddtimeForm td {
   text-align: left;
}

table.MessageForm td {
   text-align: left;
}
table.MessageForm td.Rubric {
   text-align: right;
}
table.MessageForm tr.Submit td {
   text-align: left;
   font-size: smaller;
}


table#CondMovesTable tr {
   vertical-align: top;
}
table#CondMovesTable tr.Error td {
   color: darkred;
   font-weight: bold;
   font-size: smaller;
}


table#game_settingsTableInfos {
   border: 0 solid blue;
   border-spacing: 0;
   empty-cells: show;
}
table#game_settingsTableInfos td {
   border: 0 solid blue;
   font-size: smaller;
}
table#game_settingsTableInfos td.Rubric {
   text-align: right;
}


table#fairkomiTable {
   margin-bottom: 0.5em;
}
table#fairkomiTable td.Caption {
   text-align: center;
   padding: 0.5em;
}
table#fairkomiTable td.Caption span.Caption {
   font-weight: bold;
   color: darkred;
}
table#fairkomiTable tr.Header td {
   font-weight: bold;
}
table#fairkomiTable td {
   padding: 4px 0.5em 2px 0.5em;
}

body.Game ul.SubNotes {
   margin: 0.2em auto 0.6em;
   line-height: 1.2em;
   font-size: medium;
}


span.CMSequence {
   font-size: smaller;
}
td.CMSequence {
   border: 1px solid blue;
   padding: 0.3em 0.5em;
   background-color: #f7f5f3;
}


/* ------------------------- */
/* game comments table (class=Table) */
/* ------------------------- */

table#commentTable td.Comment {
   white-space: normal; /* normal, nowrap - pre: allow &#10; */
   vertical-align: top;
   text-align: left;
   color: black;
}

table#commentTable td.Move {
   white-space: nowrap;
   vertical-align: top;
   text-align: right;
   color: black;
}

table#commentTable tr td {
   vertical-align: top;
}

table#commentTable img.InTextStone {
   vertical-align: middle;
}

span.GameTagC {
   color: blue;
}
span.GameTagH {
   color: red;
}
span.GameTagM {
   color: darkred;
}



/* ------------------------- */
/* forums layout */
/* ------------------------- */

table.Forum {
   background: #e0e8ed;
   color: black;
   text-align: left;
   border: 0 solid red;
   border-collapse: collapse;
   margin: 0;
   border-spacing: 0;
   empty-cells: show;
   width: 100%;
}

table.Forum table {
   background: #e0e8ed;
   color: black;
   text-align: left;
   border: 0 solid black;
   border-collapse: collapse;
   margin: 0;
   border-spacing: 0;
   empty-cells: show;
   width: 100%;
}

/* in status page */
table#forumPending {
   margin: 0 auto;
   width: auto;
}

table#forumPending tr.Caption td a {
   color: white;
}

/* forum lists */
table.Forum tr.Row3,
table.Forum tr.Row1 {
   background: #e0e8ed;
   color: black;
}
table.Forum tr.Row4,
table.Forum tr.Row2 {
   background: #ffffff;
   color: black;
}

table.Forum td {
   border: 0 solid red;
   padding: 3px 8px;
   margin: 0;
   text-align: left;
   color: black;
}

h3 span.ForumOpts {
   font-size: 70%;
   font-weight: normal;
   color: #cc0044;
}
span.ForumOpts {
   font-size: 80%;
   color: #ff4466;
}

table.Forum .Moderated {
   color: #ff4466;
}


/* in status page */
table#forumPending {
   margin: 0 auto;
   width: auto;
}

/* forum lists */
table#forumIndex tr.Row2 dl {
   margin: 0;
   padding: 0;
}
table#forumIndex td.Name {
   width: 50%;
}
table#forumIndex td.Name a {
   font-weight: bold;
}
table#forumIndex td.HeaderThreadCnt,
table#forumIndex td.HeaderPostCnt {
   text-align: right;
}
table#forumIndex td.ThreadCnt {
   text-align: right;
}
table#forumIndex td.PostCnt {
   text-align: right;
}
table#forumIndex td.LastPost span.PostDate {
   white-space: nowrap;
   font-weight: bold;
}
table#forumIndex td.LastPost span.PostUser {
   white-space: nowrap;
}
table#forumIndex td.LastPost a.LastPost {
   color: black;
   text-decoration: none;
}
table#forumIndex td.LastPost a:hover.LastPost {
   text-decoration: underline;
}

/* threads list */
table#forumList td.Subject {
   width: 40%;
}
table#forumList td.Name {
   width: 20%;
}
table#forumList td.HitCnt,
table#forumList td.PostCnt {
   text-align: right;
}
table#forumList td.LastPost span.PostDate {
   white-space: nowrap;
}
table#forumList td.LastPost span.PostUser {
   white-space: nowrap;
}
table#forumList td.LastPost a.LastPost {
   color: black;
   text-decoration: none;
}
table#forumList td.LastPost a:hover.LastPost {
   text-decoration: underline;
}

table#forumIndex tr.Caption span.HeaderToggle a,
table#forumList  tr.Caption span.HeaderToggle a,
table#forumRead  tr.Caption span.HeaderToggle a {
   color: white;
   font-size: 80%;
}

/* posts view */
table.Forum td.Indent {
   width: 15px;
   min-width: 15px;
   padding: 0;
   margin: 0;
   border: 0 solid blue;
}

table.Forum td.Indent2 {
   padding: 0;
   margin: 0;
   border: 0 solid red;
}

table.Forum tr.Caption td {
   background: #000080;
   color: white;
   text-align: left;
   padding: 4px 4px 4px 8px;
}

table.Forum tr.LinksT td,
table.Forum tr.LinksB td {
   background: #d0d0d0;
   color: black;
   padding: 2px 8px 2px 8px;
   text-align: center;
}

table.Forum .TreeLinks {
   background: #d0d0d0;
   color: black;
   border: 0 solid lime;
   margin: 0;
   text-align: left;
   float: left;
   top: 0;
}

table.Forum .PageLinks {
   background: #d0d0d0;
   color: black;
   border: 0 solid lime;
   margin: 0;
   text-align: right;
   float: right;
   top: 0;
}

table.Forum .TreeLinks a {
   color: black;
}

table.Forum .PageLinks a {
   color: black;
}

/* thread tree-overview: Subject, Author, Date */
table.Forum tr.TreePostNormal {
   background: #aaaaaa;
}
table.Forum tr.TreePostNormal td {
   padding: 2px;
}
table.ForumTreeOverview tr.Row1 {
   background: #ececec;
}
table.ForumTreeOverview tr.Row2 {
   background: #d8d8d8;
}

table.ForumTreeOverview span.Moderated {
   font-size: 80%;
   color: #ff7777;
}

table.ForumTreeOverview tr.TreePostNormal td {
   padding: 1px;
}

table.ForumTreeOverview tr.TreePostNormal span.PostUser, span.PostDate {
   font-size: small;
}
table.ForumTreeOverview tr.TreePostNormal span.MyPost {
   font-weight: bold;
}
table.ForumTreeOverview tr.TreePostNormal td.MyPost a {
   color: darkblue;
}
table.ForumTreeOverview tr.TreePostNormal a {
   color: black;
   text-decoration: none;
}
table.ForumTreeOverview tr.TreePostNormal a:hover {
   text-decoration: underline;
}

/*
  The headers of the posts have the class="PostHeadSubclass"
  where Subclass is one of: DRAWPOST_... in 'forum/forum_functions.php'
*/
table.Forum tr.PostHeadNormal {
   background: #cccccc;
   color: black;
}
table.Forum tr.PostHeadReply {
   background: #cccccc;
   color: black;
}
table.Forum tr.PostHeadPreview {
   background: #cceecc;
   color: black;
}
table.Forum tr.PostHeadEdit {
   background: #eeeecc;
   color: black;
}
table.Forum tr.PostHeadHidden {
   background: #eecccc;
   color: black;
}
table.Forum tr.PostHeadSearchResult {
   background: #77bb88;
   color: black;
}

table.Forum tr.PostHeadSearchResult .PostSubject,
table.Forum tr.PostHeadEdit .PostSubject,
table.Forum tr.PostHeadPreview .PostSubject,
table.Forum tr.PostHeadReply .PostSubject,
table.Forum tr.PostHeadHidden .PostSubject,
table.Forum tr.PostHeadNormal .PostSubject {
   color: black;
   font-size: larger;
   font-weight: bold;
}

table.Forum tr.PostHeadSearchResult td.PostStatus,
table.Forum tr.PostHeadEdit td.PostStatus,
table.Forum tr.PostHeadPreview td.PostStatus,
table.Forum tr.PostHeadReply td.PostStatus,
table.Forum tr.PostHeadHidden td.PostStatus,
table.Forum tr.PostHeadNormal td.PostStatus {
   color: #990000;
   font-weight: bold;
   text-align: right;
}
table.Forum td.PostStatus span.Hidden {
   background: #eecccc;
}

table.Forum tr.PostBody {
   background: #ffffff;
   color: black;
}

table.Forum tr.PostBodyHide {
   background: #ffe0e0;
   color: darkgrey;
   font-style: italic;
}

table.Forum tr.PostButtons {
   background: #ffffff;
   color: black;
}

table.Forum tr.PostButtons a.Highlight {
   color: #ee6666;
}

table.Forum form.FormClass table.FormClass {
   width: auto;
   margin: 0 auto 0 0;
}

table.Forum span.NewFlag {
   margin: 0 6px;
   font-size: 80%;
   font-weight: bold;
   color: #dd0000;
}

table.Forum span.NewFlag a {
   text-decoration: none;
   font-size: 80%;
   font-weight: bold;
   color: #dd0000;
}

table.Forum span.Parent {
   margin: 0 4px 0 0;
}

table.Forum span.Parent a {
   color: blue;
   font-weight: bold;
   text-decoration: none;
}

table.Forum td.FoundForum {
   padding: 3px 8px 0 8px;
   margin: 0;
   text-align: left;
   font-size: 80%;
   color: white;
}

table.Forum span.FoundScore,
table.Forum span.FoundForum {
   margin: 0 0;
}

table.Forum span.FoundScore span,
table.Forum span.FoundForum a {
   color: black;
}


table.Forum span.ErrorMsg {
   color: darkred;
   font-style: normal;
   font-weight: bold;
}

span.Tag {
   padding: 0 0.5em 0 0.5em;
   margin: 0 0.3em 0 0.3em;
   font-size: 80%;
   border-radius: 5px;
   border: 1px solid;
   border-color: #666666;
}

div#TagList {
   display: none;
   padding: 4px 0 4px 0;
}
div#TagList span.Tag {
   cursor: pointer;
}
span.Tag.Inactive {
   opacity: 0.35;
}

a.LikePost {
   margin: 0 0.3em 0 1em;
}
a.EditTag {
   margin: 0 0.7em 0 0.7em;
}
a.EditTag:focus, a.LikePost:focus {
   outline: none;
}

img.Likes {
   margin: 0 0.5em 0 0.3em;
   padding-bottom: 2px;
   opacity: 0.4;
}
img.Liked {
   opacity: 1;
}

span.Likes {
   padding-right: 0.5em;
}

div.PostTags {
   display: inline-block;
   margin-left: 0.3em;
   padding: 2px;
   width: auto;
   height: 17px;
}

table#tagsTable td {
   height: 24px;
}
body.TagEdit td.ForumTagsBG {
   background-color: #cccccc;
   vertical-align: middle;
   padding-left: 1em;
   height: 24px;
}
body.TagEdit td.SearchTagsBG {
   background-color: #77bb88;
   vertical-align: middle;
   padding-left: 1em;
   height: 24px;
}


form#tableFSFForm td.Description {
   text-align: left;
}

form#tableFSFForm tr.SelectTags table.CheckboxArray {
   margin: 0;
}


/* ------------------------- */
/* Tournaments pages */
/* ------------------------- */

span.AdminTournament {
   font-weight: bold;
   background: red;
}
span.TDWarning {
   color: #c00000;
}

span.EditNote {
   font-size: 80%;
}

span.TWarning {
   font-size: 90%;
   color: darkred;
}
span.TInfo {
   font-size: 90%;
   color: teal;
}

span.TJoinErr,  td.TJoinErr  { background: #ff6347; /*red*/ }
span.TJoinWarn, td.TJoinWarn { background: #ffb500; /*orange*/ }
span.TJoinInv,  td.TJoinInv  { background: #ffe840; /*yellow*/ }

span.TLockWarn,
span.TLMaxChallenges {
   font-weight: bold;
   color: darkred;
   font-style: italic;
}

span.LadderWarn {
   font-size: 85%;
   font-style: italic;
   color: darkred;
}
span.LadderInfo {
   font-size: 85%;
   font-style: italic;
}

span.TGDetached,
span.TGDetached a:link,
span.TGDetached a:visited {
   color: red;
}

span.ScoreWarning {
   color: darkred;
   font-weight: bold;
}

span.TAdmin,
a.TAdmin {
   color: blue;
   font-style: italic;
   background: #e0e8ff; /* var(--tourney-light-bg-color) */
}
span.TAdminList,
a.TAdminList {
   color: blue;
   font-style: italic;
   background: #c8d0f0; /* var(--tourney-dark-bg-color) */
}

span.TUserStatus {
   font-weight: bold;
   text-decoration: none;
   background: #e0e8ff; /* var(--tourney-light-bg-color) */
}

body.Tournament table#pageLayout td#pageBody div.Section {
   width: 70%;
   text-align: left;
}

table span.TNewFlag {
   margin: 0 3px;
   font-size: 80%;
   font-weight: bold;
   color: #dd0000;
}
table span.TInitFlag {
   margin: 0 3px;
   font-size: 80%;
   font-weight: bold;
   color: darkgrey;
}

table tr.TourneyUser td,
span.TourneyOpp {
   background: #bbddff;
}
span.TourneyUser {
   font-weight: bold;
}

table#gamerulesTableInfos {
   border: 0 solid blue;
   border-spacing: 0;
   border-collapse: separate;
   border-style: hidden;
   margin: 10px auto auto 40px;
   empty-cells: show;
}

table#gamerulesTableInfos td {
   border: 0 solid blue;
   margin: 0;
   padding: 2px;
}

table#gamerulesTableInfos td.Rubric {
   font-weight: normal;
}

table#tstatusTableInfos {
   border: 0 solid blue;
   border-spacing: 0;
   border-collapse: separate;
   margin: auto auto 10px auto;
   empty-cells: show;
}

table#tstatusTableInfos td {
   border: 0 solid blue;
   margin: 0;
   padding: 3px;
}

table#tournamentNewsTable tr td {
   vertical-align: top;
}

div.TournamentNews {
   text-align: center;
   width: 80%;
   margin: 0 10% 1em 10%;
   padding: 5px 8px;
   background: #F7ECD0;
   border: 1px dotted black;
}
form#tournamenteditnewsForm td.Preview div.TournamentNews, /*edit-news*/
table tr.TournamentNewsList div.TournamentNews { /*list-news*/
   white-space: normal;
   width: 800px;
   margin: 0 10px 0.7em 10px;
}
div.TournamentNews div.Title {
   text-align: left;
   font-style: italic;
   font-weight: bold;
   float: left;
}
div.TournamentNews div.Published {
   text-align: right;
   font-weight: bold;
   font-size: smaller;
}
div.TournamentNews div.Text {
   text-align: left;
   margin: 0.5em 0 0 0;
   padding-left: 2em;
   clear: left;
}

span.TNewsFlags {
   color: teal;
   font-weight: normal;
}

table#TPCountSummaryTable tr.Sum td {
   font-weight: bold;
   background: #bbddff;
   border: 1px dotted black;
}
table#TPCountSummaryTable th,
table#TPCountSummaryTable td {
   border-left: 1px dotted black;
   border-right: 1px dotted black;
}

ul.TAdminLinks {
   line-height: 1.4em;
}
ul.TAdminLinks li {
   margin: 0.2em auto 0.6em;
}

ul.SubList {
   margin: 0.2em auto 0.4em;
   line-height: 1em;
   font-size: smaller;
}

h4.SubHeader {
   color: #800000;
   text-align: center;
   margin: 1em;
}

ul.Notes {
   line-height: 1.4em;
}
ul.SubNotes {
   margin: 0.2em auto 0.6em;
   line-height: 1.2em;
   font-size: smaller;
}

a.TLadderRank {
   text-decoration: none;
}
a:hover.TLadderRank {
   text-decoration: underline;
}

table#tournament_resultsTable tr.Footer td {
   background: #F7F5E3; /* var(--main-bg-color) */
   font-size: smaller;
}

table#PreviewTPointsTable {
   border: 1px solid black;
}
table#PreviewTPointsTable td {
   background: #e0e8ed;
   border: 1px dotted black;
}
table#PreviewTPointsTable th {
   background: #bbddff;
   border: 1px dotted black;
}
table#PreviewTPointsTable td {
   border-left: 1px dotted black;
   border-right: 1px dotted black;
}

table#TPoolSuggestionsTable th,
table#TPoolSuggestionsTable td {
   border: 1px dotted black;
}
table#TPoolSuggestionsTable tr.UserChoice td {
   font-weight: bold;
   background: #bbddff;
}
table#TPoolSuggestionsTable tr.Best td.Note {
   background: #bbddff;
}
table#TPoolSuggestionsTable tr.Violation td.Note {
   background: #ffc4d8;
}


table#TPoolSummaryTable tr.Violation td.Note {
   background: #ffc4d8;
}
table#TPoolSummaryTable tr.Sum td {
   font-weight: bold;
   background: #bbddff;
   border: 1px dotted black;
}
table#TPoolSummaryTable th,
table#TPoolSummaryTable td {
   border-left: 1px dotted black;
   border-right: 1px dotted black;
}

table#PoolViewerTable tr.Title,
table#PoolViewerTable tr.Empty {
   background: #f7f5e3; /* var(--main-bg-color) */
}
table#PoolViewerTable tr.Empty {
   height: 1.5em;
}
table#PoolViewerTable tr.Title td {
   font-weight: bold;
   font-size: larger;
   text-align: left;
}
table#PoolViewerTable th.Matrix {
   text-align: center;
   border-left: 1px dotted black;
   border-right: 1px dotted black;
   width: 1em;
}
table#TPoolSummaryTable th.wider,
table#PoolViewerTable th.wider {
   padding-left:  0.5em;
   padding-right: 0.5em;
}
table#PoolViewerTable td.Matrix {
   text-align: center;
   border: 1px dotted black;
   color: black;
   text-decoration: none;
}
table#PoolViewerTable td.TourneyUser {
   background: #bbddff;
}
table#PoolViewerTable td.MatrixSelf { background: black; color: black; }
span.MatrixSelf { background: black; color: white; }
span.MatrixWon,  table#PoolViewerTable td.MatrixWon  { background: #bbffbb; } /*green*/
span.MatrixLost, table#PoolViewerTable td.MatrixLost { background: #ff99bb; } /*red*/
span.MatrixDraw, table#PoolViewerTable td.MatrixDraw { background: #aaddee; } /*blue*/
span.MatrixNoResult, table#PoolViewerTable td.MatrixNoResult { background: #c0c0c0; } /*grey*/
span.MatrixAnnulled, table#PoolViewerTable td.MatrixAnnulled { background: #ffcc66; } /*orange*/
span.MatrixForfeit, table#PoolViewerTable td.MatrixForfeit { border: 1px dashed black; }

table#PoolViewerTable span.Calc {
   font-weight: normal;
}

table#tpointsNotesTable ul.SubNotes li,
table#tpoolnotesTable ul.SubNotes li {
   line-height: 150%;
}

table#tpointsNotesTable {
   margin-left: 0;
}

span.TRank {
   font-weight: bold;
}

form#troundeditorForm table td {
   text-align: left;
}
form#troundeditorForm table td.FormDescription {
   text-align: right;
}

table#tournamentlogTable th.MsgFixWidth,
table#tournamentlogTable td.MsgFixWidth {
   width: 500px;
   white-space: normal;
}


/* ------------------------- */
/* Multi-player-game pages */
/* ------------------------- */

table.Table td.ImageGroupColor {
   text-align: left;
   font-size: smaller;
}

table#GamePlayersTable tr.Empty {
   background: #f7f5e3; /* var(--main-bg-color) */
   height: 5px;
}


/* ------------------------- */
/* FAQ pages */
/* ------------------------- */

table.FAQ {
   color: black;
   text-align: left;
   border: 0 solid red;
   border-collapse: collapse;
   max-width: none;
   overflow: visible;
   width: 88%;
   margin: 0 auto;
   border-spacing: 0;
   empty-cells: show;
   text-indent: 0;
}

table.FAQ td {
   border: 0 solid red;
   padding: 2px 8px 2px 8px;
   margin: 0;
   text-align: left;
   color: black;
}

table.FAQ td.FAQsearch table.FormClass { /* FAQ-search form */
   margin: 0;
}

table.FAQ h3.Header {
/*   margin: 0; */
   text-align: left;
}

table.FAQ div.FAQlevel1 {
   margin: 0 0 0 24px;
}

table.FAQ td.FAQindex div.FAQlevel1 hr {
   visibility: hidden;
}

table.FAQ td.FAQindex ul.FAQlevel2 {
   border: 0 solid red;
   margin: 0; /* remove the bullets */
}

table.FAQ td.FAQindex ul.FAQlevel2 strong.Question {
   font-weight: normal;
}
strong.QDetail a:link,
strong.QDetail a:visited {
   text-decoration: none;
   color: black;
}

table.FAQ td.FAQread div.Answer {
   border: 0 solid red;
   padding-top: 1em;
   padding-bottom: 2em;
}

table.FAQ td.FAQsearch div.Answer {
   border: 0 solid red;
   padding-top: 1em;
   padding-bottom: 2em;
}

span.HiddenHelp {
   padding-right: 0.5em;
   font-weight: bold;
   font-size: smaller;
   background: #c0ffb0;
   color: darkgreen;
   text-decoration: none;
}


/* ------------------------- */
/* Admin pages */
/* ------------------------- */

table.ForumAdmin,
table.FAQAdmin {
   border: 0 solid red;
   border-collapse: collapse;
   border-spacing: 0;
   max-width: none;
   margin: 0 auto;
   overflow: visible;
   empty-cells: show;
   text-indent: 0;
}

table.ForumAdmin td,
table.FAQAdmin td {
   border: 0 solid red;
   padding: 2px 4px;
   text-align: left;
   color: black;
}

table.ForumAdmin td.Button,
table.FAQAdmin td.Button {
   width: 16px;
   padding: 0;
   text-align: left;
   color: black;
}

table.ForumAdmin td.Button img,
table.FAQAdmin td.Button img {
   border: 0 solid black;
   width: 12px;
   height: 12px;
   margin: 2px 4px 0 0;
   vertical-align: top;
}

table.ForumAdmin td.Entry,
table.FAQAdmin td.Category,
table.FAQAdmin td.Entry {
   padding: 2px 1em 2px 4px;
}

table.xxxForumAdmin td.Entry,
table.FAQAdmin td.Indent,
table.FAQAdmin td.Category,
table.FAQAdmin td.Entry {
   border-width: 0 0 0 1px;
   border-style: solid;
   border-color: #808080;
}

form#adminuserForm td span.LegendItem {
   font-style: italic;
   font-size: 80%;
}

form#adminuserForm td span.LegendDescr {
   font-size: 80%;
}

table#adminusersTable td span.Flags {
   font-size: 80%;
}
table#adminusersTable tr,
table#contribTable tr,
table#faqlogTable tr,
table#errorlogTable tr,
table#adminlogTable tr,
table#tournamentlogTable tr {
   vertical-align: top;
}


span.DebugText {
   font-size: smaller;
}

body.Scripts table#Scripts th {
   text-align: left;
   padding-right: 1em;
}


table#ratingchangesTable th,
table#ratingchangesTable tr.TCells td {
   border: 1px solid black;
}


table#dgscacheTable tr {
   vertical-align: top;
}

table#ReplaceEmailsPostsTable {
   width: 100%;
}
table#ReplaceEmailsPostsTable tr {
   vertical-align: top;
}


/* ------------------------- */
/* edit profile page */
/* ------------------------- */

table.EditProfilButtons {
   table-layout: fixed;
   width: 535px; /* 524px auto /* 4*button_width+7*other_cells_width) */
   border: 0 solid red;
   border-spacing: 0;
   border-collapse: collapse;
   margin: 0 0;
   overflow: visible;
   empty-cells: hide;
   text-align: center;
}

table.EditProfilButtons td { /* radio button */
   color: black;
   width: 20px;
   border: 0 solid red;
   padding: 0;
   white-space: nowrap;
   text-align: center;
   vertical-align: middle;
}

table.EditProfilButtons td.button {
   background-repeat: no-repeat;
   background-position: center;
   width: 96px;
   height: 25px;
   font-weight: bold;
   font-size: 100%;
   text-decoration: none;
   text-align: center;
   vertical-align: middle;
}


/* ------------------------- */
/* biographical infos */
/* ------------------------- */

form#bioformForm td {
   vertical-align: top;
}

table#biomoveTableInfos td {
   vertical-align: top;
}

table#biomoveTableInfos div {
   margin: 0;
}

table#biomoveTableInfos img {
   width: 12px;
   height: 12px;
   border: 0 solid black;
   margin: 4px 4px 0 4px;
   vertical-align: top;
}


/* ------------------------- */
/* Bulletins */
/* ------------------------- */

table#bulletinsTable tr td span.SkipCategory {
   color: darkred;
   font-style: italic;
}

span.BulletinNewStatus {
   color: darkred;
   font-weight: bold;
}

span.BulletinAdminNote {
   color: darkred;
   font-weight: bold;
   font-style: italic;
}

div.Bulletin {
   text-align: center;
   width: 80%;
   margin: 0 10% 1em 10%;
   padding: 5px 8px;
   background: #E6E9F7;
   border: 1px dotted black;
}
form#bulletinEditForm td.Preview div.Bulletin, /*edit*/
table tr.BulletinList div.Bulletin { /*lists*/
   white-space: normal;
   width: 800px;
   margin: 0 10px 0.7em 10px;
}
div.Bulletin div.Category {
   text-align: left;
   font-size: smaller;
   padding-bottom: 5px;
   float: left;
}
div.Bulletin div.Category span.Category {
   font-weight: bold;
   text-decoration: underline;
   color: darkred;
   margin-right: auto;
}
div.Bulletin div.Category span.Reference {
   text-align: right;
   margin-left: 3em;
}
span.BulletinRating {
   font-weight: normal;
   color: darkred;
}
div.Bulletin div.PublishTime {
   text-align: right;
   font-weight: bold;
   font-size: smaller;
}
div.Bulletin div.Title {
   text-align: left;
   font-style: italic;
   font-weight: bold;
   clear: left;
}
div.Bulletin div.Text {
   text-align: left;
   margin-top: 0.5em;
   padding-left: 2em;
   clear: left;
}
div.Bulletin div.MarkRead {
   text-align: left;
   font-weight: bold;
   margin-top: 1em;
}
div.Bulletin div.MarkRead a {
   color: darkblue;
}
div.Bulletin div.MarkRead a:hover {
   color: blue;
}


/* ------------------------- */
/* Voting (features & surveys) */
/* ------------------------- */

span.Negative {
   color: #bb0000; /*red*/
}
span.Positive {
   color: #0000c0; /*blue*/
}

span.VotingRestricted {
   color: darkred;
   font-weight: bold;
}

td.MissVote {
   background: #bbddff;
}

td.Preview div.Survey {
   width: 100%;
   max-width: 800px;
   margin: 0;
}
div.Survey {
   text-align: center;
   width: 80%;
   margin: 0 10% 1em 10%;
   padding: 5px 8px;
   background: #D0D8F7;
   border: 1px dotted black;
}
div.Survey div.Title {
   text-align: left;
   font-style: italic;
   font-weight: bold;
   float: left;
}
div.Survey div.Extra {
   text-align: right;
   font-weight: bold;
   font-size: smaller;
}
div.Survey div.Extra span.Status {
   color: darkblue;
}
div.Survey div.Extra span.Result {
   font-weight: bold;
   color: darkred;
}

div.Survey div.OptionHeader {
   clear: left;
   text-align: left;
   margin: 1.5em auto 0 1.5em;
   font-style: italic;
}
div.Survey div.Options {
   clear: left;
}
div.Survey div.Options table {
   margin: 1em auto 1em 1.5em;
}
div.Survey div.Options table tr {
   vertical-align: baseline;
}
div.Survey div.Options table td {
   padding: 3px 3px 0.8em 0.5em;
   text-align: right;
}
div.Survey div.Options td.Result {
   white-space: nowrap;
   font-size: smaller;
   font-weight: bold;
   color: darkred;
}
div.Survey div.Options td.UserVote {
   white-space: nowrap;
   font-size: smaller;
   color: blue;
}
div.Survey div.Options td.Data {
   text-align: left;
}
div.Survey div.Options span.Title {
   font-weight: bold;
}
div.Survey div.Options div.Text {
   display: block;
   padding-top: 3px;
}

div.Survey div.Actions {
   text-align: left;
   padding: 5px 0 10px 1em;
   font-size: larger;
}
div.Survey div.Actions span.Notes {
   margin-left: 1.5em;
   font-size: 80%;
   font-style: italic;
}
div.Survey div.Actions span.Notes span.UserVote {
   color: blue;
}
div.Survey div.Actions span.Notes span.Result {
   color: darkred;
}
/*for debugging:
div.Survey * { border: 1px solid blue; }
div.Survey div { border: 1px solid red; }
div.Survey td { border: 1px solid green; }*/


/* ------------------------- */
/* message allowed tags */
/* ------------------------- */

pre.orig {
   display: inline-block;
   width: auto;
}
pre.code {
   display: inline-block;
   width: auto;
   background: #dddddd;
}

div.quote {
   border: 1px solid #8cacbb;
   margin: 0.3em 2px 0.3em 0.5em;
   padding: 0.3em 0 0.3em 0.5em;
   width: auto;
   font-style: italic;
}


/* ------------------------- */
/* Statistics pages */
/* ------------------------- */

table#Statistics {
   border-style: hidden;
}
table#Statistics th,
table#Statistics td {
   border: 1px solid black;
}



/* ************************* */
/* debug overwriting tools */
/* ************************* */

/* begin form debug * /
table.FormClassC table,
table.FormClassC td,
table.FormClass {
 border-color: red;}
td.FormClassV,
table.FormClassV {
 border-color: blue;}
td.FormClassH,
table.FormClassH {
 border-color: orange;}
td.FormClassC,
table.FormClassC {
 border-color: green;}
table.FormClassC table,
table.FormClass,
table.FormClassV,
table.FormClassH,
table.FormClassC {border-style: dashed; border-width: 1px;
 border-spacing: 4px; border-collapse: separate;}
table.FormClassC td,
td.FormClassV,
td.FormClassH,
td.FormClassC {border-style: solid; border-width: 1px;
 padding: 8px; margin: 0; vertical-align: top;}
/* end form debug */


/* forum debug begin * /
table.FAQ td {
   border: 2px dotted red;
}
/* forum debug end */



/* ************************* */
/* alternate server particularity */
/* ************************* */

/* DGS devel server */
body#dDGS table#pageFoot,
body#dDGS table#pageHead {
   background: #C9410C;
}
body#dDGS table#pageMenu {
   border-color: #C9410C;
}

/* JUG local devel servers:
 * ldDGS = local devel on master
 * lsDGS = local stable branch
 * ltDGS = local devel for db-tests
 */
body#lsDGS table#pageFoot,
body#lsDGS table#pageHead,
body#ldDGS table#pageFoot,
body#ldDGS table#pageHead {
   background: #683888;
}
body#lsDGS table#pageMenu,
body#ldDGS table#pageMenu {
   border-color: #683888;
}

/* JUG remote devel servers:
 * rdDGS = remote devel on master
 * rsDGS = remote stable branch
 * ltDGS = local devel for db-tests
 */
body#rsDGS table#pageFoot,
body#rsDGS table#pageHead,
body#rdDGS table#pageFoot,
body#rdDGS table#pageHead {
   background: #5838C8;
}
body#rsDGS table#pageMenu,
body#rdDGS table#pageMenu {
   border-color: #5838C8;
}

/* JUG local test servers:
 * ldDGS = local devel on master
 * lsDGS = local stable branch
 * ltDGS = local devel for db-tests
 */
body#ltDGS table#pageFoot,
body#ltDGS table#pageHead,
body#ltDGS table#pageFoot,
body#ltDGS table#pageHead {
   background: #686888;
}
body#ltDGS table#pageMenu,
body#ltDGS table#pageMenu {
   border-color: #683888;
}

/* ------------------------- */

