/*! HTML5 Boilerplate v7.2.0 | MIT License | https://html5boilerplate.com/ */
/*#ffab00, #e91e63
#3a5fe5, #ff1515*/
/* main.css 2.0.0 | MIT License | https://github.com/h5bp/main.css#readme */
/*
 * What follows is the result of much research on cross-browser styling.
 * Credit left inline and big thanks to Nicolas Gallagher, Jonathan Neal,
 * Kroc Camen, and the H5BP dev community and team.
 */

/* ==========================================================================
   Base styles: opinionated defaults
   ========================================================================== */

html {
  color: #222;
  font-size: 1em;
  line-height: 1.4;
}

/*
 * Remove text-shadow in selection highlight:
 * https://twitter.com/miketaylr/status/12228805301
 *
 * Vendor-prefixed and regular ::selection selectors cannot be combined:
 * https://stackoverflow.com/a/16982510/7133471
 *
 * Customize the background color to match your design.
 */

::-moz-selection {
  background: #b3d4fc;
  text-shadow: none;
}

::selection {
  background: #b3d4fc;
  text-shadow: none;
}

/*
 * A better looking default horizontal rule
 */

hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #ccc;
  margin: 1em 0;
  padding: 0;
}

/*
 * Remove the gap between audio, canvas, iframes,
 * images, videos and the bottom of their containers:
 * https://github.com/h5bp/html5-boilerplate/issues/440
 */

audio,
canvas,
iframe,
img,
svg,
video {
  vertical-align: middle;
}

/*
 * Remove default fieldset styles.
 */

fieldset {
  border: 0;
  margin: 0;
  padding: 0;
}

/*
 * Allow only vertical resizing of textareas.
 */

textarea {
  resize: vertical;
}

/* ==========================================================================
   Browser Upgrade Prompt
   ========================================================================== */

.browserupgrade {
  margin: 0.2em 0;
  background: #ccc;
  color: #000;
  padding: 0.2em 0;
}

/* ==========================================================================
   Author's custom styles
   ========================================================================== */

/* ==========================================================================
   Helper classes
   ========================================================================== */

/*
 * Hide visually and from screen readers
 */

.hidden {
  display: none !important;
}

/*
* Hide only visually, but have it available for screen readers:
* https://snook.ca/archives/html_and_css/hiding-content-for-accessibility
*
* 1. For long content, line feeds are not interpreted as spaces and small width
*    causes content to wrap 1 word per line:
*    https://medium.com/@jessebeach/beware-smushed-off-screen-accessible-text-5952a4c2cbfe
*/

.sr-only {
  border: 0;
  clip: rect(0, 0, 0, 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  white-space: nowrap;
  width: 1px;
  /* 1 */
}

/*
* Extends the .sr-only class to allow the element
* to be focusable when navigated to via the keyboard:
* https://www.drupal.org/node/897638
*/

.sr-only.focusable:active,
.sr-only.focusable:focus {
  clip: auto;
  height: auto;
  margin: 0;
  overflow: visible;
  position: static;
  white-space: inherit;
  width: auto;
}

/*
* Hide visually and from screen readers, but maintain layout
*/

.invisible {
  visibility: hidden;
}

/*
* Clearfix: contain floats
*
* For modern browsers
* 1. The space content is one way to avoid an Opera bug when the
*    `contenteditable` attribute is included anywhere else in the document.
*    Otherwise it causes space to appear at the top and bottom of elements
*    that receive the `clearfix` class.
* 2. The use of `table` rather than `block` is only necessary if using
*    `:before` to contain the top-margins of child elements.
*/

.clearfix:before,
.clearfix:after {
  content: " ";
  /* 1 */
  display: table;
  /* 2 */
}

.clearfix:after {
  clear: both;
}

/* ==========================================================================
   EXAMPLE Media Queries for Responsive Design.
   These examples override the primary ('mobile first') styles.
   Modify as content requires.
   ========================================================================== */

@media only screen and (min-width: 35em) {
  /* Style adjustments for viewports that meet the condition */
}

@media print,
  (-webkit-min-device-pixel-ratio: 1.25),
  (min-resolution: 1.25dppx),
  (min-resolution: 120dpi) {
  /* Style adjustments for high resolution devices */
}

/* ==========================================================================
   Print styles.
   Inlined to avoid the additional HTTP request:
   https://www.phpied.com/delay-loading-your-print-css/
   ========================================================================== */

@media print {
  *,
  *:before,
  *:after {
    background: transparent !important;
    color: #000 !important;
    /* Black prints faster */
    -webkit-box-shadow: none !important;
    box-shadow: none !important;
    text-shadow: none !important;
  }
  a,
  a:visited {
    text-decoration: underline;
  }
  a[href]:after {
    content: " (" attr(href) ")";
  }
  abbr[title]:after {
    content: " (" attr(title) ")";
  }
  /*
     * Don't show links that are fragment identifiers,
     * or use the `javascript:` pseudo protocol
     */
  a[href^="#"]:after,
  a[href^="javascript:"]:after {
    content: "";
  }
  pre {
    white-space: pre-wrap !important;
  }
  pre,
  blockquote {
    border: 1px solid #999;
    page-break-inside: avoid;
  }
  /*
     * Printing Tables:
     * https://web.archive.org/web/20180815150934/http://css-discuss.incutio.com/wiki/Printing_Tables
     */
  thead {
    display: table-header-group;
  }
  tr,
  img {
    page-break-inside: avoid;
  }
  p,
  h2,
  h3 {
    orphans: 3;
    widows: 3;
  }
  h2,
  h3 {
    page-break-after: avoid;
  }
}

.tooltip {
  position: absolute;
  z-index: 1070;
  display: block;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-style: normal;
  font-weight: 400;
  line-height: 1.42857143;
  line-break: auto;
  text-align: left;
  text-align: start;
  text-decoration: none;
  text-shadow: none;
  text-transform: none;
  letter-spacing: normal;
  word-break: normal;
  word-spacing: normal;
  word-wrap: normal;
  white-space: normal;
  font-size: 12px;
  filter: alpha(opacity=0);
  opacity: 0;
}
.tooltip.in {
  filter: alpha(opacity=90);
  opacity: 0.9;
}
.tooltip.top {
  padding: 5px 0;
  margin-top: -3px;
}
.tooltip.right {
  padding: 0 5px;
  margin-left: 3px;
}
.tooltip.bottom {
  padding: 5px 0;
  margin-top: 3px;
}
.tooltip.left {
  padding: 0 5px;
  margin-left: -3px;
}
.tooltip.top .tooltip-arrow {
  bottom: 0;
  left: 50%;
  margin-left: -5px;
  border-width: 5px 5px 0;
  border-top-color: #000000;
}
.tooltip.top-left .tooltip-arrow {
  right: 5px;
  bottom: 0;
  margin-bottom: -5px;
  border-width: 5px 5px 0;
  border-top-color: #000000;
}
.tooltip.top-right .tooltip-arrow {
  bottom: 0;
  left: 5px;
  margin-bottom: -5px;
  border-width: 5px 5px 0;
  border-top-color: #000000;
}
.tooltip.right .tooltip-arrow {
  top: 50%;
  left: 0;
  margin-top: -5px;
  border-width: 5px 5px 5px 0;
  border-right-color: #000000;
}
.tooltip.left .tooltip-arrow {
  top: 50%;
  right: 0;
  margin-top: -5px;
  border-width: 5px 0 5px 5px;
  border-left-color: #000000;
}
.tooltip.bottom .tooltip-arrow {
  top: 0;
  left: 50%;
  margin-left: -5px;
  border-width: 0 5px 5px;
  border-bottom-color: #000000;
}
.tooltip.bottom-left .tooltip-arrow {
  top: 0;
  right: 5px;
  margin-top: -5px;
  border-width: 0 5px 5px;
  border-bottom-color: #000000;
}
.tooltip.bottom-right .tooltip-arrow {
  top: 0;
  left: 5px;
  margin-top: -5px;
  border-width: 0 5px 5px;
  border-bottom-color: #000000;
}
.tooltip-inner {
  max-width: 200px;
  padding: 3px 8px;
  color: #ffffff;
  text-align: center;
  background-color: #000000;
  border-radius: 4px;
}
.tooltip-arrow {
  position: absolute;
  width: 0;
  height: 0;
  border-color: transparent;
  border-style: solid;
}





/*** MY STYLES ***/
body {
  font-family: sans-serif;
  color: #444;
  background-image: linear-gradient(to right, #ffab00, #e91e63);
  display:flex;
  flex-wrap:wrap;
  margin:30px;
}

.red {
  color:#e91e63;
}

.orange {
  color:#ffab00;
}

.curtain {
  position: fixed;
  top:0;
  left:0;
  bottom:0;
  width:100%;
  background:rgba(255,255,255,0.3);
  z-index:-10;
}

header {
  width:100%;
  padding:20px 20px 40px;
}

header h1 {
  color:#fff;
  font-size:48pt;
  text-align: center;
  margin:0;
  /*text-shadow:2px 2px 0px #555;*/
}

header h1 span {
  color:#e91e63;
  text-shadow:4px 0px 0 #ffab00;
  background:#fff;
  border-radius:10px;
  padding:5px 15px 10px 10px;
  position:relative;
  z-index:10;
}

main {
  /*background:rgba(255,255,255,0.8);*/
  width:60%;
}

section {
  background:#fff;
  box-shadow:0px 1px 5px #888;
  width: 96%;
  margin: 20px 2%;
  box-sizing: border-box;
}

main > section:nth-child(1) {
  position:relative;
}

main h2 {
  position: relative;
  z-index:4;
  margin:0;
  padding:20px 25px 0;
  font-size:12pt;
  font-weight: normal;
  text-align: center;
  color:#555;
}

main h2 span {
  font-weight: bold;
}

sidebar.left {
  width:19%;
  margin-left:1%;
}

sidebar.right {
  width:19%;
  margin-right:1%;
}

#chart {
  padding:0 0 0 55px;
  width:100%;
  height:360px;
  box-sizing:border-box;
  position: relative;
  z-index:2;
  overflow:visible;
}

#map {
  height:360px;
  padding:0 0 0 55px;
  box-sizing:border-box;
  background:transparent;
  position:absolute;
  z-index:1;
  background:rgba(255,255,255, 1);
  width:100%;
}

.line {
  fill:none;
  stroke-width:3;
}



.line-0 { stroke: #ffab00; }
.line-1 { stroke: #e91e63; }

.area {
  opacity:0.5;
  height:20px;
  rx:10;
}

.area-0 { fill: #ffab00; }
.area-1 { fill: #e91e63; }

#offset-clip-path > rect {
  height:20px;
  x:0;
}

#with-offset-clip-path > rect {
  height:20px;
}

.area.offset {
  /*-webkit-clip-path:inset(0 0 0 10px);*/
  clip-path:url(#offset-clip-path);
  x:-10px;
}

.area.with-offset {
  clip-path:url(#with-offset-clip-path);
}


.label {
  text-anchor: middle;
  fill: #fff;
  font-weight: 800;
  font-size: 0.8em;
  font-family: Helvetica Neue;
  letter-spacing: 0.9pt;
}

.axis path,
.axis line {
  fill: none;
  stroke: #666;
  shape-rendering: crispEdges;
}
.axis text {
  font-size: 12px;
  color:#888;
  /*font-weight: bold;*/
}

.y.axis line, .y.axis path {
  opacity:0;
}

.x.axis .tick line {
  opacity:0.5;
  transform:translateY(-5px);
}

sidebar > section {
  padding: 10px 3%;
}

sidebar.left > section {
  padding: 10px 6%;
}

section h4 {
  font-weight:200;
  color:#666;
  margin:0 0 5px;
}

.legend-section p {
  font-size: 0.6em;
  position: relative;
  padding-left:35px;
}

.legend-section p.footnote {
  padding-left:0;
}

.legend-section p > sup {
  font-size:9px;
}

.legend-section p.control::before {
  background:#ffab00;
}

.legend-section p.experimental::before {
  background:#e91e63;
}

.legend-section p.line::before {
  content:'';
  position: absolute;
  top:10px;
  left:0;
  width:25px;
  height:3px;
  display:block;
}

.legend-section p.band::before {
  content:'';
  position: absolute;
  top:2px;
  left:0;
  width:25px;
  height:15px;
  display:block;
  opacity:0.5;
  border-radius:10px;
}

button.full-width {
  width:100%;
}


/*** Slider Styles ***/
.slider-section {
  padding:40px 0 60px;
}

#slider {
  width:88%;
  margin:0 6%;
}

.noUi-target {
  background:#eee;
  border:none;
}

.noUi-horizontal {
  height:10px;
}

.noUi-connect:nth-child(1){
  background:#ffab00;
}

.noUi-connect:nth-child(2){
  background:#e91e63;
}

.noUi-handle {
  box-shadow:none;
  border: none;
  background: none;
}

.noUi-handle:focus,
button:focus {
  outline:none;
}

.noUi-horizontal .noUi-handle {
  top:-10px;
  width: 45px;
}

.noUi-handle:before, .noUi-handle:after {
  content: none;
}

html:not([dir="rtl"]) .noUi-horizontal .noUi-handle {
  right:-22px;
}

.noUi-horizontal .noUi-tooltip {
  bottom: -2%;
  background: #fff;
  padding: 4px 6px;
  border-radius: 15px;
  box-shadow: inset 0 0 1px #FFF, inset 0 1px 7px #EBEBEB, 0 3px 6px -3px #BBB;
  cursor: pointer;
  font-size: 0.9em;
}

.noUi-horizontal .noUi-tooltip:focus {
  outline: none !important;
}

.noUi-origin:active {
  z-index:100 !important;
}

.noUi-touch-area {
  opacity:0;
}

.noUi-origin:nth-child(2) .noUi-tooltip,
.noUi-origin:nth-child(3) .noUi-tooltip {
  color:#ffab00;
  border-color:#ffab00;
} 

.noUi-origin:nth-child(4) .noUi-tooltip,
.noUi-origin:nth-child(5) .noUi-tooltip {
  color:#e91e63;
  border-color:#e91e63;
}

button {
  height:25px;
  border-radius:5px;
  border:none;
  margin: 5px 2%;
  padding:4px 6px;
  font-weight: bold;
  transition:box-shadow .3s;
  cursor: pointer;
}

.geo-section button {
  width:40px;
  color:#fff;
  background:#bbb;
}

.geo-section button.active:hover,
.geo-section button.active.hover,
.geo-section button.hover,
.geo-section button:hover {
  box-shadow:1px 1px 5px #888;
  background:#e91e63;
}

.geo-section button.active {
  box-shadow:1px 1px 5px #ddd;
  background:#ffab00;
}

.geo-section button.full-width {
  width:96% !important;
  padding:10px 6px;
  height:auto;
  position: relative;
}

.geo-section button.full-width::before {
    content: '';
    background-color: green;
    height: 10px;
    width: 100%;
    top: -10px;
    left:0;
    opacity:0;
    position: absolute;
  }

.geo-section button.full-width::after {
  content: '';
  background-color: green;
  height: 10px;
  width: 100%;
  bottom: 0;
  left:0;
  opacity:0;
  position: absolute;
}

#state-btns button {
  position:relative;
}

#state-btns button::before {
    content: '';
    background-color: red;
    height: 17px;
    width: 150%;
    bottom: 50%;
    left: -25%;
    /* right: -10%; */
    opacity: 0;
    position: absolute;
  }

#state-btns button::after {
    content: '';
    background-color: green;
    height: 18px;
    width: 150%;
    top: 50%;
     left: -25%;
    opacity: 0;
    position: absolute;
    /*right: -8px;*/
}

#region-btns {
  margin-bottom:20px;
}

#region-btns button {
  height:auto;
}

#state-btns > div {
  display:flex;
  flex-wrap:wrap;
  justify-content:space-between;
}

.temp-unit {
  top: 40px;
  font-size: 0.7em;
  padding-left: 55px;
  position: absolute;
  z-index:5;
  font-weight: normal;
  color:#bbb;
}

.temp-unit sup {
  font-size: 8px;
}

.btn-group {
  display: flex;
  margin:10px 0;
  box-shadow:1px 1px 5px #ddd;
  border-radius:5px;
  border:none;
}

.btn-group > button {
  background:transparent;
  color:#ffab00;
  border:1px solid;
  margin:0;
  height:auto;
  padding:10px 6px;
  flex-basis:50%;
}

.btn-group > button.active {
  background:#ffab00;
  border-color:#ffab00;
  color:#fff;
}

.btn-group > button:hover {
  background:#e91e63;
  border-color:#e91e63;
  color:#fff;
}

.btn-group > button:nth-child(1) {
  border-radius:5px 0 0 5px;
  border-right:none;
}

.btn-group > button:nth-child(2) {
  border-radius:0 5px 5px 0;
  border-left:none;
}



table {
  font-size:0.8em;
  width:100%;
}

/*thead th {
  border-bottom:1px solid #ddd;
}

thead th:first-child,
tbody td:first-child {
  border-right:1px solid #ddd;
}*/

table th:not(:first-child),
table td:not(:first-child) {
  text-align: center;
}

table td:not(:first-child) {
  font-style: italic;
}

td, th {
  padding:10px 2%;
}

th > i {
  opacity:0.5;
}

td:first-child, th:first-child {
  padding-left:0;
}

td:last-child, th:last-child {
  padding-right:0;
}


.table-subtitle {
  color: #aaa;
  font-size: 1.2em;
  text-align: center;
  font-weight: 100;
  padding-top:15px;
}

.shift-section {
  padding:10px;
  display:flex;
}

.shift > i {
  font-size:1.4em;
  padding-right:10px;
}

.shift .fa-stack {
  font-size:70%;
  padding-right:10px;
}

.shift .fa-certificate,
.shift .fa-stack + strong {
  color:#f591b2;
}

.shift .fa-snowflake-o,
.shift .fa-snowflake-o + strong  {
  color:#00A3E1;
}

.shift .fa-sun-o,
.shift .fa-sun-o + strong {
  color:orange;
}

.shift .fa-leaf,
.shift .fa-leaf + strong {
  color:#fd8237;
}

.shift .fa-circle-o {
  /*top:1px;*/
}

.shift span.negative {
  color:red;
} 

.shift span.positive {
  color:green;
} 

.shift {
  font-size:1.1em;
  margin:10px 0;
  padding:5px;
  text-align: left;
}


.shift-section div {
  width:50%;
}

.data-source {
    font-size: 0.6em;
    text-align: center;
    margin: 0;
    padding: 0px 0 15px;
    font-style: italic;
    color:#aaa;
}

.data-source a {
  color:#03a9cb;
}

main section .fa-spin {
    display:none;
    position: absolute;
    z-index: 3;
    color: #E91E63;
    text-shadow: 1px 1px 0px #ffab02;
    right: 0;
    top: 180px;
    width: 100%;
    font-size: 2em;
    opacity: 0.5;
}

.description-section {
  padding:10px 3%;
}

.description-section h4 {
  font-weight: bold;
  font-size:1.2em;
  margin-top:25px;
}

.description-section p {
  text-indent: 30px;
}

footer {
    text-align: center;
    width: 100%;
    margin: 40px 0 0px;
    color: #ccc;
    font-size: 12px;
    font-weight: 100;
    font-style: italic;
}

footer a {
  color:#eee;
}


footer a:hover {
  color:#fff;
}
