@charset "UTF-8";
/**************************************
	NOAA/OCM COLORS
**************************************/
/* *************************************
	NEUTRALS
************************************* */
/* Neutrals from https://standards.usa.gov/visual-style/#colors */
/* *************************************
	BREAKPOINTS
************************************** */
/* *************************************
	FONT HELPERS
************************************** */
/* *************************************
	TABLE VALUES
************************************** */
/* *************************************
// select controls
************************************** */
/* *************************************
// charts 
************************************** */
/* *************************************
// infographics 
************************************** */
/* *************************************
// TYPOGRAPHY
************************************** */
/* *************************************
// BUTTONS
************************************** */
* {
  box-sizing: border-box;
}

/****************************************
MEDIA QUERIES
*****************************************/
/* ******************************************************************************
TRANSFORM
****************************************************************************** */
/* ******************************************************************************
TRANSITION
****************************************************************************** */
/* ******************************************************************************
LOADING BUTTONS
****************************************************************************** */
@-webkit-keyframes progressGhost {
  0% {
    opacity: 0;
    left: calc(-12%);
  }
  15% {
    opacity: 0.35;
  }
  50% {
    opacity: 0.7;
    width: 70px;
  }
  75% {
    opacity: 0.55;
  }
  100% {
    opacity: 0;
    left: calc(96%);
  }
}
@-moz-keyframes progressGhost {
  0% {
    opacity: 0;
    left: calc(-12%);
  }
  15% {
    opacity: 0.35;
  }
  50% {
    opacity: 0.7;
    width: 70px;
  }
  75% {
    opacity: 0.55;
  }
  100% {
    opacity: 0;
    left: calc(96%);
  }
}
@-ms-keyframes progressGhost {
  0% {
    opacity: 0;
    left: calc(-12%);
  }
  15% {
    opacity: 0.35;
  }
  50% {
    opacity: 0.7;
    width: 70px;
  }
  75% {
    opacity: 0.55;
  }
  100% {
    opacity: 0;
    left: calc(96%);
  }
}
@-o-keyframes progressGhost {
  0% {
    opacity: 0;
    left: calc(-12%);
  }
  15% {
    opacity: 0.35;
  }
  50% {
    opacity: 0.7;
    width: 70px;
  }
  75% {
    opacity: 0.55;
  }
  100% {
    opacity: 0;
    left: calc(96%);
  }
}
@keyframes progressGhost {
  0% {
    opacity: 0;
    left: calc(-12%);
  }
  15% {
    opacity: 0.35;
  }
  50% {
    opacity: 0.7;
    width: 70px;
  }
  75% {
    opacity: 0.55;
  }
  100% {
    opacity: 0;
    left: calc(96%);
  }
}
/* ******************************************************************************
STANDARD BUTTONS
****************************************************************************** */
@-webkit-keyframes buttonFlash {
  0% {
    opacity: 0;
  }
  15% {
    opacity: 0.85;
  }
  50% {
    opacity: 1;
    width: 100%;
  }
  75% {
    opacity: 0.45;
    width: 100%;
  }
  100% {
    opacity: 0;
    width: 100%;
  }
}
@-moz-keyframes buttonFlash {
  0% {
    opacity: 0;
  }
  15% {
    opacity: 0.85;
  }
  50% {
    opacity: 1;
    width: 100%;
  }
  75% {
    opacity: 0.45;
    width: 100%;
  }
  100% {
    opacity: 0;
    width: 100%;
  }
}
@-ms-keyframes buttonFlash {
  0% {
    opacity: 0;
  }
  15% {
    opacity: 0.85;
  }
  50% {
    opacity: 1;
    width: 100%;
  }
  75% {
    opacity: 0.45;
    width: 100%;
  }
  100% {
    opacity: 0;
    width: 100%;
  }
}
@-o-keyframes buttonFlash {
  0% {
    opacity: 0;
  }
  15% {
    opacity: 0.85;
  }
  50% {
    opacity: 1;
    width: 100%;
  }
  75% {
    opacity: 0.45;
    width: 100%;
  }
  100% {
    opacity: 0;
    width: 100%;
  }
}
@keyframes buttonFlash {
  0% {
    opacity: 0;
  }
  15% {
    opacity: 0.85;
  }
  50% {
    opacity: 1;
    width: 100%;
  }
  75% {
    opacity: 0.45;
    width: 100%;
  }
  100% {
    opacity: 0;
    width: 100%;
  }
}
@-webkit-keyframes buttonFlashRound {
  0% {
    opacity: 0;
  }
  15% {
    opacity: 0.85;
  }
  50% {
    opacity: 1;
    -moz-transform: scale(1);
    -o-transform: scale(1);
    -ms-transform: scale(1);
    -webkit-transform: scale(1);
    transform: scale(1);
  }
  75% {
    opacity: 0.45;
    -moz-transform: scale(1);
    -o-transform: scale(1);
    -ms-transform: scale(1);
    -webkit-transform: scale(1);
    transform: scale(1);
  }
  100% {
    opacity: 0;
    -moz-transform: scale(1);
    -o-transform: scale(1);
    -ms-transform: scale(1);
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}
@-moz-keyframes buttonFlashRound {
  0% {
    opacity: 0;
  }
  15% {
    opacity: 0.85;
  }
  50% {
    opacity: 1;
    -moz-transform: scale(1);
    -o-transform: scale(1);
    -ms-transform: scale(1);
    -webkit-transform: scale(1);
    transform: scale(1);
  }
  75% {
    opacity: 0.45;
    -moz-transform: scale(1);
    -o-transform: scale(1);
    -ms-transform: scale(1);
    -webkit-transform: scale(1);
    transform: scale(1);
  }
  100% {
    opacity: 0;
    -moz-transform: scale(1);
    -o-transform: scale(1);
    -ms-transform: scale(1);
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}
@-ms-keyframes buttonFlashRound {
  0% {
    opacity: 0;
  }
  15% {
    opacity: 0.85;
  }
  50% {
    opacity: 1;
    -moz-transform: scale(1);
    -o-transform: scale(1);
    -ms-transform: scale(1);
    -webkit-transform: scale(1);
    transform: scale(1);
  }
  75% {
    opacity: 0.45;
    -moz-transform: scale(1);
    -o-transform: scale(1);
    -ms-transform: scale(1);
    -webkit-transform: scale(1);
    transform: scale(1);
  }
  100% {
    opacity: 0;
    -moz-transform: scale(1);
    -o-transform: scale(1);
    -ms-transform: scale(1);
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}
@-o-keyframes buttonFlashRound {
  0% {
    opacity: 0;
  }
  15% {
    opacity: 0.85;
  }
  50% {
    opacity: 1;
    -moz-transform: scale(1);
    -o-transform: scale(1);
    -ms-transform: scale(1);
    -webkit-transform: scale(1);
    transform: scale(1);
  }
  75% {
    opacity: 0.45;
    -moz-transform: scale(1);
    -o-transform: scale(1);
    -ms-transform: scale(1);
    -webkit-transform: scale(1);
    transform: scale(1);
  }
  100% {
    opacity: 0;
    -moz-transform: scale(1);
    -o-transform: scale(1);
    -ms-transform: scale(1);
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}
@keyframes buttonFlashRound {
  0% {
    opacity: 0;
  }
  15% {
    opacity: 0.85;
  }
  50% {
    opacity: 1;
    -moz-transform: scale(1);
    -o-transform: scale(1);
    -ms-transform: scale(1);
    -webkit-transform: scale(1);
    transform: scale(1);
  }
  75% {
    opacity: 0.45;
    -moz-transform: scale(1);
    -o-transform: scale(1);
    -ms-transform: scale(1);
    -webkit-transform: scale(1);
    transform: scale(1);
  }
  100% {
    opacity: 0;
    -moz-transform: scale(1);
    -o-transform: scale(1);
    -ms-transform: scale(1);
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}
@-webkit-keyframes fadeOut {
  0% {
    opacity: 1;
  }
  90% {
    opacity: 0;
  }
  100% {
    display: none;
    opacity: 0;
  }
}
@-moz-keyframes fadeOut {
  0% {
    opacity: 1;
  }
  90% {
    opacity: 0;
  }
  100% {
    display: none;
    opacity: 0;
  }
}
@-ms-keyframes fadeOut {
  0% {
    opacity: 1;
  }
  90% {
    opacity: 0;
  }
  100% {
    display: none;
    opacity: 0;
  }
}
@-o-keyframes fadeOut {
  0% {
    opacity: 1;
  }
  90% {
    opacity: 0;
  }
  100% {
    display: none;
    opacity: 0;
  }
}
@keyframes fadeOut {
  0% {
    opacity: 1;
  }
  90% {
    opacity: 0;
  }
  100% {
    display: none;
    opacity: 0;
  }
}
@-webkit-keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@-moz-keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@-ms-keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@-o-keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
/* ************************************
ARROWS
------
$direction: top, left, right, bottom, top-left, top-right, bottom-left, bottom-right
$color: hex, rgb or rbga
$size: px or em
@example
.element{
    @include arrow(top, #000, 50px);
}
*************************************** */
/*********************************************
  FLEXBOX MIXINS - KEEPING IT SIMPLE FOR NOW
*********************************************/
/****************************************
GRADIENT COLOR MAKERS
*****************************************/
/****************************************
PREVENT SELECTION OF TEXT
*****************************************/
/***************************************
CLEARFIX
***************************************/
/***************************************
BOX SIZING
***************************************/
@-webkit-keyframes scale {
  0% {
    opacity: 0;
    -moz-transform: scale(0);
    -o-transform: scale(0);
    -ms-transform: scale(0);
    -webkit-transform: scale(0);
    transform: scale(0);
  }
  70% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    -moz-transform: scale(1);
    -o-transform: scale(1);
    -ms-transform: scale(1);
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}
@-moz-keyframes scale {
  0% {
    opacity: 0;
    -moz-transform: scale(0);
    -o-transform: scale(0);
    -ms-transform: scale(0);
    -webkit-transform: scale(0);
    transform: scale(0);
  }
  70% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    -moz-transform: scale(1);
    -o-transform: scale(1);
    -ms-transform: scale(1);
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}
@-ms-keyframes scale {
  0% {
    opacity: 0;
    -moz-transform: scale(0);
    -o-transform: scale(0);
    -ms-transform: scale(0);
    -webkit-transform: scale(0);
    transform: scale(0);
  }
  70% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    -moz-transform: scale(1);
    -o-transform: scale(1);
    -ms-transform: scale(1);
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}
@-o-keyframes scale {
  0% {
    opacity: 0;
    -moz-transform: scale(0);
    -o-transform: scale(0);
    -ms-transform: scale(0);
    -webkit-transform: scale(0);
    transform: scale(0);
  }
  70% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    -moz-transform: scale(1);
    -o-transform: scale(1);
    -ms-transform: scale(1);
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}
@keyframes scale {
  0% {
    opacity: 0;
    -moz-transform: scale(0);
    -o-transform: scale(0);
    -ms-transform: scale(0);
    -webkit-transform: scale(0);
    transform: scale(0);
  }
  70% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    -moz-transform: scale(1);
    -o-transform: scale(1);
    -ms-transform: scale(1);
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}
/*! normalize.css v2.0.1 | MIT License | git.io/normalize */
/* ==========================================================================
   HTML5 display definitions
   ========================================================================== */
/*
 * Corrects `block` display not defined in IE 8/9.
 */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
nav,
section,
summary {
  display: block;
}

/*
 * Corrects `inline-block` display not defined in IE 8/9.
 */
audio,
canvas,
video {
  display: inline-block;
}

/*
 * Prevents modern browsers from displaying `audio` without controls.
 * Remove excess height in iOS 5 devices.
 */
audio:not([controls]) {
  display: none;
  height: 0;
}

/*
 * Addresses styling for `hidden` attribute not present in IE 8/9.
 */
[hidden] {
  display: none;
}

/* ==========================================================================
   Base
   ========================================================================== */
/*
 * 1. Sets default font family to sans-serif.
 * 2. Prevents iOS text size adjust after orientation change, without disabling
 *    user zoom.
 */
html {
  font-family: sans-serif;
  /* 1 */
  -webkit-text-size-adjust: 100%;
  /* 2 */
  -ms-text-size-adjust: 100%;
  /* 2 */
}

/*
 * Removes default margin.
 */
body {
  margin: 0;
}

/* ==========================================================================
   Links
   ========================================================================== */
/*
 * Addresses `outline` inconsistency between Chrome and other browsers.
 */
a:focus {
  outline: thin dotted;
}

/*
 * Improves readability when focused and also mouse hovered in all browsers.
 */
a:active,
a:hover {
  outline: 0;
}

/* ==========================================================================
   Typography
   ========================================================================== */
/*
 * Addresses `h1` font sizes within `section` and `article` in Firefox 4+,
 * Safari 5, and Chrome.
 */
h1 {
  font-size: 2em;
}

/*
 * Addresses styling not present in IE 8/9, Safari 5, and Chrome.
 */
abbr[title] {
  border-bottom: 1px dotted;
}

/*
 * Addresses style set to `bolder` in Firefox 4+, Safari 5, and Chrome.
 */
b,
strong {
  font-weight: bold;
}

/*
 * Addresses styling not present in Safari 5 and Chrome.
 */
dfn {
  font-style: italic;
}

/*
 * Addresses styling not present in IE 8/9.
 */
mark {
  background: #ff0;
  color: #000;
}

/*
 * Corrects font family set oddly in Safari 5 and Chrome.
 */
code,
kbd,
pre,
samp {
  font-family: monospace, serif;
  font-size: 1em;
}

/*
 * Improves readability of pre-formatted text in all browsers.
 */
pre {
  white-space: pre;
  white-space: pre-wrap;
  word-wrap: break-word;
}

/*
 * Sets consistent quote types.
 */
q {
  quotes: "“" "”" "‘" "’";
}

/*
 * Addresses inconsistent and variable font size in all browsers.
 */
small {
  font-size: 80%;
}

/*
 * Prevents `sub` and `sup` affecting `line-height` in all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sup {
  top: -0.5em;
}

sub {
  bottom: -0.25em;
}

/* ==========================================================================
   Embedded content
   ========================================================================== */
/*
 * Removes border when inside `a` element in IE 8/9.
 */
img {
  border: 0;
  max-width: 100%;
}

/*
 * Corrects overflow displayed oddly in IE 9.
 */
svg:not(:root) {
  overflow: hidden;
}

/* ==========================================================================
   Figures
   ========================================================================== */
/*
 * Addresses margin not present in IE 8/9 and Safari 5.
 */
figure {
  margin: 0;
}

/* ==========================================================================
   Forms
   ========================================================================== */
/*
 * Define consistent border, margin, and padding.
 */
fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em;
}

/*
 * 1. Corrects color not being inherited in IE 8/9.
 * 2. Remove padding so people aren't caught out if they zero out fieldsets.
 */
legend {
  border: 0;
  /* 1 */
  padding: 0;
  /* 2 */
}

/*
 * 1. Corrects font family not being inherited in all browsers.
 * 2. Corrects font size not being inherited in all browsers.
 * 3. Addresses margins set differently in Firefox 4+, Safari 5, and Chrome
 */
button,
input,
select,
textarea {
  font-family: inherit;
  /* 1 */
  font-size: 100%;
  /* 2 */
  margin: 0;
  /* 3 */
}

/*
 * Addresses Firefox 4+ setting `line-height` on `input` using `!important` in
 * the UA stylesheet.
 */
button,
input {
  line-height: normal;
}

/*
 * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
 *    and `video` controls.
 * 2. Corrects inability to style clickable `input` types in iOS.
 * 3. Improves usability and consistency of cursor style between image-type
 *    `input` and others.
 */
button,
html input[type=button],
input[type=reset],
input[type=submit] {
  -webkit-appearance: button;
  /* 2 */
  cursor: pointer;
  /* 3 */
}

/*
 * Re-set default cursor for disabled elements.
 */
button[disabled],
input[disabled] {
  cursor: default;
}

/*
 * 1. Addresses box sizing set to `content-box` in IE 8/9.
 * 2. Removes excess padding in IE 8/9.
 */
input[type=checkbox],
input[type=radio] {
  box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */
}

/*
 * 1. Addresses `appearance` set to `searchfield` in Safari 5 and Chrome.
 * 2. Addresses `box-sizing` set to `border-box` in Safari 5 and Chrome
 *    (include `-moz` to future-proof).
 */
input[type=search] {
  -webkit-appearance: textfield;
  /* 1 */
  -moz-box-sizing: content-box;
  -webkit-box-sizing: content-box;
  /* 2 */
  box-sizing: content-box;
}

/*
 * Removes inner padding and search cancel button in Safari 5 and Chrome
 * on OS X.
 */
input[type=search]::-webkit-search-cancel-button,
input[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/*
 * Removes inner padding and border in Firefox 4+.
 */
button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0;
}

/*
 * 1. Removes default vertical scrollbar in IE 8/9.
 * 2. Improves readability and alignment in all browsers.
 */
textarea {
  overflow: auto;
  /* 1 */
  vertical-align: top;
  /* 2 */
}

/* ==========================================================================
   Tables
   ========================================================================== */
/*
 * Remove most spacing between table cells.
 */
table {
  border-collapse: collapse;
  border-spacing: 0;
}

.radio-button {
  position: absolute;
  left: -999999px;
}
.radio-button:checked + label {
  border: 1px solid #227b9e;
  background-color: #227b9e;
  color: white;
}

.radio-button__label {
  position: relative;
  background-color: #fff;
  border-radius: 4px;
  padding: 6px 6px 6px 38px;
  margin: 1px;
  font-size: 12px;
}
.radio-button__label:hover {
  cursor: pointer;
  box-shadow: 1px 1px 7px 1px rgba(0, 0, 0, 0.08);
}
.radio-button__label .icon {
  position: absolute;
  top: 4px;
  left: 8px;
  font-size: 18px;
}

.select-group {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  -moz-align-items: center;
  -ms-align-items: center;
  align-items: center;
  -webkit-justify-content: space-evenly;
  -moz-justify-content: space-evenly;
  -ms-justify-content: space-evenly;
  justify-content: space-evenly;
  -webkit-flex-direction: row;
  -moz-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row;
}

[data-app-state=inactive] .location-form {
  margin: 0;
  padding: 6px 0;
  width: 100%;
  max-width: 320px;
}
[data-app-state=inactive] .select-group {
  width: 100%;
}

ol {
  counter-reset: li;
  /* Initiate a counter */
  margin-left: 0;
  /* Remove the default left margin */
  padding-left: 0;
  /* Remove the default left padding */
}
ol > li {
  position: relative;
  /* Create a positioning context */
  margin: 0 0 25px 1em;
  /* Give each list item a left margin to make room for the numbers */
  padding: 0 12px 0 60px;
  /* Add some spacing around the content */
  list-style: none;
  /* Disable the normal item numbering */
}
ol > li:before {
  display: block;
  content: counter(li);
  /* Use the counter as content */
  counter-increment: li;
  /* Increment the counter by 1 */
  /* Position and style the number */
  position: absolute;
  top: -4px;
  left: 0;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  width: 32px;
  height: 32px;
  line-height: 32px;
  /* Some space between the number and the content in browsers that support
           generated content but not positioning it (Camino 2 is one example) */
  margin-right: 8px;
  color: #3097b7;
  background: transparent;
  border: 1px solid #3097b7;
  border-radius: 100%;
  font-weight: bold;
  text-align: center;
}

ul {
  padding: 0 0 0 20px;
}

ol ol > li li ol,
li ul {
  margin-top: 6px;
}

ol ol li:last-child {
  margin-bottom: 0;
}

.list-plain {
  list-style: none;
  margin: 0;
  padding: 0;
}

.list-flex li {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: flex-start;
  -moz-align-items: flex-start;
  -ms-align-items: flex-start;
  align-items: flex-start;
  -webkit-justify-content: flex-start;
  -moz-justify-content: flex-start;
  -ms-justify-content: flex-start;
  justify-content: flex-start;
  margin: 20px 0;
}
.list-flex li p {
  flex: 2;
  margin: 0 0 0 10px;
}

.list-landcover li {
  padding: 2px 3px;
}
.list-landcover li.active {
  background-color: #eee;
  color: #c66a46;
}
.list-landcover li:hover {
  background-color: #ececec;
  cursor: pointer;
}

/*! Generated by Font Squirrel (https://www.fontsquirrel.com) on July 3, 2018 */
@font-face {
  font-family: "Noto Sans Bold";
  src: url("notosans-bold.fd4007c1.woff2") format("woff2"), url("notosans-bold.de8ce08a.woff") format("woff");
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: "Noto Sans";
  src: url("notosans-regular.eacb85ca.woff2") format("woff2"), url("notosans-regular.895817a8.woff") format("woff");
  font-weight: normal;
  font-style: normal;
}
.table {
  table-layout: fixed;
  width: 100%;
  margin-bottom: 1em;
  font-size: 14px;
}
.table tr {
  border-bottom: 1px solid #afd2d2;
}
.table tr th {
  border-right: 1px solid #afd2d2;
  border-left: 1px solid #afd2d2;
}
.table tr td {
  padding: 10px;
  border-right: 1px solid #afd2d2;
  border-left: 1px solid #afd2d2;
  text-align: center;
}
.table tr:nth-of-type(odd) {
  background-color: rgba(255, 255, 255, 0.31);
}
.table .table-header th {
  border-top: 1px solid #afd2d2;
  padding: 10px;
}

/**************************************
	TYPOGRPAHY
  Based on perfect fourth ratio 1.33

  14
  18.662
  24.87
  33.16
  44.20
  58.92
  78.54 ...
***************************************/
p,
a,
ul,
ol {
  font-family: "Noto Sans", sans-serif;
  font-size: 15px;
  line-height: 135%;
  text-rendering: geometricPrecision;
}
@media screen and (min-width: 1024px) and (max-width: 1366px) {
  p,
a,
ul,
ol {
    font-size: 13px;
  }
}

a {
  color: #1a74a6;
}
@media print {
  a:after {
    content: " (" attr(href) ") ";
  }
}

ul {
  line-height: 145%;
}

h5 {
  font-family: "Noto Sans Bold", sans-serif;
  line-height: 135%;
  letter-spacing: -0.03em;
  text-rendering: geometricPrecision;
}
@media screen and (min-width: 1024px) and (max-width: 1366px) {
  h5 {
    font-size: 18.64px;
  }
}
@media screen and (min-width: 1365px) and (max-width: 1600px) {
  h5 {
    font-size: 18.64px;
  }
}
@media screen and (min-width: 1599px) {
  h5 {
    font-size: 25.63px;
  }
}

h4 {
  font-family: "Noto Sans Bold", sans-serif;
  line-height: 135%;
  letter-spacing: -0.03em;
  text-rendering: geometricPrecision;
}
@media screen and (min-width: 1024px) and (max-width: 1366px) {
  h4 {
    font-size: 18.64px;
  }
}
@media screen and (min-width: 1365px) and (max-width: 1600px) {
  h4 {
    font-size: 18.64px;
  }
}
@media screen and (min-width: 1599px) {
  h4 {
    font-size: 25.63px;
  }
}

h3 {
  font-family: "Noto Sans Bold", sans-serif;
  line-height: 135%;
  letter-spacing: -0.03em;
  text-rendering: geometricPrecision;
}
@media screen and (min-width: 1024px) and (max-width: 1366px) {
  h3 {
    font-size: 18.64px;
  }
}
@media screen and (min-width: 1365px) and (max-width: 1600px) {
  h3 {
    font-size: 18.64px;
  }
}
@media screen and (min-width: 1599px) {
  h3 {
    font-size: 25.63px;
  }
}

h2 {
  font-family: "Noto Sans Bold", sans-serif;
  line-height: 135%;
  letter-spacing: -0.03em;
  text-rendering: geometricPrecision;
}
@media screen and (min-width: 1024px) and (max-width: 1366px) {
  h2 {
    font-size: 18.64px;
  }
}
@media screen and (min-width: 1365px) and (max-width: 1600px) {
  h2 {
    font-size: 18.64px;
  }
}
@media screen and (min-width: 1599px) {
  h2 {
    font-size: 25.63px;
  }
}

h1 {
  font-family: "Noto Sans Bold", sans-serif;
  line-height: 135%;
  letter-spacing: -0.03em;
  text-rendering: geometricPrecision;
}
@media screen and (min-width: 1024px) and (max-width: 1366px) {
  h1 {
    font-size: 18.64px;
  }
}
@media screen and (min-width: 1365px) and (max-width: 1600px) {
  h1 {
    font-size: 18.64px;
  }
}
@media screen and (min-width: 1599px) {
  h1 {
    font-size: 25.63px;
  }
}

strong {
  font-family: "Noto Sans Bold", sans-serif;
  font-weight: 700;
}

.location__current-display .location-title,
.location__current-display .location-specification {
  margin: 0;
}

.map {
  display: block;
  position: fixed;
  top: 60px;
  bottom: 62px;
  right: 0;
  left: 0;
  -moz-transform: translate3d(100%, 0, 0);
  -o-transform: translate3d(100%, 0, 0);
  -ms-transform: translate3d(100%, 0, 0);
  -webkit-transform: translate3d(100%, 0, 0);
  transform: translate3d(100%, 0, 0);
  -webkit-transition: all 200ms cubic-bezier(0.75, 0.64, 0.265, 0.945);
  -moz-transition: all 200ms cubic-bezier(0.75, 0.64, 0.265, 0.945);
  -ms-transition: all 200ms cubic-bezier(0.75, 0.64, 0.265, 0.945);
  transition: all 200ms cubic-bezier(0.75, 0.64, 0.265, 0.945);
}
@media screen and (min-width: 1024px) and (max-width: 1366px) {
  .map {
    display: block;
    left: 645px;
    bottom: 0;
    top: 0;
    transform: translate3d(0, 0, 0);
  }
}
@media screen and (min-width: 1365px) {
  .map {
    display: block;
    left: 765px;
    bottom: 0;
    top: 0;
    transform: translate3d(0, 0, 0);
  }
}
.map.is-open-mobile {
  -moz-transform: translate3d(0, 0, 0);
  -o-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0);
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}
.map .ol-zoom {
  top: auto;
  right: 20px;
  bottom: 20px;
  left: auto;
}
.map .ol-control {
  background-color: transparent;
}
.map .ol-control:hover {
  background-color: transparent;
}
.map .ol-control button {
  display: block;
  margin: 1px;
  padding: 0;
  color: #fff;
  font-size: 1.14em;
  font-weight: 700;
  text-decoration: none;
  text-align: center;
  height: 1.375em;
  width: 1.375em;
  line-height: 0.4em;
  background-color: rgba(0, 60, 136, 0.5);
  border: none;
  border-radius: 2px;
}
.map .ol-control button:hover {
  background-color: #555;
  color: #fff;
}
.map .ol-control button, .map .ol-control button:focus, .map .ol-control button:active {
  background-color: #eaeaea;
  color: #555;
}
.map .map-actions-bar {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  -moz-align-items: center;
  -ms-align-items: center;
  align-items: center;
  -webkit-justify-content: space-evenly;
  -moz-justify-content: space-evenly;
  -ms-justify-content: space-evenly;
  justify-content: space-evenly;
  position: fixed;
  top: 20px;
  right: 20px;
  width: 255px;
  z-index: 3;
}
.map .ol-attribution {
  display: none;
}

[data-menu-open] .map {
  top: 198px;
}
@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: portrait) {
  [data-menu-open] .map {
    top: 198px;
  }
}
@media screen and (min-width: 1024px) {
  [data-menu-open] .map {
    top: 0;
  }
}

[data-app-state=inactive] .map {
  visibility: hidden;
  pointer-events: none;
}

[data-app-state=active] .map {
  pointer-events: all;
}
@media screen and (min-width: 1024px) {
  [data-app-state=active] .map {
    visibility: visible;
    pointer-events: all;
  }
}

.modal {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  -moz-align-items: center;
  -ms-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  -moz-justify-content: center;
  -ms-justify-content: center;
  justify-content: center;
  position: fixed;
  top: 60px;
  right: 0;
  bottom: 61px;
  left: 0;
  margin: 0;
  opacity: 0;
  pointer-events: none;
  background: rgba(255, 255, 255, 0.82);
  z-index: 2000;
  overflow: hidden;
  -moz-transform: translate3d(0, 100%, 0);
  -o-transform: translate3d(0, 100%, 0);
  -ms-transform: translate3d(0, 100%, 0);
  -webkit-transform: translate3d(0, 100%, 0);
  transform: translate3d(0, 100%, 0);
  -webkit-transition: all 200ms cubic-bezier(0.75, 0.64, 0.265, 0.945);
  -moz-transition: all 200ms cubic-bezier(0.75, 0.64, 0.265, 0.945);
  -ms-transition: all 200ms cubic-bezier(0.75, 0.64, 0.265, 0.945);
  transition: all 200ms cubic-bezier(0.75, 0.64, 0.265, 0.945);
}
@media screen and (min-width: 1024px) and (max-width: 1366px) {
  .modal {
    width: 549px;
    left: 96px;
  }
}
@media screen and (min-width: 1024px) {
  .modal {
    bottom: 0;
  }
}
@media screen and (min-width: 1365px) {
  .modal {
    top: 80px;
    bottom: 0px;
    width: 669px;
    left: 96px;
  }
}
.modal .modal-content {
  height: 100%;
  width: 95%;
  overflow-y: auto;
  overflow-x: hidden;
  padding: 0 20px;
  box-shadow: 1px 1px 5px 1px rgba(0, 0, 0, 0.01);
}
.modal .modal-content .modal-content--header {
  height: 300px;
  overflow: hidden;
}
.modal .modal-content h1 {
  font-size: 21px;
}
.modal.modal-visible {
  visibility: visible;
}
.modal.modal-visible ~ .modal-overlay {
  opacity: 1;
  visibility: visible;
}

[data-tab-modal-state=open] .modal {
  opacity: 1;
  pointer-events: all;
  -moz-transform: translate3d(0, 0, 0);
  -o-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0);
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}
[data-tab-modal-state=open] .tab-header,
[data-tab-modal-state=open] .charts-tab .tab .infographic {
  filter: blur(10px) saturate(130%);
}

/**
 * Temp Pure CSS tabs
 * Ref: https://codepen.io/renatorib/pen/rlpfj
 */
.charts-tab > input,
.charts-tab section > div {
  display: none;
}

.tab-header {
  position: relative;
}

#tab1:checked ~ section .tab1,
#tab2:checked ~ section .tab2,
#tab3:checked ~ section .tab3,
#tab4:checked ~ section .tab4,
#tab5:checked ~ section .tab5 {
  display: flex;
  position: relative;
}

#tab1:checked ~ nav .tab1 label,
#tab2:checked ~ nav .tab2 label,
#tab3:checked ~ nav .tab3 label,
#tab4:checked ~ nav .tab4 label,
#tab5:checked ~ nav .tab5 label {
  background: #e3f7ff;
  position: relative;
}
#tab1:checked ~ nav .tab1 label:after,
#tab2:checked ~ nav .tab2 label:after,
#tab3:checked ~ nav .tab3 label:after,
#tab4:checked ~ nav .tab4 label:after,
#tab5:checked ~ nav .tab5 label:after {
  content: "";
  display: block;
  position: absolute;
  height: 2px;
  width: 100%;
  left: 0;
  bottom: -1px;
}
#tab1:checked ~ nav .tab1 label .icn,
#tab2:checked ~ nav .tab2 label .icn,
#tab3:checked ~ nav .tab3 label .icn,
#tab4:checked ~ nav .tab4 label .icn,
#tab5:checked ~ nav .tab5 label .icn {
  filter: none;
}

.charts-tab nav {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  -moz-align-items: center;
  -ms-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  -moz-justify-content: center;
  -ms-justify-content: center;
  justify-content: center;
  -webkit-flex-direction: column;
  -moz-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  background-color: white;
  position: fixed;
  top: auto;
  left: 0;
  right: 0;
  bottom: 0;
  height: 60px;
  width: auto;
  z-index: 3;
  box-shadow: 0 0 10px 1px rgba(0, 0, 0, 0.1);
}
@media screen and (min-width: 1024px) {
  .charts-tab nav {
    width: 96px;
    top: 0;
    right: auto;
    height: 100%;
    box-shadow: 0 0 10px 1px rgba(0, 0, 0, 0);
  }
}
.charts-tab nav ul {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  -moz-align-items: center;
  -ms-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  -moz-justify-content: center;
  -ms-justify-content: center;
  justify-content: center;
  -webkit-flex-direction: row;
  -moz-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row;
  list-style: none;
  margin: 0;
  padding: 0;
  width: 100%;
  height: 100%;
  background-color: white;
  z-index: 2;
}
@media screen and (min-width: 1024px) {
  .charts-tab nav ul {
    -webkit-flex-direction: column;
    -moz-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}
.charts-tab nav ul li {
  text-align: center;
}
.charts-tab nav ul li label,
.charts-tab nav ul li button {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  -moz-align-items: center;
  -ms-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  -moz-justify-content: center;
  -ms-justify-content: center;
  justify-content: center;
  -webkit-flex-direction: column;
  -moz-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  padding: 15px 0;
  color: #767676;
  font-size: 13px;
  width: 50px;
  height: 50px;
  border-radius: 100%;
  cursor: pointer;
  border: none;
  box-shadow: none;
  -webkit-transition: all 200ms cubic-bezier(0.75, 0.64, 0.265, 0.945);
  -moz-transition: all 200ms cubic-bezier(0.75, 0.64, 0.265, 0.945);
  -ms-transition: all 200ms cubic-bezier(0.75, 0.64, 0.265, 0.945);
  transition: all 200ms cubic-bezier(0.75, 0.64, 0.265, 0.945);
}
@media screen and (min-width: 1024px) {
  .charts-tab nav ul li label,
.charts-tab nav ul li button {
    width: 72px;
    height: 72px;
  }
}
.charts-tab nav ul li label .label-text,
.charts-tab nav ul li button .label-text {
  position: absolute;
  left: -9999px;
}
.charts-tab nav ul li label:hover,
.charts-tab nav ul li button:hover {
  background: #d1e6ee;
}
.charts-tab nav ul li label:active,
.charts-tab nav ul li button:active {
  background: #d4d4d4;
}
.charts-tab nav ul li:not(:last-child) button {
  border-right-width: 0;
}
.charts-tab nav ul li .button-mobile-map__toggle {
  display: block;
  background-color: transparent;
}
@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: portrait) {
  .charts-tab nav ul li .button-mobile-map__toggle {
    display: block;
  }
}
@media screen and (min-width: 1024px) {
  .charts-tab nav ul li .button-mobile-map__toggle {
    display: none;
  }
}
.charts-tab nav:after {
  content: "";
  position: absolute;
  opacity: 0.15;
  width: 100%;
  height: 65%;
  z-index: 1;
  filter: blur(13px);
  background: #ffffff;
  /* Old browsers */
  background: -moz-linear-gradient(top, #ffffff 0%, #000000 50%, #ffffff 100%);
  /* FF3.6-15 */
  background: -webkit-linear-gradient(top, #ffffff 0%, #000000 50%, #ffffff 100%);
  /* Chrome10-25,Safari5.1-6 */
  background: linear-gradient(to bottom, #ffffff 0%, #000000 50%, #ffffff 100%);
  /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#ffffff", endColorstr="#ffffff", GradientType=0);
  /* IE6-9 */
}

.accordion {
  margin: 0;
}
.accordion .accordion-header {
  display: block;
  position: relative;
  padding: 10px 40px 10px 0;
  cursor: pointer;
  -webkit-transition: all 200ms cubic-bezier(0.75, 0.64, 0.265, 0.945);
  -moz-transition: all 200ms cubic-bezier(0.75, 0.64, 0.265, 0.945);
  -ms-transition: all 200ms cubic-bezier(0.75, 0.64, 0.265, 0.945);
  transition: all 200ms cubic-bezier(0.75, 0.64, 0.265, 0.945);
  border-bottom: 1px solid #227b9e;
}
.accordion .accordion-header:hover {
  background-color: #94b7eb;
}
.accordion .accordion-header p {
  margin: 0 20px 0 0;
}
.accordion .accordion-header .accordion-header--title {
  margin: 0;
}
.accordion .accordion-header .icon-accordion {
  position: absolute;
  top: 50%;
  right: 0;
  font-size: 32px;
  -webkit-transition: all 200ms cubic-bezier(0.75, 0.64, 0.265, 0.945);
  -moz-transition: all 200ms cubic-bezier(0.75, 0.64, 0.265, 0.945);
  -ms-transition: all 200ms cubic-bezier(0.75, 0.64, 0.265, 0.945);
  transition: all 200ms cubic-bezier(0.75, 0.64, 0.265, 0.945);
  -moz-transform: translateY(-50%) rotate(45deg);
  -o-transform: translateY(-50%) rotate(45deg);
  -ms-transform: translateY(-50%) rotate(45deg);
  -webkit-transform: translateY(-50%) rotate(45deg);
  transform: translateY(-50%) rotate(45deg);
}
.accordion .accordion-header.is-open .icon-accordion {
  -moz-transform: translateY(-50%) rotate(0deg);
  -o-transform: translateY(-50%) rotate(0deg);
  -ms-transform: translateY(-50%) rotate(0deg);
  -webkit-transform: translateY(-50%) rotate(0deg);
  transform: translateY(-50%) rotate(0deg);
}
.accordion .accordion-header.is-open ~ .accordion-content {
  height: auto;
  -webkit-transition: all 200ms cubic-bezier(0.75, 0.64, 0.265, 0.945);
  -moz-transition: all 200ms cubic-bezier(0.75, 0.64, 0.265, 0.945);
  -ms-transition: all 200ms cubic-bezier(0.75, 0.64, 0.265, 0.945);
  transition: all 200ms cubic-bezier(0.75, 0.64, 0.265, 0.945);
}
.accordion .accordion-content {
  position: static;
  will-change: auto;
  display: block;
  overflow: hidden;
  height: 1px;
  -webkit-transition: all 200ms cubic-bezier(0.75, 0.64, 0.265, 0.945);
  -moz-transition: all 200ms cubic-bezier(0.75, 0.64, 0.265, 0.945);
  -ms-transition: all 200ms cubic-bezier(0.75, 0.64, 0.265, 0.945);
  transition: all 200ms cubic-bezier(0.75, 0.64, 0.265, 0.945);
}

/* ******************************************************************************
	CREATE ALL STANDARD BUTTONS FROM
	$BUTTONS MAP IN MAPS DIRECTORY
	AND
	@MIXIN BUTTON-STRUCT IN MIXINS DIRECTORY
****************************************************************************** */
.button {
  display: inline-block;
  position: relative;
  padding: 20px 40px;
  margin: 20px auto;
  background-color: white;
  color: #247574;
  border-width: 1px;
  border-style: solid;
  border-color: transparent;
  border-radius: 8px;
  text-decoration: none;
  text-align: center;
  font-size: 15px;
  box-shadow: 1px 1px 3px 1px rgba(0, 0, 0, 0.1);
  -webkit-transition: all 200ms cubic-bezier(0.75, 0.64, 0.265, 0.945);
  -moz-transition: all 200ms cubic-bezier(0.75, 0.64, 0.265, 0.945);
  -ms-transition: all 200ms cubic-bezier(0.75, 0.64, 0.265, 0.945);
  transition: all 200ms cubic-bezier(0.75, 0.64, 0.265, 0.945);
  background-clip: padding-box;
}
.button:hover {
  background-color: #267d7c;
  color: white;
  border-color: #267d7c;
  box-shadow: 3px 3px 15px 1px rgba(0, 0, 0, 0.2);
  -webkit-transition: all 200ms cubic-bezier(0.75, 0.64, 0.265, 0.945);
  -moz-transition: all 200ms cubic-bezier(0.75, 0.64, 0.265, 0.945);
  -ms-transition: all 200ms cubic-bezier(0.75, 0.64, 0.265, 0.945);
  transition: all 200ms cubic-bezier(0.75, 0.64, 0.265, 0.945);
  text-decoration: none;
  cursor: pointer;
}
.button.has-icon {
  padding-left: 60px;
}
.button.has-icon .icon {
  position: absolute;
  left: 30px;
  top: 50%;
  font-size: 26px;
  -moz-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}
.button.only-icon {
  width: 60px;
  height: 60px;
  padding: 0;
  color: #247574;
}
.button.only-icon .icon {
  position: absolute;
  top: 50%;
  font-size: 26px;
  left: 50%;
  -moz-transform: translate3d(-50%, -50%, 0);
  -o-transform: translate3d(-50%, -50%, 0);
  -ms-transform: translate3d(-50%, -50%, 0);
  -webkit-transform: translate3d(-50%, -50%, 0);
  transform: translate3d(-50%, -50%, 0);
}
.button.only-icon:hover {
  color: white;
}
.button.active {
  background-color: #32a4a3;
  border-color: #267d7c;
  color: white;
  box-shadow: 3px 3px 15px 1px rgba(0, 0, 0, 0.1);
  -webkit-transition: all 200ms cubic-bezier(0.75, 0.64, 0.265, 0.945);
  -moz-transition: all 200ms cubic-bezier(0.75, 0.64, 0.265, 0.945);
  -ms-transition: all 200ms cubic-bezier(0.75, 0.64, 0.265, 0.945);
  transition: all 200ms cubic-bezier(0.75, 0.64, 0.265, 0.945);
  text-decoration: none;
  cursor: pointer;
}
.button.disabled, .button:disabled {
  opacity: 1;
  background-color: #d6d7d9;
  color: #aeb0b5;
  box-shadow: none;
  border: none;
}
.button.disabled:hover, .button:disabled:hover {
  background-color: #d6d7d9;
  color: #aeb0b5;
  box-shadow: none;
  border: none;
  cursor: not-allowed;
}
.button.disabled .flash, .button:disabled .flash {
  display: none;
}
.button.disabled .button-text, .button:disabled .button-text {
  color: #f9f9f9;
}
.button.flash:after {
  content: "";
  display: block;
  position: absolute;
  width: 1%;
  height: 100%;
  top: 0;
  left: 50%;
  opacity: 0;
  transform: translate3d(-50%, 0, 0);
  background: -moz-linear-gradient(left, rgba(255, 255, 255, 0.4) 0%, rgba(255, 255, 255, 0) 51%, rgba(255, 255, 255, 0.4) 100%);
  background: -webkit-linear-gradient(left, rgba(255, 255, 255, 0.4) 0%, rgba(255, 255, 255, 0) 51%, rgba(255, 255, 255, 0.4) 100%);
  background: linear-gradient(to right, rgba(255, 255, 255, 0.4) 0%, rgba(255, 255, 255, 0) 51%, rgba(255, 255, 255, 0.4) 100%);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#59ffffff", endColorstr="#59ffffff", GradientType=1);
  -webkit-animation: buttonFlash 250ms 1;
  -moz-animation: buttonFlash 250ms 1;
  -ms-animation: buttonFlash 250ms 1;
  -o-animation: buttonFlash 250ms 1;
  animation: buttonFlash 250ms 1;
}
.button.button-legend {
  width: 55px;
  height: 55px;
  padding: 0;
  margin: 0;
  border-radius: 20%;
  background-color: white;
  border-color: transparent;
  text-align: center;
}
.button.button-legend.flash:after {
  position: absolute;
  width: 55px;
  height: 55px;
  top: 50%;
  left: 50%;
  border-radius: 100%;
  transform: scale(0);
  background: -moz-radial-gradient(center, ellipse cover, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.4) 100%);
  background: -webkit-radial-gradient(center, ellipse cover, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.4) 100%);
  background: radial-gradient(ellipse at center, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.4) 100%);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#00ffffff", endColorstr="#ffffff", GradientType=1);
  -webkit-animation: buttonFlashRound 350ms 1;
  -moz-animation: buttonFlashRound 350ms 1;
  -ms-animation: buttonFlashRound 350ms 1;
  -o-animation: buttonFlashRound 350ms 1;
  animation: buttonFlashRound 350ms 1;
}
.button.button-legend:hover {
  background-color: #227b9e;
}
.button.button-legend .icon {
  font-size: 16px;
  line-height: 32px;
}
.button.button-legend.button-more-info {
  position: absolute;
  top: 14px;
  right: 0;
  border: 0;
  cursor: pointer;
  box-shadow: none;
}
@media screen and (min-width: 1024px) {
  .button.button-legend.button-more-info {
    top: 14px;
    top: 25px;
  }
}
.button.button-legend.button-more-info .icon {
  font-size: 32px;
}
.button.button-long {
  width: 120px;
  height: 32px;
  padding: 0;
  margin: 0;
  border-radius: 10%;
  background-color: white;
  border-color: transparent;
  text-align: center;
}
.button.button-long.flash:after {
  position: absolute;
  width: 120px;
  height: 32px;
  top: 50%;
  left: 50%;
  margin-top: -32px;
  margin-left: -32px;
  border-radius: 100%;
  transform: scale(0);
  background: -moz-radial-gradient(center, ellipse cover, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.4) 100%);
  background: -webkit-radial-gradient(center, ellipse cover, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.4) 100%);
  background: radial-gradient(ellipse at center, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.4) 100%);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#00ffffff", endColorstr="#ffffff", GradientType=1);
  -webkit-animation: buttonFlashRound 350ms 1;
  -moz-animation: buttonFlashRound 350ms 1;
  -ms-animation: buttonFlashRound 350ms 1;
  -o-animation: buttonFlashRound 350ms 1;
  animation: buttonFlashRound 350ms 1;
}
.button.button-long:hover {
  background-color: #227b9e;
}
.button.button-long .icon {
  font-size: 16px;
  line-height: 32px;
}
.button.button-long.button-more-info {
  position: absolute;
  top: 14px;
  right: 0;
  border: 0;
  cursor: pointer;
  box-shadow: none;
}
@media screen and (min-width: 1024px) {
  .button.button-long.button-more-info {
    top: 14px;
    top: 25px;
  }
}
.button.button-long.button-more-info .icon {
  font-size: 24px;
}
.button.button-round {
  width: 32px;
  height: 32px;
  padding: 0;
  margin: 0;
  border-radius: 20%;
  background-color: white;
  border-color: transparent;
  text-align: center;
}
.button.button-round.flash:after {
  position: absolute;
  width: 32px;
  height: 32px;
  top: 50%;
  left: 50%;
  margin-top: -32px;
  margin-left: -32px;
  border-radius: 100%;
  transform: scale(0);
  background: -moz-radial-gradient(center, ellipse cover, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.4) 100%);
  background: -webkit-radial-gradient(center, ellipse cover, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.4) 100%);
  background: radial-gradient(ellipse at center, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.4) 100%);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#00ffffff", endColorstr="#ffffff", GradientType=1);
  -webkit-animation: buttonFlashRound 350ms 1;
  -moz-animation: buttonFlashRound 350ms 1;
  -ms-animation: buttonFlashRound 350ms 1;
  -o-animation: buttonFlashRound 350ms 1;
  animation: buttonFlashRound 350ms 1;
}
.button.button-round:hover {
  background-color: #227b9e;
}
.button.button-round .icon {
  font-size: 16px;
  line-height: 32px;
}
.button.button-round.button-more-info {
  position: absolute;
  top: 14px;
  right: 0;
  border: 0;
  cursor: pointer;
  box-shadow: none;
}
@media screen and (min-width: 1024px) {
  .button.button-round.button-more-info {
    top: 14px;
    top: 25px;
  }
}
.button.button-round.button-more-info .icon {
  font-size: 24px;
}

.button-primary {
  display: inline-block;
  position: relative;
  padding: 20px 40px;
  margin: 20px auto;
  background-color: white;
  color: #247574;
  border-width: 1px;
  border-style: solid;
  border-color: transparent;
  border-radius: 8px;
  text-decoration: none;
  text-align: center;
  font-size: 15px;
  box-shadow: 1px 1px 3px 1px rgba(0, 0, 0, 0.1);
  -webkit-transition: all 200ms cubic-bezier(0.75, 0.64, 0.265, 0.945);
  -moz-transition: all 200ms cubic-bezier(0.75, 0.64, 0.265, 0.945);
  -ms-transition: all 200ms cubic-bezier(0.75, 0.64, 0.265, 0.945);
  transition: all 200ms cubic-bezier(0.75, 0.64, 0.265, 0.945);
  background-clip: padding-box;
  background-color: #267d7c;
  color: white;
  border: 1px solid #267d7c;
}
.button-primary:hover {
  background-color: #267d7c;
  color: white;
  border-color: #267d7c;
  box-shadow: 3px 3px 15px 1px rgba(0, 0, 0, 0.2);
  -webkit-transition: all 200ms cubic-bezier(0.75, 0.64, 0.265, 0.945);
  -moz-transition: all 200ms cubic-bezier(0.75, 0.64, 0.265, 0.945);
  -ms-transition: all 200ms cubic-bezier(0.75, 0.64, 0.265, 0.945);
  transition: all 200ms cubic-bezier(0.75, 0.64, 0.265, 0.945);
  text-decoration: none;
  cursor: pointer;
}
.button-primary.has-icon {
  padding-left: 60px;
}
.button-primary.has-icon .icon {
  position: absolute;
  left: 30px;
  top: 50%;
  font-size: 26px;
  -moz-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}
.button-primary.only-icon {
  width: 60px;
  height: 60px;
  padding: 0;
  color: #247574;
}
.button-primary.only-icon .icon {
  position: absolute;
  top: 50%;
  font-size: 26px;
  left: 50%;
  -moz-transform: translate3d(-50%, -50%, 0);
  -o-transform: translate3d(-50%, -50%, 0);
  -ms-transform: translate3d(-50%, -50%, 0);
  -webkit-transform: translate3d(-50%, -50%, 0);
  transform: translate3d(-50%, -50%, 0);
}
.button-primary.only-icon:hover {
  color: white;
}
.button-primary.active {
  background-color: #32a4a3;
  border-color: #267d7c;
  color: white;
  box-shadow: 3px 3px 15px 1px rgba(0, 0, 0, 0.1);
  -webkit-transition: all 200ms cubic-bezier(0.75, 0.64, 0.265, 0.945);
  -moz-transition: all 200ms cubic-bezier(0.75, 0.64, 0.265, 0.945);
  -ms-transition: all 200ms cubic-bezier(0.75, 0.64, 0.265, 0.945);
  transition: all 200ms cubic-bezier(0.75, 0.64, 0.265, 0.945);
  text-decoration: none;
  cursor: pointer;
}
.button-primary.disabled, .button-primary:disabled {
  opacity: 1;
  background-color: #d6d7d9;
  color: #aeb0b5;
  box-shadow: none;
  border: none;
}
.button-primary.disabled:hover, .button-primary:disabled:hover {
  background-color: #d6d7d9;
  color: #aeb0b5;
  box-shadow: none;
  border: none;
  cursor: not-allowed;
}
.button-primary.disabled .flash, .button-primary:disabled .flash {
  display: none;
}
.button-primary.disabled .button-text, .button-primary:disabled .button-text {
  color: #f9f9f9;
}
.button-primary.flash:after {
  content: "";
  display: block;
  position: absolute;
  width: 1%;
  height: 100%;
  top: 0;
  left: 50%;
  opacity: 0;
  transform: translate3d(-50%, 0, 0);
  background: -moz-linear-gradient(left, rgba(255, 255, 255, 0.4) 0%, rgba(255, 255, 255, 0) 51%, rgba(255, 255, 255, 0.4) 100%);
  background: -webkit-linear-gradient(left, rgba(255, 255, 255, 0.4) 0%, rgba(255, 255, 255, 0) 51%, rgba(255, 255, 255, 0.4) 100%);
  background: linear-gradient(to right, rgba(255, 255, 255, 0.4) 0%, rgba(255, 255, 255, 0) 51%, rgba(255, 255, 255, 0.4) 100%);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#59ffffff", endColorstr="#59ffffff", GradientType=1);
  -webkit-animation: buttonFlash 250ms 1;
  -moz-animation: buttonFlash 250ms 1;
  -ms-animation: buttonFlash 250ms 1;
  -o-animation: buttonFlash 250ms 1;
  animation: buttonFlash 250ms 1;
}
.button-primary:hover {
  background-color: #1a5655;
  color: white;
}
.button-primary.button-legend {
  width: 55px;
  height: 55px;
  padding: 0;
  margin: 0;
  border-radius: 20%;
  background-color: white;
  border-color: transparent;
  text-align: center;
}
.button-primary.button-legend.flash:after {
  position: absolute;
  width: 55px;
  height: 55px;
  top: 50%;
  left: 50%;
  border-radius: 100%;
  transform: scale(0);
  background: -moz-radial-gradient(center, ellipse cover, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.4) 100%);
  background: -webkit-radial-gradient(center, ellipse cover, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.4) 100%);
  background: radial-gradient(ellipse at center, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.4) 100%);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#00ffffff", endColorstr="#ffffff", GradientType=1);
  -webkit-animation: buttonFlashRound 350ms 1;
  -moz-animation: buttonFlashRound 350ms 1;
  -ms-animation: buttonFlashRound 350ms 1;
  -o-animation: buttonFlashRound 350ms 1;
  animation: buttonFlashRound 350ms 1;
}
.button-primary.button-legend:hover {
  background-color: #227b9e;
}
.button-primary.button-legend .icon {
  font-size: 16px;
  line-height: 32px;
}
.button-primary.button-legend.button-more-info {
  position: absolute;
  top: 14px;
  right: 0;
  border: 0;
  cursor: pointer;
  box-shadow: none;
}
@media screen and (min-width: 1024px) {
  .button-primary.button-legend.button-more-info {
    top: 14px;
    top: 25px;
  }
}
.button-primary.button-legend.button-more-info .icon {
  font-size: 32px;
}
.button-primary.button-long {
  width: 120px;
  height: 32px;
  padding: 0;
  margin: 0;
  border-radius: 10%;
  background-color: white;
  border-color: transparent;
  text-align: center;
}
.button-primary.button-long.flash:after {
  position: absolute;
  width: 120px;
  height: 32px;
  top: 50%;
  left: 50%;
  margin-top: -32px;
  margin-left: -32px;
  border-radius: 100%;
  transform: scale(0);
  background: -moz-radial-gradient(center, ellipse cover, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.4) 100%);
  background: -webkit-radial-gradient(center, ellipse cover, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.4) 100%);
  background: radial-gradient(ellipse at center, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.4) 100%);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#00ffffff", endColorstr="#ffffff", GradientType=1);
  -webkit-animation: buttonFlashRound 350ms 1;
  -moz-animation: buttonFlashRound 350ms 1;
  -ms-animation: buttonFlashRound 350ms 1;
  -o-animation: buttonFlashRound 350ms 1;
  animation: buttonFlashRound 350ms 1;
}
.button-primary.button-long:hover {
  background-color: #227b9e;
}
.button-primary.button-long .icon {
  font-size: 16px;
  line-height: 32px;
}
.button-primary.button-long.button-more-info {
  position: absolute;
  top: 14px;
  right: 0;
  border: 0;
  cursor: pointer;
  box-shadow: none;
}
@media screen and (min-width: 1024px) {
  .button-primary.button-long.button-more-info {
    top: 14px;
    top: 25px;
  }
}
.button-primary.button-long.button-more-info .icon {
  font-size: 24px;
}
.button-primary.button-round {
  width: 32px;
  height: 32px;
  padding: 0;
  margin: 0;
  border-radius: 20%;
  background-color: white;
  border-color: transparent;
  text-align: center;
}
.button-primary.button-round.flash:after {
  position: absolute;
  width: 32px;
  height: 32px;
  top: 50%;
  left: 50%;
  margin-top: -32px;
  margin-left: -32px;
  border-radius: 100%;
  transform: scale(0);
  background: -moz-radial-gradient(center, ellipse cover, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.4) 100%);
  background: -webkit-radial-gradient(center, ellipse cover, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.4) 100%);
  background: radial-gradient(ellipse at center, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.4) 100%);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#00ffffff", endColorstr="#ffffff", GradientType=1);
  -webkit-animation: buttonFlashRound 350ms 1;
  -moz-animation: buttonFlashRound 350ms 1;
  -ms-animation: buttonFlashRound 350ms 1;
  -o-animation: buttonFlashRound 350ms 1;
  animation: buttonFlashRound 350ms 1;
}
.button-primary.button-round:hover {
  background-color: #227b9e;
}
.button-primary.button-round .icon {
  font-size: 16px;
  line-height: 32px;
}
.button-primary.button-round.button-more-info {
  position: absolute;
  top: 14px;
  right: 0;
  border: 0;
  cursor: pointer;
  box-shadow: none;
}
@media screen and (min-width: 1024px) {
  .button-primary.button-round.button-more-info {
    top: 14px;
    top: 25px;
  }
}
.button-primary.button-round.button-more-info .icon {
  font-size: 24px;
}

.button-blue {
  display: inline-block;
  position: relative;
  padding: 20px 40px;
  margin: 20px auto;
  background-color: white;
  color: #207496;
  border-width: 1px;
  border-style: solid;
  border-color: transparent;
  border-radius: 8px;
  text-decoration: none;
  text-align: center;
  font-size: 15px;
  box-shadow: 1px 1px 3px 1px rgba(0, 0, 0, 0.1);
  -webkit-transition: all 200ms cubic-bezier(0.75, 0.64, 0.265, 0.945);
  -moz-transition: all 200ms cubic-bezier(0.75, 0.64, 0.265, 0.945);
  -ms-transition: all 200ms cubic-bezier(0.75, 0.64, 0.265, 0.945);
  transition: all 200ms cubic-bezier(0.75, 0.64, 0.265, 0.945);
  background-clip: padding-box;
}
.button-blue:hover {
  background-color: #227b9e;
  color: white;
  border-color: #227b9e;
  box-shadow: 3px 3px 15px 1px rgba(0, 0, 0, 0.2);
  -webkit-transition: all 200ms cubic-bezier(0.75, 0.64, 0.265, 0.945);
  -moz-transition: all 200ms cubic-bezier(0.75, 0.64, 0.265, 0.945);
  -ms-transition: all 200ms cubic-bezier(0.75, 0.64, 0.265, 0.945);
  transition: all 200ms cubic-bezier(0.75, 0.64, 0.265, 0.945);
  text-decoration: none;
  cursor: pointer;
}
.button-blue.has-icon {
  padding-left: 60px;
}
.button-blue.has-icon .icon {
  position: absolute;
  left: 30px;
  top: 50%;
  font-size: 26px;
  -moz-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}
.button-blue.only-icon {
  width: 60px;
  height: 60px;
  padding: 0;
  color: #207496;
}
.button-blue.only-icon .icon {
  position: absolute;
  top: 50%;
  font-size: 26px;
  left: 50%;
  -moz-transform: translate3d(-50%, -50%, 0);
  -o-transform: translate3d(-50%, -50%, 0);
  -ms-transform: translate3d(-50%, -50%, 0);
  -webkit-transform: translate3d(-50%, -50%, 0);
  transform: translate3d(-50%, -50%, 0);
}
.button-blue.only-icon:hover {
  color: white;
}
.button-blue.active {
  background-color: #2b9cc8;
  border-color: #227b9e;
  color: white;
  box-shadow: 3px 3px 15px 1px rgba(0, 0, 0, 0.1);
  -webkit-transition: all 200ms cubic-bezier(0.75, 0.64, 0.265, 0.945);
  -moz-transition: all 200ms cubic-bezier(0.75, 0.64, 0.265, 0.945);
  -ms-transition: all 200ms cubic-bezier(0.75, 0.64, 0.265, 0.945);
  transition: all 200ms cubic-bezier(0.75, 0.64, 0.265, 0.945);
  text-decoration: none;
  cursor: pointer;
}
.button-blue.disabled, .button-blue:disabled {
  opacity: 1;
  background-color: #d6d7d9;
  color: #aeb0b5;
  box-shadow: none;
  border: none;
}
.button-blue.disabled:hover, .button-blue:disabled:hover {
  background-color: #d6d7d9;
  color: #aeb0b5;
  box-shadow: none;
  border: none;
  cursor: not-allowed;
}
.button-blue.disabled .flash, .button-blue:disabled .flash {
  display: none;
}
.button-blue.disabled .button-text, .button-blue:disabled .button-text {
  color: #f9f9f9;
}
.button-blue.flash:after {
  content: "";
  display: block;
  position: absolute;
  width: 1%;
  height: 100%;
  top: 0;
  left: 50%;
  opacity: 0;
  transform: translate3d(-50%, 0, 0);
  background: -moz-linear-gradient(left, rgba(255, 255, 255, 0.4) 0%, rgba(255, 255, 255, 0) 51%, rgba(255, 255, 255, 0.4) 100%);
  background: -webkit-linear-gradient(left, rgba(255, 255, 255, 0.4) 0%, rgba(255, 255, 255, 0) 51%, rgba(255, 255, 255, 0.4) 100%);
  background: linear-gradient(to right, rgba(255, 255, 255, 0.4) 0%, rgba(255, 255, 255, 0) 51%, rgba(255, 255, 255, 0.4) 100%);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#59ffffff", endColorstr="#59ffffff", GradientType=1);
  -webkit-animation: buttonFlash 250ms 1;
  -moz-animation: buttonFlash 250ms 1;
  -ms-animation: buttonFlash 250ms 1;
  -o-animation: buttonFlash 250ms 1;
  animation: buttonFlash 250ms 1;
}
.button-blue.button-legend {
  width: 55px;
  height: 55px;
  padding: 0;
  margin: 0;
  border-radius: 20%;
  background-color: white;
  border-color: transparent;
  text-align: center;
}
.button-blue.button-legend.flash:after {
  position: absolute;
  width: 55px;
  height: 55px;
  top: 50%;
  left: 50%;
  border-radius: 100%;
  transform: scale(0);
  background: -moz-radial-gradient(center, ellipse cover, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.4) 100%);
  background: -webkit-radial-gradient(center, ellipse cover, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.4) 100%);
  background: radial-gradient(ellipse at center, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.4) 100%);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#00ffffff", endColorstr="#ffffff", GradientType=1);
  -webkit-animation: buttonFlashRound 350ms 1;
  -moz-animation: buttonFlashRound 350ms 1;
  -ms-animation: buttonFlashRound 350ms 1;
  -o-animation: buttonFlashRound 350ms 1;
  animation: buttonFlashRound 350ms 1;
}
.button-blue.button-legend:hover {
  background-color: #227b9e;
}
.button-blue.button-legend .icon {
  font-size: 16px;
  line-height: 32px;
}
.button-blue.button-legend.button-more-info {
  position: absolute;
  top: 14px;
  right: 0;
  border: 0;
  cursor: pointer;
  box-shadow: none;
}
@media screen and (min-width: 1024px) {
  .button-blue.button-legend.button-more-info {
    top: 14px;
    top: 25px;
  }
}
.button-blue.button-legend.button-more-info .icon {
  font-size: 32px;
}
.button-blue.button-long {
  width: 120px;
  height: 32px;
  padding: 0;
  margin: 0;
  border-radius: 10%;
  background-color: white;
  border-color: transparent;
  text-align: center;
}
.button-blue.button-long.flash:after {
  position: absolute;
  width: 120px;
  height: 32px;
  top: 50%;
  left: 50%;
  margin-top: -32px;
  margin-left: -32px;
  border-radius: 100%;
  transform: scale(0);
  background: -moz-radial-gradient(center, ellipse cover, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.4) 100%);
  background: -webkit-radial-gradient(center, ellipse cover, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.4) 100%);
  background: radial-gradient(ellipse at center, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.4) 100%);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#00ffffff", endColorstr="#ffffff", GradientType=1);
  -webkit-animation: buttonFlashRound 350ms 1;
  -moz-animation: buttonFlashRound 350ms 1;
  -ms-animation: buttonFlashRound 350ms 1;
  -o-animation: buttonFlashRound 350ms 1;
  animation: buttonFlashRound 350ms 1;
}
.button-blue.button-long:hover {
  background-color: #227b9e;
}
.button-blue.button-long .icon {
  font-size: 16px;
  line-height: 32px;
}
.button-blue.button-long.button-more-info {
  position: absolute;
  top: 14px;
  right: 0;
  border: 0;
  cursor: pointer;
  box-shadow: none;
}
@media screen and (min-width: 1024px) {
  .button-blue.button-long.button-more-info {
    top: 14px;
    top: 25px;
  }
}
.button-blue.button-long.button-more-info .icon {
  font-size: 24px;
}
.button-blue.button-round {
  width: 32px;
  height: 32px;
  padding: 0;
  margin: 0;
  border-radius: 20%;
  background-color: white;
  border-color: transparent;
  text-align: center;
}
.button-blue.button-round.flash:after {
  position: absolute;
  width: 32px;
  height: 32px;
  top: 50%;
  left: 50%;
  margin-top: -32px;
  margin-left: -32px;
  border-radius: 100%;
  transform: scale(0);
  background: -moz-radial-gradient(center, ellipse cover, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.4) 100%);
  background: -webkit-radial-gradient(center, ellipse cover, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.4) 100%);
  background: radial-gradient(ellipse at center, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.4) 100%);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#00ffffff", endColorstr="#ffffff", GradientType=1);
  -webkit-animation: buttonFlashRound 350ms 1;
  -moz-animation: buttonFlashRound 350ms 1;
  -ms-animation: buttonFlashRound 350ms 1;
  -o-animation: buttonFlashRound 350ms 1;
  animation: buttonFlashRound 350ms 1;
}
.button-blue.button-round:hover {
  background-color: #227b9e;
}
.button-blue.button-round .icon {
  font-size: 16px;
  line-height: 32px;
}
.button-blue.button-round.button-more-info {
  position: absolute;
  top: 14px;
  right: 0;
  border: 0;
  cursor: pointer;
  box-shadow: none;
}
@media screen and (min-width: 1024px) {
  .button-blue.button-round.button-more-info {
    top: 14px;
    top: 25px;
  }
}
.button-blue.button-round.button-more-info .icon {
  font-size: 24px;
}

.button-purple {
  display: inline-block;
  position: relative;
  padding: 20px 40px;
  margin: 20px auto;
  background-color: white;
  color: #4d548d;
  border-width: 1px;
  border-style: solid;
  border-color: transparent;
  border-radius: 8px;
  text-decoration: none;
  text-align: center;
  font-size: 15px;
  box-shadow: 1px 1px 3px 1px rgba(0, 0, 0, 0.1);
  -webkit-transition: all 200ms cubic-bezier(0.75, 0.64, 0.265, 0.945);
  -moz-transition: all 200ms cubic-bezier(0.75, 0.64, 0.265, 0.945);
  -ms-transition: all 200ms cubic-bezier(0.75, 0.64, 0.265, 0.945);
  transition: all 200ms cubic-bezier(0.75, 0.64, 0.265, 0.945);
  background-clip: padding-box;
}
.button-purple:hover {
  background-color: #515894;
  color: white;
  border-color: #515894;
  box-shadow: 3px 3px 15px 1px rgba(0, 0, 0, 0.2);
  -webkit-transition: all 200ms cubic-bezier(0.75, 0.64, 0.265, 0.945);
  -moz-transition: all 200ms cubic-bezier(0.75, 0.64, 0.265, 0.945);
  -ms-transition: all 200ms cubic-bezier(0.75, 0.64, 0.265, 0.945);
  transition: all 200ms cubic-bezier(0.75, 0.64, 0.265, 0.945);
  text-decoration: none;
  cursor: pointer;
}
.button-purple.has-icon {
  padding-left: 60px;
}
.button-purple.has-icon .icon {
  position: absolute;
  left: 30px;
  top: 50%;
  font-size: 26px;
  -moz-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}
.button-purple.only-icon {
  width: 60px;
  height: 60px;
  padding: 0;
  color: #4d548d;
}
.button-purple.only-icon .icon {
  position: absolute;
  top: 50%;
  font-size: 26px;
  left: 50%;
  -moz-transform: translate3d(-50%, -50%, 0);
  -o-transform: translate3d(-50%, -50%, 0);
  -ms-transform: translate3d(-50%, -50%, 0);
  -webkit-transform: translate3d(-50%, -50%, 0);
  transform: translate3d(-50%, -50%, 0);
}
.button-purple.only-icon:hover {
  color: white;
}
.button-purple.active {
  background-color: #6a71ae;
  border-color: #515894;
  color: white;
  box-shadow: 3px 3px 15px 1px rgba(0, 0, 0, 0.1);
  -webkit-transition: all 200ms cubic-bezier(0.75, 0.64, 0.265, 0.945);
  -moz-transition: all 200ms cubic-bezier(0.75, 0.64, 0.265, 0.945);
  -ms-transition: all 200ms cubic-bezier(0.75, 0.64, 0.265, 0.945);
  transition: all 200ms cubic-bezier(0.75, 0.64, 0.265, 0.945);
  text-decoration: none;
  cursor: pointer;
}
.button-purple.disabled, .button-purple:disabled {
  opacity: 1;
  background-color: #d6d7d9;
  color: #aeb0b5;
  box-shadow: none;
  border: none;
}
.button-purple.disabled:hover, .button-purple:disabled:hover {
  background-color: #d6d7d9;
  color: #aeb0b5;
  box-shadow: none;
  border: none;
  cursor: not-allowed;
}
.button-purple.disabled .flash, .button-purple:disabled .flash {
  display: none;
}
.button-purple.disabled .button-text, .button-purple:disabled .button-text {
  color: #f9f9f9;
}
.button-purple.flash:after {
  content: "";
  display: block;
  position: absolute;
  width: 1%;
  height: 100%;
  top: 0;
  left: 50%;
  opacity: 0;
  transform: translate3d(-50%, 0, 0);
  background: -moz-linear-gradient(left, rgba(255, 255, 255, 0.4) 0%, rgba(255, 255, 255, 0) 51%, rgba(255, 255, 255, 0.4) 100%);
  background: -webkit-linear-gradient(left, rgba(255, 255, 255, 0.4) 0%, rgba(255, 255, 255, 0) 51%, rgba(255, 255, 255, 0.4) 100%);
  background: linear-gradient(to right, rgba(255, 255, 255, 0.4) 0%, rgba(255, 255, 255, 0) 51%, rgba(255, 255, 255, 0.4) 100%);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#59ffffff", endColorstr="#59ffffff", GradientType=1);
  -webkit-animation: buttonFlash 250ms 1;
  -moz-animation: buttonFlash 250ms 1;
  -ms-animation: buttonFlash 250ms 1;
  -o-animation: buttonFlash 250ms 1;
  animation: buttonFlash 250ms 1;
}
.button-purple.button-legend {
  width: 55px;
  height: 55px;
  padding: 0;
  margin: 0;
  border-radius: 20%;
  background-color: white;
  border-color: transparent;
  text-align: center;
}
.button-purple.button-legend.flash:after {
  position: absolute;
  width: 55px;
  height: 55px;
  top: 50%;
  left: 50%;
  border-radius: 100%;
  transform: scale(0);
  background: -moz-radial-gradient(center, ellipse cover, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.4) 100%);
  background: -webkit-radial-gradient(center, ellipse cover, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.4) 100%);
  background: radial-gradient(ellipse at center, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.4) 100%);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#00ffffff", endColorstr="#ffffff", GradientType=1);
  -webkit-animation: buttonFlashRound 350ms 1;
  -moz-animation: buttonFlashRound 350ms 1;
  -ms-animation: buttonFlashRound 350ms 1;
  -o-animation: buttonFlashRound 350ms 1;
  animation: buttonFlashRound 350ms 1;
}
.button-purple.button-legend:hover {
  background-color: #227b9e;
}
.button-purple.button-legend .icon {
  font-size: 16px;
  line-height: 32px;
}
.button-purple.button-legend.button-more-info {
  position: absolute;
  top: 14px;
  right: 0;
  border: 0;
  cursor: pointer;
  box-shadow: none;
}
@media screen and (min-width: 1024px) {
  .button-purple.button-legend.button-more-info {
    top: 14px;
    top: 25px;
  }
}
.button-purple.button-legend.button-more-info .icon {
  font-size: 32px;
}
.button-purple.button-long {
  width: 120px;
  height: 32px;
  padding: 0;
  margin: 0;
  border-radius: 10%;
  background-color: white;
  border-color: transparent;
  text-align: center;
}
.button-purple.button-long.flash:after {
  position: absolute;
  width: 120px;
  height: 32px;
  top: 50%;
  left: 50%;
  margin-top: -32px;
  margin-left: -32px;
  border-radius: 100%;
  transform: scale(0);
  background: -moz-radial-gradient(center, ellipse cover, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.4) 100%);
  background: -webkit-radial-gradient(center, ellipse cover, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.4) 100%);
  background: radial-gradient(ellipse at center, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.4) 100%);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#00ffffff", endColorstr="#ffffff", GradientType=1);
  -webkit-animation: buttonFlashRound 350ms 1;
  -moz-animation: buttonFlashRound 350ms 1;
  -ms-animation: buttonFlashRound 350ms 1;
  -o-animation: buttonFlashRound 350ms 1;
  animation: buttonFlashRound 350ms 1;
}
.button-purple.button-long:hover {
  background-color: #227b9e;
}
.button-purple.button-long .icon {
  font-size: 16px;
  line-height: 32px;
}
.button-purple.button-long.button-more-info {
  position: absolute;
  top: 14px;
  right: 0;
  border: 0;
  cursor: pointer;
  box-shadow: none;
}
@media screen and (min-width: 1024px) {
  .button-purple.button-long.button-more-info {
    top: 14px;
    top: 25px;
  }
}
.button-purple.button-long.button-more-info .icon {
  font-size: 24px;
}
.button-purple.button-round {
  width: 32px;
  height: 32px;
  padding: 0;
  margin: 0;
  border-radius: 20%;
  background-color: white;
  border-color: transparent;
  text-align: center;
}
.button-purple.button-round.flash:after {
  position: absolute;
  width: 32px;
  height: 32px;
  top: 50%;
  left: 50%;
  margin-top: -32px;
  margin-left: -32px;
  border-radius: 100%;
  transform: scale(0);
  background: -moz-radial-gradient(center, ellipse cover, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.4) 100%);
  background: -webkit-radial-gradient(center, ellipse cover, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.4) 100%);
  background: radial-gradient(ellipse at center, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.4) 100%);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#00ffffff", endColorstr="#ffffff", GradientType=1);
  -webkit-animation: buttonFlashRound 350ms 1;
  -moz-animation: buttonFlashRound 350ms 1;
  -ms-animation: buttonFlashRound 350ms 1;
  -o-animation: buttonFlashRound 350ms 1;
  animation: buttonFlashRound 350ms 1;
}
.button-purple.button-round:hover {
  background-color: #227b9e;
}
.button-purple.button-round .icon {
  font-size: 16px;
  line-height: 32px;
}
.button-purple.button-round.button-more-info {
  position: absolute;
  top: 14px;
  right: 0;
  border: 0;
  cursor: pointer;
  box-shadow: none;
}
@media screen and (min-width: 1024px) {
  .button-purple.button-round.button-more-info {
    top: 14px;
    top: 25px;
  }
}
.button-purple.button-round.button-more-info .icon {
  font-size: 24px;
}

.button-orange {
  display: inline-block;
  position: relative;
  padding: 20px 40px;
  margin: 20px auto;
  background-color: white;
  color: #c4643e;
  border-width: 1px;
  border-style: solid;
  border-color: transparent;
  border-radius: 8px;
  text-decoration: none;
  text-align: center;
  font-size: 15px;
  box-shadow: 1px 1px 3px 1px rgba(0, 0, 0, 0.1);
  -webkit-transition: all 200ms cubic-bezier(0.75, 0.64, 0.265, 0.945);
  -moz-transition: all 200ms cubic-bezier(0.75, 0.64, 0.265, 0.945);
  -ms-transition: all 200ms cubic-bezier(0.75, 0.64, 0.265, 0.945);
  transition: all 200ms cubic-bezier(0.75, 0.64, 0.265, 0.945);
  background-clip: padding-box;
}
.button-orange:hover {
  background-color: #c66a46;
  color: white;
  border-color: #c66a46;
  box-shadow: 3px 3px 15px 1px rgba(0, 0, 0, 0.2);
  -webkit-transition: all 200ms cubic-bezier(0.75, 0.64, 0.265, 0.945);
  -moz-transition: all 200ms cubic-bezier(0.75, 0.64, 0.265, 0.945);
  -ms-transition: all 200ms cubic-bezier(0.75, 0.64, 0.265, 0.945);
  transition: all 200ms cubic-bezier(0.75, 0.64, 0.265, 0.945);
  text-decoration: none;
  cursor: pointer;
}
.button-orange.has-icon {
  padding-left: 60px;
}
.button-orange.has-icon .icon {
  position: absolute;
  left: 30px;
  top: 50%;
  font-size: 26px;
  -moz-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}
.button-orange.only-icon {
  width: 60px;
  height: 60px;
  padding: 0;
  color: #c4643e;
}
.button-orange.only-icon .icon {
  position: absolute;
  top: 50%;
  font-size: 26px;
  left: 50%;
  -moz-transform: translate3d(-50%, -50%, 0);
  -o-transform: translate3d(-50%, -50%, 0);
  -ms-transform: translate3d(-50%, -50%, 0);
  -webkit-transform: translate3d(-50%, -50%, 0);
  transform: translate3d(-50%, -50%, 0);
}
.button-orange.only-icon:hover {
  color: white;
}
.button-orange.active {
  background-color: #d2896d;
  border-color: #c66a46;
  color: white;
  box-shadow: 3px 3px 15px 1px rgba(0, 0, 0, 0.1);
  -webkit-transition: all 200ms cubic-bezier(0.75, 0.64, 0.265, 0.945);
  -moz-transition: all 200ms cubic-bezier(0.75, 0.64, 0.265, 0.945);
  -ms-transition: all 200ms cubic-bezier(0.75, 0.64, 0.265, 0.945);
  transition: all 200ms cubic-bezier(0.75, 0.64, 0.265, 0.945);
  text-decoration: none;
  cursor: pointer;
}
.button-orange.disabled, .button-orange:disabled {
  opacity: 1;
  background-color: #d6d7d9;
  color: #aeb0b5;
  box-shadow: none;
  border: none;
}
.button-orange.disabled:hover, .button-orange:disabled:hover {
  background-color: #d6d7d9;
  color: #aeb0b5;
  box-shadow: none;
  border: none;
  cursor: not-allowed;
}
.button-orange.disabled .flash, .button-orange:disabled .flash {
  display: none;
}
.button-orange.disabled .button-text, .button-orange:disabled .button-text {
  color: #f9f9f9;
}
.button-orange.flash:after {
  content: "";
  display: block;
  position: absolute;
  width: 1%;
  height: 100%;
  top: 0;
  left: 50%;
  opacity: 0;
  transform: translate3d(-50%, 0, 0);
  background: -moz-linear-gradient(left, rgba(255, 255, 255, 0.4) 0%, rgba(255, 255, 255, 0) 51%, rgba(255, 255, 255, 0.4) 100%);
  background: -webkit-linear-gradient(left, rgba(255, 255, 255, 0.4) 0%, rgba(255, 255, 255, 0) 51%, rgba(255, 255, 255, 0.4) 100%);
  background: linear-gradient(to right, rgba(255, 255, 255, 0.4) 0%, rgba(255, 255, 255, 0) 51%, rgba(255, 255, 255, 0.4) 100%);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#59ffffff", endColorstr="#59ffffff", GradientType=1);
  -webkit-animation: buttonFlash 250ms 1;
  -moz-animation: buttonFlash 250ms 1;
  -ms-animation: buttonFlash 250ms 1;
  -o-animation: buttonFlash 250ms 1;
  animation: buttonFlash 250ms 1;
}
.button-orange.button-legend {
  width: 55px;
  height: 55px;
  padding: 0;
  margin: 0;
  border-radius: 20%;
  background-color: white;
  border-color: transparent;
  text-align: center;
}
.button-orange.button-legend.flash:after {
  position: absolute;
  width: 55px;
  height: 55px;
  top: 50%;
  left: 50%;
  border-radius: 100%;
  transform: scale(0);
  background: -moz-radial-gradient(center, ellipse cover, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.4) 100%);
  background: -webkit-radial-gradient(center, ellipse cover, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.4) 100%);
  background: radial-gradient(ellipse at center, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.4) 100%);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#00ffffff", endColorstr="#ffffff", GradientType=1);
  -webkit-animation: buttonFlashRound 350ms 1;
  -moz-animation: buttonFlashRound 350ms 1;
  -ms-animation: buttonFlashRound 350ms 1;
  -o-animation: buttonFlashRound 350ms 1;
  animation: buttonFlashRound 350ms 1;
}
.button-orange.button-legend:hover {
  background-color: #227b9e;
}
.button-orange.button-legend .icon {
  font-size: 16px;
  line-height: 32px;
}
.button-orange.button-legend.button-more-info {
  position: absolute;
  top: 14px;
  right: 0;
  border: 0;
  cursor: pointer;
  box-shadow: none;
}
@media screen and (min-width: 1024px) {
  .button-orange.button-legend.button-more-info {
    top: 14px;
    top: 25px;
  }
}
.button-orange.button-legend.button-more-info .icon {
  font-size: 32px;
}
.button-orange.button-long {
  width: 120px;
  height: 32px;
  padding: 0;
  margin: 0;
  border-radius: 10%;
  background-color: white;
  border-color: transparent;
  text-align: center;
}
.button-orange.button-long.flash:after {
  position: absolute;
  width: 120px;
  height: 32px;
  top: 50%;
  left: 50%;
  margin-top: -32px;
  margin-left: -32px;
  border-radius: 100%;
  transform: scale(0);
  background: -moz-radial-gradient(center, ellipse cover, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.4) 100%);
  background: -webkit-radial-gradient(center, ellipse cover, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.4) 100%);
  background: radial-gradient(ellipse at center, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.4) 100%);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#00ffffff", endColorstr="#ffffff", GradientType=1);
  -webkit-animation: buttonFlashRound 350ms 1;
  -moz-animation: buttonFlashRound 350ms 1;
  -ms-animation: buttonFlashRound 350ms 1;
  -o-animation: buttonFlashRound 350ms 1;
  animation: buttonFlashRound 350ms 1;
}
.button-orange.button-long:hover {
  background-color: #227b9e;
}
.button-orange.button-long .icon {
  font-size: 16px;
  line-height: 32px;
}
.button-orange.button-long.button-more-info {
  position: absolute;
  top: 14px;
  right: 0;
  border: 0;
  cursor: pointer;
  box-shadow: none;
}
@media screen and (min-width: 1024px) {
  .button-orange.button-long.button-more-info {
    top: 14px;
    top: 25px;
  }
}
.button-orange.button-long.button-more-info .icon {
  font-size: 24px;
}
.button-orange.button-round {
  width: 32px;
  height: 32px;
  padding: 0;
  margin: 0;
  border-radius: 20%;
  background-color: white;
  border-color: transparent;
  text-align: center;
}
.button-orange.button-round.flash:after {
  position: absolute;
  width: 32px;
  height: 32px;
  top: 50%;
  left: 50%;
  margin-top: -32px;
  margin-left: -32px;
  border-radius: 100%;
  transform: scale(0);
  background: -moz-radial-gradient(center, ellipse cover, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.4) 100%);
  background: -webkit-radial-gradient(center, ellipse cover, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.4) 100%);
  background: radial-gradient(ellipse at center, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.4) 100%);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#00ffffff", endColorstr="#ffffff", GradientType=1);
  -webkit-animation: buttonFlashRound 350ms 1;
  -moz-animation: buttonFlashRound 350ms 1;
  -ms-animation: buttonFlashRound 350ms 1;
  -o-animation: buttonFlashRound 350ms 1;
  animation: buttonFlashRound 350ms 1;
}
.button-orange.button-round:hover {
  background-color: #227b9e;
}
.button-orange.button-round .icon {
  font-size: 16px;
  line-height: 32px;
}
.button-orange.button-round.button-more-info {
  position: absolute;
  top: 14px;
  right: 0;
  border: 0;
  cursor: pointer;
  box-shadow: none;
}
@media screen and (min-width: 1024px) {
  .button-orange.button-round.button-more-info {
    top: 14px;
    top: 25px;
  }
}
.button-orange.button-round.button-more-info .icon {
  font-size: 24px;
}

.button-modal-close {
  position: absolute;
  top: -5px;
  right: 50px;
  font-size: 24px;
  box-shadow: none;
}
@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: portrait) {
  .button-modal-close {
    top: 0;
    right: 45px;
  }
}
@media screen and (min-width: 1024px) {
  .button-modal-close {
    top: 0;
    right: 45px;
  }
}

.button-basemap {
  width: 100%;
  border: none;
  background-color: transparent;
  background-size: cover;
  color: white;
  border-radius: 5px;
  padding: 8px;
  margin: 1px 0;
}
.button-basemap.satelite {
  background-image: url("satelite.50b18757.jpg");
}
.button-basemap.streets {
  color: black;
  background-image: url("streets.e3e52847.jpg");
}
.button-basemap.change {
  background-image: url("change.ba5b9763.jpg");
}

[data-app-state=inactive] .button-print,
[data-app-state=inactive] .button-share,
[data-app-state=inactive] .button-legend,
[data-app-state=inactive] .button-basemaps,
[data-app-state=inactive] .button-download {
  display: none;
}

.controls {
  display: block;
  position: relative;
  padding-left: 96px;
  height: 60px;
  border-bottom: 1px solid #a8a8a8;
}
@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: portrait) {
  .controls {
    height: 90px;
    border-bottom: 1px solid #a8a8a8;
  }
}
@media screen and (min-width: 1024px) {
  .controls {
    height: 90px;
    border-bottom: none;
  }
}
.controls .location-year-range-selectors {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: flex-start;
  -moz-align-items: flex-start;
  -ms-align-items: flex-start;
  align-items: flex-start;
  -webkit-justify-content: flex-start;
  -moz-justify-content: flex-start;
  -ms-justify-content: flex-start;
  justify-content: flex-start;
  -webkit-flex-direction: column;
  -moz-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  padding: 15px 0 0 0;
  margin: 0 40px;
  -webkit-transition: all 200ms cubic-bezier(0.75, 0.64, 0.265, 0.945);
  -moz-transition: all 200ms cubic-bezier(0.75, 0.64, 0.265, 0.945);
  -ms-transition: all 200ms cubic-bezier(0.75, 0.64, 0.265, 0.945);
  transition: all 200ms cubic-bezier(0.75, 0.64, 0.265, 0.945);
}
@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: portrait) {
  .controls .location-year-range-selectors {
    padding: 20px 0;
    margin: 0 70px 0 40px;
    -webkit-flex-direction: row;
    -moz-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-justify-content: space-between;
    -moz-justify-content: space-between;
    -ms-justify-content: space-between;
    justify-content: space-between;
  }
}
@media screen and (min-width: 1024px) {
  .controls .location-year-range-selectors {
    padding: 20px 0;
    margin: 0 70px 0 40px;
    -webkit-flex-direction: row;
    -moz-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-justify-content: space-between;
    -moz-justify-content: space-between;
    -ms-justify-content: space-between;
    justify-content: space-between;
  }
}
.controls .location-year-range-selectors .location {
  text-align: center;
}
.controls .location-year-range-selectors .change-location {
  cursor: pointer;
}
.controls .location-year-range-selectors .location__current-display {
  display: none;
}
@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: portrait) {
  .controls .location-year-range-selectors .location__current-display {
    display: block;
  }
}
@media screen and (min-width: 1024px) {
  .controls .location-year-range-selectors .location__current-display {
    display: block;
  }
}
.controls .location-year-range-selectors .location__current-display .location-title {
  font-size: 14px;
}
@media screen and (min-width: 1365px) {
  .controls .location-year-range-selectors .location__current-display .location-title {
    font-size: 14px;
  }
}
.controls .splash-screen__title {
  font-size: 18px;
  margin: 33px 0 10px 0;
}
.controls .splash-screen__instructions {
  padding: 0;
  margin: 8px 0 5px 0;
  text-align: left;
  font-size: 12px;
  width: 100%;
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-between;
  -moz-justify-content: space-between;
  -ms-justify-content: space-between;
  justify-content: space-between;
}
.controls .splash-screen__instructions .icon {
  color: #227b9e;
  font-size: 16px;
}
.controls .splash-order-item {
  display: block;
  background-color: #227b9e;
  color: white;
  font-size: 12px;
  height: 24px;
  width: 24px;
  text-align: center;
  line-height: 24px;
  border-radius: 3px;
}

[data-app-state=inactive] .controls {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  -moz-align-items: center;
  -ms-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  -moz-justify-content: center;
  -ms-justify-content: center;
  justify-content: center;
  -webkit-flex-direction: column;
  -moz-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  padding: 0;
  background-color: #5889aa;
  background-image: url("splash-bg-mobile.ad47c90b.jpg");
  background-repeat: no-repeat;
  background-size: cover;
  z-index: 4;
}
@media screen and (min-width: 1024px) {
  [data-app-state=inactive] .controls {
    background-image: url("splash-bg.e147fc47.jpg");
  }
}
[data-app-state=inactive] .controls .splash-screen__left-content {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  -moz-align-items: center;
  -ms-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  -moz-justify-content: center;
  -ms-justify-content: center;
  justify-content: center;
  -webkit-flex-direction: column;
  -moz-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  max-width: 420px;
  max-height: 568px;
  padding: 25px;
  z-index: 4;
  background-color: rgba(255, 255, 255, 0.72);
  border-radius: 10px;
  box-shadow: 0 0 20px 1px rgba(0, 0, 0, 0.25);
  -webkit-transition: all 200ms cubic-bezier(0.75, 0.64, 0.265, 0.945);
  -moz-transition: all 200ms cubic-bezier(0.75, 0.64, 0.265, 0.945);
  -ms-transition: all 200ms cubic-bezier(0.75, 0.64, 0.265, 0.945);
  transition: all 200ms cubic-bezier(0.75, 0.64, 0.265, 0.945);
}
[data-app-state=inactive] .controls .splash-screen__left-content .splash-button {
  width: 100%;
}
[data-app-state=inactive] .controls .splash-screen__instructions h1 {
  font-size: 48px;
}
[data-app-state=inactive] .controls .splash-screen__instructions p {
  border-width: 1px;
  border-style: solid;
  border-color: #d6d7d9;
  border-right: none;
  border-left: none;
  padding: 10px 0;
}
[data-app-state=inactive] .controls .location-year-range-selectors {
  padding: 0;
  margin: 0 auto;
  -webkit-flex-direction: column;
  -moz-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
}
@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: portrait) {
  [data-app-state=inactive] .controls .location-year-range-selectors {
    -webkit-flex-direction: column;
    -moz-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-justify-content: space-between;
    -moz-justify-content: space-between;
    -ms-justify-content: space-between;
    justify-content: space-between;
  }
}
@media screen and (min-width: 1024px) {
  [data-app-state=inactive] .controls .location-year-range-selectors {
    -webkit-flex-direction: column;
    -moz-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-justify-content: space-between;
    -moz-justify-content: space-between;
    -ms-justify-content: space-between;
    justify-content: space-between;
  }
}
[data-app-state=inactive] .controls .location__current-display {
  display: none;
}

[data-app-state=active] .controls .splash-screen__title {
  display: none;
}
[data-app-state=active] .controls .splash-screen__instructions {
  display: none;
}
[data-app-state=active] .controls .splash-button {
  display: none;
}
[data-app-state=active] .controls .splash-order-item {
  display: none;
}

.icn {
  display: block;
  position: relative;
  width: 20px;
  height: 20px;
  border-width: 0;
  border-style: solid;
  filter: drop-shadow(1px 2px 8px silver);
  -webkit-transition: all 200ms cubic-bezier(0.75, 0.64, 0.265, 0.945);
  -moz-transition: all 200ms cubic-bezier(0.75, 0.64, 0.265, 0.945);
  -ms-transition: all 200ms cubic-bezier(0.75, 0.64, 0.265, 0.945);
  transition: all 200ms cubic-bezier(0.75, 0.64, 0.265, 0.945);
}
@media screen and (min-width: 1024px) {
  .icn {
    width: 28px;
    height: 28px;
  }
}
.icn:hover {
  filter: none;
}
.icn.map-icn {
  background: url("map-icn.8ac2e6e2.svg");
  background-repeat: no-repeat;
}
.icn.factory {
  background: url("factory-icn.7a3b68a5.svg");
  background-repeat: no-repeat;
}
.icn.globe {
  background: url("globe-icn.7c24b2e5.svg");
  background-repeat: no-repeat;
}
.icn.hard-hat {
  background: url("hat-icn.5368f933.svg");
  background-repeat: no-repeat;
}
.icn.leaf {
  background: url("leaf-icn.0c3a9a4f.svg");
  background-repeat: no-repeat;
}
.icn.agriculture {
  background: url("grain-rice.3c3760cb.svg");
  background-repeat: no-repeat;
  background-size: contain;
}
.icn.drop {
  background: url("drop-icn.80bbc809.svg");
  background-repeat: no-repeat;
}

@font-face {
  font-family: "ccap";
  src: url("ccap.b21e93b6.ttf?93c1kx") format("truetype"), url("ccap.ef4e2d2a.woff?93c1kx") format("woff"), url("ccap.fce95863.svg?93c1kx#ccap") format("svg");
  font-weight: normal;
  font-style: normal;
}
[class^=icon-], [class*=" icon-"] {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: "ccap" !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-arrow-down:before {
  content: "";
  -moz-transform: rotate(180deg);
  -o-transform: rotate(180deg);
  -ms-transform: rotate(180deg);
  -webkit-transform: rotate(180deg);
  transform: rotate(180deg);
}

.icon-arrow-up:before {
  content: "";
}

.icon-more-info:before {
  content: "";
}

.icon-map:before {
  content: "";
}

.icon-watershed:before {
  content: "";
}

.icon-print:before {
  content: "";
}

.icon-share:before {
  content: "";
}

.icon-legend:before {
  content: "";
}

.icon-download:before {
  content: "";
}

.icon-location:before {
  content: "";
}

.charts-tab .tab .infographic {
  position: relative;
  animation: fadeIn 300ms ease-in 1;
  border-bottom: 1px solid #e9e9e9;
  box-shadow: 0 0 30px 1px rgba(0, 0, 0, 0.04);
}
@media screen and (min-width: 1024px) {
  .charts-tab .tab .infographic {
    box-shadow: 0 0 30px 1px rgba(0, 0, 0, 0.01);
  }
}
.charts-tab .tab .infographic p {
  text-align: center;
  font-size: 12px;
}
.charts-tab .tab .infographic .title {
  text-align: center;
  font-size: 12px;
  margin: 20px 0 10px 0;
}
@media screen and (min-width: 1024px) {
  .charts-tab .tab .infographic .title {
    margin: 35px 0 10px 0;
  }
}
.charts-tab .tab .infographic .chart {
  height: 400px;
}
.charts-tab .tab .infographic.table {
  width: 100%;
}
.charts-tab .tab .infographic.table .summary-table {
  height: 400px;
  width: 100%;
  margin-bottom: 50px;
}
.charts-tab .tab .infographic.table .summary-table thead {
  font-weight: 300;
  font-size: 12px;
  line-height: 185%;
  border-top: 1px solid #afd2d2;
}
.charts-tab .tab .infographic.table .summary-table tbody tr td {
  text-align: center;
  font-size: 12px;
}
.charts-tab .tab .infographic.table .summary-table tbody tr td.category {
  cursor: pointer;
}
.charts-tab .tab .infographic.small .chart-group {
  display: flex;
  flex-direction: row;
  justify-content: center;
}
.charts-tab .tab .infographic.small .chart-group .value {
  display: flex;
  justify-content: center;
  flex-direction: column;
  font-size: calc(16px + 20 * ((100vw - 320px) / 680));
  width: 31%;
  letter-spacing: 2px;
}
.charts-tab .tab .infographic.small .chart-group .chart {
  height: 200px;
  padding: 30px;
  max-width: 200px;
  flex: 1;
}
.charts-tab .tab .infographic.small .chart-group .chart.double {
  padding: 0px;
}
.charts-tab .tab .infographic.x-small .chart-group {
  display: flex;
  flex-direction: row;
  justify-content: center;
}
.charts-tab .tab .infographic.x-small .chart-group .value {
  height: 130px;
  display: flex;
  justify-content: center;
  flex-direction: column;
  font-size: calc(16px + 20 * ((100vw - 320px) / 680));
  letter-spacing: 2px;
}
.charts-tab .tab .infographic.x-small .chart-group .icon {
  height: 96px;
  padding: 20px;
  font-size: 68px;
  display: flex;
  justify-content: center;
  flex-direction: column;
  text-align: center;
}
@media screen and (min-width: 1024px) {
  .charts-tab .tab .infographic.x-small .chart-group .icon {
    height: 130px;
  }
}
.charts-tab .tab .infographic.x-small .chart-group .icon.hide .icon-arrow-down {
  display: none;
}
.charts-tab .tab .infographic.x-small .chart-group .icon.hide .icon-arrow-up {
  display: none;
}
.charts-tab .tab .infographic.x-small .chart-group .icon.up .icon-arrow-down {
  display: none;
}
.charts-tab .tab .infographic.x-small .chart-group .icon.down .icon-arrow-up {
  display: none;
}

.side-panel {
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  animation: fadeIn 1200ms ease-out 1;
}
@media screen and (min-width: 1024px) and (max-width: 1366px) {
  .side-panel {
    width: 645px;
  }
}
@media screen and (min-width: 1365px) {
  .side-panel {
    width: 765px;
  }
}
.side-panel .charts-tab {
  display: flex;
  flex-direction: column;
}
.side-panel .charts-tab .tabs-group {
  clear: both;
  display: flex;
  flex-direction: column;
  position: relative;
  margin-left: 0;
}
@media screen and (min-width: 1024px) {
  .side-panel .charts-tab .tabs-group {
    margin-left: 96px;
  }
}
.side-panel .charts-tab .tabs-group .tab {
  -webkit-flex-direction: column;
  -moz-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  padding: 0 20px;
  width: 100%;
  line-height: 1.25%;
  color: #444;
  max-height: calc(100vh - 90px);
  min-height: calc(100vh - 90px);
  overflow-y: auto;
  overflow-x: hidden;
}
@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: portrait) {
  .side-panel .charts-tab .tabs-group .tab {
    padding: 0 40px;
  }
}
@media screen and (min-width: 1024px) {
  .side-panel .charts-tab .tabs-group .tab {
    padding: 0 40px;
  }
}
.side-panel .charts-tab .tabs-group .tab .tab-title {
  font-size: 21px;
}
@media screen and (min-width: 1024px) {
  .side-panel .charts-tab .tabs-group .tab .tab-title {
    font-size: 28px;
  }
}
.side-panel .noaa-brand {
  display: block;
  position: absolute;
  top: 10px;
  left: 15px;
  width: 70px;
  z-index: 4;
  pointer-events: all;
}
@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: portrait) {
  .side-panel .noaa-brand {
    top: 20px;
    left: 40px;
  }
}
@media screen and (min-width: 1024px) {
  .side-panel .noaa-brand {
    top: 13px;
    left: 22px;
    width: 70px;
  }
}
.side-panel .noaa-brand:hover {
  cursor: pointer;
  opacity: 0.5;
}
.side-panel .noaa-brand img {
  width: 100%;
}

.noaa-brand__splash-screen {
  display: none;
}

[data-app-state=inactive] .noaa-brand {
  display: none;
}
[data-app-state=inactive] .noaa-brand__splash-screen {
  display: block;
  width: 70ppx;
  float: left;
  margin: 0 20px 0 0;
}

[data-tab-modal-state=open] .side-panel .charts-tab .tab {
  overflow: hidden;
}

.splash-screen {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 4;
}
.splash-screen .splash-screen__left-content {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  -moz-align-items: center;
  -ms-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  -moz-justify-content: center;
  -ms-justify-content: center;
  justify-content: center;
  -webkit-flex-direction: column;
  -moz-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 60%;
  z-index: 4;
  background-color: white;
  -webkit-transition: all 200ms cubic-bezier(0.75, 0.64, 0.265, 0.945);
  -moz-transition: all 200ms cubic-bezier(0.75, 0.64, 0.265, 0.945);
  -ms-transition: all 200ms cubic-bezier(0.75, 0.64, 0.265, 0.945);
  transition: all 200ms cubic-bezier(0.75, 0.64, 0.265, 0.945);
}
.splash-screen .splash-screen__instructions h1 {
  font-size: 48px;
}
.splash-screen .splash-screen__instructions p {
  border-width: 1px;
  border-style: solid;
  border-color: #d6d7d9;
  border-right: none;
  border-left: none;
  padding: 10px 0;
}
.splash-screen .splash-screen__instructions .icon {
  font-size: 32px;
  margin: 0 20px 0 0;
  color: #227b9e;
}

.menu-reveal {
  display: none;
  -webkit-flex-direction: column;
  -moz-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-align-items: stretch;
  -moz-align-items: stretch;
  -ms-align-items: stretch;
  align-items: stretch;
  -webkit-justify-content: space-around;
  -moz-justify-content: space-around;
  -ms-justify-content: space-around;
  justify-content: space-around;
  position: absolute;
  height: 150px;
  padding: 0 10px;
  top: 50px;
  left: 0;
  right: 0;
  z-index: 5;
  background-color: #fafafa;
  background: #e2e2e2;
  -webkit-transition: all 200ms cubic-bezier(0.75, 0.64, 0.265, 0.945);
  -moz-transition: all 200ms cubic-bezier(0.75, 0.64, 0.265, 0.945);
  -ms-transition: all 200ms cubic-bezier(0.75, 0.64, 0.265, 0.945);
  transition: all 200ms cubic-bezier(0.75, 0.64, 0.265, 0.945);
  box-shadow: 1px 1px 10px 1px rgba(0, 0, 0, 0.07);
  background: -moz-linear-gradient(top, #e2e2e2 0%, #eaeaea 100%);
  background: -webkit-linear-gradient(top, #e2e2e2 0%, #eaeaea 100%);
  background: linear-gradient(to bottom, #e2e2e2 0%, #eaeaea 100%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr="#e2e2e2", endColorstr="#eaeaea",GradientType=0 );
}
@media screen and (min-width: 1024px) {
  .menu-reveal {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-direction: row;
    -moz-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-align-items: center;
    -moz-align-items: center;
    -ms-align-items: center;
    align-items: center;
    -webkit-justify-content: flex-start;
    -moz-justify-content: flex-start;
    -ms-justify-content: flex-start;
    justify-content: flex-start;
    position: relative;
    height: 0;
    top: auto;
    overflow: hidden;
    z-index: 0;
    box-shadow: inset 0 0 10px 1px rgba(0, 0, 0, 0.07);
  }
}

#locationToggle:checked ~ nav,
#shareModal:checked ~ div {
  display: flex;
}
@media screen and (min-width: 1024px) {
  #locationToggle:checked ~ nav,
#shareModal:checked ~ div {
    height: 50px;
  }
}

@media screen and (min-width: 1024px) {
  #shareModal:checked ~ div {
    height: 75px;
  }
}

@media screen and (min-width: 1024px) {
  #locationToggle:checked ~ .location-year-range-selectors {
    padding: 10px 0;
  }
}

.menu-reveal-toggle__input {
  position: absolute;
  left: -9999px;
}

.location-toggle {
  position: absolute;
  width: 32px;
  height: 32px;
  top: 9px;
  right: 5px;
  border-radius: 20%;
  text-align: center;
  z-index: 2;
}
@media screen and (min-width: 1024px) {
  .location-toggle:hover {
    cursor: pointer;
    background-color: #227b9e;
    box-shadow: 1px 1px 10px 1px rgba(0, 0, 0, 0.08);
  }
  .location-toggle:hover .icon-location {
    color: white;
  }
}
.location-toggle .icon-location {
  font-size: 16px;
  line-height: 32px;
  color: #227b9e;
}

[data-app-state=inactive] .location-toggle {
  display: none;
}
[data-app-state=inactive] .menu-reveal {
  display: block;
  height: auto;
  opacity: 1;
  background: transparent;
  box-shadow: 0 0 0 0 transparent;
  padding: 0;
  -webkit-justify-content: flex-start;
  -moz-justify-content: flex-start;
  -ms-justify-content: flex-start;
  justify-content: flex-start;
  position: relative;
  top: 0;
}
[data-app-state=inactive] .menu-reveal.share-menu {
  display: none;
}

.dropdown-group {
  display: block;
  position: relative;
}
.dropdown-group .menu-dropdown {
  display: none;
  position: absolute;
  background-color: white;
  right: 0;
  min-width: 145px;
  border-radius: 5px;
  padding: 20px;
  z-index: 2;
}
.dropdown-group .menu-dropdown * {
  font-size: 12px;
}
.dropdown-group .menu-dropdown_trigger {
  visibility: hidden;
  position: absolute;
  right: -9999px;
}
.dropdown-group .menu-dropdown_trigger:checked ~ .menu-dropdown {
  display: block;
}

.selector-menu {
  font-size: 12px;
  padding: 5px;
  border-radius: 3px;
  border-color: #e9e9e9;
  color: #5d5d5d;
  width: 100%;
}
.selector-menu:hover {
  box-shadow: 1px 1px 10px rgba(0, 0, 0, 0.08);
}
@media screen and (min-width: 1024px) {
  .selector-menu {
    max-width: 335px;
  }
}
@media screen and (min-width: 1365px) {
  .selector-menu {
    width: auto;
    max-width: 345px;
  }
}

[data-app-state=inactive] .selector-menu {
  width: 100%;
  max-width: 520px;
}
[data-app-state=inactive] .selector-menu option {
  max-width: 520px;
  overflow: hidden;
}

.progress-loader {
  display: none;
  position: absolute;
  width: 100%;
  height: 100%;
  top: 30px;
  background-color: white;
}
.progress-loader .load-indicator {
  height: 64px;
  width: 64px;
  position: relative;
  display: block;
  margin: 10px auto;
}
.progress-loader .load-indicator .ring {
  border-radius: 100%;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  border: 1px solid #101216;
  opacity: 0;
  -webkit-animation: scale 2.25s ease-out infinite;
  -moz-animation: scale 2.25s ease-out infinite;
  -ms-animation: scale 2.25s ease-out infinite;
  -o-animation: scale 2.25s ease-out infinite;
  animation: scale 2.25s ease-out infinite;
  -webkit-animation-delay: 0.45s;
  -moz-animation-delay: 0.45s;
  -ms-animation-delay: 0.45s;
  -o-animation-delay: 0.45s;
  animation-delay: 0.45s;
}
.progress-loader .load-indicator .ring.ring-1 {
  border-width: 1px;
}
.progress-loader .load-indicator .ring.ring-2 {
  border-width: 1px;
  -webkit-animation-delay: 0.65s;
  -moz-animation-delay: 0.65s;
  -ms-animation-delay: 0.65s;
  -o-animation-delay: 0.65s;
  animation-delay: 0.65s;
}
.progress-loader .load-indicator .ring.ring-3 {
  border-width: 1px;
  -webkit-animation-delay: 0.25s;
  -moz-animation-delay: 0.25s;
  -ms-animation-delay: 0.25s;
  -o-animation-delay: 0.25s;
  animation-delay: 0.25s;
  -webkit-animation-duration: 2s;
  -moz-animation-duration: 2s;
  -ms-animation-duration: 2s;
  -o-animation-duration: 2s;
  animation-duration: 2s;
}
.progress-loader .label {
  color: #101216;
  font-size: 12px;
  font-weight: 300;
  display: inline-block;
  vertical-align: middle;
  letter-spacing: 2px;
  margin-left: 7px;
}
.progress-loader.show {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  -moz-align-items: center;
  -ms-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  -moz-justify-content: center;
  -ms-justify-content: center;
  justify-content: center;
}
.progress-loader .progress-bg {
  background-image: url("noaa-brand-loader.58b53607.svg");
  background-position: center;
  background-size: cover;
  width: 48px;
  height: 48px;
  animation: progress-bg-throb 1500ms ease-out infinite;
}
.progress-loader .progress-circle {
  position: absolute;
  left: 50%;
  top: 50%;
  -moz-transform: translate3d(-50%, -50%, 0);
  -o-transform: translate3d(-50%, -50%, 0);
  -ms-transform: translate3d(-50%, -50%, 0);
  -webkit-transform: translate3d(-50%, -50%, 0);
  transform: translate3d(-50%, -50%, 0);
}
.progress-loader .progress-circle .progress {
  stroke: #848484;
  stroke-width: 2;
  stroke-dashoffset: 0;
  stroke-dasharray: 63 188;
  animation: progress-bar 1100ms linear infinite;
}
.progress-loader .progress-circle .bg {
  stroke: #dedede;
  stroke-width: 1;
}

@-webkit-keyframes progress-bar {
  0% {
    stroke-dashoffset: 251;
  }
  100% {
    stroke-dashoffset: 0;
  }
}
@-moz-keyframes progress-bar {
  0% {
    stroke-dashoffset: 251;
  }
  100% {
    stroke-dashoffset: 0;
  }
}
@-ms-keyframes progress-bar {
  0% {
    stroke-dashoffset: 251;
  }
  100% {
    stroke-dashoffset: 0;
  }
}
@-o-keyframes progress-bar {
  0% {
    stroke-dashoffset: 251;
  }
  100% {
    stroke-dashoffset: 0;
  }
}
@keyframes progress-bar {
  0% {
    stroke-dashoffset: 251;
  }
  100% {
    stroke-dashoffset: 0;
  }
}
@-webkit-keyframes progress-bg-throb {
  0% {
    opacity: 1;
  }
  50% {
    opacity: 0.7;
  }
  100% {
    opacity: 1;
  }
}
@-moz-keyframes progress-bg-throb {
  0% {
    opacity: 1;
  }
  50% {
    opacity: 0.7;
  }
  100% {
    opacity: 1;
  }
}
@-ms-keyframes progress-bg-throb {
  0% {
    opacity: 1;
  }
  50% {
    opacity: 0.7;
  }
  100% {
    opacity: 1;
  }
}
@-o-keyframes progress-bg-throb {
  0% {
    opacity: 1;
  }
  50% {
    opacity: 0.7;
  }
  100% {
    opacity: 1;
  }
}
@keyframes progress-bg-throb {
  0% {
    opacity: 1;
  }
  50% {
    opacity: 0.7;
  }
  100% {
    opacity: 1;
  }
}
.legend-entry {
  display: block;
  position: relative;
  width: 21px;
  height: 21px;
  background-color: silver;
  border-radius: 3px;
}
.legend-entry.developed-gains {
  display: inline-block;
  margin-right: 10px;
  background-color: #00ff00;
}
.legend-entry.developed-losses {
  display: inline-block;
  margin: 0 10px;
  background-color: #e10810;
}
.legend-entry.deciduous-forest {
  background-color: #68aa63;
}
.legend-entry.evergreen-forest {
  background-color: #1c6330;
}
.legend-entry.mixed-forest {
  background-color: #b5c98e;
}
.legend-entry.woody-wetland {
  background-color: #bad8ea;
}
.legend-entry.patch-forest {
  background-color: #772ae8;
}
.legend-entry.perforated-forest {
  background-color: #ef8c0a;
}
.legend-entry.edge-forest {
  background-color: #efcc00;
}
.legend-entry.core-forest {
  background-color: #3e7a22;
}
.legend-entry.forest-losses {
  background-color: #fc0003;
}
.legend-entry.developed-high-intensity {
  background-color: #aa0000;
}
.legend-entry.developed-medium-intensity {
  background-color: #ed0000;
}
.legend-entry.developed-low-intensity {
  background-color: #d89382;
}
.legend-entry.developed-open-spaces {
  background-color: #ddc9c9;
}
.legend-entry.impervious {
  background-color: #E5E1CA;
}
.legend-entry.palustrine-forested-wetland {
  background-color: #227F59;
}
.legend-entry.palustrine-scrub-wetland {
  background-color: #C47F1A;
}
.legend-entry.palustrine-emergent-wetland {
  background-color: #70a3ba;
}
.legend-entry.estuarine-forested-wetland {
  background-color: #251F3A;
}
.legend-entry.estuarine-scrub-wetland {
  background-color: #6D3255;
}
.legend-entry.estuarine-emergent-wetland {
  background-color: #8E246E;
}
.legend-entry.unconsolidated-shore {
  background-color: #368D96;
}
.legend-entry.cultivated-crops {
  background-color: #804000;
}
.legend-entry.pasture-hay {
  background-color: #e6e147;
}

/* The Modal (background) */
.info-modal {
  display: none;
  /* Hidden by default */
  position: absolute;
  /* Stay in place */
  z-index: 2001;
  /* Sit on top */
  overflow: auto;
  /* Enable scroll if needed */
  background-color: black;
  /* Fallback color */
  background-color: rgba(0, 0, 0, 0.4);
  /* Black w/ opacity */
  width: 100vw;
  height: 100vh;
}

/* Modal Content/Box */
.info-modal-content {
  background-color: #fefefe;
  border: 1px solid #888;
  margin: 15% auto;
  /* 15% from the top and centered */
  width: 500px;
}

.info-modal-header {
  padding: 2px 16px;
  background-color: #5c5cb8;
  color: white;
}

.info-modal-body {
  padding: 2px 16px;
  text-align: center;
}

/* The Close Button */
.info-close {
  color: #aaa;
  float: right;
  font-size: 28px;
  font-weight: bold;
}

.info-close:hover,
.info-close:focus {
  color: black;
  text-decoration: none;
  cursor: pointer;
}

.ol-box {
  box-sizing: border-box;
  border-radius: 2px;
  border: 2px solid blue;
}

.ol-mouse-position {
  top: 8px;
  right: 8px;
  position: absolute;
}

.ol-scale-line {
  background: rgba(0, 60, 136, 0.3);
  border-radius: 4px;
  bottom: 8px;
  left: 8px;
  padding: 2px;
  position: absolute;
}

.ol-scale-line-inner {
  border: 1px solid #eee;
  border-top: none;
  color: #eee;
  font-size: 10px;
  text-align: center;
  margin: 1px;
  will-change: contents, width;
}

.ol-overlay-container {
  will-change: left, right, top, bottom;
}

.ol-unsupported {
  display: none;
}

.ol-viewport,
.ol-unselectable {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

.ol-selectable {
  -webkit-touch-callout: default;
  -webkit-user-select: text;
  -moz-user-select: text;
  -ms-user-select: text;
  user-select: text;
}

.ol-grabbing {
  cursor: -webkit-grabbing;
  cursor: -moz-grabbing;
  cursor: grabbing;
}

.ol-grab {
  cursor: move;
  cursor: -webkit-grab;
  cursor: -moz-grab;
  cursor: grab;
}

.ol-control {
  position: absolute;
  background-color: rgba(255, 255, 255, 0.4);
  border-radius: 4px;
  padding: 2px;
}

.ol-control:hover {
  background-color: rgba(255, 255, 255, 0.6);
}

.ol-zoom {
  top: 0.5em;
  left: 0.5em;
}

.ol-rotate {
  top: 0.5em;
  right: 0.5em;
  transition: opacity 0.25s linear, visibility 0s linear;
}

.ol-rotate.ol-hidden {
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.25s linear, visibility 0s linear 0.25s;
}

.ol-zoom-extent {
  top: 4.643em;
  left: 0.5em;
}

.ol-full-screen {
  right: 0.5em;
  top: 0.5em;
}

@media print {
  .ol-control {
    display: none;
  }
}
.ol-control button {
  display: block;
  margin: 1px;
  padding: 0;
  color: white;
  font-size: 1.14em;
  font-weight: bold;
  text-decoration: none;
  text-align: center;
  height: 1.375em;
  width: 1.375em;
  line-height: 0.4em;
  background-color: rgba(0, 60, 136, 0.5);
  border: none;
  border-radius: 2px;
}

.ol-control button::-moz-focus-inner {
  border: none;
  padding: 0;
}

.ol-zoom-extent button {
  line-height: 1.4em;
}

.ol-compass {
  display: block;
  font-weight: normal;
  font-size: 1.2em;
  will-change: transform;
}

.ol-touch .ol-control button {
  font-size: 1.5em;
}

.ol-touch .ol-zoom-extent {
  top: 5.5em;
}

.ol-control button:hover,
.ol-control button:focus {
  text-decoration: none;
  background-color: rgba(0, 60, 136, 0.7);
}

.ol-zoom .ol-zoom-in {
  border-radius: 2px 2px 0 0;
}

.ol-zoom .ol-zoom-out {
  border-radius: 0 0 2px 2px;
}

.ol-attribution {
  text-align: right;
  bottom: 0.5em;
  right: 0.5em;
  max-width: calc(100% - 1.3em);
}

.ol-attribution ul {
  margin: 0;
  padding: 0 0.5em;
  font-size: 0.7rem;
  line-height: 1.375em;
  color: #000;
  text-shadow: 0 0 2px #fff;
}

.ol-attribution li {
  display: inline;
  list-style: none;
  line-height: inherit;
}

.ol-attribution li:not(:last-child):after {
  content: " ";
}

.ol-attribution img {
  max-height: 2em;
  max-width: inherit;
  vertical-align: middle;
}

.ol-attribution ul,
.ol-attribution button {
  display: inline-block;
}

.ol-attribution.ol-collapsed ul {
  display: none;
}

.ol-attribution:not(.ol-collapsed) {
  background: rgba(255, 255, 255, 0.8);
}

.ol-attribution.ol-uncollapsible {
  bottom: 0;
  right: 0;
  border-radius: 4px 0 0;
  height: 1.1em;
  line-height: 1em;
}

.ol-attribution.ol-uncollapsible img {
  margin-top: -0.2em;
  max-height: 1.6em;
}

.ol-attribution.ol-uncollapsible button {
  display: none;
}

.ol-zoomslider {
  top: 4.5em;
  left: 0.5em;
  height: 200px;
}

.ol-zoomslider button {
  position: relative;
  height: 10px;
}

.ol-touch .ol-zoomslider {
  top: 5.5em;
}

.ol-overviewmap {
  left: 0.5em;
  bottom: 0.5em;
}

.ol-overviewmap.ol-uncollapsible {
  bottom: 0;
  left: 0;
  border-radius: 0 4px 0 0;
}

.ol-overviewmap .ol-overviewmap-map,
.ol-overviewmap button {
  display: inline-block;
}

.ol-overviewmap .ol-overviewmap-map {
  border: 1px solid #7b98bc;
  height: 150px;
  margin: 2px;
  width: 150px;
}

.ol-overviewmap:not(.ol-collapsed) button {
  bottom: 1px;
  left: 2px;
  position: absolute;
}

.ol-overviewmap.ol-collapsed .ol-overviewmap-map,
.ol-overviewmap.ol-uncollapsible button {
  display: none;
}

.ol-overviewmap:not(.ol-collapsed) {
  background: rgba(255, 255, 255, 0.8);
}

.ol-overviewmap-box {
  border: 2px dotted rgba(0, 60, 136, 0.7);
}

.ol-overviewmap .ol-overviewmap-box:hover {
  cursor: move;
}

/* ==========================================================================
   Basic Print styles.
   Print styles for specific comonents are in the corresponding partial.
   Inlined to avoid the additional HTTP request:
   http://www.phpied.com/delay-loading-your-print-css/
   ========================================================================== */
@media print {
  *,
*:before,
*:after,
*:first-letter,
*:first-line {
    background: transparent !important;
    color: #000 !important;
    /* Black prints faster:
       http://www.sanbeiji.com/archives/953 */
    box-shadow: none !important;
    text-shadow: none !important;
  }

  a,
a:visited {
    text-decoration: underline;
    font-size: inherit;
  }

  a {
    color: black;
    font-size: 14px;
  }

  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,
blockquote {
    border: 1px solid #999;
    page-break-inside: avoid;
  }

  /*
   * Printing Tables:
   * http://css-discuss.incutio.com/wiki/Printing_Tables
   */
  thead {
    display: table-header-group;
  }

  tr,
img {
    page-break-inside: avoid;
  }

  img {
    max-width: 100% !important;
  }

  p {
    font-size: 16px;
  }

  p,
h2,
h3 {
    orphans: 3;
    widows: 3;
  }

  h2,
h3 {
    page-break-after: avoid;
  }
}
/*******************
DISPLAY UTILITIES
*******************/
@media print {
  .no-print {
    display: none !important;
  }
}

.hidden-508 {
  position: absolute !important;
  text-indent: -9999px;
  width: 1px;
  height: 1px;
  /*IE6, IE7*/
  clip: rect(1px 1px 1px 1px);
  clip: rect(1px, 1px, 1px, 1px);
  overflow: hidden;
}

.js-hide-element {
  display: none !important;
}

.block {
  display: block;
}

/*************************************************
  LAYOUT UTILITIES
*************************************************/
.margin-none {
  margin: 0;
}

.scroll {
  height: 100%;
  overflow-y: auto;
}

.footer-full {
  position: absolute;
  bottom: 0;
  text-align: center;
  width: 100%;
  z-index: 1000;
}
.footer-full p {
  margin: 0;
  font-family: "Noto Sans", sans-serif;
  padding: 11px 0;
  background: rgba(0, 0, 0, 0.7);
  color: white;
  font-size: 12px;
  width: 100%;
  font-weight: 100;
  letter-spacing: 1px;
  line-height: 1;
}
.footer-full p a {
  color: lightblue;
}

.tabs-group .tab {
  padding-bottom: 75px !important;
}
.ol-box {
  box-sizing: border-box;
  border-radius: 2px;
  border: 2px solid blue;
}

.ol-mouse-position {
  top: 8px;
  right: 8px;
  position: absolute;
}

.ol-scale-line {
  background: rgba(0,60,136,0.3);
  border-radius: 4px;
  bottom: 8px;
  left: 8px;
  padding: 2px;
  position: absolute;
}
.ol-scale-line-inner {
  border: 1px solid #eee;
  border-top: none;
  color: #eee;
  font-size: 10px;
  text-align: center;
  margin: 1px;
  will-change: contents, width;
  transition: all 0.25s;
}
.ol-scale-bar {
  position: absolute;
  bottom: 8px;
  left: 8px;
}
.ol-scale-step-marker {
  width: 1px;
  height: 15px;
  background-color: #000000;
  float: right;
  z-Index: 10;
}
.ol-scale-step-text {
  position: absolute;
  bottom: -5px;
  font-size: 12px;
  z-Index: 11;
  color: #000000;
  text-shadow: -2px 0 #FFFFFF, 0 2px #FFFFFF, 2px 0 #FFFFFF, 0 -2px #FFFFFF;
}
.ol-scale-text {
  position: absolute;
  font-size: 14px;
  text-align: center;
  bottom: 25px;
  color: #000000;
  text-shadow: -2px 0 #FFFFFF, 0 2px #FFFFFF, 2px 0 #FFFFFF, 0 -2px #FFFFFF;
}
.ol-scale-singlebar {
  position: relative;
  height: 10px;
  z-Index: 9;
  border: 1px solid black;
}

.ol-unsupported {
  display: none;
}
.ol-viewport, .ol-unselectable {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-tap-highlight-color: rgba(0,0,0,0);
}
.ol-selectable {
  -webkit-touch-callout: default;
  -webkit-user-select: text;
  -moz-user-select: text;
  -ms-user-select: text;
  user-select: text;
}
.ol-grabbing {
  cursor: -webkit-grabbing;
  cursor: -moz-grabbing;
  cursor: grabbing;
}
.ol-grab {
  cursor: move;
  cursor: -webkit-grab;
  cursor: -moz-grab;
  cursor: grab;
}
.ol-control {
  position: absolute;
  background-color: rgba(255,255,255,0.4);
  border-radius: 4px;
  padding: 2px;
}
.ol-control:hover {
  background-color: rgba(255,255,255,0.6);
}
.ol-zoom {
  top: .5em;
  left: .5em;
}
.ol-rotate {
  top: .5em;
  right: .5em;
  transition: opacity .25s linear, visibility 0s linear;
}
.ol-rotate.ol-hidden {
  opacity: 0;
  visibility: hidden;
  transition: opacity .25s linear, visibility 0s linear .25s;
}
.ol-zoom-extent {
  top: 4.643em;
  left: .5em;
}
.ol-full-screen {
  right: .5em;
  top: .5em;
}

.ol-control button {
  display: block;
  margin: 1px;
  padding: 0;
  color: white;
  font-size: 1.14em;
  font-weight: bold;
  text-decoration: none;
  text-align: center;
  height: 1.375em;
  width: 1.375em;
  line-height: .4em;
  background-color: rgba(0,60,136,0.5);
  border: none;
  border-radius: 2px;
}
.ol-control button::-moz-focus-inner {
  border: none;
  padding: 0;
}
.ol-zoom-extent button {
  line-height: 1.4em;
}
.ol-compass {
  display: block;
  font-weight: normal;
  font-size: 1.2em;
  will-change: transform;
}
.ol-touch .ol-control button {
  font-size: 1.5em;
}
.ol-touch .ol-zoom-extent {
  top: 5.5em;
}
.ol-control button:hover,
.ol-control button:focus {
  text-decoration: none;
  background-color: rgba(0,60,136,0.7);
}
.ol-zoom .ol-zoom-in {
  border-radius: 2px 2px 0 0;
}
.ol-zoom .ol-zoom-out {
  border-radius: 0 0 2px 2px;
}


.ol-attribution {
  text-align: right;
  bottom: .5em;
  right: .5em;
  max-width: calc(100% - 1.3em);
}

.ol-attribution ul {
  margin: 0;
  padding: 0 .5em;
  font-size: .7rem;
  line-height: 1.375em;
  color: #000;
  text-shadow: 0 0 2px #fff;
}
.ol-attribution li {
  display: inline;
  list-style: none;
  line-height: inherit;
}
.ol-attribution li:not(:last-child):after {
  content: " ";
}
.ol-attribution img {
  max-height: 2em;
  max-width: inherit;
  vertical-align: middle;
}
.ol-attribution ul, .ol-attribution button {
  display: inline-block;
}
.ol-attribution.ol-collapsed ul {
  display: none;
}
.ol-attribution:not(.ol-collapsed) {
  background: rgba(255,255,255,0.8);
}
.ol-attribution.ol-uncollapsible {
  bottom: 0;
  right: 0;
  border-radius: 4px 0 0;
  height: 1.1em;
  line-height: 1em;
}
.ol-attribution.ol-uncollapsible img {
  margin-top: -.2em;
  max-height: 1.6em;
}
.ol-attribution.ol-uncollapsible button {
  display: none;
}

.ol-zoomslider {
  top: 4.5em;
  left: .5em;
  height: 200px;
}
.ol-zoomslider button {
  position: relative;
  height: 10px;
}

.ol-touch .ol-zoomslider {
  top: 5.5em;
}

.ol-overviewmap {
  left: 0.5em;
  bottom: 0.5em;
}
.ol-overviewmap.ol-uncollapsible {
  bottom: 0;
  left: 0;
  border-radius: 0 4px 0 0;
}
.ol-overviewmap .ol-overviewmap-map,
.ol-overviewmap button {
  display: inline-block;
}
.ol-overviewmap .ol-overviewmap-map {
  border: 1px solid #7b98bc;
  height: 150px;
  margin: 2px;
  width: 150px;
}
.ol-overviewmap:not(.ol-collapsed) button{
  bottom: 1px;
  left: 2px;
  position: absolute;
}
.ol-overviewmap.ol-collapsed .ol-overviewmap-map,
.ol-overviewmap.ol-uncollapsible button {
  display: none;
}
.ol-overviewmap:not(.ol-collapsed) {
  background: rgba(255,255,255,0.8);
}
.ol-overviewmap-box {
  border: 2px dotted rgba(0,60,136,0.7);
}

.ol-overviewmap .ol-overviewmap-box:hover {
  cursor: move;
}


/*# sourceMappingURL=main.1ef1f049.css.map */