/* Colors */

.yellow        { color: #fdba00 !important; border-color: #fdba00 !important; }
.orange        { color: #ed4d17 !important; border-color: #ed4d17 !important; }
.cerise        { color: #e70074 !important; border-color: #e70074 !important; }
.purple        { color: #6e328f !important; border-color: #6e328f !important; }
.blue          { color: #00bbdb !important; border-color: #00bbdb !important; }
.gray          { color: grey !important; border-color: grey !important; }
.green          { color: #00c609 !important; border-color: #00c609 !important; }
.btn.yellow:hover, .btn.yellow:active, .btn.yellow:focus { color: #fff !important; background:   #fdba00; }
.btn.orange:hover, .btn.orange:active, .btn.orange:focus { color: #fff !important; background:   #ed4d17; }
.btn.cerise:hover, .btn.cerise:active, .btn.cerise:focus { color: #fff !important; background:   #e70074; }
.btn.purple:hover, .btn.purple:active, .btn.purple:focus { color: #fff !important; background:   #6e328f; }
.btn.blue:hover, .btn.blue:active, .btn.blue:focus       { color: #fff !important; background:   #00bbdb; }
.btn.green:hover, .btn.green:active, .btn.green:focus       { color: #fff !important; background:   #00c609; }
.btn.gray:hover, .btn.gray:active, .btn.gray:focus       { color: #fff !important; background:   gray; }


/* Typography */


h1, h2, h3, h4, h5, h6, .intro, .leaguespartansmall {
    font-family: 'League Spartan';
}

.leaguespartansmall {
    font-size: 1.0em;
}

h1 {
    text-transform: uppercase;
    font-size: 60px;
    letter-spacing: 3px;
    text-rendering: optimizeLegibility;
    text-align: center;
}

h2 {
    text-transform: uppercase;
    font-size: 36px;
    letter-spacing: 2px;
    text-rendering: optimizeLegibility;
    text-align: center;
}

h3, .intro {
    font-size: 22px;
    line-height: 36px;
    text-align: center;
}

h2 + h3 {
    margin-top: 10px;
}

@media(max-width: 1016px){
    h1 {
        font-size: 50px;
    }
}
@media(max-width: 500px){
    h1 {
        font-size: 36px;
    }
    h2 {
        font-size: 24px;
    }
    h3, .intro {
        font-size: 18px;
        line-height: 28px;
    }
}
@media(max-width: 400px){
    h1 {
        font-size: 30px;
    }
}

body {
    font: 18px/28px Helvetica, "Helvetica Neue", Arial, sans-serif;
    font-weight: 200;
}

.small {
    font-size: 16px;
}

@media(max-width: 740px){
    br {
        display: none; /* No forced line breaks in smaller sizes */
    }
    .modal br, .highcharts-container br, .map-header br, .artistsCount br {
        display: inline; /* Except in song lyrics and Highcharts graphs!*/
    }

}


/* Lists */

ol {
    list-style-type: none;
    counter-reset: ol-counter;
    padding: 0;
    margin: 20px 0;
    line-height: 32px;
}
ol li:before {
    content: counter(ol-counter) ".";
    counter-increment: ol-counter;
    display: inline-block;
    width: 26px;
}


/* Links */

a:active,
a:focus,
a:hover {
    text-decoration: underline;
}

a,
.btn {
    color: inherit !important;
    font-family: inherit;
    font-size: inherit;
    font-weight: inherit;
    line-height: inherit;
}

/* Buttons */

.btn {
    text-decoration: none !important;
    position: relative;
}
.btn-default {
    background: none;
    border-radius: 0px;
    border: 2px solid black;
    box-shadow: none;
    text-shadow: none;
    font-family: "League Spartan";
    padding: 12px 20px 8px;
}
.btn.down,
.btn.up {
    padding-left: 40px;
}
.btn.down:after,
.btn.up:after {
    position: absolute;
    left: 15px;
    top: 12px;
    font-size: 80%;
}
.btn.down:after {
    content: "▼";
}
.btn.up:after {
    content: "▲";
}
.btn-songtoggle{
    padding: 6px 10px 4px;
}



/* Layout */

.container-fluid {
    max-width: 940px;
}
section, header {
    padding-bottom: 40px;
    border-bottom: solid 1px lightgray;
}

@media(max-width: 1016px){
    .container-fluid {
        margin: 0 4%;
    }
}


/* Header */

header {
    position: relative;
    text-align: center;
}
header img {
    position: absolute;
    width: 8%;
    max-width: 80px;
}
header .circle   { left:  0;     top: 0; }
header .plus1    { left:  120px; top: 10px; }
header .saw      { left:  70px;  top: -40px; }
header .triangle { right: 0;     top: 0; }
header .plus2    { right: 70px;  top: -30px; }
header .sine     { right: 110px; top: 20px; }

@media(max-width: 1016px){
    header img {
        position: static;
    }
}
@media(max-width: 740px){
    header img {
        width: 10%;
    }
}


/* Footer */

footer {
    margin-top: 1em;
    margin-bottom: 3em;
}
footer p {
    color: gray;
}

footer a {
    color: #2b2b2b !important;
}


/* Common elements */


.more .btn {
    margin-top: 20px;
}

.social {
    margin-top: 20px;
}

.social a {
    display: inline-block;
    margin-left: 5px;
}


/* Graphs */

svg,
text {
    font-family: Helvetica, "Helvetica Neue", Arial, sans-serif;
    font-size: 16px !important;
    font-weight: 200 !important;   
}

text.highcharts-title {
    font-family: 'League Spartan';
    font-size: 18px !important;
}


.vertical-center {
    min-height: 100%;  /* Fallback for vh unit */
    min-height: 100vh; /* You might also want to use
                        'height' property instead.

                        Note that for percentage values of
                        'height' or 'min-height' properties,
                        the 'height' of the parent element
                        should be specified explicitly.

                        In this case the parent of '.vertical-center'
                        is the <body> element */

    /* Make it a flex container */
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;

    /* Align the bootstrap's container vertically */
    -webkit-box-align : center;
    -webkit-align-items : center;
    -moz-box-align : center;
    -ms-flex-align : center;
    align-items : center;

    /* In legacy web browsers such as Firefox 9
       we need to specify the width of the flex container */
    /*width: 100%;*/

    /* Also 'margin: 0 auto' doesn't have any effect on flex items in such web browsers
       hence the bootstrap's container won't be aligned to the center anymore.

       Therefore, we should use the following declarations to get it centered again */
    -webkit-box-pack : center;
    -moz-box-pack : center;
    -ms-flex-pack : center;
    -webkit-justify-content : center;
    justify-content : center;
}

.vcenter {
    display: inline-block;
    vertical-align: middle;
    float: none;
}

.row, .tspacing {
    margin-top: 3em;
}

.tpadding {
    padding-top: 3em;
}

.collapse {
    clear: both;
}


ul.nav-pills>li {
    width: 50%;
    border: 2px solid black;
    margin: 0;
    font-family: 'League Spartan';
}

ul.nav-pills .subtitle {
    font-family: Helvetica, "Helvetica Neue", Arial, sans-serif;
    font-size: 16px !important;
    font-weight: 200 !important;
    display: block;
}

@media(max-width: 768px){
    ul.nav-pills .subtitle{
        display: none;
    }
}

#firstPost .nav-pills.blue>li {
    border-color: #00bbdb;
}

#firstPost ul.nav-pills>li>a {
    border-radius: 0;
}

#firstPost .nav-pills.blue>li.active>a,
#firstPost .nav-pills.blue>li.active.blue>a:focus,
#firstPost .nav-pills.blue>li.active>a:hover {
    background-color: #00bbdb;
    color: #ffffff !important;
}

#firstPost .nav-pills.blue>li>a,
#firstPost .nav-pills.blue>li.blue>a:focus,
#firstPost .nav-pills.blue>li>a:hover {
    color: #00bbdb !important;
    background-color: transparent;

}

#secondPost .hold-together {
    /*margin-top: 1em;*/
    margin-bottom: 0px;
}

#secondPost .hold-together h3 {
    margin-top: 0px;
    margin-bottom: 0px;
    font-size: 18px !important;
    font-weight: 200 !important;
}


@-webkit-viewport   { width: device-width; }
@-moz-viewport      { width: device-width; }
@-ms-viewport       { width: device-width; }
@-o-viewport        { width: device-width; }
@viewport           { width: device-width; }


/* Modal */

.modal-content {
    border-radius: 0;
}
.modal-meta {
    font-size: 16px;
    line-height: 22px;
    margin-top: 10px;
    border-top: 1px solid white;
    padding-top: 10px;
}

#firstPost .modal-header {
    background-color: #00bbdb;
    color: #ffffff;
}

#secondPost .modal-header {
    background-color: #6e328f;
    color: #ffffff;
}

#thirdPost .modal-header {
    background-color: #fdba00;
    color: #ffffff;
}

#thirdPost ol li:before {
    color: #fdba00;
}


/* network graph */

#vis-tooltip.tooltip {
    border-radius: 0;
    padding: 0;
    -webkit-box-shadow: 0 5px 15px rgba(0,0,0,.5);
    box-shadow: 0 5px 15px rgba(0,0,0,.5);
    -webkit-background-clip: padding-box;
    background-clip: padding-box;
    border: 1px solid rgba(0,0,0,.2);

}

#vis-tooltip .tooltip-header {
    background-color: #fdba00;
    color: #ffffff;
}

#vis-tooltip .tooltip-header, #vis-tooltip .tooltip-body {
    padding: 15px;
}


/* Tables */

table.dataTable {
    width: 100%;
    border-collapse: collapse;
}
table.dataTable thead {
    font-family: 'League Spartan';
    font-size: 14px;
}
table.dataTable tbody td {
    padding: 6px 10px 6px 10px;
}
table.dataTable thead th {
    border: 2px solid black;   
    padding: 10px 10px 10px 10px;
}
table.dataTable tbody tr {
    border-bottom: 1px solid lightgray;
}
table.dataTable .text {
    text-align: left;
}
table.dataTable .count {
    width: 20%;
    text-align: right;
}
.dataTables_paginate {
    margin-top: 10px;
    text-align: center;
}
.dataTables_paginate .paginate_button {
    padding: 3px 6px;
    cursor: pointer;
}
.dataTables_wrapper {
    margin-top: 2em;
}

/* First post coloring */
#firstPost table.dataTable thead th {
    border-color: #00bbdb;
    cursor: pointer;
}

#firstPost table.dataTable thead th.sorting_disabled,
#firstPost table.dataTable thead th.sorting_desc,
#firstPost table.dataTable thead th.sorting_asc {
    background: #00bbdb;
    color: #ffffff;
}

#firstPost table.dataTable thead th.sorting {
    color: #00bbdb;
}

/* Second post coloring */
#secondPost table.dataTable thead th {
    border-color: #6e328f;
    cursor: pointer;
}

#secondPost table.dataTable thead th.sorting_disabled,
#secondPost table.dataTable thead th.sorting_desc,
#secondPost table.dataTable thead th.sorting_asc {
    background: #6e328f;
    color: #6e328f;
}

#secondPost table.dataTable thead th.sorting {
    color: #6e328f;
}

/* Third post coloring */
#thirdPost table.dataTable thead th {
    border-color: #fdba00;
    cursor: pointer;
}

#thirdPost table.dataTable thead th.sorting_disabled,
#thirdPost table.dataTable thead th.sorting_desc,
#thirdPost table.dataTable thead th.sorting_asc {
    background: #fdba00;
    color: #ffffff;
}

#thirdPost table.dataTable thead th.sorting {
    color: #fdba00;
}

/* Highcharts objects */
#secondPost rect {
    /*line-height: 0px;*/
}

/* Get data */

#getData a {
    color: #e70074;
}
#getData img {
    width: 80px;
    float: left;
    margin-right: 30px;
}
#getData h3 {
    margin-top: 0;
    text-align: left;
}
@media(max-width: 740px){
    #getData {
        text-align: center;
    }
    #getData h3 {
        text-align: center;
    }
    #getData img {
        width: 50px;
        float: none;
        text-align: center;
        margin: 0px 0px 20px;
    }
}



.collapsing {
    -webkit-transition-duration: .55s;
         -o-transition-duration: .55s;
            transition-duration: .55s;

}



@media(min-width:768px) {
    #firstPost .tab-content > .tab-pane {
        display: block !important;
        visibility: visible;
        float: left;
        width: 50%;
    }

    #firstPost .tab-content > .tab-pane ol {
        margin-top: 5px;
    }

    #firstPost .nav-pills.blue>li>a,
    #firstPost .nav-pills.blue>li.blue>a:focus,
    #firstPost .nav-pills.blue>li>a:hover,
    #firstPost .nav-pills.blue>li.active>a,
    #firstPost .nav-pills.blue>li.active.blue>a:focus,
    #firstPost .nav-pills.blue>li.active>a:hover{
        text-decoration: initial !important;
        cursor: default;
        color: #000000 !important;
        background-color: transparent !important;
        /*text-align: left;*/
        padding: 0;
    }
    #firstPost .nav-pills.blue>li {
        border: none !important;
    }
}

.dataTables_wrapper .dataTables_paginate .paginate_button.current {
    text-decoration: underline !important;
}

.toggle-bar {
    text-align: center;
}



#artistsMapControls {
    position: absolute;
    top: 10px;
    right: 10px;
    z-index: 1;
}

.artistsToggleActiveCerise {
    background-color: #e70074;
    color: #ffffff !important;
}
.artistsToggleActiveBlue {
     background-color: #00bbdb;
     color: #ffffff !important;
 }
.artistsToggleActiveGrey {
    background-color: grey;
    color: #ffffff !important;
}
.artistsToggleInActiveCerise {
    background-color: rgba(255,255,255,0.5);
    color: #e70074 !important;
}
.artistsToggleInActiveBlue {
    background-color: rgba(255,255,255,0.5);
    color: #00bbdb !important;
}
.artistsToggleInActiveGrey {
    background-color: rgba(255,255,255,0.5);
    color: grey !important;
}

.blockLeft {
    display: block;
    float: left;
}

.artistsToggleCerise {
    padding: 2px 5px;
    border: 1px solid #e70074;
    text-align: center;
    cursor: pointer;
}

.artistsToggleBlue {
    padding: 2px 5px;
    border: 1px solid #00bbdb;
    text-align: center;
    cursor: pointer;
}

.artistsToggleGrey {
    padding: 2px 5px;
    border: 1px solid grey;
    text-align: center;
    cursor: pointer;
}


#artists_female, #artists_men, #artists_bands {
    display: block;
}

#artistsMapControls nav div:last-child {
    padding-left: 106px;
    padding-top: 40px;
}



.artistsToggleGroup {
    padding-left: 0;
    text-align: right;
}

#fourthPost .slider-handle, #fourthPost .slider-selection {
    background: none !important;
    background-color: #e70074 !important;

}

.marginbottom {
    margin-bottom: 1em;
}

/* leaflet */

.leaflet-popup-content, .leaflet-popup-close-button+.leaflet-popup-content-wrapper .leaflet-popup-content {
    padding: 0;
}
.leaflet-popup-close-button {
    display: none;
}

.leaflet-popup-content-wrapper {
    border-radius: 0;
    padding: 0;
    -webkit-box-shadow: 0 5px 15px rgba(0,0,0,.5);
    box-shadow: 0 5px 15px rgba(0,0,0,.5);
    -webkit-background-clip: padding-box;
    background-clip: padding-box;
    border: 1px solid rgba(0,0,0,.2);
    font-size: 15px;
}


.map-header h4 {
    border-bottom: 1px solid #ffffff;
    padding-bottom: 15px;
}
.map-header {
    padding: 15px;
    color: #ffffff;
}

.map-body {
    padding: 15px;
}

.map-body ul{
    display: inline;
    padding: 0;
    list-style: none;
}

.artistsCount {
    font-size: 36px;
    padding-top: 66px;
}

@media(max-width: 768px){
    .artistsCount {
        padding-top: 0;
    }
}


/* winner */
#winner {
    font-size: 75px;
    margin-top: 1em;
    margin-bottom: 0.5em;
    text-transform: uppercase;
}

@media(max-width: 1016px){
    #winner {
        font-size: 60px;
    }
}

@media (max-width: 768px){
    #winner {
        font-size: 40px;
    }
}

#computercopy {
    font-family: 'Monaco', 'Menlo', 'Ubuntu Mono', 'Droid Sans Mono', 'Consolas', monospace;
    background-color: #000000;
    border-radius: 3px;
    padding: 15px;
    margin: 0 10px;
}

#sixthPost ol li:before {
    color: #00c609;
}
ul li {
    list-style: none;
}
ul li:before {
    content: '\25A0';
    display: block;
    position: relative;
    max-width: 0;
    max-height: 0;
    left: -26px;
    top: -2px;
}

ul.nav-pills li:before {
    content: '';
}

#sixthPost ul li:before {
      color: #00c609;
}
#secondPost ul li:before {
    color: #6e328f;
}

#firstPost ol li:before {
    color: #00bbdb;
}

#weightSpider {
    margin-bottom: 2em;
    margin-top: 2em;
}

@media (max-width: 768px) {
    #weightSpider {
        margin-bottom: 1em;
        margin-top: 1em;
    }
}
