html {
    font-size: 62.5%;
}

body {
    margin: 0;
    padding: 0;
    overflow: hidden;
    /*overflow-x: hidden;
    overflow-y: scroll;*/
    touch-action: none;
    font-size: 1.6em;
    min-height: 100%;
    display: flex;
    flex-flow: column;
    justify-content: center;
    align-items: center;
}

html,
body {
    height: 100%;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: "brandon-grotesque", sans-serif;
}

#map {
    position: absolute;
    top: 0;
    bottom: 0;
    width: 100%;
    overflow: hidden;
}

q {
    quotes: "“" "”" "‘" "’";
}

q:before {
    content: open-quote;
}

q:after {
    content: close-quote;
}

p {
    font-size: 0.875em;
    font-family: "proxima-nova", sans-serif;
}

.fade {
    opacity: 1;
    background: transparent;
}

.conceal {
    /*display: none;*/
    visibility: hidden;
}

#sidebar {
    z-index: 2;
    position: absolute;
    right: 10px;
    top: 10px;
}

#actions {
    display: none;
    position: absolute;
    right: 10px;
    top: 58px;
    z-index: 2;
}

/* Larger than phablet */
@media (min-width: 550px) {
    
    #actions {
        display: none;
        position: absolute;
        right: 14px;
        top: 110px;
        z-index: 2;
    }

}

#view-profile {
    display: flex;
    background: #fff;
    border-radius: 50%;
    box-shadow: 0px 2px 6px rgba(0,0,0,0.1);
}

#view-profile img {
    height: 40px;
    width: 40px;
}

/* Larger than phablet */
@media (min-width: 550px) {
    
    #view-profile img {
        height: 64px;
        width: 64px;
    }

}

#open-full,
#open-profile,
#get-code,
#open-settings,
#open-year-picker,
#open-param-picker,
#download-data {
    display: flex;
    flex-flow: column nowrap;
    justify-content: center;
    align-items: center;
    height: 40px;
    width: 40px;
    padding: 4px;
    margin-bottom: 10px;
    background-color: #fff;
    border-radius: 50%;
    box-shadow: 0px 2px 6px rgba(0,0,0,0.1);
    cursor: pointer;
    box-sizing: border-box;
}

/* Larger than phablet */
@media (min-width: 550px) {
    
    #open-full,
    #open-profile,
    #get-code,
    #open-settings,
    #open-year-picker,
    #open-param-picker,
    #download-data {
        height: 56px;
        width: 56px;
    }

}

#open-year-picker,
#open-param-picker {
    position: relative;
}

#open-year-picker > img,
#open-param-picker > img {
    -webkit-tap-highlight-color:transparent;
    -webkit-user-select: none;      
    -moz-user-select: none;
    -ms-user-select: none;
    pointer-events: none;
    user-select: none;
}

#open-year-picker ::-moz-selection,
#open-param-picker ::-moz-selection {
    background:transparent;
}

#open-year-picker ::selection,
#open-param-picker ::selection {
    background:transparent;
}

#open-full img,
#open-profile img,
#get-code img,
#open-settings img,
#open-year-picker img,
#open-param-picker img,
#download-data img {
    height: 18px;
    width: 18px;
    user-select: none;
    cursor: pointer;
}

#open-full a,
#open-profile a,
#get-code a,
#open-settings a,
#open-year-picker a,
#open-param-picker a,
#download-data a {
    display: flex;
}

/* Larger than phablet */
@media (min-width: 550px) {
    
    #open-full img,
    #open-profile img,
    #get-code img,
    #open-settings img,
    #open-year-picker img,
    #open-param-picker img,
    #download-data img {
        height: 24px;
        width: 24px;
        user-select: none;
        cursor: pointer;
    }

}

.year--picker {
    position: absolute;
    /*right: 100%;*/
    bottom: 100%;
    /*margin-right: 8px;*/
    margin-bottom: 8px;
    /*height: 100%;*/
    height: 2em;
    display: flex;
    flex-flow: row nowrap;
    background-color: #fff;
    border-radius: 4px;
    box-shadow: 0px 2px 6px rgba(0,0,0,0.1);
    font-family: "proxima-nova", sans-serif;
    font-weight: 700;
    font-size: 14px;
    /*visibility: hidden;*/
}

.param-picker-container {
    position: absolute;
    right: 0;
    left: 0;
    bottom: 40px;
    /*display: flex;*/
    display: none;
    flex-flow: column;
    justify-content: center;
    align-items: center;
    height: 56px;
    /*visibility: hidden;*/
}

.param--picker {
    position: relative;
    margin: 0;
    height: 56px;
    display: flex;
    flex-flow: row nowrap;
    background-color: #fff;
    border-radius: 4px;
    box-shadow: 0px 2px 6px rgba(0,0,0,0.1);
    font-family: "proxima-nova", sans-serif;
    font-weight: 700;
    font-size: 14px;
    z-index: 2;
}

.param--picker .filter-container {
    position: relative;
    left: 0;
    bottom: 0;
    top: 0;
    height: 100%;
    width: 100%;
    display: flex;
    flex-flow: row nowrap;
    border-radius: 4px;
    overflow-x: hidden;
}

.param--picker .track {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    top: 0;
    height: 100%;
    display: flex;
    flex-flow: row nowrap;
    border-radius: 4px;
    -webkit-transition-property: -webkit-transform;
    -moz-transition-property: -moz-transform;
    -ms-transition-property: -ms-transform;
    -o-transition-property: -o-transform;
    transition-property: transform;
    transition-duration: 150ms;
    transition-timing-function: cubic-bezier(0, 0, 0.2, 1);
    /*transition: 150ms cubic-bezier(0, 0, 0.2, 1);*/
}

.param--picker .arrow {
    appearance: none;
    position: absolute;
    top: 50%;
    margin-top: -20px;
    height: 40px;
    width: 40px;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: #fff;
    border: 0 none;
    outline: 0 none;
    border-radius: 50%;
    box-shadow: 0px 2px 6px rgba(0,0,0,0.1);
    cursor: pointer;
    box-sizing: border-box;
    z-index: 2;
}

.param--picker .left-arrow {
    left: -20px;
}

.param--picker .right-arrow {
    left: 100%;
    margin-left: -20px;
}

.year--picker > div {
    display: flex;
    flex-flow: column nowrap;
    justify-content: center;
    height: 100%;
    cursor: pointer;
    padding: 0 2em;
}

.param--picker .track > div {
    display: flex;
    flex-grow: 1;
    flex-shrink: 0;
    flex-flow: column nowrap;
    justify-content: center;
    height: 100%;
    cursor: pointer;
    padding: 0 2em;
    text-align: center;
}

.year--picker > div:first-of-type,
.param--picker .track > div:first-of-type {
    border-radius: 4px 0 0 4px;
}

.year--picker > div:last-of-type,
.param--picker .track > div:last-of-type {
    border-radius: 0 4px 4px 0;
}

.year--picker > div:hover,
.year--picker > .active,
.param--picker .track > div:hover,
.param--picker .track > .active {
    /*background: #f5f5f5;*/
    background: #EEEEEE;
}

/*#open-profile,*/
#get-code {
    margin-top: 10px;
}

.button {
    background-color: #fff;
    background-size: cover;
    border-radius: 5px;
    border: #390 1px solid;
    height: 48px;
    width: 48px;
    margin: 4px;
    margin-left: 8px;
}

.button.active {
    border-color: #390;
}

.button:hover {
    border-color: #390;
}

.geocode-marker {
    display: flex;
    flex-flow: column nowrap;
    justify-content: center;
    align-items: center;
    cursor: pointer;
    height: 16px;
    width: 16px;
    margin: 0;
    border: 2px solid #fff;
    border-radius: 50%;
    box-sizing: border-box;
    background: #fbb03b;
}

.marker {
    display: flex;
    flex-flow: column nowrap;
    justify-content: center;
    align-items: center;
    cursor: pointer;
    height: 40px;
    width: 40px;
    margin: 24px 0 0 0;
    background-size: cover;
}

.station--indicator {
    display: flex;
    flex-flow: row nowrap;
    justify-content: center;
    align-items: center;
    position: absolute;
    /*top: -36px;*/
    top: -32px;
    /*left: 50%;*/
    height: 32px;
    /*width: 32px;*/
    /*text-align: center;*/
    border-radius: 4px;
    padding: 0 8px;
    /*margin-left: -16px;*/
    box-sizing: border-box;
    background: #fff;
    box-shadow: 0 2px 4px rgb(0,0,0,0.1);
    font-size: 12px;
    font-weight: 700;
    font-family: "proxima-nova", sans-serif;
    white-space: nowrap;
    visibility: hidden;
    transition: all 250ms ease 0s;
}

/*.marker--diamond {
    display: flex;
    flex-flow: column nowrap;
    justify-content: center;
    align-items: center;
    cursor: pointer;
    height: 32px;
    width: 32px;
    border-radius: 10px;
    transform: rotate(45deg);
    box-shadow: 0 2px 4px rgb(0,0,0,0.1);
}*/

/*.marker--diamond {
    display: flex;
    flex-flow: column nowrap;
    justify-content: center;
    align-items: center;
    cursor: pointer;
    height: 24px;
    width: 24px;
    border-radius: 8px;
    transform: rotate(45deg);
    box-shadow: 0 2px 4px rgb(0,0,0,0.1);
    border: 1px solid #fff;
}*/

.station-marker {
    display: flex;
    flex-flow: column nowrap;
    justify-content: center;
    align-items: center;
    cursor: pointer;
    height: 24px;
    width: 24px;
    /*border-radius: 8px;*/
    /*transform: rotate(45deg);*/
    box-shadow: 0 2px 4px rgb(0,0,0,0.1);
    /*border: 1px solid #fff;*/
}

.station-marker.diamond {
    /*display: flex;
    flex-flow: column nowrap;
    justify-content: center;
    align-items: center;
    cursor: pointer;
    height: 24px;
    width: 24px;
    border-radius: 8px;*/
    transform: rotate(45deg);
    /*box-shadow: 0 2px 4px rgb(0,0,0,0.1);
    border: 1px solid #fff;*/
}

.station-marker.triangle {
    position: relative;
    background-color: orange;
    text-align: left;
}

.station-marker.triangle:before,
.station-marker.triangle:after {
    content: '';
    position: absolute;
    background-color: inherit;
}

.station-marker.triangle .before,
.station-marker.triangle .after {
    position: absolute;
    background-color: inherit;
}

.station-marker.triangle,
.station-marker.triangle .before,
.station-marker.triangle .after,
.station-marker.triangle:before,
.station-marker.triangle:after {
    /*width:  10em;*/
    /*height: 10em;*/
    border-top-right-radius: 30%;
}

.station-marker.triangle {
    transform: rotate(-60deg) skewX(-30deg) scale(1,.866);
}

.station-marker.triangle:before,
.station-marker.triangle .before {
    transform: rotate(-135deg) skewX(-45deg) scale(1.414,.707) translate(0,-50%);
}

.station-marker.triangle:after,
.station-marker.triangle .after {
    transform: rotate(135deg) skewY(-45deg) scale(.707,1.414) translate(50%);
}

/*.marker--diamond .marker--dot {
    display: none;
    height: 12px;
    width: 12px;
    border-radius: 50%;
    background: #fff;
}*/

.station-marker .marker--dot {
    display: none;
    height: 12px;
    width: 12px;
    border-radius: 50%;
    background: #fff;
}

.post--marker {
    /*visibility: hidden;*/
    border: #fff 2px solid;
    border-radius: 50%;
    box-shadow: 1px 1px 1px;
    transition: border-color 300ms ease 0s;
}

.sample-marker {
    /*visibility: hidden;*/
    /*border: #fff 2px solid;*/
    /*border-radius: 50%;*/
    /*box-shadow: 1px 1px 1px;*/
    box-shadow: 0 2px 4px rgba(0,0,0,.2);
    /*transition: border-color 300ms ease 0s;*/
    background-image: url('/assets/img/ic_assignment_24px.svg');
    background-color: #fff;
    background-size: cover;
    border-radius: 4px;
}

.hidden {
    visibility: hidden;
}

.marker:hover {
    z-index: 2;
}

.post--marker:hover {
    border-color: #06aaf0;
}

.marker img {
    height: 100%;
    border-radius: 50%;
    background: #000;
    opacity: 0.1;
    transition: opacity 2000ms ease 0s;
}

.mapboxgl-popup-anchor-bottom .mapboxgl-popup-tip {
    margin: -4px auto 0;
}

.mapboxgl-popup-close-button,
.mapboxgl-popup-close-button:hover {
    background-color: rgb(0, 170, 240);
    color: #fff;
}

.mapboxgl-popup-content {
    display: flex;
    flex-flow: row nowrap;
    padding: 0;
    font-family: "proxima-nova", sans-serif;
}

.mapboxgl-popup-content .polygon--popup {
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
}

.mapboxgl-popup-content .polygon--popup .title {
    display: flex;
    flex-flow: column;
    font-size: 14px;
    font-weight: normal;
    font-family: Georgia,Cambria,"Times New Roman",Times,serif;
    padding: 10px;
    border-right: 1px solid #e0e0e0;
    margin: 0;
}

.mapboxgl-popup-content .polygon--popup .title .code {
    font-size: 12px;
    font-weight: normal;
    font-family: "proxima-nova", sans-serif;
    color: #73c5e0;
}

.mapboxgl-popup-content .polygon--popup a {
    display: flex;
    flex-flow: column;
    justify-content: center;
    align-items: center;
    text-decoration: none;
    color: #555;
    padding: 0 1em;
    border: 0 none;
    outline: none;
}

.mapboxgl-popup-content .layer-popup {
    display: flex;
    flex-flow: column;
    align-items: center;
    max-width: 400px;
    padding: 10px;
    font-size: 14.4px;
}

.mapboxgl-popup-content .layer-popup  div {
    width: 100%;
}

.mapboxgl-popup-content .layer-popup .title {
    display: flex;
    flex-flow: column;
    width: 100%;
    /*font-size: 14px;*/
    font-weight: bold;
    /*font-family: Georgia,Cambria,"Times New Roman",Times,serif;*/
    /*padding: 10px;*/
    /*border-right: 1px solid #e0e0e0;*/
    margin: 0;
    border-bottom: 1px solid #e0e0e0;
    padding-bottom: 0.5em;
}

.mapboxgl-popup-content .layer-popup .node {
    /*margin-bottom: 0.5em;*/
    width: 100%;
    margin: 10px 0;
}

.mapboxgl-popup-content .layer-popup .node:last-of-type {
    /*margin-bottom: 0.5em;*/
    margin: 0 0 10px 0;
}

/*.mapboxgl-popup-content .layer-popup .title .code {
    font-size: 12px;
    font-weight: normal;
    font-family: "proxima-nova", sans-serif;
    color: #73c5e0;
}*/

.mapboxgl-popup-content .layer-popup a {
    display: flex;
    flex-flow: column;
    justify-content: center;
    align-items: flex-start;
    text-decoration: none;
    /*color: #555;*/
    color: #757575;
    /*padding: 0 1em;*/
    border: 0 none;
    outline: none;
    box-shadow: none;
}

.mapboxgl-popup-content .layer-popup a:hover {
    text-decoration: underline;
}

.mapboxgl-popup-content .post-image {
    border-radius: 3px 3px 0 0;
}

.mapboxgl-popup-content .post-meta,
.author .post-meta {
    display: flex;
    flex-flow: row nowrap;
    width: 100%;
    max-width: 256px;
}

.mapboxgl-popup-content .post-meta {
    border-bottom: 1px solid rgb(232,232,232);
}

.mapboxgl-popup-content .flow-station-meta {
    display: flex;
    flex-flow: column nowrap;
    /*width: 100%;*/
    width: 224px;
    cursor: pointer;
}

.mapboxgl-popup-content .flow-station-meta {
    padding: 0;
}

.mapboxgl-popup-content .flow-station-meta span {
    display: block;
    padding: 12px;
}

.mapboxgl-popup-content .flow-station-meta span:first-of-type {
    display: flex;
    font-weight: bold;
    font-size: 18px;
    border-bottom: 1px solid rgb(232,232,232);
    border-radius: 3px 3px 0 0;
    background: #f5f7f9;
    overflow: hidden;
}

.mapboxgl-popup-content .flow-station-meta span:last-of-type {
    opacity: 0.8;
    font-size: 14px;
}

.mapboxgl-popup-content .post-meta img {
    margin: 10px;
    border-radius: 50%;
}

.mapboxgl-popup-content .post-meta .names {
    display: flex;
    flex-flow: column;
    color: #444;
}

.mapboxgl-popup-content .post-meta .names span:first-of-type {
    display: flex;
    font-weight: bold;
    padding-top: 10px;
    font-size: 14px;
}

.mapboxgl-popup-content .post-meta .names span:last-of-type {
    opacity: 0.8;
}

.mapboxgl-popup-content .popup-text {
    display: flex;
    flex-direction: column;
    width: 100%;
    max-width: 256px;
    color: #444;
    background: #fff;
    font-size: 12px;
    border-radius: 0 0 3px 3px;
    overflow: hidden;
}

.mapboxgl-popup-content .popup-text .comment {
    padding: 10px 10px 0 10px;
}

.mapboxgl-popup-content .popup-text .post-date {
    padding-left: 10px;
    padding-bottom: 6px;
    opacity: 0.6;
}

.mapboxgl-popup-close-button {
    height: 30px;
    width: 30px;
    max-height: 30px;
    max-width: 30px;
    text-align: center;
    top: -15px;
    right: -15px;
    font-size: 18px;
    border-radius: 50%;
    z-index: 2;
}

.mapboxgl-popup {
    z-index: 4;
    max-width: 400px !important;
}

.mapboxgl-popup p {
    font-size: 1.2em;
    line-height: 16px;
    margin-top: 6px;
}

.img-md {
    height: 260px;
    width: 260px;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
}

/* Layer legend */

#map-title {
    background: #fff;
    z-index: 2;
    border-top-left-radius: 8px;
    border-top-right-radius: 8px;
}

#map-title h1 {
    margin: 0;
    font-weight: bold;
    font-family: "proxima-nova", sans-serif;
    padding: 16px 16px 0 16px;
    font-size: 1.5em;
    max-width: 400px;
}

#map-description {
    width: 100%;
    max-width: 400px;
    padding: 1em;
    margin: 0;
    border-top: 1px solid #e0e0e0;
}

#map-description p {
    margin: 0;
    font-family: "proxima-nova", sans-serif;
    padding: 0;
}

#geocoder {
    display: flex;
    flex-flow: column;
    width: 100%;
    /*margin-bottom: 1em;*/
    padding: 1em;
    background: #fff;
    z-index: 2;
}

#geocoder input {
    border: 1px solid #e0e0e0;
    border-radius: 4px;
    font-family: "proxima-nova", sans-serif;
    padding: 10px 10px 10px 30px;
}

#geocoder .mapboxgl-ctrl-geocoder--icon {
    fill: #9E9E9E;
}

#geocoder .mapboxgl-ctrl-geocoder .suggestions > li > a {
    font-family: "proxima-nova", sans-serif;
    width: 100%;
}

@media (min-width: 640px) {

    #geocoder .mapboxgl-ctrl-geocoder {
        /* width: 33.3333%; */
        width: 100%;
        font-size: 15px;
        line-height: 20px;
        /* max-width: 360px; */
        max-width: 100%;
        box-shadow: none;
        border-radius: 4px;
    }

}

#panel-toggle-btn {
    position: absolute;
    left: 100%;
    top: 16px;
    /*margin-left: 8px;*/
    /*width: ;*/
    max-width: 32px;
    height: 56px;
    appearance: none;
    border: 0 none;
    /*border-radius: 4px;*/
    border-top-right-radius: 4px;
    border-bottom-right-radius: 4px;
    outline: none;
    display: flex;
    flex-flow: row nowrap;
    justify-content: center;
    align-items: center;
    align-content: center;
    padding: 1em 0;
    font-weight: bold;
    font-size: 0.875em;
    background: #F5F5F5;
    box-shadow: 0 2px 4px rgba(0,0,0,0.10);
    /*opacity: 0.7;*/
    transition: all 250ms ease 0s;
    user-select: none;
    cursor: pointer;
    z-index: 1;
}

#expand-legend,
#collapse-legend {
    /*position: absolute;*/
    width: 100%;
    appearance: none;
    border: 0 none;
    outline: none;
    display: flex;
    flex-flow: row nowrap;
    justify-content: center;
    align-items: center;
    align-content: center;
    padding: 1em 0;
    font-weight: bold;
    font-size: 0.875em;
    /*-webkit-box-shadow: 0 2px 3px rgba(0, 0, 0, 0.2);
    -moz-box-shadow: 0 2px 3px rgba(0, 0, 0, 0.2);
    box-shadow: 0 2px 3px rgba(0, 0, 0, 0.2);*/
    background: transparent;
    opacity: 0.7;
    transition: all 250ms ease 0s;
    user-select: none;
    cursor: pointer;
}

#expand-legend:hover,
#collapse-legend:hover {
    opacity: 1;
    background: #FAFAFA;
}

#expand-legend {
    border-top: 1px solid #e0e0e0;
    border-bottom-right-radius: 8px;
    border-bottom-left-radius: 8px;
}

#collapse-legend {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 56px;
    border-top: 1px solid #e0e0e0;
    border-bottom-right-radius: 8px;
    border-bottom-left-radius: 8px;
    overflow: hidden;
    z-index: 3;
}

.layer-legend-container {
    position: absolute;
    left: 10px;
    top: 10px;
    display: flex;
    flex-flow: column;
    /*height: 100%;*/
    height: auto;
    min-width: 400px;
    /*bottom: 200px;*/
    background: #fff;
    border-radius: 4px;
    box-shadow: 0 2px 4px rgba(0,0,0,0.10);
    font-family: "proxima-nova", sans-serif;
    z-index: 3;
    -webkit-transition-property: left;
    -moz-transition-property: left;
    -ms-transition-property: left;
    -o-transition-property: left;
    transition-property: left;
    transition-duration: 150ms;
    transition-timing-function: cubic-bezier(0, 0, 0.2, 1);
    /*overflow: hidden;*/
}

.layer-legend {
    /*position: absolute;*/
    /*left: 0;*/
    /*top: 0;*/
    display: flex;
    flex-flow: column;
    height: 100%;
    width: 100%;
    /*bottom: 0;*/
    padding: 1em;
    margin-bottom: 56px;
    background: #fff;
    border-bottom-right-radius: 4px;
    border-bottom-left-radius: 4px;
    border-top: 1px solid #e0e0e0;
    /*box-shadow: 0 2px 4px rgba(0,0,0,0.10);*/
    overflow-y: auto;
    scrollbar-width: thin;
    box-sizing: border-box;
}

.layer-legend ul {
    list-style: none;
    display: flex;
    flex-flow: column;
    width: 100%;
    margin: 0;
    padding: 0;
    margin-bottom: 1em;
}

.layer-legend ul .title {
    font-weight: bold;
}

.layer-legend ul li {
    list-style: none;
    display: flex;
    flex-flow: row nowrap;
    justify-content: flex-start;
    align-items: center;
    width: 100%;
    margin: 0;
    padding: 0.5em 0;
}

.layer-legend ul li .swatch {
    height: 1em;
    width: 2em;
    border-radius: 0;
    margin-right: 1em;
}

.layer-legend ul li .label {
    font-size: 0.9em;
}

#layer-legend .parameter-legend {
    display: flex;
    flex-flow: row nowrap;
    position: relative;
    width: 100%;
}

#layer-legend .dropdown {
    display: flex;
    flex-flow: row nowrap;
    position: relative;
    width: 100%;
    /*padding: 0.5em 1em;*/
    border: 1px solid #e0e0e0;
    border-radius: 4px;
    background: #FAFAFA;
}

#layer-legend .dropdown button {
    width: 100%;
    appearance: none;
    border: 0 none;
    outline: none;
    display: flex;
    flex-flow: row nowrap;
    justify-content: flex-start;
    align-items: center;
    align-content: center;
    padding: 1em 0 1em 1em;
    font-weight: bold;
    font-size: 0.875em;
    font-family: "proxima-nova", sans-serif;
    background: transparent;
    opacity: 0.7;
    transition: all 250ms ease 0s;
    user-select: none;
    cursor: pointer;
}

#layer-legend .dropdown > button {
    border-radius: 4px;
    overflow: hidden;
}

#layer-legend .dropdown button:hover,
#layer-legend .dropdown button.active {
    background: #FAFAFA;
    opacity: 1;
}

#layer-legend .dropdown .dropdown-menu {
    display: flex;
    flex-flow: column;
    width: 100%;
    position: absolute;
    top: 100%;
    margin-top: 4px;
    border-radius: 4px;
    background: #fff;
    box-shadow: 0 2px 4px rgba(0,0,0,0.10);
    overflow: hidden;
    z-index: 9;
}

#layer-legend .dropdown .dropdown-menu button:hover,
#layer-legend .dropdown .dropdown-menu button.active {
    background: #F5F5F5;
    opacity: 1;
}

/* Toggle switch */

.filter--control {
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
    position: relative;
    margin: 0 0 1em;
    //margin: 2em 2em 0;

    span {
        display: flex;
        margin-right: 20px;
        //font-size: 0.8em;
        //color: #f9f9f9;
        //opacity: 0.8;
    }

}

.toggle-setting {
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
    position: relative;
    margin: 0 0 0 1em;
}

.toggle-setting span {
    display: flex;
    margin: 0 1em;
    font-size: 0.8em;
    color: #757575;
    font-weight: bold;
    letter-spacing: 0.05em;
}

/* The switch - the box around the slider */

.switch {
    position: relative;
    display: inline-block;
    /*width: 48px;*/
    width: 32px;
    /*height: 28px;*/
    height: 8px;
}

/* Hide default HTML checkbox */
.switch input {display:none;}

/* The slider */
.slider {
    position: absolute;
    cursor: pointer;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: #BDBDBD;
    /*background-color: #e0e0e0;*/
    /*//background-color: rgba(255,255,255,.16);*/
    -webkit-transition: .2s;
    transition: .2s;
}

.slider:before {
    position: absolute;
    content: "";
    height: 16px;
    width: 16px;
    left: 0;
    bottom: -4px;
    /*height: 18px;
    width: 18px;
    left: 5px;
    bottom: 5px;*/
    /*background-color: white;*/
    background-color: #757575;
    -webkit-transition: .2s;
    transition: .2s;
}

input:checked + .slider {
    /*//background-color: #2196F3;*/
    /*background-color: #0ad570;*/
    /*background-color: #d3f3fe;*/
    background-color: #99e4fc;
}

input:focus + .slider {
    box-shadow: 0 0 1px #2196F3;
}

input:checked + .slider:before {
    /*-webkit-transform: translateX(20px);
    -ms-transform: translateX(20px);
    transform: translateX(20px);*/
    -webkit-transform: translateX(16px);
    -ms-transform: translateX(16px);
    transform: translateX(16px);
    background-color: #06aadf;
}

/* Rounded sliders */
.slider.round {
    border-radius: 24px;
}

.slider.round:before {
    border-radius: 50%;
}

/* - - - - - - - - */

/* Chart cards */

#chart--cards {
    position: absolute;
    top: 0;
    right: 0;
    width: 33.33333333%;
    max-width: 400px;
    display: flex;
    flex-flow: row wrap;
    padding-top: 3em;
    justify-content: space-between;
}

#chart--cards div {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    width: 45%;
    max-width: 45%;
    margin-bottom: 2em;
    border-radius: 4px;
    border: 1px solid rgb(224,224,224);
}

#chart--cards .chart--card {
    width: 100%;
    overflow: hidden;
    border-collapse: collapse;
}

#chart--cards h4 {
    margin: 0;
    padding: 1em;
    border-bottom: 1px solid rgb(224,224,224);
}

#chart--cards .smooth-area {
    margin-bottom: 0;
}

.parameter--name--lg {
    color: #444;
    margin: 0;
    padding: 0;
    font-weight: bold;
}

.unit--detail {
    padding: 0 0 1em 0;
    margin: 0;
}

.sparkline--cards,
.latest--measurements {
    display: flex;
    flex-flow: row nowrap;
    /*padding: 1em 0;*/
    width: 100%;
    border-radius: 4px;
    box-sizing: border-box;
    overflow-x: scroll;
}

.no--station--data {
    display: flex;
    width: 100%;
    justify-content: center;
    align-items: center;
    padding: 2em 0;
    color: #444;
    box-sizing: border-box;
    background: #f5f7f9;
    border: 1px solid rgb(232,232,232);
    border-radius: 4px;
    cursor: default;
    font-size: 0.875em;
    font-family: "proxima-nova", sans-serif;
}

.sparkline--card,
.snapshot--card {
    display: flex;
    flex-flow: row nowrap;
    color: #444;
    min-height: 160px;
    min-width: 240px;
    box-sizing: border-box;
    margin-right: 1em;
    background: #f5f7f9;
    border: 1px solid rgb(232,232,232);
    box-shadow: 0 2px 4px rgba(0,0,0,0.10);
    border-radius: 4px;
    overflow: hidden;
    cursor: pointer;
    font-size: 0.875em;
    font-family: "proxima-nova", sans-serif;
}

.sparkline--card {
    min-width: 240px;
    max-width: 320px;
}

.snapshot--card {
    min-width: 320px;
}

.sparkline--card,
.snapshot--card {
    flex-grow: 1;
    flex-shrink: 0;
}

.sparkline--card *,
.snapshot--card * {
    cursor: pointer;
    pointer-events: none;
    user-select: none;
}

.snapshot--card .chart-body {
    padding: 0 1em;
    height: 100%;
    display: flex;
    flex-flow: column;
    justify-content: flex-end;
    flex-grow: 1;
    flex-shrink: 0;
}

.sparkline--card .insufficient--data,
.chart--canvas .insufficient--data {
    display: flex;
    flex: 1;
    height: 100%;
    width: 100%;
    justify-content: center;
    align-items: center;
}

.nodata {
    display: flex;
    flex: 1;
    height: 100%;
    width: 100%;
    justify-content: center;
    align-items: center;
    padding: 2em 0;
    color: #444;
    box-sizing: border-box;
    cursor: default;
    /*font-size: .875em;*/
    font-family: proxima-nova,sans-serif;
}

.parameter--indicator--label {
    display: inline-block;
    padding: 2px 8px;
    border-width: 1px;
    border-color: rgb(232,232,232);
    border-style: solid;
    border-radius: 4px;
    margin-left: 12px;
    font-weight: 700;
    /*font-family: "proxima-nova", sans-serif;*/
    background: #f9f9f9;
    box-shadow: 0 2px 4px rgba(0,0,0,0.10);
    cursor: pointer;
    user-select: none;
    transition: all 250ms ease 0s;
}

.parameter--indicator--label * {
    pointer-events: none;
    user-select: none;
}

.parameter--indicator--label--small {
    display: inline-block;
    padding: 2px 8px;
    border-width: 1px;
    border-color: rgb(232,232,232);
    border-style: solid;
    border-radius: 4px;
    margin-left: 12px;
    font-weight: 700;
    font-family: "proxima-nova", sans-serif;
    background: #f9f9f9;
    transition: all 250ms ease 0s;
}

.sparkline--card:last-of-type {
    margin-right: 0;
}

.sparkline--card:hover,
.sparkline--card:hover .parameter--label {
    color: #06aaf0;
    opacity: 1;
}

.parameter--indicator {
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 2em;
    font-family: 'brandon-grotesque', 'proxima-nova', sans-serif;
    padding-right: 1em;
    transition: all 250ms ease 0s;
}

.parameter--trend,
.mini--chart {
    display: flex;
    flex-direction: column;
    width: 100%;
}

.parameter--trend {
    margin-bottom: 1em;
}

.mini--chart {
    display: flex;
    flex-flow: column nowrap;
    justify-content: center;
    align-items: center;
    padding: 2em 0;
    background: #f8f8f8;
}

.parameter--label {
    padding: 8px 14px;
    border-bottom: 1px solid rgb(232,232,232);
    font-weight: bold;
    cursor: pointer;
}

.sparkline,
.trendline {
  fill: none;
  stroke: currentColor;
  stroke-width: 2px;
}

.chart--card {
    width: 100%;
    overflow: hidden;
    border-collapse: collapse;

}

@media (min-width: 750px) {

  .sparkline--cards {
    /*width: 30%; */
  }

}

.chart--panel--wrapper {
    display: flex;
    flex-flow: column nowrap;
    justify-content: center;
    align-items: center;
    flex: 1;
    position: fixed;
    top: 0;
    right: 0;
    left: 0;
    bottom: 0;
    padding: 0;
    box-sizing: border-box;
    color: #444;
    background: #fff;
    z-index: 4;
    visibility: hidden;
    /*transform: rotate(-90deg) translateY(100%) translateX(-43.5%);
    transform-origin: left bottom;*/
}

.chart--panel {
    position: fixed;
    top: 0;
    right: 0;
    left: 0;
    bottom: 0;
    width: 100%;
    padding: 1em;
    box-sizing: border-box;
    border-radius: 4px;
    color: #444;
    background: #fff;
    box-shadow: 0 2px 4px rgba(0,0,0,0.10);
    overflow: scroll;
}

.chart--panel .dismiss--chart--panel,
.organization--card--container .dismiss--organization--card,
.settings--card--container .dismiss--settings--card,
#sample-card .dismiss-sample-card {
    position: absolute;
    top: 32px;
    right: 32px;
    color: #212121;
    font-size: 32px;
    cursor: pointer;
}

.dismiss--station--card {
    position: absolute;
    top: 1em;
    right: 1em;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #212121;
    /*font-size: 32px;*/
    cursor: pointer;
    background-color: rgba(255, 255, 255, 0.8);
    background-image: url('/assets/img/clear-black-24dp.svg');
    background-position: center center;
    background-repeat: no-repeat;
    height: 40px;
    width: 40px;
    border-radius: 50%;
    transition: all 200ms ease;
}

.dismiss--station--card:hover {
    background-color: rgba(255, 255, 255, 1);
}

/* Larger than phablet */
@media (min-width: 550px) {
    .chart--panel--wrapper {
        background: transparent;
        /*padding: 4em;*/
        /*transform: rotate(0deg) translateY(0%) translateX(0%);
        transform-origin: left bottom;*/
        bottom: 0;
    }

    .chart--panel {
        position: relative;
        overflow: hidden;
        max-width: 960px;
        padding: 2em;
    }
}

.chart--panel .dot {
    /*stroke: #f5f7f9;*/
    /*stroke-width: 2;*/
    z-index: 2;
}

.chart--panel .parameter--detail--stack {
    position: relative;
    height: 1000px;
}

/* Larger than phablet */
@media (min-width: 550px) {
    .chart--panel .parameter--detail--stack {
        height: auto;
    }
}

.chart--panel .chart--canvas {
    display: flex;
    flex-flow: column;
    position: relative;
    /*border-radius: 4px;*/
    /*background: #f5f7f9;*/
    /*border: 1px solid rgb(232,232,232);*/
    /*padding-bottom: 1em;*/
    margin-bottom: 1em;
    font-family: "proxima-nova", sans-serif;
    min-height: 240px;
}

.chart--panel .chart--canvas .range-label {
    display: block;
    position: absolute;
    top: 10px;
    left: 64px;
    font-size: 14px;
}

.chart-legend {
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
    justify-content: flex-end;
    position: absolute;
    top: 0;
    right: 0;
    font-size: 0.9em;
    font-family: "proxima-nova",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen,Ubuntu,Cantarell,"Open Sans","Helvetica Neue",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";
}

.chart-legend .range-legend {
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
    justify-content: flex-end;
    margin-left: 1em;
}

.chart-legend .range-legend:first-of-type {
    margin-left: 0;
}

.chart-legend .range-legend .swatch {
    height: 8px;
    width: 8px;
    border-radius: 50%;
    margin-right: 0.5em;
}

.chart-legend .range-legend .label span:last-of-type {
    opacity: 0.8;
}

.chart-legend .range-legend .expression {
    display: inline-flex;
    margin-left: 0.75em;
    background: #fafafa;
    padding: 2px 6px;
    font-family: monospace;
    /*font-weight: bold;*/
    font-size: 12px;
    border-radius: 3px;
    border: 1px solid #e0e0e0;
    opacity: 1 !important;
}

.chart--panel .chart--canvas text {
    font-family: "proxima-nova", sans-serif;
    font-size: 12px;
}

.chart--panel .dismiss {
    position: absolute;
    top: 16px;
    right: 16px;
    color: #fff;
    font-size: 2.5em;
    padding: 8px;
    opacity: 0.8;
    transition: all 250ms ease 0s;
    cursor: pointer;
    z-index: 2;
}

.chart--panel .read--description {
    height: 32px;
    width: 32px;
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    top: -40px;
    right: 0;
    color: #333;
    /*padding: 8px 16px;*/
    background-color: #f7f7f7;
    border: 1px solid rgb(232,232,232);
    border-radius: 4px;
    opacity: 0.8;
    transition: all 250ms ease 0s;
    cursor: pointer;
    z-index: 2;
    box-sizing: border-box;
}

.chart--panel .read--description * {
    pointer-events: none;
}

.chart--panel .read--description img {
    height: 100%;
}

.chart--panel .read--description:hover,
.chart--panel .read--description.active {
    opacity: 1;
    color: #06aaf0;
    background-color: #e3f6fe;
    border: 1px solid #bdeafd;
}

.chart--panel .parameter--description,
.chart--panel .indicator--detail--wrapper {
    /*position: absolute;*/
    height: 100%;
    width: 100%;
    top: 0;
    left: 0;
    font-family: "proxima-nova", sans-serif;
    /*visibility: hidden;*/
    background: rgba(255,255,255,0.9);
    padding: 1em 0;
}

.chart--panel .indicator--detail--wrapper h2 {
    padding: 1em 0;
    font-weight: 700;
}

.chart--panel .parameter--detail--stack p {
    font-size: 16px;
}

.chart--panel .indicator--detail {
    margin-bottom: 2em;
}

.chart--panel .indicator--detail--wrapper .letters,
.chart--panel .indicator--detail--wrapper .numbers {
    display: flex;
    flex-flow: row nowrap;
    margin: 1em auto;
    width: 100%;
    font-family: "brandon-grotesque", sans-serif;
}

.chart--panel .indicator--detail--wrapper .letters span,
.chart--panel .indicator--detail--wrapper .numbers span {
    display: flex;
    flex-grow: 1;
    flex-shrink: 0;
    justify-content: center;
    font-weight: 700;
}

.chart--panel .indicator--detail--wrapper .gradient {
    margin: 0 auto;
    width: 100%;
    height: 8px;
    border-radius: 4px;
    background: linear-gradient(to right, #f8a603, #f78b1f, #f5713b, #f45657, #f33b72, #f1218e, #f006aa, #c921b6, #a23dc1, #7b58cd, #5473d9, #2d8fe4, #06aaf0);
}

.chart--panel .parameter--description p:last-of-type {
    /*font-size: 12px;*/
}

@media (min-width: 750px) {

  .chart--panel {
    /*width: 30%;*/
  }

}

.dismiss {
    position: absolute;
    top: 16px;
    right: 16px;
    color: #fff;
    font-size: 2.5em;
    padding: 8px;
    opacity: 0.8;
    transition: all 250ms ease 0s;
    cursor: pointer;
    z-index: 2;
}

/* d3 chart elements and tooltips */

.axis {
  shape-rendering: crispEdges;
}

.x.axis .minor {
  stroke-opacity: .5;
}

.y.axis line,
.y.axis path,
.x.axis line,
.x.axis path {
  fill: none;
  stroke: rgb(232,232,232);
}

.y.axis text
.x.axis text {
    font-size: 1.2em;
}

.y.axisRight text {
    fill: rgb(212,212,212);
}

.y.axisLeft text {
    fill: #18B8CC;
}

div.tooltip {
    display: flex;
    flex-flow: column;
    align-items: flex-start;
    justify-content: center;
    position: absolute;
    /*text-align: center;*/
    /*min-width: 60px;*/
    /*min-height: 28px;*/
    /*padding: 0.5em;*/
    /*font: 12px "proxima-nova", sans-serif;*/
    font-size: 0.9em;
    font-family: "proxima-nova", sans-serif;
    font-weight: bold;
    /*background: #F5F5F5;*/
    border: 1px solid #e0e0e0;
    border-radius: 3px;
    pointer-events: none;
    z-index: 99999999;
}

div.tooltip span {
    display: flex;
    flex-flow: column;
    align-items: flex-start;
    justify-content: center;
    min-width: 60px;
    width: 100%;
    padding: 0.5em;
    overflow: hidden;
}

div.tooltip span:first-of-type {
    border-radius: 3px 3px 0 0;
    border-bottom: 1px solid #e0e0e0;
    background: #F5F5F5;
}

div.tooltip span:last-of-type {
    border-radius: 0 0 3px 3px;
    background: #FAFAFA;
}

#tooltip {
    position: absolute;
    width: 200px;
    height: auto;
    padding: 10px;
    background-color: white;
    border-radius: 10px;
    box-shadow: 4px 4px 10px rgba(0, 0, 0, 0.4);
    pointer-events: none;
}

#tooltip.hidden {
    display: none;
}

#tooltip p {
    margin: 0;
    font-family: sans-serif;
    font-size: 1.6em;
    line-height: 20px;
}

.d3-tip {
  line-height: 1.5em;
  font-weight: bold;
  padding: 12px;
  background: rgba(0, 0, 0, 0.8);
  color: #fff;
  border-radius: 2px;
}

/* Creates a small triangle extender for the tooltip */
.d3-tip:after {
  box-sizing: border-box;
  display: inline;
  font-size: 1em;
  width: 100%;
  line-height: 1;
  color: rgba(0, 0, 0, 0.8);
  content: "\25BC";
  position: absolute;
  text-align: center;
}

/* Mapbox attribution control */

.mapboxgl-ctrl.mapboxgl-ctrl-attrib,
.mapboxgl-ctrl-attrib.mapboxgl-compact {
    padding-top: 2px;
    padding-bottom: 2px;
    margin: 0 10px 10px 10px;
    position: relative;
    padding-right: 24px;
    background-color: #fff;
    border-radius: 3px 12px 12px 3px;
    visibility: hidden;
    z-index: 2;
}

.mapboxgl-ctrl.mapboxgl-ctrl-attrib:hover,
.mapboxgl-ctrl-attrib.mapboxgl-compact:hover {
    visibility: visible;
}

.mapboxgl-ctrl.mapboxgl-ctrl-attrib:after,
.mapboxgl-ctrl-attrib.mapboxgl-compact:after {
    content: '';
    cursor: pointer;
    position: absolute;
    bottom: 0;
    right: 0;
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D%270%200%2020%2020%27%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%3E%0D%0A%09%3Cpath%20fill%3D%27%23333333%27%20fill-rule%3D%27evenodd%27%20d%3D%27M4%2C10a6%2C6%200%201%2C0%2012%2C0a6%2C6%200%201%2C0%20-12%2C0%20M9%2C7a1%2C1%200%201%2C0%202%2C0a1%2C1%200%201%2C0%20-2%2C0%20M9%2C10a1%2C1%200%201%2C1%202%2C0l0%2C3a1%2C1%200%201%2C1%20-2%2C0%27%20%2F%3E%0D%0A%3C%2Fsvg%3E");
    background-color: rgba(255, 255, 255, .5);
    width: 24px;
    height: 24px;
    box-sizing: border-box;
    visibility: visible;
    border-radius: 12px;
}

/* Author component */

.author {
    display: flex;
    flex-flow: column nowrap;
    width: 100%;
    font-family: "proxima-nova", sans-serif;
}

.author time {
    cursor: default;
    font-size: 12px;
}

.author .post-meta img {
    margin: 0 10px 0 0;
    border-radius: 50%;
}

.author .post-meta .names {
    display: flex;
    flex-flow: column;
    justify-content: center;
    color: #444;
}

.author .post-meta .names span:first-of-type {
    display: flex;
    font-weight: bold;
    font-size: 14px;
}

.author .post-meta .names span:last-of-type {
    opacity: 0.8;
}

.author .comment {
    font-size: 0.875em;
    padding-top: 16px;
}

.author .comment .curly--quote {
    font-size: 24px;
}

/* Settings card */

.settings--card--container {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    height: 100%;
    width: 100%;
    margin: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 1;
    z-index: 3;
}

/* Larger than phablet */
@media (min-width: 550px) {
    .settings--card--container {
        padding: 0;
    }
}

.visible {
    visibility: visible !important;
}

.settings--card {
    position: relative;
    display: flex;
    flex-flow: column nowrap;
    justify-content: center;
    align-items: center;
    height: 100%;
    width: 100%;
    max-width: 480px;
    padding: 2em;
    box-sizing: border-box;
    background: #fff;
    border-radius: 4px;
    box-shadow: 0 2px 4px rgba(0,0,0,0.10);
}

/* Larger than phablet */
@media (min-width: 750px) {
    .settings--card {
        /*position: relative;*/
        width: 50%;
        height: auto;
    }
}

.settings--card h1 {
    padding: 16px 0 0;
    margin: 0;
    font-weight: bold;
    text-align: center;
}

.settings--card .post--display--toggle {
    display: flex;
    flex-flow: row nowrap;
    justify-content: flex-start;
    align-items: center;
    width: 100%;
    padding-top: 2em;
    font-family: "proxima-nova", sans-serif;
}

.settings--card input {
    margin-left: 12px;
}

/* Organization card */

.organization--card--container {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    height: 100%;
    width: 100%;
    margin: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 1;
    z-index: 3;
}

/* Larger than phablet */
@media (min-width: 550px) {
    .organization--card--container {
        padding: 0;
    }
}

.organization--card {
    position: relative;
    display: flex;
    flex-flow: column nowrap;
    justify-content: center;
    align-items: center;
    height: 100%;
    width: 100%;
    max-width: 480px;
    padding: 2em;
    box-sizing: border-box;
    background: #fff;
    border-radius: 4px;
    box-shadow: 0 2px 4px rgba(0,0,0,0.10);
}

/* Larger than phablet */
@media (min-width: 750px) {
    .organization--card {
        /*position: relative;*/
        width: 50%;
        height: auto;
    }
}

.organization--card h1 {
    padding: 16px 0 0;
    margin: 0;
    font-weight: bold;
    text-align: center;
}

.organization--card .station--count {
    font-size: 1em;
    font-weight: bold;
    margin-bottom: 0;
    padding: 12px 0 16px;
    opacity: 0.75;
}

.organization--card p:last-of-type {
    padding: 0;
    margin-bottom: 24px;
}

/* Larger than tablet */
@media only screen and (min-width: 750px) {}

/* Station card */

.station--profile--wrapper {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    display: flex;
    flex-flow: column nowrap;
    justify-content: center;
    align-items: center;
    height: auto;
    width: 100%;
    margin: 0;
    padding: 0;
    background: #fff;
    visibility: hidden;
    flex: 1;
    overflow: scroll;
    z-index: 4;
}

.station--profile {
    position: fixed;
    top: 0;
    right: 0;
    left: 0;
    bottom: 0;
    width: 100%;
    font-family: "proxima-nova", sans-serif;
    /*padding: 2em;*/
    box-sizing: border-box;
    border-radius: 4px;
    color: #444;
    background: #fff;
    box-shadow: none;
    overflow: scroll;
}

.station--profile--content {
    padding: 2em;
}

/* Larger than phablet */
@media (min-width: 750px) {

    .station--profile--wrapper {
        background: transparent;
        bottom: 0;
        height: 100%;
        overflow: hidden;
    }

    .station--profile {
        position: relative;
        width: 640px;
        box-shadow: 0 2px 4px rgba(0,0,0,0.10);
        bottom: auto;
        overflow: hidden;
    }

}

.station--profile h2,
.station--profile h3 {
    font-weight: 700;
}

.station--profile h2:nth-child(2) {
    padding: 1em 0;
}

.station--profile .date--range {
    margin: 0;
    padding: 0.5em 0 1em;
}

.station--profile .station--indicator--label {
    display: inline-block;
    padding: 2px 8px;
    border-width: 1px;
    border-color: rgb(232,232,232);
    border-style: solid;
    border-radius: 4px;
    margin-left: 12px;
    font-weight: 700;
    /*font-family: "proxima-nova", sans-serif;*/
    background: #f9f9f9;
    box-shadow: 0 2px 4px rgba(0,0,0,0.10);
    opacity: 1;
    transition: all 250ms ease 0s;
}

.station--profile .indicator-description {
    /*padding: 2em 0;*/
}

#station-attribution,
#graph-attribution {
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
    justify-content: flex-end;
    padding-top: 1em;
    font-size: 0.9em;
    font-family: "proxima-nova",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen,Ubuntu,Cantarell,"Open Sans","Helvetica Neue",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";
}

#station-attribution a,
#graph-attribution a {
    display: inline-flex;
}

#station-attribution a:last-of-type,
#graph-attribution a:last-of-type {
    /*margin-left: 1em;*/
}

/* Value meters */

.sub--bar {
  display: flex;
  flex-flow: row nowrap;
  padding-top: 0.5em;
}

.sub--bar > div {
  width: 50%;
  box-sizing: border-box;
}

.meter--ticks {
  position: relative;
  display: flex;
  flex-flow: row nowrap;
  padding: 1em 0;
}

.meter--ticks .value--units {
  position: absolute;
  top: 0;
  left: 0;
}

.meter--bar {
  position: relative;
  height: 4px;
  width: 100%;
  /*background: #e3f6fe;*/
  background: #CFD8DC;
  border-radius: 4px;
  /*overflow: hidden;*/
}

.meter--bar > div {
  position: absolute;
  top: 100%;
  margin-top: -9px;
  left: 0;
  margin-left: -9px;
  height: 16px;
  width: 16px;
  background: #06aaf0;
  /*border-radius: 2px;*/
  border-radius: 50%;
  border: 2px solid #fff;
  box-sizing: border-box;
}

/* Indicator legend */

.legend--group {
    position: absolute;
    z-index: 2;
    top: 10px;
    left: 50px;
    display: flex;
    flex-flow: row nowrap;
    align-items: flex-start;
}

.legend--wrapper,
.current--parameter {
    background: #fff;
    border-radius: 4px;
    padding: 1em;
    font-family: "proxima-nova", sans-serif;
    font-size: 0.9em;
    box-shadow: 0 2px 4px rgba(0,0,0,0.10);
}

.legend--wrapper {
    font-weight: bold;
}

.current--parameter {
    display: flex;
    flex-flow: column;
    justify-content: space-between;
    flex-grow: 1;
    flex-shrink: 0;
    margin-left: 1em;
}

.current--parameter > span:first-of-type {
    display: flex;
    font-weight: bold;
}

.legend--wrapper span {
    display: inline-flex;
}

.legend--wrapper .bookend span:first-of-type {
    margin-right: 4em;
}

.legend--wrapper .gradient {
    height: 8px;
    border-radius: 4px;
    margin-top: 1em;
}

.legend--wrapper .indicator-group {
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
}

.legend--wrapper .indicator-symbol {
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
    margin-right: 1em;
}

.legend--wrapper .indicator-symbol:last-of-type {
    margin-right: 0;
}

.legend--wrapper .indicator-symbol span:first-of-type {
    height: 1em;
    width: 1em;
    border-radius: 50%;
    margin-right: 0.75em;
}

/* Station image component */

#station-image {
    width: 100%;
    height: 240px;
    background-position: center center;
    background-size: cover;
    background-repeat: no-repeat;
    border-radius: 4px 4px 0 0;
    overflow: hidden;
}

/* Station card tab controls */

.tab-group {
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
    margin-bottom: 1em;
}

.tab-group .tab {
    display: flex;
    flex-flow: row nowrap;
    flex-grow: 0;
    justify-content: flex-start;
    align-items: center;
    padding: 1em 0 0.5em 0;
    margin-right: 2em;
    color: #757575;
    border-bottom: 2px solid transparent;
    transition: all 200ms linear;
    cursor: pointer;
    user-select: none;
    outline: none;
}

.tab-group .tab:hover {
    border-bottom-color: rgb(6,170,223);
    color: rgb(6,170,223);
}

.tab-group .tab span {
    display: inline-flex;
    -webkit-tap-highlight-color:transparent;
    -webkit-user-select: none;      
    -moz-user-select: none;
    -ms-user-select: none;
    pointer-events: none;
    user-select: none;
}

.tab-group .tab span:first-of-type {
    margin-right: 0.5em;
}

.tab-group .active {
    border-bottom-color: rgb(6,170,223);
    color: rgb(6,170,223);
}

.tabs-container {
    position: relative;
    min-height: 216px;
}

.tab-container {
    position: absolute;
    /*min-height: 200px;*/
    height: 100%;
    /*visibility: hidden;*/
    /*z-index: 0;*/
}

.dominant {
    /*height: auto;*/
    z-index: 2;
    /*display: flex;*/
    visibility: visible;
    opacity: 1;
}

.subordinate {
    /*height: 0;*/
    opacity: 0;
    z-index: 1;
    visibility: hidden;
}

.station--watershed,
#sample-card .watershed {
    font-size: 0.9em;
}

.station--watershed strong,
#sample-card .watershed strong {
    display: inline-block;
    padding-right: 1em;
    font-weight: bold !important;
    font-family: 'proxima-nova', sans-serif !important;
}

/* Station render progress */

/*#station-progress {
    position: absolute;
    height: 100%;
    width: 100%;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    display: flex;
    justify-content: center;
    align-items: center;
}*/

#progress-modal {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 999999999;
    /*background: rgba(255,255,255,0.75);*/
}

#progress-modal #progress-container {
    padding: 2em;
    background: #F9F9F9;
    border: 1px solid rgb(232,232,232);
    border-radius: 4px;
    box-sizing: border-box;
    min-width: 240px;
}

#progress-modal #meter-wrapper {
    display: flex;
    flex-flow: column;
    width: 100%;
    height: 4px;
    border-radius: 2px;
    background: #F3F3F3;
    overflow: hidden;
}

#progress-modal #meter-bar {
    height: 100%;
    background: #0ad570;
    transition: all 200ms ease 0s;
}

/* Sample card */

/* Station card */

#sample-card-wrapper {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    display: flex;
    flex-flow: column nowrap;
    justify-content: center;
    align-items: center;
    height: auto;
    width: 100%;
    margin: 0;
    padding: 0;
    background: #fff;
    /*visibility: hidden;*/
    flex: 1;
    overflow: scroll;
    z-index: 4;
}

#sample-card {
    position: fixed;
    top: 0;
    right: 0;
    left: 0;
    bottom: 0;
    width: 100%;
    font-family: "proxima-nova", sans-serif;
    /*padding: 2em;*/
    box-sizing: border-box;
    border-radius: 4px;
    color: #444;
    background: #fff;
    box-shadow: none;
    overflow: scroll;
}

#sample-card .content {
    height: 100%;
    max-height: 640px;
    overflow-y: auto;
    padding: 2em;
}

#sample-card .content .author {
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
    margin-top: 1em;
    font-size: 0.95em;
}

#sample-card .content .author .avatar {
    padding-right: 0.5em;
}

#sample-card .content .author .avatar img {
    height: 40px;
    width: 40px;
    border-radius: 50%;
}

#sample-card .content table {
    margin: 1em 0 0;
    padding: 0;
    border: 1px solid #e0e0e0;
    border-collapse: collapse;
}

#sample-card .content table td {
    padding: 8px 0;
    text-align: left;
    vertical-align: top;
    border-bottom: 1px solid #e0e0e0;
    font-size: 0.9em;
}

#sample-card .content table tr td:first-child {
    padding: 8px 0 8px 8px;
}

#sample-card .content table tr:nth-child(odd) td {
    background: #F5F5F5;
}

/* Larger than phablet */
@media (min-width: 750px) {

    #sample-card-wrapper {
        background: transparent;
        bottom: 0;
        height: 100%;
        overflow: hidden;
    }

    #sample-card {
        position: relative;
        width: 640px;
        box-shadow: 0 2px 4px rgba(0,0,0,0.10);
        bottom: auto;
        overflow: hidden;
    }

}

/* Card animation */

@keyframes bounceInUp {
  from, 60%, 75%, 90%, to {
    animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
  }

  from {
    opacity: 0;
    transform: translate3d(0, 2000px, 0);
  }

  60% {
    opacity: 1;
    transform: translate3d(0, -20px, 0);
  }

  75% {
    transform: translate3d(0, 10px, 0);
  }

  90% {
    transform: translate3d(0, -5px, 0);
  }

  to {
    transform: translate3d(0, 0, 0);
  }
}

.bounceInUp {
  animation-name: bounceInUp 1s;
  animation-fill-mode: forwards;
  -webkit-animation: bounceInUp 1s;
  -webkit-animation-fill-mode: forwards;
}

@keyframes bounceOutDown {
  20% {
    transform: translate3d(0, 10px, 0);
  }

  40%, 45% {
    opacity: 1;
    transform: translate3d(0, -20px, 0);
  }

  to {
    opacity: 0;
    transform: translate3d(0, 2000px, 0);
  }
}

.bounceOutDown {
  animation-name: bounceOutDown 1s;
  animation-fill-mode: forwards;
  -webkit-animation: bounceOutDown 1s;
  -webkit-animation-fill-mode: forwards;
}