@import"https://fonts.googleapis.com/css?family=Roboto+Slab:700|Open+Sans:400,700";

:root {
    --font-stack: 'Open Sans', Helvetica, Arial, sans-serif;
    --heading-font-stack: 'Roboto Slab', Georgia, 'Times New Roman', serif;
    --icon-font-stack: FontAwesome;
    --link-color: #1062A8;
}

html,
body {
    position: relative;
    min-height: 100%;
    min-width: 100%;
    margin: 0;
    padding: 0;
}

html {
    scroll-behavior: smooth;
    scroll-margin-top: 0;
}

body {
    line-height: 1.4;
    background-color: transparent;
    font-family: var(--font-stack);
    font-size: 1em;
    font-style: normal;
    font-weight: 400;
    color: #222222;
    cursor: auto;
    text-rendering: optimizeLegibility;
}

main {
    padding: 0.01px 0; /* to keep margins from breaking out. Breaks 'smiElectionFrameSize' message */
}

h1, h2, h3, h4, h5, h6 {
    line-height: 1.1;
    margin: 1.5em 0 .65rem;
    font-family: var(--heading-font-stack);
    font-weight: 700;
    font-style: normal;
    text-rendering: optimizeLegibility;
}

h1:first-child,
h2:first-child,
h3:first-child,
h4:first-child,
h5:first-child,
h6:first-child {
    margin-top: 0;
}

h1 {
    font-size: 2.125em;
}

h2 {
    font-size: 1.6875em;
}

h3 {
    font-size: 1.5em;
}

h4 {
    font-size: 1.375em;
}

h5 {
    font-size: 1.15em;
}

h6 {
    font-size: 1em;
}

p {
    margin: 0 0 .65em;
}

a, a:link, a:visited, a:focus {
    transition: all 350ms;
    color: var(--link-color);
    text-decoration: none;
}

a:hover {
    color: var(--link-color);
    text-decoration: underline;
}

.races .race + .race {
    margin-top: 1.5em;
}

@media (min-width: 768px) {
    .races .race + .race {
        margin-top: 2.25em;
    }
}

@media (min-width: 1200px) {
    .races .race + .race {
        margin-top: 3em;
    }
}