/* Reset & basics */
*, *::before, *::after { box-sizing: border-box; }

body {
    font-family: Tahoma, Geneva, Verdana, sans-serif;
    line-height: 1.5;
    color: #333;
    max-width: 900px;
    margin: 20px auto;
    padding: 0 10px; }

a {
    color: #2980b9;
    text-decoration: none; }
a:hover {
    color: #1a6da0;
    text-decoration: underline; }

h1 {
    font-size: 2em;
    margin: 0 0 20px 0;
    color: #2c3e50;
    line-height: 1.1; }

h2 {
    font-size: 1.3em;
    border-bottom: 2px solid #eee;
    padding-bottom: 5px;
    color: #444;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-top: 30px; }

h3 {
    font-size: 1.1em;
    color: #34495e; }

h4 {
    margin-bottom: 0;
    font-style: italic; }

/* Resume */
.contact {
    font-size: 0.85em;
    color: #666;
    float: right;
    text-align: right; }

.contact span {
    display: inline-block;
    white-space: nowrap; }

.date {
    color: #7f8c8d;
    font-weight: normal;
    font-size: 0.9em; }

ul { margin-top: 5px; }
li { margin-bottom: 8px; }

hr {
    border: none;
    border-top: 1px solid #ddd;
    margin: 20px 0; }

@media print {
    th {
        padding-bottom: 0;
        border-bottom: 0; }

    .no-print { display: none; }

    a.print-url {
        color: #2980b9;
        text-decoration: none; }

    a.print-url .link-text {
        display: none; }

    a.print-url::before {
        color: #333;
        content: "at "; }

    a.print-url::after {
        content: attr(data-print-url); }
}
