html,
body {
    background-color: white;
    color: #d2d2d2;
    font-family: Helvetica, arial, sans-serif;
    font-size: 100%;
    width: 100%;
    min-height: 100%;
    margin: 0;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box
}

.wrapper {
    width: 100%;
    height: 100%;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box
}

div.logo-container {
    width: 100%
}

div.logo {
    width: 175px;
    height: 175px;
    margin-top: 10px
}

div.powered-by {
    height: 17px;
    width: 148px;
    margin-top: 8px;
    c padding-top: 1em
}

.speed-container {
    width: 100%;
    min-height: 71vh
}

.speed-controls-container {
    width: 100%;
    min-height: 522px
}

.your-speed-message {
    font-size: 52px;
    line-height: 50px;
    min-height: 52px;
    text-align: center;
    font-weight: bold;
    color: #221f1f
}

#your-speed-message {
    display: none
}

.bordered-speed-container {
    max-width: 700px
}

.speed-results-container {
    font-size: 305px;
    line-height: 305px
}

.footer-container {
    padding: 17px 58px 8px 58px
}

.speed-units-container {
    margin-top: 26px;
    font-size: 78px;
    font-weight: bold
}

.speed-progress-indicator-container {
    margin-top: 26px;
    margin-left: 52px
}

.speed-progress-indicator {
    border-width: 3px
}

.speed-progress-indicator-icon {
    height: 76px;
    width: 76px;
    line-height: 77px;
    font-size: 52px
}

.speed-progress-indicator.in-progress>.spinner {
    width: 77px;
    height: 77px;
    border-radius: 50px
}

.circle {
    width: 62px;
    height: 62px;
    -moz-border-radius: 124px;
    -webkit-border-radius: 124px;
    border-radius: 124px
}

.help-header {
    cursor: pointer
}

.help-content-container {
    padding-top: 17px;
    padding-bottom: 17px;
    font-size: 1em
}

.dropdown-content {
    max-height: 300px
}

.extra-measurement-container {
    display: inline-block;
    text-align: left
}

.extra-measurement-container.succeeded {
    color: #221f1f
}

.right-aligned-text .extra-measurement-result {
    text-align: right;
    direction: ltr
}

.latency-container {
    display: inline-block;
    text-align: left;
    width: 60%
}

.right-aligned-text .measurement-label {
    text-align: right;
    margin-left: 18%
}

.right-aligned-text .config-item {
    text-align: right
}

.upload-container {
    display: inline-block;
    text-align: left;
    width: 30%
}

.extra-details-container {
    overflow: auto;
    text-align: center;
    display: none
}

.extra-details-container.succeeded {
    color: #221f1f
}

.test-info-container {
    text-align: left;
    width: 95%;
    margin-bottom: 1vh
}

.latency-details-item {
    width: 40%;
    display: inline-block
}

.right-aligned-text .latency-details-item {
    margin-left: 8%
}

.extra-test-info-item {
    display: block
}

.test-info-group {
    display: inline-block;
    min-width: 30%;
    margin-left: 5%;
    flex-grow: 1
}

.test-info-connection {
    width: 25%;
    display: inline-block
}

.extra-measurement-value-container {
    font-size: 69px;
    font-weight: bold
}

.share-container {
    padding-top: 1px;
    font-size: 19px;
    color: #4a4a4a
}

div.logo-container {
    height: 21vh
}

div.logo {
    height: 20vh;
    width: 20vh;
    margin-top: 2vh;
    background: url(assets/new-logo-vert-fit-f0bf05.png) no-repeat center;
    background-size: contain;
    -webkit-background-size: contain;
    -moz-background-size: contain;
    -o-background-size: contain;
    background: url(assets/new-logo-vert-37861c.svg) no-repeat, linear-gradient(transparent, transparent)
}

div.powered-by {
    height: 2vh;
    width: 17vh;
    margin-top: 1vh;
    background: url(assets/poweredby-fit-4f0259.png) no-repeat center;
    background-size: contain;
    -webkit-background-size: contain;
    -moz-background-size: contain;
    -o-background-size: contain;
    background: url(assets/poweredby-865a3b.svg) no-repeat center, linear-gradient(transparent, transparent)
}

.speed-container {
    overflow: auto;
    width: 100vh
}

.speed-controls-container {
    overflow: auto;
    width: 100vh;
    min-height: 60vh
}

.speed-left-container {
    width: 64%;
    display: inline-block;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box
}

.speed-right-container {
    width: 34%;
    text-align: left;
    display: inline-block;
    vertical-align: top;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box
}

.bordered-speed-container {
    float: right;
    max-width: 80vh
}

.speed-results-container {
    font-size: 35vh;
    line-height: 33vh;
    text-align: right
}

.speed-results-container.succeeded {
    color: #221f1f
}

.speed-results-container.failed {
    color: #221f1f
}

.footer-container {
    width: 100%;
    padding: 2vh 6vw 1vh 6vw;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box
}

.speed-units-container {
    margin-top: 3vh;
    font-size: 9vh
}

.speed-units-container.succeeded {
    color: #221f1f
}

.speed-units-container.failed {
    color: #221f1f
}

.speed-progress-indicator-container {
    margin-top: 3vh;
    margin-left: 6vh
}

@-webkit-keyframes uil-ring-anim {
    0% {
        -ms-transform: rotate(0);
        -moz-transform: rotate(0);
        -webkit-transform: rotate(0);
        -o-transform: rotate(0);
        transform: rotate(0)
    }
    100% {
        -ms-transform: rotate(360deg);
        -moz-transform: rotate(360deg);
        -webkit-transform: rotate(360deg);
        -o-transform: rotate(360deg);
        transform: rotate(360deg)
    }
}

@-webkit-keyframes uil-ring-anim {
    0% {
        -ms-transform: rotate(0);
        -moz-transform: rotate(0);
        -webkit-transform: rotate(0);
        -o-transform: rotate(0);
        transform: rotate(0)
    }
    100% {
        -ms-transform: rotate(360deg);
        -moz-transform: rotate(360deg);
        -webkit-transform: rotate(360deg);
        -o-transform: rotate(360deg);
        transform: rotate(360deg)
    }
}

@-moz-keyframes uil-ring-anim {
    0% {
        -ms-transform: rotate(0);
        -moz-transform: rotate(0);
        -webkit-transform: rotate(0);
        -o-transform: rotate(0);
        transform: rotate(0)
    }
    100% {
        -ms-transform: rotate(360deg);
        -moz-transform: rotate(360deg);
        -webkit-transform: rotate(360deg);
        -o-transform: rotate(360deg);
        transform: rotate(360deg)
    }
}

@-ms-keyframes uil-ring-anim {
    0% {
        -ms-transform: rotate(0);
        -moz-transform: rotate(0);
        -webkit-transform: rotate(0);
        -o-transform: rotate(0);
        transform: rotate(0)
    }
    100% {
        -ms-transform: rotate(360deg);
        -moz-transform: rotate(360deg);
        -webkit-transform: rotate(360deg);
        -o-transform: rotate(360deg);
        transform: rotate(360deg)
    }
}

@-moz-keyframes uil-ring-anim {
    0% {
        -ms-transform: rotate(0);
        -moz-transform: rotate(0);
        -webkit-transform: rotate(0);
        -o-transform: rotate(0);
        transform: rotate(0)
    }
    100% {
        -ms-transform: rotate(360deg);
        -moz-transform: rotate(360deg);
        -webkit-transform: rotate(360deg);
        -o-transform: rotate(360deg);
        transform: rotate(360deg)
    }
}

@-webkit-keyframes uil-ring-anim {
    0% {
        -ms-transform: rotate(0);
        -moz-transform: rotate(0);
        -webkit-transform: rotate(0);
        -o-transform: rotate(0);
        transform: rotate(0)
    }
    100% {
        -ms-transform: rotate(360deg);
        -moz-transform: rotate(360deg);
        -webkit-transform: rotate(360deg);
        -o-transform: rotate(360deg);
        transform: rotate(360deg)
    }
}

@-o-keyframes uil-ring-anim {
    0% {
        -ms-transform: rotate(0);
        -moz-transform: rotate(0);
        -webkit-transform: rotate(0);
        -o-transform: rotate(0);
        transform: rotate(0)
    }
    100% {
        -ms-transform: rotate(360deg);
        -moz-transform: rotate(360deg);
        -webkit-transform: rotate(360deg);
        -o-transform: rotate(360deg);
        transform: rotate(360deg)
    }
}

@keyframes uil-ring-anim {
    0% {
        -ms-transform: rotate(0);
        -moz-transform: rotate(0);
        -webkit-transform: rotate(0);
        -o-transform: rotate(0);
        transform: rotate(0)
    }
    100% {
        -ms-transform: rotate(360deg);
        -moz-transform: rotate(360deg);
        -webkit-transform: rotate(360deg);
        -o-transform: rotate(360deg);
        transform: rotate(360deg)
    }
}

.speed-progress-indicator {
    text-align: center;
    cursor: pointer;
    border-style: solid;
    border-width: .4vh;
    position: relative
}

.speed-progress-indicator-icon {
    height: 8vh;
    width: 8vh;
    line-height: 8vh !important;
    font-size: 6vh
}

.speed-progress-indicator.in-progress {
    border-color: #d2d2d2
}

.speed-progress-indicator.stopped {
    border-color: orange
}

.speed-progress-indicator.in-progress>.spinner {
    position: absolute;
    width: 8vh;
    height: 8vh;
    top: 0;
    left: 0;
    border-radius: 4vh;
    box-shadow: 0 .3vh 0 0 orange;
    -ms-animation: uil-ring-anim 1s linear infinite;
    -moz-animation: uil-ring-anim 1s linear infinite;
    -webkit-animation: uil-ring-anim 1s linear infinite;
    -o-animation: uil-ring-anim 1s linear infinite;
    animation: uil-ring-anim 1s linear infinite
}

.speed-progress-indicator.succeeded {
    border-color: #2ab72a;
    color: #221f1f
}

.speed-progress-indicator.failed {
    border-color: red;
    color: #221f1f
}

.your-speed-message {
    font-size: 4.5vh;
    line-height: 6vh;
    min-height: 6vh
}

.error-message {
    color: red;
    font-size: 2em;
    text-align: right;
    padding: 5px;
    display: none
}

.test-help {
    text-align: center;
    display: inline-block
}

.circle {
    width: 8vh;
    height: 8vh;
    -moz-border-radius: 16vh;
    -webkit-border-radius: 16vh;
    border-radius: 16vh
}

.circle-small {
    width: 7vh;
    height: 7vh;
    -moz-border-radius: 14vh;
    -webkit-border-radius: 14vh;
    border-radius: 14vh
}

.after-test-actions-container {
    overflow: auto;
    color: #221f1f;
    display: none;
    text-align: center
}

a:link,
a:visited,
a:active {
    text-decoration: none;
    color: inherit
}

a:hover {
    cursor: pointer;
    color: #0092e1
}

.oc-icon {
    display: inline-block
}

a:hover .oc-icon-fb {
    color: #3b5998
}

a:hover .oc-icon-tw {
    color: #55acee
}

.oc-icon.active {
    color: #0092e1
}

.help-small-icon-container {
    line-height: 7vh
}

.help-content-container {
    overflow: auto;
    text-align: left;
    padding-top: 2vh;
    padding-bottom: 2vh;
    font-size: 1em;
    color: #221f1f;
    width: 100%;
    display: none
}

.centered {
    display: block;
    margin-left: auto;
    margin-right: auto
}

.right-aligned-text {
    text-align: justify;
    direction: rtl
}

.share-container {
    font-size: 6vh
}

.help-container {
    width: 100%;
    display: inline-block;
    color: #4a4a4a
}

.powered-by-container {
    float: right;
    position: static;
    bottom: 2vh;
    padding-right: 2vw
}

.dropbtn {
    background-color: transparent;
    color: #221f1f;
    padding: .5em;
    font-size: 1em;
    width: 250px;
    text-align: right;
    border: 0;
    cursor: pointer
}

.dropbtn:hover,
.dropbtn:focus {
    color: #d2d2d2
}

.dropdown {
    position: relative;
    display: inline-block;
    float: right
}

.dropdown-content {
    font-size: 1em;
    display: none;
    position: absolute;
    background-color: #f9f9f9;
    box-shadow: 0 8px 16px 0 rgba(0, 0, 0, 0.2);
    right: 0;
    max-height: 40vh;
    width: 100%;
    overflow-y: scroll;
    z-index: 100
}

.dropdown-content a {
    color: #221f1f;
    padding: .5em .3em;
    text-decoration: none;
    display: block
}

.dropdown-content a:hover {
    background-color: #f1f1f1;
    cursor: pointer
}

.language-selector-container {
    top: 1vh;
    right: 2vw;
    min-width: 150px;
    font-size: 1.5vh !important;
    position: absolute;
    text-align: right
}

.privacy-link-container {
    color: #221f1f;
    padding: .5em;
    float: right
}

.show {
    display: block
}

.test-context-container {
    margin-left: 5%;
    width: 90%;
    font-size: 1.75vh;
    text-align: center
}

.test-config-container {
    display: none;
    margin-left: auto;
    margin-right: auto;
    width: 90%;
    color: #221f1f
}

.test-text-config {
    width: 40pt;
    font-size: 1.75vh
}

.config-item {
    display: inline-table;
    margin: 1vh 2vw 0 0;
    text-align: left
}

.measurement-label {
    width: 80%;
    display: inline-block;
    font-weight: bold;
    border-bottom: solid 1px;
    border-color: #d5d4d1;
    padding-bottom: .75vh;
    margin-bottom: .75vh;
    text-align: left;
    font-size: 2.5vh
}

.measurement-details-label {
    font-size: 2vh;
    text-align: left;
    padding-bottom: .5vh
}

.right-aligned-text .measurement-details-label {
    text-align: right
}

.measurement-details-label.succeeded {
    color: #6b6967
}

#redirect-to-fast-com {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: 1
}

.extra-measurement-value-container {
    font-size: 7vh
}

.extra-measurement-value-container.succeeded {
    color: #221f1f
}

.server-info-container {
    width: 100%;
    text-align: right
}

.client-info-container {
    width: 100%;
    text-align: left
}

.usage-info-container {
    width: 85%;
    text-align: center;
    margin-left: 5%;
    margin-right: 5%;
    border: 1pt solid;
    border-radius: 4pt;
    border-color: #d5d4d1;
    padding: 1vh;
    font-size: 2vh
}

.more-info-link {
    border-radius: 1vh;
    border: .2vh solid;
    padding: 1vh 1.5vw;
    color: #797777 !important;
    border-color: #7b7b7b;
    margin-top: 7vh;
    font-size: 2.5vh
}

.more-info-link:hover {
    cursor: pointer;
    color: #0092e1 !important;
    border-color: #0092e1
}

.test-config-controls {
    text-align: center;
    margin-top: 16px
}

.test-info-icon {
    width: 5vh;
    font-size: 5vh
}

.extra-metrics-container {
    margin-bottom: 1vh
}

@media all and (orientation:portrait) {
    div.logo {
        height: 20vw;
        width: 20vw
    }
    div.powered-by {
        height: 2vw;
        width: 17vw;
        margin-top: 1vw
    }
    .speed-container {
        width: 100% !important
    }
    .speed-controls-container {
        width: 100% !important
    }
    .speed-results-container {
        font-size: 35vw;
        line-height: 33vw
    }
    .bordered-speed-container {
        float: right;
        max-width: 80vw
    }
    .speed-units-container {
        margin-top: 3vw;
        font-size: 9vw
    }
    .speed-progress-indicator {
        border-width: .4vw
    }
    .speed-progress-indicator.in-progress>.spinner {
        width: 8vw;
        height: 8vw;
        border-radius: 4vw;
        box-shadow: 0 .3vw 0 0 orange
    }
    .circle {
        width: 8vw;
        height: 8vw;
        -moz-border-radius: 16vw;
        -webkit-border-radius: 16vw;
        border-radius: 16vw
    }
    .circle-small {
        width: 7vw;
        height: 7vw;
        -moz-border-radius: 14vw;
        -webkit-border-radius: 14vw;
        border-radius: 14vw
    }
    .help-small-icon-container {
        line-height: 7vw
    }
    .speed-progress-indicator-container {
        margin-top: 3vw;
        margin-left: 6vw
    }
    .speed-progress-indicator-icon {
        height: 8vw;
        width: 8vw;
        font-size: 6vw;
        line-height: 8vw !important
    }
    .help-content-container {
        padding-top: 2vw;
        padding-bottom: 2vw
    }
    .your-speed-message {
        font-size: 4.5vw;
        line-height: 6vw;
        min-height: 6vw
    }
    .extra-measurement-value-container {
        font-size: 7vw
    }
    .icon-result-summary {
        font-size: 5vw;
        margin: 1vw
    }
    .test-info-icon {
        width: 5vw;
        font-size: 5vw
    }
    .extra-metrics-container {
        margin-top: 2vh
    }
    .test-info-container {
        margin-top: 2vh
    }
    .usage-info-container {
        margin-top: 2vh
    }
    .more-info-link {
        font-size: 3vw
    }
}

.tooltip {
    position: relative;
    display: inline-block
}

.tooltip .tooltiptext {
    visibility: hidden;
    background-color: #555;
    color: #fff;
    text-align: center;
    padding: 5px 0;
    border-radius: 6px;
    position: absolute;
    z-index: 1;
    bottom: 125%;
    left: 50%;
    margin-left: -50%;
    font-size: 1em;
    line-height: 2em;
    opacity: 0;
    transition: opacity 1s
}

.tooltip .tooltiptext::after {
    content: "";
    position: absolute;
    top: 100%;
    left: 50%;
    margin-left: -5px;
    border-width: 5px;
    border-style: solid;
    border-color: #555 transparent transparent transparent
}

.tooltip:hover .tooltiptext {
    visibility: visible;
    opacity: 1
}

.more-details-link {
    text-align: center;
    color: #221f1f;
    text-decoration: underline;
    font-size: 100%
}

.hidden {
    display: none
}

.more-info-container {
    width: fit-content;
    width: -moz-fit-content;
    display: table
}

.test-info-location-header {
    font-weight: bold
}

#show-more-details-link {
    display: none
}

.localized a {
    text-decoration: underline;
    color: -webkit-link
}

.test-config-btn {
    padding: 8px;
    border-radius: 5px;
    border: 1px solid;
    color: #797777 !important;
    border-color: #7b7b7b
}

.test-config-btn:hover {
    cursor: pointer;
    color: #0092e1 !important;
    border-color: #0092e1
}

.config-label {
    padding-left: 8pt
}

.config-label-cbx {
    padding-left: 4pt
}

.config-cbx {
    height: 1.25vh;
    width: 1.25vh
}