* {
    margin: 0;
    padding: 0;
}

@font-face {
    font-family: 'DIn pIqaD';
    src: url('../font/DIn_pIqaD.woff');
    unicode-range: U+F8D0-F8E9,U+F8F0-F8F9,U+F8FD-F8FF;
}

body, input, select {
    font-family: 'Open Sans', 'DIn pIqaD', sans-serif;
    font-size: 14px;
    background: #FFF;
}

p, ul, ol, th, td {
    line-height: 22px;
}
pre {
    line-height: 20px;
}

h2, h3, p, ul, ol, table, pre {
    margin: 12px 0;
}
h1 {
    margin: 8px;
    font-size: 28px;
}
h2 {
    margin-top: 18px;
    font-size: 20px;
}
h3 {
    margin-top: 18px;
    font-size: 16px;
}

ul, ol {
    margin-left: 32px;
}
p + ul {
    margin-top: -12px;
}
li > ul {
    margin-top: 0;
    margin-bottom: 0;
}

hr {
    margin: 0 auto;
    height: 1px;
    border: none;
    background-color: #000;
    width: 50%;
}

table {
    border-spacing: 0;
    border-collapse: collapse;
}
th, td {
    padding: 2px 8px;
}
th {
    background: #EEE;
}
td {
    border-top: 1px solid #DDD;
}
tr:hover {
    background: #F9F9F9;
}
tr:target {
    background: #EEF;
}
td.highlight {
    background: #EEF;
    font-weight: bold;
}

a {
    text-decoration: none;
    color: #369;
}
a:hover {
    text-decoration: underline;
}

input, select {
    padding: 2px 5px;
    border: 1px solid #CCC;
    border-radius: 3px;
}
input[type=submit], input[type=button] {
    padding: 2px 10px;
    background: #EEE;
}
option {
    padding: 2px 5px;
}
textarea {
    width: 100%;
    max-width: 600px;
    border: 1px solid #CCC;
}

#header {
    padding: 4px 8px;
    background: #369;
    color: #FFF;
}
#header a {
    color: #FFF;
}

#menu {
    padding: 0 32px 12px 32px;
    background: #369;
    color: #FFF;
}
#menu a {
    font-weight: bold;
    color: #FFF;
}

#content {
    margin: 16px;
}

#footer {
    clear: both;
    background: #369;
    color: #FFF;
}
#footer p {
    margin-bottom: 0;
    padding: 4px;
}
#footer a {
    font-weight: bold;
    color: #FFF;
}
#footer img {
    vertical-align: middle;
}

.language {
    vertical-align: middle;
    font-family: monospace;
}

.occupation {
    color: red;
}

.stats tr {
    border-top: 1px solid #CCC;
}
.stats th {
    width: 100px;
    background: #F9F9F9;
}
.stats td {
    text-align: right;
}
.stats th.label {
    width: 250px;
}
.stats th.ratio {
    width: 200px;
}
.stats td.ratio {
    text-align: left;
}
.stats td.label {
    text-align: left;
}

.blob {
    float: left;
    max-width: 750px;
    margin-top: -12px;
    padding-right: 32px;
}
.p th.data {
    width: 80px;
}
.p td.data {
    text-align: right;
}
.p td.label {
    font-weight: bold;
}
.p img.logo {
    height: 18px;
    vertical-align: text-bottom;
}
.p img.percent {
    display: block;
    height: 2px;
    float: right;
}

#lexemes th, #lexemes td {
    max-width: 200px;
    overflow-wrap: break-word;
}
#lexemes img.logo {
    width: 20px;
    height: 20px;
}
#lexemes th img, #lexemes td img, img.medal {
    vertical-align: text-bottom;
}
#lexemes .score {
    font-weight: normal;
}
#lexemes td {
    text-align: center;
}
#lexemes td.left {
    text-align: left;
}

.lexemes_stats th, .lexemes_stats td {
    width: 120px;
    text-align: center;
}
.lexemes_stats th.lang {
	width: 200px;
}
.lexemes_stats td.lang {
    text-align: left;
}
.lexemes_stats th.position, .lexemes_stats td.position {
    width: unset;
    text-align: right;
}

th.anchorlink, td.anchorlink {
	margin: 0;
	padding: 0;
	width: 20px;
}
@media (hover: hover) {
	td.anchorlink a {
		display: none;
	}
}
tr:hover td.anchorlink a {
	display: block;
}

#lexemes_challenge_archive th, #lexemes_challenge_archive td {
    text-align: center;
}
#lexemes_challenge_archive th.stat {
    width: 120px;
}
#lexemes_challenge_archive td.challenge {
    text-align: left;
}

.party_diff {
    float: left;
    width: 330px;
}
.party_diff p {
    margin-top: 0;
}
.party_diff_clear {
    clear: both;
}

.pos {
    color: green;
}
.neg {
    color: red;
}

.lp_item {
    position: relative;
    cursor: pointer;
}
.lp_item .hovercard {
    visibility: hidden;
}
.lp_item .hovercard:hover {
    visibility: visible;
}
.lp_item:hover .hovercard, .lp_item .name:hover .hovercard {
    visibility: visible;
}
.hovercard {
    display: block;
    position: absolute;
    left: 30px;
    top: 30px;
    z-index: 500;
}
.hovercard .hovercard-container {
    position: relative;
    z-index: 450;
}
.hovercard .hovercard-container:before {
    display: block;
    position: absolute;
    content: " ";
    background: white;
}
.hovercard .hovercard-box {
    position: relative;
    z-index: 470;
    border: 1px solid #CCC;
    background: white;
}
.hovercard .hovercard-box .hovercard-body {
    display: block;
    width: 200px;
    z-index: 500;
    background: white;
}
.hovercard-box {
    padding: 4px 8px;
    text-align: left;
}

.sutton svg {
    max-height: 36px;
}