h1 {
    font-family: Arial;
    text-align: center;
    color: #008855;
}

h2 {
    font-family: Arial;
    color: #008855;
}

h3 {
    font-family: Arial;
    color: #008855;
}

h3.noconn {
    font-family: Arial;
    color: #008855;
}

h3.active {
    font-family: Arial;
    color: #ffffff;
    background-color: #008855;
}

table.competitors td {
    padding: 5px;
}

td.active {
    text-align: middle;
    color: #ffffff;
    background-color: #008855;
}

td.noconn {
    text-align: middle;
    color: #008855;
}

a.dflt {
    background-color: #e6f3ee;
    font-family: Arial;
    font-size: 1em;
    font-weight: normal;
    text-decoration: none;
    color: black;
}

table.categorylinks {
    font-family: Arial;
    background-color: #cfe8dd;
    width: 200px;
    border-collapse: collapse;
    border-width: 0;
}

td.categorylinksonly,
td.categorylinksleft,
td.categorylinksright {
    background-color: #e6f3ee;
    font-family: Arial;
    font-size: 1em;
    font-weight: normal;
    text-decoration: none;
    width: 200px;
    color: black;
}

table.resultslink,
table.competitorslink,
table.categorieshdr,
table.nextmatcheslink,
table.statisticslink,
table.medalslink,
table.extralink {
    font-family: Arial;
    background-color: #cfe8dd;
    width: 200px;
    margin-top: 4px;
}

td.resultslink,
td.competitorslink,
td.categorieshdr,
td.nextmatcheslink,
td.statisticslink,
td.medalslink,
td.extralink {
    font-family: Arial;
    font-size: 1em;
    font-weight: normal;
    text-decoration: none;
    width: 200px;
    color: black;
}

table.competitors {
    font-family: Arial;
    background: #ffffff;
    border-collapse: collapse;
}

table.competitors td {
    font-family: Arial;
    font-size: 1em;
    font-weight: normal;
    text-decoration: none;
    color: black;
}

table.resultlist td {
    font-family: Arial;
    font-size: 1em;
    font-weight: normal;
    text-decoration: none;
    color: black;
}

table.resultlist td a {
    font-family: Arial;
    font-size: 1em;
    font-weight: bold;
    text-decoration: underline;
    color: black;
}

table.medals {
    border-width: 4;
}

table.medals td {
    font-family: Arial;
    font-size: 1em;
    font-weight: normal;
    text-decoration: none;
    color: black;
    border-spacing: 8px 0px;
}

table.medals td.medalhdr {
    text-align: center;
}

table.medals td.medalcnt {
    font-family: Arial;
    font-size: 1em;
    font-weight: normal;
    text-decoration: none;
    color: black;
    border-spacing: 8px 0px;
    text-align: center;
    width: 20px;
}

table.medals th {
    font-family: Arial;
    font-size: 1em;
    font-weight: bold;
    text-decoration: none;
    color: black;
    text-align: left;
}

table.medals th.medalcnt {
    font-family: Arial;
    font-size: 1em;
    font-weight: bold;
    text-decoration: none;
    color: black;
    text-align: center;
    width: 20px;
}

table.compstat {
    /*border: solid black;*/
    background-color: #e6f3ee;
    border-collapse: separate;
    border-spacing: 8px 0px;
}

td.cshdr {
    border-bottom: 1px solid black;
}

td.bscore {
    font-family: Courier;
    background: blue;
    color: white;
    text-align: center;
}

td.wscore {
    font-family: Courier;
    background: white;
    text-align: center;
}

table.statistics {
    border-spacing: 8px 0px;
}

table.statistics td {
    font-family: Arial;
    font-size: 1em;
    font-weight: normal;
    text-decoration: none;
    color: black;
    text-align: right;
}

table.statistics td.stat1 {
    font-family: Arial;
    font-size: 1em;
    font-weight: bold;
    text-decoration: none;
    color: black;
    text-align: left;
}

table.statistics td.stat2 {
    text-align: center;
}

table.statistics th {
    font-family: Arial;
    font-size: 1em;
    font-weight: bold;
    text-decoration: none;
    color: black;
    text-align: right;
}

table.statistics th.stat1 {
    font-family: Arial;
    font-size: 1em;
    font-weight: bold;
    text-decoration: none;
    color: black;
    text-align: left;
}

table.competitor {
    border-collapse: collapse;
}

table.competitor td {
    font-family: Arial;
    font-size: 1em;
    font-weight: normal;
    text-decoration: none;
    color: black;
    border-spacing: 0px 0px;
    border-top: 1px solid grey;
    border-bottom: 1px solid grey;
}

tr.judogiok {
    color: #070;
}

tr.judoginok {
    color: #900;
}

table.tablesorter {
    font-size: 0.8em;
    background-color: #FFF;
    border: 1px solid #000;
    border-collapse: collapse;
}

table.tablesorter th {
    text-align: left;
    padding: 5px;
    background-color: #008855;
    border: 1px solid #000;
    cursor: pointer;
}

table.tablesorter td {
    color: #000;
    padding: 5px;
    border: 1px solid #000;
    cursor: pointer;
}

table.tablesorter .header {
    background-image: url(bg.png);
    background-repeat: no-repeat;
    padding-left: 30px;
    padding-top: 8px;
    height: auto;
}

table.tablesorter .headerSortUp {
    background-image: url(asc.png);
    background-repeat: no-repeat;
}

table.tablesorter .headerSortDown {
    background-image: url(desc.png);
    background-repeat: no-repeat;
}

img.catimg {
    /*cursor: n-resize;*/
    cursor: pointer;
}

img.button {
    cursor: pointer;
}

div.catdiv {
    /*cursor: n-resize;*/
    cursor: pointer;
}

/* tooltip */
.hotspot {
    color: #900;
    padding-bottom: 1px;
    border-bottom: 1px dotted #900;
    cursor: pointer
}

#tt {
    position: absolute;
    display: block;
    background: url(tt_left.png) top left no-repeat
}

#tttop {
    display: block;
    height: 5px;
    margin-left: 5px;
    background: url(tt_top.png) top right no-repeat;
    overflow: hidden
}

#ttcont {
    display: block;
    padding: 2px 12px 3px 7px;
    margin-left: 5px;
    background: #666;
    color: #FFF
}

#ttbot {
    display: block;
    height: 5px;
    margin-left: 5px;
    background: url(tt_bottom.png) top right no-repeat;
    overflow: hidden
}

@media print {

    .nextmatcheslink,
    .medalslink,
    .statisticslink,
    .tournamentheader,
    .categorylinks,
    .categorieshdr,
    .competitorslink,
    .resultslink {
        display: none;
    }

    .catimg {
        width: 100%;
        height: 100%;
    }

    .catdiv {
        width: 6in;
        height: 8.5in;
    }

    .cattr2 {
        page-break-before: always;
    }
}

/* Override css from other files */
a {
    color: #008855;
}

table.treetable a {
    color: #008855;
}

a:hover,
a:focus {
    color: #006b43;
    text-decoration: underline;
}

td.categorylinksonly a {
    color: #000;    
}

td.categorylinksonly a:hover,
td.categorylinksonly a:focus {
    color: #ffffff;
    background-color: gray;
    text-decoration: underline;
}

table.treetable tbody td:first-child {
    font-weight: bold;
}
/* end override */

table.nmcell {
    font-family: Arial;
    font-size: 1em;
    font-weight: normal;
    text-decoration: none;
    color: black;
    border-spacing: 0px 0px;
    border-collapse: separate;
    table-layout: fixed;
    width: 100%;
    border: none;
}

table.nmcell td {
    font-family: Arial;
    font-size: 1em;
    font-weight: normal;
    text-decoration: none;
    color: black;
    width: 50%;
    border: none;
    border-radius: 0px;
}

table.nmcell#greencell td {
    font-family: Arial;
    font-size: 1em;
    font-weight: normal;
    text-decoration: none;
    color: black;
    background-color: green;
    width: 50%;
    border-radius: 0px;
    border: none;
}

table.nmcell#yellowcell td {
    font-family: Arial;
    font-size: 1em;
    font-weight: normal;
    text-decoration: none;
    color: black;
    background-color: yellow;
    width: 50%;
    border-radius: 0px;
    border: none;
}

table.nmcell td.white {
    background: #FFF;
    color: black;
    border-radius: 0px;
    border: none;
}

table.nmcell td.blue {
    background: #00F;
    color: white;
    border-radius: 0px;
    border: none;
}

table.nextm {
    border-spacing: 5px;
    table-layout: fixed;
    width: 100%;
}

table.nextm td {
    border-radius: 6px;
    border: 2px solid black;
}


/* ===== Design DJK Aschaffenburg: Grundfarbe #008855 ===== */
body { font-family: Arial, sans-serif; color: #222; background: #fff; margin: 0; }
td.tournamentheader { background: none; padding: 10px 16px; }
td.tournamentheader h1 { color: #008855; font-weight: bold; margin: 0; }

/* Menü links */
table.resultslink, table.competitorslink, table.categorieshdr, table.nextmatcheslink,
table.statisticslink, table.medalslink, table.extralink { background-color: #008855; margin-top: 3px; border-collapse: collapse; }
td.resultslink, td.competitorslink, td.categorieshdr, td.nextmatcheslink,
td.statisticslink, td.medalslink, td.extralink { color: #fff; padding: 6px 8px; }
td.resultslink a, td.competitorslink a, td.nextmatcheslink a,
td.statisticslink a, td.medalslink a, td.extralink a { color: #fff; text-decoration: none; display: block; }
td.resultslink:hover, td.competitorslink:hover, td.nextmatcheslink:hover,
td.statisticslink:hover, td.medalslink:hover, td.extralink:hover { background-color: #006b43; }
td.categorieshdr { font-weight: bold; background-color: #006b43; }
table.categorylinks { background-color: #e6f3ee; }
td.categorylinksonly, td.categorylinksleft, td.categorylinksright { background-color: #e6f3ee; padding: 3px 8px; }
td.categorylinksonly a, td.categorylinksleft a, td.categorylinksright a { color: #008855; text-decoration: none; }
td.categorylinksonly a:hover, td.categorylinksonly a:focus { color: #fff; background-color: #008855; text-decoration: none; }

/* Menüpunkt "Mobile" ausblenden */
table.resultslink:has(a[href="index1.html"]) { display: none; }

/* Überschriften, Links, Tabellen */
h1, h2, h3, h3.noconn, td.noconn { color: #008855; }
a, table.treetable a, table.resultlist td a { color: #008855; }
a:hover, a:focus { color: #006b43; }
table.tablesorter th { background-color: #008855; color: #fff; }
table.medals th, table.medals th.medalcnt { background: none; color: #008855; text-decoration: underline; font-weight: bold; }
table.statistics th, table.statistics th.stat1 { background: none; color: #008855; text-decoration: underline; font-weight: bold; }
table.compstat { background-color: #e6f3ee; }
.hotspot { color: #008855; border-bottom-color: #008855; }

/* Mehrere Zusatz-Links (Live, Vereinsseite …) optisch trennen */
table.extralink tr + tr td.extralink { border-top: 3px solid #fff; }

/* Alle Spaltenüberschriften einheitlich: grün, fett, unterstrichen */
th { color: #008855; font-weight: bold; text-decoration: underline; }
th a, th a:hover { color: #008855; }

/* ===== Einheitliches Seitenlayout (alle Seiten gleich ausgerichtet) ===== */
body.titleframe { padding: 12px 16px; }
body.titleframe > table { width: 100%; border-collapse: collapse; }
body.titleframe > table > tbody > tr > td { vertical-align: top !important; }
/* Turniertitel immer links oben */
td.tournamentheader { text-align: left !important; padding: 0 0 14px 0 !important; }
td.tournamentheader h1 { text-align: left; margin: 0; }
/* Menüspalte feste Breite, Inhalt immer mit gleichem Abstand daneben */
body.titleframe > table > tbody > tr > td:first-child:not(.tournamentheader) { width: 200px; padding-right: 32px; }
/* Seitenüberschrift (Ergebnisse, Kämpfer, Medaillen …) immer links, gleiche Höhe */
body.titleframe td:has(> h2) { text-align: left !important; padding-left: 0; }
body.titleframe h2 { text-align: left; margin: 0 0 12px 0; }
/* Inhaltsspalte: immer linksbündig, gleiche Zellabstände in allen Tabellen */
body.titleframe > table > tbody > tr > td:last-child:not(.tournamentheader) { text-align: left !important; }
body.titleframe > table > tbody > tr > td:last-child > table { margin: 0 !important; border-collapse: collapse !important; border-spacing: 0 !important; }
body.titleframe > table > tbody > tr > td:last-child > table > tbody > tr > td,
body.titleframe > table > tbody > tr > td:last-child > table > tbody > tr > th { padding: 3px 14px 3px 0 !important; }
body.titleframe td:has(> h2) { padding: 0 !important; }
body.titleframe th { text-align: left; }

/* ===== Trainer-Anzeige (coach.html) ===== */
#coachhdr { text-align: left !important; color: #008855; font-weight: bold; font-size: 1.5em; margin: 8px 0 12px 0; }
#backlink { display: inline-block; margin: 4px 0 6px 0; padding: 6px 12px; background: #008855; color: #fff !important; text-decoration: none; font-family: Arial, sans-serif; }
#backlink:hover { background: #006b43; }
#competitor { font-size: 1.1em; padding: 4px 6px; border: 2px solid #008855; }
/* Trainer-Tabelle wie die übrigen Tabellen: ohne Rahmen/Hintergrund, Kopf grün unterstrichen */
table.tablesorter { border: none !important; border-collapse: collapse !important; font-size: 1em !important; background: none !important; margin-top: 8px; }
table.tablesorter th, table.tablesorter thead tr th, table.tablesorter .header,
table.tablesorter .headerSortUp, table.tablesorter .headerSortDown {
  background: none !important; color: #008855 !important; text-decoration: underline !important;
  font-weight: bold; border: none !important; padding: 3px 14px 3px 0 !important; text-align: left; }
table.tablesorter .headerSortUp::after { content: " \25B2"; font-size: .7em; }
table.tablesorter .headerSortDown::after { content: " \25BC"; font-size: .7em; }
table.tablesorter td { border: none !important; padding: 3px 14px 3px 0 !important; color: #222 !important; }
table.tablesorter th a { color: #008855 !important; }

/* Statistik: Zeilenbeschriftung nicht fett */
table.statistics td.stat1 { font-weight: normal !important; }

/* Trainer-Anzeige: Vereinsliste */
#coachlist { margin: 12px 0; max-width: 420px; }
#coachlist .clhdr { color: #008855; font-weight: bold; margin-bottom: 6px; }
#coachlist a.clitem { display: block; background: #008855; color: #fff !important; text-decoration: none; padding: 8px 10px; margin-bottom: 3px; font-family: Arial, sans-serif; }
#coachlist a.clitem:hover { background: #006b43; }
#coachlist a.clitem span { opacity: .75; font-size: .85em; }
