/* Table of contents
––––––––––––––––––––––––––––––––––––––––––––––––––
- Plotly.js
- Grid
- Base Styles
- Typography
- Links
- Buttons
- Forms
- Lists
- Code
- Tables
- Spacing
- Utilities
- Clearing
- Media Queries
*/

/* PLotly.js
–––––––––––––––––––––––––––––––––––––––––––––––––– */
/* plotly.js's modebar's z-index is 1001 by default
 * https://github.com/plotly/plotly.js/blob/7e4d8ab164258f6bd48be56589dacd9bdd7fded2/src/css/_modebar.scss#L5
 * In case a dropdown is above the graph, the dropdown's options
 * will be rendered below the modebar
 * Increase the select option's z-index
 */

/* This was actually not quite right -
   dropdowns were overlapping each other (edited October 26)

.Select {
    z-index: 1002;
}*/


/* Grid
–––––––––––––––––––––––––––––––––––––––––––––––––– */
.container {
  position: relative;
  width: 100%;
  max-width: 960px;
  margin: 0 auto;
  padding: 0 20px;
  box-sizing: border-box;
}

.column,
.columns {
  width: 100%;
  float: left;
  box-sizing: border-box; }

/* For devices larger than 400px */
@media (min-width: 400px) and (max-width: 549px) {
    .container {
        width: 85%;
        padding: 0;
    }
}

/* For devices larger than 550px */
@media (min-width: 550px) {
  .container {
    width: 80%;
  }

  .column,
  .columns {
    margin-left: 4%;
  }

  .column:first-child,
  .columns:first-child {
    margin-left: 0;
  }

  .one.column,
  .one.columns                    { width: 4.66666666667%; }
  .two.columns                    { width: 13.3333333333%; }
  .three.columns                  { width: 22%;            }
  .four.columns                   { width: 30.6666666667%; }
  .five.columns                   { width: 39.3333333333%; }
  .six.columns                    { width: 48%;            }
  .seven.columns                  { width: 56.6666666667%; }
  .eight.columns                  { width: 65.3333333333%; }
  .nine.columns                   { width: 74.0%;          }
  .ten.columns                    { width: 82.6666666667%; }
  .eleven.columns                 { width: 91.3333333333%; }
  .twelve.columns                 { width: 100%; margin-left: 0; }

  .one-third.column               { width: 30.6666666667%; }
  .two-thirds.column              { width: 65.3333333333%; }

  .one-half.column                { width: 48%; }

  /* Offsets */
  .offset-by-one.column,
  .offset-by-one.columns          { margin-left: 8.66666666667%; }
  .offset-by-two.column,
  .offset-by-two.columns          { margin-left: 17.3333333333%; }
  .offset-by-three.column,
  .offset-by-three.columns        { margin-left: 26%;            }
  .offset-by-four.column,
  .offset-by-four.columns         { margin-left: 34.6666666667%; }
  .offset-by-five.column,
  .offset-by-five.columns         { margin-left: 43.3333333333%; }
  .offset-by-six.column,
  .offset-by-six.columns          { margin-left: 52%;            }
  .offset-by-seven.column,
  .offset-by-seven.columns        { margin-left: 60.6666666667%; }
  .offset-by-eight.column,
  .offset-by-eight.columns        { margin-left: 69.3333333333%; }
  .offset-by-nine.column,
  .offset-by-nine.columns         { margin-left: 78.0%;          }
  .offset-by-ten.column,
  .offset-by-ten.columns          { margin-left: 86.6666666667%; }
  .offset-by-eleven.column,
  .offset-by-eleven.columns       { margin-left: 95.3333333333%; }

  .offset-by-one-third.column,
  .offset-by-one-third.columns    { margin-left: 34.6666666667%; }
  .offset-by-two-thirds.column,
  .offset-by-two-thirds.columns   { margin-left: 69.3333333333%; }

  .offset-by-one-half.column,
  .offset-by-one-half.columns     { margin-left: 52%; }

}


/* Base Styles
–––––––––––––––––––––––––––––––––––––––––––––––––– */
/* NOTE
html is set to 62.5% so that all the REM measurements throughout Skeleton
are based on 10px sizing. So basically 1.5rem = 15px :) */
html {
    font-size: 50%;
    background-color: #1f2630;
    max-width: 100% !important;
    width: 100% !important;
    margin: 0;
}
body {
  font-size: 1.5em; /* currently ems cause chrome bug misinterpreting rems on body element */
  line-height: 1.6;
  font-weight: 400;
  font-family: "Open Sans", "HelveticaNeue", "Helvetica Neue", Helvetica, Arial, sans-serif;
  color: rgb(50, 50, 50);
  margin: 0px;
  background: #f2f2f2;

}
#root {
    margin: 0;
}

@media (max-width: 550px) {
    #root {
        padding: 2rem;
    }
}

@media (min-width: 551px) {
    #root {
        padding: 5rem;
    }
}

#slider-text, #chart-selector {
    margin-bottom: 2rem !important;
    font-size: 2rem;
}

@media only screen and (max-width: 550px) {
    .rc-slider-mark-text {
        font-size: 50%;
    }

    #description {
        font-size: 1rem;
    }
}

/* Blockquotes
–––––––––––––––––––––––––––––––––––––––––––––––––– */
blockquote {
    border-left: 4px lightgrey solid;
    padding-left: 1rem;
    margin-top: 2rem;
    margin-bottom: 2rem;
    margin-left: 0;
}


/* Buttons
–––––––––––––––––––––––––––––––––––––––––––––––––– */
.button,
button,
input[type="submit"],
input[type="reset"],
input[type="button"] {
  display: inline-block;
  height: 38px;
  padding: 0 30px;
  color: #2E2E38;
  text-align: center;
  font-size: 14px;
  font-weight: 600;
  line-height: 38px;
  letter-spacing: .1rem;
  text-transform: uppercase;
  text-decoration: none;
  white-space: nowrap;
  background-color: transparent;
  border-radius: 4px;
  border: 1px solid #bbb;
  cursor: pointer;
  position: relative;
  box-sizing: border-box; }
.button:hover,
button:hover,
input[type="submit"]:hover,
input[type="reset"]:hover,
input[type="button"]:hover {
  color: lightgrey;
  border-color: #888;
  outline: 0; }
.button:focus,
button:focus,
input[type="submit"]:focus,
input[type="reset"]:focus,
input[type="button"]:focus {
  color: #333;
  border-color: #888;
  outline: 0; }
.button.button-primary,
button.button-primary,
input[type="submit"].button-primary,
input[type="reset"].button-primary,
input[type="button"].button-primary {
  color: #FFF;
  background-color: #33C3F0;
  border-color: #33C3F0; }
.button.button-primary:hover,
button.button-primary:hover,
input[type="submit"].button-primary:hover,
input[type="reset"].button-primary:hover,
input[type="button"].button-primary:hover,
.button.button-primary:focus,
button.button-primary:focus,
input[type="submit"].button-primary:focus,
input[type="reset"].button-primary:focus,
input[type="button"].button-primary:focus {
  color: #FFF;
  background-color: #1EAEDB;
  border-color: #1EAEDB; }

/* Dropdown
–––––––––––––––––––––––––––––––––––––––––––––––––– */
.dcc-dropdown{
    width: calc(100%-40px);
    padding: 0px;
    font-size: 15px;
    margin-bottom: 30px;
    color: #2E2E38 !important;  /* EY black */
}

.Select-value {
    cursor: pointer;
    color: #2E2E38 !important;  /* EY black color of the little x */
    border: 1px solid lightgrey !important; /* border of selected option*/
}

.Select-control {
    border: 1px solid lightgrey !important; /* EY black color of the border*/
    color: #2E2E38 !important;  /* EY black color for text*/
}

.Select {
    color: #2E2E38 !important;  /* EY black color for text*/
                                /* the text color of the options*/
}

.Select-menu-outer {
    background-color: #FFFFFF !important;  /* EY gray02 background color*/
    border: 1px solid lightgrey !important;  /* EY black color for the border of the menu*/
}

.Select div {
    background-color: #FFFFFF !important;  /* EY gray02 background color*/
}

.Select-menu-outer div:hover {
    background-color: #FFE600 !important;  /* EY yellow the hovered option in the list*/
    cursor: pointer;
}

.Select-value-label {
    color: #2E2E38 !important;   /* EY black color the option in the selected area*/
}

.Select--single > .Select-control .Select-value, .Select-placeholder {
    border: 1px solid lightgrey !important;  /* EY black color*/
    border-radius: 4px !important;
}


/* Tabs
–––––––––––––––––––––––––––––––––––––––––––––––––– */
.custom-tabs-container {
    width: 800px;
}
.custom-tabs {
    border-top-left-radius: 10px;
    background-color: #C4C4CD; /*color of the entire tab row same as background in the main page*/
    padding: 0px 0px;
    border-bottom: 1px solid #d6d6d6;
}

.custom-tab {
    color: black !important;  /*text color when is not selected*/
    border-top-left-radius: 0px;
    border-top-right-radius: 0px;
    border-top: 0px !important;
    border-left: 0px !important;
    border-right: 0px !important;
    border-bottom: 0px !important;
    padding: 10px !important;  /* set the height of the tab*/
    display: flex !important;
    align-items: center;
    justify-content: center;
}
.custom-tab--selected {
    color: black;  /*text color when selected*/
    background-color: #FFE600 !important;
    box-shadow: 1px 1px 0px white;
    border-left: 0px solid grey !important;
    border-right: 0px solid grey !important;
    border-top: 0px solid grey !important;
}


/* Spacing
–––––––––––––––––––––––––––––––––––––––––––––––––– */
button,
.button {
    margin-bottom: 0;
}

input,
textarea,
select,
fieldset {
    margin-bottom: 0;
}

pre,
dl,
figure,
table,
form {
    margin-bottom: 0;
}

p,
ul,
ol {
    margin-bottom: 0.75rem;
}

/* Utilities
–––––––––––––––––––––––––––––––––––––––––––––––––– */
.u-full-width {
    width: 100%;
    box-sizing: border-box;
}

.u-max-full-width {
    max-width: 100%;
    box-sizing: border-box;
}

.u-pull-right {
    float: right;
}

.u-pull-left {
    float: left;
}

/* Misc
–––––––––––––––––––––––––––––––––––––––––––––––––– */
hr {
    margin-top: 3rem;
    margin-bottom: 3.5rem;
    border-width: 0;
    border-top: 1px solid #E1E1E1;
}

/* Left column
–––––––––––––––––––––––––––––––––––––––––––––––––– */
@media only screen and (max-width: 1250px) {
    /*For mobile and smaller screens*/
    #left-column {
        margin-right: 1.5%;
        width: 100%;
    }
}

@media (min-width: 1251px) {
    /*For desktop*/
    #left-column {
        margin-right: 1.5%;
        display: flex;
        flex-direction: column;
        justify-content: flex-start;
        align-content: center;
        flex: 6 60%;
    }
}

/* Graph
–––––––––––––––––––––––––––––––––––––––––––––––––– */

#graph-container {
    background-color: #252e3f;
    padding: 5rem;
    margin: 0;
}

@media (max-width: 1250px) {
    /*For mobile and smaller screens*/
    #header h4 {
        text-align: center;
    }

    #graph-container {
        margin-top: 5rem;
    }

    #selected-data {
        height: 55rem;
    }
}

@media (min-width: 1251px) {
    /*For desktop*/
    #logo {
        float: right;
        padding-right: 2rem;
    }

    #header p {
        font-size: 1.5rem;
    }

    #graph-container {
        flex: 4 40%;
        margin: 0;
        display: flex;
        flex-direction: column;
        align-items: stretch;
        justify-content: flex-start;
    }

    #selected-data {
        flex-grow: 1;
    }
}

@media (max-width: 550px) {
    #graph-container {
        padding: 2.5rem;
    }

    #selected-data .xtick text{
        font-size: 1.1rem !important;
    }

    #selected-data .gtitle{
        font-size: 1.7rem !important;
    }
}


#chart-dropdown {
    margin-bottom: 6.6rem;
}

/* Placement
–––––––––––––––––––––––––––––––––––––––––––––––––– */
@media only screen and (max-width: 1250px) {
    /*For mobile and smaller screens*/
    #app-container {
        width: 100%;
        display: flex;
        flex-direction: column;
        justify-content: flex-start;
        align-items: stretch;
        margin-bottom: 5rem;
    }
}

@media (min-width: 1251px) {
    /*For desktop*/
    #app-container {
        display: flex;
        flex-direction: row;
        justify-content: flex-start;
        align-items: stretch;
        height: 100rem;
        margin-bottom: 5rem;
    }
}

#header {
    margin-left: 1.5%;
}


div, svg {
    user-select: none !important;
}

._dash-undo-redo {
    display: none;
}

/* Media Queries
–––––––––––––––––––––––––––––––––––––––––––––––––– */
/*
Note: The best way to structure the use of media queries is to create the queries
near the relevant code. For example, if you wanted to change the styles for buttons
on small devices, paste the mobile query code up in the buttons section and style it
there.
*/

/* Larger than mobile */
@media (min-width: 400px) {}

/* Larger than phablet (also point when grid becomes active) */
@media (min-width: 550px) {}

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

/* Larger than desktop */
@media (min-width: 1000px) {}

/* Larger than Desktop HD */
@media (min-width: 1200px) {}