/* 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: #2980b9;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-top: 30px; }

h3 {
    font-size: 1.1em;
    margin-bottom: 5px;
    color: #34495e; }

/* Layout */
.container { margin: 0 auto; padding: 0 15px; }

.clearfix::after {
  content: "";
  display: table;
  clear: both;
}

.pull-right { float: right; }

/* Nav pills */
.nav {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  gap: 2px;
}

.nav li a {
  display: block;
  padding: 10px 15px;
  border-radius: 4px;
}

.nav li a:hover {
  background: #eee;
  text-decoration: none;
}

.nav li.active a {
  background: #2980b9;
  color: #fff;
}

.nav li.active a:hover {
  background: #1a6da0;
}

/* Grid row for social icons */
.row {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

/* Footer */
.footer { color: #777; }

/* Note tooltip style */
.note {
  text-decoration: underline dotted black 1px;
  text-underline-offset: 3px;
  cursor: help;
}

/* 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; }

table {
    width: 100%;
    border-collapse: collapse;
    margin-top: 20px; }

th, td {
    text-align: left;
    padding: 12px;
    vertical-align: top; }

th {
    background-color: #f9f9f9;
    border-bottom: 1px solid #ddd;
    width: 50%; }

tbody td {
    padding-left: 32px; }

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: inherit;
        text-decoration: none;
    }
    a.print-url .link-text {
        display: none;
    }
    a.print-url::after {
        content: attr(data-print-url);
    }
}
