/* ==========================================================================
Typography
========================================================================== */
p {
    /*font-size: 15px;*/
    line-height: 4.5rem;
    color: #1c3653;
    color: rgba(28, 54, 83, 0.6);
    padding-bottom: 10px;
}

h1 {
    font-size: 60px;
}

h2 {
    font-size: 40px;
    font-weight: 300;
}

h3 {
    font-size: 24px;
    margin-bottom: 20px;
}

h4 {
    font-size: 18px;
}

h5 {
    font-size: 15px;
    text-transform: uppercase;
    font-weight: 500;
}

.btn {
    font-size: 13px;
    border: solid 2px;
    border-radius: 40px;
    display: inline-block;
    text-transform: uppercase;
}

    .btn:hover, .btn:focus {
        color: #fff;
        border-color: #FF5274;
        background-color: #FF5274;
    }

.btn-white {
    font-size: 13px;
    border: solid 2px;
    border-radius: 40px;
    display: inline-block;
    border-color: #fff;
}

    .btn-white:hover, .btn-white:focus {
        color: #FF5274;
        border-color: #FF5274;
    }

.btn-fill {
    color: #fff;
    border: solid 2px #FF5274;
    border-radius: 40px;
    display: inline-block;
    text-transform: uppercase;
    background-color: #FF5274;
}

    .btn-fill:hover, .btn-fill:focus {
        color: #fff;
        background-color: #D7405D;
        border-color: #D7405D;
    }

.btn-small {
    padding: 8px 40px;
}

.btn-large {
    padding: 15px 40px;
}

.btn-margin-right {
    margin-right: 20px;
}

/* ==========================================================================
Global Styles
========================================================================== */
.group:after {
    content: "";
    display: table;
    clear: both;
}

.screen {
    font-size: 0.5em;
    margin: 0;
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
}

    .screen .main {
        width: 100%; /* <--now this takes full browser dimension  */
        height: 100%; /* <--now this takes full browser dimension  */
    }

.no-padding {
    padding: 0;
}

.no-margin {
    margin: 0;
}

.spanFloatLeft {
    float: left;
    padding: 5px;
    font-weight: normal;
}

.spanFloatRight {
    float: right;
    padding: 5px;
    font-weight: normal;
}

.spanFloatRightSmall {
    font-size: small;
    float: right;
    padding: 5px;
    font-weight: normal;
}

table {
    width: 100%;
    padding: 10px;
}

th {
    color: white;
    height: 30px;
    text-align: center;
    padding: 5px 15px;
    white-space: nowrap;
}

.thLeft {
    background-color: #0086AF;
    color: white;
    height: 30px;
    text-align: left;
    padding: 5px 15px;
    white-space: nowrap;
}

.thLeftFill {
    background-color: #0086AF;
    color: white;
    height: 30px;
    text-align: left;
    padding: 5px 15px;
    width: 50%;
    white-space: nowrap;
}

.teamRow {
    background-color: #E5E5E5;
}

    .teamRow.dark {
        background-color: #272727;
    }

td {
    text-align: center;
    padding: 5px 15px;
    font-weight: bold;
    white-space: nowrap;
}

.tdSmall {
    text-align: center;
    padding: 5px 15px;
    font-weight: normal;
    white-space: nowrap;
}

.tdLeft {
    text-align: left;
    padding: 5px 15px;
    font-weight: bold;
    white-space: nowrap;
}

.tdLeftSmall {
    text-align: left;
    padding: 5px 15px;
    font-weight: normal;
    white-space: nowrap;
}

.alternatingTable tr:nth-child(even) {
    background-color: #E5E5E5
}

.alternatingTable.dark tr:nth-child(even) {
    background-color: #272727;
}

.alternatingTable ul li {
    display: normal;
    margin: 0 0;
}

a {
    color: rgba(28, 54, 83, 0.7);
    -webkit-transition-timing-function: ease;
    -moz-transition-timing-function: ease;
    -o-transition-timing-function: ease;
    transition-timing-function: ease;
    -webkit-transition-duration: 200ms;
    -moz-transition-duration: 200ms;
    -o-transition-duration: 200ms;
    transition-duration: 200ms;
    -webkit-transition-property: color, border-color, background-color;
    -moz-transition-property: color, border-color, background-color;
    -o-transition-property: color, border-color, background-color;
    transition-property: color, border-color, background-color;
}
    a.dark {
        color: #E5E5E5;
    }

    a:hover, a:focus {
        text-decoration: none;
    }

html, body {
    font-family: "Open Sans", sans-serif;
    font-weight: 300;
    color: rgba(28, 54, 83, 0.7);
    margin: 0; /* remove default margin */
    padding: 0; /* remove default padding */
    width: 100%; /* take full browser width */
    height: 100%; /* take full browser height*/
}

    body.dark {
        background: #303030;
        color: #E5E5E5;
    }

#wrapper {
    min-height: 100%;
    height: auto;
    position: relative;
}

#content {
    margin-bottom: 30px;
}

/* List active tracks */

#filter {
    background-image: url('../img/searchicon.png'); /* Add a search icon to input */
    background-position: 10px 12px; /* Position the search icon */
    background-repeat: no-repeat; /* Do not repeat the icon image */
    width: 90%;
    font-size: 16px; /* Increase font-size */
    padding: 12px 20px 12px 40px; /* Add some padding */
    border: 1px solid #ddd; /* Add a grey border */
    margin-bottom: 12px; /* Add some space below the input */
    margin-top: 16px;
}

ul.activeTracksList {
    overflow: hidden;
    margin: 0em;
    padding: 0em;
    list-style: none;
    width: 92%;
}

    ul.activeTracksList li {
        padding: 0.50em 1em;
        border-bottom: 2px solid;        
        margin: 0.5em;
    }

    ul.activeTracksList a {
        padding-left: 1em;
        text-decoration: none;
    }

    ul.activeTracksList h3 {
        padding: 0;
        font-size: 1.5em;
        font-weight: 700;
        margin: 0;
    }


    ul.activeTracksList.dark a {
        color: #E5E5E5;
    }

.spanRight {
    float: right;
}

/* The side navigation menu */
.navContent {
    position: absolute;
    top: 0px;
    margin-left: 30px;
    margin-right: 30px;
    margin-bottom: 20px;
    margin-top: 5px;
}

.navLogo {
    width: 220px;
    float: center;
}

.sidenav {
    height: 100%; /* 100% Full-height */
    width: 55px; /* 0 width - change this with JavaScript */
    position: fixed; /* Stay in place */
    z-index: 1; /* Stay on top */
    top: 0;
    left: 0;
    background-color: #333;
    overflow-x: hidden; /* Disable horizontal scroll */
    padding-top: 10px; /* Place content 60px from the top */
    transition: 0.5s; /* 0.5 second transition effect to slide in the sidenav */
}

    /* The navigation menu links */
    .sidenav a {
        padding: 8px 8px 8px 32px;
        text-decoration: none;
        font-size: 25px;
        color: #818181;
        display: block;
        transition: 0.3s
    }

        /* When you mouse over the navigation links, change their color */
        .sidenav a:hover, .offcanvas a:focus {
            color: #f1f1f1;
        }

    /* Position and style the close button (top right corner) */
    .sidenav .closebtn {
        position: absolute;
        top: 0;
        right: 25px;
        font-size: 36px;
        margin-left: 50px;
    }

/* Style page content - use this if you want to push the page content to the right when you open the side navigation */
#main {
    transition: margin-left .5s;
    margin-left: 50px;
    padding: 20px;
}

/* On smaller screens, where height is less than 450px, change the style of the sidenav (less padding and a smaller font size) */
@media screen and (max-height: 450px) {
    .sidenav {
        padding-top: 15px;
    }

        .sidenav a {
            font-size: 18px;
        }
}

/* hamburger menu*/
.menuButton {
    display: inline-block;
    position: absolute;
    cursor: pointer;
    margin: 10px;
    top: 0;
    right: 0;
}

.bar1, .bar2, .bar3 {
    width: 35px;
    height: 5px;
    background-color: #fff;
    margin: 6px 0;
    transition: 0.4s;
}

/* Rotate first bar */
.change .bar1 {
    -webkit-transform: rotate(-45deg) translate(-9px, 6px);
    transform: rotate(-45deg) translate(-9px, 6px);
    /*width: 20px;
	-webkit-transform: translate(-1px, 3px) rotate(-45deg)  ;
    transform: translate(-1px, 3px) rotate(-45deg)  ;*/
}

/* Fade out the second bar */
.change .bar2 {
    opacity: 0;
}

/* Rotate last bar */

.change .bar3 {
    -webkit-transform: rotate(45deg) translate(-8px, -8px);
    transform: rotate(45deg) translate(-8px, -8px);
    /*width: 20px;
	-webkit-transform: translate(-1px, -3px) rotate(45deg) ;
    transform: translate(-1px, -3px) rotate(45deg) ;*/
}

.navContent ul {
    list-style-type: none;
    margin: 10px;
    padding: 0px;
}

.navContent li {
    margin: 10px;
    padding: 0px;
}

.navEvent {
    cursor: default;
    font-family: Arial, Helvetica, sans-serif;
    text-align: left;
    font-size: 1.4em;
    padding-top: 10px;
    margin-top: 10px;
    color: #e1e6ef;
    display: inline-block;
    transition: 0.5s; /* 0.5 second transition effect to slide in the sidenav */
    overflow-x: hidden; /* Disable horizontal scroll */
    overflow-y: hidden; /* Disable horizontal scroll */
    white-space: pre;
}

.navDivision {
    cursor: pointer;
    font-family: Arial, Helvetica, sans-serif;
    text-align: left;
    font-size: 1.2em;
    padding-top: 10px;
    margin-top: 5px;
    color: #e1e6ef;
    transition: 0.5s; /* 0.5 second transition effect to slide in the sidenav */
    overflow-x: hidden; /* Disable horizontal scroll */
    overflow-y: hidden; /* Disable horizontal scroll */
    white-space: pre;
}

.navSelect {
    margin-top: 10px;
    cursor: default;
    font-family: Arial, Helvetica, sans-serif;
    text-align: left;
    font-size: 1em;
    color: #e1e6ef;
    display: inline-block;
    transition: 0.5s; /* 0.5 second transition effect to slide in the sidenav */
    overflow-x: hidden; /* Disable horizontal scroll */
    overflow-y: hidden; /* Disable horizontal scroll */
}

.navRace {
    cursor: pointer;
    font-family: Arial, Helvetica, sans-serif;
    text-align: left;
    font-size: 1.2em;
    color: #e1e6ef;
    transition: 0.5s; /* 0.5 second transition effect to slide in the sidenav */
    overflow-x: hidden; /* Disable horizontal scroll */
    overflow-y: hidden; /* Disable horizontal scroll */
    white-space: pre;
}

.navRaceRunning {
    cursor: pointer;
    font-family: Arial, Helvetica, sans-serif;
    text-align: left;
    font-size: 1.2em;
    color: #d2e6d1;
    transition: 0.5s; /* 0.5 second transition effect to slide in the sidenav */
    overflow-x: hidden; /* Disable horizontal scroll */
    overflow-y: hidden; /* Disable horizontal scroll */
    white-space: pre;
}

.navRaceComplete {
    cursor: pointer;
    font-family: Arial, Helvetica, sans-serif;
    text-align: left;
    text-decoration: line-through;
    font-size: 1.2em;
    color: #e1e6ef;
    transition: 0.5s; /* 0.5 second transition effect to slide in the sidenav */
    overflow-x: hidden; /* Disable horizontal scroll */
    overflow-y: hidden; /* Disable horizontal scroll */
    white-space: pre;
}

label {
    text-align: left;
    color: rgba(255, 255, 255, 0.875);
    display: inline;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 1rem;
    font-weight: 700;
}

select {
    text-align: left;
    background: transparent;
    border: solid 2px rgba(255, 255, 255, 0.25);
    border-radius: 0.25rem;
    color: rgba(255, 255, 255, 0.875);
    display: inline;
    outline: 0;
    text-decoration: none;
}

    select:invalid {
        box-shadow: none;
    }

    select:focus {
        border-color: #ffe4b4;
    }


option {
    color: rgba(255, 255, 255, 0.875);
    background-color: #2e2b37;
    font-weight: 600;
}



.splitText {
    font-size: 10px;
    padding: 1px;
    margin: 1px;
}

.footer {
    width: 100%;
    height: 35px;
    grid-area: footer;
    position: sticky;
    position: -webkit-sticky;
    bottom: 0;
    left: 0;
    font-weight: 400;
}

ul, ol {
    margin: 0;
    padding: 0;
}

    ul li {
        list-style: none;
    }

.section-padding {
    padding: 120px 0;
}

.tooltip {
    position: absolute;
    z-index: 1070;
    display: block;
    font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-size: 12px;
    font-weight: normal;
    line-height: 1.4;
    visibility: visible;
    filter: alpha(opacity=0);
    opacity: 0;
}

    .tooltip.in {
        filter: alpha(opacity=90);
        opacity: .9;
    }

    .tooltip.top {
        padding: 5px 0;
        margin-top: -3px;
    }

    .tooltip.right {
        padding: 0 5px;
        margin-left: 3px;
    }

    .tooltip.bottom {
        padding: 5px 0;
        margin-top: 3px;
    }

    .tooltip.left {
        padding: 0 5px;
        margin-left: -3px;
    }

.tooltip-inner {
    max-width: 200px;
    padding: 3px 8px;
    color: #fff;
    text-align: center;
    text-decoration: none;
    text-transform: capitalize;
    background-color: #000;
    border-radius: 4px;
}

.personalBest {
    color: rgba(24, 89, 32, 0.7);
}

    .personalBest.dark {
        color: rgba(22, 245, 49, 0.7);
    }

.fastest {
    color: #FF00FF;
}

    .fastest.dark {
        color: #FF00FF;
    }

.practiceList ul {
    margin: 0;
    padding: 0;
    list-style-type: none;
    list-style-image: none;
}

.practiceList li {
    float: left;
    margin: 10px 10px;
}

.practiceLapTable {
    width: 300px;
    padding-top: 8px;
    padding-bottom: 15px;
    margin: 0 auto 0 auto;
    background-color: #0086AF;
    -moz-border-radius: 15px;
    -webkit-border-radius: 15px;
    border-radius: 15px;
    color: #446bb3;
    padding: 10px;
    table-layout: fixed;
}

.practiceLapsTable.dark {
    background: #303030;
    color: #E5E5E5;
}

.practiceLapTable td {
    padding: 5px;
    white-space: nowrap;
}

.practiceLapsTable {
    width: 270px;
    height: 450px;
    padding-top: 8px;
    padding-bottom: 5px;
    margin: 0 auto 10px auto;
    background-color: #0086AF;
    -moz-border-radius: 15px;
    -webkit-border-radius: 15px;
    border-radius: 15px;
    color: #446bb3;
    padding: 10px;
}

    .practiceLapsTable.dark {
        background: #303030;
        color: #E5E5E5;
    }

    .practiceLapsTable thead td {
        text-align: center;
        padding: 5px;
        white-space: nowrap;
    }

.practiceLapTable table {
    background-color: #ffffff;
    color: #1c3653
}

.practiceLapTable.dark table {
    background: #303030;
    color: #E5E5E5;
}

.practiceLapsTable.dark table {
    background: #303030;
    color: #E5E5E5;
}

.practiceLapTable.dark {
    background: #303030;
    color: #E5E5E5;
}

.practiceLapTable alternatingTable {
    background-color: #ffffff;
    color: #1c3653;
}

.practiceLapTable.dark alternatingTable
thead {
    background-color: #E5E5E5;
    color: #303030;
    padding: 4px;
    line-height: 30px
}

/* ==========================================================================
Animations
========================================================================== */
.pulse2 {
    -webkit-animation-name: pulse2;
    -moz-animation-name: pulse2;
    animation-name: pulse2;
    -webkit-animation-duration: 1s;
    -moz-animation-duration: 1s;
    animation-duration: 1s;
    -webkit-animation-iteration-count: infinite;
    -moz-animation-iteration-count: infinite;
    animation-iteration-count: infinite;
    -webkit-animation-timing-function: linear;
    -moz-animation-timing-function: linear;
    animation-timing-function: linear;
}

@-webkit-keyframes pulse2 {
    0% {
        -webkit-transform: scale(1.1);
        transform: scale(1.1);
    }

    50% {
        -webkit-transform: scale(0.8);
        transform: scale(0.8);
    }

    100% {
        -webkit-transform: scale(1);
        transform: scale(1);
    }
}

@keyframes pulse2 {
    0% {
        -webkit-transform: scale(1.1);
        transform: scale(1.1);
    }

    50% {
        -webkit-transform: scale(0.8);
        transform: scale(0.8);
    }

    100% {
        -webkit-transform: scale(1);
        transform: scale(1);
    }
}

.floating-arrow {
    -webkit-animation-name: floating-arrow;
    -moz-animation-name: floating-arrow;
    animation-name: floating-arrow;
    -webkit-animation-duration: 2s;
    -moz-animation-duration: 2s;
    animation-duration: 2s;
    -webkit-animation-iteration-count: infinite;
    -moz-animation-iteration-count: infinite;
    animation-iteration-count: infinite;
    -webkit-animation-timing-function: ease-in-out;
    -moz-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
}

@-webkit-keyframes floating-arrow {
    from {
        -webkit-transform: translate(-50%, 0);
        transform: translate(-50%, 0);
    }

    65% {
        -webkit-transform: translate(-50%, 15px);
        transform: translate(-50%, 15px);
    }

    to {
        -webkit-transform: translate(-50%, 0);
        transform: translate(-50%, 0);
    }
}

@keyframes floating-arrow {
    from {
        -webkit-transform: translate(-50%, 0);
        transform: translate(-50%, 0);
    }

    65% {
        -webkit-transform: translate(-50%, 15px);
        transform: translate(-50%, 15px);
    }

    to {
        -webkit-transform: translate(-50%, 0);
        transform: translate(-50%, 0);
    }
}

.floating-logo {
    -webkit-animation-name: floating-logo;
    -moz-animation-name: floating-logo;
    animation-name: floating-logo;
    -webkit-animation-duration: 2s;
    -moz-animation-duration: 2s;
    animation-duration: 2s;
    -webkit-animation-iteration-count: infinite;
    -moz-animation-iteration-count: infinite;
    animation-iteration-count: infinite;
    -webkit-animation-timing-function: ease-in-out;
    -moz-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
}

@-webkit-keyframes floating-logo {
    from {
        -webkit-transform: translate(-50%, 0);
        transform: translate(-50%, 0);
    }

    50% {
        -webkit-transform: translate(-50%, 10px);
        transform: translate(-50%, 10px);
    }

    to {
        -webkit-transform: translate(-50%, 0);
        transform: translate(-50%, 0);
    }
}

@keyframes floating-logo {
    from {
        -webkit-transform: translate(-50%, 0);
        transform: translate(-50%, 0);
    }

    50% {
        -webkit-transform: translate(-50%, 10px);
        transform: translate(-50%, 10px);
    }

    to {
        -webkit-transform: translate(-50%, 0);
        transform: translate(-50%, 0);
    }
}

.spin {
    position: relative;
    top: 0;
    left: 0;
    -webkit-animation: spin 4s cubic-bezier(0.175, 0.885, 0.32, 1.275) 1;
    -moz-animation: spin 4s cubic-bezier(0.175, 0.885, 0.32, 1.275) 1;
    animation: spin 4s cubic-bezier(0.175, 0.885, 0.32, 1.275) 1;
}

@-moz-keyframes spin {
    65% {
        -moz-transform: rotate(750deg);
        transform: rotate(750deg);
    }

    90% {
        -moz-transform: rotate(715deg);
        transform: rotate(715deg);
    }

    100% {
        -moz-transform: rotate(720deg);
        transform: rotate(720deg);
    }
}

@-webkit-keyframes spin {
    65% {
        -webkit-transform: rotate(750deg);
        transform: rotate(750deg);
    }

    90% {
        -webkit-transform: rotate(715deg);
        transform: rotate(715deg);
    }

    100% {
        -webkit-transform: rotate(720deg);
        transform: rotate(720deg);
    }
}

@keyframes spin {
    65% {
        -webkit-transform: rotate(750deg);
        transform: rotate(750deg);
    }

    90% {
        -webkit-transform: rotate(715deg);
        transform: rotate(715deg);
    }

    100% {
        -webkit-transform: rotate(720deg);
        transform: rotate(720deg);
    }
}

.rock {
    position: relative;
    top: 0;
    left: 0;
    -webkit-animation: rock 2s ease-out 1;
    -moz-animation: rock 2s ease-out 1;
    animation: rock 2s ease-out 1;
}

@-moz-keyframes rock {
    20% {
        -moz-transform: rotate(-30deg);
        transform: rotate(-30deg);
    }

    40% {
        -moz-transform: rotate(30deg);
        transform: rotate(30deg);
    }

    60% {
        -moz-transform: rotate(-30deg);
        transform: rotate(-30deg);
    }

    80% {
        -moz-transform: rotate(30deg);
        transform: rotate(30deg);
    }

    100% {
        -moz-transform: rotate(0deg);
        transform: rotate(0deg);
    }
}

@-webkit-keyframes rock {
    20% {
        -webkit-transform: rotate(-30deg);
        transform: rotate(-30deg);
    }

    40% {
        -webkit-transform: rotate(30deg);
        transform: rotate(30deg);
    }

    60% {
        -webkit-transform: rotate(-30deg);
        transform: rotate(-30deg);
    }

    80% {
        -webkit-transform: rotate(30deg);
        transform: rotate(30deg);
    }

    100% {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg);
    }
}

@keyframes rock {
    20% {
        -webkit-transform: rotate(-30deg);
        transform: rotate(-30deg);
    }

    40% {
        -webkit-transform: rotate(30deg);
        transform: rotate(30deg);
    }

    60% {
        -webkit-transform: rotate(-30deg);
        transform: rotate(-30deg);
    }

    80% {
        -webkit-transform: rotate(30deg);
        transform: rotate(30deg);
    }

    100% {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg);
    }
}

.wave {
    transform-origin: 0 100%;
    -webkit-animation: wave 2s ease-out 1;
    -moz-animation: wave 2s ease-out 1;
    animation: wave 2s ease-out 1;
}

@-moz-keyframes wave {
    20% {
        -moz-transform: rotate(-30deg);
        transform: rotate(-30deg);
    }

    40% {
        -moz-transform: rotate(30deg);
        transform: rotate(30deg);
    }

    60% {
        -moz-transform: rotate(-30deg);
        transform: rotate(30deg);
    }

    80% {
        -moz-transform: rotate(30deg);
        transform: rotate(30deg);
    }

    100% {
        -moz-transform: rotate(0deg);
        transform: rotate(0deg);
    }
}

@-webkit-keyframes wave {
    20% {
        -webkit-transform: rotate(-30deg);
        transform: rotate(-30deg);
    }

    40% {
        -webkit-transform: rotate(30deg);
        transform: rotate(30deg);
    }

    60% {
        -webkit-transform: rotate(-30deg);
        transform: rotate(-30deg);
    }

    80% {
        -webkit-transform: rotate(30deg);
        transform: rotate(30deg);
    }

    100% {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg);
    }
}

@keyframes wave {
    20% {
        -webkit-transform: rotate(-30deg);
        transform: rotate(-30deg);
    }

    40% {
        -webkit-transform: rotate(30deg);
        transform: rotate(30deg);
    }

    60% {
        -webkit-transform: rotate(-30deg);
        transform: rotate(-30deg);
    }

    80% {
        -webkit-transform: rotate(30deg);
        transform: rotate(30deg);
    }

    100% {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg);
    }
}

.wave-infinite {
    transform-origin: 0 100%;
    -webkit-animation: waveinf 1s linear infinite;
    -moz-animation: waveinf 1s linear infinite;
    animation: waveinf 1s linear infinite;
}

@-moz-keyframes waveinf {
    25% {
        -moz-transform: rotate(-30deg);
        transform: rotate(-30deg);
    }

    50% {
        -moz-transform: rotate(0deg);
        transform: rotate(0deg);
    }

    75% {
        -moz-transform: rotate(30deg);
        transform: rotate(30deg);
    }

    100% {
        -moz-transform: rotate(0deg);
        transform: rotate(0deg);
    }
}

@-webkit-keyframes waveinf {
    25% {
        -webkit-transform: rotate(-30deg);
        transform: rotate(-30deg);
    }

    50% {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg);
    }

    75% {
        -webkit-transform: rotate(30deg);
        transform: rotate(30deg);
    }

    100% {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg);
    }
}

@keyframes waveinf {
    25% {
        -webkit-transform: rotate(-30deg);
        transform: rotate(-30deg);
    }

    50% {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg);
    }

    75% {
        -webkit-transform: rotate(30deg);
        transform: rotate(30deg);
    }

    100% {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg);
    }
}

@keyframes blinker {
    to {
        opacity: 0;
    }
}

.greenFlag {
    color: rgba(24, 89, 32, 0.7);
}

    .greenFlag.dark {
        color: rgba(22, 245, 49, 0.7);
    }



/*===========================================================================
welcome/disconnect messages
===========================================================================*/
.centreScreen {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.disconnectContainer {
    position: relative;
    left: 0;
    top: 0;
    font-size: 3rem;
}

.searchContainer {
    position: relative;
    left: 0;
    top: 0;
    padding: 2rem;
}

.welcomeContainer {
    position: relative;
    left: 0;
    top: 0;
    font-size: 3rem;
}

.insideIcon {
    position: absolute;
    top: 0;
    left: 0;
}

.messageText {
    position: relative;
    top: -1rem;
    left: 0;
}

/*===========================================================================
Header
===========================================================================*/
.raceHeader {
    top: 0;
    width: 100%;
    padding: 0;
    display: inline-block;
}

.timerContainer {
    float: right;
    margin-top: 10px;
    margin-right: 0;
}

.raceTimer {
    font-size: 3.5rem;
    text-align: right;
    color: rgba(24, 89, 32, 0.7);
}

    .raceTimer.dark {
        font-size: 3.5rem;
        text-align: right;
        color: rgba(22, 245, 49, 0.7);
    }

.delayTimer {
    font-size: 3.5rem;
    text-align: right;
}

.pausedDisplay {
    font-size: 2.5rem;
    text-align: right;
    animation: blinker 1.7s cubic-bezier(.5, 0, 1, 1) infinite alternate;
}

.raceNameContainer {
    position: relative;
    left: 0;
    margin-top: 1.4rem;
    margin-bottom: 0.8rem;
    float: left;
}

.divisionName {
    position: relative;
    left: 0;
    font-size: 2.6rem;
    font-weight: 400;
}

.raceName {
    position: relative;
    left: 1rem;
    font-size: 2.6rem;
    font-weight: 300;
}

.marquee {
    height: 35px;
    width: 100%;
    overflow: hidden;
    position: relative;
    padding: 8px 0 4px 0;
}


    /* would need to be adjusted depending on time */
    .marquee .marqueeone {
        animation: marquee 10s linear infinite
    }

    .marquee .marqueetwo {
        animation: marquee 10s linear 2.5s infinite
    }

    .marquee .marqueethree {
        animation: marquee 10s linear 5s infinite
    }

    .marquee .marqueefour {
        animation: marquee 10s linear 7.5s infinite
    }

    /* even out the elements */
    .marquee div {
        position: absolute;
        width: 100%;
        left: 100%;
        height: 40px;
        display: flex;
        justify-content: space-between;
    }

    .marquee:hover div {
        animation-play-state: paused;
    }

/* add delay at the end of animation so you dont start while another div is going */
@keyframes marquee {
    0% {
        left: 100%;
    }

    50% {
        left: -100%;
    }

    100% {
        left: -100%
    }
}

.marqueeContainer {
    width: 100%;
    height: 100%;
    margin: 0;
    text-align: center;
    width: 100%;
    left: 100%;
    /* Starting position */
    -ms-transform: translateX(0%);
    -o-transform: translateX(0%);
    -moz-transform: translateX(0%);
    -webkit-transform: translateX(0%);
    transform: translateX(0%);
    /* Apply animation to this element */
    -moz-animation: example1 35s linear 5s infinite;
    -webkit-animation: example1 35s linear 5s infinite;
    animation: example1 35s linear 5s infinite;
}
/* Move it (define the animation) */
@-moz-keyframes example1 {
    0% {
        -moz-transform: translateX(0%);
        transform: translateX(0%);
    }

    50% {
        -moz-transform: translateX(-100%);
        transform: translateX(-100%);
    }

    100% {
        -moz-transform: translateX(-100%);
        transform: translateX(-100%);
    }
}

@-webkit-keyframes example1 {
    0% {
        -webkit-transform: translateX(0%);
        transform: translateX(0%);
    }

    50% {
        -webkit-transform: translateX(-100%);
        transform: translateX(-100%);
    }

    100% {
        -webkit-transform: translateX(-100%);
        transform: translateX(-100%);
    }
}

@keyframes example1 {
    0% {
        -moz-transform: translateX(0%); /* Firefox bug fix */
        -webkit-transform: translateX(0%); /* Firefox bug fix */
        transform: translateX(0%);
    }

    50% {
        -moz-transform: translateX(-100%); /* Firefox bug fix */
        -webkit-transform: translateX(-100%); /* Firefox bug fix */
        transform: translateX(-100%);
    }

    100% {
        -moz-transform: translateX(-100%); /* Firefox bug fix */
        -webkit-transform: translateX(-100%); /* Firefox bug fix */
        transform: translateX(-100%);
    }
}

.qualifyingFormat {
    position: relative;
    float: left;
    font-size: 1.2rem;
    font-weight: 400;
    margin-right: 1rem;
}

.raceState {
    position: relative;
    display: table;
    margin: 0 auto;
}

.headerTable {
    width: 100%;
}

    .headerTable tr:nth-child(even) {
        background-color: #E5E5E5
    }

    .headerTable.dark tr:nth-child(even) {
        background-color: #272727;
    }

.headerColLarge {
    width: 45%;
    text-align: center;
    padding: 5px;
    font-weight: bold;
}

.headerColSmall {
    width: 10%;
    text-align: center;
    padding: 5px;
    font-weight: bold;
}


/*===========================================================================
Race
===========================================================================*/
.raceContent {
    width: 100%;
    overflow-x: auto;
}

.lapChartCanvas {
    margin-top: 20px;
    margin-left: 10px;
    width: 95%;
    height: 600px;
}

.lapCountCanvas {
    margin-top: 0;
    margin-left: 10px;
}

/*===========================================================================
Practice
===========================================================================*/

.pContestantName {
    color: #FFF;
    font-size: 1.4rem;
    text-align: left;
    white-space: nowrap;
    overflow: hidden;
    max-width: 200px;
}

.pContestantTx {
    color: #FFF;
    font-size: 0.8rem;
    text-align: right;
}

.pLapsHead {
    color: #FFF;
    background-color: #0086AF;
    font-size: 1.2rem;
    text-align: left;
    height: 25px
}

/* ==========================================================================
Waypoinsts
========================================================================== */
.wp1, .wp2, .wp3, .wp4, .wp5, .wp6, .wp7, .wp8, .wp9 {
    visibility: hidden;
}

.wp2 {
    -moz-animation-delay: 0.3s;
    -webkit-animation-delay: 0.3s;
    animation-delay: 0.3s;
}

.bounceInLeft, .bounceInRight, .fadeInUp, .fadeInUpDelay, .fadeInDown, .fadeInUpD, .fadeInLeft, .fadeInRight, .bounceInDown {
    visibility: visible;
}

/* ==========================================================================
Icon font (http://www.elegantthemes.com/blog/freebie-of-the-week/free-line-style-icons)
========================================================================== */
@font-face {
    font-family: 'et-line';
    src: url("../fonts/et-line.eot");
    src: url("../fonts/et-line.eot?#iefix") format("embedded-opentype"), url("../fonts/et-line.woff") format("woff"), url("../fonts/et-line.ttf") format("truetype"), url("../fonts/et-line.svg#et-line") format("svg");
    font-weight: normal;
    font-style: normal;
}
/* Use the following CSS code if you want to use data attributes for inserting your icons
[data-icon]:before {
  font-family: 'et-line';
  content: attr(data-icon);
  speak: none;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  display: inline-block; }

*/

/* Use the following CSS code if you want to have a class per icon */
/*
Instead of a list of all class selectors,
you can use the generic selector below, but it's slower:
[class*="icon-"] {
*/
.icon-mobile, .icon-laptop, .icon-desktop, .icon-tablet, .icon-phone, .icon-document, .icon-documents, .icon-search, .icon-clipboard, .icon-newspaper, .icon-notebook, .icon-book-open, .icon-browser, .icon-calendar, .icon-presentation, .icon-picture, .icon-pictures, .icon-video, .icon-camera, .icon-printer, .icon-toolbox, .icon-briefcase, .icon-wallet, .icon-gift, .icon-bargraph, .icon-grid, .icon-expand, .icon-focus, .icon-edit, .icon-adjustments, .icon-ribbon, .icon-hourglass, .icon-lock, .icon-megaphone, .icon-shield, .icon-trophy, .icon-flag, .icon-map, .icon-puzzle, .icon-basket, .icon-envelope, .icon-streetsign, .icon-telescope, .icon-gears, .icon-key, .icon-paperclip, .icon-attachment, .icon-pricetags, .icon-lightbulb, .icon-layers, .icon-pencil, .icon-tools, .icon-tools-2, .icon-scissors, .icon-paintbrush, .icon-magnifying-glass, .icon-circle-compass, .icon-linegraph, .icon-mic, .icon-strategy, .icon-beaker, .icon-caution, .icon-recycle, .icon-anchor, .icon-profile-male, .icon-profile-female, .icon-bike, .icon-wine, .icon-hotairballoon, .icon-globe, .icon-genius, .icon-map-pin, .icon-dial, .icon-chat, .icon-heart, .icon-cloud, .icon-upload, .icon-download, .icon-target, .icon-hazardous, .icon-piechart, .icon-speedometer, .icon-global, .icon-compass, .icon-lifesaver, .icon-clock, .icon-aperture, .icon-quote, .icon-scope, .icon-alarmclock, .icon-refresh, .icon-happy, .icon-sad, .icon-facebook, .icon-twitter, .icon-googleplus, .icon-rss, .icon-tumblr, .icon-linkedin, .icon-dribbble {
    font-family: 'et-line';
    speak: none;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    display: inline-block;
}

    .icon-mobile:before {
        content: "\e000";
    }

    .icon-laptop:before {
        content: "\e001";
    }

    .icon-desktop:before {
        content: "\e002";
    }

    .icon-tablet:before {
        content: "\e003";
    }

    .icon-phone:before {
        content: "\e004";
    }

    .icon-document:before {
        content: "\e005";
    }

    .icon-documents:before {
        content: "\e006";
    }

    .icon-search:before {
        content: "\e007";
    }

    .icon-clipboard:before {
        content: "\e008";
    }

    .icon-newspaper:before {
        content: "\e009";
    }

    .icon-notebook:before {
        content: "\e00a";
    }

    .icon-book-open:before {
        content: "\e00b";
    }

    .icon-browser:before {
        content: "\e00c";
    }

    .icon-calendar:before {
        content: "\e00d";
    }

    .icon-presentation:before {
        content: "\e00e";
    }

    .icon-picture:before {
        content: "\e00f";
    }

    .icon-pictures:before {
        content: "\e010";
    }

    .icon-video:before {
        content: "\e011";
    }

    .icon-camera:before {
        content: "\e012";
    }

    .icon-printer:before {
        content: "\e013";
    }

    .icon-toolbox:before {
        content: "\e014";
    }

    .icon-briefcase:before {
        content: "\e015";
    }

    .icon-wallet:before {
        content: "\e016";
    }

    .icon-gift:before {
        content: "\e017";
    }

    .icon-bargraph:before {
        content: "\e018";
    }

    .icon-grid:before {
        content: "\e019";
    }

    .icon-expand:before {
        content: "\e01a";
    }

    .icon-focus:before {
        content: "\e01b";
    }

    .icon-edit:before {
        content: "\e01c";
    }

    .icon-adjustments:before {
        content: "\e01d";
    }

    .icon-ribbon:before {
        content: "\e01e";
    }

    .icon-hourglass:before {
        content: "\e01f";
    }

    .icon-lock:before {
        content: "\e020";
    }

    .icon-megaphone:before {
        content: "\e021";
    }

    .icon-shield:before {
        content: "\e022";
    }

    .icon-trophy:before {
        content: "\e023";
    }

    .icon-flag:before {
        content: "\e024";
    }

    .icon-map:before {
        content: "\e025";
    }

    .icon-puzzle:before {
        content: "\e026";
    }

    .icon-basket:before {
        content: "\e027";
    }

    .icon-envelope:before {
        content: "\e028";
    }

    .icon-streetsign:before {
        content: "\e029";
    }

    .icon-telescope:before {
        content: "\e02a";
    }

    .icon-gears:before {
        content: "\e02b";
    }

    .icon-key:before {
        content: "\e02c";
    }

    .icon-paperclip:before {
        content: "\e02d";
    }

    .icon-attachment:before {
        content: "\e02e";
    }

    .icon-pricetags:before {
        content: "\e02f";
    }

    .icon-lightbulb:before {
        content: "\e030";
    }

    .icon-layers:before {
        content: "\e031";
    }

    .icon-pencil:before {
        content: "\e032";
    }

    .icon-tools:before {
        content: "\e033";
    }

    .icon-tools-2:before {
        content: "\e034";
    }

    .icon-scissors:before {
        content: "\e035";
    }

    .icon-paintbrush:before {
        content: "\e036";
    }

    .icon-magnifying-glass:before {
        content: "\e037";
    }

    .icon-circle-compass:before {
        content: "\e038";
    }

    .icon-linegraph:before {
        content: "\e039";
    }

    .icon-mic:before {
        content: "\e03a";
    }

    .icon-strategy:before {
        content: "\e03b";
    }

    .icon-beaker:before {
        content: "\e03c";
    }

    .icon-caution:before {
        content: "\e03d";
    }

    .icon-recycle:before {
        content: "\e03e";
    }

    .icon-anchor:before {
        content: "\e03f";
    }

    .icon-profile-male:before {
        content: "\e040";
    }

    .icon-profile-female:before {
        content: "\e041";
    }

    .icon-bike:before {
        content: "\e042";
    }

    .icon-wine:before {
        content: "\e043";
    }

    .icon-hotairballoon:before {
        content: "\e044";
    }

    .icon-globe:before {
        content: "\e045";
    }

    .icon-genius:before {
        content: "\e046";
    }

    .icon-map-pin:before {
        content: "\e047";
    }

    .icon-dial:before {
        content: "\e048";
    }

    .icon-chat:before {
        content: "\e049";
    }

    .icon-heart:before {
        content: "\e04a";
    }

    .icon-cloud:before {
        content: "\e04b";
    }

    .icon-upload:before {
        content: "\e04c";
    }

    .icon-download:before {
        content: "\e04d";
    }

    .icon-target:before {
        content: "\e04e";
    }

    .icon-hazardous:before {
        content: "\e04f";
    }

    .icon-piechart:before {
        content: "\e050";
    }

    .icon-speedometer:before {
        content: "\e051";
    }

    .icon-global:before {
        content: "\e052";
    }

    .icon-compass:before {
        content: "\e053";
    }

    .icon-lifesaver:before {
        content: "\e054";
    }

    .icon-clock:before {
        content: "\e055";
    }

    .icon-aperture:before {
        content: "\e056";
    }

    .icon-quote:before {
        content: "\e057";
    }

    .icon-scope:before {
        content: "\e058";
    }

    .icon-alarmclock:before {
        content: "\e059";
    }

    .icon-refresh:before {
        content: "\e05a";
    }

    .icon-happy:before {
        content: "\e05b";
    }

    .icon-sad:before {
        content: "\e05c";
    }

    .icon-facebook:before {
        content: "\e05d";
    }

    .icon-twitter:before {
        content: "\e05e";
    }

    .icon-googleplus:before {
        content: "\e05f";
    }

    .icon-rss:before {
        content: "\e060";
    }

    .icon-tumblr:before {
        content: "\e061";
    }

    .icon-linkedin:before {
        content: "\e062";
    }

    .icon-dribbble:before {
        content: "\e063";
    }

/*Screen size font adjust*/
@media only screen and (min-device-width : 320px) and (max-device-width : 480px) {
    .fonts {
        font-size: 38%;
    }
}
/* Smartphones (landscape) ----------- */
@media only screen and (min-width : 321px) {
    .fonts {
        font-size: 60%;
    }
}
/* Smartphones (portrait) ----------- */
@media only screen and (max-width : 320px) {
    .fonts {
        font-size: 60%;
    }
}
/* iPads (portrait and landscape) ----------- */
@media only screen and (min-device-width : 768px) and (max-device-width : 1024px) {
    .fonts {
        font-size: 60%;
    }
}
/* iPads (landscape) ----------- */
@media only screen and (min-device-width : 768px) and (max-device-width : 1024px) and (orientation : landscape) {
    .fonts {
        font-size: 75%;
    }
}
/* iPads (portrait) ----------- */
@media only screen and (min-device-width : 768px) and (max-device-width : 1024px) and (orientation : portrait) {

    .fonts {
        font-size: 60%;
    }
}
/* Desktops and laptops ----------- */
@media only screen and (min-width : 1224px) {
    .fonts {
        font-size: 78%;
    }
}
/* Large screens ----------- */
@media only screen and (min-width : 1824px) {
    .fonts {
        font-size: 100%;
    }
}
/* iPhone 4 ----------- */
@media only screen and (-webkit-min-device-pixel-ratio : 1.5), only screen and (min-device-pixel-ratio : 1.5) {
    .fonts {
        font-size: 95%;
    }
}
