/*! normalize.css v3.0.2 | MIT License | git.io/normalize */
/**
 * 1. Set default font family to sans-serif.
 * 2. Prevent iOS text size adjust after orientation change, without disabling
 *    user zoom.
 */
html {
  font-family: sans-serif;
  /* 1 */
  -ms-text-size-adjust: 100%;
  /* 2 */
  -webkit-text-size-adjust: 100%;
  /* 2 */ }

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

/* HTML5 display definitions
   ========================================================================== */
/**
 * Correct `block` display not defined for any HTML5 element in IE 8/9.
 * Correct `block` display not defined for `details` or `summary` in IE 10/11
 * and Firefox.
 * Correct `block` display not defined for `main` in IE 11.
 */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
menu,
nav,
section,
summary {
  display: block; }

/**
 * 1. Correct `inline-block` display not defined in IE 8/9.
 * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.
 */
audio,
canvas,
progress,
video {
  display: inline-block;
  /* 1 */
  vertical-align: baseline;
  /* 2 */ }

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

/**
 * Address `[hidden]` styling not present in IE 8/9/10.
 * Hide the `template` element in IE 8/9/11, Safari, and Firefox < 22.
 */
[hidden],
template {
  display: none; }

/* Links
   ========================================================================== */
/**
 * Remove the gray background color from active links in IE 10.
 */
a {
  background-color: transparent; }

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

/* Text-level semantics
   ========================================================================== */
/**
 * Address styling not present in IE 8/9/10/11, Safari, and Chrome.
 */
abbr[title] {
  border-bottom: 1px dotted; }

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

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

/**
 * Address variable `h1` font-size and margin within `section` and `article`
 * contexts in Firefox 4+, Safari, and Chrome.
 */
h1 {
  font-size: 2em;
  margin: 0.67em 0; }

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

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

/**
 * Prevent `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.4em; }

sub {
  bottom: -0.25em; }

/* Embedded content
   ========================================================================== */
/**
 * Remove border when inside `a` element in IE 8/9/10.
 */
img {
  border: 0; }

/**
 * Correct overflow not hidden in IE 9/10/11.
 */
svg:not(:root) {
  overflow: hidden; }

/* Grouping content
   ========================================================================== */
/**
 * Address margin not present in IE 8/9 and Safari.
 */
figure {
  margin: 1em 40px; }

/**
 * Address differences between Firefox and other browsers.
 */
hr {
  -moz-box-sizing: content-box;
  box-sizing: content-box;
  height: 0; }

/**
 * Contain overflow in all browsers.
 */
pre {
  overflow: auto; }

/**
 * Address odd `em`-unit font size rendering in all browsers.
 */
code,
kbd,
pre,
samp {
  font-family: monospace, monospace;
  font-size: 1em; }

/* Forms
   ========================================================================== */
/**
 * Known limitation: by default, Chrome and Safari on OS X allow very limited
 * styling of `select`, unless a `border` property is set.
 */
/**
 * 1. Correct color not being inherited.
 *    Known issue: affects color of disabled elements.
 * 2. Correct font properties not being inherited.
 * 3. Address margins set differently in Firefox 4+, Safari, and Chrome.
 */
button,
input,
optgroup,
select,
textarea {
  color: inherit;
  /* 1 */
  font: inherit;
  /* 2 */
  margin: 0;
  /* 3 */ }

/**
 * Address `overflow` set to `hidden` in IE 8/9/10/11.
 */
button {
  overflow: visible; }

/**
 * Address inconsistent `text-transform` inheritance for `button` and `select`.
 * All other form control elements do not inherit `text-transform` values.
 * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.
 * Correct `select` style inheritance in Firefox.
 */
button,
select {
  text-transform: none; }

/**
 * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
 *    and `video` controls.
 * 2. Correct inability to style clickable `input` types in iOS.
 * 3. Improve 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],
html input[disabled] {
  cursor: default; }

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

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

/**
 * It's recommended that you don't attempt to style these elements.
 * Firefox's implementation doesn't respect box-sizing, padding, or width.
 *
 * 1. Address box sizing set to `content-box` in IE 8/9/10.
 * 2. Remove excess padding in IE 8/9/10.
 */
input[type="checkbox"],
input[type="radio"] {
  box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */ }

/**
 * Fix the cursor style for Chrome's increment/decrement buttons. For certain
 * `font-size` values of the `input`, it causes the cursor style of the
 * decrement button to change from `default` to `text`.
 */
input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
  height: auto; }

/**
 * 1. Address `appearance` set to `searchfield` in Safari and Chrome.
 * 2. Address `box-sizing` set to `border-box` in Safari 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; }

/**
 * Remove inner padding and search cancel button in Safari and Chrome on OS X.
 * Safari (but not Chrome) clips the cancel button when the search input has
 * padding (and `textfield` appearance).
 */
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none; }

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

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

/**
 * Remove default vertical scrollbar in IE 8/9/10/11.
 */
textarea {
  overflow: auto; }

/**
 * Don't inherit the `font-weight` (applied by a rule above).
 * NOTE: the default cannot safely be changed in Chrome and Safari on OS X.
 */
optgroup {
  font-weight: bold; }

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

td,
th {
  padding: 0; }

/*! sanitize.css v3.0.0 | CC0 1.0 Public Domain | github.com/10up/sanitize.css */
/*
 * Normalization
 */
audio:not([controls]) {
  display: none;
  /* Chrome 44-, iOS 8+, Safari 9+ */ }

button {
  overflow: visible;
  /* Internet Explorer 11- */
  -webkit-appearance: button;
  /* iOS 8+ */ }

details {
  display: block;
  /* Edge 12+, Firefox 40+, Internet Explorer 11-, Windows Phone 8.1+ */ }

html {
  -ms-overflow-style: -ms-autohiding-scrollbar;
  /* Edge 12+, Internet Explorer 11- */
  overflow-y: scroll;
  /* All browsers without overlaying scrollbars */
  -webkit-text-size-adjust: 100%;
  /* iOS 8+ */ }

input {
  -webkit-border-radius: 0; }

input[type="button"], input[type="reset"], input[type="submit"] {
  -webkit-appearance: button;
  /* iOS 8+ */ }

input[type="number"] {
  width: auto;
  /* Firefox 36+ */ }

input[type="search"] {
  -webkit-appearance: textfield;
  /* Chrome 45+, Safari 9+ */ }

input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
  /* Chrome 45+, Safari 9+ */ }

main {
  display: block;
  /* Android 4.3-, Internet Explorer 11-, Windows Phone 8.1+ */ }

pre {
  overflow: auto;
  /* Internet Explorer 11- */ }

progress {
  display: inline-block;
  /* Internet Explorer 11-, Windows Phone 8.1+ */ }

small {
  font-size: 75%;
  /* All browsers */ }

summary {
  display: block;
  /* Firefox 40+, Internet Explorer 11-, Windows Phone 8.1+ */ }

svg:not(:root) {
  overflow: hidden;
  /* Internet Explorer 11- */ }

template {
  display: none;
  /* Android 4.3-, Internet Explorer 11-, iOS 7-, Safari 7-, Windows Phone 8.1+ */ }

textarea {
  overflow: auto;
  /* Edge 12+, Internet Explorer 11- */ }

[hidden] {
  display: none;
  /* Internet Explorer 10- */ }

/*
 * Universal inheritance
 */
*,
:before,
:after {
  box-sizing: inherit; }

* {
  font-size: inherit;
  line-height: inherit; }

:before,
:after {
  text-decoration: inherit;
  vertical-align: inherit; }

/*
 * Opinionated defaults
 */
/* specify the border style and width of all elements */
*,
:before,
:after {
  border-style: solid;
  border-width: 0; }

/* specify the core styles of all elements */
* {
  background-repeat: no-repeat;
  margin: 0;
  padding: 0; }

/* specify the root styles of the document */
:root {
  box-sizing: border-box;
  color: #000000;
  cursor: default;
  font: 100%/1.5 'Merriweather Sans';
  /* https://bocoup.com/weblog/text-rendering */
  /* text-rendering: optimizeLegibility; */ }

/* specify the text decoration of anchors */
a {
  text-decoration: none; }

/* specify the alignment of media elements */
audio,
canvas,
iframe,
img,
svg,
video {
  vertical-align: middle; }

/* specify the background color of form elements */
button,
input,
select,
textarea {
  background-color: transparent; }

/* specify the inherited color and font of form elements */
button,
input,
select,
textarea {
  color: inherit;
  font-family: inherit;
  font-style: inherit;
  font-weight: inherit; }

/* specify the minimum height of form elements */
button,
[type="button"],
[type="date"],
[type="datetime"],
[type="datetime-local"],
[type="email"],
[type="month"],
[type="number"],
[type="password"],
[type="reset"],
[type="search"],
[type="submit"],
[type="tel"],
[type="text"],
[type="time"],
[type="url"],
[type="week"],
select,
textarea {
  min-height: 1.5em; }

/* specify the font family of code elements */
code,
kbd,
pre,
samp {
  font-family: monospace, monospace; }

/* specify the list style of nav lists */
nav ol,
nav ul {
  list-style: none; }

/* specify the standard appearance of selects */
select::-ms-expand {
  display: none;
  /* Edge 12+, Internet Explorer 11- */ }

select::-ms-value {
  color: currentColor;
  /* Edge 12+, Internet Explorer 11- */ }

/* specify the border styling of tables */
table {
  border-collapse: collapse;
  border-spacing: 0; }

/* specify the resizability of textareas */
textarea {
  resize: vertical; }

/* specify the background color, font color, and drop shadow of text selections */
::-moz-selection {
  background-color: #b3d4fc;
  /* required when declaring ::selection */
  color: #4c2b03;
  text-shadow: none; }

::selection {
  background-color: #b3d4fc;
  /* required when declaring ::selection */
  color: #4c2b03;
  text-shadow: none; }

/* specify the progress cursor of updating elements */
[aria-busy="true"] {
  cursor: progress; }

/* specify the pointer cursor of trigger elements */
[aria-controls] {
  cursor: pointer; }

/* specify the unstyled cursor of disabled, not-editable, or otherwise inoperable elements */
[aria-disabled] {
  cursor: default; }

/* specify the style of visually hidden yet accessible elements */
[hidden][aria-hidden="false"] {
  clip: rect(0 0 0 0);
  display: inherit;
  position: absolute; }

[hidden][aria-hidden="false"]:focus {
  clip: auto; }

/*# sourceMappingURL=sanitize.css.map */
/*!
Chosen, a Select Box Enhancer for jQuery and Prototype
by Patrick Filler for Harvest, http://getharvest.com

Version 1.4.2
Full source at https://github.com/harvesthq/chosen
Copyright (c) 2011-2015 Harvest http://getharvest.com

MIT License, https://github.com/harvesthq/chosen/blob/master/LICENSE.md
This file is generated by `grunt build`, do not edit it by hand.
*/
/* @group Base */
.chosen-container {
  position: relative;
  display: inline-block;
  vertical-align: middle;
  font-size: 13px;
  zoom: 1;
  *display: inline;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none; }

.chosen-container * {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box; }

.chosen-container .chosen-drop {
  position: absolute;
  top: 100%;
  left: -9999px;
  z-index: 1010;
  width: 100%;
  border: 1px solid #aaa;
  border-top: 0;
  background: #fff;
  box-shadow: 0 4px 5px rgba(0, 0, 0, 0.15); }

.chosen-container.chosen-with-drop .chosen-drop {
  left: 0; }

.chosen-container a {
  cursor: pointer; }

.chosen-container .search-choice .group-name, .chosen-container .chosen-single .group-name {
  margin-right: 4px;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  font-weight: normal;
  color: #999999; }

.chosen-container .search-choice .group-name:after, .chosen-container .chosen-single .group-name:after {
  content: ":";
  padding-left: 2px;
  vertical-align: top; }

/* @end */
/* @group Single Chosen */
.chosen-container-single .chosen-single {
  position: relative;
  display: block;
  overflow: hidden;
  padding: 0 0 0 8px;
  height: 25px;
  border: 1px solid #aaa;
  border-radius: 5px;
  background-color: #fff;
  /*
  background: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(20%, #ffffff), color-stop(50%, #f6f6f6), color-stop(52%, #eeeeee), color-stop(100%, #f4f4f4));
  background: -webkit-linear-gradient(top, #ffffff 20%, #f6f6f6 50%, #eeeeee 52%, #f4f4f4 100%);
  background: -moz-linear-gradient(top, #ffffff 20%, #f6f6f6 50%, #eeeeee 52%, #f4f4f4 100%);
  background: -o-linear-gradient(top, #ffffff 20%, #f6f6f6 50%, #eeeeee 52%, #f4f4f4 100%);
  background: linear-gradient(top, #ffffff 20%, #f6f6f6 50%, #eeeeee 52%, #f4f4f4 100%);
  background-clip: padding-box;
*/
  box-shadow: 0 0 3px white inset, 0 1px 1px rgba(0, 0, 0, 0.1);
  color: #444;
  text-decoration: none;
  white-space: nowrap;
  line-height: 24px; }

.chosen-container-single .chosen-default {
  color: #999; }

.chosen-container-single .chosen-single span {
  display: block;
  overflow: hidden;
  margin-right: 26px;
  text-overflow: ellipsis;
  white-space: nowrap; }

.chosen-container-single .chosen-single-with-deselect span {
  margin-right: 38px; }

.chosen-container-single .chosen-single abbr {
  position: absolute;
  top: 6px;
  right: 26px;
  display: block;
  width: 12px;
  height: 12px;
  background: url("chosen-sprite.png") -42px 1px no-repeat;
  font-size: 1px; }

.chosen-container-single .chosen-single abbr:hover {
  background-position: -42px -10px; }

.chosen-container-single.chosen-disabled .chosen-single abbr:hover {
  background-position: -42px -10px; }

.chosen-container-single .chosen-single div {
  position: absolute;
  top: 0;
  right: 0;
  display: block;
  width: 18px;
  height: 100%; }

.chosen-container-single .chosen-single div b {
  display: block;
  width: 100%;
  height: 100%;
  background: url("chosen-sprite.png") no-repeat 0px 2px; }

.chosen-container-single .chosen-search {
  position: relative;
  z-index: 1010;
  margin: 0;
  padding: 3px 4px;
  white-space: nowrap; }

.chosen-container-single .chosen-search input[type="text"] {
  margin: 1px 0;
  padding: 4px 20px 4px 5px;
  width: 100%;
  height: auto;
  outline: 0;
  border: 1px solid #aaa;
  background: white url("chosen-sprite.png") no-repeat 100% -20px;
  background: url("chosen-sprite.png") no-repeat 100% -20px;
  font-size: 1em;
  font-family: sans-serif;
  line-height: normal;
  border-radius: 0; }

.chosen-container-single .chosen-drop {
  margin-top: -1px;
  border-radius: 0 0 4px 4px;
  background-clip: padding-box; }

.chosen-container-single.chosen-container-single-nosearch .chosen-search {
  position: absolute;
  left: -9999px; }

/* @end */
/* @group Results */
.chosen-container .chosen-results {
  color: #444;
  position: relative;
  overflow-x: hidden;
  overflow-y: auto;
  margin: 0 4px 4px 0;
  padding: 0 0 0 4px;
  max-height: 240px;
  -webkit-overflow-scrolling: touch; }

.chosen-container .chosen-results li {
  display: none;
  margin: 0;
  padding: 5px 6px;
  list-style: none;
  line-height: 15px;
  word-wrap: break-word;
  -webkit-touch-callout: none; }

.chosen-container .chosen-results li.active-result {
  display: list-item;
  cursor: pointer;
  margin-right: 25%; }

.chosen-container .chosen-results li.disabled-result {
  display: list-item;
  color: #ccc;
  cursor: default; }

.chosen-container .chosen-results li.highlighted {
  background-color: #3875d7;
  /*
  background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(20%, #3875d7), color-stop(90%, #2a62bc));
  background-image: -webkit-linear-gradient(#3875d7 20%, #2a62bc 90%);
  background-image: -moz-linear-gradient(#3875d7 20%, #2a62bc 90%);
  background-image: -o-linear-gradient(#3875d7 20%, #2a62bc 90%);
  background-image: linear-gradient(#3875d7 20%, #2a62bc 90%);
*/
  color: #fff; }

.chosen-container .chosen-results li.no-results {
  color: #777;
  display: list-item;
  background: #f4f4f4; }

.chosen-container .chosen-results li.group-result {
  display: list-item;
  font-weight: bold;
  cursor: default; }

.chosen-container .chosen-results li.group-option {
  padding-left: 15px; }

.chosen-container .chosen-results li em {
  font-style: normal;
  text-decoration: underline; }

/* @end */
/* @group Multi Chosen */
.chosen-container-multi .chosen-choices {
  position: relative;
  overflow: hidden;
  margin: 0;
  padding: 0 5px;
  width: 100%;
  height: auto !important;
  height: 1%;
  border: 1px solid #aaa;
  background-color: #fff;
  /*
  background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(1%, #eeeeee), color-stop(15%, #ffffff));
  background-image: -webkit-linear-gradient(#eeeeee 1%, #ffffff 15%);
  background-image: -moz-linear-gradient(#eeeeee 1%, #ffffff 15%);
  background-image: -o-linear-gradient(#eeeeee 1%, #ffffff 15%);
  background-image: linear-gradient(#eeeeee 1%, #ffffff 15%);
*/
  cursor: text; }

.chosen-container-multi .chosen-choices li {
  float: left;
  list-style: none; }

.chosen-container-multi .chosen-choices li.search-field {
  margin: 0;
  padding: 0;
  white-space: nowrap; }

.chosen-container-multi .chosen-choices li.search-field input[type="text"] {
  margin: 1px 0;
  padding: 0;
  height: 25px;
  outline: 0;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none;
  color: #999;
  font-size: 100%;
  font-family: sans-serif;
  line-height: normal;
  border-radius: 0; }

.chosen-container-multi .chosen-choices li.search-choice {
  position: relative;
  margin: 3px 5px 3px 0;
  padding: 3px 20px 3px 5px;
  border: 1px solid #aaa;
  max-width: 100%;
  border-radius: 3px;
  background-color: #eeeeee;
  background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(20%, #f4f4f4), color-stop(50%, #f0f0f0), color-stop(52%, #e8e8e8), color-stop(100%, #eeeeee));
  background-image: -webkit-linear-gradient(#f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eeeeee 100%);
  background-image: -moz-linear-gradient(#f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eeeeee 100%);
  background-image: -o-linear-gradient(#f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eeeeee 100%);
  background-image: linear-gradient(#f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eeeeee 100%);
  background-size: 100% 19px;
  background-repeat: repeat-x;
  background-clip: padding-box;
  box-shadow: 0 0 2px white inset, 0 1px 0 rgba(0, 0, 0, 0.05);
  color: #333;
  line-height: 13px;
  cursor: default; }

.chosen-container-multi .chosen-choices li.search-choice span {
  word-wrap: break-word; }

.chosen-container-multi .chosen-choices li.search-choice .search-choice-close {
  position: absolute;
  top: 4px;
  right: 3px;
  display: block;
  width: 12px;
  height: 12px;
  background: url("chosen-sprite.png") -42px 1px no-repeat;
  font-size: 1px; }

.chosen-container-multi .chosen-choices li.search-choice .search-choice-close:hover {
  background-position: -42px -10px; }

.chosen-container-multi .chosen-choices li.search-choice-disabled {
  padding-right: 5px;
  border: 1px solid #ccc;
  background-color: #e4e4e4;
  background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(20%, #f4f4f4), color-stop(50%, #f0f0f0), color-stop(52%, #e8e8e8), color-stop(100%, #eeeeee));
  background-image: -webkit-linear-gradient(top, #f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eeeeee 100%);
  background-image: -moz-linear-gradient(top, #f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eeeeee 100%);
  background-image: -o-linear-gradient(top, #f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eeeeee 100%);
  background-image: linear-gradient(top, #f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eeeeee 100%);
  color: #666; }

.chosen-container-multi .chosen-choices li.search-choice-focus {
  background: #d4d4d4; }

.chosen-container-multi .chosen-choices li.search-choice-focus .search-choice-close {
  background-position: -42px -10px; }

.chosen-container-multi .chosen-results {
  margin: 0;
  padding: 0; }

.chosen-container-multi .chosen-drop .result-selected {
  display: list-item;
  color: #ccc;
  cursor: default; }

/* @end */
/* @group Active  */
.chosen-container-active .chosen-single {
  border: 1px solid #5897fb;
  box-shadow: 0 0 5px rgba(0, 0, 0, 0.3); }

.chosen-container-active.chosen-with-drop .chosen-single {
  border: 1px solid #aaa;
  -moz-border-radius-bottomright: 0;
  border-bottom-right-radius: 0;
  -moz-border-radius-bottomleft: 0;
  border-bottom-left-radius: 0;
  /*
  background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(20%, #eeeeee), color-stop(80%, #ffffff));
  background-image: -webkit-linear-gradient(#eeeeee 20%, #ffffff 80%);
  background-image: -moz-linear-gradient(#eeeeee 20%, #ffffff 80%);
  background-image: -o-linear-gradient(#eeeeee 20%, #ffffff 80%);
  background-image: linear-gradient(#eeeeee 20%, #ffffff 80%);
*/
  box-shadow: 0 1px 0 #fff inset; }

.chosen-container-active.chosen-with-drop .chosen-single div {
  border-left: none;
  background: transparent; }

.chosen-container-active.chosen-with-drop .chosen-single div b {
  background-position: -18px 2px; }

.chosen-container-active .chosen-choices {
  border: 1px solid #5897fb;
  box-shadow: 0 0 5px rgba(0, 0, 0, 0.3); }

.chosen-container-active .chosen-choices li.search-field input[type="text"] {
  color: #222 !important; }

/* @end */
/* @group Disabled Support */
.chosen-disabled {
  opacity: 0.5 !important;
  cursor: default; }

.chosen-disabled .chosen-single {
  cursor: default; }

.chosen-disabled .chosen-choices .search-choice .search-choice-close {
  cursor: default; }

/* @end */
/* @group Right to Left */
.chosen-rtl {
  text-align: right; }

.chosen-rtl .chosen-single {
  overflow: visible;
  padding: 0 8px 0 0; }

.chosen-rtl .chosen-single span {
  margin-right: 0;
  margin-left: 26px;
  direction: rtl; }

.chosen-rtl .chosen-single-with-deselect span {
  margin-left: 38px; }

.chosen-rtl .chosen-single div {
  right: auto;
  left: 3px; }

.chosen-rtl .chosen-single abbr {
  right: auto;
  left: 26px; }

.chosen-rtl .chosen-choices li {
  float: right; }

.chosen-rtl .chosen-choices li.search-field input[type="text"] {
  direction: rtl; }

.chosen-rtl .chosen-choices li.search-choice {
  margin: 3px 5px 3px 0;
  padding: 3px 5px 3px 19px; }

.chosen-rtl .chosen-choices li.search-choice .search-choice-close {
  right: auto;
  left: 4px; }

.chosen-rtl.chosen-container-single-nosearch .chosen-search,
.chosen-rtl .chosen-drop {
  left: 9999px; }

.chosen-rtl.chosen-container-single .chosen-results {
  margin: 0 0 4px 4px;
  padding: 0 4px 0 0; }

.chosen-rtl .chosen-results li.group-option {
  padding-right: 15px;
  padding-left: 0; }

.chosen-rtl.chosen-container-active.chosen-with-drop .chosen-single div {
  border-right: none; }

.chosen-rtl .chosen-search input[type="text"] {
  padding: 4px 5px 4px 20px;
  background: white url("chosen-sprite.png") no-repeat -30px -20px;
  background: url("chosen-sprite.png") no-repeat -30px -20px;
  direction: rtl; }

.chosen-rtl.chosen-container-single .chosen-single div b {
  background-position: 6px 2px; }

.chosen-rtl.chosen-container-single.chosen-with-drop .chosen-single div b {
  background-position: -12px 2px; }

/* Retina compatibility */
@media only screen and (-webkit-min-device-pixel-ratio: 1.5), only screen and (min-resolution: 144dpi), only screen and (min-resolution: 1.5dppx) {
  .chosen-rtl .chosen-search input[type="text"],
  .chosen-container-single .chosen-single abbr,
  .chosen-container-single .chosen-single div b,
  .chosen-container-single .chosen-search input[type="text"],
  .chosen-container-multi .chosen-choices .search-choice .search-choice-close,
  .chosen-container .chosen-results-scroll-down span,
  .chosen-container .chosen-results-scroll-up span {
    background-image: url("chosen-sprite@2x.png") !important;
    background-size: 52px 37px !important;
    background-repeat: no-repeat !important; } }

* {
  outline: 0; }

.cf:after {
  content: "";
  display: table;
  clear: both; }

.no-break {
  white-space: nowrap; }

.no-display {
  display: none; }

svg {
  display: block;
  max-width: 100%; }

path {
  fill: transparent; }

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

.u-text-align-right {
  text-align: right; }

.u-margin-top-20 {
  margin-top: 20px; }

/* Color from TSF site */
html {
  background: #f7f7f7; }

.hidden {
  display: none; }

.tsf-header {
  background: #1e2e50;
  padding: 0px 10px 0 5px;
  position: relative; }

@media (min-width: 600px) {
  .tsf-header {
    padding: 3px 10px 0 10px; } }

.tsf-header__logo-link {
  display: inline-block;
  max-width: 130px;
  margin-top: 5px; }

@media (min-width: 600px) {
  .tsf-header__logo-link {
    max-width: 178px;
    margin-top: 0; } }

.tsf-header__logo {
  display: inline-block;
  max-width: 100%; }

.tsf-header__title {
  color: #fff;
  font-family: 'Merriweather', serif;
  font-size: 24px;
  font-weight: 700;
  margin: 0 0 9px 8px;
  vertical-align: middle; }

@media (min-width: 480px) {
  .tsf-header__title {
    display: inline-block;
    margin-left: 40px;
    margin-top: 10px;
    width: 180px; } }

@media (min-width: 690px) {
  .tsf-header__title {
    font-size: 28px;
    width: auto; } }

@media (min-width: 800px) {
  .tsf-header__title {
    font-size: 36px;
    margin-left: 60px; } }

@media (min-width: 1000px) {
  .tsf-header__title {
    font-size: 44px;
    margin-left: 90px; } }

.tsf-header__about-this-map {
  color: #fff;
  display: block;
  font-size: 12px;
  text-transform: uppercase;
  margin-left: 8px;
  padding-bottom: 10px; }

@media (min-width: 480px) {
  .tsf-header__about-this-map {
    float: right;
    padding-top: 40px; } }

@media (min-width: 1000px) {
  .tsf-header__about-this-map {
    font-size: 14px; } }

.main {
  background: #fff; }

.breadcrumb {
  font-family: 'Merriweather', serif;
  font-size: .7em;
  line-height: 2.2;
  min-height: 4em;
  padding: 10px 10px 10px 10px; }

@media (min-width: 600px) {
  .breadcrumb {
    font-size: .8em;
    padding: 14px 24px 10px 24px; } }

.breadcrumb__node[data-breadcrumb-national] {
  font-weight: bold;
  font-size: 1.3em; }

.breadcrumb__node {
  color: #2878da;
  margin: 0 0.5em 0 0;
  text-transform: capitalize;
  white-space: nowrap; }

.breadcrumb__node:hover {
  text-decoration: underline; }

.breadcrumb__node--current {
  color: #000;
  text-decoration: none; }

.breadcrumb__node--current:hover {
  text-decoration: none; }

.breadcrumb__node:first-child,
.national-locality-button:first-child,
.state-locality-button:first-child {
  margin-left: 0; }

/**********************************

	DATA PANEL

***********************************/
.jobs-wrapper {
  background: #f7f7f7;
  min-height: 400px;
  padding: 20px 10px; }

@media (min-width: 600px) {
  .jobs-wrapper {
    padding-left: 24px;
    padding-right: 24px; } }

.jobs-select {
  color: #666;
  font-family: 'Montserrat', sans-serif;
  font-size: 12px;
  font-weight: 700;
  margin-bottom: 20px;
  text-transform: uppercase;
  width: 440px !important; }

select.jobs-select {
  background: #fcfcfc;
  border: 1px solid #aaa;
  height: 36px;
  padding: 0 11px;
  position: relative; }

select.jobs-select:after {
  background: url("chosen-sprite.png") no-repeat 0px 2px;
  display: block;
  height: 100%;
  right: 6px;
  width: 13px; }

.jobs-select > .chosen-single {
  background: #fcfcfc;
  border-radius: 3px;
  box-shadow: 0px 1.5px 6px 0px rgba(0, 0, 0, 0.12);
  color: #666;
  height: 36px;
  line-height: 36px; }

.chosen-container-single .chosen-single div {
  right: 6px;
  width: 13px; }

.chosen-container-single .chosen-single div b {
  background-position: 0px 7px; }

.sector-buttons {
  display: none;
  /* Initial setting to avoid FOUC on load. */
  margin-bottom: 16px; }

.sector-button {
  background: #fcfcfc;
  border: 1px solid #ccc;
  border-radius: 3px;
  box-shadow: 0px 1.5px 6px 0px rgba(0, 0, 0, 0.12);
  color: #666;
  float: left;
  font-family: 'Montserrat', sans-serif;
  font-weight: 700;
  font-size: 12px;
  height: 50px;
  line-height: 19px;
  margin: 0 12px 12px 0;
  padding: 0 10px 0 42px;
  position: relative;
  text-align: left;
  text-transform: uppercase;
  width: 166px; }

.sector-button--active {
  color: #222;
  border: 1px solid #888; }

.sector-button__indicator {
  background: #fff;
  border: 1px solid #666;
  border-radius: 50px;
  position: absolute;
  top: 15px;
  left: 13px;
  height: 16px;
  width: 16px; }

.sector-button--active > .sector-button__indicator:after {
  border: 2px solid #fff;
  border-radius: 50px;
  content: "";
  height: 14px;
  width: 14px;
  position: absolute;
  top: 0;
  left: 0; }

.sector-button--install {
  background: #d5edff; }

.sector-button--manuf {
  background: #ffe7c7; }

.sector-button--sales {
  background: #d9f1d5; }

.sector-button--devel {
  background: #d2f1f4; }

.sector-button--other {
  background: #ffe1ed; }

.sector-button--active >
.sector-button__indicator--install:after {
  background: #0088cf; }

.sector-button--active >
.sector-button__indicator--manuf:after {
  background: #b77200; }

.sector-button--active >
.sector-button__indicator--sales:after {
  background: #75ad23; }

.sector-button--active >
.sector-button__indicator--devel:after {
  background: #20b6ad; }

.sector-button--active >
.sector-button__indicator--other:after {
  background: #cf0096; }

.sector-button--wholesale {
  background: #d9f1d5; }

.sector-button--operations {
  background: #d2f1f4; }

.sector-button--storage {
  background: #e0deff; }

.sector-button--active >
.sector-button__indicator--wholesale:after {
  background: #75ad23; }

.sector-button--active >
.sector-button__indicator--operations:after {
  background: #20b6ad; }

.sector-button--active >
.sector-button__indicator--storage:after {
  background: #484d90; }

/* DESKTOP TWO BUTTON WIDTH SIDEBAR */
@media (min-width: 960px) and (min-height: 680px) {
  .main {
    float: left;
    width: calc(100% - 400px); }
  .jobs-wrapper {
    position: absolute;
    top: 102px;
    right: 0;
    padding: 20px;
    width: 400px; }
  .legend__colors {
    max-width: calc(100% - 270px); }
  .legend__inspector {
    width: 270px; }
  .jobs-select {
    width: 100% !important; } }

/* DESKTOP THREE BUTTON WIDTH SIDEBAR WITH TIGHT PADDING */
@media (min-width: 1100px) and (min-height: 680px) {
  .main {
    width: calc(100% - 546px); }
  .jobs-wrapper {
    padding: 20px 12px;
    width: 546px; }
  .sector-button:nth-child(3n) {
    margin-right: 0; } }

/* WIDE DESKTOP ADD PADDING TO SIDEBAR */
@media (min-width: 1400px) and (min-height: 680px) {
  .main {
    width: calc(100% - 562px); }
  .jobs-wrapper {
    padding: 20px;
    width: 562px; }
  .legend__colors {
    max-width: calc(100% - 490px); }
  .legend__inspector {
    width: 490px; } }

/* ULTRA WIDE DESKTOP */
@media (min-width: 1900px) and (min-height: 680px) {
  .main {
    width: calc(100% - 918px); }
  .jobs-wrapper {
    width: 918px; }
  .sector-button.sector-button {
    margin: 0 12px 12px 0; } }

/* Avoid jump in height when menus switch */
.locality-buttons-wrapper {
  font-family: 'Merriweather', serif;
  min-height: 100px;
  /* empirical */
  position: relative; }

@media (min-width: 1400px) {
  .locality-buttons-wrapper {
    min-height: 52px; } }

.national-locality-buttons {
  position: absolute;
  top: 0;
  left: 0; }

.national-locality-buttons,
.state-locality-buttons {
  padding: 0 10px 0 10px; }

@media (min-width: 600px) {
  .national-locality-buttons,
  .state-locality-buttons {
    padding-left: 24px;
    padding-right: 24px; } }

.state-county-view-mode .national-locality-buttons,
.state-congress-view-mode .national-locality-buttons,
.state-lower-house-view-mode .national-locality-buttons,
.state-upper-house-view-mode .national-locality-buttons,
.state-msa-view-mode .national-locality-buttons {
  display: none; }

.national-locality-button,
.state-locality-button {
  background: #fcfcfc;
  border: 1px solid #ccc;
  border-radius: 3px;
  box-shadow: 0px 1.5px 6px 0px rgba(0, 0, 0, 0.12);
  color: #666;
  cursor: pointer;
  float: left;
  font-family: 'Montserrat', sans-serif;
  font-weight: 700;
  font-size: 9.75px;
  height: 36px;
  line-height: 19px;
  margin: 0 12px 12px 0;
  padding: 0 3px;
  position: relative;
  text-align: left;
  text-transform: uppercase; }

@media (max-width: 366px) {
  .national-locality-button,
  .state-locality-button {
    font-size: 8px;
    padding: 0 3px;
    height: 24px;
    line-height: 12px;
    margin: 0 3px 3px 0;
    padding: 0 2px; } }

@media (max-width: 404px) {
  .national-locality-button,
  .state-locality-button {
    font-size: 10 px;
    padding: 0 6px; } }

@media (min-width: 600px) {
  .national-locality-button,
  .state-locality-button {
    font-size: 12px;
    padding: 0 10px; } }

.state-locality-button--upper-house {
  margin-right: 0; }

.state-locality-buttons {
  opacity: 0;
  overflow: hidden;
  transition: opacity 1s;
  visibility: hidden; }

.state-locality-buttons--show {
  opacity: 1;
  visibility: visible; }

/* Active styles on geography buttons. */
.national-state-view-mode .national-locality-button--state,
.national-division-view-mode .national-locality-button--division,
.national-county-view-mode .national-locality-button--county,
.national-msa-view-mode .national-locality-button--msa,
.national-congress-view-mode .national-locality-button--congress,
.state-msa-view-mode .state-locality-button--msa,
.state-county-view-mode .state-locality-button--county,
.state-congress-view-mode .state-locality-button--congress,
.state-lower-house-view-mode .state-locality-button--lower-house,
.state-upper-house-view-mode .state-locality-button--upper-house {
  background: #ddd;
  color: #222;
  pointer-events: none;
  /* Don't "link" to current state. */ }

.locality-button--hidden {
  display: none; }

[data-chloro="null"] {
  fill: #888; }

.legend__color-bar-item--null {
  background: #888; }

[data-chloro="y0"],
[data-chloro="r0"],
[data-chloro="b0"],
[data-chloro="o0"],
[data-chloro="g0"],
[data-chloro="t0"],
[data-chloro="m0"] {
  fill: #ddd; }

[data-legend-chloro="y0"],
[data-legend-chloro="r0"],
[data-legend-chloro="b0"],
[data-legend-chloro="o0"],
[data-legend-chloro="g0"],
[data-legend-chloro="t0"],
[data-legend-chloro="m0"] {
  background: #ddd; }

/* Yellow to Red */
[data-chloro="y1"] {
  fill: #f3ebb7; }

[data-chloro="y2"] {
  fill: #fecc5c; }

[data-chloro="y3"] {
  fill: #fd8d3c; }

[data-chloro="y4"] {
  fill: #f03b20; }

[data-chloro="y5"] {
  fill: #bd0026; }

[data-legend-chloro="y1"] {
  background: #f3ebb7; }

[data-legend-chloro="y2"] {
  background: #fecc5c; }

[data-legend-chloro="y3"] {
  background: #fd8d3c; }

[data-legend-chloro="y4"] {
  background: #f03b20; }

[data-legend-chloro="y5"] {
  background: #bd0026; }

/* Red */
[data-chloro="r1"] {
  fill: #ffe4d5; }

[data-chloro="r2"] {
  fill: #f1a296; }

[data-chloro="r3"] {
  fill: #f26065; }

[data-chloro="r4"] {
  fill: #c60009; }

[data-chloro="r5"] {
  fill: #930010; }

[data-legend-chloro="r1"] {
  background: #ffe4d5; }

[data-legend-chloro="r2"] {
  background: #f1a296; }

[data-legend-chloro="r3"] {
  background: #f26065; }

[data-legend-chloro="r4"] {
  background: #c60009; }

[data-legend-chloro="r5"] {
  background: #930010; }

/* Blue */
[data-chloro="b1"] {
  fill: #d5edff; }

[data-chloro="b2"] {
  fill: #99d8fa; }

[data-chloro="b3"] {
  fill: #53bff8; }

[data-chloro="b4"] {
  fill: #0088cf; }

[data-chloro="b5"] {
  fill: #1c6b99; }

[data-legend-chloro="b1"] {
  background: #d5edff; }

[data-legend-chloro="b2"] {
  background: #99d8fa; }

[data-legend-chloro="b3"] {
  background: #53bff8; }

[data-legend-chloro="b4"] {
  background: #0088cf; }

[data-legend-chloro="b5"] {
  background: #1c6b99; }

/* Orange */
[data-chloro="o1"] {
  fill: #ffe7c7; }

[data-chloro="o2"] {
  fill: #f9ae75; }

[data-chloro="o3"] {
  fill: #ef932b; }

[data-chloro="o4"] {
  fill: #b77200; }

[data-chloro="o5"] {
  fill: #aa5309; }

[data-legend-chloro="o1"] {
  background: #ffe7c7; }

[data-legend-chloro="o2"] {
  background: #f9ae75; }

[data-legend-chloro="o3"] {
  background: #ef932b; }

[data-legend-chloro="o4"] {
  background: #b77200; }

[data-legend-chloro="o5"] {
  background: #aa5309; }

/* Green */
[data-chloro="g1"] {
  fill: #d9f1d5; }

[data-chloro="g2"] {
  fill: #bfdb8c; }

[data-chloro="g3"] {
  fill: #9acd4d; }

[data-chloro="g4"] {
  fill: #75ad23; }

[data-chloro="g5"] {
  fill: #648629; }

[data-legend-chloro="g1"] {
  background: #d9f1d5; }

[data-legend-chloro="g2"] {
  background: #bfdb8c; }

[data-legend-chloro="g3"] {
  background: #9acd4d; }

[data-legend-chloro="g4"] {
  background: #75ad23; }

[data-legend-chloro="g5"] {
  background: #648629; }

/* Teal */
[data-chloro="t1"] {
  fill: #d2f1f4; }

[data-chloro="t2"] {
  fill: #aeede7; }

[data-chloro="t3"] {
  fill: #61ded7; }

[data-chloro="t4"] {
  fill: #20b6ad; }

[data-chloro="t5"] {
  fill: #1a8d7f; }

[data-legend-chloro="t1"] {
  background: #d2f1f4; }

[data-legend-chloro="t2"] {
  background: #aeede7; }

[data-legend-chloro="t3"] {
  background: #61ded7; }

[data-legend-chloro="t4"] {
  background: #20b6ad; }

[data-legend-chloro="t5"] {
  background: #1a8d7f; }

/* Magenta */
[data-chloro="m1"] {
  fill: #ffe1ed; }

[data-chloro="m2"] {
  fill: #f79cdc; }

[data-chloro="m3"] {
  fill: #f262ca; }

[data-chloro="m4"] {
  fill: #cf0096; }

[data-chloro="m5"] {
  fill: #930f77; }

[data-legend-chloro="m1"] {
  background: #ffe1ed; }

[data-legend-chloro="m2"] {
  background: #f79cdc; }

[data-legend-chloro="m3"] {
  background: #f262ca; }

[data-legend-chloro="m4"] {
  background: #cf0096; }

[data-legend-chloro="m5"] {
  background: #930f77; }

/* Purple */
.map-wrapper {
  border-box: content-box;
  height: 0;
  padding-top: 57.2916%;
  /* Based on SVG proportions of 550 x 960 */
  position: relative;
  border-top: 1px solid #ccc;
  border-bottom: 1px solid #ccc; }

@keyframes spin {
  0% {
    transform: rotate(0); }
  100% {
    transform: rotate(360deg); } }

.map__loader {
  position: absolute;
  top: 50%;
  left: 50%;
  margin: -30px 0 0 -30px;
  opacity: 0.5;
  animation: spin 2s linear infinite; }

.map {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%; }

.map__background {
  fill: none;
  pointer-events: all; }

.map__states,
.map__state-borders,
.map__counties,
.map__county,
.map__county-borders,
.map__national-congress-districts,
.map__national-congress-borders,
.map__congress-districts,
.map__congress-borders,
.map__msas,
.map__msa-borders,
.map__divisions,
.map__division-borders,
.map__state__additional {
  display: none; }

.map__states,
.map__counties,
.map__msas,
.map__divisions,
.map__congress,
.map__national-congress
.map__lower-house,
.map__upper-house {
  cursor: pointer; }

.map__locality-borders {
  fill: none;
  stroke-linejoin: round;
  stroke-linecap: round;
  pointer-events: none; }

.map__county {
  opacity: 0;
  transition: opacity .5s; }

.map__msa {
  cursor: default;
  stroke: #888; }

.map__loading .map__national {
  fill: #ddd; }

.map__loading .map__state-borders {
  display: block;
  stroke: #fff; }

/* NATIONAL VIEW: STATE */
.national-state-view-mode .map__states,
.national-state-view-mode .map__state-borders {
  display: block; }

.map__states {
  fill: #aaa; }

.national-state-view-mode .map__state-borders {
  stroke: #888; }

/* NATIONAL VIEW: DIVISION */
.national-division-view-mode .map__divisions,
.national-division-view-mode .map__division-borders {
  display: block; }

.national-division-view-mode .map__divisions .map__active {
  stroke: #537acd; }

.national-division-view-mode .map__division-border {
  stroke: #888;
  stroke-width: 1; }

/* NATIONAL VIEW: COUNTY */
.national-county-view-mode .map__counties,
.national-county-view-mode .map__county-borders,
.national-county-view-mode .map__county {
  display: block; }

.map__counties {
  fill: #aaa; }

.map__county {
  opacity: 1; }

.national-county-view-mode .map__counties .map__active {
  stroke: #537acd; }

.map__county-borders {
  stroke: #888; }

/* NATIONAL VIEW: MSA */
.national-msa-view-mode .map__states,
.national-msa-view-mode .map__state-borders,
.national-msa-view-mode .map__msas,
.national-msa-view-mode .map__msa-borders {
  display: block; }

.national-msa-view-mode .map__states,
.national-msa-view-mode .map__state-borders {
  cursor: default;
  /* Clicks get caught on state then ignored in script.
		Don't use pointer events here or the click falls through to the containing rect causing zoom-out. */ }

.national-msa-view-mode .map__state {
  fill: #aaa; }

.national-msa-view-mode .map__state-borders {
  stroke: #ddd; }

.map__msa[data-chloro="null"] {
  display: none; }

.map__msa-borders {
  stroke: #333; }

/* NATIONAL VIEW: CONGRESS */
.national-congress-view-mode .map__national-congress-districts,
.national-congress-view-mode .map__national-congress-borders {
  display: block; }

.national-congress-view-mode .map__national-congress-borders {
  stroke: #888; }

.national-congress-view-mode .map__national-congress-districts > .map__active {
  stroke: #537acd; }

.map__national-congress-view-mode[data-chloro="null"] {
  display: none; }

/*
	STATE VIEWS
*/
.state-county-view-mode .map__states,
.state-county-view-mode .map__state-borders,
.state-congress-view-mode .map__states,
.state-congress-view-mode .map__state-borders,
.state-lower-house-view-mode .map__states,
.state-lower-house-view-mode .map__state-borders,
.state-upper-house-view-mode .map__states,
.state-upper-house-view-mode .map__state-borders,
.state-msa-view-mode .map__states,
.state-msa-view-mode .map__state-borders {
  display: block; }

.state-county-view-mode .map__state-borders,
.state-congress-view-mode .map__state-borders,
.state-msa-view-mode .map__state-borders,
.state-lower-house-view-mode .map__state-borders,
.state-upper-house-view-mode .map__state-borders {
  stroke: #fff; }

.state-county-view-mode .map__state,
.state-msa-view-mode .map__state,
.state-congress-view-mode .map__state,
.state-lower-house-view-mode .map__state,
.state-upper-house-view-mode .map__state {
  fill: #aaa; }

/* STATE VIEW: COUNTY */
/* Show the counties group, but continue to hide all counties individually. */
.state-county-view-mode .map__counties {
  display: block; }

/* Then reveal the counties within the state. */
.state-county-view-mode .map__county--show {
  display: block;
  opacity: 1;
  stroke: #666; }

.state-county-view-mode .map__counties > .map__active {
  stroke: #537acd; }

/* STATE VIEW: ADDITIONAL */
.state-congress-view-mode .map__state__additional,
.state-msa-view-mode .map__state__additional,
.state-lower-house-view-mode .map__state__additional,
.state-upper-house-view-mode .map__state__additional {
  display: block; }

.state-congress-view-mode .map__state__additional > .map__active,
.state-msa-view-mode .map__state__additional > .map__active,
.state-lower-house-view-mode .map__state__additional > .map__active,
.state-upper-house-view-mode .map__state__additional > .map__active {
  stroke: #537acd;
  /* policy blue */ }

/* STATE VIEW: MSA */
.state-msa-view-mode .map__states,
.state-msa-view-mode .map__state-borders,
.state-msa-view-mode .map__msas,
.state-msa-view-mode .map__msa-borders {
  display: block; }

.state-msa-view-mode .map__states,
.state-msa-view-mode .map__state-borders {
  cursor: default;
  /* Clicks get caught on state then ignored in script.
		Don't use pointer events here or the click falls through to the containing rect causing zoom-out. */ }

.state-msa-view-mode .map__state {
  fill: #aaa; }

.state-msa-view-mode .map__state-borders {
  stroke: #ddd; }

.state-msa-view-mode .map__msas > .map__active {
  stroke: #537acd; }

.state-msa-view-mode .map__congress,
.state-msa-view-mode .map__upper-house,
.state-msa-view-mode .map__lower-house {
  display: none !important; }

.map__msa[data-chloro="null"] {
  display: none; }

.map__msa-borders {
  display: none; }

/* STATE VIEW: ADDITIONAL */
.state-congress-view-mode .map__state__additional,
.state-msa-view-mode .map__state__additional,
.state-lower-house-view-mode .map__state__additional,
.state-upper-house-view-mode .map__state__additional {
  display: block; }

.state-congress-view-mode .map__state__additional > .map__active,
.state-msa-view-mode .map__state__additional > .map__active,
.state-lower-house-view-mode .map__state__additional > .map__active,
.state-upper-house-view-mode .map__state__additional > .map__active {
  stroke: #537acd;
  /* policy blue */ }

/* STATE VIEW: DISTRICTS (loaded dynamically and overwritten when changed) */
.map__congress,
.map__lower-house,
.map__upper-house {
  stroke: #666; }

.year-2015-view-mode .map__state-puerto-rico,
.year-2016-view-mode .map__state-puerto-rico,
.year-2017-view-mode .map__state-puerto-rico,
.state-puerto-rico-view-mode .year-2015,
.state-puerto-rico-view-mode .year-2015-separator,
.state-puerto-rico-view-mode .year-2016,
.state-puerto-rico-view-mode .year-2016-separator,
.state-puerto-rico-view-mode .year-2017,
.state-puerto-rico-view-mode .year-2017-separator {
  display: none; }

.training-locations {
  max-height: 100px;
  overflow: hidden;
  padding: 10px 10px 10px 10px;
  transition: max-height .25s, padding .25s; }

@media (min-width: 600px) {
  .training-locations {
    padding-left: 24px;
    padding-right: 24px; } }

.training-locations--hide {
  padding-top: 0;
  padding-bottom: 0;
  pointer-events: none;
  max-height: 0; }

.training-locations__link,
.training-locations__link:visited {
  color: #326cff;
  cursor: pointer;
  font-size: 0.85em; }

.training-locations__link:hover {
  text-decoration: underline; }

.data-totals__value-name {
  font-size: 22px;
  font-weight: bold;
  margin: .4em 0;
  min-height: 33px; }

.data-totals__group {
  border-bottom: 1px dashed #2c2c2c;
  margin: 0 0 1em;
  min-height: 100px;
  overflow: hidden;
  transition: min-height .4s; }

@media (min-width: 1900px) {
  .national-msa-view-mode .data-totals__group {
    min-height: 135px; } }

.data-totals__parent-territory {
  clear: both;
  float: left;
  padding: 0 12px 0 0;
  width: 50%; }

.data-totals__hovered-territory {
  border-left: 1px dashed #2c2c2c;
  float: right;
  min-height: 82px;
  padding: 0 0 0 12px;
  width: 50%; }

.data-totals__hovered-territory--hidden {
  display: none; }

.data-totals__parent-territory__value,
.data-totals__hovered-territory__value {
  font-size: 1.75em; }

.data-totals__parent-territory__name,
.data-totals__hovered-territory__name {
  font-size: 1.2em; }

.data-panel-wrapper {
  min-height: 70px;
  padding-top: 1em; }

.data-panel-wrapper--border {
  border-top: 1px dashed #2c2c2c; }

.fact-sheet-link,
.fact-sheet-link:visited {
  color: #326cff;
  float: right;
  margin-top: 5px;
  text-align: right; }

.fact-sheet-link:hover {
  text-decoration: underline; }

.fact-sheet-link__text {
  font-size: 20px; }

.data-panel {
  font-size: 0.9em; }

@media (min-width: 400px) {
  .data-panel {
    font-size: 0.95em; } }

@media (min-width: 600px) {
  .data-panel {
    font-size: 1em; } }

.data-panel__header__place-name {
  display: inline;
  font-size: 1.75em; }

.data-panel__header__rank {
  font-size: .7em; }

.data-panel__item {
  border-bottom: 1px solid #bababa;
  padding: 2px 0 4px 0; }

.data-panel__item__data {
  display: inline-block;
  width: calc(100% - 48px); }

.data-panel__item__data__value {
  font-weight: bold;
  padding-right: 16px;
  vertical-align: top; }

.data-panel__item__data__value--job-count {
  text-align: right; }

.data-panel__item__data__title {
  display: inline-block; }

.data-panel__total-jobs {
  font-size: 1.3em; }

.data-panel__item__data--indent > .data-panel__item__data__value,
.data-panel__item__data--indent > .data-panel__item__data__title {
  position: relative;
  right: -2em; }

.data-panel__item__data--indent > .data-panel__item__data__title {
  padding-right: 2em; }

.data-panel__pie-chart-wrapper {
  font-size: .9em;
  padding: 14px 0; }

@media (min-width: 400px) {
  .data-panel__pie-chart-wrapper {
    padding: 20px 0; } }

.data-panel__pie-chart {
  display: inline-block;
  height: 74px;
  padding: 0;
  position: relative;
  top: 5px;
  vertical-align: top;
  width: 74px; }

.data-panel__pie-chart__svg {
  height: 74px;
  width: 74px; }

.data-panel__pie-chart-texts {
  display: inline-block;
  width: calc(100% - 74px); }

.data-panel__pie-chart-text-item__value {
  display: inline-block;
  padding-right: .5em;
  width: 3.5em;
  text-align: right; }

.data-panel__pie-chart-text-item__swatch-wrapper {
  vertical-align: top; }

.data-panel__pie-chart-text-item__swatch {
  display: inline-block;
  height: 1.1em;
  position: relative;
  top: 3px;
  width: 1em; }

.data-panel__pie-chart-text-item__label {
  padding-left: 3px; }

@media (min-width: 400px) {
  .data-panel__pie-chart {
    height: 100px;
    padding: 0 10px;
    width: 120px; }
  .data-panel__pie-chart__svg {
    height: 100px;
    width: 100px; }
  .data-panel__pie-chart-texts {
    width: calc(100% - 120px); } }

@media (min-width: 400px) {
  .data-panel__pie-chart {
    height: 100px;
    padding: 0 10px;
    width: 120px; }
  .data-panel__pie-chart__svg {
    height: 100px;
    width: 100px; }
  .data-panel__pie-chart-texts {
    width: calc(100% - 120px); } }

@media (min-width: 1900px) {
  .data-panel__pie-chart {
    padding: 0 20px;
    width: 140px; }
  .data-panel__pie-chart-texts {
    width: calc(100% - 140px); } }

.data-panel__pie-chart--has-install-subsectors .pie-wedge {
  stroke: #fff; }

.data-panel__item__data--unranked {
  width: 100%; }

.data-panel__demographics {
  clear: both;
  padding-bottom: 28px; }

.data-panel__demographics__header {
  font-weight: bold;
  font-size: 1.1em;
  margin-top: 1em; }

.demographic-item {
  font-size: .9em; }

.demographic-item__group {
  display: inline-block;
  padding-right: 1em;
  text-align: right;
  width: 17.8em; }

.demographic-item__value {
  display: inline-block;
  width: 3.6em; }

.demographic-item__bar-wrapper {
  display: inline-block;
  position: relative;
  top: 3px;
  width: calc(100% - 21.5em); }

.demographic-item__bar {
  background: #1e2e50;
  height: 18px;
  transform-origin: left top; }

.about-the-data-link-wrapper {
  clear: both;
  padding: 1em 0; }

.about-the-data-link {
  color: #326cff;
  display: block;
  margin: 12px 0px;
  font-size: 20px;
  text-align: right; }

.about-the-data-link:hover {
  text-decoration: underline; }

#powered-by-kevala-link {
  margin-top: 30px;
  font-size: .8em; }

#powered-by-kevala-link img {
  width: 30px;
  height: 30px;
  vertical-align: bottom;
  margin: -18px -7px 4px 0px; }

.division-qual-panel {
  background: #D7F1FF;
  display: none;
  padding: 10px; }

.division-qual__heading {
  background: #D7F1FF;
  padding: 10px; }

.division-qual__heading__division-name {
  font-size: 1.1em; }

.division-qual__heading__employment-data {
  font-size: 1.5em; }

.division-qual__entry {
  border-top: 4px double #fff;
  padding: 12px 18px; }

.division-qual__entry__question {
  font-weight: bold; }

.division-qual__entry__answer__text {
  display: inline-block;
  padding-right: 1em;
  text-align: right;
  width: 14em; }

.division-qual__entry__answer__value {
  display: inline-block;
  width: calc(100% - 14em); }

.solar-school-map {
  margin-right: auto; }

.solar-school-map-link {
  font-size: 20px;
  margin-left: 20px; }

@media (min-width: 500px) {
  .division-qual__entry__answer__text {
    width: 18em; }
  .division-qual__entry__answer__value {
    width: calc(100% - 18em); } }

@media (min-width: 800px) {
  .division-qual__entry__answer__text {
    width: 26em; }
  .division-qual__entry__answer__value {
    width: calc(100% - 26em); } }

.legend {
  border-bottom: 1px solid #ccc;
  padding: 7px 10px 10px 10px; }

@media (min-width: 600px) {
  .legend {
    padding: 14px 24px 10px 24px; } }

.legend__colors {
  color: #444;
  max-width: 100%;
  vertical-align: top; }

.legend__colors-title {
  font-weight: bold;
  height: 30px;
  line-height: 30px;
  margin: 0 0 10px 0;
  min-width: 155px; }

@media (min-width: 800px) {
  .legend__colors-title {
    display: inline-block;
    margin-right: 50px; } }

.legend__groups,
.legend__group {
  display: inline-block; }

.legend__groups {
  margin: 0 0 10px 0; }

.legend__colors-endpoint-number {
  display: inline-block;
  height: 30px;
  line-height: 30px;
  padding: 0 10px;
  vertical-align: middle; }

.legend__colors-endpoint-number--low {
  padding-left: 0;
  text-align: right; }

@media (min-width: 500px) {
  .legend__group--main-chloro {
    margin-right: 70px;
    min-width: 300px; } }

.legend__color-bar {
  border: 1px solid #888;
  display: inline-block;
  line-height: 0;
  vertical-align: middle; }

.legend__color-bar-item {
  display: inline-block;
  height: 20px;
  width: 20px; }

@media (min-width: 600px) {
  .legend__color-bar-item {
    height: 28px;
    width: 28px; } }

.legend__color-bar-item + .legend__color-bar-item {
  border-left: 1px solid #888; }

.legend__color-bar--null {
  border: 0; }

.legend__color-bar-item--null {
  border: 1px solid #888; }

.breakdown-per-capita-view-mode .legend__color-bar-item-0 {
  display: none; }

.breakdown-per-capita-view-mode .legend__color-bar-item-1 {
  border-left: 0; }

.top-ranked__header {
  clear: both;
  font-size: 1.1em;
  font-weight: bold;
  margin-bottom: 1em; }

.top-ranked__locations {
  padding-bottom: 10px; }

.top-ranked__location {
  border-bottom: 1px solid #bababa;
  padding: 4px 0 5px 0; }

.top-ranked__location:last-child {
  border-bottom: 0; }

.top-ranked__location-name {
  font-size: 13.5px;
  letter-spacing: -.35px;
  line-height: 18.5px;
  min-height: 20px; }

.top-ranked__location__bar-wrapper {
  height: 20px;
  width: calc(100% - 4em); }

.top-ranked__location__bar {
  height: 20px;
  position: relative; }

.top-ranked__location__value {
  font-size: 14px;
  height: 20px;
  position: absolute;
  top: 0;
  right: -6px;
  transform: translate(100%, 0);
  /* Adjust relative to its own width, for alignment. */ }

.year-selected {
  color: #3553ce; }

.year-unselected {
  color: #777777; }

.year-toggle-button {
  pointer-events: none; }

.year-toggle-button > button {
  padding-right: .3em;
  padding-left: .3em;
  pointer-events: all; }

@media (min-width: 350px) {
  .top-ranked__locations {
    font-size: 0.95em;
    padding-right: 56px;
    padding-bottom: 20px; }
  .top-ranked__location {
    border-bottom: 0;
    padding: 0 0 4px 0; }
  .top-ranked__location-name {
    display: inline-block;
    line-height: 18.5px;
    min-height: 20px;
    padding-right: 6px;
    position: relative;
    text-align: right;
    top: -3px;
    vertical-align: middle;
    width: 13em; }
  .top-ranked__location__bar-wrapper {
    display: inline-block;
    height: 20px;
    width: calc(100% - 13em); }
  .national-msa-view-mode .top-ranked__location-name {
    width: 19em; }
  .national-msa-view-mode .top-ranked__location__bar-wrapper {
    width: calc(100% - 19em); } }

.top-ranked__locations--sector {
  padding-right: 30px; }

.top-ranked-sector__location {
  padding-top: 5px; }

.top-ranked-sector__location-name {
  display: inline-block;
  font-size: 14px;
  line-height: 20px;
  min-height: 20px;
  padding-right: 6px;
  position: relative;
  text-align: right;
  top: -3px;
  vertical-align: top;
  width: 143px; }

.top-ranked-sector__location__bar-wrapper {
  display: inline-block;
  height: 20px;
  vertical-align: top;
  width: calc(100% - 143px); }

.top-ranked-sector__unselected-sectors,
.top-ranked-sector__selected-sectors {
  display: inline-block;
  vertical-align: top; }

.top-ranked-sector__unselected-sectors {
  text-align: right;
  width: calc(50% - 1px); }

.top-ranked-sector__selected-sectors {
  width: 50%; }

.top-ranked-sector__unselected-sector,
.top-ranked-sector__selected-sector {
  display: inline-block;
  height: 20px;
  position: relative; }

.top-ranked-sector__location__value {
  font-size: 14px;
  height: 20px;
  position: absolute;
  top: 0;
  right: -6px;
  transform: translate(100%, 0);
  /* Adjust relative to its own width, for alignment. */ }

.top-ranked-sector__vertical-line {
  background: #000;
  display: inline-block;
  width: 1px;
  height: 50px;
  position: relative;
  top: -15px; }

.workers-and-charts {
  line-height: 0; }

.chart {
  display: block;
  overflow: hidden; }

.chart__image {
  display: block;
  margin: 0 0;
  max-width: 98%;
  transition: transform .3s;
  margin: auto;
  margin-top: 5px; }

.chart--right {
  float: none;
  max-width: 99%;
  margin-left: auto; }

.chart--left {
  float: none;
  max-width: 99%;
  margin-left: auto; }

.chart:hover .chart__image {
  transform: scale(1.01); }

@media (min-width: 600px) {
  .chart--right {
    float: right;
    clear: right;
    width: 31.26%;
    margin-right: 2.7%;
    margin-left: 0px; }
  .chart--left {
    float: left;
    clear: left;
    width: 63.3%;
    margin-left: 2.7%;
    margin-right: 0px; }
  .chart__image {
    max-width: 98.5%;
    margin-left: 0px; } }

/*# sourceMappingURL=style.min.css.map */