.score { vertical-align: top; white-space: nowrap; p { display: inline-block; vertical-align: top; text-align: right; margin: 0 0 0 1.25em; } .score-count { display: block; line-height: 0.78em; font-weight: 100; .numerator { font-size: 0.75em; } .divided-by { letter-spacing: -0.100em; font-size: 0.6em; line-height: 0; // so it doesn't mess with the score's height position: relative; top: 0.14666666666667em; } .denominator { font-size: 0.33em; line-height: 0; // so it doesn't mess with the score's height position: relative; top: 0.26666666666667em; } .sign { font-size: 0.5em; vertical-align: top; } .unit { font-size: 0.5em; line-height: 0; // so it doesn't mess with the score's height } .period { font-family: serif; font-size: 0.33em; line-height: 0; // so it doesn't mess with the score's height } &.percent::after { content: '%'; font-size: 0.75em; line-height: 0; // so it doesn't mess with the score's height } } .nan .score-count.percent::after { content: '' !important; } .score-label { display: block; font-size: 0.88em; line-height: 1em; } &.score-small { padding: .75em .5em .25em; .score-count { font-size: 1.3em; line-height: 1.2em; font-weight: 200; } } &.score-medium { margin: 4px 0 4px 1em; p { min-width: 3.25em; } .score-count { font-size: 2.5em; } .score-label { font-weight: 200; padding-right: 1px; } } &.score-large { margin: 4px 0 4px 1em; p { min-width: 5em; } .score-count { font-size: 3.25em; } .score-label { font-weight: 500; padding-right: 1px; } } &.score-giant { margin: 1em 0 1em 1em; p { min-width: 8.5em; } .score-count { font-size: 4em; line-height: 0.92em; &.percent::after { font-size: 0.40em; } } .score-label { font-size: 0.92em; font-weight: 400; padding-right: 1px; } } }