@font-face {
    font-family: 'Helvetica Neue Condensed Bold';
    font-style: normal;
    font-weight: normal;
    src: url('fonts/HelveticaNeue-CondensedBold.eot');
    src: url('fonts/HelveticaNeue-CondensedBold.ttf') format('truetype');
}

body {
    margin: 0;
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    display: flex;
    height: 100vh;
}

.bg-dark {
    background-color: #454545!important;
    font-family: "Helvetica Neue Condensed Bold", sans-serif;
}

#map {
    width: 100vw;
    height: 100vh;
    position: absolute;
}

#color-bar {
    position: absolute;
    z-index: 1;
    width: 100%;
    text-align: center;
    margin-top: 70px;
}

#filter {
    width: 100%;
    text-align: center;
    margin-top: 40px;
}

.mapboxgl-ctrl-group {
    border-radius: 4px;
    background: #454545;
}

.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-in .mapboxgl-ctrl-icon {
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 29 29' xmlns='http://www.w3.org/2000/svg' fill='%23efefef'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5z'/%3E%3C/svg%3E");
}

.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-out .mapboxgl-ctrl-icon {
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 29 29' xmlns='http://www.w3.org/2000/svg' fill='%23efefef'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-9z'/%3E%3C/svg%3E");
}

.mapboxgl-ctrl button.mapboxgl-ctrl-compass .mapboxgl-ctrl-icon {
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 29 29' xmlns='http://www.w3.org/2000/svg' fill='%23efefef'%3E%3Cpath d='M10.5 14l4-8 4 8h-8z'/%3E%3Cpath d='M10.5 16l4 8 4-8h-8z' fill='%23757575'/%3E%3C/svg%3E");
}
/*
.mapboxgl-ctrl-top-right {
    top: 60px;
    right: 290px;
}
*/

.mapboxgl-ctrl.mapboxgl-ctrl-group {
    margin-top: 70px;
    margin-right: 300px;
}

.mapboxgl-ctrl-geocoder.mapboxgl-ctrl {
    top: -96px;
}

.mapboxgl-ctrl-geocoder {
    width: 280px;
    background-color: #454545;
}

.mapboxgl-ctrl-geocoder--input,
.mapboxgl-ctrl-geocoder--input:focus {
    color: #fff;
}

/*
.mapboxgl-ctrl-geocoder--icon {
    fill: #fff;
}
*/

.mapboxgl-ctrl-geocoder--button {
    background: #454545;
}

.navbar-collapse {
    position: fixed;
    top: 50px;
    left: 0;
    padding-left: 20px;
    padding-right: 20px;
    padding-bottom: 20px;
    width: 16%;
    height: 100%;
}

.navbar-collapse.collapsing {
    left: -16%;
    transition: height 0s ease;
}

.navbar-collapse.show {
    left: 0;
    transition: left 300ms ease-in-out;
    overflow-y: auto;
}

.navbar-toggler.collapsed ~ .navbar-collapse {
    transition: left 500ms ease-in-out;
}

.navbar-toggler:focus,
.navbar-toggler:active,
.navbar-toggler-icon:focus {
    outline: none;
    box-shadow: none;
}

.map-overlay {
    font-family: "Open Sans", sans-serif;
    font-size: 11px;
    position: absolute;
    width: 300px;
    right: 0px;
    padding: 10px;
    padding-bottom: 100px;
}

::-webkit-scrollbar {
    width: 0em;
}

#right-panel {
    overflow-y: auto;
    top: 110px;
    height: 100%;
}

.left.map-overlay {
    width: 300px;
    top: 60px;
    left: 0px;
}

.map-overlay .map-overlay-inner {
    color: #fff;
    background-color: #454545;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
    border-radius: 3px;
    padding: 10px;
    margin-bottom: 10px;
}

.map-overlay-inner fieldset {
    border: none;
    padding: 0;
    margin: 0 0 10px;
}

.map-overlay-inner fieldset:last-child {
    margin: 0;
}

.map-overlay-inner select {
    width: 100%;
}

.map-overlay-inner label {
    display: block;
    font-size: 16px;
    margin: 0 0 5px;
}

.map-overlay-inner button {
    display: inline-block;
    width: 36px;
    height: 20px;
    border: none;
    cursor: pointer;
}

.map-overlay-inner button:focus {
    outline: none;
}

.map-overlay-inner button:hover {
    box-shadow: inset 0 0 0 3px rgba(0, 0, 0, 0.1);
}

.badge-secondary {
    color: #000;
    background-color: #6c757d;
}

a {
    color: #73fa79;
    text-decoration: none;
    background-color: transparent;
}

a:hover,
a:active,
a:focus {
    color: #73fa79;
}

.mapboxgl-popup-content {
    border: 1px solid #73fa79;
    border-radius: 10px;
    background-color: #454545;
}

/* Move the content above the :before element so rotated rectangle doesn't cover content */
.mapboxgl-popup-content div {
    position: relative;
    z-index: 1;
}

/* This is the new tip */
.mapboxgl-popup-content:before {
    content: '';
    position: absolute;
    /* I've found 9px looks better than 10px */
    top: -webkit-calc(100% - 9px);
    top: calc(100% - 9px);
    left: calc(50% - 10px);
    height: 20px;
    width: 20px;
    background: #454545;
    transform: rotate(45deg);
    border-bottom: inherit;
    border-right: inherit;
}

/* Since the new tip is absolutely-positioned, it doesn't force the rectangle up on its own */
.mapboxgl-popup {
    margin-top: -20px;
}

/* Hide the old tip */
.mapboxgl-popup-tip {
    display: none;
}

.mapboxgl-popup-close-button {
    color: white;
}

.table-dark {
    color: #fff;
    background-color: #454545;
    font-size: 11px;
}

.form-group {
    margin-bottom: 0.6rem;
}

.form-control-sm, .form-control-sm:hover, .form-control-sm:focus {
    height: 24px;
    padding: .1rem .5rem;
    font-size: 12px;
    line-height: 1.5;
    border-radius: .2rem;
    color: #fff;
    background-color: #5f5e60;
}

.form-control-white:focus {
    border-color: #FFF;
    box-shadow: inset 0 1px 1px rgba(255, 255, 255, 0.1), 0 0 8px rgba(255, 255, 255, 0.9);
}

.form-control-green:focus {
    border-color: #73fa79;
    box-shadow: inset 0 1px 1px rgba(255, 255, 255, 0.1), 0 0 8px rgba(115, 250, 121, 0.9);
}

.btn-outline-green {
    color: #73fa79;
    border-color: #73fa79;
}

/*** Visualization ***/
.visualization {
    font-family: "Open Sans", sans-serif;
    position: fixed;
    z-index: 1030;
    width: 100%;
    text-align: center;
    bottom: 20px;
}

.btn-secondary {
    color: #fff;
    background-color: #454545;
    border-color: #454545;
    box-shadow: none;
}

.btn-secondary:not(:disabled):not(.disabled).active, .btn-secondary:not(:disabled):not(.disabled):active, .show>.btn-secondary.dropdown-toggle {
    color: #fff;
    background-color: #6c757d;
    border-color: #6c757d;
    box-shadow: none;
}

.modal-content {
    font-family: "Open Sans", sans-serif;
    font-size: 14px;
    color: #fff;
    background-color: #454545;
}

/*** Video ***/
.modal-dialog {
    max-width: 800px;
    margin: 30px auto;
}

.modal-body {
    position:relative;
    padding:0px;
}

.close {
    position:absolute;
    right:-30px;
    top:0;
    z-index:999;
    font-size:2rem;
    font-weight: normal;
    color:#fff;
    opacity:1;
}

.close:hover {
    color:#fff;
}

.close:hover,
.close:active,
.close:focus {
    outline: none;
    box-shadow: none;
}

/*** Chart ***/
.axis--y .domain {
    display: none;
}

.axis--x line {
    stroke: white;
}

.axis--x path {
    stroke: white;
}

.axis--x text { 
    fill: white;
}

.axis--x text a { 
    fill: #73fa79;
}

.line {
    fill: none;
    stroke: #73fa79;
    stroke-width: 2px;
    stroke-linejoin: round;
}

/*** Toltip Line Chart ***/
.d3-tip {
    line-height: 1;
    padding: 6px;
    background-color: #454545;
    color: #fff;
    border-radius: 4px;
    border: 1px solid #73fa79;
    font-family: "Open Sans", sans-serif;
    font-size: 12px;
}

.d3-tip-border-green {
    border: 1px solid #73fa79;
}

.d3-tip-border-white {
    border: 1px solid #fff;
}

/* This is the new tip */
.d3-tip:before {
    content: '';
    position: absolute;
    /* I've found 9px looks better than 10px */
    top: -webkit-calc(100% - 9px);
    top: calc(100% - 9px);
    left: calc(50% - 10px);
    height: 20px;
    width: 20px;
    background: #454545;
    transform: rotate(45deg);
    border-bottom: inherit;
    border-right: inherit;
}

.d3-tip div {
    position: relative;
    z-index: 1;
}

/* On screens that are 1366px or less */
@media screen and (max-width: 1366px) {
    #left-panel {
        display: none;
    }

    #right-panel {
        display: none;
    }

    .navbar-collapse {
        position: fixed;
        top: 50px;
        left: 0;
        padding-left: 20px;
        padding-right: 20px;
        padding-bottom: 20px;
        width: 22%;
        height: 100%;
    }
}

/* On screens that are 992px or less (Tablet) */
@media screen and (max-width: 992px) {
    #left-panel {
        display: none;
    }

    #right-panel {
        display: none;
    }

    .navbar-collapse {
        position: fixed;
        top: 50px;
        left: 0;
        padding-left: 20px;
        padding-right: 20px;
        padding-bottom: 20px;
        width: 46%;
        height: 100%;
    }
}
  
/* On screens that are 600px or less (Smartphone) */
@media screen and (max-width: 600px) {
    #left-panel {
        display: none;
    }

    #right-panel {
        display: none;
    }

    #version {
        display: none;
    }

    .navbar-collapse {
        position: fixed;
        top: 50px;
        left: 0;
        padding-left: 20px;
        padding-right: 20px;
        padding-bottom: 20px;
        width: 96%;
        height: 100%;
    }
}