body {
    padding-top: 0;
    background-color: #e9eff5;
    color: #424242;
}

.navbar {
    height: 54px;
    margin-bottom: 0;
    border-radius: 0;
}

.navbar-inverse {
    background-color: #263238;
    border-color: #263238;
}

.footer {
    background-color: #404041;
    color: #b6b6b6;

    margin: 0;
    padding: 50px 0;

    font-family: StagSansWeb-Book;
    font-size: 18px;
    font-weight: normal;
    font-style: normal;
    font-stretch: normal;
    line-height: 1;
    letter-spacing: -0.4px;

    text-align: center;
}

.footer h3 {
    font-size: 36px;
}

.footer p {
    font-family: StagSansWeb-Medium;
    font-weight: 500;
    font-style: normal;
    font-stretch: normal;
    line-height: 1;
    letter-spacing: -0.4px;

    text-rendering: optimizeLegibility;
}

.footer a {
    color: inherit;
    text-decoration: none;
}

.footer a:hover {
    color: inherit;
    text-decoration: underline;
}

h1,
.jumbotron h1 {
    font-family: StagSansWeb-Light;
    font-size: 54px;
    font-weight: 300;
    font-style: normal;
    font-stretch: normal;
    line-height: normal;
    letter-spacing: -1.5px;
}

h2 {
    font-family: StagSansWeb-Light;
    font-size: 40px;
    font-weight: 300;
    font-style: normal;
    font-stretch: normal;
    line-height: 1.12;
    letter-spacing: normal;
}

h3 {
    font-family: OpenSans-Regular;
    font-size: 28px;
    font-weight: 300;
    font-style: normal;
    font-stretch: normal;
    line-height: 36px;
    letter-spacing: normal;
}

p,
label,
.jumbotron p,
.table th,
.table td {
    font-family: OpenSans-Regular;
    font-size: 18px;
    font-weight: normal;
    font-style: normal;
    font-stretch: normal;
    line-height: 28px;
    letter-spacing: normal;
}

.table th,
.table td {
    padding: 12px 20px;
}

p strong {
    font-family: OpenSans-Semibold;
    font-weight: 600;
}

.table th {
    font-family: OpenSans-Semibold;
    font-weight: 600;
}

.btn {
    font-family: OpenSans-Semibold;
    font-size: 18px;
    font-weight: 600;
    font-style: normal;
    font-stretch: normal;
    
    line-height: normal;
    letter-spacing: normal;
    text-align: center;
    
    padding: 18px 9px;
    
    width: 300px;
    max-width: 100%;

    border-radius: 3px;
    border-color: none;

     white-space: normal;
}

.btn:hover {
    border-color: none;
}

.btn .loader {
    display: none;
    visibility: hidden;
    width: 32px;
    height: 32px;
    position: absolute;
    right: 32px;
    top: -64px;
    background-image: url(/media/img/spinner_32@2x.png);
    background-repeat: no-repeat;
    background-size: 32px 32px;
    animation: spin 1.5s infinite linear;
    -webkit-animation: spin2 1.5s infinite linear;
}

.btn[data-style="loading"] .loader {
    display: block;
    visibility: visible;
}

.btn-main {
    background-color: #3f51b5;
    color: #fff;
}

.btn-main:hover {
    background-color: #3f55d2;
    color: #fff;

    box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.3);
}

.btn-light {
    background-color: transparent;
    border-color: #fff;
    color: #fff;
}

.btn-light:hover {
    background-color: rgba(0, 0, 0, 0.3);
    border-color: #fff;
    color: #fff;
}

.btn-danger {
    background-color: #f44336;
    border-color: #f44336;

    color: #fff;
}

.btn-danger:hover {
    background-color: #f44336;
    border-color: #f44336;

    color: #fff;

    box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.3);
}

.btn-danger-light {
    background-color: transparent;
    border-color: #f44336;

    color: #f44336;
}

.btn-danger-light:hover {
    background-color: transparent;
    border-color: #f44336;

    color: #f44336;

    box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.3);
}

button.link img {
    width: 7px;
    height: 12px;
    margin-left: 13px;
}

.jumbotron {
    background: #fff no-repeat center top;
    color: #fff;
    text-align: center;

    padding-top: 35px;
    padding-bottom: 240px;
}

.jumbotron h1 {
    margin-top: 0;
}

.jumbotron hr {
    border-bottom: 3px solid #fff;
    margin: 14px auto 21px;
    width: 50px;
}

.jumbotron[name="header"] p {
    width: 515px;
    margin: 0 auto;
    position: relative;
}

.jumbotron[name="header"] {
    background-image: url(/media/img/background_header.jpg);
    background-size: auto 339px;
    max-height: 339px;
}

.jumbotron[name="map"] {
    background: #e9eff5;
    background-size: auto 645px;
    max-height: 645px;

    padding: 50px 0;
    margin: 0;
}

.panel-result {
    border: none;
    border-radius: 0;
    box-shadow: none;
    background-color: transparent;
}

.panel-result .panel-heading {
    font-family: StagSansWeb-Book;
    font-size: 20px;
    font-weight: normal;
    font-style: normal;
    font-stretch: normal;
    line-height: 0.59;
    letter-spacing: -0.5px;
    padding-top: 1.1em;
    padding-bottom: 1.1em;
    background-color: #e9eff5;
    color: #000;
    border-left: none;
    border-right: none;
    border-bottom: none;
    border-top: none;
    border-top-left-radius: 0;
    border-top-right-radius: 0;
}

.panel-result .panel-progress {
    box-shadow: none;
    border-radius: 0;
    height: 14px;
    padding: 0;
    margin: 0;
    background: #58616a;
}

.panel-result .panel-progress .progress-bar[data-status="progress"] {
    background-color: #fe9d09 !important;
}

.panel-result .panel-progress .progress-bar[data-status="waiting"] {
    animation: blinker 1s linear infinite;
}

.panel-result .panel-body {
    font-family: StagSansWeb-Book;
    font-size: 22px;
    font-weight: normal;
    font-style: normal;
    font-stretch: normal;
    line-height: 0.59;
    letter-spacing: -0.5px;
    border: none;
    color: #000;
}

.panel-result span[name="value"] {
    display: inline-block;
    text-align: right;
    width: 265px;
    font-family: StagSansWeb-Light;
    font-size: 100px;
    font-weight: 300;
    font-style: normal;
    font-stretch: normal;
    line-height: 1.16;
    letter-spacing: normal;
}

.panel-result span[name="unit"] {
    display: inline-block;
    text-align: left;
    margin-left: 5px;
    font-family: StagSansWeb-Light;
    font-size: 20px;
    font-weight: 300;
    font-style: normal;
    font-stretch: normal;
    line-height: 0.42;
    letter-spacing: normal;
}

[name="latency"] .panel-result span[name="value"] {
    width: auto;
}

.form-control {
    height: 48px !important;
    border-radius: 3px;
    background-color: #ffffff;
    border: none !important;
    box-shadow: none !important;
    font-family: OpenSans-Regular;
    font-size: 16px;
    font-weight: 600;
    font-style: normal;
    font-stretch: normal;
    line-height: 1.56;
    letter-spacing: normal;
    text-shadow: none;
    
    color: #424242;
}

select.form-control {
    -webkit-appearance: none;
    -moz-appearance: none;

    background: #ffffff url(/media/img/arrow-outline-bold-form@3x.png) no-repeat right center;
    background-size: 30px 9px;
}

input.form-control::-webkit-input-placeholder {
    color: #424242;
}

input.form-control::-moz-placeholder {
    color: #424242;
}

input.form-control::-ms-input-placeholder {
    color: #424242;
}

.form-group button {
    width: 100%;
}

.loader {
    width: 100px;
    height: 100px;
    margin: 80px auto;
}

.loader .spinner {
    width: 100px;
    height: 100px;
    background: transparent url(/media/img/spinner_100@2x.png);
    background-repeat: no-repeat;
    background-size: 100px 100px;
    background-position: center middle;
    animation: spin 1.5s infinite linear;
    -webkit-animation: spin2 1.5s infinite linear;
}

.container[name="content"] {
    background-color: #fff;

    margin-top: -240px;
    margin-bottom: 60px;
}

#progressSection {
    margin-top: 35px;
}

#progressSection p {
    margin: 0;
}

#progressSection [name="idicator"] {
    background-color: #e6ecf4;
    background-image: url(/media/img/background-progress@2x.png);
    background-repeat: no-repeat;
    background-size: 1175px 35px;
    box-shadow: none;
    border-radius: 0;
    height: 35px;
    margin-bottom: 35px;
}

.col-xs-offset-auto,
.col-sm-offset-auto,
.col-md-offset-auto,
.col-lg-offset-auto {
    margin-left: auto;
    margin-right: auto;
    float: none;
}

#homeSection [name="confirmation"] [name="header"] p {
    font-family: OpenSans-Regular;
    font-size: 30px;
    line-height: 1.29;
}

#homeSection [name="confirmation"] [name="content"] {
	background-color: #4182cd;
	color: #ffffff;
	
	padding-top: 50px;
	padding-bottom: 50px;
	
	margin-top: 50px;
	margin-bottom: 50px;
}

#homeSection [name="confirmation"] [name="content"] p,
#homeSection [name="confirmation"] [name="content"] img,
#homeSection [name="confirmation"] [name="description"] p {
	margin-bottom: 50px;
}

#homeSection [name="confirmation"] [name="content"] p {	
    font-family: OpenSans-Regular;
    font-size: 20px;
    font-weight: normal;
    font-style: normal;
    font-stretch: normal;

    line-height: 1.44;
}

#homeSection [name="confirmation"] [name="content"] img {
	width: 70%;
	
	font-size: 14px;
    line-height: 1.71;
}

#homeSection [name="confirmation"] [name="description"] p {
    font-family: OpenSans-Regular;
    font-size: 14px;
    font-weight: normal;
    font-style: normal;
    font-stretch: normal;

    line-height: 1.71;
}

#homeSection [name="confirmation"] [name="controls"] {
}

#statusSection [name="header"] {
    min-height: 52px;
}

#statusSection [name="header"] p {
    font-family: StagSansWeb-Book;
    font-weight: normal;
    font-style: normal;
    font-stretch: normal;
    line-height: 1.47;
    letter-spacing: -0.7px;
    font-size: 30px;
}

#statusSection [name="header"] span {
    background-repeat: no-repeat;
    background-position: right center;
    background-size: 26px 26px;
}

#statusSection [name="header"] span[data-style="finish"],
#statusSection [name="header"] span[data-style="error"] {
    padding-right: 50px;
}

#statusSection [name="header"] span[data-style="finish"] {
    background-image: url(/media/img/statusFinish@2x.png);
}

#statusSection [name="header"] span[data-style="error"] {
    background-image: url(/media/img/statusError@2x.png);
    color: #f44336;
}

#statusSection [name="description"] {
    min-height: 24px;
}

#statusSection [name="description"] p {
    font-family: OpenSans-Regular;
    font-size: 20px;
    font-weight: normal;
    font-style: normal;
    font-stretch: normal;
    line-height: 2.14;
    letter-spacing: -0.5px;
}

#testSection {
    margin-top: 13px;
}

#testSection [name="results"] {
    display: none;
}

#testSection [name="results"] .panel-result .panel-body {
    background-color: #e6ecf4;
    background-image: url(/media/img/lines-copy@2x.png);
    background-repeat: repeat-x;
    border-top: 1px solid #fafbfd;
    height: 130px;
    padding-top: 20px;
}

#analysisSection {
    display: none;
    margin-right: 0;
    margin-left: 0;
}

#analysisSection h2,
#analysisSection h3,
#analysisSection p,
#analysisSection label {
    text-align: center;
}

#analysisSection h2,
#analysisSection h3,
#analysisSection p {
    margin-top: 0;
    margin-bottom: 35px;
}

#analysisSection label {
    font-size: 16px;
}

#analysisSection h2 {
    font-size: 45px;
    margin-bottom: 14px;
}

#analysisSection h3 {
    font-size: 30px;
}

#analysisSection section {
	margin-right: 0;
	margin-left: 0;
}

#analysisSection [name="header"] {
	background-color: inherit;
	color: #fff;
}

#analysisSection [name="header"] .rectangle {
    width: 134px;
    height: 50px;
    border-left: 67px solid transparent;
    border-right: 67px solid transparent;
    border-top: 50px solid #fff;
    
    margin-bottom: 15px;
}

#analysisSection [name="menu"] {
	background-color: #e9eff5;
    color: #000000;
    
    padding-bottom: 35px;
}

#analysisSection [name="confirmation"] {
	background-color: #133e70;
	color: #fff;
}

#analysisSection [name="confirmation"] .rectangle {
    border-top-color: #e9eff5;
}

#analysisSection [name="confirmation"] a {
    color: #fff;
    text-decoration: underline;
}

#analysisSection [name="confirmation"] [name="content"] {
    display: none;
    
    background-color: #4182cd;
	padding-bottom: 50px;
	
	color: #ffffff;
}

#analysisSection [name="confirmation"] [name="locationStep"] {
    display: none;
}

#analysisSection [name="confirmation"] [name="detailsStep"] {
    display: none;
}

#analysisSection [name="comparison"] {
    display: none;
}

#analysisSection [name="comparison"] [name="header"] {
    background-color: #4182cd;
	color: #fff;
}

#analysisSection [name="comparison"] [name="header"] .rectangle {
    border-top-color: #fff;
}

#analysisSection [name="comparison"] [name="neighbours"] {
    background-color: #4182cd;
    color: #ffffff;
    
	padding-bottom: 30px;
	margin-bottom: 30px;
	
	overflow: hidden;
}

#analysisSection [name="comparison"] [name="nothappy"] {
    background-color: #ffffff;
    color: #000000;
	
	text-align: center;
}

.progress-bar-latency,
#testSection [name="results"] [name="latency"] .panel-result .panel-progress .progress-bar {
    background-color: #133e70;
}

.progress-bar-download,
#testSection [name="results"] [name="download"] .panel-result .panel-progress .progress-bar {
    background-color: #3d7fcb;
}

.progress-bar-upload,
#testSection [name="results"] [name="upload"] .panel-result .panel-progress .progress-bar {
    background-color: #5298e8;
}

#analysisSection .table {
    border: none;
    margin-bottom: 0;
}

#analysisSection .table-striped tbody tr:nth-of-type(odd) {
	background-color: rgba(18, 62, 115, 0.2);
}

#analysisSection .table-striped tbody tr:nth-of-type(even) {
    background-color: #103c72;
}

#analysisSection .table th,
#analysisSection .table td {
    border-top: none;
    border-bottom: none;
    
    font-family: OpenSans-Regular;
    font-size: 24px;
    font-weight: 300;
    font-style: normal;
    font-stretch: normal;
    
    line-height: 1.38;
    letter-spacing: normal;
    
    text-align: left;
    vertical-align: top;
    
    padding-top: 15px;
	padding-bottom: 15px;
}

#analysisSection .table td div {
    width: 100%;
    height: 35px;
    
    overflow: hidden;
}

#analysisSection .table th {
	font-weight: 600;
}

#analysisSection .table th:first-child,
#analysisSection .table td:first-child {
    width: 30%;
    
    padding-left: 24px;
}

#analysisSection .btn {
    width: 100%;
}

#analysisSection .form-control[data-style="error"] {
    background-color: #ffebee;
    border-color: #f18289 !important;
}

#analysisSection .form-group[data-style="submit"] {
    margin-top: 30px;
}

#footerSection a:hover {
    cursor: pointer;
    opacity: 0.7;
}

#footerSection .share,
#footerSection .share:hover {
    margin: 0 0.4em !important;
}

#footerSection .share img {
    width: 46px;
    height: 46px;
}

#footerSection [name="links"] a {
    margin-right: 1em;
    line-height: 2.11;
}

#footerSection [name="links"] p {
     margin-bottom: 30px;
}

.skipDown {
    width: 213px;
    height: 36px;

    margin: 0 auto;
    padding-top: 8px;
    padding-right: 20px;
    
    border-radius: 40px;
    background-color: #000000;
    box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.5);
    
    background-image: url(/media/img/arrows-down@2x.png);
    background-size: 9px 13px;
    background-position-x: 185px;
    background-position-y: 11px;
    background-repeat: no-repeat;
    
    font-family: OpenSans-Regular;
    font-size: 15px;
    font-weight: normal;
    font-style: normal;
    font-stretch: normal;
    line-height: 1.33;
    letter-spacing: normal;
    text-align: center;
    
    color: #ffffff;
    opacity: 0.8;
}

#skipToAnalysis {
    display: none;

    position: fixed;
    z-index: 1030;
    height: 36px;

    right: 0;
    left: 0;
    bottom: 20px;

    overflow: hidden;
}

#skipToAnalysis[data-allowed="false"] {
    height: 0;
}

.skipDown {
    cursor: pointer;
}

.btn img.arrow {
    display: inline-block;
    max-height: 14px;

    margin-top: -2px;
    margin-left: 4px;
}

select {
    -webkit-appearance: none;
    -moz-appearance: none;

    text-indent: 1px;
    text-overflow: '';
}

@keyframes blinker {
    50% {
        opacity: 0.5;
    }
}

@keyframes spin {
    from {
        transform: scale(1) rotate(0deg);
    }

    to {
        transform: scale(1) rotate(360deg);
    }
}

@-webkit-keyframes spin2 {
    from {
        -webkit-transform: rotate(0deg);
    }

    to {
        -webkit-transform: rotate(360deg);
    }
}

/* content screens */
@media (max-width: 429px) {
    /* 62% */
    
    #testSection [name="results"] .panel-result .panel-body {
        height: 80px;
        padding-top: 12px;
    }

    .panel-result span[name="value"] {
        width: auto;
        min-width: 134px;

        font-size: 64px;
    }

    [name="latency"] .panel-result span[name="value"] {
        width: auto;
        min-width: auto;
    }

    .panel-result span[name="unit"] {
        font-size: 20px;
    }
}

@media (min-width: 430px) {
    /* 62% */
    
    #testSection [name="results"] .panel-result .panel-body {
        height: 80px;
        padding-top: 12px;
    }

    .panel-result span[name="value"] {
        width: 143px;
        font-size: 55px;
    }

    .panel-result span[name="unit"] {
        font-size: 12px;
    }
}

@media (min-width: 768px) {
    /* 62% */
    
    .container[name="content"] {
        width: 768px;

        padding-left: 35px;
        padding-right: 35px;
        padding-bottom: 30px;
    }
}

@media (min-width: 992px) {
    /* 80% */
    
    .container[name="content"] {
        width: 992px;
    }

    #testSection [name="results"] .panel-result .panel-body {
        height: 104px;
        padding-top: 16px;
    }

    .panel-result span[name="value"] {
        width: 208px;
        font-size: 78px;
    }

    .panel-result span[name="unit"] {
        font-size: 16px;
    }
}

@media (min-width: 1240px) {
    /* 100% */
    
    .container[name="content"] {
        width: 1240px;
    }

    #testSection [name="results"] .panel-result .panel-body {
        height: 130px;
        padding-top: 15px;
    }

    .panel-result span[name="value"] {
        width: 258px;
        font-size: 97px;
    }

    .panel-result span[name="unit"] {
        font-size: 30px;
    }

    #analysisSection .table th:first-child,
    #analysisSection .table td:first-child {
        width: 40%;
    }
}

/* screen-lg */
/* @media (max-width: 1199px) { */
@media (max-width: 1239px) {
    h2 {
        font-size: 36px;
    }

    h3 {
        font-size: 24px;
    }
}

/* screen-md */
@media (max-width: 991px) {
    h2 {
        font-size: 32px;
    }

    h2 {
        font-size: 20px;
    }
}

/* screen-sm */
@media (min-width: 768px) and (max-width: 991px) {
    .panel-result .panel-heading {
        font-size: 14px;
    }
}

/* screen-xs */
@media (max-width: 767px) {
    .jumbotron[name="header"] {
        max-height: 135px;
        padding-top: 18px;
    }

    .jumbotron h1 {
        font-size: 30px;
    }

    h2 {
        font-size: 36px;
    }

    h3 {
        font-size: 22px;
        line-height: 30px;
    }

    .container[name="content"] {
        margin-bottom: 8px;
        margin-top: -220px;
    }
    
    #homeSection {
	    padding-top: 15px;
    }
    
    #homeSection [name="confirmation"] [name="content"] {
	    margin-top: 30px;
	    margin-bottom: 30px;
	    
	    padding-top: 30px;
	    padding-bottom: 30px;
    }

	#homeSection [name="confirmation"] [name="content"] p,
	#homeSection [name="confirmation"] [name="content"] img,
	#homeSection [name="confirmation"] [name="description"] p {
        margin-bottom: 30px;
    }

    #progressSection {
        margin-top: 8px;
    }

    #progressSection [name="idicator"] {
        height: 24px;
        margin-bottom: 8px;
    }

    #statusSection [name="header"] {
        min-height: 64px;
    }

        #statusSection [name="header"] p {
            font-size: 24px;
            line-height: 1.17;
            letter-spacing: -0.6px;
        }

        #statusSection [name="header"] span {
            background-size: 22px 22px;
        }

    #statusSection [name="description"] {
        min-height: 38px;
    }

        #statusSection [name="description"] p {
            font-size: 16px;
            line-height: 1.38;
            letter-spacing: -0.4px;
        }

    #testSection {
        margin-top: 16px;
    }

    .panel-result {
        margin-bottom: 5px;
    }

    #analysisSection {
        max-height: none;
        margin-top: 15px;
    }

    #analysisSection h2 {
	    font-size: 32px;
	    
	    margin-bottom: 30px;
    }
    
    #analysisSection [name="header"] {
	    padding-top: 30px;
    }
    
    #analysisSection [name="header"] .rectangle {
	    display: none;
    }
    
    #analysisSection section {
	    margin-left: -15px;
	    margin-right: -15px;
    }

    .jumbotron[name="map"] {
        padding: 8px 0;
    }
    
    #analysisSection .table th {
		font-size: 12px;
    }
    
	#analysisSection .table td {
		font-size: 16px;
	}
	
	#analysisSection .table th:first-child,
	#analysisSection .table td:first-child {
		width: 26%;
		padding-left: 15px;		
	}

    #analysisSection [name="comparison"] [name="neighbours"],
    #analysisSection [name="comparison"] [name="neighbours"] > .col-sm-12,
    #analysisSection [name="comparison"] [name="nothappy"] {
        padding-left: 0;
        padding-right: 0;
    }
    
    #analysisSection [name="comparison"] [name="neighbours"] {
	    padding-bottom: 0;
    }

    #footerSection [name="links"] {
        text-align: left;
    }

    #footerSection [name="links"] p {
        margin-bottom: inherit;
    }

    #footerSection [name="links"] a {
        display: block;
    }
}

@media (min-width: 414px) and (max-width: 767px) {
}

@media (min-width: 768px) {
    #skipToAnalysis {
        height: 0 !important;
    }
}

/* screen-xxs */
@media (max-width: 414px) {
    h2 {
        font-size: 28px;
    }

    h3 {
        font-size: 20px;
    }

    #analysisSection .table td div {
        height: 22px;
    }
    
    #homeSection [name="confirmation"] [name="header"] p {
	    font-size: 18px;   
    }
    
    #homeSection [name="confirmation"] [name="content"] p {
	    font-size: 14px;
    }
    
    #homeSection [name="confirmation"] [name="description"] p {
	    font-size: 12px;   
    }
}