@charset "UTF-8";

/*
Colors

Styleguide colors
*/

/*
Primary Colors

@react-docs PrimaryColorsPalette

Weight: 1

Styleguide colors.primary

*/

/*
Gray scale

@react-docs GrayscalePalette

Weight: 2

Styleguide colors.grays
*/

/*
Extended Colors

@react-docs ColorsExtendedPalette

Weight: 3

Styleguide colors.extended
*/

/*
Nesting colors

*/

/*
Colors

Styleguide colors
*/

/*
Primary Colors

@react-docs PrimaryColorsPalette

Weight: 1

Styleguide colors.primary

*/

/*
Gray scale

@react-docs GrayscalePalette

Weight: 2

Styleguide colors.grays
*/

/*
Extended Colors

@react-docs ColorsExtendedPalette

Weight: 3

Styleguide colors.extended
*/

/*
Nesting colors

*/

/*
Colors

Styleguide colors
*/

/*
Primary Colors

@react-docs PrimaryColorsPalette

Weight: 1

Styleguide colors.primary

*/

/*
Gray scale

@react-docs GrayscalePalette

Weight: 2

Styleguide colors.grays
*/

/*
Extended Colors

@react-docs ColorsExtendedPalette

Weight: 3

Styleguide colors.extended
*/

/*
Nesting colors

*/

/* NEW */

/**
 * Typography
 */

/**
 * Accessibility
 */

/*
Grid System

Nova UI Toolkit includes a flexbox based grid system called gridlex.
You can check the documentation at : http://gridlex.devlint.fr/

Weight: 2

Styleguide grid
*/

/* stylelint-disable */

/*
Colors

Styleguide colors
*/

/*
Primary Colors

@react-docs PrimaryColorsPalette

Weight: 1

Styleguide colors.primary

*/

/*
Gray scale

@react-docs GrayscalePalette

Weight: 2

Styleguide colors.grays
*/

/*
Extended Colors

@react-docs ColorsExtendedPalette

Weight: 3

Styleguide colors.extended
*/

/*
Nesting colors

*/

@font-face {
  font-family: "nova-icons-1afe74a5d0c0e65e8a2";

  src: url("/workspace/static/fonts/nova-icons-1afe74a5d0c0e65e8a2.eot?9721c9c4e01704f75ec6929d88c1167f?#iefix") format("embedded-opentype"), url("/workspace/static/fonts/nova-icons-1afe74a5d0c0e65e8a2.woff2?9721c9c4e01704f75ec6929d88c1167f") format("woff2"), url("/workspace/static/fonts/nova-icons-1afe74a5d0c0e65e8a2.woff?9721c9c4e01704f75ec6929d88c1167f") format("woff"), url("/workspace/static/fonts/nova-icons-1afe74a5d0c0e65e8a2.ttf?9721c9c4e01704f75ec6929d88c1167f") format("truetype"), url("/workspace/static/fonts/nova-icons-1afe74a5d0c0e65e8a2.svg?9721c9c4e01704f75ec6929d88c1167f#nova-icons-1afe74a5d0c0e65e8a2") format("svg");
}

.nova-toast-error:before, .nova-toast-warning:before, .nova-toast-success:before, .nova-toast-info:before, .nova-control-checkbox input:checked ~ .nova-control-indicator:before,
.nova-control-checkbox input:indeterminate ~ .nova-control-indicator:before, .nova-datetimepicker .react-calendar .react-calendar__navigation__prev-button:before, .nova-datetimepicker .react-calendar .react-calendar__navigation__next-button:before, .nova-icon-weather:before, .nova-icon-warning:before, .nova-icon-user:before, .nova-icon-user-management:before, .nova-icon-tools:before, .nova-icon-terminal:before, .nova-icon-tag:before, .nova-icon-share:before, .nova-icon-select-arrow:before, .nova-icon-security:before, .nova-icon-security-cam:before, .nova-icon-search:before, .nova-icon-sdk:before, .nova-icon-scene:before, .nova-icon-rule-engine:before, .nova-icon-right:before, .nova-icon-right-2:before, .nova-icon-refresh:before, .nova-icon-quick-start:before, .nova-icon-question:before, .nova-icon-preview:before, .nova-icon-prediction:before, .nova-icon-play:before, .nova-icon-pending:before, .nova-icon-pause:before, .nova-icon-org:before, .nova-icon-on-off:before, .nova-icon-more:before, .nova-icon-machine-learning:before, .nova-icon-lock:before, .nova-icon-location:before, .nova-icon-introduction:before, .nova-icon-info:before, .nova-icon-industry:before, .nova-icon-import:before, .nova-icon-home:before, .nova-icon-health:before, .nova-icon-header-user:before, .nova-icon-header-search:before, .nova-icon-header-help:before, .nova-icon-from-device:before, .nova-icon-file:before, .nova-icon-field-group:before, .nova-icon-farm:before, .nova-icon-external-link:before, .nova-icon-expand-all:before, .nova-icon-exclamation-circle:before, .nova-icon-error:before, .nova-icon-edit:before, .nova-icon-duration:before, .nova-icon-draggable:before, .nova-icon-download:before, .nova-icon-down:before, .nova-icon-down-circle:before, .nova-icon-down-alt:before, .nova-icon-devicetype:before, .nova-icon-devicetype-alt:before, .nova-icon-device-sharing:before, .nova-icon-delete:before, .nova-icon-data-management:before, .nova-icon-connect-cloud:before, .nova-icon-collapse-all:before, .nova-icon-cog:before, .nova-icon-close:before, .nova-icon-clone:before, .nova-icon-clock:before, .nova-icon-check:before, .nova-icon-check-circle:before, .nova-icon-case-study:before, .nova-icon-calendar:before, .nova-icon-calendar-right:before, .nova-icon-calendar-left:before, .nova-icon-bulb:before, .nova-icon-bank:before, .nova-icon-api:before, .nova-icon-add:before, .nova-icon-add-circle:before, .nova-icon-action:before {
  font-family: "nova-icons-1afe74a5d0c0e65e8a2";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-style: normal;
  font-feature-settings: normal;
  font-variant: normal;
  font-weight: normal;
  text-decoration: none;
  text-transform: none;
}

.nova-icon-action:before {
  content: "\F101";
}

.nova-icon-add-circle:before {
  content: "\F102";
}

.nova-icon-add:before {
  content: "\F103";
}

.nova-icon-api:before {
  content: "\F104";
}

.nova-icon-bank:before {
  content: "\F105";
}

.nova-icon-bulb:before {
  content: "\F106";
}

.nova-icon-calendar-left:before {
  content: "\F107";
}

.nova-icon-calendar-right:before {
  content: "\F108";
}

.nova-icon-calendar:before {
  content: "\F109";
}

.nova-icon-case-study:before {
  content: "\F10A";
}

.nova-icon-check-circle:before {
  content: "\F10B";
}

.nova-icon-check:before {
  content: "\F10C";
}

.nova-icon-clock:before {
  content: "\F10D";
}

.nova-icon-clone:before {
  content: "\F10E";
}

.nova-icon-close:before {
  content: "\F10F";
}

.nova-icon-cog:before {
  content: "\F110";
}

.nova-icon-collapse-all:before {
  content: "\F111";
}

.nova-icon-connect-cloud:before {
  content: "\F112";
}

.nova-icon-data-management:before {
  content: "\F113";
}

.nova-icon-delete:before {
  content: "\F114";
}

.nova-icon-device-sharing:before {
  content: "\F115";
}

.nova-icon-devicetype-alt:before {
  content: "\F116";
}

.nova-icon-devicetype:before {
  content: "\F117";
}

.nova-icon-down-alt:before {
  content: "\F118";
}

.nova-icon-down-circle:before {
  content: "\F119";
}

.nova-icon-down:before {
  content: "\F11A";
}

.nova-icon-download:before {
  content: "\F11B";
}

.nova-icon-draggable:before {
  content: "\F11C";
}

.nova-icon-duration:before {
  content: "\F11D";
}

.nova-icon-edit:before {
  content: "\F11E";
}

.nova-icon-error:before {
  content: "\F11F";
}

.nova-icon-exclamation-circle:before {
  content: "\F120";
}

.nova-icon-expand-all:before {
  content: "\F121";
}

.nova-icon-external-link:before {
  content: "\F122";
}

.nova-icon-farm:before {
  content: "\F123";
}

.nova-icon-field-group:before {
  content: "\F124";
}

.nova-icon-file:before {
  content: "\F125";
}

.nova-icon-from-device:before {
  content: "\F126";
}

.nova-icon-header-help:before {
  content: "\F127";
}

.nova-icon-header-search:before {
  content: "\F128";
}

.nova-icon-header-user:before {
  content: "\F129";
}

.nova-icon-health:before {
  content: "\F12A";
}

.nova-icon-home:before {
  content: "\F12B";
}

.nova-icon-import:before {
  content: "\F12C";
}

.nova-icon-industry:before {
  content: "\F12D";
}

.nova-icon-info:before {
  content: "\F12E";
}

.nova-icon-introduction:before {
  content: "\F12F";
}

.nova-icon-location:before {
  content: "\F130";
}

.nova-icon-lock:before {
  content: "\F131";
}

.nova-icon-machine-learning:before {
  content: "\F132";
}

.nova-icon-more:before {
  content: "\F133";
}

.nova-icon-on-off:before {
  content: "\F134";
}

.nova-icon-org:before {
  content: "\F135";
}

.nova-icon-pause:before {
  content: "\F136";
}

.nova-icon-pending:before {
  content: "\F137";
}

.nova-icon-play:before {
  content: "\F138";
}

.nova-icon-prediction:before {
  content: "\F139";
}

.nova-icon-preview:before {
  content: "\F13A";
}

.nova-icon-question:before {
  content: "\F13B";
}

.nova-icon-quick-start:before {
  content: "\F13C";
}

.nova-icon-refresh:before {
  content: "\F13D";
}

.nova-icon-right-2:before {
  content: "\F13E";
}

.nova-icon-right:before {
  content: "\F13F";
}

.nova-icon-rule-engine:before {
  content: "\F140";
}

.nova-icon-scene:before {
  content: "\F141";
}

.nova-icon-sdk:before {
  content: "\F142";
}

.nova-icon-search:before {
  content: "\F143";
}

.nova-icon-security-cam:before {
  content: "\F144";
}

.nova-icon-security:before {
  content: "\F145";
}

.nova-icon-select-arrow:before {
  content: "\F146";
}

.nova-icon-share:before {
  content: "\F147";
}

.nova-icon-tag:before {
  content: "\F148";
}

.nova-icon-terminal:before {
  content: "\F149";
}

.nova-icon-tools:before {
  content: "\F14A";
}

.nova-icon-user-management:before {
  content: "\F14B";
}

.nova-icon-user:before {
  content: "\F14C";
}

.nova-icon-warning:before {
  content: "\F14D";
}

.nova-icon-weather:before {
  content: "\F14E";
}

/*
Animations

Nova UI Toolkit includes ReactTransitionGroup which allow to do simple animations.
You can check the documentation at : https://facebook.github.io/react/docs/animation.html

Weight: 2

Styleguide Animations
*/

.fade-enter {
  opacity: 0;
}

.fade-enter-active {
  opacity: 1;
  -webkit-transition: opacity 0.2s ease-in;
  transition: opacity 0.2s ease-in;
}

.fade-exit {
  opacity: 1;
}

.fade-exit-active {
  opacity: 0;
  -webkit-transition: opacity 0.2s ease-in;
  transition: opacity 0.2s ease-in;
}

.popin-enter {
  -webkit-transform: scale(0.9);
          transform: scale(0.9);
  opacity: 0;
}

.popin-enter-active {
  -webkit-transform: translateY(0);
          transform: translateY(0);
  opacity: 1;
  -webkit-transition: opacity 300ms, -webkit-transform 300ms, -webkit-filter 300ms;
  transition: opacity 300ms, -webkit-transform 300ms, -webkit-filter 300ms;
  transition: opacity 300ms, transform 300ms, filter 300ms;
  transition: opacity 300ms, transform 300ms, filter 300ms, -webkit-transform 300ms, -webkit-filter 300ms;
}

.popin-exit {
  -webkit-transform: translateY(0);
          transform: translateY(0);
  opacity: 1;
  -webkit-filter: blur(5px);
          filter: blur(5px);
}

.popin-exit-active {
  -webkit-transform: scale(0.9);
          transform: scale(0.9);
  opacity: 0;
  -webkit-transition: opacity 300ms, -webkit-transform 300ms, -webkit-filter 300ms;
  transition: opacity 300ms, -webkit-transform 300ms, -webkit-filter 300ms;
  transition: opacity 300ms, transform 300ms, filter 300ms;
  transition: opacity 300ms, transform 300ms, filter 300ms, -webkit-transform 300ms, -webkit-filter 300ms;
  -webkit-filter: blur(0);
          filter: blur(0);
}

@-webkit-keyframes tooltipZoomInEffect {
  0% {
    -webkit-transform: scale(0.8);
            transform: scale(0.8);
    opacity: 0;
  }

  to {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}

@keyframes tooltipZoomInEffect {
  0% {
    -webkit-transform: scale(0.8);
            transform: scale(0.8);
    opacity: 0;
  }

  to {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}

@-webkit-keyframes tooltipZoomOutEffect {
  0% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }

  to {
    -webkit-transform: scale(0.8);
            transform: scale(0.8);
    opacity: 0;
  }
}

@keyframes tooltipZoomOutEffect {
  0% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }

  to {
    -webkit-transform: scale(0.8);
            transform: scale(0.8);
    opacity: 0;
  }
}

.zoom-in-fast-appear, .zoom-in-fast-enter, .zoom-in-fast-leave {
  -webkit-animation-duration: 0.1s;
          animation-duration: 0.1s;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
  -webkit-animation-play-state: paused;
          animation-play-state: paused;
}

.zoom-in-fast-appear, .zoom-in-fast-enter {
  -webkit-transform: scale(0);
          transform: scale(0);
  -webkit-animation-timing-function: cubic-bezier(0.08, 0.82, 0.17, 1);
          animation-timing-function: cubic-bezier(0.08, 0.82, 0.17, 1);
}

.zoom-in-fast-appear-active, .zoom-in-fast-enter-active {
  -webkit-animation-name: tooltipZoomInEffect;
          animation-name: tooltipZoomInEffect;
  -webkit-animation-play-state: running;
          animation-play-state: running;
  pointer-events: none;
}

.zoom-in-fast-leave {
  -webkit-animation-timing-function: cubic-bezier(0.78, 0.14, 0.15, 0.86);
          animation-timing-function: cubic-bezier(0.78, 0.14, 0.15, 0.86);
}

.zoom-in-fast-leave-active {
  -webkit-animation-name: tooltipZoomOutEffect;
          animation-name: tooltipZoomOutEffect;
  -webkit-animation-play-state: running;
          animation-play-state: running;
  pointer-events: none;
}

/*
Components

Lots and lots of components

Weight: 6

Styleguide components
*/

/* ==========================================================================
    GRIDLEX
    Just a Flexbox Grid System - v. 2.7.1
========================================================================== */

[class~=grid],
[class*=grid-],
[class*=grid_] {
  box-sizing: border-box;
  display: -webkit-box;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
          flex-flow: row wrap;
  margin: 0 -0.75rem;
}

[class~=col],
[class*=col-],
[class*=col_] {
  box-sizing: border-box;
  padding: 0 0.75rem 1.5rem;
  max-width: 100%;
}

[class~=col],
[class*=col_] {
  -webkit-box-flex: 1;
          flex: 1 1 0%;
}

[class*=col-] {
  -webkit-box-flex: 0;
          flex: none;
}

[class~=grid][class~=col],
[class~=grid][class*=col-],
[class~=grid][class*=col_],
[class*=grid-][class~=col],
[class*=grid-][class*=col-],
[class*=grid-][class*=col_],
[class*=grid_][class~=col],
[class*=grid_][class*=col-],
[class*=grid_][class*=col_] {
  margin: 0;
  padding: 0;
}

/************************
    HELPERS SUFFIXES
*************************/

[class*=grid-][class*=-noGutter] {
  margin: 0;
}

[class*=grid-][class*=-noGutter] > [class~=col],
[class*=grid-][class*=-noGutter] > [class*=col-] {
  padding: 0;
}

[class*=grid-][class*=-noWrap] {
  flex-wrap: nowrap;
}

[class*=grid-][class*=-center] {
  -webkit-box-pack: center;
          justify-content: center;
}

[class*=grid-][class*=-right] {
  -webkit-box-pack: end;
          justify-content: flex-end;
  align-self: flex-end;
  margin-left: auto;
}

[class*=grid-][class*=-top] {
  -webkit-box-align: start;
          align-items: flex-start;
}

[class*=grid-][class*=-middle] {
  -webkit-box-align: center;
          align-items: center;
}

[class*=grid-][class*=-bottom] {
  -webkit-box-align: end;
          align-items: flex-end;
}

[class*=grid-][class*=-reverse] {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
          flex-direction: row-reverse;
}

[class*=grid-][class*=-column] {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
          flex-direction: column;
}

[class*=grid-][class*=-column] > [class*=col-] {
  flex-basis: auto;
}

[class*=grid-][class*=-column-reverse] {
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
          flex-direction: column-reverse;
}

[class*=grid-][class*=-spaceBetween] {
  -webkit-box-pack: justify;
          justify-content: space-between;
}

[class*=grid-][class*=-spaceAround] {
  justify-content: space-around;
}

[class*=grid-][class*=-equalHeight] > [class~=col], [class*=grid-][class*=-equalHeight] > [class*=col-], [class*=grid-][class*=-equalHeight] > [class*=col_] {
  align-self: stretch;
}

[class*=grid-][class*=-equalHeight] > [class~=col] > *, [class*=grid-][class*=-equalHeight] > [class*=col-] > *, [class*=grid-][class*=-equalHeight] > [class*=col_] > * {
  height: 100%;
}

[class*=grid-][class*=-noBottom] > [class~=col], [class*=grid-][class*=-noBottom] > [class*=col-], [class*=grid-][class*=-noBottom] > [class*=col_] {
  padding-bottom: 0;
}

[class*=col-][class*=-top] {
  align-self: flex-start;
}

[class*=col-][class*=-middle] {
  align-self: center;
}

[class*=col-][class*=-bottom] {
  align-self: flex-end;
}

[class*=col-][class*=-first] {
  -webkit-box-ordinal-group: 0;
          order: -1;
}

[class*=col-][class*=-last] {
  -webkit-box-ordinal-group: 2;
          order: 1;
}

/************************
    GRID BY NUMBER
*************************/

[class*=grid-1] > [class~=col],
[class*=grid-1] > [class*=col-],
[class*=grid-1] > [class*=col_] {
  flex-basis: 100%;
  max-width: 100%;
}

[class*=grid-2] > [class~=col],
[class*=grid-2] > [class*=col-],
[class*=grid-2] > [class*=col_] {
  flex-basis: 50%;
  max-width: 50%;
}

[class*=grid-3] > [class~=col],
[class*=grid-3] > [class*=col-],
[class*=grid-3] > [class*=col_] {
  flex-basis: 33.3333333333%;
  max-width: 33.3333333333%;
}

[class*=grid-4] > [class~=col],
[class*=grid-4] > [class*=col-],
[class*=grid-4] > [class*=col_] {
  flex-basis: 25%;
  max-width: 25%;
}

[class*=grid-5] > [class~=col],
[class*=grid-5] > [class*=col-],
[class*=grid-5] > [class*=col_] {
  flex-basis: 20%;
  max-width: 20%;
}

[class*=grid-6] > [class~=col],
[class*=grid-6] > [class*=col-],
[class*=grid-6] > [class*=col_] {
  flex-basis: 16.6666666667%;
  max-width: 16.6666666667%;
}

[class*=grid-7] > [class~=col],
[class*=grid-7] > [class*=col-],
[class*=grid-7] > [class*=col_] {
  flex-basis: 14.2857142857%;
  max-width: 14.2857142857%;
}

[class*=grid-8] > [class~=col],
[class*=grid-8] > [class*=col-],
[class*=grid-8] > [class*=col_] {
  flex-basis: 12.5%;
  max-width: 12.5%;
}

[class*=grid-9] > [class~=col],
[class*=grid-9] > [class*=col-],
[class*=grid-9] > [class*=col_] {
  flex-basis: 11.1111111111%;
  max-width: 11.1111111111%;
}

[class*=grid-10] > [class~=col],
[class*=grid-10] > [class*=col-],
[class*=grid-10] > [class*=col_] {
  flex-basis: 10%;
  max-width: 10%;
}

[class*=grid-11] > [class~=col],
[class*=grid-11] > [class*=col-],
[class*=grid-11] > [class*=col_] {
  flex-basis: 9.0909090909%;
  max-width: 9.0909090909%;
}

[class*=grid-12] > [class~=col],
[class*=grid-12] > [class*=col-],
[class*=grid-12] > [class*=col_] {
  flex-basis: 8.3333333333%;
  max-width: 8.3333333333%;
}

@media (max-width: 80em) {
  [class*=_lg-1] > [class~=col],
  [class*=_lg-1] > [class*=col-],
  [class*=_lg-1] > [class*=col_] {
    flex-basis: 100%;
    max-width: 100%;
  }

  [class*=_lg-2] > [class~=col],
  [class*=_lg-2] > [class*=col-],
  [class*=_lg-2] > [class*=col_] {
    flex-basis: 50%;
    max-width: 50%;
  }

  [class*=_lg-3] > [class~=col],
  [class*=_lg-3] > [class*=col-],
  [class*=_lg-3] > [class*=col_] {
    flex-basis: 33.3333333333%;
    max-width: 33.3333333333%;
  }

  [class*=_lg-4] > [class~=col],
  [class*=_lg-4] > [class*=col-],
  [class*=_lg-4] > [class*=col_] {
    flex-basis: 25%;
    max-width: 25%;
  }

  [class*=_lg-5] > [class~=col],
  [class*=_lg-5] > [class*=col-],
  [class*=_lg-5] > [class*=col_] {
    flex-basis: 20%;
    max-width: 20%;
  }

  [class*=_lg-6] > [class~=col],
  [class*=_lg-6] > [class*=col-],
  [class*=_lg-6] > [class*=col_] {
    flex-basis: 16.6666666667%;
    max-width: 16.6666666667%;
  }

  [class*=_lg-7] > [class~=col],
  [class*=_lg-7] > [class*=col-],
  [class*=_lg-7] > [class*=col_] {
    flex-basis: 14.2857142857%;
    max-width: 14.2857142857%;
  }

  [class*=_lg-8] > [class~=col],
  [class*=_lg-8] > [class*=col-],
  [class*=_lg-8] > [class*=col_] {
    flex-basis: 12.5%;
    max-width: 12.5%;
  }

  [class*=_lg-9] > [class~=col],
  [class*=_lg-9] > [class*=col-],
  [class*=_lg-9] > [class*=col_] {
    flex-basis: 11.1111111111%;
    max-width: 11.1111111111%;
  }

  [class*=_lg-10] > [class~=col],
  [class*=_lg-10] > [class*=col-],
  [class*=_lg-10] > [class*=col_] {
    flex-basis: 10%;
    max-width: 10%;
  }

  [class*=_lg-11] > [class~=col],
  [class*=_lg-11] > [class*=col-],
  [class*=_lg-11] > [class*=col_] {
    flex-basis: 9.0909090909%;
    max-width: 9.0909090909%;
  }

  [class*=_lg-12] > [class~=col],
  [class*=_lg-12] > [class*=col-],
  [class*=_lg-12] > [class*=col_] {
    flex-basis: 8.3333333333%;
    max-width: 8.3333333333%;
  }
}

@media (max-width: 64em) {
  [class*=_md-1] > [class~=col],
  [class*=_md-1] > [class*=col-],
  [class*=_md-1] > [class*=col_] {
    flex-basis: 100%;
    max-width: 100%;
  }

  [class*=_md-2] > [class~=col],
  [class*=_md-2] > [class*=col-],
  [class*=_md-2] > [class*=col_] {
    flex-basis: 50%;
    max-width: 50%;
  }

  [class*=_md-3] > [class~=col],
  [class*=_md-3] > [class*=col-],
  [class*=_md-3] > [class*=col_] {
    flex-basis: 33.3333333333%;
    max-width: 33.3333333333%;
  }

  [class*=_md-4] > [class~=col],
  [class*=_md-4] > [class*=col-],
  [class*=_md-4] > [class*=col_] {
    flex-basis: 25%;
    max-width: 25%;
  }

  [class*=_md-5] > [class~=col],
  [class*=_md-5] > [class*=col-],
  [class*=_md-5] > [class*=col_] {
    flex-basis: 20%;
    max-width: 20%;
  }

  [class*=_md-6] > [class~=col],
  [class*=_md-6] > [class*=col-],
  [class*=_md-6] > [class*=col_] {
    flex-basis: 16.6666666667%;
    max-width: 16.6666666667%;
  }

  [class*=_md-7] > [class~=col],
  [class*=_md-7] > [class*=col-],
  [class*=_md-7] > [class*=col_] {
    flex-basis: 14.2857142857%;
    max-width: 14.2857142857%;
  }

  [class*=_md-8] > [class~=col],
  [class*=_md-8] > [class*=col-],
  [class*=_md-8] > [class*=col_] {
    flex-basis: 12.5%;
    max-width: 12.5%;
  }

  [class*=_md-9] > [class~=col],
  [class*=_md-9] > [class*=col-],
  [class*=_md-9] > [class*=col_] {
    flex-basis: 11.1111111111%;
    max-width: 11.1111111111%;
  }

  [class*=_md-10] > [class~=col],
  [class*=_md-10] > [class*=col-],
  [class*=_md-10] > [class*=col_] {
    flex-basis: 10%;
    max-width: 10%;
  }

  [class*=_md-11] > [class~=col],
  [class*=_md-11] > [class*=col-],
  [class*=_md-11] > [class*=col_] {
    flex-basis: 9.0909090909%;
    max-width: 9.0909090909%;
  }

  [class*=_md-12] > [class~=col],
  [class*=_md-12] > [class*=col-],
  [class*=_md-12] > [class*=col_] {
    flex-basis: 8.3333333333%;
    max-width: 8.3333333333%;
  }
}

@media (max-width: 48em) {
  [class*=_sm-1] > [class~=col],
  [class*=_sm-1] > [class*=col-],
  [class*=_sm-1] > [class*=col_] {
    flex-basis: 100%;
    max-width: 100%;
  }

  [class*=_sm-2] > [class~=col],
  [class*=_sm-2] > [class*=col-],
  [class*=_sm-2] > [class*=col_] {
    flex-basis: 50%;
    max-width: 50%;
  }

  [class*=_sm-3] > [class~=col],
  [class*=_sm-3] > [class*=col-],
  [class*=_sm-3] > [class*=col_] {
    flex-basis: 33.3333333333%;
    max-width: 33.3333333333%;
  }

  [class*=_sm-4] > [class~=col],
  [class*=_sm-4] > [class*=col-],
  [class*=_sm-4] > [class*=col_] {
    flex-basis: 25%;
    max-width: 25%;
  }

  [class*=_sm-5] > [class~=col],
  [class*=_sm-5] > [class*=col-],
  [class*=_sm-5] > [class*=col_] {
    flex-basis: 20%;
    max-width: 20%;
  }

  [class*=_sm-6] > [class~=col],
  [class*=_sm-6] > [class*=col-],
  [class*=_sm-6] > [class*=col_] {
    flex-basis: 16.6666666667%;
    max-width: 16.6666666667%;
  }

  [class*=_sm-7] > [class~=col],
  [class*=_sm-7] > [class*=col-],
  [class*=_sm-7] > [class*=col_] {
    flex-basis: 14.2857142857%;
    max-width: 14.2857142857%;
  }

  [class*=_sm-8] > [class~=col],
  [class*=_sm-8] > [class*=col-],
  [class*=_sm-8] > [class*=col_] {
    flex-basis: 12.5%;
    max-width: 12.5%;
  }

  [class*=_sm-9] > [class~=col],
  [class*=_sm-9] > [class*=col-],
  [class*=_sm-9] > [class*=col_] {
    flex-basis: 11.1111111111%;
    max-width: 11.1111111111%;
  }

  [class*=_sm-10] > [class~=col],
  [class*=_sm-10] > [class*=col-],
  [class*=_sm-10] > [class*=col_] {
    flex-basis: 10%;
    max-width: 10%;
  }

  [class*=_sm-11] > [class~=col],
  [class*=_sm-11] > [class*=col-],
  [class*=_sm-11] > [class*=col_] {
    flex-basis: 9.0909090909%;
    max-width: 9.0909090909%;
  }

  [class*=_sm-12] > [class~=col],
  [class*=_sm-12] > [class*=col-],
  [class*=_sm-12] > [class*=col_] {
    flex-basis: 8.3333333333%;
    max-width: 8.3333333333%;
  }
}

@media (max-width: 36em) {
  [class*=_xs-1] > [class~=col],
  [class*=_xs-1] > [class*=col-],
  [class*=_xs-1] > [class*=col_] {
    flex-basis: 100%;
    max-width: 100%;
  }

  [class*=_xs-2] > [class~=col],
  [class*=_xs-2] > [class*=col-],
  [class*=_xs-2] > [class*=col_] {
    flex-basis: 50%;
    max-width: 50%;
  }

  [class*=_xs-3] > [class~=col],
  [class*=_xs-3] > [class*=col-],
  [class*=_xs-3] > [class*=col_] {
    flex-basis: 33.3333333333%;
    max-width: 33.3333333333%;
  }

  [class*=_xs-4] > [class~=col],
  [class*=_xs-4] > [class*=col-],
  [class*=_xs-4] > [class*=col_] {
    flex-basis: 25%;
    max-width: 25%;
  }

  [class*=_xs-5] > [class~=col],
  [class*=_xs-5] > [class*=col-],
  [class*=_xs-5] > [class*=col_] {
    flex-basis: 20%;
    max-width: 20%;
  }

  [class*=_xs-6] > [class~=col],
  [class*=_xs-6] > [class*=col-],
  [class*=_xs-6] > [class*=col_] {
    flex-basis: 16.6666666667%;
    max-width: 16.6666666667%;
  }

  [class*=_xs-7] > [class~=col],
  [class*=_xs-7] > [class*=col-],
  [class*=_xs-7] > [class*=col_] {
    flex-basis: 14.2857142857%;
    max-width: 14.2857142857%;
  }

  [class*=_xs-8] > [class~=col],
  [class*=_xs-8] > [class*=col-],
  [class*=_xs-8] > [class*=col_] {
    flex-basis: 12.5%;
    max-width: 12.5%;
  }

  [class*=_xs-9] > [class~=col],
  [class*=_xs-9] > [class*=col-],
  [class*=_xs-9] > [class*=col_] {
    flex-basis: 11.1111111111%;
    max-width: 11.1111111111%;
  }

  [class*=_xs-10] > [class~=col],
  [class*=_xs-10] > [class*=col-],
  [class*=_xs-10] > [class*=col_] {
    flex-basis: 10%;
    max-width: 10%;
  }

  [class*=_xs-11] > [class~=col],
  [class*=_xs-11] > [class*=col-],
  [class*=_xs-11] > [class*=col_] {
    flex-basis: 9.0909090909%;
    max-width: 9.0909090909%;
  }

  [class*=_xs-12] > [class~=col],
  [class*=_xs-12] > [class*=col-],
  [class*=_xs-12] > [class*=col_] {
    flex-basis: 8.3333333333%;
    max-width: 8.3333333333%;
  }
}

/************************
    COLS SIZES
*************************/

[class~=grid] > [class*=col-1],
[class*=grid-] > [class*=col-1],
[class*=grid_] > [class*=col-1] {
  flex-basis: 8.3333333333%;
  max-width: 8.3333333333%;
}

[class~=grid] > [class*=col-2],
[class*=grid-] > [class*=col-2],
[class*=grid_] > [class*=col-2] {
  flex-basis: 16.6666666667%;
  max-width: 16.6666666667%;
}

[class~=grid] > [class*=col-3],
[class*=grid-] > [class*=col-3],
[class*=grid_] > [class*=col-3] {
  flex-basis: 25%;
  max-width: 25%;
}

[class~=grid] > [class*=col-4],
[class*=grid-] > [class*=col-4],
[class*=grid_] > [class*=col-4] {
  flex-basis: 33.3333333333%;
  max-width: 33.3333333333%;
}

[class~=grid] > [class*=col-5],
[class*=grid-] > [class*=col-5],
[class*=grid_] > [class*=col-5] {
  flex-basis: 41.6666666667%;
  max-width: 41.6666666667%;
}

[class~=grid] > [class*=col-6],
[class*=grid-] > [class*=col-6],
[class*=grid_] > [class*=col-6] {
  flex-basis: 50%;
  max-width: 50%;
}

[class~=grid] > [class*=col-7],
[class*=grid-] > [class*=col-7],
[class*=grid_] > [class*=col-7] {
  flex-basis: 58.3333333333%;
  max-width: 58.3333333333%;
}

[class~=grid] > [class*=col-8],
[class*=grid-] > [class*=col-8],
[class*=grid_] > [class*=col-8] {
  flex-basis: 66.6666666667%;
  max-width: 66.6666666667%;
}

[class~=grid] > [class*=col-9],
[class*=grid-] > [class*=col-9],
[class*=grid_] > [class*=col-9] {
  flex-basis: 75%;
  max-width: 75%;
}

[class~=grid] > [class*=col-10],
[class*=grid-] > [class*=col-10],
[class*=grid_] > [class*=col-10] {
  flex-basis: 83.3333333333%;
  max-width: 83.3333333333%;
}

[class~=grid] > [class*=col-11],
[class*=grid-] > [class*=col-11],
[class*=grid_] > [class*=col-11] {
  flex-basis: 91.6666666667%;
  max-width: 91.6666666667%;
}

[class~=grid] > [class*=col-12],
[class*=grid-] > [class*=col-12],
[class*=grid_] > [class*=col-12] {
  flex-basis: 100%;
  max-width: 100%;
}

[class~=grid] > [data-push-left*=off-0],
[class*=grid-] > [data-push-left*=off-0],
[class*=grid_] > [data-push-left*=off-0] {
  margin-left: 0;
}

[class~=grid] > [data-push-left*=off-1],
[class*=grid-] > [data-push-left*=off-1],
[class*=grid_] > [data-push-left*=off-1] {
  margin-left: 8.3333333333%;
}

[class~=grid] > [data-push-left*=off-2],
[class*=grid-] > [data-push-left*=off-2],
[class*=grid_] > [data-push-left*=off-2] {
  margin-left: 16.6666666667%;
}

[class~=grid] > [data-push-left*=off-3],
[class*=grid-] > [data-push-left*=off-3],
[class*=grid_] > [data-push-left*=off-3] {
  margin-left: 25%;
}

[class~=grid] > [data-push-left*=off-4],
[class*=grid-] > [data-push-left*=off-4],
[class*=grid_] > [data-push-left*=off-4] {
  margin-left: 33.3333333333%;
}

[class~=grid] > [data-push-left*=off-5],
[class*=grid-] > [data-push-left*=off-5],
[class*=grid_] > [data-push-left*=off-5] {
  margin-left: 41.6666666667%;
}

[class~=grid] > [data-push-left*=off-6],
[class*=grid-] > [data-push-left*=off-6],
[class*=grid_] > [data-push-left*=off-6] {
  margin-left: 50%;
}

[class~=grid] > [data-push-left*=off-7],
[class*=grid-] > [data-push-left*=off-7],
[class*=grid_] > [data-push-left*=off-7] {
  margin-left: 58.3333333333%;
}

[class~=grid] > [data-push-left*=off-8],
[class*=grid-] > [data-push-left*=off-8],
[class*=grid_] > [data-push-left*=off-8] {
  margin-left: 66.6666666667%;
}

[class~=grid] > [data-push-left*=off-9],
[class*=grid-] > [data-push-left*=off-9],
[class*=grid_] > [data-push-left*=off-9] {
  margin-left: 75%;
}

[class~=grid] > [data-push-left*=off-10],
[class*=grid-] > [data-push-left*=off-10],
[class*=grid_] > [data-push-left*=off-10] {
  margin-left: 83.3333333333%;
}

[class~=grid] > [data-push-left*=off-11],
[class*=grid-] > [data-push-left*=off-11],
[class*=grid_] > [data-push-left*=off-11] {
  margin-left: 91.6666666667%;
}

[class~=grid] > [data-push-right*=off-0],
[class*=grid-] > [data-push-right*=off-0],
[class*=grid_] > [data-push-right*=off-0] {
  margin-right: 0;
}

[class~=grid] > [data-push-right*=off-1],
[class*=grid-] > [data-push-right*=off-1],
[class*=grid_] > [data-push-right*=off-1] {
  margin-right: 8.3333333333%;
}

[class~=grid] > [data-push-right*=off-2],
[class*=grid-] > [data-push-right*=off-2],
[class*=grid_] > [data-push-right*=off-2] {
  margin-right: 16.6666666667%;
}

[class~=grid] > [data-push-right*=off-3],
[class*=grid-] > [data-push-right*=off-3],
[class*=grid_] > [data-push-right*=off-3] {
  margin-right: 25%;
}

[class~=grid] > [data-push-right*=off-4],
[class*=grid-] > [data-push-right*=off-4],
[class*=grid_] > [data-push-right*=off-4] {
  margin-right: 33.3333333333%;
}

[class~=grid] > [data-push-right*=off-5],
[class*=grid-] > [data-push-right*=off-5],
[class*=grid_] > [data-push-right*=off-5] {
  margin-right: 41.6666666667%;
}

[class~=grid] > [data-push-right*=off-6],
[class*=grid-] > [data-push-right*=off-6],
[class*=grid_] > [data-push-right*=off-6] {
  margin-right: 50%;
}

[class~=grid] > [data-push-right*=off-7],
[class*=grid-] > [data-push-right*=off-7],
[class*=grid_] > [data-push-right*=off-7] {
  margin-right: 58.3333333333%;
}

[class~=grid] > [data-push-right*=off-8],
[class*=grid-] > [data-push-right*=off-8],
[class*=grid_] > [data-push-right*=off-8] {
  margin-right: 66.6666666667%;
}

[class~=grid] > [data-push-right*=off-9],
[class*=grid-] > [data-push-right*=off-9],
[class*=grid_] > [data-push-right*=off-9] {
  margin-right: 75%;
}

[class~=grid] > [data-push-right*=off-10],
[class*=grid-] > [data-push-right*=off-10],
[class*=grid_] > [data-push-right*=off-10] {
  margin-right: 83.3333333333%;
}

[class~=grid] > [data-push-right*=off-11],
[class*=grid-] > [data-push-right*=off-11],
[class*=grid_] > [data-push-right*=off-11] {
  margin-right: 91.6666666667%;
}

@media (max-width: 80em) {
  [class~=grid] > [class*=_lg-1],
  [class*=grid-] > [class*=_lg-1],
  [class*=grid_] > [class*=_lg-1] {
    flex-basis: 8.3333333333%;
    max-width: 8.3333333333%;
  }

  [class~=grid] > [class*=_lg-2],
  [class*=grid-] > [class*=_lg-2],
  [class*=grid_] > [class*=_lg-2] {
    flex-basis: 16.6666666667%;
    max-width: 16.6666666667%;
  }

  [class~=grid] > [class*=_lg-3],
  [class*=grid-] > [class*=_lg-3],
  [class*=grid_] > [class*=_lg-3] {
    flex-basis: 25%;
    max-width: 25%;
  }

  [class~=grid] > [class*=_lg-4],
  [class*=grid-] > [class*=_lg-4],
  [class*=grid_] > [class*=_lg-4] {
    flex-basis: 33.3333333333%;
    max-width: 33.3333333333%;
  }

  [class~=grid] > [class*=_lg-5],
  [class*=grid-] > [class*=_lg-5],
  [class*=grid_] > [class*=_lg-5] {
    flex-basis: 41.6666666667%;
    max-width: 41.6666666667%;
  }

  [class~=grid] > [class*=_lg-6],
  [class*=grid-] > [class*=_lg-6],
  [class*=grid_] > [class*=_lg-6] {
    flex-basis: 50%;
    max-width: 50%;
  }

  [class~=grid] > [class*=_lg-7],
  [class*=grid-] > [class*=_lg-7],
  [class*=grid_] > [class*=_lg-7] {
    flex-basis: 58.3333333333%;
    max-width: 58.3333333333%;
  }

  [class~=grid] > [class*=_lg-8],
  [class*=grid-] > [class*=_lg-8],
  [class*=grid_] > [class*=_lg-8] {
    flex-basis: 66.6666666667%;
    max-width: 66.6666666667%;
  }

  [class~=grid] > [class*=_lg-9],
  [class*=grid-] > [class*=_lg-9],
  [class*=grid_] > [class*=_lg-9] {
    flex-basis: 75%;
    max-width: 75%;
  }

  [class~=grid] > [class*=_lg-10],
  [class*=grid-] > [class*=_lg-10],
  [class*=grid_] > [class*=_lg-10] {
    flex-basis: 83.3333333333%;
    max-width: 83.3333333333%;
  }

  [class~=grid] > [class*=_lg-11],
  [class*=grid-] > [class*=_lg-11],
  [class*=grid_] > [class*=_lg-11] {
    flex-basis: 91.6666666667%;
    max-width: 91.6666666667%;
  }

  [class~=grid] > [class*=_lg-12],
  [class*=grid-] > [class*=_lg-12],
  [class*=grid_] > [class*=_lg-12] {
    flex-basis: 100%;
    max-width: 100%;
  }

  [class~=grid] > [data-push-left*=_lg-0],
  [class*=grid-] > [data-push-left*=_lg-0],
  [class*=grid_] > [data-push-left*=_lg-0] {
    margin-left: 0;
  }

  [class~=grid] > [data-push-left*=_lg-1],
  [class*=grid-] > [data-push-left*=_lg-1],
  [class*=grid_] > [data-push-left*=_lg-1] {
    margin-left: 8.3333333333%;
  }

  [class~=grid] > [data-push-left*=_lg-2],
  [class*=grid-] > [data-push-left*=_lg-2],
  [class*=grid_] > [data-push-left*=_lg-2] {
    margin-left: 16.6666666667%;
  }

  [class~=grid] > [data-push-left*=_lg-3],
  [class*=grid-] > [data-push-left*=_lg-3],
  [class*=grid_] > [data-push-left*=_lg-3] {
    margin-left: 25%;
  }

  [class~=grid] > [data-push-left*=_lg-4],
  [class*=grid-] > [data-push-left*=_lg-4],
  [class*=grid_] > [data-push-left*=_lg-4] {
    margin-left: 33.3333333333%;
  }

  [class~=grid] > [data-push-left*=_lg-5],
  [class*=grid-] > [data-push-left*=_lg-5],
  [class*=grid_] > [data-push-left*=_lg-5] {
    margin-left: 41.6666666667%;
  }

  [class~=grid] > [data-push-left*=_lg-6],
  [class*=grid-] > [data-push-left*=_lg-6],
  [class*=grid_] > [data-push-left*=_lg-6] {
    margin-left: 50%;
  }

  [class~=grid] > [data-push-left*=_lg-7],
  [class*=grid-] > [data-push-left*=_lg-7],
  [class*=grid_] > [data-push-left*=_lg-7] {
    margin-left: 58.3333333333%;
  }

  [class~=grid] > [data-push-left*=_lg-8],
  [class*=grid-] > [data-push-left*=_lg-8],
  [class*=grid_] > [data-push-left*=_lg-8] {
    margin-left: 66.6666666667%;
  }

  [class~=grid] > [data-push-left*=_lg-9],
  [class*=grid-] > [data-push-left*=_lg-9],
  [class*=grid_] > [data-push-left*=_lg-9] {
    margin-left: 75%;
  }

  [class~=grid] > [data-push-left*=_lg-10],
  [class*=grid-] > [data-push-left*=_lg-10],
  [class*=grid_] > [data-push-left*=_lg-10] {
    margin-left: 83.3333333333%;
  }

  [class~=grid] > [data-push-left*=_lg-11],
  [class*=grid-] > [data-push-left*=_lg-11],
  [class*=grid_] > [data-push-left*=_lg-11] {
    margin-left: 91.6666666667%;
  }

  [class~=grid] > [data-push-right*=_lg-0],
  [class*=grid-] > [data-push-right*=_lg-0],
  [class*=grid_] > [data-push-right*=_lg-0] {
    margin-right: 0;
  }

  [class~=grid] > [data-push-right*=_lg-1],
  [class*=grid-] > [data-push-right*=_lg-1],
  [class*=grid_] > [data-push-right*=_lg-1] {
    margin-right: 8.3333333333%;
  }

  [class~=grid] > [data-push-right*=_lg-2],
  [class*=grid-] > [data-push-right*=_lg-2],
  [class*=grid_] > [data-push-right*=_lg-2] {
    margin-right: 16.6666666667%;
  }

  [class~=grid] > [data-push-right*=_lg-3],
  [class*=grid-] > [data-push-right*=_lg-3],
  [class*=grid_] > [data-push-right*=_lg-3] {
    margin-right: 25%;
  }

  [class~=grid] > [data-push-right*=_lg-4],
  [class*=grid-] > [data-push-right*=_lg-4],
  [class*=grid_] > [data-push-right*=_lg-4] {
    margin-right: 33.3333333333%;
  }

  [class~=grid] > [data-push-right*=_lg-5],
  [class*=grid-] > [data-push-right*=_lg-5],
  [class*=grid_] > [data-push-right*=_lg-5] {
    margin-right: 41.6666666667%;
  }

  [class~=grid] > [data-push-right*=_lg-6],
  [class*=grid-] > [data-push-right*=_lg-6],
  [class*=grid_] > [data-push-right*=_lg-6] {
    margin-right: 50%;
  }

  [class~=grid] > [data-push-right*=_lg-7],
  [class*=grid-] > [data-push-right*=_lg-7],
  [class*=grid_] > [data-push-right*=_lg-7] {
    margin-right: 58.3333333333%;
  }

  [class~=grid] > [data-push-right*=_lg-8],
  [class*=grid-] > [data-push-right*=_lg-8],
  [class*=grid_] > [data-push-right*=_lg-8] {
    margin-right: 66.6666666667%;
  }

  [class~=grid] > [data-push-right*=_lg-9],
  [class*=grid-] > [data-push-right*=_lg-9],
  [class*=grid_] > [data-push-right*=_lg-9] {
    margin-right: 75%;
  }

  [class~=grid] > [data-push-right*=_lg-10],
  [class*=grid-] > [data-push-right*=_lg-10],
  [class*=grid_] > [data-push-right*=_lg-10] {
    margin-right: 83.3333333333%;
  }

  [class~=grid] > [data-push-right*=_lg-11],
  [class*=grid-] > [data-push-right*=_lg-11],
  [class*=grid_] > [data-push-right*=_lg-11] {
    margin-right: 91.6666666667%;
  }

  [class~=grid] [class*=_lg-first],
  [class*=grid-] [class*=_lg-first],
  [class*=grid_] [class*=_lg-first] {
    -webkit-box-ordinal-group: 0;
            order: -1;
  }

  [class~=grid] [class*=_lg-last],
  [class*=grid-] [class*=_lg-last],
  [class*=grid_] [class*=_lg-last] {
    -webkit-box-ordinal-group: 2;
            order: 1;
  }
}

@media (max-width: 64em) {
  [class~=grid] > [class*=_md-1],
  [class*=grid-] > [class*=_md-1],
  [class*=grid_] > [class*=_md-1] {
    flex-basis: 8.3333333333%;
    max-width: 8.3333333333%;
  }

  [class~=grid] > [class*=_md-2],
  [class*=grid-] > [class*=_md-2],
  [class*=grid_] > [class*=_md-2] {
    flex-basis: 16.6666666667%;
    max-width: 16.6666666667%;
  }

  [class~=grid] > [class*=_md-3],
  [class*=grid-] > [class*=_md-3],
  [class*=grid_] > [class*=_md-3] {
    flex-basis: 25%;
    max-width: 25%;
  }

  [class~=grid] > [class*=_md-4],
  [class*=grid-] > [class*=_md-4],
  [class*=grid_] > [class*=_md-4] {
    flex-basis: 33.3333333333%;
    max-width: 33.3333333333%;
  }

  [class~=grid] > [class*=_md-5],
  [class*=grid-] > [class*=_md-5],
  [class*=grid_] > [class*=_md-5] {
    flex-basis: 41.6666666667%;
    max-width: 41.6666666667%;
  }

  [class~=grid] > [class*=_md-6],
  [class*=grid-] > [class*=_md-6],
  [class*=grid_] > [class*=_md-6] {
    flex-basis: 50%;
    max-width: 50%;
  }

  [class~=grid] > [class*=_md-7],
  [class*=grid-] > [class*=_md-7],
  [class*=grid_] > [class*=_md-7] {
    flex-basis: 58.3333333333%;
    max-width: 58.3333333333%;
  }

  [class~=grid] > [class*=_md-8],
  [class*=grid-] > [class*=_md-8],
  [class*=grid_] > [class*=_md-8] {
    flex-basis: 66.6666666667%;
    max-width: 66.6666666667%;
  }

  [class~=grid] > [class*=_md-9],
  [class*=grid-] > [class*=_md-9],
  [class*=grid_] > [class*=_md-9] {
    flex-basis: 75%;
    max-width: 75%;
  }

  [class~=grid] > [class*=_md-10],
  [class*=grid-] > [class*=_md-10],
  [class*=grid_] > [class*=_md-10] {
    flex-basis: 83.3333333333%;
    max-width: 83.3333333333%;
  }

  [class~=grid] > [class*=_md-11],
  [class*=grid-] > [class*=_md-11],
  [class*=grid_] > [class*=_md-11] {
    flex-basis: 91.6666666667%;
    max-width: 91.6666666667%;
  }

  [class~=grid] > [class*=_md-12],
  [class*=grid-] > [class*=_md-12],
  [class*=grid_] > [class*=_md-12] {
    flex-basis: 100%;
    max-width: 100%;
  }

  [class~=grid] > [data-push-left*=_md-0],
  [class*=grid-] > [data-push-left*=_md-0],
  [class*=grid_] > [data-push-left*=_md-0] {
    margin-left: 0;
  }

  [class~=grid] > [data-push-left*=_md-1],
  [class*=grid-] > [data-push-left*=_md-1],
  [class*=grid_] > [data-push-left*=_md-1] {
    margin-left: 8.3333333333%;
  }

  [class~=grid] > [data-push-left*=_md-2],
  [class*=grid-] > [data-push-left*=_md-2],
  [class*=grid_] > [data-push-left*=_md-2] {
    margin-left: 16.6666666667%;
  }

  [class~=grid] > [data-push-left*=_md-3],
  [class*=grid-] > [data-push-left*=_md-3],
  [class*=grid_] > [data-push-left*=_md-3] {
    margin-left: 25%;
  }

  [class~=grid] > [data-push-left*=_md-4],
  [class*=grid-] > [data-push-left*=_md-4],
  [class*=grid_] > [data-push-left*=_md-4] {
    margin-left: 33.3333333333%;
  }

  [class~=grid] > [data-push-left*=_md-5],
  [class*=grid-] > [data-push-left*=_md-5],
  [class*=grid_] > [data-push-left*=_md-5] {
    margin-left: 41.6666666667%;
  }

  [class~=grid] > [data-push-left*=_md-6],
  [class*=grid-] > [data-push-left*=_md-6],
  [class*=grid_] > [data-push-left*=_md-6] {
    margin-left: 50%;
  }

  [class~=grid] > [data-push-left*=_md-7],
  [class*=grid-] > [data-push-left*=_md-7],
  [class*=grid_] > [data-push-left*=_md-7] {
    margin-left: 58.3333333333%;
  }

  [class~=grid] > [data-push-left*=_md-8],
  [class*=grid-] > [data-push-left*=_md-8],
  [class*=grid_] > [data-push-left*=_md-8] {
    margin-left: 66.6666666667%;
  }

  [class~=grid] > [data-push-left*=_md-9],
  [class*=grid-] > [data-push-left*=_md-9],
  [class*=grid_] > [data-push-left*=_md-9] {
    margin-left: 75%;
  }

  [class~=grid] > [data-push-left*=_md-10],
  [class*=grid-] > [data-push-left*=_md-10],
  [class*=grid_] > [data-push-left*=_md-10] {
    margin-left: 83.3333333333%;
  }

  [class~=grid] > [data-push-left*=_md-11],
  [class*=grid-] > [data-push-left*=_md-11],
  [class*=grid_] > [data-push-left*=_md-11] {
    margin-left: 91.6666666667%;
  }

  [class~=grid] > [data-push-right*=_md-0],
  [class*=grid-] > [data-push-right*=_md-0],
  [class*=grid_] > [data-push-right*=_md-0] {
    margin-right: 0;
  }

  [class~=grid] > [data-push-right*=_md-1],
  [class*=grid-] > [data-push-right*=_md-1],
  [class*=grid_] > [data-push-right*=_md-1] {
    margin-right: 8.3333333333%;
  }

  [class~=grid] > [data-push-right*=_md-2],
  [class*=grid-] > [data-push-right*=_md-2],
  [class*=grid_] > [data-push-right*=_md-2] {
    margin-right: 16.6666666667%;
  }

  [class~=grid] > [data-push-right*=_md-3],
  [class*=grid-] > [data-push-right*=_md-3],
  [class*=grid_] > [data-push-right*=_md-3] {
    margin-right: 25%;
  }

  [class~=grid] > [data-push-right*=_md-4],
  [class*=grid-] > [data-push-right*=_md-4],
  [class*=grid_] > [data-push-right*=_md-4] {
    margin-right: 33.3333333333%;
  }

  [class~=grid] > [data-push-right*=_md-5],
  [class*=grid-] > [data-push-right*=_md-5],
  [class*=grid_] > [data-push-right*=_md-5] {
    margin-right: 41.6666666667%;
  }

  [class~=grid] > [data-push-right*=_md-6],
  [class*=grid-] > [data-push-right*=_md-6],
  [class*=grid_] > [data-push-right*=_md-6] {
    margin-right: 50%;
  }

  [class~=grid] > [data-push-right*=_md-7],
  [class*=grid-] > [data-push-right*=_md-7],
  [class*=grid_] > [data-push-right*=_md-7] {
    margin-right: 58.3333333333%;
  }

  [class~=grid] > [data-push-right*=_md-8],
  [class*=grid-] > [data-push-right*=_md-8],
  [class*=grid_] > [data-push-right*=_md-8] {
    margin-right: 66.6666666667%;
  }

  [class~=grid] > [data-push-right*=_md-9],
  [class*=grid-] > [data-push-right*=_md-9],
  [class*=grid_] > [data-push-right*=_md-9] {
    margin-right: 75%;
  }

  [class~=grid] > [data-push-right*=_md-10],
  [class*=grid-] > [data-push-right*=_md-10],
  [class*=grid_] > [data-push-right*=_md-10] {
    margin-right: 83.3333333333%;
  }

  [class~=grid] > [data-push-right*=_md-11],
  [class*=grid-] > [data-push-right*=_md-11],
  [class*=grid_] > [data-push-right*=_md-11] {
    margin-right: 91.6666666667%;
  }

  [class~=grid] [class*=_md-first],
  [class*=grid-] [class*=_md-first],
  [class*=grid_] [class*=_md-first] {
    -webkit-box-ordinal-group: 0;
            order: -1;
  }

  [class~=grid] [class*=_md-last],
  [class*=grid-] [class*=_md-last],
  [class*=grid_] [class*=_md-last] {
    -webkit-box-ordinal-group: 2;
            order: 1;
  }
}

@media (max-width: 48em) {
  [class~=grid] > [class*=_sm-1],
  [class*=grid-] > [class*=_sm-1],
  [class*=grid_] > [class*=_sm-1] {
    flex-basis: 8.3333333333%;
    max-width: 8.3333333333%;
  }

  [class~=grid] > [class*=_sm-2],
  [class*=grid-] > [class*=_sm-2],
  [class*=grid_] > [class*=_sm-2] {
    flex-basis: 16.6666666667%;
    max-width: 16.6666666667%;
  }

  [class~=grid] > [class*=_sm-3],
  [class*=grid-] > [class*=_sm-3],
  [class*=grid_] > [class*=_sm-3] {
    flex-basis: 25%;
    max-width: 25%;
  }

  [class~=grid] > [class*=_sm-4],
  [class*=grid-] > [class*=_sm-4],
  [class*=grid_] > [class*=_sm-4] {
    flex-basis: 33.3333333333%;
    max-width: 33.3333333333%;
  }

  [class~=grid] > [class*=_sm-5],
  [class*=grid-] > [class*=_sm-5],
  [class*=grid_] > [class*=_sm-5] {
    flex-basis: 41.6666666667%;
    max-width: 41.6666666667%;
  }

  [class~=grid] > [class*=_sm-6],
  [class*=grid-] > [class*=_sm-6],
  [class*=grid_] > [class*=_sm-6] {
    flex-basis: 50%;
    max-width: 50%;
  }

  [class~=grid] > [class*=_sm-7],
  [class*=grid-] > [class*=_sm-7],
  [class*=grid_] > [class*=_sm-7] {
    flex-basis: 58.3333333333%;
    max-width: 58.3333333333%;
  }

  [class~=grid] > [class*=_sm-8],
  [class*=grid-] > [class*=_sm-8],
  [class*=grid_] > [class*=_sm-8] {
    flex-basis: 66.6666666667%;
    max-width: 66.6666666667%;
  }

  [class~=grid] > [class*=_sm-9],
  [class*=grid-] > [class*=_sm-9],
  [class*=grid_] > [class*=_sm-9] {
    flex-basis: 75%;
    max-width: 75%;
  }

  [class~=grid] > [class*=_sm-10],
  [class*=grid-] > [class*=_sm-10],
  [class*=grid_] > [class*=_sm-10] {
    flex-basis: 83.3333333333%;
    max-width: 83.3333333333%;
  }

  [class~=grid] > [class*=_sm-11],
  [class*=grid-] > [class*=_sm-11],
  [class*=grid_] > [class*=_sm-11] {
    flex-basis: 91.6666666667%;
    max-width: 91.6666666667%;
  }

  [class~=grid] > [class*=_sm-12],
  [class*=grid-] > [class*=_sm-12],
  [class*=grid_] > [class*=_sm-12] {
    flex-basis: 100%;
    max-width: 100%;
  }

  [class~=grid] > [data-push-left*=_sm-0],
  [class*=grid-] > [data-push-left*=_sm-0],
  [class*=grid_] > [data-push-left*=_sm-0] {
    margin-left: 0;
  }

  [class~=grid] > [data-push-left*=_sm-1],
  [class*=grid-] > [data-push-left*=_sm-1],
  [class*=grid_] > [data-push-left*=_sm-1] {
    margin-left: 8.3333333333%;
  }

  [class~=grid] > [data-push-left*=_sm-2],
  [class*=grid-] > [data-push-left*=_sm-2],
  [class*=grid_] > [data-push-left*=_sm-2] {
    margin-left: 16.6666666667%;
  }

  [class~=grid] > [data-push-left*=_sm-3],
  [class*=grid-] > [data-push-left*=_sm-3],
  [class*=grid_] > [data-push-left*=_sm-3] {
    margin-left: 25%;
  }

  [class~=grid] > [data-push-left*=_sm-4],
  [class*=grid-] > [data-push-left*=_sm-4],
  [class*=grid_] > [data-push-left*=_sm-4] {
    margin-left: 33.3333333333%;
  }

  [class~=grid] > [data-push-left*=_sm-5],
  [class*=grid-] > [data-push-left*=_sm-5],
  [class*=grid_] > [data-push-left*=_sm-5] {
    margin-left: 41.6666666667%;
  }

  [class~=grid] > [data-push-left*=_sm-6],
  [class*=grid-] > [data-push-left*=_sm-6],
  [class*=grid_] > [data-push-left*=_sm-6] {
    margin-left: 50%;
  }

  [class~=grid] > [data-push-left*=_sm-7],
  [class*=grid-] > [data-push-left*=_sm-7],
  [class*=grid_] > [data-push-left*=_sm-7] {
    margin-left: 58.3333333333%;
  }

  [class~=grid] > [data-push-left*=_sm-8],
  [class*=grid-] > [data-push-left*=_sm-8],
  [class*=grid_] > [data-push-left*=_sm-8] {
    margin-left: 66.6666666667%;
  }

  [class~=grid] > [data-push-left*=_sm-9],
  [class*=grid-] > [data-push-left*=_sm-9],
  [class*=grid_] > [data-push-left*=_sm-9] {
    margin-left: 75%;
  }

  [class~=grid] > [data-push-left*=_sm-10],
  [class*=grid-] > [data-push-left*=_sm-10],
  [class*=grid_] > [data-push-left*=_sm-10] {
    margin-left: 83.3333333333%;
  }

  [class~=grid] > [data-push-left*=_sm-11],
  [class*=grid-] > [data-push-left*=_sm-11],
  [class*=grid_] > [data-push-left*=_sm-11] {
    margin-left: 91.6666666667%;
  }

  [class~=grid] > [data-push-right*=_sm-0],
  [class*=grid-] > [data-push-right*=_sm-0],
  [class*=grid_] > [data-push-right*=_sm-0] {
    margin-right: 0;
  }

  [class~=grid] > [data-push-right*=_sm-1],
  [class*=grid-] > [data-push-right*=_sm-1],
  [class*=grid_] > [data-push-right*=_sm-1] {
    margin-right: 8.3333333333%;
  }

  [class~=grid] > [data-push-right*=_sm-2],
  [class*=grid-] > [data-push-right*=_sm-2],
  [class*=grid_] > [data-push-right*=_sm-2] {
    margin-right: 16.6666666667%;
  }

  [class~=grid] > [data-push-right*=_sm-3],
  [class*=grid-] > [data-push-right*=_sm-3],
  [class*=grid_] > [data-push-right*=_sm-3] {
    margin-right: 25%;
  }

  [class~=grid] > [data-push-right*=_sm-4],
  [class*=grid-] > [data-push-right*=_sm-4],
  [class*=grid_] > [data-push-right*=_sm-4] {
    margin-right: 33.3333333333%;
  }

  [class~=grid] > [data-push-right*=_sm-5],
  [class*=grid-] > [data-push-right*=_sm-5],
  [class*=grid_] > [data-push-right*=_sm-5] {
    margin-right: 41.6666666667%;
  }

  [class~=grid] > [data-push-right*=_sm-6],
  [class*=grid-] > [data-push-right*=_sm-6],
  [class*=grid_] > [data-push-right*=_sm-6] {
    margin-right: 50%;
  }

  [class~=grid] > [data-push-right*=_sm-7],
  [class*=grid-] > [data-push-right*=_sm-7],
  [class*=grid_] > [data-push-right*=_sm-7] {
    margin-right: 58.3333333333%;
  }

  [class~=grid] > [data-push-right*=_sm-8],
  [class*=grid-] > [data-push-right*=_sm-8],
  [class*=grid_] > [data-push-right*=_sm-8] {
    margin-right: 66.6666666667%;
  }

  [class~=grid] > [data-push-right*=_sm-9],
  [class*=grid-] > [data-push-right*=_sm-9],
  [class*=grid_] > [data-push-right*=_sm-9] {
    margin-right: 75%;
  }

  [class~=grid] > [data-push-right*=_sm-10],
  [class*=grid-] > [data-push-right*=_sm-10],
  [class*=grid_] > [data-push-right*=_sm-10] {
    margin-right: 83.3333333333%;
  }

  [class~=grid] > [data-push-right*=_sm-11],
  [class*=grid-] > [data-push-right*=_sm-11],
  [class*=grid_] > [data-push-right*=_sm-11] {
    margin-right: 91.6666666667%;
  }

  [class~=grid] [class*=_sm-first],
  [class*=grid-] [class*=_sm-first],
  [class*=grid_] [class*=_sm-first] {
    -webkit-box-ordinal-group: 0;
            order: -1;
  }

  [class~=grid] [class*=_sm-last],
  [class*=grid-] [class*=_sm-last],
  [class*=grid_] [class*=_sm-last] {
    -webkit-box-ordinal-group: 2;
            order: 1;
  }
}

@media (max-width: 36em) {
  [class~=grid] > [class*=_xs-1],
  [class*=grid-] > [class*=_xs-1],
  [class*=grid_] > [class*=_xs-1] {
    flex-basis: 8.3333333333%;
    max-width: 8.3333333333%;
  }

  [class~=grid] > [class*=_xs-2],
  [class*=grid-] > [class*=_xs-2],
  [class*=grid_] > [class*=_xs-2] {
    flex-basis: 16.6666666667%;
    max-width: 16.6666666667%;
  }

  [class~=grid] > [class*=_xs-3],
  [class*=grid-] > [class*=_xs-3],
  [class*=grid_] > [class*=_xs-3] {
    flex-basis: 25%;
    max-width: 25%;
  }

  [class~=grid] > [class*=_xs-4],
  [class*=grid-] > [class*=_xs-4],
  [class*=grid_] > [class*=_xs-4] {
    flex-basis: 33.3333333333%;
    max-width: 33.3333333333%;
  }

  [class~=grid] > [class*=_xs-5],
  [class*=grid-] > [class*=_xs-5],
  [class*=grid_] > [class*=_xs-5] {
    flex-basis: 41.6666666667%;
    max-width: 41.6666666667%;
  }

  [class~=grid] > [class*=_xs-6],
  [class*=grid-] > [class*=_xs-6],
  [class*=grid_] > [class*=_xs-6] {
    flex-basis: 50%;
    max-width: 50%;
  }

  [class~=grid] > [class*=_xs-7],
  [class*=grid-] > [class*=_xs-7],
  [class*=grid_] > [class*=_xs-7] {
    flex-basis: 58.3333333333%;
    max-width: 58.3333333333%;
  }

  [class~=grid] > [class*=_xs-8],
  [class*=grid-] > [class*=_xs-8],
  [class*=grid_] > [class*=_xs-8] {
    flex-basis: 66.6666666667%;
    max-width: 66.6666666667%;
  }

  [class~=grid] > [class*=_xs-9],
  [class*=grid-] > [class*=_xs-9],
  [class*=grid_] > [class*=_xs-9] {
    flex-basis: 75%;
    max-width: 75%;
  }

  [class~=grid] > [class*=_xs-10],
  [class*=grid-] > [class*=_xs-10],
  [class*=grid_] > [class*=_xs-10] {
    flex-basis: 83.3333333333%;
    max-width: 83.3333333333%;
  }

  [class~=grid] > [class*=_xs-11],
  [class*=grid-] > [class*=_xs-11],
  [class*=grid_] > [class*=_xs-11] {
    flex-basis: 91.6666666667%;
    max-width: 91.6666666667%;
  }

  [class~=grid] > [class*=_xs-12],
  [class*=grid-] > [class*=_xs-12],
  [class*=grid_] > [class*=_xs-12] {
    flex-basis: 100%;
    max-width: 100%;
  }

  [class~=grid] > [data-push-left*=_xs-0],
  [class*=grid-] > [data-push-left*=_xs-0],
  [class*=grid_] > [data-push-left*=_xs-0] {
    margin-left: 0;
  }

  [class~=grid] > [data-push-left*=_xs-1],
  [class*=grid-] > [data-push-left*=_xs-1],
  [class*=grid_] > [data-push-left*=_xs-1] {
    margin-left: 8.3333333333%;
  }

  [class~=grid] > [data-push-left*=_xs-2],
  [class*=grid-] > [data-push-left*=_xs-2],
  [class*=grid_] > [data-push-left*=_xs-2] {
    margin-left: 16.6666666667%;
  }

  [class~=grid] > [data-push-left*=_xs-3],
  [class*=grid-] > [data-push-left*=_xs-3],
  [class*=grid_] > [data-push-left*=_xs-3] {
    margin-left: 25%;
  }

  [class~=grid] > [data-push-left*=_xs-4],
  [class*=grid-] > [data-push-left*=_xs-4],
  [class*=grid_] > [data-push-left*=_xs-4] {
    margin-left: 33.3333333333%;
  }

  [class~=grid] > [data-push-left*=_xs-5],
  [class*=grid-] > [data-push-left*=_xs-5],
  [class*=grid_] > [data-push-left*=_xs-5] {
    margin-left: 41.6666666667%;
  }

  [class~=grid] > [data-push-left*=_xs-6],
  [class*=grid-] > [data-push-left*=_xs-6],
  [class*=grid_] > [data-push-left*=_xs-6] {
    margin-left: 50%;
  }

  [class~=grid] > [data-push-left*=_xs-7],
  [class*=grid-] > [data-push-left*=_xs-7],
  [class*=grid_] > [data-push-left*=_xs-7] {
    margin-left: 58.3333333333%;
  }

  [class~=grid] > [data-push-left*=_xs-8],
  [class*=grid-] > [data-push-left*=_xs-8],
  [class*=grid_] > [data-push-left*=_xs-8] {
    margin-left: 66.6666666667%;
  }

  [class~=grid] > [data-push-left*=_xs-9],
  [class*=grid-] > [data-push-left*=_xs-9],
  [class*=grid_] > [data-push-left*=_xs-9] {
    margin-left: 75%;
  }

  [class~=grid] > [data-push-left*=_xs-10],
  [class*=grid-] > [data-push-left*=_xs-10],
  [class*=grid_] > [data-push-left*=_xs-10] {
    margin-left: 83.3333333333%;
  }

  [class~=grid] > [data-push-left*=_xs-11],
  [class*=grid-] > [data-push-left*=_xs-11],
  [class*=grid_] > [data-push-left*=_xs-11] {
    margin-left: 91.6666666667%;
  }

  [class~=grid] > [data-push-right*=_xs-0],
  [class*=grid-] > [data-push-right*=_xs-0],
  [class*=grid_] > [data-push-right*=_xs-0] {
    margin-right: 0;
  }

  [class~=grid] > [data-push-right*=_xs-1],
  [class*=grid-] > [data-push-right*=_xs-1],
  [class*=grid_] > [data-push-right*=_xs-1] {
    margin-right: 8.3333333333%;
  }

  [class~=grid] > [data-push-right*=_xs-2],
  [class*=grid-] > [data-push-right*=_xs-2],
  [class*=grid_] > [data-push-right*=_xs-2] {
    margin-right: 16.6666666667%;
  }

  [class~=grid] > [data-push-right*=_xs-3],
  [class*=grid-] > [data-push-right*=_xs-3],
  [class*=grid_] > [data-push-right*=_xs-3] {
    margin-right: 25%;
  }

  [class~=grid] > [data-push-right*=_xs-4],
  [class*=grid-] > [data-push-right*=_xs-4],
  [class*=grid_] > [data-push-right*=_xs-4] {
    margin-right: 33.3333333333%;
  }

  [class~=grid] > [data-push-right*=_xs-5],
  [class*=grid-] > [data-push-right*=_xs-5],
  [class*=grid_] > [data-push-right*=_xs-5] {
    margin-right: 41.6666666667%;
  }

  [class~=grid] > [data-push-right*=_xs-6],
  [class*=grid-] > [data-push-right*=_xs-6],
  [class*=grid_] > [data-push-right*=_xs-6] {
    margin-right: 50%;
  }

  [class~=grid] > [data-push-right*=_xs-7],
  [class*=grid-] > [data-push-right*=_xs-7],
  [class*=grid_] > [data-push-right*=_xs-7] {
    margin-right: 58.3333333333%;
  }

  [class~=grid] > [data-push-right*=_xs-8],
  [class*=grid-] > [data-push-right*=_xs-8],
  [class*=grid_] > [data-push-right*=_xs-8] {
    margin-right: 66.6666666667%;
  }

  [class~=grid] > [data-push-right*=_xs-9],
  [class*=grid-] > [data-push-right*=_xs-9],
  [class*=grid_] > [data-push-right*=_xs-9] {
    margin-right: 75%;
  }

  [class~=grid] > [data-push-right*=_xs-10],
  [class*=grid-] > [data-push-right*=_xs-10],
  [class*=grid_] > [data-push-right*=_xs-10] {
    margin-right: 83.3333333333%;
  }

  [class~=grid] > [data-push-right*=_xs-11],
  [class*=grid-] > [data-push-right*=_xs-11],
  [class*=grid_] > [data-push-right*=_xs-11] {
    margin-right: 91.6666666667%;
  }

  [class~=grid] [class*=_xs-first],
  [class*=grid-] [class*=_xs-first],
  [class*=grid_] [class*=_xs-first] {
    -webkit-box-ordinal-group: 0;
            order: -1;
  }

  [class~=grid] [class*=_xs-last],
  [class*=grid-] [class*=_xs-last],
  [class*=grid_] [class*=_xs-last] {
    -webkit-box-ordinal-group: 2;
            order: 1;
  }
}

/************************
    HIDING COLS
*************************/

@media (max-width: 80em) {
  [class*=lg-hidden] {
    display: none;
  }
}

@media (max-width: 64em) {
  [class*=md-hidden] {
    display: none;
  }
}

@media (max-width: 48em) {
  [class*=sm-hidden] {
    display: none;
  }
}

@media (max-width: 36em) {
  [class*=xs-hidden] {
    display: none;
  }
}

/*! normalize.css v7.0.0 | MIT License | github.com/necolas/normalize.css */

/* Document
   ========================================================================== */

/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in
 *    IE on Windows Phone and in iOS.
 */

html {
  line-height: 1.15; /* 1 */
  -ms-text-size-adjust: 100%; /* 2 */
  -webkit-text-size-adjust: 100%; /* 2 */
}

/* Sections
   ========================================================================== */

/**
 * Remove the margin in all browsers (opinionated).
 */

body {
  margin: 0;
}

/**
 * Add the correct display in IE 9-.
 */

article,
aside,
footer,
header,
nav,
section {
  display: block;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */

h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

/* Grouping content
   ========================================================================== */

/**
 * Add the correct display in IE 9-.
 * 1. Add the correct display in IE.
 */

figcaption,
figure,
main { /* 1 */
  display: block;
}

/**
 * Add the correct margin in IE 8.
 */

figure {
  margin: 1em 40px;
}

/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */

hr {
  box-sizing: content-box; /* 1 */
  height: 0; /* 1 */
  overflow: visible; /* 2 */
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */

pre {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/* Text-level semantics
   ========================================================================== */

/**
 * 1. Remove the gray background on active links in IE 10.
 * 2. Remove gaps in links underline in iOS 8+ and Safari 8+.
 */

a {
  background-color: transparent; /* 1 */
  -webkit-text-decoration-skip: objects; /* 2 */
}

/**
 * 1. Remove the bottom border in Chrome 57- and Firefox 39-.
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */

abbr[title] {
  border-bottom: none; /* 1 */
  text-decoration: underline; /* 2 */
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted; /* 2 */
}

/**
 * Prevent the duplicate application of `bolder` by the next rule in Safari 6.
 */

b,
strong {
  font-weight: inherit;
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */

b,
strong {
  font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */

code,
kbd,
samp {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/**
 * Add the correct font style in Android 4.3-.
 */

dfn {
  font-style: italic;
}

/**
 * Add the correct background and color in IE 9-.
 */

mark {
  background-color: #ff0;
  color: #000;
}

/**
 * Add the correct font size in all browsers.
 */

small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Embedded content
   ========================================================================== */

/**
 * Add the correct display in IE 9-.
 */

audio,
video {
  display: inline-block;
}

/**
 * Add the correct display in iOS 4-7.
 */

audio:not([controls]) {
  display: none;
  height: 0;
}

/**
 * Remove the border on images inside links in IE 10-.
 */

img {
  border-style: none;
}

/**
 * Hide the overflow in IE.
 */

svg:not(:root) {
  overflow: hidden;
}

/* Forms
   ========================================================================== */

/**
 * 1. Change the font styles in all browsers (opinionated).
 * 2. Remove the margin in Firefox and Safari.
 */

button,
input,
optgroup,
select,
textarea {
  font-family: sans-serif; /* 1 */
  font-size: 100%; /* 1 */
  line-height: 1.15; /* 1 */
  margin: 0; /* 2 */
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */

button,
input { /* 1 */
  overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */

button,
select { /* 1 */
  text-transform: none;
}

/**
 * 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`
 *    controls in Android 4.
 * 2. Correct the inability to style clickable types in iOS and Safari.
 */

button,
html [type=button],
[type=reset],
[type=submit] {
  -webkit-appearance: button; /* 2 */
}

/**
 * Remove the inner border and padding in Firefox.
 */

button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */

button:-moz-focusring,
[type=button]:-moz-focusring,
[type=reset]:-moz-focusring,
[type=submit]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */

fieldset {
  padding: 0.35em 0.75em 0.625em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */

legend {
  box-sizing: border-box; /* 1 */
  color: inherit; /* 2 */
  display: table; /* 1 */
  max-width: 100%; /* 1 */
  padding: 0; /* 3 */
  white-space: normal; /* 1 */
}

/**
 * 1. Add the correct display in IE 9-.
 * 2. Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */

progress {
  display: inline-block; /* 1 */
  vertical-align: baseline; /* 2 */
}

/**
 * Remove the default vertical scrollbar in IE.
 */

textarea {
  overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10-.
 * 2. Remove the padding in IE 10-.
 */

[type=checkbox],
[type=radio] {
  box-sizing: border-box; /* 1 */
  padding: 0; /* 2 */
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */

[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */

[type=search] {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}

/**
 * Remove the inner padding and cancel buttons in Chrome and Safari on macOS.
 */

[type=search]::-webkit-search-cancel-button,
[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */

::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/* Interactive
   ========================================================================== */

/*
 * Add the correct display in IE 9-.
 * 1. Add the correct display in Edge, IE, and Firefox.
 */

details,
menu {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */

summary {
  display: list-item;
}

/* Scripting
   ========================================================================== */

/**
 * Add the correct display in IE 9-.
 */

canvas {
  display: inline-block;
}

/**
 * Add the correct display in IE.
 */

template {
  display: none;
}

/* Hidden
   ========================================================================== */

/**
 * Add the correct display in IE 10-.
 */

[hidden] {
  display: none;
}

/**
 * React Select Plus
 * =================
 * MIT License: https://github.com/HubSpot/react-select-plus
*/

@keyframes Select-animation-spin {
  to {
    -webkit-transform: rotate(1turn);
            transform: rotate(1turn);
  }
}

@-webkit-keyframes Select-animation-spin {
  to {
    -webkit-transform: rotate(1turn);
  }
}

.Select {
  position: relative;
}

.Select input::-webkit-contacts-auto-fill-button,
.Select input::-webkit-credentials-auto-fill-button {
  display: none !important;
}

.Select input::-ms-clear {
  display: none !important;
}

.Select input::-ms-reveal {
  display: none !important;
}

.Select, .Select div, .Select input, .Select span {
  box-sizing: border-box;
}

.Select.is-disabled .Select-arrow-zone {
  cursor: default;
  pointer-events: none;
}

.Select.is-disabled > .Select-control {
  background-color: #f9f9f9;
}

.Select.is-disabled > .Select-control:hover {
  box-shadow: none;
}

.Select.is-searchable.is-open > .Select-control {
  cursor: text;
}

.Select.is-searchable.is-focused:not(.is-open) > .Select-control {
  cursor: text;
}

.Select.is-open > .Select-control {
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
  background: #fff;
  border-color: #b3b3b3 #ccc #d9d9d9;
}

.Select.is-open > .Select-control .Select-arrow {
  top: -2px;
  border-color: transparent transparent #999;
  border-width: 0 5px 5px;
}

.Select.is-focused > .Select-control {
  background: #fff;
}

.Select.is-focused:not(.is-open) > .Select-control {
  border-color: #08c #0099e6 #0099e6;
  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1), 0 0 5px -1px fade(#08c, 50%);
}

.Select.has-value.is-clearable.Select--single > .Select-control .Select-value {
  padding-right: 42px;
}

.Select.has-value.Select--single > .Select-control .Select-value .Select-value-label, .Select.has-value.is-pseudo-focused.Select--single > .Select-control .Select-value .Select-value-label {
  color: #333;
}

.Select.has-value.Select--single > .Select-control .Select-value a.Select-value-label, .Select.has-value.is-pseudo-focused.Select--single > .Select-control .Select-value a.Select-value-label {
  cursor: pointer;
  text-decoration: none;
}

.Select.has-value.Select--single > .Select-control .Select-value a.Select-value-label:hover, .Select.has-value.Select--single > .Select-control .Select-value a.Select-value-label:focus, .Select.has-value.is-pseudo-focused.Select--single > .Select-control .Select-value a.Select-value-label:hover, .Select.has-value.is-pseudo-focused.Select--single > .Select-control .Select-value a.Select-value-label:focus {
  color: #08c;
  outline: none;
  text-decoration: underline;
}

.Select.has-value.Select--single > .Select-control .Select-value a.Select-value-label:focus, .Select.has-value.is-pseudo-focused.Select--single > .Select-control .Select-value a.Select-value-label:focus {
  background: #fff;
}

.Select.has-value.is-pseudo-focused .Select-input {
  opacity: 0;
}

.Select.is-open .Select-arrow,
.Select .Select-arrow-zone:hover > .Select-arrow {
  border-top-color: #666;
}

.Select.Select--rtl {
  direction: rtl;
  text-align: right;
}

.Select-control {
  background-color: #fff;
  border-color: #d9d9d9 #ccc #b3b3b3;
  border-radius: 4px;
  border: 1px solid #ccc;
  color: #333;
  cursor: default;
  display: table;
  border-spacing: 0;
  border-collapse: separate;
  height: 36px;
  outline: none;
  overflow: hidden;
  position: relative;
  width: 100%;
}

.Select-control:hover {
  box-shadow: 0 1px 0 rgba(0, 0, 0, 0.06);
}

.Select-control .Select-input:focus {
  outline: none;
  background: #fff;
}

.Select-placeholder,
.Select--single > .Select-control .Select-value {
  bottom: 0;
  color: #aaa;
  left: 0;
  line-height: 34px;
  padding-left: 10px;
  padding-right: 10px;
  position: absolute;
  right: 0;
  top: 0;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.Select-input {
  height: 34px;
  padding-left: 10px;
  padding-right: 10px;
  vertical-align: middle;
}

.Select-input > input {
  background: none transparent;
  border: 0 none;
  box-shadow: none;
  cursor: default;
  display: inline-block;
  font-family: inherit;
  font-size: inherit;
  margin: 0;
  outline: none;
  line-height: 17px; /* For IE 8 compatibility */
  padding: 8px 0 12px; /* For IE 8 compatibility */
  -webkit-appearance: none;
}

.is-focused .Select-input > input {
  cursor: text;
}

.Select-control:not(.is-searchable) > .Select-input {
  outline: none;
}

.Select-loading-zone {
  cursor: pointer;
  display: table-cell;
  position: relative;
  text-align: center;
  vertical-align: middle;
  width: 16px;
}

.Select-loading {
  -webkit-animation: Select-animation-spin 400ms infinite linear;
  animation: Select-animation-spin 400ms infinite linear;
  width: 16px;
  height: 16px;
  box-sizing: border-box;
  border-radius: 50%;
  border: 2px solid #ccc;
  border-right-color: #333;
  display: inline-block;
  position: relative;
  vertical-align: middle;
}

.Select-clear-zone {
  -webkit-animation: Select-animation-fadeIn 200ms;
  animation: Select-animation-fadeIn 200ms;
  color: #999;
  cursor: pointer;
  display: table-cell;
  position: relative;
  text-align: center;
  vertical-align: middle;
  width: 17px;
}

.Select-clear-zone:hover {
  color: #D0021B;
}

.Select-clear {
  display: inline-block;
  font-size: 18px;
  line-height: 1;
}

.Select--multi .Select-clear-zone {
  width: 17px;
}

.Select--multi .Select-multi-value-wrapper {
  display: inline-block;
}

.Select .Select-aria-only {
  position: absolute;
  display: inline-block;
  height: 1px;
  width: 1px;
  margin: -1px;
  clip: rect(0, 0, 0, 0);
  overflow: hidden;
  float: left;
}

.Select-arrow-zone {
  cursor: pointer;
  display: table-cell;
  position: relative;
  text-align: center;
  vertical-align: middle;
  width: 25px;
  padding-right: 5px;
}

.Select--rtl .Select-arrow-zone {
  padding-right: 0;
  padding-left: 5px;
}

.Select-arrow {
  border-color: #999 transparent transparent;
  border-style: solid;
  border-width: 5px 5px 2.5px;
  display: inline-block;
  height: 0;
  width: 0;
  position: relative;
}

@-webkit-keyframes Select-animation-fadeIn {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

@keyframes Select-animation-fadeIn {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

.Select-menu-outer {
  border-bottom-right-radius: 4px;
  border-bottom-left-radius: 4px;
  background-color: #fff;
  border: 1px solid #ccc;
  border-top-color: #e6e6e6;
  box-shadow: 0 1px 0 rgba(0, 0, 0, 0.06);
  box-sizing: border-box;
  margin-top: -1px;
  max-height: 200px;
  position: absolute;
  top: 100%;
  width: 100%;
  z-index: 1000;
  -webkit-overflow-scrolling: touch;
}

.Select-menu {
  max-height: 198px;
  overflow-y: auto;
}

.Select-option {
  box-sizing: border-box;
  background-color: #fff;
  color: #666666;
  cursor: pointer;
  display: block;
  padding: 8px 10px;
}

.Select-option:last-child {
  border-bottom-right-radius: 4px;
  border-bottom-left-radius: 4px;
}

.Select-option.is-selected {
  background-color: #f5faff;
  color: #333;
}

.Select-option.is-focused {
  background-color: #f2f9fc;
  color: #333;
}

.Select-option.is-disabled {
  color: #cccccc;
  cursor: default;
}

.Select-noresults {
  box-sizing: border-box;
  color: #999999;
  cursor: default;
  display: block;
  padding: 8px 10px;
}

.Select--multi .Select-input {
  vertical-align: middle;
  margin-left: 10px;
  padding: 0;
}

.Select--multi.Select--rtl .Select-input {
  margin-left: 0;
  margin-right: 10px;
}

.Select--multi.has-value .Select-input {
  margin-left: 5px;
}

.Select--multi .Select-value {
  background-color: #f2f9fc;
  border-radius: 2px;
  border: 1px solid #c9e6f2;
  color: #08c;
  display: inline-block;
  font-size: 0.9em;
  margin-left: 5px;
  margin-top: 5px;
  vertical-align: top;
}

.Select--multi .Select-value-icon,
.Select--multi .Select-value-label {
  display: inline-block;
  vertical-align: middle;
}

.Select--multi .Select-value-label {
  border-bottom-right-radius: 2px;
  border-top-right-radius: 2px;
  cursor: default;
  padding: 2px 5px;
}

.Select--multi a.Select-value-label {
  color: #08c;
  cursor: pointer;
  text-decoration: none;
}

.Select--multi a.Select-value-label:hover {
  text-decoration: underline;
}

.Select--multi .Select-value-icon {
  cursor: pointer;
  border-bottom-left-radius: 2px;
  border-top-left-radius: 2px;
  border-right: 1px solid #c9e6f2;
  padding: 1px 5px 3px;
}

.Select--multi .Select-value-icon:hover, .Select--multi .Select-value-icon:focus {
  background-color: #ddeff7;
  color: #0077b3;
}

.Select--multi .Select-value-icon:active {
  background-color: #c9e6f2;
}

.Select--multi.Select--rtl .Select-value {
  margin-left: 0;
  margin-right: 5px;
}

.Select--multi.Select--rtl .Select-value-icon {
  border-right: none;
  border-left: 1px solid #c9e6f2;
}

.Select--multi.is-disabled .Select-value {
  background-color: #fcfcfc;
  border: 1px solid #e3e3e3;
  color: #333;
}

.Select--multi.is-disabled .Select-value-icon {
  cursor: not-allowed;
  border-right: 1px solid #e3e3e3;
}

.Select--multi.is-disabled .Select-value-icon:hover, .Select--multi.is-disabled .Select-value-icon:focus, .Select--multi.is-disabled .Select-value-icon:active {
  background-color: #fcfcfc;
}

@keyframes Select-animation-spin {
  to {
    -webkit-transform: rotate(1turn);
            transform: rotate(1turn);
  }
}

@-webkit-keyframes Select-animation-spin {
  to {
    -webkit-transform: rotate(1turn);
  }
}

/*
Colors

Styleguide colors
*/

/*
Primary Colors

@react-docs PrimaryColorsPalette

Weight: 1

Styleguide colors.primary

*/

/*
Gray scale

@react-docs GrayscalePalette

Weight: 2

Styleguide colors.grays
*/

/*
Extended Colors

@react-docs ColorsExtendedPalette

Weight: 3

Styleguide colors.extended
*/

/*
Nesting colors

*/

/*
Colors

Styleguide colors
*/

/*
Primary Colors

@react-docs PrimaryColorsPalette

Weight: 1

Styleguide colors.primary

*/

/*
Gray scale

@react-docs GrayscalePalette

Weight: 2

Styleguide colors.grays
*/

/*
Extended Colors

@react-docs ColorsExtendedPalette

Weight: 3

Styleguide colors.extended
*/

/*
Nesting colors

*/

/* NEW */

/**
 * Typography
 */

/**
 * Accessibility
 */

/*
Typography

Styleguide typography
*/

/*
Font variables

Typically, correct typography styles should be achieved by using the proper HTML tag (`<p>` for
text, `<h*>` for headings, `<code>` for code, etc.). The following variables are provided for the
rare cases where custom styling is necessary and should be used sparingly:

- `$nova-font-family`

Styleguide typography.variables
*/

body {
  text-transform: none;
  line-height: 1.5;
  letter-spacing: 0;
  font-family: "SamsungOne", "Helvetica Neue", "Arial", "sans-serif";
  font-size: 15px;
  font-weight: 500;
  color: #252525;
}

/*
Headings

Markup:
<h1>Page Title (h1)</h1>
<h2>Page Title (h2)</h2>
<h3>Subpage Title (h3)</h3>
<h4>Section Title (h4)</h4>
<h5>Section Title (h5)</h5>
<h6>Section Title (h6)</h6>


Weight: 3

Styleguide typography.headings
*/

h1 {
  margin: 0 0 10px;
  padding: 0;
  line-height: 56px;
  font-family: "SamsungOne", "Helvetica Neue", "Arial", "sans-serif";
  font-size: 48px;
  font-weight: 700;
}

h2 {
  margin: 0 0 10px;
  padding: 0;
  line-height: 40px;
  font-family: "SamsungOne", "Helvetica Neue", "Arial", "sans-serif";
  font-size: 36px;
  font-weight: 500;
}

h3 {
  margin: 0 0 10px;
  padding: 0;
  line-height: 32px;
  font-family: "SamsungOne", "Helvetica Neue", "Arial", "sans-serif";
  font-size: 24px;
  font-weight: 500;
}

h4 {
  margin: 0 0 10px;
  padding: 0;
  line-height: 24px;
  font-family: "SamsungOne", "Helvetica Neue", "Arial", "sans-serif";
  font-size: 20px;
  font-weight: 700;
}

h5 {
  margin: 0 0 10px;
  padding: 0;
  line-height: 24px;
  font-family: "SamsungOne", "Helvetica Neue", "Arial", "sans-serif";
  font-size: 18px;
  font-weight: 700;
}

h6 {
  margin: 0 0 10px;
  padding: 0;
  line-height: 24px;
  font-family: "SamsungOne", "Helvetica Neue", "Arial", "sans-serif";
  font-size: 16px;
  font-weight: 700;
}

/*
UI text

Markup:
<p>This is body copy (p)</p>
<label class="nova-label">
  Form Label & Test
</label>
<br/>
<label class="nova-label nova-label-small">
  Hint Label
</label>
<br/>
<span class="nova-hint">
  Hint Text
</span>

Weight: 4

Styleguide typography.ui-text
*/

.nova-label {
  display: inline-block;
  margin: 0 0 15px;
  line-height: 16px;
  font-size: 14px;
  font-weight: 700;
}

.nova-label-small {
  font-size: 13px;
}

.nova-hint {
  line-height: 16px;
  font-size: 13px;
  font-weight: 400;
}

/*
Code Block

Use `.nova-code-block` along with `<pre>` and `<code>`
to represent preformatted text


Markup:
<div class="nova-code-block">
<pre><code>&lt;h3&gt;Sample title here...&lt;/h3&gt;
&lt;p&gt;Paragraph text goes here...&lt;/p&gt;</code></pre>
</div>

Weight: 8

Styleguide typography.code-block
*/

.nova-code-block pre,
.nova-code-block code {
  text-transform: none;
  font-family: Consolas, Monaco, "Andale Mono", "Ubuntu Mono", monospace;
  font-size: 13px;
}

.nova-code-block code {
  border-radius: 3px;
  background-color: #F5F5F5;
  padding: 2px 5px;
}

.nova-code-block pre > code {
  border-radius: 0;
  box-shadow: none;
  background: transparent;
  padding: 0;
  white-space: pre-wrap;
  color: inherit;
  font-size: inherit;
}

/*
Lists


Markup:
<ul class="{{.modifier}}">
  <li>Item the first</li>
  <li>Item the second</li>
  <li>Item the third</li>
</ul>
<ol class="{{.modifier}}">
  <li>Item the first</li>
  <li>Item the second</li>
  <li>Item the third</li>
</ol>

.nova-list - Add a little spacing between items for readability.
.nova-list-unstyled - Remove all list styling (including indicators) so you can add your own.


Weight: 8

Styleguide typography.lists
*/

ol,
ul {
  margin: 0;
  padding-left: 40px;
}

.nova-list li:not(:last-child) {
  padding-bottom: 5px;
}

.nova-list li :last-child {
  margin-bottom: 0;
}

.nova-list ol,
.nova-list ul {
  margin-top: 5px;
}

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

.nova-list-unstyled li {
  padding: 0;
}

/*
Text Modifiers

Standardized treatment of type

Markup:
<div class="{{.modifier}}" style="width: 340px";>
  Lorem ipsum dolor sit amet, consectetur adipiscing elit.
  Maecenas vitae tortor id ex scelerisque interdum eget quis sem.
</div>

.nova-text-mute - Change text color to grey, usually used to de-emphasize the texts.
.nova-text-overflow-ellipsis - Truncates a single line of text with an ellipsis if it overflows.

Weight: 9

Styleguide typography.utilities
 */

.nova-text-mute {
  color: #79808A;
}

.nova-text-overflow-ellipsis {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/*
Links

Simply use an `<a href="">` tag as you normally would. No class is necessary for Blueprint styles.
Links are underlined only when hovered.

Weight: 8

Styleguide typography.links
*/

a {
  text-decoration: none;
  color: #2068D3;
}

a:hover {
  cursor: pointer;
  text-decoration: underline;
  color: #133c7a;
}

/*
Icons

@react-docs IconsGrid

Styleguide icons
*/

/*
Colors

Styleguide colors
*/

/*
Primary Colors

@react-docs PrimaryColorsPalette

Weight: 1

Styleguide colors.primary

*/

/*
Gray scale

@react-docs GrayscalePalette

Weight: 2

Styleguide colors.grays
*/

/*
Extended Colors

@react-docs ColorsExtendedPalette

Weight: 3

Styleguide colors.extended
*/

/*
Nesting colors

*/

/*
Accordion

Styleguide components.accordion
*/

/*
CSS API

Markup:
<div class="nova-accordion">
  <div class="nova-accordion-item active">
    <h3 class="nova-accordion-item-title">
      <span class="nova-accordion-item-chevron nova-icon-down"></span>
      header 1
    </h3>
    <div class="nova-accordion-item-body">
      body 1
    </div>
  </div>
  <div class="nova-accordion-item">
    <h3 class="nova-accordion-item-title">
      <span class="nova-accordion-item-chevron nova-icon-down"></span>
      header 2
    </h3>
    <div class="nova-accordion-item-body">
      body 2
    </div>
  </div>
</div>

Styleguide components.accordion.css
*/

.nova-accordion-item > button {
  outline: none;
  border: none;
  background-color: transparent;
  padding: 0;
  line-height: inherit;
  color: inherit;
}

.nova-accordion-item-title {
  position: relative;
  cursor: pointer;
  padding-left: 20px;
}

.nova-accordion-item-chevron {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  -webkit-transform: rotate(270deg);
          transform: rotate(270deg);
}

.nova-accordion-item-chevron::before {
  font-size: 16px;
}

.nova-accordion-item-body {
  display: none;
}

.nova-accordion-item.active > button .nova-accordion-item-chevron {
  -webkit-transform: rotate(0);
          transform: rotate(0);
}

.nova-accordion-item.active > .nova-accordion-item-body {
  display: block;
}

/*
JavaScript API


@interface Accordion

@react-example AccordionExample

```jsx
<Accordion activeItems={[0]} allowMultiple>
  <AccordionItem header={'header 1'}>
    body 1
  </AccordionItem>
  <AccordionItem header={'header 2'}>
    body 2
  </AccordionItem>
</Accordion>
```

Styleguide components.accordion.js
*/

/*
Colors

Styleguide colors
*/

/*
Primary Colors

@react-docs PrimaryColorsPalette

Weight: 1

Styleguide colors.primary

*/

/*
Gray scale

@react-docs GrayscalePalette

Weight: 2

Styleguide colors.grays
*/

/*
Extended Colors

@react-docs ColorsExtendedPalette

Weight: 3

Styleguide colors.extended
*/

/*
Nesting colors

*/

/*
Buttons

Buttons trigger actions when clicked.

Styleguide components.button
*/

/*
CSS API

Markup:
<button type="button" class="nova-button {{.modifier}}" {{:modifier}}>
  Button
</button>

.nova-button-primary - Most important button on the page
.nova-button-danger - Sometimes it is important to warn user before they taking an action
.nova-button-outline - In need of a button, but not the hefty background colors they bring?
.nova-button-naked - Less important button
.nova-button-minimal - no padding, no height
:disabled - Disabed button


Styleguide components.button.css
*/

.nova-button {
  font-size: 14px;
  font-weight: 700;
  display: -webkit-inline-box;
  display: inline-flex;
  -webkit-box-align: center;
          align-items: center;
  outline: 0;
  border: none;
  border-radius: 40px;
  box-sizing: border-box;
  background-color: #F5F5F5;
  cursor: pointer;
  height: 40px;
  padding: 0 16px;
  vertical-align: middle;
  line-height: 40px;
  white-space: nowrap;
  color: inherit;
  font-family: inherit;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  font-size: 14px;
  /*
  Buttons with icons

  Add an icon before the button text with `nova-icon-*` classes.

  Markup:
    <button type="button" class="nova-button nova-icon-action {{.modifier}}">Default button</button>

  Weight: -1

  Styleguide components.button.css.icon
  */
}

.nova-button:disabled, .nova-button.nova-button-disabled {
  cursor: not-allowed;
}

.nova-button[class*=nova-icon]::before {
  float: left;
  margin-right: 4px;
  margin-left: -2px;
}

.nova-button.nova-button-icon-after[class*=nova-icon]::before {
  float: right;
  margin-right: -3px;
  margin-left: 3px;
}

.nova-button .nova-button-right-icon::before {
  float: right;
  margin-right: -3px;
  margin-left: 3px;
}

.nova-button + .nova-button {
  margin-left: 10px;
}

.nova-button {
  background-color: #F5F5F5;
  color: #515151;
}

.nova-button .nova-single-ball-beat > div {
  background-color: #515151;
}

.nova-button:hover, .nova-button:active, .nova-button:visited, .nova-button.nova-active {
  color: #515151;
}

.nova-button:hover {
  background-color: #e8e8e8;
}

.nova-button:active, .nova-button.nova-active {
  background-color: #d6d6d6;
}

.nova-button:disabled, .nova-button.nova-button-disabled {
  background-color: #F8F9FA;
  color: #79808A;
}

.nova-button:disabled .nova-single-ball-beat > div, .nova-button.nova-button-disabled .nova-single-ball-beat > div {
  background-color: #79808A;
}

.nova-button-outline,
.nova-button-minimal,
.nova-button-naked {
  border-width: 2px;
  border-style: solid;
  background-color: transparent;
  line-height: 38px;
  border-color: #515151;
  color: #515151;
}

.nova-button-outline:visited,
.nova-button-minimal:visited,
.nova-button-naked:visited {
  color: #515151;
}

.nova-button-outline:hover,
.nova-button-minimal:hover,
.nova-button-naked:hover {
  color: #444444;
}

.nova-button-outline:active, .nova-button-outline.nova-active,
.nova-button-minimal:active,
.nova-button-minimal.nova-active,
.nova-button-naked:active,
.nova-button-naked.nova-active {
  color: #323232;
}

.nova-button-outline:disabled, .nova-button-outline.nova-button-disabled,
.nova-button-minimal:disabled,
.nova-button-minimal.nova-button-disabled,
.nova-button-naked:disabled,
.nova-button-naked.nova-button-disabled {
  color: #79808A;
}

.nova-button-outline:active, .nova-button-outline:hover, .nova-button-outline:disabled, .nova-button-outline.nova-active, .nova-button-outline.nova-button-disabled,
.nova-button-minimal:active,
.nova-button-minimal:hover,
.nova-button-minimal:disabled,
.nova-button-minimal.nova-active,
.nova-button-minimal.nova-button-disabled,
.nova-button-naked:active,
.nova-button-naked:hover,
.nova-button-naked:disabled,
.nova-button-naked.nova-active,
.nova-button-naked.nova-button-disabled {
  background-color: transparent;
}

.nova-button-outline {
  height: 40px;
  padding: 0 19px;
}

.nova-button-outline, .nova-button-outline:active, .nova-button-outline:hover, .nova-button-outline:disabled, .nova-button-outline.nova-active, .nova-button-outline.nova-button-disabled {
  background-color: #FFFFFF;
}

.nova-button-outline.nova-button-disabled, .nova-button-outline:disabled {
  border-color: #79808A;
}

.nova-button-naked,
.nova-button-minimal {
  border-color: transparent;
}

.nova-button-minimal {
  border: none;
  height: auto;
  padding: 0;
  line-height: inherit;
}

.nova-button-loader.nova-loader {
  display: inline-block;
  margin: 0 10px 0 0;
  padding: 0;
}

.nova-button-loader.nova-loader .nova-single-ball-beat {
  min-width: 8px;
  min-height: 8px;
}

.nova-button-loader.nova-loader .nova-single-ball-beat > div {
  margin: -4px;
  width: 8px;
  height: 8px;
}

.nova-button-primary {
  background-color: #2068D3;
  color: #FFFFFF;
}

.nova-button-primary .nova-single-ball-beat > div {
  background-color: #FFFFFF;
}

.nova-button-primary:hover, .nova-button-primary:active, .nova-button-primary:visited, .nova-button-primary.nova-active {
  color: #FFFFFF;
}

.nova-button-primary:hover {
  background-color: #1d5dbd;
}

.nova-button-primary:active, .nova-button-primary.nova-active {
  background-color: #184e9e;
}

.nova-button-primary:disabled, .nova-button-primary.nova-button-disabled {
  background-color: #91CDFF;
  color: #FFFFFF;
}

.nova-button-primary:disabled .nova-single-ball-beat > div, .nova-button-primary.nova-button-disabled .nova-single-ball-beat > div {
  background-color: #FFFFFF;
}

.nova-button-outline-primary,
.nova-button-minimal-primary,
.nova-button-naked-primary {
  border-width: 2px;
  border-style: solid;
  background-color: transparent;
  line-height: 38px;
  border-color: #2068D3;
  color: #2068D3;
}

.nova-button-outline-primary:visited,
.nova-button-minimal-primary:visited,
.nova-button-naked-primary:visited {
  color: #2068D3;
}

.nova-button-outline-primary:hover,
.nova-button-minimal-primary:hover,
.nova-button-naked-primary:hover {
  color: #1d5dbd;
}

.nova-button-outline-primary:active, .nova-button-outline-primary.nova-active,
.nova-button-minimal-primary:active,
.nova-button-minimal-primary.nova-active,
.nova-button-naked-primary:active,
.nova-button-naked-primary.nova-active {
  color: #184e9e;
}

.nova-button-outline-primary:disabled, .nova-button-outline-primary.nova-button-disabled,
.nova-button-minimal-primary:disabled,
.nova-button-minimal-primary.nova-button-disabled,
.nova-button-naked-primary:disabled,
.nova-button-naked-primary.nova-button-disabled {
  color: #91CDFF;
}

.nova-button-outline-primary:disabled .nova-single-ball-beat > div, .nova-button-outline-primary.nova-button-disabled .nova-single-ball-beat > div,
.nova-button-minimal-primary:disabled .nova-single-ball-beat > div,
.nova-button-minimal-primary.nova-button-disabled .nova-single-ball-beat > div,
.nova-button-naked-primary:disabled .nova-single-ball-beat > div,
.nova-button-naked-primary.nova-button-disabled .nova-single-ball-beat > div {
  background-color: #91CDFF;
}

.nova-button-outline-primary .nova-single-ball-beat > div,
.nova-button-minimal-primary .nova-single-ball-beat > div,
.nova-button-naked-primary .nova-single-ball-beat > div {
  background-color: #2068D3;
}

.nova-button-outline-primary:active, .nova-button-outline-primary:hover, .nova-button-outline-primary:disabled, .nova-button-outline-primary.nova-active, .nova-button-outline-primary.nova-button-disabled,
.nova-button-minimal-primary:active,
.nova-button-minimal-primary:hover,
.nova-button-minimal-primary:disabled,
.nova-button-minimal-primary.nova-active,
.nova-button-minimal-primary.nova-button-disabled,
.nova-button-naked-primary:active,
.nova-button-naked-primary:hover,
.nova-button-naked-primary:disabled,
.nova-button-naked-primary.nova-active,
.nova-button-naked-primary.nova-button-disabled {
  background-color: transparent;
}

.nova-button-outline-primary {
  height: 40px;
  padding: 0 19px;
}

.nova-button-outline-primary, .nova-button-outline-primary:active, .nova-button-outline-primary:hover, .nova-button-outline-primary:disabled, .nova-button-outline-primary.nova-active, .nova-button-outline-primary.nova-button-disabled {
  background-color: #FFFFFF;
}

.nova-button-outline-primary.nova-button-disabled, .nova-button-outline-primary:disabled {
  border-color: #91CDFF;
}

.nova-button-naked-primary,
.nova-button-minimal-primary {
  border-color: transparent;
}

.nova-button-minimal-primary {
  border: none;
  height: auto;
  padding: 0;
  line-height: inherit;
}

.nova-button-loader.nova-loader {
  display: inline-block;
  margin: 0 10px 0 0;
  padding: 0;
}

.nova-button-loader.nova-loader .nova-single-ball-beat {
  min-width: 8px;
  min-height: 8px;
}

.nova-button-loader.nova-loader .nova-single-ball-beat > div {
  margin: -4px;
  width: 8px;
  height: 8px;
}

.nova-button-danger {
  background-color: #D0021B;
  color: #FFFFFF;
}

.nova-button-danger .nova-single-ball-beat > div {
  background-color: #FFFFFF;
}

.nova-button-danger:hover, .nova-button-danger:active, .nova-button-danger:visited, .nova-button-danger.nova-active {
  color: #FFFFFF;
}

.nova-button-danger:hover {
  background-color: #b70218;
}

.nova-button-danger:active, .nova-button-danger.nova-active {
  background-color: #930113;
}

.nova-button-danger:disabled, .nova-button-danger.nova-button-disabled {
  background-color: #FFCBD0;
  color: #FFFFFF;
}

.nova-button-danger:disabled .nova-single-ball-beat > div, .nova-button-danger.nova-button-disabled .nova-single-ball-beat > div {
  background-color: #FFFFFF;
}

.nova-button-outline-danger,
.nova-button-minimal-danger,
.nova-button-naked-danger {
  border-width: 2px;
  border-style: solid;
  background-color: transparent;
  line-height: 38px;
  border-color: #D0021B;
  color: #D0021B;
}

.nova-button-outline-danger:visited,
.nova-button-minimal-danger:visited,
.nova-button-naked-danger:visited {
  color: #D0021B;
}

.nova-button-outline-danger:hover,
.nova-button-minimal-danger:hover,
.nova-button-naked-danger:hover {
  color: #b70218;
}

.nova-button-outline-danger:active, .nova-button-outline-danger.nova-active,
.nova-button-minimal-danger:active,
.nova-button-minimal-danger.nova-active,
.nova-button-naked-danger:active,
.nova-button-naked-danger.nova-active {
  color: #930113;
}

.nova-button-outline-danger:disabled, .nova-button-outline-danger.nova-button-disabled,
.nova-button-minimal-danger:disabled,
.nova-button-minimal-danger.nova-button-disabled,
.nova-button-naked-danger:disabled,
.nova-button-naked-danger.nova-button-disabled {
  color: #FFCBD0;
}

.nova-button-outline-danger:disabled .nova-single-ball-beat > div, .nova-button-outline-danger.nova-button-disabled .nova-single-ball-beat > div,
.nova-button-minimal-danger:disabled .nova-single-ball-beat > div,
.nova-button-minimal-danger.nova-button-disabled .nova-single-ball-beat > div,
.nova-button-naked-danger:disabled .nova-single-ball-beat > div,
.nova-button-naked-danger.nova-button-disabled .nova-single-ball-beat > div {
  background-color: #FFCBD0;
}

.nova-button-outline-danger .nova-single-ball-beat > div,
.nova-button-minimal-danger .nova-single-ball-beat > div,
.nova-button-naked-danger .nova-single-ball-beat > div {
  background-color: #D0021B;
}

.nova-button-outline-danger:active, .nova-button-outline-danger:hover, .nova-button-outline-danger:disabled, .nova-button-outline-danger.nova-active, .nova-button-outline-danger.nova-button-disabled,
.nova-button-minimal-danger:active,
.nova-button-minimal-danger:hover,
.nova-button-minimal-danger:disabled,
.nova-button-minimal-danger.nova-active,
.nova-button-minimal-danger.nova-button-disabled,
.nova-button-naked-danger:active,
.nova-button-naked-danger:hover,
.nova-button-naked-danger:disabled,
.nova-button-naked-danger.nova-active,
.nova-button-naked-danger.nova-button-disabled {
  background-color: transparent;
}

.nova-button-outline-danger {
  height: 40px;
  padding: 0 19px;
}

.nova-button-outline-danger, .nova-button-outline-danger:active, .nova-button-outline-danger:hover, .nova-button-outline-danger:disabled, .nova-button-outline-danger.nova-active, .nova-button-outline-danger.nova-button-disabled {
  background-color: #FFFFFF;
}

.nova-button-outline-danger.nova-button-disabled, .nova-button-outline-danger:disabled {
  border-color: #FFCBD0;
}

.nova-button-naked-danger,
.nova-button-minimal-danger {
  border-color: transparent;
}

.nova-button-minimal-danger {
  border: none;
  height: auto;
  padding: 0;
  line-height: inherit;
}

.nova-button-loader.nova-loader {
  display: inline-block;
  margin: 0 10px 0 0;
  padding: 0;
}

.nova-button-loader.nova-loader .nova-single-ball-beat {
  min-width: 8px;
  min-height: 8px;
}

.nova-button-loader.nova-loader .nova-single-ball-beat > div {
  margin: -4px;
  width: 8px;
  height: 8px;
}

a.nova-button {
  text-decoration: none;
}

/*
JavaScript API


Styleguide components.button.js
*/

/*
Anchor button

An AnchorButton renders to an anchor element

```html
<AnchorButton href="http://www.samsung.com" text="test button" className="nova-icon-edit" primary />
// renders to:
<a href="http://www.samsung.com" class="nova-button nova-button-primary nova-icon-edit">
  test button
</a>
```

Styleguide: components.button.js.anchor-button
*/

/*
Button

A Button renders to a button element

```html
<Button text="test button" className="nova-icon-edit" primary />
// renders to:
<button type="button" class="nova-button nova-button-primary nova-icon-edit">
  test button
</button>
```
@react-example ButtonsExample

@interface abstractButton

Styleguide: components.button.js.button
*/

/*
SmartButton

A SmartButton is a Button where the onClick handler accepts two parameters, event and done.
Both are optional. if you add the done parameter, the button will be disabled
until the done callback is invoked.
Optionally, you can display a loading anination and a custom loading text.

```jsx
<SmartButton
  text="test button"
  className="nova-icon-edit"
  primary
  onClick={(e, done) => setTimeout(() => done(), 3000)}
/>
```

@react-example SmartButtonsExample

@interface SmartButton

Styleguide: components.button.js.smart-button
*/

/*
Colors

Styleguide colors
*/

/*
Primary Colors

@react-docs PrimaryColorsPalette

Weight: 1

Styleguide colors.primary

*/

/*
Gray scale

@react-docs GrayscalePalette

Weight: 2

Styleguide colors.grays
*/

/*
Extended Colors

@react-docs ColorsExtendedPalette

Weight: 3

Styleguide colors.extended
*/

/*
Nesting colors

*/

/*
Card

A card is a bounded piece of UI content with a solid background color.

Styleguide components.card
*/

/*
CSS API

Markup:
<div class="nova-card {{.modifier}}" {{:modifier}}>
  <h3>My Card</h3>
  <p>
    Lorem ipsum dolor sit amet, consectetur adipiscing elit.
    Nullam ut ipsum lobortis, egestas est eget, tincidunt eros.
  </p>
</div>

.nova-card-elevation-2 - With Elevation
.nova-card-dynamic-elevation-2 - Interactive, with elevation.
.nova-card-border-1 - With Border

Styleguide components.card.css
*/

.nova-card {
  display: inline-block;
  position: relative;
  border-radius: 3px;
  background-color: #FFFFFF;
  padding: 30px;
  -webkit-transition: box-shadow 0.2s ease-out;
  transition: box-shadow 0.2s ease-out;
}

.nova-card-fullsize {
  width: 100%;
  height: 100%;
}

.nova-card-fullwidth {
  width: 100%;
}

.nova-card-fullheight {
  height: 100%;
}

.nova-card-border-1 {
  border: 1px solid #E5E5E5;
}

.nova-card-border-2 {
  border: 2px solid #E5E5E5;
}

.nova-card-border-3 {
  border: 3px solid #E5E5E5;
}

.nova-card,
.nova-card-dynamic {
  box-shadow: 0 0 0 0 rgba(0, 0, 0, 0.2);
}

.nova-card-dynamic:hover {
  box-shadow: 0 0 0 0 rgba(0, 0, 0, 0.2);
}

.nova-card-elevation-1,
.nova-card-dynamic-elevation-1 {
  box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.2);
}

.nova-card-dynamic-elevation-1:hover {
  box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.2);
}

.nova-card-elevation-2,
.nova-card-dynamic-elevation-2 {
  box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.2);
}

.nova-card-dynamic-elevation-2:hover {
  box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2);
}

.nova-card-elevation-3,
.nova-card-dynamic-elevation-3 {
  box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2);
}

.nova-card-dynamic-elevation-3:hover {
  box-shadow: 0 8px 16px 0 rgba(0, 0, 0, 0.2);
}

/*
JavaScript API

@react-example CardExample

```jsx
<Card elevation={1} border={1}>
  <h3>House of Cards</h3>
  <p>
    Lorem ipsum dolor sit amet, consectetur adipiscing elit.
    Nullam ut ipsum lobortis, egestas est eget, tincidunt eros.
  </p>
</Card>
```

@interface Card

Styleguide components.card.js
*/

/*
Colors

Styleguide colors
*/

/*
Primary Colors

@react-docs PrimaryColorsPalette

Weight: 1

Styleguide colors.primary

*/

/*
Gray scale

@react-docs GrayscalePalette

Weight: 2

Styleguide colors.grays
*/

/*
Extended Colors

@react-docs ColorsExtendedPalette

Weight: 3

Styleguide colors.extended
*/

/*
Nesting colors

*/

/*
Confirm

A convenient way to add a confirm Modal or Popover to UI actions.
Just wrap an element with an onClick property (`<Button>` for Instance) with `<Confirm>`
and you're all set.

Styleguide components.confirm
*/

/*
JavaScript API

@react-example ConfirmExample

```jsx
<Confirm
  onConfirm={() => {
    alert('You have quit the app.');
  }}
  title="Discard Unsaved Changes?"
  body="There are some unsaved changes. Are you sure you want to continue?"
  confirmNode={<Button text="Discard" danger key={'action'} />}
  cancelNode="Cancel"
  type="modal"
>
 <Button text="Quit APP" />
</Confirm>
```

@interface Confirm

Styleguide components.confirm.js
*/

.nova-confirm-popover-actions {
  display: -webkit-box;
  display: flex;
  -webkit-box-pack: end;
          justify-content: flex-end;
  margin-top: 20px;
}

/* stylelint-disable */

/*
Colors

Styleguide colors
*/

/*
Primary Colors

@react-docs PrimaryColorsPalette

Weight: 1

Styleguide colors.primary

*/

/*
Gray scale

@react-docs GrayscalePalette

Weight: 2

Styleguide colors.grays
*/

/*
Extended Colors

@react-docs ColorsExtendedPalette

Weight: 3

Styleguide colors.extended
*/

/*
Nesting colors

*/

@font-face {
  font-family: "nova-icons-1afe74a5d0c0e65e8a2";

  src: url("/workspace/static/fonts/nova-icons-1afe74a5d0c0e65e8a2.eot?9721c9c4e01704f75ec6929d88c1167f?#iefix") format("embedded-opentype"), url("/workspace/static/fonts/nova-icons-1afe74a5d0c0e65e8a2.woff2?9721c9c4e01704f75ec6929d88c1167f") format("woff2"), url("/workspace/static/fonts/nova-icons-1afe74a5d0c0e65e8a2.woff?9721c9c4e01704f75ec6929d88c1167f") format("woff"), url("/workspace/static/fonts/nova-icons-1afe74a5d0c0e65e8a2.ttf?9721c9c4e01704f75ec6929d88c1167f") format("truetype"), url("/workspace/static/fonts/nova-icons-1afe74a5d0c0e65e8a2.svg?9721c9c4e01704f75ec6929d88c1167f#nova-icons-1afe74a5d0c0e65e8a2") format("svg");
}

.nova-toast-error:before, .nova-toast-warning:before, .nova-toast-success:before, .nova-toast-info:before, .nova-control-checkbox input:checked ~ .nova-control-indicator:before,
.nova-control-checkbox input:indeterminate ~ .nova-control-indicator:before, .nova-datetimepicker .react-calendar .react-calendar__navigation__prev-button:before, .nova-datetimepicker .react-calendar .react-calendar__navigation__next-button:before, .nova-icon-action:before, .nova-icon-add-circle:before, .nova-icon-add:before, .nova-icon-api:before, .nova-icon-bank:before, .nova-icon-bulb:before, .nova-icon-calendar-left:before, .nova-icon-calendar-right:before, .nova-icon-calendar:before, .nova-icon-case-study:before, .nova-icon-check-circle:before, .nova-icon-check:before, .nova-icon-clock:before, .nova-icon-clone:before, .nova-icon-close:before, .nova-icon-cog:before, .nova-icon-collapse-all:before, .nova-icon-connect-cloud:before, .nova-icon-data-management:before, .nova-icon-delete:before, .nova-icon-device-sharing:before, .nova-icon-devicetype-alt:before, .nova-icon-devicetype:before, .nova-icon-down-alt:before, .nova-icon-down-circle:before, .nova-icon-down:before, .nova-icon-download:before, .nova-icon-draggable:before, .nova-icon-duration:before, .nova-icon-edit:before, .nova-icon-error:before, .nova-icon-exclamation-circle:before, .nova-icon-expand-all:before, .nova-icon-external-link:before, .nova-icon-farm:before, .nova-icon-field-group:before, .nova-icon-file:before, .nova-icon-from-device:before, .nova-icon-header-help:before, .nova-icon-header-search:before, .nova-icon-header-user:before, .nova-icon-health:before, .nova-icon-home:before, .nova-icon-import:before, .nova-icon-industry:before, .nova-icon-info:before, .nova-icon-introduction:before, .nova-icon-location:before, .nova-icon-lock:before, .nova-icon-machine-learning:before, .nova-icon-more:before, .nova-icon-on-off:before, .nova-icon-org:before, .nova-icon-pause:before, .nova-icon-pending:before, .nova-icon-play:before, .nova-icon-prediction:before, .nova-icon-preview:before, .nova-icon-question:before, .nova-icon-quick-start:before, .nova-icon-refresh:before, .nova-icon-right-2:before, .nova-icon-right:before, .nova-icon-rule-engine:before, .nova-icon-scene:before, .nova-icon-sdk:before, .nova-icon-search:before, .nova-icon-security-cam:before, .nova-icon-security:before, .nova-icon-select-arrow:before, .nova-icon-share:before, .nova-icon-tag:before, .nova-icon-terminal:before, .nova-icon-tools:before, .nova-icon-user-management:before, .nova-icon-user:before, .nova-icon-warning:before, .nova-icon-weather:before {
  font-family: "nova-icons-1afe74a5d0c0e65e8a2";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-style: normal;
  font-feature-settings: normal;
  font-variant: normal;
  font-weight: normal;
  text-decoration: none;
  text-transform: none;
}

.nova-icon-action:before {
  content: "\F101";
}

.nova-icon-add-circle:before {
  content: "\F102";
}

.nova-icon-add:before {
  content: "\F103";
}

.nova-icon-api:before {
  content: "\F104";
}

.nova-icon-bank:before {
  content: "\F105";
}

.nova-icon-bulb:before {
  content: "\F106";
}

.nova-icon-calendar-left:before {
  content: "\F107";
}

.nova-icon-calendar-right:before {
  content: "\F108";
}

.nova-icon-calendar:before {
  content: "\F109";
}

.nova-icon-case-study:before {
  content: "\F10A";
}

.nova-icon-check-circle:before {
  content: "\F10B";
}

.nova-icon-check:before {
  content: "\F10C";
}

.nova-icon-clock:before {
  content: "\F10D";
}

.nova-icon-clone:before {
  content: "\F10E";
}

.nova-icon-close:before {
  content: "\F10F";
}

.nova-icon-cog:before {
  content: "\F110";
}

.nova-icon-collapse-all:before {
  content: "\F111";
}

.nova-icon-connect-cloud:before {
  content: "\F112";
}

.nova-icon-data-management:before {
  content: "\F113";
}

.nova-icon-delete:before {
  content: "\F114";
}

.nova-icon-device-sharing:before {
  content: "\F115";
}

.nova-icon-devicetype-alt:before {
  content: "\F116";
}

.nova-icon-devicetype:before {
  content: "\F117";
}

.nova-icon-down-alt:before {
  content: "\F118";
}

.nova-icon-down-circle:before {
  content: "\F119";
}

.nova-icon-down:before {
  content: "\F11A";
}

.nova-icon-download:before {
  content: "\F11B";
}

.nova-icon-draggable:before {
  content: "\F11C";
}

.nova-icon-duration:before {
  content: "\F11D";
}

.nova-icon-edit:before {
  content: "\F11E";
}

.nova-icon-error:before {
  content: "\F11F";
}

.nova-icon-exclamation-circle:before {
  content: "\F120";
}

.nova-icon-expand-all:before {
  content: "\F121";
}

.nova-icon-external-link:before {
  content: "\F122";
}

.nova-icon-farm:before {
  content: "\F123";
}

.nova-icon-field-group:before {
  content: "\F124";
}

.nova-icon-file:before {
  content: "\F125";
}

.nova-icon-from-device:before {
  content: "\F126";
}

.nova-icon-header-help:before {
  content: "\F127";
}

.nova-icon-header-search:before {
  content: "\F128";
}

.nova-icon-header-user:before {
  content: "\F129";
}

.nova-icon-health:before {
  content: "\F12A";
}

.nova-icon-home:before {
  content: "\F12B";
}

.nova-icon-import:before {
  content: "\F12C";
}

.nova-icon-industry:before {
  content: "\F12D";
}

.nova-icon-info:before {
  content: "\F12E";
}

.nova-icon-introduction:before {
  content: "\F12F";
}

.nova-icon-location:before {
  content: "\F130";
}

.nova-icon-lock:before {
  content: "\F131";
}

.nova-icon-machine-learning:before {
  content: "\F132";
}

.nova-icon-more:before {
  content: "\F133";
}

.nova-icon-on-off:before {
  content: "\F134";
}

.nova-icon-org:before {
  content: "\F135";
}

.nova-icon-pause:before {
  content: "\F136";
}

.nova-icon-pending:before {
  content: "\F137";
}

.nova-icon-play:before {
  content: "\F138";
}

.nova-icon-prediction:before {
  content: "\F139";
}

.nova-icon-preview:before {
  content: "\F13A";
}

.nova-icon-question:before {
  content: "\F13B";
}

.nova-icon-quick-start:before {
  content: "\F13C";
}

.nova-icon-refresh:before {
  content: "\F13D";
}

.nova-icon-right-2:before {
  content: "\F13E";
}

.nova-icon-right:before {
  content: "\F13F";
}

.nova-icon-rule-engine:before {
  content: "\F140";
}

.nova-icon-scene:before {
  content: "\F141";
}

.nova-icon-sdk:before {
  content: "\F142";
}

.nova-icon-search:before {
  content: "\F143";
}

.nova-icon-security-cam:before {
  content: "\F144";
}

.nova-icon-security:before {
  content: "\F145";
}

.nova-icon-select-arrow:before {
  content: "\F146";
}

.nova-icon-share:before {
  content: "\F147";
}

.nova-icon-tag:before {
  content: "\F148";
}

.nova-icon-terminal:before {
  content: "\F149";
}

.nova-icon-tools:before {
  content: "\F14A";
}

.nova-icon-user-management:before {
  content: "\F14B";
}

.nova-icon-user:before {
  content: "\F14C";
}

.nova-icon-warning:before {
  content: "\F14D";
}

.nova-icon-weather:before {
  content: "\F14E";
}

/*
DateTimepicker

The datetimepicker is a ui component meant to add the ability to select time.

Styleguide components.datetimepicker
*/

.nova-datetimepicker-inner .timer {
  margin: 15px 0 16px;
}

.nova-datetimepicker-inner .timer .the-timepicker {
  margin-bottom: 16px;
  box-sizing: content-box;
  background-color: #F8F9FA;
  height: 36px;
  padding: 8px 18px 8px 42px;
}

.nova-datetimepicker-inner .timer .the-timepicker .nova-timepicker::before {
  position: absolute;
  left: 16px;
  padding-top: 3px;
  color: #2068D3;
  font-size: 20px;
}

.nova-datetimepicker-inner .timer .apply-button-container {
  padding: 0 17px;
}

.nova-datetimepicker-inner .timer .apply-button-container button {
  display: block;
  width: 100%;
}

.nova-datetimepicker-inner p {
  margin: 8px 16px 16px !important;
  padding: 0;
  text-align: left;
  line-height: 16px;
  color: #79808A;
  font-size: 13px;
}

.nova-datetimepicker {
  font-family: "SamsungOne", "Helvetica Neue", "Arial", "sans-serif";
  font-size: 14px;
}

.nova-datetimepicker.nova-datetimepicker-full.nova-datetimepicker-inline .nova-datetimepicker-inner {
  max-width: 100% !important;
}

.nova-datetimepicker:not(.nova-datetimepicker-inline) {
  max-width: 350px;
}

.nova-datetimepicker .date-input {
  position: relative;
  border: 2px solid #E5E5E5;
  cursor: pointer;
  height: 36px;
  padding: 9px 10px;
  line-height: 16px;
  color: #252525;
  font-family: inherit;
  font-size: 14px;
  font-weight: 700;
}

.nova-datetimepicker .date-input.nova-active {
  border-color: #2068D3;
}

.nova-datetimepicker .date-input::before {
  float: left;
  margin-right: 5px;
  padding-top: 1px;
  color: #CDCDCD;
  font-size: 20px;
}

.nova-datetimepicker .nova-popover-inner-content {
  width: 350px;
  padding: 0;
}

.calendar-container {
  margin-bottom: 15px;
  padding: 0 3px;
}

/* stylelint-disable */

.nova-datetimepicker .react-calendar {
  margin: 0 0 2px;
  border: none;
  width: 100%;
}

.nova-datetimepicker .react-calendar button {
  font-family: "SamsungOne", "Helvetica Neue", "Arial", "sans-serif";
}

.nova-datetimepicker .react-calendar button:not(:disabled) {
  cursor: pointer;
}

.nova-datetimepicker .react-calendar .react-calendar__navigation {
  margin-bottom: 0;
  height: 56px;
}

.nova-datetimepicker .react-calendar .react-calendar__navigation__label {
  color: #2068D3;
  font-size: 18px;
  font-weight: 700;
}

.nova-datetimepicker .react-calendar .react-calendar__navigation button {
  border: none;
  background: none;
}

.nova-datetimepicker .react-calendar .react-calendar__navigation button[disabled] {
  background-color: #FFFFFF;
  font-weight: 700;
}

.nova-datetimepicker .react-calendar .react-calendar__navigation__next2-button,
.nova-datetimepicker .react-calendar .react-calendar__navigation__prev2-button {
  display: none;
}

.nova-datetimepicker .react-calendar button.react-calendar__navigation__arrow {
  margin: 18px 16px 0;
  width: 20px;
  min-width: 0;
  height: 20px;
  padding: 0 0 3px;
  line-height: 1px;
  color: #2068D3;
  font-size: 20px;
}

.nova-datetimepicker .react-calendar button.react-calendar__navigation__arrow[disabled] {
  visibility: hidden;
}

.nova-datetimepicker .react-calendar .react-calendar__navigation__next-button:before {
  content: "\F108";
}

.nova-datetimepicker .react-calendar .react-calendar__navigation__prev-button:before {
  content: "\F107";
}

.nova-datetimepicker .react-calendar .react-calendar__navigation button:enabled:hover,
.nova-datetimepicker .react-calendar .react-calendar__navigation button:enabled:focus {
  background: #FFFFFF;
}

.nova-datetimepicker .react-calendar .react-calendar__month-view {
  padding: 0 16px;
}

.nova-datetimepicker .react-calendar .react-calendar__month-view__weekdays {
  margin-bottom: 7px;
  border: 1px solid #E5E5E5;
  border-right: none;
  border-left: none;
  line-height: 8px;
}

.nova-datetimepicker .react-calendar .react-calendar__month-view__weekdays__weekday {
  text-align: center;
  text-transform: capitalize;
  line-height: 17px;
  color: #000000;
  font-family: "SamsungOne", "Helvetica Neue", "Arial", "sans-serif";
  font-size: 13px;
  font-weight: 700;
}

.nova-datetimepicker .react-calendar .react-calendar__tile {
  border: 2px solid white;
  border-radius: 10px;
  height: 34px;
  padding: 0;
  text-align: center;
  line-height: 20px;
  letter-spacing: 1px;
  font-size: 14px;
  font-weight: 600;
}

.nova-datetimepicker .react-calendar .react-calendar__tile,
.nova-datetimepicker .react-calendar .react-calendar__month-view__days__day--weekend {
  color: #252525;
}

.nova-datetimepicker .react-calendar .react-calendar__month-view__days__day--neighboringMonth {
  color: #79808A;
}

.nova-datetimepicker .react-calendar button.react-calendar__tile:enabled:focus {
  background-color: white;
}

.nova-datetimepicker .react-calendar button.react-calendar__tile:enabled:active {
  background-color: #E6E6E6;
}

.nova-datetimepicker .react-calendar button.react-calendar__tile:enabled:hover,
.nova-datetimepicker .react-calendar button.react-calendar__tile:enabled:focus {
  background-color: #F8F9FA;
  color: #252525;
}

.nova-datetimepicker .react-calendar .react-calendar__tile--active,
.nova-datetimepicker .react-calendar button.react-calendar__tile--active:enabled:hover,
.nova-datetimepicker .react-calendar button.react-calendar__tile--active:enabled:focus {
  background-color: #2068D3;
  color: #FFFFFF;
}

.nova-datetimepicker .react-calendar button.react-calendar__tile:disabled {
  background: #FFFFFF;
  color: #79808A;
}

/* stylelint-enable */

/*
JavaScript API

@react-example DateTimepickerExample

```jsx
As a simple date input
<DateTimepicker
  dateOnly
  value={this.state.simpleDateInput}
  onChange={this.onChange('simpleDateInput')}
  minDate={new Date(1985, 1, 6)}
  maxDate={new Date(1985, 6, 6)}
/>

As an input (updates until Apply is pressed)
<DateTimepicker
  precision="minute"
  timeFormat="12h"
  defaultValue={this.state.value}
  onApply={this.onChange}
  minDate={new Date(2012, 2, 2, 2, 2, 2, 222)}
  maxDate={new Date(2013, 2, 2, 2, 2, 2, 222)}
/>

As an input (updates on any change)
<DateTimepicker
  precision="minute"
  timeFormat="12h"
  value={this.state.value2}
  onChange={this.onChange2}
  minDate={new Date(2012, 2, 2, 2, 2, 2, 222)}
  maxDate={new Date(2013, 2, 2, 2, 2, 2, 222)}
/>

Inline calendar
<div style={{ border: '1px solid #CCC', display: 'inline-block' }}>
  <DateTimepicker
    precision="second"
    timeFormat="24h"
    inline
    timeFormatVisible={false}
    defaultValue={new Date()}
    footerText="Lorem ipsum dolor sit amet, consecutur ipsum quesadillas..."
  />
</div>
```

@interface DateTimepicker

Styleguide components.datetimepicker.js
*/

/*
Colors

Styleguide colors
*/

/*
Primary Colors

@react-docs PrimaryColorsPalette

Weight: 1

Styleguide colors.primary

*/

/*
Gray scale

@react-docs GrayscalePalette

Weight: 2

Styleguide colors.grays
*/

/*
Extended Colors

@react-docs ColorsExtendedPalette

Weight: 3

Styleguide colors.extended
*/

/*
Nesting colors

*/

/*
Empty State

To use when some content is not available. A couple of examples:

* An empty list (container has not data).
* Error states (when something went wrong to retrieve the data, 404, 500...).

Styleguide components.emptystate
*/

/*
CSS API

Markup:
<div class="nova-empty-state">
  <div class="nova-empty-state-visual">
    <div class="nova-icon nova-icon-search"></div>
  </div>
  <h3 class="nova-empty-state-title">No results matching that filter</h3>
  <div class="nova-empty-state-description nova-text-mute">
    Sorry we couldn't find any item matching the filter that you applied.
     Please update your filter and try again.
    </div>
  <div class="nova-empty-state-action">
    <button type="button" class="nova-button nova-button-primary nova-button-outline-primary">
      Clear all filters
    </button>
  </div>
</div>

Styleguide components.emptystate.css
*/

.nova-empty-state {
  display: -webkit-box;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
          flex-direction: column;
  -webkit-box-align: center;
          align-items: center;
  -webkit-box-pack: center;
          justify-content: center;
  margin: 0 auto;
  width: 100%;
  max-width: 460px;
  height: 100%;
}

.nova-empty-state-visual {
  margin-bottom: 10px;
  text-align: center;
}

.nova-empty-state-visual .nova-icon::before {
  line-height: 80px;
  color: #CDCDCD;
  font-size: 80px;
}

.nova-empty-state-title {
  margin-top: 0;
  margin-bottom: 0;
  max-width: 100%;
  text-align: center;
  color: #515151;
  font-weight: 700;
}

.nova-empty-state-description {
  margin-top: 10px;
  max-width: 100%;
  text-align: center;
}

.nova-empty-state-description p {
  line-height: inherit;
}

.nova-empty-state-action {
  margin-top: 20px;
  max-width: 100%;
  text-align: center;
}

/*
Javascript API

@react-example EmptyStateExample

```jsx
<EmptyState
  visual="nova-icon-search"
  title="No results matching that filter"
  description="Sorry we couldn't find any item matching the filter
  that you applied. Please update your filter and try again."
  action={<Button text="Clear all filters" primary outline />}
/>
```

@interface EmptyState

Styleguide components.emptystate.js
*/

/*
Colors

Styleguide colors
*/

/*
Primary Colors

@react-docs PrimaryColorsPalette

Weight: 1

Styleguide colors.primary

*/

/*
Gray scale

@react-docs GrayscalePalette

Weight: 2

Styleguide colors.grays
*/

/*
Extended Colors

@react-docs ColorsExtendedPalette

Weight: 3

Styleguide colors.extended
*/

/*
Nesting colors

*/

.error > .nova-input-group .nova-input,
.error > .nova-input-group .nova-input:not(:last-child),
.error > .nova-input-group .nova-input:not(:first-child),
.error > .nova-input {
  border-color: #F84746;
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}

.error > .nova-input-group .nova-input:focus,
.error > .nova-input-group .nova-input:not(:last-child):focus,
.error > .nova-input-group .nova-input:not(:first-child):focus,
.error > .nova-input:focus {
  border-color: #F84746;
  box-shadow: inset 0 1px 3px 0 white;
}

.error .nova-input-group-addon,
.error .nova-input-group-addon:not(:first-child),
.error .nova-input-group-addon:not(:last-child) {
  border-color: #F84746;
  border-top-left-radius: 0;
  border-top-right-radius: 0;
  background-color: white;
  color: #F84746;
}

/*
Text Inputs

Markup:
<input class="nova-input {{.modifier}}" {{:modifier}} type="text" placeholder="Text input" />

:disabled - Disabled
:readonly - Readonly


Weight: 3

Styleguide components.forms.input
*/

.nova-input {
  display: block;
  border: 2px solid #E5E5E5;
  border-radius: 3px;
  box-sizing: border-box;
  background-color: #FFFFFF;
  width: 100%;
  padding: 7px 10px;
  line-height: 1.5;
  font-family: inherit;
  font-weight: 700;
}

.nova-input::-webkit-input-placeholder {
  color: #9B9B9B;
  font-weight: 700;
}

.nova-input::-moz-placeholder {
  color: #9B9B9B;
  font-weight: 700;
}

.nova-input:-ms-input-placeholder {
  color: #9B9B9B;
  font-weight: 700;
}

.nova-input::-ms-input-placeholder {
  color: #9B9B9B;
  font-weight: 700;
}

.nova-input::placeholder {
  color: #9B9B9B;
  font-weight: 700;
}

.nova-input:focus {
  outline: none;
  border-color: #2068D3;
}

.nova-input:disabled, .nova-input[readonly] {
  background-color: #F8F9FA;
}

.nova-input:disabled {
  cursor: not-allowed;
}

/*
Sliders

Markup:
<input class="nova-slider {{.modifier}}" {{:modifier}} type="range" min="1" max="100" value="50" />

:disabled - Disabled


Weight: 3

Styleguide components.forms.slider
*/

.nova-slider {
  -webkit-appearance: none;
}

.nova-slider::-moz-range-thumb {
  margin-top: -8px;
  border: 2px solid #FFFFFF;
  border-radius: 10px;
  box-shadow: 0 0 1px 1px rgba(0, 0, 0, 0.2);
  background-color: #2068D3;
  width: 20px;
  height: 20px;
}

.nova-slider::-webkit-slider-thumb {
  margin-top: -8px;
  border: 2px solid #FFFFFF;
  border-radius: 10px;
  box-shadow: 0 0 1px 1px rgba(0, 0, 0, 0.2);
  background-color: #2068D3;
  width: 20px;
  height: 20px;
  -webkit-font-smoothing: antialiased;
  -webkit-appearance: none;
}

.nova-slider::-webkit-slider-runnable-track {
  border-radius: 2px;
  background: #2068D3;
  cursor: pointer;
  width: 100%;
  height: 4px;
}

.nova-slider::-moz-track {
  border-radius: 2px;
  background: #2068D3;
  cursor: pointer;
  width: 100%;
  height: 4px;
}

/*
Text Areas

Markup:
<textarea class="nova-input {{.modifier}}" {{:modifier}} placeholder="Text input"></textarea>

:disabled - Disabled
:readonly - Readonly

Weight: 3

Styleguide components.forms.textarea
*/

textarea.nova-input {
  display: block;
  border: 2px solid #E5E5E5;
  border-radius: 3px;
  box-sizing: border-box;
  background-color: #FFFFFF;
  width: 100%;
  padding: 7px 10px;
  line-height: 1.5;
  font-family: inherit;
  font-weight: 700;
}

textarea.nova-input::-webkit-input-placeholder {
  color: #9B9B9B;
  font-weight: 700;
}

textarea.nova-input::-moz-placeholder {
  color: #9B9B9B;
  font-weight: 700;
}

textarea.nova-input:-ms-input-placeholder {
  color: #9B9B9B;
  font-weight: 700;
}

textarea.nova-input::-ms-input-placeholder {
  color: #9B9B9B;
  font-weight: 700;
}

textarea.nova-input::placeholder {
  color: #9B9B9B;
  font-weight: 700;
}

textarea.nova-input:focus {
  outline: none;
  border-color: #2068D3;
}

textarea.nova-input:disabled, textarea.nova-input[readonly] {
  background-color: #F8F9FA;
}

textarea.nova-input:disabled {
  cursor: not-allowed;
}

/* stylelint-disable */

/*
Colors

Styleguide colors
*/

/*
Primary Colors

@react-docs PrimaryColorsPalette

Weight: 1

Styleguide colors.primary

*/

/*
Gray scale

@react-docs GrayscalePalette

Weight: 2

Styleguide colors.grays
*/

/*
Extended Colors

@react-docs ColorsExtendedPalette

Weight: 3

Styleguide colors.extended
*/

/*
Nesting colors

*/

@font-face {
  font-family: "nova-icons-1afe74a5d0c0e65e8a2";

  src: url("/workspace/static/fonts/nova-icons-1afe74a5d0c0e65e8a2.eot?9721c9c4e01704f75ec6929d88c1167f?#iefix") format("embedded-opentype"), url("/workspace/static/fonts/nova-icons-1afe74a5d0c0e65e8a2.woff2?9721c9c4e01704f75ec6929d88c1167f") format("woff2"), url("/workspace/static/fonts/nova-icons-1afe74a5d0c0e65e8a2.woff?9721c9c4e01704f75ec6929d88c1167f") format("woff"), url("/workspace/static/fonts/nova-icons-1afe74a5d0c0e65e8a2.ttf?9721c9c4e01704f75ec6929d88c1167f") format("truetype"), url("/workspace/static/fonts/nova-icons-1afe74a5d0c0e65e8a2.svg?9721c9c4e01704f75ec6929d88c1167f#nova-icons-1afe74a5d0c0e65e8a2") format("svg");
}

.nova-toast-error:before, .nova-toast-warning:before, .nova-toast-success:before, .nova-toast-info:before, .nova-control-checkbox input:checked ~ .nova-control-indicator:before,
.nova-control-checkbox input:indeterminate ~ .nova-control-indicator:before, .nova-icon-action:before, .nova-icon-add-circle:before, .nova-icon-add:before, .nova-icon-api:before, .nova-icon-bank:before, .nova-icon-bulb:before, .nova-icon-calendar-left:before, .nova-icon-calendar-right:before, .nova-icon-calendar:before, .nova-icon-case-study:before, .nova-icon-check-circle:before, .nova-icon-check:before, .nova-icon-clock:before, .nova-icon-clone:before, .nova-icon-close:before, .nova-icon-cog:before, .nova-icon-collapse-all:before, .nova-icon-connect-cloud:before, .nova-icon-data-management:before, .nova-icon-delete:before, .nova-icon-device-sharing:before, .nova-icon-devicetype-alt:before, .nova-icon-devicetype:before, .nova-icon-down-alt:before, .nova-icon-down-circle:before, .nova-icon-down:before, .nova-icon-download:before, .nova-icon-draggable:before, .nova-icon-duration:before, .nova-icon-edit:before, .nova-icon-error:before, .nova-icon-exclamation-circle:before, .nova-icon-expand-all:before, .nova-icon-external-link:before, .nova-icon-farm:before, .nova-icon-field-group:before, .nova-icon-file:before, .nova-icon-from-device:before, .nova-icon-header-help:before, .nova-icon-header-search:before, .nova-icon-header-user:before, .nova-icon-health:before, .nova-icon-home:before, .nova-icon-import:before, .nova-icon-industry:before, .nova-icon-info:before, .nova-icon-introduction:before, .nova-icon-location:before, .nova-icon-lock:before, .nova-icon-machine-learning:before, .nova-icon-more:before, .nova-icon-on-off:before, .nova-icon-org:before, .nova-icon-pause:before, .nova-icon-pending:before, .nova-icon-play:before, .nova-icon-prediction:before, .nova-icon-preview:before, .nova-icon-question:before, .nova-icon-quick-start:before, .nova-icon-refresh:before, .nova-icon-right-2:before, .nova-icon-right:before, .nova-icon-rule-engine:before, .nova-icon-scene:before, .nova-icon-sdk:before, .nova-icon-search:before, .nova-icon-security-cam:before, .nova-icon-security:before, .nova-icon-select-arrow:before, .nova-icon-share:before, .nova-icon-tag:before, .nova-icon-terminal:before, .nova-icon-tools:before, .nova-icon-user-management:before, .nova-icon-user:before, .nova-icon-warning:before, .nova-icon-weather:before, .nova-datetimepicker .react-calendar .react-calendar__navigation__next-button:before, .nova-datetimepicker .react-calendar .react-calendar__navigation__prev-button:before {
  font-family: "nova-icons-1afe74a5d0c0e65e8a2";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-style: normal;
  font-feature-settings: normal;
  font-variant: normal;
  font-weight: normal;
  text-decoration: none;
  text-transform: none;
}

.nova-icon-action:before {
  content: "\F101";
}

.nova-icon-add-circle:before {
  content: "\F102";
}

.nova-icon-add:before {
  content: "\F103";
}

.nova-icon-api:before {
  content: "\F104";
}

.nova-icon-bank:before {
  content: "\F105";
}

.nova-icon-bulb:before {
  content: "\F106";
}

.nova-icon-calendar-left:before {
  content: "\F107";
}

.nova-icon-calendar-right:before {
  content: "\F108";
}

.nova-icon-calendar:before {
  content: "\F109";
}

.nova-icon-case-study:before {
  content: "\F10A";
}

.nova-icon-check-circle:before {
  content: "\F10B";
}

.nova-icon-check:before {
  content: "\F10C";
}

.nova-icon-clock:before {
  content: "\F10D";
}

.nova-icon-clone:before {
  content: "\F10E";
}

.nova-icon-close:before {
  content: "\F10F";
}

.nova-icon-cog:before {
  content: "\F110";
}

.nova-icon-collapse-all:before {
  content: "\F111";
}

.nova-icon-connect-cloud:before {
  content: "\F112";
}

.nova-icon-data-management:before {
  content: "\F113";
}

.nova-icon-delete:before {
  content: "\F114";
}

.nova-icon-device-sharing:before {
  content: "\F115";
}

.nova-icon-devicetype-alt:before {
  content: "\F116";
}

.nova-icon-devicetype:before {
  content: "\F117";
}

.nova-icon-down-alt:before {
  content: "\F118";
}

.nova-icon-down-circle:before {
  content: "\F119";
}

.nova-icon-down:before {
  content: "\F11A";
}

.nova-icon-download:before {
  content: "\F11B";
}

.nova-icon-draggable:before {
  content: "\F11C";
}

.nova-icon-duration:before {
  content: "\F11D";
}

.nova-icon-edit:before {
  content: "\F11E";
}

.nova-icon-error:before {
  content: "\F11F";
}

.nova-icon-exclamation-circle:before {
  content: "\F120";
}

.nova-icon-expand-all:before {
  content: "\F121";
}

.nova-icon-external-link:before {
  content: "\F122";
}

.nova-icon-farm:before {
  content: "\F123";
}

.nova-icon-field-group:before {
  content: "\F124";
}

.nova-icon-file:before {
  content: "\F125";
}

.nova-icon-from-device:before {
  content: "\F126";
}

.nova-icon-header-help:before {
  content: "\F127";
}

.nova-icon-header-search:before {
  content: "\F128";
}

.nova-icon-header-user:before {
  content: "\F129";
}

.nova-icon-health:before {
  content: "\F12A";
}

.nova-icon-home:before {
  content: "\F12B";
}

.nova-icon-import:before {
  content: "\F12C";
}

.nova-icon-industry:before {
  content: "\F12D";
}

.nova-icon-info:before {
  content: "\F12E";
}

.nova-icon-introduction:before {
  content: "\F12F";
}

.nova-icon-location:before {
  content: "\F130";
}

.nova-icon-lock:before {
  content: "\F131";
}

.nova-icon-machine-learning:before {
  content: "\F132";
}

.nova-icon-more:before {
  content: "\F133";
}

.nova-icon-on-off:before {
  content: "\F134";
}

.nova-icon-org:before {
  content: "\F135";
}

.nova-icon-pause:before {
  content: "\F136";
}

.nova-icon-pending:before {
  content: "\F137";
}

.nova-icon-play:before {
  content: "\F138";
}

.nova-icon-prediction:before {
  content: "\F139";
}

.nova-icon-preview:before {
  content: "\F13A";
}

.nova-icon-question:before {
  content: "\F13B";
}

.nova-icon-quick-start:before {
  content: "\F13C";
}

.nova-icon-refresh:before {
  content: "\F13D";
}

.nova-icon-right-2:before {
  content: "\F13E";
}

.nova-icon-right:before {
  content: "\F13F";
}

.nova-icon-rule-engine:before {
  content: "\F140";
}

.nova-icon-scene:before {
  content: "\F141";
}

.nova-icon-sdk:before {
  content: "\F142";
}

.nova-icon-search:before {
  content: "\F143";
}

.nova-icon-security-cam:before {
  content: "\F144";
}

.nova-icon-security:before {
  content: "\F145";
}

.nova-icon-select-arrow:before {
  content: "\F146";
}

.nova-icon-share:before {
  content: "\F147";
}

.nova-icon-tag:before {
  content: "\F148";
}

.nova-icon-terminal:before {
  content: "\F149";
}

.nova-icon-tools:before {
  content: "\F14A";
}

.nova-icon-user-management:before {
  content: "\F14B";
}

.nova-icon-user:before {
  content: "\F14C";
}

.nova-icon-warning:before {
  content: "\F14D";
}

.nova-icon-weather:before {
  content: "\F14E";
}

.nova-control {
  display: block;
  position: relative;
  margin-bottom: 10px;
  cursor: pointer;
  padding-left: 26px;
  text-transform: none;
  line-height: 16px;
}

.nova-control input {
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
  z-index: -1; /* stylelint-disable-line property-blacklist */
}

.nova-control input:focus ~ .nova-control-indicator {
  outline: #2068D3 auto 2px;
  outline-offset: 2px;
  -moz-outline-radius: 6px;
}

.nova-control:hover .nova-control-indicator {
  border-color: #79808A;
}

.nova-control-indicator {
  position: absolute;
  top: 0;
  left: 0;
  margin: 0;
  border: 2px solid #ACACAC;
  box-sizing: border-box;
  cursor: pointer;
  width: 16px;
  height: 16px;
  line-height: 16px;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
}

.nova-control-indicator::before {
  position: absolute;
  top: -1px;
  left: -1.5px;
}

.nova-control-text {
  position: relative;
}

.nova-control input:checked ~ .nova-control-indicator {
  border-color: #2068D3;
  background-color: #FFFFFF;
  color: #FFFFFF;
}

.nova-control-disabled {
  cursor: not-allowed;
  color: #ABAFB6;
}

.nova-control input:disabled ~ .nova-control-indicator {
  border-color: #E5E5E5;
  cursor: not-allowed;
}

.nova-control input:checked:disabled ~ .nova-control-indicator {
  border-color: #E5E5E5;
  background-color: #E5E5E5;
  cursor: not-allowed;
}

/*
Checkbox

* Used for selecting multiple values from several options.
* Custom styling with the use of an extra `.nova-control-indicator` element.
* If you use only one checkbox, it is the same as using Switch to toggle between two states.
* Support for `:indeterminate` state.

Styleguide components.forms.checkbox

*/

/*
CSS API

Markup:
<label class="nova-control nova-control-checkbox {{.modifier}}">
  <input type="checkbox" {{:modifier}} />
  <span class="nova-control-indicator"></span>
  <span class="nova-control-text">The label goes here</span>
</label>

:checked  - Checked.
:disabled - Disabled. Also add `.nova-control-disabled` to `.nova-control-checkbox`
            to change text color (not shown below).
:indeterminate - Indeterminate. (set via JavaScript `inputEl.indeterminate = true`)
.nova-control-switch - Show the Checkboxs as a switch control

Styleguide components.forms.checkbox.css
*/

.nova-control-checkbox .nova-control-indicator {
  border-radius: 1.5px;
  background-color: #FFFFFF;
}

.nova-control-checkbox input:checked ~ .nova-control-text,
.nova-control-checkbox input:indeterminate ~ .nova-control-text, .nova-control-checkbox:hover input:indeterminate ~ .nova-control-text {
  font-weight: 700;
}

.nova-control-checkbox input:checked ~ .nova-control-indicator,
.nova-control-checkbox input:indeterminate ~ .nova-control-indicator, .nova-control-checkbox:hover input:indeterminate ~ .nova-control-indicator {
  border-color: #2068D3;
  background-color: #2068D3;
}

.nova-control-checkbox input:checked ~ .nova-control-indicator:before,
.nova-control-checkbox input:indeterminate ~ .nova-control-indicator:before {
  content: "\F10C";
}

.nova-control-checkbox input:indeterminate ~ .nova-control-indicator::before {
  position: absolute;
  top: 5px;
  left: 2px;
  background-color: #FFFFFF;
  width: 8px;
  height: 2px;
  content: "";
}

.nova-control-checkbox input:disabled:indeterminate ~ .nova-control-indicator {
  border-color: #E5E5E5;
  background-color: #E5E5E5;
  cursor: not-allowed;
}

.nova-control-switch {
  padding-left: 44px;
  line-height: 24px;
}

.nova-control-switch .nova-control-indicator {
  border: none;
  border-radius: 2000px;
  background-color: #E5E5E5;
  width: 40px;
  height: 24px;
  -webkit-transition: background-color 0.2s ease-out;
  transition: background-color 0.2s ease-out;
}

.nova-control-switch .nova-control-indicator::before {
  display: block;
  position: absolute;
  top: 2px;
  left: 2px;
  border-radius: 100%;
  box-shadow: 0 0 4px 0 rgba(0, 0, 0, 0.2);
  background: #FFFFFF;
  width: 20px;
  height: 20px;
  content: "";
  -webkit-transition: left 0.2s ease-out;
  transition: left 0.2s ease-out;
}

.nova-control-switch input:checked ~ .nova-control-indicator {
  background-color: #2068D3;
}

.nova-control-switch input:checked ~ .nova-control-indicator::before {
  left: 18px;
}

.nova-control-switch input:disabled:indeterminate ~ .nova-control-indicator {
  background-color: #E5E5E5;
}

/*
Javascript API

@interface abstractControl

@interface Checkbox

```jsx
<Checkbox
  label="Hey, I'm the example checkbox"
  checked
/>
```

@react-example CheckboxExample

Styleguide components.forms.checkbox.js
*/

/*
Radio

* Used to select a single state in multiple options.
* The difference between Select is that Radio is visible to user and can
  facilitate the comparison of choice.

Styleguide components.forms.radio
*/

/*
CSS API

Markup:
<label class="nova-control nova-control-radio {{.modifier}}">
  <input type="radio" {{:modifier}} />
  <span class="nova-control-indicator"></span>
  <span class="nova-control-text">The label goes here</span>
</label>

:checked  - Checked.
:disabled - Disabled.Also add `.nova-control-disabled` to `.nova-control-radio`
            to change text color (not shown below).

Styleguide components.forms.radio.css
*/

.nova-control-radio .nova-control-indicator {
  border-radius: 50%;
}

.nova-control-radio input:checked ~ .nova-control-text {
  font-weight: 700;
}

.nova-control-radio input:checked ~ .nova-control-indicator::before {
  display: inline-block;
  position: absolute;
  top: 2px;
  left: 2px;
  border-radius: 50%;
  background: #2068D3;
  width: 8px;
  height: 8px;
  content: "";
}

.nova-control-radio-button {
  display: inline-block;
  padding: 10px 20px;
}

.nova-control-radio-button .nova-control-text {
  font-size: 14px;
  font-weight: 700;
  color: #79808A;
}

.nova-control-radio-button .nova-control-indicator {
  border: none;
  box-shadow: inset -1px 0 0 0 rgba(0, 0, 0, 0.12);
  background-color: #F5F5F5;
  width: 100%;
  height: 100%;
}

.nova-control-radio-button:last-child .nova-control-indicator {
  box-shadow: none;
}

.nova-control-radio-button input:checked ~ .nova-control-indicator {
  border: none;
  box-shadow: inset 0 1px 3px 0 rgba(0, 0, 0, 0.1);
  background-color: #CCCCCC;
  color: #666666;
}

.nova-control-radio-button input:checked ~ .nova-control-text {
  color: #666666;
}

.nova-control-radio-button input:focus ~ .nova-control-indicator,
.nova-control-radio-button input:focus ~ .nova-control-text {
  /* stylelint-disable-next-line property-blacklist */
  z-index: 1;
}

/*
Javascript API

The `Radio` and `RadioButton` elements are available individually but they are
typically used in a `RadioGroup` (see below). `Radio` and `RadioButton` share
the same interface and therefore accept the same props.

@interface abstractControl

```jsx
<Radio label="my radio label"  value="myValue" />
<RadioButton label="my radio label"  value="myValue" />
```

Styleguide components.forms.radio.js
*/

/*
RadioGroup

Responsible for managing state and interaction. It is used with a series of `Radio` as children.

@interface RadioGroup

```jsx
<RadioGroup
  name="soccer-stars"
  label="Who's your favorite soccer player?"
  selectedValue={this.state.selectedValue}
  onChange={e => this.setState({ selectedValue: e.currentTarget.value })}
>
  <Radio label="Zinédine Zidane" value="Zinédine Zidane" />
  <Radio label="Lionel Messi" value="Lionel Messi" />
  <Radio label="Cristiano Ronaldo" value="Cristiano Ronaldo" />
  <Radio label="Javier Hernández" value="Javier Hernández" />
  <Radio label="Luis Suárez" value="Luis Suárez" />
  <Radio label="David Beckham" value="David Beckham" />
  <Radio label="Diego Costa" value="Diego Costa" disabled />
</RadioGroup>
```

@react-example RadioGroupExample

Weight: 3

Styleguide components.forms.radio.radiogroup.js
*/

.nova-radio-group .nova-label {
  display: block;
}

.nova-radio-group > .nova-control-radio-button .nova-control-indicator {
  border-radius: 3px 0 0 3px;
}

.nova-radio-group > .nova-control-radio-button ~ .nova-control-radio-button .nova-control-indicator {
  border-radius: 0;
}

.nova-radio-group > .nova-control-radio-button:last-child .nova-control-indicator {
  border-radius: 0 3px 3px 0;
}

/*
RadioButtonGroup

Responsible for managing state and interaction.
It is used with a series of `RadioButton` as children.
`RadioButton` shouldn't be used when they are too many options.
Typically if there more than 3 options, you should favor the more traditional `Radio` UI.

```jsx
<RadioGroup
  name="citylights"
  label="What's your favorite City?"
  selectedValue={this.state.selectedValue}
  onChange={e => this.setState({ selectedValue: e.currentTarget.value })}
>
  <RadioButton label="San Francisco" value="San Francisco" />
  <RadioButton label="Mexico City" value="Mexico City" />
  <RadioButton label="Montevideo" value="Montevideo" />
</RadioGroup>
```

@react-example RadioButtonGroupExample

Weight: 1

Styleguide components.forms.radio.radiobuttongroup.js
*/

/*
Input Groups

Markup:
<div>
  <div class="nova-input-group">
    <span class="nova-input-group-addon">@</span>
    <input type="text" class="nova-input" placeholder="Username">
  </div>
  <br />
  <div class="nova-input-group">
    <input type="text" class="nova-input" placeholder="Username">
    <span class="nova-input-group-addon">@samsung.com</span>
  </div>
  <br />
  <div class="nova-input-group">
    <span class="nova-input-group-addon">$</span>
    <input type="text" class="nova-input" placeholder="Username">
    <span class="nova-input-group-addon">.00</span>
  </div>
</div>


Weight: 3

Styleguide components.forms.input-group
*/

.nova-input-group {
  display: -webkit-box;
  display: flex;
  position: relative;
  width: 100%;
}

.nova-input-group .nova-input {
  -webkit-box-flex: 1;
          flex: 1 1 auto;
  position: relative;
  margin-bottom: 0;
  width: 1%;
}

.nova-input-group-addon,
.nova-input-group .nova-input {
  display: -webkit-box;
  display: flex;
  -webkit-box-align: center;
          align-items: center;
}

.nova-input-group-addon:not(:first-child):not(:last-child),
.nova-input-group .nova-input:not(:first-child):not(:last-child) {
  border-radius: 0;
}

.nova-input-group-addon {
  vertical-align: middle;
  white-space: nowrap;
}

.nova-input-group-addon {
  border: 2px solid #E5E5E5;
  border-radius: 3px;
  box-sizing: border-box;
  background-color: #F8F9FA;
  padding: 7px 10px;
  line-height: 1.5;
  color: #9B9B9B;
  font-family: inherit;
  font-weight: bold;
}

.nova-input-group .nova-input:not(:last-child),
.nova-input-group-addon:not(:last-child) {
  border-radius: 3px 0 0 3px;
}

.nova-input-group-addon:not(:last-child) {
  border-right: 0;
}

.nova-input + .nova-input-group-addon:not(:first-child) {
  border-left: 0;
}

.nova-input-group .nova-input:not(:first-child),
.nova-input-group-addon:not(:first-child) {
  border-radius: 0 3px 3px 0;
}

/*
Selects

Markup:
<select class="nova-select {{.modifier}}" {{:modifier}}>
  <option selected>Choose an item...</option>
  <option value="1">One</option>
  <option value="2">Two</option>
  <option value="3">Three</option>
  <option value="4">Four</option>
</select>

:disabled - Disabled

Weight: 4

Styleguide components.forms.select
*/

.nova-select {
  display: block;
  border: 2px solid #E5E5E5;
  border-radius: 3px;
  box-sizing: border-box;
  background-color: #FFFFFF;
  width: 100%;
  padding: 7px 10px;
  line-height: 1.5;
  font-family: inherit;
  font-weight: 700;
  height: 40px;
}

.nova-select::-webkit-input-placeholder {
  color: #9B9B9B;
  font-weight: 700;
}

.nova-select::-moz-placeholder {
  color: #9B9B9B;
  font-weight: 700;
}

.nova-select:-ms-input-placeholder {
  color: #9B9B9B;
  font-weight: 700;
}

.nova-select::-ms-input-placeholder {
  color: #9B9B9B;
  font-weight: 700;
}

.nova-select::placeholder {
  color: #9B9B9B;
  font-weight: 700;
}

.nova-select:focus {
  outline: none;
  border-color: #2068D3;
}

.nova-select:disabled, .nova-select[readonly] {
  background-color: #F8F9FA;
}

.nova-select:disabled {
  cursor: not-allowed;
}

.nova-react-select.nova-primary .Select-arrow-zone {
  padding-right: 0;
}

.nova-react-select.nova-primary .Select-arrow-zone, .nova-react-select.nova-primary .Select-arrow-zone:hover {
  background-color: #2068D3;
}

.nova-react-select.nova-primary .Select-arrow-zone > .Select-arrow, .nova-react-select.nova-primary .Select-arrow-zone:hover > .Select-arrow {
  border-top-color: #FFFFFF;
}

.nova-react-select.nova-primary.is-open .Select-arrow-zone > .Select-arrow {
  border-bottom-color: #FFFFFF;
}

.nova-react-select .Select-input {
  height: 36px;
}

.nova-react-select .Select-placeholder, .nova-react-select .Select-value {
  line-height: 40px !important;
}

.nova-react-select .Select-control {
  border: 2px solid #E5E5E5;
  height: 40px;
}

.nova-react-select .Select-value-label {
  color: #333;
  font-weight: 700;
}

.nova-react-select .Select-option:not(.is-disabled) {
  color: #2068D3;
  font-weight: 700;
}

.nova-react-select .Select-option:not(.is-disabled):hover {
  background: #E3F3FF;
}

.nova-react-select .Select-option-group-label {
  padding: 5px 10px;
  color: #515151;
  font-size: 13px;
  font-weight: 700;
}

.nova-react-select.Select.is-open > .Select-control, .nova-react-select.Select.is-focused > .Select-control {
  border-color: #2068D3;
}

.nova-react-select .Select-menu-outer {
  top: 108%;
}

.nova-react-select .nova-option-label .nova-mute-text {
  margin-left: 0.5em;
}

.nova-react-select .Select-option-group .Select-option-group-label {
  background: #F7F7F7;
}

.nova-react-select .Select-option-group .Select-option-group .Select-option-group-label {
  background: #F8F9FA;
}

.nova-react-select .Select-option-group .Select-option-group .Select-option-group .Select-option-group-label {
  background: #F5F5F5;
}

.nova-react-select .Select-option-group .Select-option-group .Select-option-group .Select-option-group .Select-option-group-label {
  background: #E5E5E5;
}

.nova-react-select .Select-option-group .Select-option-group .Select-option-group .Select-option-group .Select-option-group .Select-option-group-label {
  background: #CDCDCD;
}

/*
JavaScript API

A Select renders a dropdown menu that can be searchable and multivalued
with support for option groups

```jsx
<Select
  name="citylights"
  placeholder="What's your favorite City?"
  labelKey="name"
  value={this.state.selectedValue}
  options={[
    { name: "I'm not sure", value: 'notsure' },
    {
      name: 'America',
      options: [
        { name: 'San Jose', value: 'SJ' },
        { name: 'San Francisco', value: 'SF' },
        { name: 'Tepatitlan', value: 'TEP' },
      ],
    },
    {
      ...
    },
  ]}
  onChange={(value) => {
    this.setState({
      selectedValue: value,
    });
  }}
/>
```
@react-example SelectExample

@interface NovaSelect

Styleguide: components.forms.select.js.Select
*/

/*
Spinners

Markup:
<div class="nova-spinner-input">
  <input type="text" value="12" autocomplete="off">
  <button type="button" class="nova-spinner-button nova-spinner-button-up">▲</button>
  <button class="nova-spinner-button nova-spinner-button-down">▼</button>
</div>

Weight: 4

Styleguide components.forms.spinner
*/

.nova-spinner-input {
  position: relative;
  height: 36px;
  font-family: "SamsungOne", "Helvetica Neue", "Arial", "sans-serif";
}

.nova-spinner-input > input {
  display: block;
  border: 2px solid #E5E5E5;
  border-radius: 3px;
  box-sizing: border-box;
  background-color: #FFFFFF;
  width: 100%;
  padding: 7px 10px;
  line-height: 1.5;
  font-family: inherit;
  font-weight: 700;
  max-width: 100%;
  height: 100%;
  max-height: 100%;
  padding: 5px !important;
  text-align: center;
  font-family: inherit;
}

.nova-spinner-input > input::-webkit-input-placeholder {
  color: #9B9B9B;
  font-weight: 700;
}

.nova-spinner-input > input::-moz-placeholder {
  color: #9B9B9B;
  font-weight: 700;
}

.nova-spinner-input > input:-ms-input-placeholder {
  color: #9B9B9B;
  font-weight: 700;
}

.nova-spinner-input > input::-ms-input-placeholder {
  color: #9B9B9B;
  font-weight: 700;
}

.nova-spinner-input > input::placeholder {
  color: #9B9B9B;
  font-weight: 700;
}

.nova-spinner-input > input:focus {
  outline: none;
  border-color: #2068D3;
}

.nova-spinner-input > input:disabled, .nova-spinner-input > input[readonly] {
  background-color: #F8F9FA;
}

.nova-spinner-input > input:disabled {
  cursor: not-allowed;
}

.nova-spinner-input.arrows-shown > input {
  padding: 5px 10px !important;
  text-align: left;
}

.nova-spinner-input .nova-spinner-button {
  position: absolute;
  right: -1px;
  /* stylelint-disable */
  z-index: 2;
  margin: 1px;
  outline: none;
  border: none;
  background-color: #DDDDDD;
  height: calc(50% - 1px);
  padding: 1px 6px;
  font-family: inherit;
  font-size: 10px;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  /* stylelint-enable */
}

.nova-spinner-input .nova-spinner-button:hover {
  background-color: #D4D4D4;
}

.nova-spinner-input .nova-spinner-button:active {
  background-color: #CDCDCD;
}

.nova-spinner-input .nova-spinner-button[disabled] {
  background-color: #DDDDDD;
  color: #AAAAAA;
}

.nova-spinner-input .nova-spinner-button[disabled]:hover, .nova-spinner-input .nova-spinner-button[disabled]:active {
  background-color: #DDDDDD;
}

.nova-spinner-input .nova-spinner-button-up {
  top: 0;
  border-radius: 0 4px 0 0;
}

.nova-spinner-input .nova-spinner-button-down {
  bottom: 0;
  border-top: 1px solid #CDCDCD;
  border-radius: 0 0 4px;
}

/*
JavaScript API

@react-example SpinnerExample

```jsx
<h3>Uncontrolled component</h3>
<Spinner
  defaultValue={20}
  minValue={1}
  maxValue={23}
  restartOnLimitReached
  precision="int"
  step={2}
  zeroLeftPadding={2}
/>

<h3>Controlled component</h3>
<Spinner
  value={this.state.value}
  onChange={(v) => {
    this.setState({ value: v });
  }}
  minValue={0}
  maxValue={999}
  precision="int"
  noEmptyValue
  zeroLeftPadding={3}
/>
```

@interface Spinner

Styleguide components.forms.spinner.js
*/

/*
Colors

Styleguide colors
*/

/*
Primary Colors

@react-docs PrimaryColorsPalette

Weight: 1

Styleguide colors.primary

*/

/*
Gray scale

@react-docs GrayscalePalette

Weight: 2

Styleguide colors.grays
*/

/*
Extended Colors

@react-docs ColorsExtendedPalette

Weight: 3

Styleguide colors.extended
*/

/*
Nesting colors

*/

/*
Footer

A universal responsive page footer.

Links are environment-specific and will be generated using
a set of three hosts passed as props (see props table, defaults to prod hosts).

Copyright dates are generated using a JavaScript `Date` instance.

Styleguide components.footer
*/

.nova-footer {
  background: #252525;
  width: 100%;
  padding: 45px 0 30px;
  font-weight: 700;
}

.nova-footer-inner {
  margin: 0 auto;
  padding: 0 24px;
}

.nova-footer-st-directory-column-title {
  color: #FFFFFF;
  font-size: 16px;
}

.nova-footer-st-directory-column-list {
  margin: 20px 0 35px;
  padding: 0;
  list-style: none;
}

.nova-footer-st-directory-column-item {
  margin-bottom: 10px;
}

.nova-footer-st-directory-column-link {
  color: #9B9B9B;
  font-size: 14px;
}

.nova-footer-st-directory-column-link:hover {
  text-decoration: none;
  color: #FFFFFF;
}

.nova-footer-st-directory-st-column .st-logo {
  display: -webkit-box;
  display: flex;
  flex-wrap: nowrap;
  -webkit-box-align: center;
          align-items: center;
  width: 210px;
}

.nova-footer-st-directory-st-column .st-logo-copyright {
  margin-top: 2px;
  margin-left: 10px;
  white-space: nowrap;
  color: #E5E5E5;
  font-size: 12px;
}

.nova-footer-st-directory-st-column .st-logo-copyright:hover {
  text-decoration: none;
}

.nova-footer-legal {
  display: -webkit-box;
  display: flex;
  -webkit-box-pack: justify;
          justify-content: space-between;
  border-top: 2px solid #515151;
  padding: 25px 0 0;
}

.nova-footer-legal-links {
  margin-left: 20px;
}

.nova-footer-legal-copyright, .nova-footer-legal-link {
  color: #9B9B9B;
  font-size: 14px;
}

.nova-footer-legal-link:visited, .nova-footer-legal-link:hover {
  text-decoration: none;
  color: #FFFFFF;
}

/*
Javascript API

@react-example FooterExample

```jsx
<Footer
  developerHost="developer-qa.xt.smartthings.com"
  deviceManagementHost="dm-qa.xt.smartthings.com"
  privacyHost="privacy-qa.xt.smartthings.com"
/>
```

@interface Footer

Styleguide components.footer.js
*/

/*
Colors

Styleguide colors
*/

/*
Primary Colors

@react-docs PrimaryColorsPalette

Weight: 1

Styleguide colors.primary

*/

/*
Gray scale

@react-docs GrayscalePalette

Weight: 2

Styleguide colors.grays
*/

/*
Extended Colors

@react-docs ColorsExtendedPalette

Weight: 3

Styleguide colors.extended
*/

/*
Nesting colors

*/

/*
Loader


Styleguide components.loader
*/

/*
Colors

Styleguide colors
*/

/*
Primary Colors

@react-docs PrimaryColorsPalette

Weight: 1

Styleguide colors.primary

*/

/*
Gray scale

@react-docs GrayscalePalette

Weight: 2

Styleguide colors.grays
*/

/*
Extended Colors

@react-docs ColorsExtendedPalette

Weight: 3

Styleguide colors.extended
*/

/*
Nesting colors

*/

/*
Colors

Styleguide colors
*/

/*
Primary Colors

@react-docs PrimaryColorsPalette

Weight: 1

Styleguide colors.primary

*/

/*
Gray scale

@react-docs GrayscalePalette

Weight: 2

Styleguide colors.grays
*/

/*
Extended Colors

@react-docs ColorsExtendedPalette

Weight: 3

Styleguide colors.extended
*/

/*
Nesting colors

*/

/* NEW */

/*
Colors

Styleguide colors
*/

/*
Primary Colors

@react-docs PrimaryColorsPalette

Weight: 1

Styleguide colors.primary

*/

/*
Gray scale

@react-docs GrayscalePalette

Weight: 2

Styleguide colors.grays
*/

/*
Extended Colors

@react-docs ColorsExtendedPalette

Weight: 3

Styleguide colors.extended
*/

/*
Nesting colors

*/

/* NEW */

@-webkit-keyframes nova-loader-scale {
  0% {
    -webkit-transform: scale(1);
            transform: scale(1);
    opacity: 1;
  }

  45% {
    -webkit-transform: scale(0.1);
            transform: scale(0.1);
    opacity: 0.7;
  }

  80% {
    -webkit-transform: scale(1);
            transform: scale(1);
    opacity: 1;
  }
}

@keyframes nova-loader-scale {
  0% {
    -webkit-transform: scale(1);
            transform: scale(1);
    opacity: 1;
  }

  45% {
    -webkit-transform: scale(0.1);
            transform: scale(0.1);
    opacity: 0.7;
  }

  80% {
    -webkit-transform: scale(1);
            transform: scale(1);
    opacity: 1;
  }
}

.nova-ball-pulse > div:nth-child(1) {
  -webkit-animation: nova-loader-scale 1s -0.24s infinite cubic-bezier(0.2, 0.68, 0.18, 1.08);
          animation: nova-loader-scale 1s -0.24s infinite cubic-bezier(0.2, 0.68, 0.18, 1.08);
}

.nova-ball-pulse > div:nth-child(2) {
  -webkit-animation: nova-loader-scale 1s -0.12s infinite cubic-bezier(0.2, 0.68, 0.18, 1.08);
          animation: nova-loader-scale 1s -0.12s infinite cubic-bezier(0.2, 0.68, 0.18, 1.08);
}

.nova-ball-pulse > div:nth-child(3) {
  -webkit-animation: nova-loader-scale 1s 0s infinite cubic-bezier(0.2, 0.68, 0.18, 1.08);
          animation: nova-loader-scale 1s 0s infinite cubic-bezier(0.2, 0.68, 0.18, 1.08);
}

.nova-ball-pulse > div {
  margin: 2px;
  border-radius: 100%;
  background-color: #2068D3;
  width: 14px;
  height: 14px;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
  display: inline-block;
}

/*
Colors

Styleguide colors
*/

/*
Primary Colors

@react-docs PrimaryColorsPalette

Weight: 1

Styleguide colors.primary

*/

/*
Gray scale

@react-docs GrayscalePalette

Weight: 2

Styleguide colors.grays
*/

/*
Extended Colors

@react-docs ColorsExtendedPalette

Weight: 3

Styleguide colors.extended
*/

/*
Nesting colors

*/

/*
Colors

Styleguide colors
*/

/*
Primary Colors

@react-docs PrimaryColorsPalette

Weight: 1

Styleguide colors.primary

*/

/*
Gray scale

@react-docs GrayscalePalette

Weight: 2

Styleguide colors.grays
*/

/*
Extended Colors

@react-docs ColorsExtendedPalette

Weight: 3

Styleguide colors.extended
*/

/*
Nesting colors

*/

/* NEW */

/*
Colors

Styleguide colors
*/

/*
Primary Colors

@react-docs PrimaryColorsPalette

Weight: 1

Styleguide colors.primary

*/

/*
Gray scale

@react-docs GrayscalePalette

Weight: 2

Styleguide colors.grays
*/

/*
Extended Colors

@react-docs ColorsExtendedPalette

Weight: 3

Styleguide colors.extended
*/

/*
Nesting colors

*/

/* NEW */

@-webkit-keyframes nova-ball-pulse-sync {
  33% {
    -webkit-transform: translateY(10px);
            transform: translateY(10px);
  }

  66% {
    -webkit-transform: translateY(-10px);
            transform: translateY(-10px);
  }

  100% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}

@keyframes nova-ball-pulse-sync {
  33% {
    -webkit-transform: translateY(10px);
            transform: translateY(10px);
  }

  66% {
    -webkit-transform: translateY(-10px);
            transform: translateY(-10px);
  }

  100% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}

.nova-ball-pulse-sync > div:nth-child(1) {
  -webkit-animation: nova-ball-pulse-sync 1s -0.14s infinite ease-in-out;
          animation: nova-ball-pulse-sync 1s -0.14s infinite ease-in-out;
}

.nova-ball-pulse-sync > div:nth-child(2) {
  -webkit-animation: nova-ball-pulse-sync 1s -0.07s infinite ease-in-out;
          animation: nova-ball-pulse-sync 1s -0.07s infinite ease-in-out;
}

.nova-ball-pulse-sync > div:nth-child(3) {
  -webkit-animation: nova-ball-pulse-sync 1s 0s infinite ease-in-out;
          animation: nova-ball-pulse-sync 1s 0s infinite ease-in-out;
}

.nova-ball-pulse-sync > div {
  margin: 2px;
  border-radius: 100%;
  background-color: #2068D3;
  width: 14px;
  height: 14px;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
  display: inline-block;
}

/*
Colors

Styleguide colors
*/

/*
Primary Colors

@react-docs PrimaryColorsPalette

Weight: 1

Styleguide colors.primary

*/

/*
Gray scale

@react-docs GrayscalePalette

Weight: 2

Styleguide colors.grays
*/

/*
Extended Colors

@react-docs ColorsExtendedPalette

Weight: 3

Styleguide colors.extended
*/

/*
Nesting colors

*/

/*
Colors

Styleguide colors
*/

/*
Primary Colors

@react-docs PrimaryColorsPalette

Weight: 1

Styleguide colors.primary

*/

/*
Gray scale

@react-docs GrayscalePalette

Weight: 2

Styleguide colors.grays
*/

/*
Extended Colors

@react-docs ColorsExtendedPalette

Weight: 3

Styleguide colors.extended
*/

/*
Nesting colors

*/

/* NEW */

@-webkit-keyframes nova-single-ball-beat {
  0% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }

  50% {
    -webkit-transform: scale(2);
            transform: scale(2);
  }

  100% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}

@keyframes nova-single-ball-beat {
  0% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }

  50% {
    -webkit-transform: scale(2);
            transform: scale(2);
  }

  100% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}

.nova-single-ball-beat {
  position: relative;
  min-width: 14px;
  min-height: 14px;
}

.nova-single-ball-beat > div {
  margin: 2px;
  border-radius: 100%;
  background-color: #2068D3;
  width: 14px;
  height: 14px;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
  display: inline-block;
  position: absolute;
  top: 50%;
  left: 50%;
  margin: -7px;
}

.nova-single-ball-beat > div:first-child {
  opacity: 0.5;
  -webkit-animation: nova-single-ball-beat 1s infinite;
          animation: nova-single-ball-beat 1s infinite;
}

/*
Colors

Styleguide colors
*/

/*
Primary Colors

@react-docs PrimaryColorsPalette

Weight: 1

Styleguide colors.primary

*/

/*
Gray scale

@react-docs GrayscalePalette

Weight: 2

Styleguide colors.grays
*/

/*
Extended Colors

@react-docs ColorsExtendedPalette

Weight: 3

Styleguide colors.extended
*/

/*
Nesting colors

*/

/* NEW */

.spinner-animation {
  width: 30px;
  height: 30px;
  -webkit-animation: spinnerRotate 2s linear infinite;
          animation: spinnerRotate 2s linear infinite;
}

.spinner-animation .path {
  -webkit-animation: spinnerDash 1.5s ease-in-out infinite;
          animation: spinnerDash 1.5s ease-in-out infinite;
  stroke: #2068D3;
  stroke-linecap: round;
}

@-webkit-keyframes spinnerRotate {
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}

@keyframes spinnerRotate {
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}

@-webkit-keyframes spinnerDash {
  0% {
    stroke-dasharray: 1, 150;
    stroke-dashoffset: 0;
  }

  50% {
    stroke-dasharray: 90, 150;
    stroke-dashoffset: -35;
  }

  100% {
    stroke-dasharray: 90, 150;
    stroke-dashoffset: -124;
  }
}

@keyframes spinnerDash {
  0% {
    stroke-dasharray: 1, 150;
    stroke-dashoffset: 0;
  }

  50% {
    stroke-dasharray: 90, 150;
    stroke-dashoffset: -35;
  }

  100% {
    stroke-dasharray: 90, 150;
    stroke-dashoffset: -124;
  }
}

.nova-loader {
  -webkit-box-pack: center;
          justify-content: center;
  padding: 20vh 0;
}

.nova-loader-no-margin {
  padding: 0;
}

.nova-loader-hidden {
  display: none;
}

.nova-loader-active {
  display: -webkit-box;
  display: flex;
}

.nova-loader-active-full-screen {
  display: -webkit-box;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
          flex-direction: column;
  -webkit-box-pack: center;
          justify-content: center;
  position: fixed;
  top: 0;
  left: 0;
  background: none repeat scroll 0 0 rgba(0, 0, 0, 0.6);
  width: 100%;
  height: 100%;
  /* stylelint-disable-next-line property-blacklist */
  z-index: 10;
}

.nova-loader-active-full-screen .nova-loader-description {
  color: #FFFFFF;
}

.nova-loader-inner {
  display: -webkit-box;
  display: flex;
  -webkit-box-align: center;
          align-items: center;
  -webkit-box-pack: center;
          justify-content: center;
}

.nova-loader-description {
  display: -webkit-box;
  display: flex;
  -webkit-box-pack: center;
          justify-content: center;
  color: #515151;
  font-size: 13px;
  font-weight: 700;
}

/*
JavaScript API

@react-example LoaderExample


```jsx
  <Loader
    active
    type="ball-beat"
  />
```
@interface Loader

Styleguide components.loader.js
*/

/*
Menu

Menus are meant to present users with various links/actions.

Styleguide components.menu
*/

/*
CSS API

Styleguide components.menu.css
*/

.nova-menu {
  margin: 0;
  border-radius: 3px;
  background-color: #FFFFFF;
  min-width: 180px;
  padding: 0;
  list-style: none;
  text-align: left;
  color: #252525;
}

.nova-menu-item {
  display: -webkit-box;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
          flex-direction: row;
  -webkit-box-align: start;
          align-items: flex-start;
  border-radius: 2px;
  padding: 6px 24px;
  text-decoration: none;
  color: #2068D3;
  font-size: 14px;
  font-weight: 700;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
}

.nova-menu-item::before {
  margin-right: 5px;
}

.nova-menu-item:hover {
  background-color: #F1F7FC;
  cursor: pointer;
  text-decoration: none;
  color: #2068D3;
}

.nova-menu-item-disabled {
  color: #79808A !important;
}

.nova-menu-item .nova-button {
  text-transform: none;
}

.nova-menu-divider {
  display: block;
  border-top: 2px solid #E5E5E5;
}

.nova-menu-divider, .nova-menu-header {
  border-color: #E5E5E5;
  padding: 4px 24px;
}

.nova-menu-header {
  display: block;
  border-top: 2px solid #E5E5E5;
}

.nova-menu-header:first-of-type {
  border-top: none;
}

.nova-menu-header > h6 {
  margin: 10px 7px 0 0;
  color: #79808A;
  font-size: 14px;
  font-weight: 700;
}

.nova-menu-dropdown .nova-popover-inner-content {
  padding: 5px 0;
}

/*
JavaScript API

@react-example MenuExample

```jsx
<Menu>
  <MenuItem text="New device" icon="nova-icon-add" />
  <MenuItem text="Automation" icon="nova-icon-duration" />
  <MenuItem text="Settings" icon="nova-icon-cog" onClick={() => console('go to settings')} />
  <MenuDivider />
  <MenuItem text="Logout" icon="nova-icon-external-link" href="http://www.samsung.com" />
</Menu>
```

Styleguide components.menu.js
*/

/*
Menu

@interface Menu

Weight: 1

Styleguide components.menu.js.menu
*/

/*
Menu Item

Render a single item in the menu.
Make the MenuItem a link by providing the `href`, `target`, and `onClick` props as necessary

@interface MenuItem

Weight: 2

Styleguide components.menu.js.item
*/

/*
Menu Divider

Used to separate menu group. It can be a title or just a single air line

@interface MenuDivider

Weight: 3

Styleguide components.menu.js.divider
*/

/*
Dropdown Menu

Dropdowns are toggleable, contextual overlays for displaying lists of links and more.

Dropdowns don't exist as a component per say but can be achieved by using a `Menu` component as
the `content` for a Popover. Please note that a popover with a `click` trigger will apply the
`nova-active` class to the target element so that it can have a visually active state.

```jsx
<Popover content={<Menu>...</Menu>} direction="bottomRight">
  <Button text="Rick Astley" primary className="nova-icon-user" rightIcon="nova-icon-down-alt" />
</Popover>
```

@react-example DropdownMenuExample

Weight: 4

Styleguide components.menu.js.dropdown
*/

/*
Colors

Styleguide colors
*/

/*
Primary Colors

@react-docs PrimaryColorsPalette

Weight: 1

Styleguide colors.primary

*/

/*
Gray scale

@react-docs GrayscalePalette

Weight: 2

Styleguide colors.grays
*/

/*
Extended Colors

@react-docs ColorsExtendedPalette

Weight: 3

Styleguide colors.extended
*/

/*
Nesting colors

*/

/*
Modal


Styleguide components.modal
*/

/*
CSS API

Markup:
<div class="nova-modal-dialog">
  <div class="nova-modal-content">
    <div class="nova-modal-header">
      <h3>Modal title</h3>
      <button class="nova-modal-close-button nova-button nova-button-minimal nova-icon-close">
      </button>
    </div>
    <div class="nova-modal-body">
      Cras mattis consectetur purus sit amet fermentum.
      Cras justo odio, dapibus ac facilisis in, egestas eget quam.
       Morbi leo risus, porta ac consectetur ac, vestibulum at eros.
    </div>
    <div class="nova-modal-footer">
      <button type="button" class="nova-button">Cancel</button>
      <button type="button" class="nova-button nova-button-primary">Do Something</button>
    </div>
  </div>
</div>

Styleguide components.modal.css
*/

.nova-modal {
  display: block;
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  outline: 0;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
  /* stylelint-disable-next-line property-blacklist */
  z-index: 10;
}

.nova-modal-dialog {
  display: -webkit-box;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
          flex-direction: column;
  position: absolute;
  top: 10vh;
  right: 50%;
  -webkit-transform: translateX(50%);
          transform: translateX(50%);
  margin-bottom: 30px;
  background-color: #FFFFFF;
  width: 600px;
  /* stylelint-disable-next-line property-blacklist */
  z-index: 10;
}

.nova-modal-backdrop {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-color: rgba(0, 0, 0, 0.6);
  /* stylelint-disable-next-line property-blacklist */
  z-index: 10;
}

.nova-modal-header {
  display: -webkit-box;
  display: flex;
  -webkit-box-flex: 0;
          flex: 0 0 auto;
  -webkit-box-align: start;
          align-items: flex-start;
}

.nova-modal-header > h3 {
  -webkit-box-flex: 1;
          flex: 1 1 auto;
  font-weight: 700;
}

.nova-modal-content {
  padding: 30px;
}

.nova-modal-body {
  margin: 10px 0 20px;
}

.nova-modal-footer {
  display: -webkit-box;
  display: flex;
  -webkit-box-pack: end;
          justify-content: flex-end;
}

.nova-modal-close-button.nova-button {
  -webkit-box-flex: 0;
          flex: 0 0 auto;
  margin-top: -10px;
  margin-right: -10px;
  font-size: 30px;
}

/*
JavaScript API


@interface Modal

@react-example ModalExample


```jsx
<Modal
  title="Modal title"
  actions={actions}
  isOpen={this.state.isOpen}
  onRequestClose={this.toggleModal}
>
  Cras mattis consectetur purus sit amet fermentum.
  Cras justo odio, dapibus ac facilisis in, egestas eget quam.
  Morbi leo risus, porta ac consectetur ac, vestibulum at eros.
</Modal>
```


Styleguide components.modal.js
*/

/*
Colors

Styleguide colors
*/

/*
Primary Colors

@react-docs PrimaryColorsPalette

Weight: 1

Styleguide colors.primary

*/

/*
Gray scale

@react-docs GrayscalePalette

Weight: 2

Styleguide colors.grays
*/

/*
Extended Colors

@react-docs ColorsExtendedPalette

Weight: 3

Styleguide colors.extended
*/

/*
Nesting colors

*/

/*
Multistep Select

Replacement of DeviceBrowser
It provides a compound selector based on multiple steps
each step can be text/value only, like a normal dropdown
or a custom component that *must implements* onSubmit prop
and optionally onCancel prop.

This component is based on NovaSelect. For more information about props
please refer to that component.

Styleguide components.multistepSelect
*/

.nova-multi-select.nova-select {
  height: auto !important;
}

.nova-multi-select.is-custom-input .Select-menu {
  overflow: visible;
}

.nova-multi-select-custom-option {
  padding: 0.5em;
}

.nova-multi-select .Select-multi-value-wrapper > div,
.nova-multi-select .Select-multi-value-wrapper .nova-pill {
  display: inline-block;
  margin: 4px;
  line-height: 1em;
}

.nova-multi-select .Select-multi-value-wrapper .Select-input {
  height: auto;
}

/*
JavaScript API


@interface MultistepSelect

@react-example MultistepSelectExample

```jsx
<MultistepSelect
  name="deviceField"
  placeholder="Choose a device field"
  labelKey="name"
  numberOfSteps={2}
  pillLabels={['value', 'field']}

  options={this.state.options}
  onSelection={this.onSelection}
  onRemoveValue={this.onRemoveValue}
/>

onSelection = (step, selection, e) => {
  const {
    value,
  } = this.state;
  let item;
  let options;

  switch (step) {
    case 0:
      // do what ever you want with the selection
      value.push(
        Object.assign(selection, { step }),
      );
      // as an example you could set the options as a component
      // that lives in the selected value
      if (selection.theInputComponent) {
        options = selection.theInputComponent;
      } else {
        options = this.fields[selection.value];
      }

      this.setState({
        options,
        value,
      });
      break;
    case 1:
      item = value.find(v => v.step === step - 1);
      Object.assign(item, { field: selection.value, step });
      this.setState({
        value,
        options: this.devices,
      });
      break;
    default:
      this.setState({
        options: this.devices,
      });
      break;

  }
}

onRemoveValue = (value, step) => {
  // handle pill remove
  const options = step === 0 ? this.devices : this.state.options;

  this.setState({
    value: this.state.value.filter(v => v !== value),
    options,
  });
}

devices = [
  {
    name: 'Custom selection components',
    // only the first options element counts when it is a component
    options: [
      {
        name: 'free input',
        value: 'freeinput',
        theInputComponent: [
          <FreeInputOption instructionalText="some text can appear here" />,
        ],
      },
    ],
  },
  {
    name: 'My devices',
    options: [
      {
        name: 'SmartWatch',
        value: 'dt2764653',
      },
      {
        name: 'Super Wall Clock',
        value: 'dtWallClolock',
      },
      {
        name: 'SmartCoffee',
        value: 'dtSMCoffee',
      },
    ],
  },
  ...
];

fields = {
  dt2764653: [
    {
      name: 'steps',
      value: 'steps',
    },
    {
      name: 'hour',
      value: 'hour',
    },
    {
      name: 'alarm',
      value: 'alarm',
    },
  ],
  dtWallClolock: [
    {
      name: 'hour',
      value: 'hour',
    },
    ...
  ],
  ...
};


```

Styleguide components.multistepSelect.js
*/

/*
Grid System

Nova UI Toolkit includes a flexbox based grid system called gridlex.
You can check the documentation at : http://gridlex.devlint.fr/

Weight: 2

Styleguide grid
*/

/*
NavBar

Used to build principal navigation headers (both top and main).

Styleguide components.navbar
*/

/*
CSS API

Styleguide components.navbar.css
*/

.nova-navbar {
  /* stylelint-disable-next-line property-blacklist */
  z-index: 1;
  position: relative;
  box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1);
  background-color: #FFFFFF;
}

.nova-navbar-brand {
  display: -webkit-box;
  display: flex;
  -webkit-box-align: center;
          align-items: center;
  position: absolute;
  left: 0;
  box-sizing: border-box;
  width: 100%;
  min-height: 64px;
  padding: 0 24px;
  /* stylelint-disable-next-line selector-max-universal */
}

.nova-navbar-brand > * {
  display: -webkit-box;
  display: flex;
  margin: -6px 0;
}

@media screen and (max-width: 767px) {
  .nova-navbar-brand {
    position: relative;
  }
}

.nova-navbar-search {
  display: -webkit-box;
  display: flex;
  -webkit-box-align: center;
          align-items: center;
  position: absolute;
  top: 0;
  left: 0;
  -webkit-transform: translateY(calc(-100% - 10px));
          transform: translateY(calc(-100% - 10px));
  visibility: hidden;
  box-sizing: border-box;
  background: #FFFFFF;
  width: 100%;
  height: 65px;
  padding-right: 24px;
  padding-left: 24px;
  -webkit-transition: all 240ms ease-in-out;
  transition: all 240ms ease-in-out;
}

.nova-navbar-search.is-open {
  -webkit-transform: translateY(0);
          transform: translateY(0);
  visibility: visible;
}

.nova-navbar-search.is-open .search-input-wrapper,
.nova-navbar-search.is-open .nova-icon-header-search {
  -webkit-transform: translateY(0);
          transform: translateY(0);
  opacity: 1;
}

.nova-navbar-search.is-open .nova-icon-close {
  -webkit-transform: scale(1);
          transform: scale(1);
  opacity: 1;
}

.nova-navbar-search .nova-icon-header-search {
  -webkit-transform: translateY(-30px);
          transform: translateY(-30px);
  opacity: 0;
  margin-right: 10px;
  -webkit-transition: all 0.24s ease-in-out 0.1s;
  transition: all 0.24s ease-in-out 0.1s;
}

.nova-navbar-search .nova-icon-header-search::before {
  color: #CDCDCD;
  font-size: 24px;
}

.nova-navbar-search .search-input-wrapper {
  -webkit-box-flex: 1;
          flex: 1 0 auto;
  -webkit-transform: translateY(-30px);
          transform: translateY(-30px);
  opacity: 0;
  margin-right: 20px;
  -webkit-transition: all 0.24s ease-in-out 0.15s;
  transition: all 0.24s ease-in-out 0.15s;
}

.nova-navbar-search .search-input-wrapper > input {
  outline: 0;
  border: none;
  box-shadow: none;
  width: 100%;
  font-family: "SamsungOne", "Helvetica Neue", "Arial", "sans-serif";
  font-size: 16px;
  font-weight: 700;
}

.nova-navbar-search .nova-icon-close {
  -webkit-transform: scale(0);
          transform: scale(0);
  opacity: 0;
  outline: none;
  border: none;
  background: none;
  cursor: pointer;
  padding: 0;
  -webkit-transition: all 0.24s ease-in-out 0.2s;
  transition: all 0.24s ease-in-out 0.2s;
}

.nova-navbar-search .nova-icon-close:hover::before {
  color: #252525;
}

.nova-navbar-search .nova-icon-close::before {
  width: 32px;
  height: 32px;
  color: #79808A;
  font-size: 24px;
}

.nova-navbar-row {
  display: -webkit-box;
  display: flex;
  flex-basis: 100%;
  flex-wrap: wrap;
  -webkit-box-align: center;
          align-items: center;
  border-bottom: 1px solid #E1E4E6;
  box-sizing: content-box;
  min-height: 40px;
  padding: 12px 24px;
}

@media screen and (max-width: 767px) {
  .nova-navbar-row {
    padding: 12px 24px 20px;
  }
}

.nova-navbar-navitem {
  display: -webkit-box;
  display: flex;
  margin: 0 10px;
}

.nova-navbar-navitem:first-child {
  margin-left: 0;
}

.nova-navbar-navitem:last-child {
  margin-right: 0;
}

@media screen and (max-width: 767px) {
  .nova-navbar-navitem {
    margin-top: 10px;
    margin-bottom: 10px;
  }

  .nova-navbar-navitem:first-child {
    margin-left: 10px;
  }

  .nova-navbar-navitem:last-child {
    margin-right: 10px;
  }
}

.nova-navbar-navitem .navlink,
.nova-navbar-navitem .navlink-secondary {
  position: relative;
  text-transform: capitalize;
  font-size: 15px;
  font-weight: 700;
}

.nova-navbar-navitem .navlink {
  color: #79808A;
}

.nova-navbar-navitem .navlink:hover {
  color: #515151;
}

.nova-navbar-navitem .navlink.active {
  color: #252525;
}

.nova-navbar-navitem .navlink.active::before {
  position: absolute;
  bottom: -22px;
  border-bottom: 5px solid #2068D3;
  width: 100%;
  content: "";
  /* stylelint-disable-next-line */
}

@media screen and (max-width: 767px) {
  .nova-navbar-navitem .navlink.active::before {
    bottom: -5px;
  }
}

.nova-navbar-navitem .navlink-icon {
  display: -webkit-box;
  display: flex;
  -webkit-box-pack: center;
          justify-content: center;
  margin-left: 0;
  width: 32px;
  height: 32px;
}

.nova-navbar-navitem .navlink-icon:hover {
  background: #F8F9FA;
}

.nova-navbar-navitem .navlink-icon.nova-active {
  background: #F5F5F5;
}

.nova-navbar-navitem .navlink-icon.nova-button[class*=nova-icon]::before {
  float: none;
  margin: 0;
  color: #252525;
  font-size: 22px;
}

.nova-navbar-group {
  display: -webkit-box;
  display: flex;
  -webkit-box-align: center;
          align-items: center;
}

.nova-navbar-group.adjacent-to-brand {
  margin-left: 200px;
}

@media screen and (max-width: 767px) {
  .nova-navbar-group.adjacent-to-brand {
    margin-left: auto;
  }
}

.nova-navbar-group.adjacent-to-icons {
  margin-right: 110px;
  margin-left: auto;
}

.nova-navbar-group.adjacent-to-icons.two-icons {
  margin-right: 88px;
}

.nova-navbar-group.adjacent-to-icons.one-icon {
  margin-right: 56px;
}

@media screen and (max-width: 767px) {
  .nova-navbar-group.adjacent-to-icons {
    margin-right: 30px;
  }
}

.nova-navbar-group + .nova-navbar-toggler {
  margin-left: 20px;
}

.nova-navbar-group.nova-icon-headers-group {
  margin-left: auto;
}

.nova-navbar-group.nova-icon-headers-group .nova-navbar-navitem {
  margin-right: 0;
  margin-left: 0;
}

.nova-navbar-align-center {
  margin-right: auto;
  margin-left: auto;
}

.nova-navbar-align-right {
  margin-left: auto;
}

.nova-navbar-align-right:not(:last-child) {
  margin-right: 20px;
}

.nova-navbar-align-left {
  margin-right: auto;
}

.nova-navbar-align-left:not(:first-child) {
  margin-left: 20px;
}

.nova-navbar-toggler {
  display: none;
  position: relative;
  outline: 0;
  border: none;
  cursor: pointer;
  width: 18px;
  height: 14px;
  padding: 0;
}

.nova-navbar-toggler-inner {
  display: block;
  margin: 0;
  border-radius: 2px;
  background: #79808A;
  width: 18px;
  height: 2px;
  -webkit-transition: background 0.2s ease-in-out, -webkit-transform 0.25s cubic-bezier(0.34, 0.07, 0.11, 0.97);
  transition: background 0.2s ease-in-out, -webkit-transform 0.25s cubic-bezier(0.34, 0.07, 0.11, 0.97);
  transition: transform 0.25s cubic-bezier(0.34, 0.07, 0.11, 0.97), background 0.2s ease-in-out;
  transition: transform 0.25s cubic-bezier(0.34, 0.07, 0.11, 0.97), background 0.2s ease-in-out, -webkit-transform 0.25s cubic-bezier(0.34, 0.07, 0.11, 0.97);
}

.nova-navbar-toggler-inner::before, .nova-navbar-toggler-inner::after {
  display: block;
  position: absolute;
  border-radius: 2px;
  background: #79808A;
  width: 18px;
  height: 2px;
  content: "";
  -webkit-transition: background 0.2s ease-in-out, -webkit-transform 0.25s cubic-bezier(0.34, 0.07, 0.11, 0.97);
  transition: background 0.2s ease-in-out, -webkit-transform 0.25s cubic-bezier(0.34, 0.07, 0.11, 0.97);
  transition: transform 0.25s cubic-bezier(0.34, 0.07, 0.11, 0.97), background 0.2s ease-in-out;
  transition: transform 0.25s cubic-bezier(0.34, 0.07, 0.11, 0.97), background 0.2s ease-in-out, -webkit-transform 0.25s cubic-bezier(0.34, 0.07, 0.11, 0.97);
}

.nova-navbar-toggler-inner::before {
  -webkit-transform: translateY(-6px);
          transform: translateY(-6px);
}

.nova-navbar-toggler-inner::after {
  -webkit-transform: translateY(6px);
          transform: translateY(6px);
}

.nova-navbar-toggler.expanded .nova-navbar-toggler-inner {
  background: transparent;
}

.nova-navbar-toggler.expanded .nova-navbar-toggler-inner::before, .nova-navbar-toggler.expanded .nova-navbar-toggler-inner::after {
  -webkit-transform: translateY(0);
          transform: translateY(0);
}

.nova-navbar-toggler.expanded .nova-navbar-toggler-inner::before {
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}

.nova-navbar-toggler.expanded .nova-navbar-toggler-inner::after {
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}

@media screen and (max-width: 767px) {
  .nova-navbar-toggler {
    display: block;
    margin-left: auto;
  }
}

.nova-navbar-collapse {
  display: -webkit-box;
  display: flex;
  -webkit-box-flex: 1;
          flex: 1 0 auto;
  flex-wrap: wrap;
  overflow-x: visible;
}

@media screen and (min-width: 768px) {
  .nova-navbar-collapse.collapse {
    height: auto !important;
  }
}

@media screen and (max-width: 767px) {
  .nova-navbar-collapse.collapse {
    height: 0;
    overflow: hidden;
  }

  .nova-navbar-collapse.collapse.in {
    display: block;
    opacity: 1;
    height: auto;
    overflow-y: auto;
  }

  .nova-navbar-collapse.collapsing {
    display: block;
    position: relative;
    opacity: 1;
    overflow: hidden;
    -webkit-transition-property: height, visibility;
    transition-property: height, visibility;
    -webkit-transition-duration: 0.3s;
            transition-duration: 0.3s;
    -webkit-transition-timing-function: ease-out;
            transition-timing-function: ease-out;
  }
}

@media screen and (max-width: 767px) {
  .nova-navbar-collapse {
    flex-basis: 100%;
    flex-wrap: wrap;
  }

  .nova-navbar-collapse .nova-navbar-group {
    display: -webkit-box;
    display: flex;
    flex-basis: 100%;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
            flex-direction: column;
    -webkit-box-flex: 1;
            flex-grow: 1;
    margin: 0;
  }

  .nova-navbar-collapse .nova-navbar-group > .nova-button {
    display: block;
    margin-right: 0;
    margin-left: 0;
  }
}

/*
JavaScript API

NavBar (BETA)

Used to build principal navigation headers (both top and main).
Navbar is composable and can be built by using `NavbarBrand`, `NavbarCollapse`,
`NavbarGroup`, `NavbarNavItem` and `NavbarRow` components.

@react-example NavbarExample

```jsx
<Navbar>
  <NavbarBrand>
    <a href="/">{renderBrand()}</a>
    <NavbarGroup className="nova-icon-headers-group">
      <NavbarNavItem>
        <Popover className="nova-menu-dropdown" direction="bottom">
          ...
        </Popover>
      </NavbarNavItem>
      <NavbarNavItem>
        <Button text="" minimal className="nova-icon-header-help navlink-icon" />
      </NavbarNavItem>
      <NavbarNavItem>
        <NavbarSearchToggle>
          <Button text="" minimal className="nova-icon-header-search navlink-icon" />
        </NavbarSearchToggle>
      </NavbarNavItem>
    </NavbarGroup>
  </NavbarBrand>
  <NavbarCollapse>
    <NavbarRow
    className="main-nav-row" searchModule={<input type="text" placeholder="Search in ..." />}>
      <NavbarGroup className="adjacent-to-brand">
        <NavbarNavItem><Button className="navlink" primary text="Docs" minimal /></NavbarNavItem>
        <NavbarNavItem>
          <Button className="navlink active" primary text="Community" minimal />
        </NavbarNavItem>
        <NavbarNavItem><Button className="navlink" primary text="Pricing" minimal /></NavbarNavItem>
      </NavbarGroup>
      <NavbarGroup className="adjacent-to-icons">
        <NavbarNavItem>
          <Button
            className="navlink-secondary"
            rightIcon="nova-icon-external-link"
            primary
            text="Workspace" minimal
          />
        </NavbarNavItem>
        <NavbarNavItem>
          <Button
            className="navlink-secondary"
            rightIcon="nova-icon-external-link"
            primary
            text="Device Management" minimal
          />
        </NavbarNavItem>
      </NavbarGroup>
    </NavbarRow>
  </NavbarCollapse>
</Navbar>
```

@interface Navbar

Styleguide components.navbar.js
*/

/*
Group

Group navigation elements together

@interface NavbarGroup

Weight: 2

Styleguide components.navbar.js.group
*/

/*
Collapse

@interface NavbarCollapse

Wrap components that need to collapse on mobile.
Narbav will automatically wire the toggle and collapse together using `Context` object

Weight: 2

Styleguide components.navbar.js.collapse
*/

/*
Row

@interface NavbarRow

A wrapper to create various rows within the navbar

Weight: 2

Styleguide components.navbar.js.row
*/

/*
Item

@interface NavbarNavItem

A simple wrapper for navbar elements, this will take care of adding margins between elements.

Weight: 2

Styleguide components.navbar.js.navitem
*/

/*
Brand

An helper component for the navbar brand.
This component will inject `NavbarToggle`

@interface NavbarBrand

Weight: 2

Styleguide components.navbar.js.brand
*/

/*
Search Toggle

Used to display the search panel toggle

Weight: 2

Styleguide components.navbar.js.searchtoggle
*/

/*
Toggle

Used to display the modal navbar menu toggle

Weight: 2

Styleguide components.navbar.js.toggle
*/

/*
Colors

Styleguide colors
*/

/*
Primary Colors

@react-docs PrimaryColorsPalette

Weight: 1

Styleguide colors.primary

*/

/*
Gray scale

@react-docs GrayscalePalette

Weight: 2

Styleguide colors.grays
*/

/*
Extended Colors

@react-docs ColorsExtendedPalette

Weight: 3

Styleguide colors.extended
*/

/*
Nesting colors

*/

/*
Pill

Styleguide components.pill
*/

/*
CSS API

Markup:
<div class="nova-pill">
  <div class="nova-pill-portion">
    I have
  </div><div class="nova-pill-portion">
    remove button
    <i class="nova-pill-remove nova-icon-close"></i>
  </div>
</div>

Styleguide components.pill.css
*/

.nova-pill {
  display: inline;
}

.nova-pill-portion {
  display: inline-block;
  background-color: #E5E5E5;
  padding: 2.5px 12px;
  color: #515151;
  font-size: 13px;
}

.nova-pill-portion:first-of-type {
  border-radius: 10000px;
}

.nova-pill-portion:first-of-type:not(:last-of-type) {
  border-radius: 10000px 0 0 10000px;
}

.nova-pill-portion:last-of-type:not(:first-of-type) {
  border-radius: 0 10000px 10000px 0;
  background-color: #2068D3;
  color: #FFFFFF;
}

.nova-pill-remove {
  margin-left: 0.5em;
  cursor: pointer;
}

/*
JavaScript API


@interface Pill

@react-example PillExample

```html
<Pill>
  <Pill>
    this is
  </Pill>
  <Pill>
    your pill
  </Pill>
</Pill>
```

Styleguide components.pill.js
*/

/*
Colors

Styleguide colors
*/

/*
Primary Colors

@react-docs PrimaryColorsPalette

Weight: 1

Styleguide colors.primary

*/

/*
Gray scale

@react-docs GrayscalePalette

Weight: 2

Styleguide colors.grays
*/

/*
Extended Colors

@react-docs ColorsExtendedPalette

Weight: 3

Styleguide colors.extended
*/

/*
Nesting colors

*/

/*
Popover

Styleguide components.popover
*/

/*
CSS API

A floating card popped by clicking or hovering.

There's currently no CSS api for popovers since it heavily relies on JS.

Styleguide components.popover.css
*/

.nova-popover {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  visibility: visible;
  cursor: auto;
  /* stylelint-disable-next-line property-blacklist */
  z-index: 1;
}

.nova-popover.nova-popover-hidden {
  display: none;
}

.nova-popover.nova-popover-placement-top, .nova-popover.nova-popover-placement-topLeft, .nova-popover.nova-popover-placement-topRight {
  padding-bottom: 5px;
}

.nova-popover.nova-popover-placement-right, .nova-popover.nova-popover-placement-rightTop, .nova-popover.nova-popover-placement-rightBottom {
  padding-left: 5px;
}

.nova-popover.nova-popover-placement-bottom, .nova-popover.nova-popover-placement-bottomLeft, .nova-popover.nova-popover-placement-bottomRight {
  padding-top: 5px;
}

.nova-popover.nova-popover-placement-left, .nova-popover.nova-popover-placement-leftTop, .nova-popover.nova-popover-placement-leftBottom {
  padding-right: 5px;
}

.nova-popover-inner {
  border-radius: 3px;
  box-shadow: 0 2px 6px 0 rgba(0, 0, 0, 0.3);
  background-color: #FFFFFF;
  max-width: 350px;
  background-clip: padding-box;
}

.nova-popover-title {
  margin: 0;
  padding: 20px 20px 16px;
}

.nova-popover-inner-content {
  padding: 20px;
}

.nova-popover-title + .nova-popover-inner-content {
  padding-top: 0;
}

.nova-popover-arrow {
  position: absolute;
  box-shadow: inset -2px -2px 0 -1px rgba(217, 217, 217, 0.5);
  background: #FFFFFF;
  width: 8px;
  height: 8px;
}

.nova-popover.nova-popover-placement-top .nova-popover-arrow, .nova-popover.nova-popover-placement-topLeft .nova-popover-arrow, .nova-popover.nova-popover-placement-topRight .nova-popover-arrow {
  bottom: 1px;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}

.nova-popover.nova-popover-placement-top .nova-popover-arrow {
  left: 50%;
  margin-left: -4px;
}

.nova-popover.nova-popover-placement-topLeft .nova-popover-arrow {
  left: 16px;
}

.nova-popover.nova-popover-placement-topRight .nova-popover-arrow {
  right: 16px;
}

.nova-popover.nova-popover-placement-right .nova-popover-arrow, .nova-popover.nova-popover-placement-rightTop .nova-popover-arrow, .nova-popover.nova-popover-placement-rightBottom .nova-popover-arrow {
  left: 1px;
  -webkit-transform: rotate(135deg);
          transform: rotate(135deg);
}

.nova-popover.nova-popover-placement-right .nova-popover-arrow {
  top: 50%;
  margin-top: -4px;
}

.nova-popover.nova-popover-placement-rightTop .nova-popover-arrow {
  top: 10px;
}

.nova-popover.nova-popover-placement-rightBottom .nova-popover-arrow {
  bottom: 10px;
}

.nova-popover.nova-popover-placement-left .nova-popover-arrow, .nova-popover.nova-popover-placement-leftTop .nova-popover-arrow, .nova-popover.nova-popover-placement-leftBottom .nova-popover-arrow {
  right: 1px;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}

.nova-popover.nova-popover-placement-left .nova-popover-arrow {
  top: 50%;
  margin-top: -4px;
}

.nova-popover.nova-popover-placement-leftTop .nova-popover-arrow {
  top: 10px;
}

.nova-popover.nova-popover-placement-leftBottom .nova-popover-arrow {
  bottom: 10px;
}

.nova-popover.nova-popover-placement-bottom .nova-popover-arrow, .nova-popover.nova-popover-placement-bottomLeft .nova-popover-arrow, .nova-popover.nova-popover-placement-bottomRight .nova-popover-arrow {
  top: 1px;
  -webkit-transform: rotate(-135deg);
          transform: rotate(-135deg);
}

.nova-popover.nova-popover-placement-bottom .nova-popover-arrow {
  left: 50%;
  margin-left: -4px;
}

.nova-popover.nova-popover-placement-bottomLeft .nova-popover-arrow {
  left: 16px;
}

.nova-popover.nova-popover-placement-bottomRight .nova-popover-arrow {
  right: 16px;
}

/*
JavaScript API

```jsx
<Popover
  title="Popover title"
  direction="bottom"
  trigger="hover"
  mouseEnterDelay={0.1}
  mouseLeaveDelay={0.1}
  content={
    <div>
      Lorem ipsum dolor sit amet,
      consectetur adipisicing elit,
      sed eiusmod tempor incididunt ut
      labore et dolore magna aliqua.
    </div>
  }
>
  <Button text="Trigger" primary />
</Popover>
```

@react-example PopoverExample

@interface Popover

Styleguide components.popover.js
*/

/*
Colors

Styleguide colors
*/

/*
Primary Colors

@react-docs PrimaryColorsPalette

Weight: 1

Styleguide colors.primary

*/

/*
Gray scale

@react-docs GrayscalePalette

Weight: 2

Styleguide colors.grays
*/

/*
Extended Colors

@react-docs ColorsExtendedPalette

Weight: 3

Styleguide colors.extended
*/

/*
Nesting colors

*/

/*
Steps

Styleguide components.steps
*/

.nova-steps {
  display: -webkit-box;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
          flex-direction: row;
  align-content: center;
  -webkit-box-align: center;
          align-items: center;
  -webkit-box-pack: justify;
          justify-content: space-between;
}

.nova-steps-horizontal {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
          flex-direction: row;
}

.nova-steps-vertical {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
          flex-direction: column;
  -webkit-box-align: start;
          align-items: flex-start;
  justify-content: space-around;
}

.nova-steps-main {
  display: -webkit-box;
  display: flex;
  -webkit-box-flex: 0;
          flex: 0 1 auto;
}

.nova-steps-item {
  -webkit-box-flex: 1;
          flex: 1 1 auto;
  position: relative;
  box-sizing: border-box;
}

.nova-steps-item:last-child {
  -webkit-box-flex: 0;
          flex: 0 1 auto;
}

.nova-steps-item:last-child .nova-steps-step-title {
  padding-right: 0;
}

.nova-steps-item:last-child .nova-steps-tail {
  display: none;
}

.nova-steps-item.completed .nova-steps-tail i::after {
  opacity: 1;
  background: #2068D3;
  width: 100%;
  -webkit-transition: all 0.6s;
  transition: all 0.6s;
}

.nova-steps-item.completed .nova-steps-step-header .nova-icon-check {
  -webkit-transform: scale(1);
          transform: scale(1);
}

.nova-steps-item.active .nova-steps-step-header, .nova-steps-item.completed .nova-steps-step-header {
  border-color: #2068D3;
  background-color: #2068D3;
  color: #FFFFFF;
}

.nova-steps-item.active .nova-steps-step-title {
  color: #252525;
}

.nova-steps-step {
  position: relative;
}

.nova-steps-tail {
  position: absolute;
  top: 17px;
  left: 0;
  box-sizing: border-box;
  width: 100%;
  padding: 0 20px 0 50px;
}

.nova-steps-tail > i {
  display: inline-block;
  position: relative;
  border-radius: 2px;
  background: #F5F5F5;
  width: 100%;
  height: 2px;
  vertical-align: top;
}

.nova-steps-tail > i::after {
  position: absolute;
  top: 0;
  opacity: 0;
  background: #F5F5F5;
  width: 0;
  height: 100%;
  content: "";
}

.nova-steps-vertical > .nova-steps-item {
  display: block;
}

.nova-steps-vertical > .nova-steps-item > .nova-steps-tail {
  position: absolute;
  top: 0;
  left: 13px;
  width: 1px;
  height: 100%;
  padding: 32px 2px 0;
}

.nova-steps-vertical > .nova-steps-item > .nova-steps-tail > i {
  width: 1px;
  height: 100%;
}

.nova-steps-vertical > .nova-steps-item > .nova-steps-tail > i::after {
  width: 100%;
  height: 0;
}

.nova-steps-vertical > .nova-steps-item.completed .nova-steps-tail i::after {
  opacity: 1;
  background: #2068D3;
  width: 100%;
  -webkit-transition: all 0.6s;
  transition: all 0.6s;
}

.nova-steps-vertical > .nova-steps-item.completed .nova-steps-tail > i::after {
  height: 100%;
}

.nova-steps-vertical > .nova-steps-item.completed .nova-steps-step-header .nova-icon-check {
  -webkit-transform: scale(1);
          transform: scale(1);
}

.nova-steps-vertical > .nova-steps-item .nova-steps-head {
  float: left;
}

.nova-steps-vertical > .nova-steps-item .nova-steps-head-inner {
  margin-right: 16px;
}

.nova-steps-vertical .nova-steps-main {
  display: block;
  min-height: 47px;
  overflow: hidden;
}

.nova-steps-vertical .nova-steps-main .nova-steps-title {
  line-height: 33px;
}

.nova-steps-vertical .nova-steps-main .nova-steps-description {
  padding-bottom: 12px;
}

.nova-steps-step-header {
  float: left;
  margin-right: 15px;
  border: 2px solid #ACACAC;
  border-radius: 100%;
  box-sizing: content-box;
  width: 30px;
  height: 30px;
  text-align: center;
  line-height: 29px;
  color: #ACACAC;
  font-size: 13px;
  font-weight: bold;
  -webkit-transition: background-color 0.3s ease, border-color 0.3s ease;
  transition: background-color 0.3s ease, border-color 0.3s ease;
}

.nova-steps-step-header .nova-icon-check {
  -webkit-transform: scale(0);
          transform: scale(0);
  margin-top: 1px;
  font-size: 24px;
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
}

.nova-steps-step-title {
  display: inline-block;
  background-color: #FFFFFF;
  padding-right: 20px;
  line-height: 33px;
  color: #79808A;
  font-size: 18px;
  font-weight: 600;
}

/*
JavaScript API

@interface Steps

@react-example StepsExample


Styleguide components.steps.js
*/

/*
Colors

Styleguide colors
*/

/*
Primary Colors

@react-docs PrimaryColorsPalette

Weight: 1

Styleguide colors.primary

*/

/*
Gray scale

@react-docs GrayscalePalette

Weight: 2

Styleguide colors.grays
*/

/*
Extended Colors

@react-docs ColorsExtendedPalette

Weight: 3

Styleguide colors.extended
*/

/*
Nesting colors

*/

/*
Table

Styleguide components.table
*/

/*
CSS API

Markup:
<table class="nova-table {{.modifier}}">
  <thead>
    <tr>
      <th>File</th>
      <th>Update Type</th>
      <th>Version</th>
      <th>Size</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>firmware_update_1.image</td>
      <td>Application</td>
      <td>1.0.0</td>
      <td>12.3 MB</td>
    </tr>
    <tr>
      <td>firmware_update_2.image</td>
      <td>Application</td>
      <td>1.1.0</td>
      <td>11.3 MB</td>
    </tr>
    <tr>
      <td>firmware_update_3.image</td>
      <td>Application</td>
      <td>1.2.0</td>
      <td>10.7 MB</td>
    </tr>
  </tbody>
</table>


.nova-table-striped -  Add zebra-striping to any table row within the body
.nova-table-condensed - Reduce the vertical padding by half inside of <th>s and <td>s
.nova-table-bordered - Add borders on all sides of the table and cells.
.nova-table-bordered nova-table-bordered-horizontal - Add only horizontal borders to table.
.nova-table-selectable - When clicking on a row is used for selection

Styleguide components.table.css
*/

.nova-table {
  border-collapse: collapse;
  border-spacing: 0;
  font-size: 15px;
}

.nova-table th,
.nova-table td {
  padding: 20px;
  vertical-align: top;
  text-align: left;
}

.nova-table th {
  font-size: 14px;
  font-weight: 700;
  color: #79808A;
  font-size: 13px;
}

.nova-table td {
  font-size: 14px;
}

.nova-table thead tr:last-child th {
  border-bottom-width: 2px;
  border-bottom-style: solid;
  border-color: #E5E5E5;
}

.nova-table-striped tbody tr:nth-child(odd) td {
  background-color: #F8F9FA;
}

.nova-table-condensed th,
.nova-table-condensed td {
  padding: 10px 20px;
}

.nova-table-bordered th {
  background: #F5F5F5;
}

.nova-table-bordered td,
.nova-table-bordered th {
  border-width: 2px;
  border-style: solid;
  border-color: #E5E5E5;
}

.nova-table-bordered-horizontal td,
.nova-table-bordered-horizontal th {
  border-right: none;
  border-left: none;
}

.nova-table-bordered-horizontal th {
  border-top: none;
}

.nova-table-selectable tbody tr:hover td {
  background-color: #E3F3FF;
  cursor: pointer;
}

/*
Colors

Styleguide colors
*/

/*
Primary Colors

@react-docs PrimaryColorsPalette

Weight: 1

Styleguide colors.primary

*/

/*
Gray scale

@react-docs GrayscalePalette

Weight: 2

Styleguide colors.grays
*/

/*
Extended Colors

@react-docs ColorsExtendedPalette

Weight: 3

Styleguide colors.extended
*/

/*
Nesting colors

*/

/*
Tabs

Styleguide components.tabs
*/

/*
CSS API


Markup:
<div class="nova-tabs">
  <ul class="nova-tabs-tab-list {{.modifier}}">
      <li class="nova-tabs-tab active"><button>Selected tab</button></li>
      <li class="nova-tabs-tab"><button>Another tab</button></li>
      <li class="nova-tabs-tab disabled"><button>Disabled tab</button></li>
  </ul>
  <div class="nova-tabs-tab-panel active">Selected panel</div>
  <div class="nova-tabs-tab-panel">Another panel</div>
  <div class="nova-tabs-tab-panel">Disabled panel</div>
</div>

Styleguide components.tabs.css
*/

.nova-tabs-tab-list {
  display: -webkit-box;
  display: flex;
  -webkit-box-flex: 0;
          flex: 0 1 auto;
  -webkit-box-align: end;
          align-items: flex-end;
  position: relative;
  margin: 0;
  border-bottom: 1px solid #F5F5F5;
  padding: 0 20px;
  list-style: none;
}

.nova-tabs-tab {
  -webkit-box-flex: 0;
          flex: 0 0 auto;
  position: relative;
  margin-bottom: -1px;
  border: 1px solid #F5F5F5;
  border-left: none;
  background-color: #F8F9FA;
  max-width: 100%;
  vertical-align: top;
}

.nova-tabs-tab:first-child {
  border-left: 1px solid #F5F5F5;
}

.nova-tabs-tab.active {
  border-bottom-color: transparent;
  background-color: #FFFFFF;
}

.nova-tabs-tab.disabled button {
  background-color: white;
  cursor: not-allowed;
  color: #79808A;
}

.nova-tabs-tab button {
  font-size: 14px;
  font-weight: 700;
  outline: none;
  border: none;
  background-color: transparent;
  cursor: pointer;
  width: 100%;
  height: 100%;
  padding: 10px 30px;
  line-height: 1.5;
  color: inherit;
  font-family: inherit;
}

.nova-tabs-tab-panel {
  display: none;
  margin-top: 20px;
}

.nova-tabs-tab-panel.active {
  display: block;
}

/*
JavaScript API

@react-example TabsExample

```jsx
<Tabs>
  <TabList>
    <Tab>Item 1</Tab>
    <Tab>Item 2 </Tab>
    <Tab disabled>Item 3 (disabled)</Tab>
  </TabList>
  <TabPanel>
    Slide 1: Vestibulum lacinia, ligula id feugiat pharetra,
    lorem risus molestie nisl, a eleifend dolor tortor id tortor.
    Cras quam purus, vestibulum eu arcu quis, dignissim
    condimentum nulla.
  </TabPanel>
  <TabPanel>
    Slide 2: Donec sed semper felis. Etiam magna diam,
    sagittis a feugiat nec, vestibulum a magna. Nam aliquet
    urna nec nunc imperdiet scelerisque.
  </TabPanel>
  <TabPanel>
    Slide 3: Integer faucibus augue vehicula,
    porttitor sapien vel, accumsan arcu
  </TabPanel>
</Tabs>
```


Styleguide components.tabs.js
*/

/*
Tabs props

@interface Tabs

Styleguide components.tabs.js.tabs
*/

/*
Tab props

@interface Tab

Styleguide components.tabs.js.tab
*/

/*
TaggedInput

Text input that rneders a pill when a separator key is pressed

Styleguide components.taggedInput
*/

.nova-tagged-input-wrapper {
  display: block;
  border: 2px solid #E5E5E5;
  border-radius: 3px;
  box-sizing: border-box;
  background-color: #FFFFFF;
  width: 100%;
  padding: 7px 10px;
  line-height: 1.5;
  font-family: inherit;
  font-weight: 700;
  cursor: text;
  padding-top: 2px;
  padding-bottom: 2px;
}

.nova-tagged-input-wrapper::-webkit-input-placeholder {
  color: #9B9B9B;
  font-weight: 700;
}

.nova-tagged-input-wrapper::-moz-placeholder {
  color: #9B9B9B;
  font-weight: 700;
}

.nova-tagged-input-wrapper:-ms-input-placeholder {
  color: #9B9B9B;
  font-weight: 700;
}

.nova-tagged-input-wrapper::-ms-input-placeholder {
  color: #9B9B9B;
  font-weight: 700;
}

.nova-tagged-input-wrapper::placeholder {
  color: #9B9B9B;
  font-weight: 700;
}

.nova-tagged-input-wrapper:focus {
  outline: none;
  border-color: #2068D3;
}

.nova-tagged-input-wrapper:disabled, .nova-tagged-input-wrapper[readonly] {
  background-color: #F8F9FA;
}

.nova-tagged-input-wrapper:disabled {
  cursor: not-allowed;
}

.nova-tagged-input-wrapper .tagged-input {
  margin: 0 4px;
  outline: none;
  border: none;
  box-shadow: none;
  cursor: text;
  width: auto;
  height: 30px;
  line-height: 1.5;
  font-family: inherit;
  font-weight: 700;
}

.nova-tagged-input-wrapper .nova-pill {
  margin-right: 0.25em;
}

.nova-tagged-input-wrapper .nova-pill.duplicate .nova-pill-portion {
  background: #FFDE80;
}

.nova-tagged-input-wrapper .nova-pill,
.nova-tagged-input-wrapper .tagged-input {
  vertical-align: middle;
}

.nova-tagged-input-wrapper .tag-text,
.nova-tagged-input-wrapper .tagged-input {
  display: inline-block;
}

/*
JavaScript API

@interface TaggedInput

@react-example TaggedInputExample

```jsx
<TaggedInput
  tags={tags}
  onAddTag={(newTags, tagsList) => {
    this.setState({ tags: tagsList });
  }}
  onRemoveTag={(removedTag, tagsList) => {
    this.setState({ tags: tagsList });
  }}
/>
```

Styleguide components.taggedInput.js
*/

/*
Timepicker

The timepicker is a ui component meant to add the ability to select time.

Styleguide components.timepicker
*/

.nova-timepicker {
  display: -webkit-box;
  display: flex;
  -webkit-box-pack: justify;
          justify-content: space-between;
  font-family: "SamsungOne", "Helvetica Neue", "Arial", "sans-serif";
}

.nova-timepicker:not(.full-width).with-spinners.column-2 {
  width: 250px;
}

.nova-timepicker:not(.full-width).with-spinners.column-3 {
  width: 320px;
}

.nova-timepicker:not(.full-width).with-spinners.column-4 {
  width: 390px;
}

.nova-timepicker:not(.full-width).column-2 {
  width: 220px;
}

.nova-timepicker:not(.full-width).column-3 {
  width: 272px;
}

.nova-timepicker:not(.full-width).column-4 {
  width: 325px;
}

.nova-timepicker .spinners {
  margin-left: -5px;
  width: calc(100% - 112px);
}

.nova-timepicker .spinners:first-child:last-child {
  width: calc(100% - 50px);
}

.nova-timepicker .spinners div:nth-child(n+2) .nova-spinner-input::before {
  display: block;
  position: absolute;
  top: 5px;
  left: -7px;
  font-size: 16px;
  content: ":";
}

.nova-timepicker .spinners div:nth-child(4) {
  padding-right: 0;
}

.nova-timepicker .spinners div:nth-child(4) .nova-spinner-input > input {
  padding-left: 5px !important;
}

.nova-timepicker .spinners > div {
  padding: 0 5px 1rem;
}

.nova-timepicker .nova-spinner-input {
  font-size: 14px;
}

.nova-timepicker .time-selection {
  box-sizing: content-box;
  width: 88px;
  padding-left: 29px;
}

.nova-timepicker .time24h-selection.time-format-selection button {
  width: 100%;
}

.nova-timepicker .time12h-selection {
  padding: 0;
}

.nova-timepicker .time12h-selection .time-format-selection {
  display: inline-block;
  width: 50%;
  padding: 0 0 0 5px;
}

.nova-timepicker .time-format-selection {
  line-height: 14px;
}

.nova-timepicker .time-format-selection button {
  display: block;
  border: 1px solid #2068D3;
  background-color: #FFFFFF;
  cursor: pointer;
  width: 100%;
  height: 17px;
  padding: 0;
  text-align: center;
  letter-spacing: 1px;
  color: #2068D3;
  font-family: "SamsungOne", "Helvetica Neue", "Arial", "sans-serif";
  font-size: 11px;
  font-weight: 600;
}

.nova-timepicker .time-format-selection button.selected-format {
  background-color: #2068D3;
  color: #FFFFFF;
}

.nova-timepicker .time-format-selection button:nth-child(1) {
  border-radius: 3px 3px 0 0;
}

.nova-timepicker .time-format-selection button:nth-child(2) {
  border-radius: 0 0 3px 3px;
}

/*
JavaScript API

@react-example TimepickerExample

```jsx
<h2>Without spinner arrows</h2>
<Timepicker
  precision="millisecond"
  timeFormat="24h"
  defaultValue={new Date()}
  showSpinnerArrows={false}
/>
<h2>With spinner arrows</h2>
<Timepicker
  precision="millisecond"
  timeFormat="24h"
  defaultValue={new Date()}
/>

<Timepicker
  precision="minute"
  timeFormat="12h"
  defaultValue={new Date()}
/>
```

@interface Timepicker

Styleguide components.timepicker.js
*/

/*
Colors

Styleguide colors
*/

/*
Primary Colors

@react-docs PrimaryColorsPalette

Weight: 1

Styleguide colors.primary

*/

/*
Gray scale

@react-docs GrayscalePalette

Weight: 2

Styleguide colors.grays
*/

/*
Extended Colors

@react-docs ColorsExtendedPalette

Weight: 3

Styleguide colors.extended
*/

/*
Nesting colors

*/

/*
Colors

Styleguide colors
*/

/*
Primary Colors

@react-docs PrimaryColorsPalette

Weight: 1

Styleguide colors.primary

*/

/*
Gray scale

@react-docs GrayscalePalette

Weight: 2

Styleguide colors.grays
*/

/*
Extended Colors

@react-docs ColorsExtendedPalette

Weight: 3

Styleguide colors.extended
*/

/*
Nesting colors

*/

/* NEW */

/* stylelint-disable */

/*
Colors

Styleguide colors
*/

/*
Primary Colors

@react-docs PrimaryColorsPalette

Weight: 1

Styleguide colors.primary

*/

/*
Gray scale

@react-docs GrayscalePalette

Weight: 2

Styleguide colors.grays
*/

/*
Extended Colors

@react-docs ColorsExtendedPalette

Weight: 3

Styleguide colors.extended
*/

/*
Nesting colors

*/

@font-face {
  font-family: "nova-icons-1afe74a5d0c0e65e8a2";

  src: url("/workspace/static/fonts/nova-icons-1afe74a5d0c0e65e8a2.eot?9721c9c4e01704f75ec6929d88c1167f?#iefix") format("embedded-opentype"), url("/workspace/static/fonts/nova-icons-1afe74a5d0c0e65e8a2.woff2?9721c9c4e01704f75ec6929d88c1167f") format("woff2"), url("/workspace/static/fonts/nova-icons-1afe74a5d0c0e65e8a2.woff?9721c9c4e01704f75ec6929d88c1167f") format("woff"), url("/workspace/static/fonts/nova-icons-1afe74a5d0c0e65e8a2.ttf?9721c9c4e01704f75ec6929d88c1167f") format("truetype"), url("/workspace/static/fonts/nova-icons-1afe74a5d0c0e65e8a2.svg?9721c9c4e01704f75ec6929d88c1167f#nova-icons-1afe74a5d0c0e65e8a2") format("svg");
}

.nova-toast-error:before, .nova-toast-warning:before, .nova-toast-success:before, .nova-toast-info:before, .nova-icon-action:before, .nova-icon-add-circle:before, .nova-icon-add:before, .nova-icon-api:before, .nova-icon-bank:before, .nova-icon-bulb:before, .nova-icon-calendar-left:before, .nova-icon-calendar-right:before, .nova-icon-calendar:before, .nova-icon-case-study:before, .nova-icon-check-circle:before, .nova-icon-check:before, .nova-icon-clock:before, .nova-icon-clone:before, .nova-icon-close:before, .nova-icon-cog:before, .nova-icon-collapse-all:before, .nova-icon-connect-cloud:before, .nova-icon-data-management:before, .nova-icon-delete:before, .nova-icon-device-sharing:before, .nova-icon-devicetype-alt:before, .nova-icon-devicetype:before, .nova-icon-down-alt:before, .nova-icon-down-circle:before, .nova-icon-down:before, .nova-icon-download:before, .nova-icon-draggable:before, .nova-icon-duration:before, .nova-icon-edit:before, .nova-icon-error:before, .nova-icon-exclamation-circle:before, .nova-icon-expand-all:before, .nova-icon-external-link:before, .nova-icon-farm:before, .nova-icon-field-group:before, .nova-icon-file:before, .nova-icon-from-device:before, .nova-icon-header-help:before, .nova-icon-header-search:before, .nova-icon-header-user:before, .nova-icon-health:before, .nova-icon-home:before, .nova-icon-import:before, .nova-icon-industry:before, .nova-icon-info:before, .nova-icon-introduction:before, .nova-icon-location:before, .nova-icon-lock:before, .nova-icon-machine-learning:before, .nova-icon-more:before, .nova-icon-on-off:before, .nova-icon-org:before, .nova-icon-pause:before, .nova-icon-pending:before, .nova-icon-play:before, .nova-icon-prediction:before, .nova-icon-preview:before, .nova-icon-question:before, .nova-icon-quick-start:before, .nova-icon-refresh:before, .nova-icon-right-2:before, .nova-icon-right:before, .nova-icon-rule-engine:before, .nova-icon-scene:before, .nova-icon-sdk:before, .nova-icon-search:before, .nova-icon-security-cam:before, .nova-icon-security:before, .nova-icon-select-arrow:before, .nova-icon-share:before, .nova-icon-tag:before, .nova-icon-terminal:before, .nova-icon-tools:before, .nova-icon-user-management:before, .nova-icon-user:before, .nova-icon-warning:before, .nova-icon-weather:before, .nova-datetimepicker .react-calendar .react-calendar__navigation__next-button:before, .nova-datetimepicker .react-calendar .react-calendar__navigation__prev-button:before, .nova-control-checkbox input:checked ~ .nova-control-indicator:before,
.nova-control-checkbox input:indeterminate ~ .nova-control-indicator:before {
  font-family: "nova-icons-1afe74a5d0c0e65e8a2";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-style: normal;
  font-feature-settings: normal;
  font-variant: normal;
  font-weight: normal;
  text-decoration: none;
  text-transform: none;
}

.nova-icon-action:before {
  content: "\F101";
}

.nova-icon-add-circle:before {
  content: "\F102";
}

.nova-icon-add:before {
  content: "\F103";
}

.nova-icon-api:before {
  content: "\F104";
}

.nova-icon-bank:before {
  content: "\F105";
}

.nova-icon-bulb:before {
  content: "\F106";
}

.nova-icon-calendar-left:before {
  content: "\F107";
}

.nova-icon-calendar-right:before {
  content: "\F108";
}

.nova-icon-calendar:before {
  content: "\F109";
}

.nova-icon-case-study:before {
  content: "\F10A";
}

.nova-icon-check-circle:before {
  content: "\F10B";
}

.nova-icon-check:before {
  content: "\F10C";
}

.nova-icon-clock:before {
  content: "\F10D";
}

.nova-icon-clone:before {
  content: "\F10E";
}

.nova-icon-close:before {
  content: "\F10F";
}

.nova-icon-cog:before {
  content: "\F110";
}

.nova-icon-collapse-all:before {
  content: "\F111";
}

.nova-icon-connect-cloud:before {
  content: "\F112";
}

.nova-icon-data-management:before {
  content: "\F113";
}

.nova-icon-delete:before {
  content: "\F114";
}

.nova-icon-device-sharing:before {
  content: "\F115";
}

.nova-icon-devicetype-alt:before {
  content: "\F116";
}

.nova-icon-devicetype:before {
  content: "\F117";
}

.nova-icon-down-alt:before {
  content: "\F118";
}

.nova-icon-down-circle:before {
  content: "\F119";
}

.nova-icon-down:before {
  content: "\F11A";
}

.nova-icon-download:before {
  content: "\F11B";
}

.nova-icon-draggable:before {
  content: "\F11C";
}

.nova-icon-duration:before {
  content: "\F11D";
}

.nova-icon-edit:before {
  content: "\F11E";
}

.nova-icon-error:before {
  content: "\F11F";
}

.nova-icon-exclamation-circle:before {
  content: "\F120";
}

.nova-icon-expand-all:before {
  content: "\F121";
}

.nova-icon-external-link:before {
  content: "\F122";
}

.nova-icon-farm:before {
  content: "\F123";
}

.nova-icon-field-group:before {
  content: "\F124";
}

.nova-icon-file:before {
  content: "\F125";
}

.nova-icon-from-device:before {
  content: "\F126";
}

.nova-icon-header-help:before {
  content: "\F127";
}

.nova-icon-header-search:before {
  content: "\F128";
}

.nova-icon-header-user:before {
  content: "\F129";
}

.nova-icon-health:before {
  content: "\F12A";
}

.nova-icon-home:before {
  content: "\F12B";
}

.nova-icon-import:before {
  content: "\F12C";
}

.nova-icon-industry:before {
  content: "\F12D";
}

.nova-icon-info:before {
  content: "\F12E";
}

.nova-icon-introduction:before {
  content: "\F12F";
}

.nova-icon-location:before {
  content: "\F130";
}

.nova-icon-lock:before {
  content: "\F131";
}

.nova-icon-machine-learning:before {
  content: "\F132";
}

.nova-icon-more:before {
  content: "\F133";
}

.nova-icon-on-off:before {
  content: "\F134";
}

.nova-icon-org:before {
  content: "\F135";
}

.nova-icon-pause:before {
  content: "\F136";
}

.nova-icon-pending:before {
  content: "\F137";
}

.nova-icon-play:before {
  content: "\F138";
}

.nova-icon-prediction:before {
  content: "\F139";
}

.nova-icon-preview:before {
  content: "\F13A";
}

.nova-icon-question:before {
  content: "\F13B";
}

.nova-icon-quick-start:before {
  content: "\F13C";
}

.nova-icon-refresh:before {
  content: "\F13D";
}

.nova-icon-right-2:before {
  content: "\F13E";
}

.nova-icon-right:before {
  content: "\F13F";
}

.nova-icon-rule-engine:before {
  content: "\F140";
}

.nova-icon-scene:before {
  content: "\F141";
}

.nova-icon-sdk:before {
  content: "\F142";
}

.nova-icon-search:before {
  content: "\F143";
}

.nova-icon-security-cam:before {
  content: "\F144";
}

.nova-icon-security:before {
  content: "\F145";
}

.nova-icon-select-arrow:before {
  content: "\F146";
}

.nova-icon-share:before {
  content: "\F147";
}

.nova-icon-tag:before {
  content: "\F148";
}

.nova-icon-terminal:before {
  content: "\F149";
}

.nova-icon-tools:before {
  content: "\F14A";
}

.nova-icon-user-management:before {
  content: "\F14B";
}

.nova-icon-user:before {
  content: "\F14C";
}

.nova-icon-warning:before {
  content: "\F14D";
}

.nova-icon-weather:before {
  content: "\F14E";
}

/*
Toaster

Toast are used to notify something to the user.
They can be printed inline or fixed.
They are use to notify success, warning or error


Toaster are improved toast which support can be open and close and which can be displayed for a
certain amount of time

Styleguide components.toaster
*/

/*
CSS API

Markup:
<div class="nova-toast nova-toast-success {{.modifier}}" {{:modifier}}>
  Lorem ipsum dolor sit amet, consectetur adipiscing elit.
  Nullam ut ipsum lobortis, egestas est eget, tincidunt eros.
</div>

.notification-theme - The notification theme used for Toast Notifications

Styleguide components.toaster.css
*/

.nova-flash-messages .nova-toast {
  margin-bottom: 15px;
}

.nova-flash-messages-fixed {
  position: fixed;
  top: 100px;
  right: 50%;
  -webkit-transform: translateX(50%);
          transform: translateX(50%);
  min-width: 320px;
  max-width: 520px;
  /* stylelint-disable-next-line property-blacklist */
  z-index: 10;
}

.nova-toast {
  display: block;
  position: relative;
  margin: auto;
  border-radius: 3px;
  padding: 20px 24px 20px 48px;
  line-height: 16px;
  color: #FFFFFF;
  font-size: 13px;
  font-weight: 700;
}

.nova-toast::before {
  position: absolute;
  bottom: 50%;
  left: 16px;
  -webkit-transform: translateY(50%);
          transform: translateY(50%);
  line-height: 32px;
  font-size: 24px;
}

.nova-toast.notification-theme {
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
  background: #FFFFFF;
  color: #252525;
}

.nova-toast.notification-theme::before {
  font-size: 20px;
}

.nova-toast.notification-theme .nova-toast-close::before {
  color: #79808A;
}

.nova-toast-info.banner-theme {
  background-color: #DFF5FF;
  color: #515151;
}

.nova-toast-info.notification-theme {
  border-left: 4px solid #2068D3;
}

.nova-toast-info:before {
  content: "\F12E";
}

.nova-toast-info::before {
  color: #2068D3;
}

.nova-toast-success {
  background-color: #E7F6E5;
  color: #11A800;
}

.nova-toast-success:before {
  content: "\F10B";
}

.nova-toast-success::before {
  color: #11A800;
}

.nova-toast-success.notification-theme {
  border-left: 4px solid #11A800;
}

.nova-toast-warning {
  background-color: #FFF8E0;
  color: #FF6900;
}

.nova-toast-warning:before {
  content: "\F14D";
}

.nova-toast-warning::before {
  color: #FFC000;
}

.nova-toast-warning.notification-theme {
  border-left: 4px solid #FFC000;
}

.nova-toast-error {
  background-color: #FFEAED;
  color: #D0021B;
}

.nova-toast-error:before {
  content: "\F120";
}

.nova-toast-error::before {
  color: #D0021B;
}

.nova-toast-error.notification-theme {
  border-left: 4px solid #D0021B;
}

.nova-toast-closable {
  padding-right: 60px;
}

.nova-toast .nova-toast-close {
  position: absolute;
  right: 15px;
  bottom: 50%;
  -webkit-transform: translateY(50%);
          transform: translateY(50%);
  color: #252525;
  font-size: 24px;
}

.nova-toast.notification-theme .nova-toast-close {
  right: 18px;
  font-size: 18px;
}

.nova-toast-countdown {
  position: absolute;
  bottom: 0;
  left: 0;
  background: #DDDDDD;
  width: 100%;
  height: 4px;
}

.nova-toast .progress-ring {
  position: absolute;
  right: 16px;
  bottom: 50%;
  -webkit-transform: translateY(50%) rotate(-90deg);
          transform: translateY(50%) rotate(-90deg);
  width: 32px;
  height: 32px;
}

/*
JavaScript API

@react-example ToasterExample

```jsx

// Single Toast
<Toast
  content="I am a toast, I can print different message to notify the user."
  type="info"
  closable
/>


// FlashMessages usage
<FlashMessages
  ref={(el) => { this.flashMessages = el; }}
  defaultDuration={3000}
  fixed={fixed}
  defaultClosable
/>

// To add a flashMessages
this.flashMessages.push({
  type: 'success',
  content: 'Message in flashmessages',
  duration: 3000,
  closable: false,
  animated: true
);

// To create app flashMessages (global FlashMessages)
const appFlashMessages = FlashMessages.create(
  { fixed: true },
  document.querySelector('#my-container')
);
```

Styleguide components.toaster.js
*/

/*
Toast

@interface Toast

Styleguide components.toaster.js.toast
*/

/*
Toaster

@interface Toaster

Styleguide components.toaster.js.toaster
*/

/*
FlashMessages

@interface FlashMessages

Styleguide components.toaster.js.flashMessages
*/

/*
Colors

Styleguide colors
*/

/*
Primary Colors

@react-docs PrimaryColorsPalette

Weight: 1

Styleguide colors.primary

*/

/*
Gray scale

@react-docs GrayscalePalette

Weight: 2

Styleguide colors.grays
*/

/*
Extended Colors

@react-docs ColorsExtendedPalette

Weight: 3

Styleguide colors.extended
*/

/*
Nesting colors

*/

/*
Tooltip

Styleguide components.tooltip
*/

/*
CSS API

A simple text popup tip.
There's currently no CSS api for tooltip since it heavily relies on JS.
We'll be adding a CSS API in the future with partial support
of the tooltip features.

Styleguide components.tooltip.css
*/

.nova-tooltip {
  display: block;
  position: absolute;
  visibility: visible;
  /* stylelint-disable-next-line property-blacklist */
  z-index: 1;
}

.nova-tooltip.nova-tooltip-hidden {
  display: none;
}

.nova-tooltip.nova-tooltip-placement-top, .nova-tooltip.nova-tooltip-placement-topLeft, .nova-tooltip.nova-tooltip-placement-topRight {
  padding-bottom: 5px;
}

.nova-tooltip.nova-tooltip-placement-right, .nova-tooltip.nova-tooltip-placement-rightTop, .nova-tooltip.nova-tooltip-placement-rightBottom {
  padding-left: 5px;
}

.nova-tooltip.nova-tooltip-placement-bottom, .nova-tooltip.nova-tooltip-placement-bottomLeft, .nova-tooltip.nova-tooltip-placement-bottomRight {
  padding-top: 5px;
}

.nova-tooltip.nova-tooltip-placement-left, .nova-tooltip.nova-tooltip-placement-leftTop, .nova-tooltip.nova-tooltip-placement-leftBottom {
  padding-right: 5px;
}

.nova-tooltip-inner {
  border-radius: 3px;
  box-shadow: 0 1px 4px 0 rgba(0, 0, 0, 0.2);
  background: #FFFFFF;
  max-width: 250px;
  padding: 12px;
  text-transform: none;
  line-height: 1.33;
  letter-spacing: 0;
  white-space: normal;
  color: #252525;
  font-family: "SamsungOne", "Helvetica Neue", "Arial", "sans-serif";
  font-size: 13px;
  font-weight: 400;
}

.nova-tooltip-arrow {
  position: absolute;
  box-shadow: inset -2px -2px 0 -1px rgba(217, 217, 217, 0.5);
  background: #FFFFFF;
  width: 8px;
  height: 8px;
}

.nova-tooltip.nova-tooltip-placement-top .nova-tooltip-arrow, .nova-tooltip.nova-tooltip-placement-topLeft .nova-tooltip-arrow, .nova-tooltip.nova-tooltip-placement-topRight .nova-tooltip-arrow {
  bottom: 1px;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}

.nova-tooltip.nova-tooltip-placement-top .nova-tooltip-arrow {
  left: 50%;
  margin-left: -4px;
}

.nova-tooltip.nova-tooltip-placement-topLeft .nova-tooltip-arrow {
  left: 16px;
}

.nova-tooltip.nova-tooltip-placement-topRight .nova-tooltip-arrow {
  right: 16px;
}

.nova-tooltip.nova-tooltip-placement-right .nova-tooltip-arrow, .nova-tooltip.nova-tooltip-placement-rightTop .nova-tooltip-arrow, .nova-tooltip.nova-tooltip-placement-rightBottom .nova-tooltip-arrow {
  left: 1px;
  -webkit-transform: rotate(135deg);
          transform: rotate(135deg);
}

.nova-tooltip.nova-tooltip-placement-right .nova-tooltip-arrow {
  top: 50%;
  margin-top: -4px;
}

.nova-tooltip.nova-tooltip-placement-rightTop .nova-tooltip-arrow {
  top: 10px;
}

.nova-tooltip.nova-tooltip-placement-rightBottom .nova-tooltip-arrow {
  bottom: 10px;
}

.nova-tooltip.nova-tooltip-placement-left .nova-tooltip-arrow, .nova-tooltip.nova-tooltip-placement-leftTop .nova-tooltip-arrow, .nova-tooltip.nova-tooltip-placement-leftBottom .nova-tooltip-arrow {
  right: 1px;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}

.nova-tooltip.nova-tooltip-placement-left .nova-tooltip-arrow {
  top: 50%;
  margin-top: -4px;
}

.nova-tooltip.nova-tooltip-placement-leftTop .nova-tooltip-arrow {
  top: 10px;
}

.nova-tooltip.nova-tooltip-placement-leftBottom .nova-tooltip-arrow {
  bottom: 10px;
}

.nova-tooltip.nova-tooltip-placement-bottom .nova-tooltip-arrow, .nova-tooltip.nova-tooltip-placement-bottomLeft .nova-tooltip-arrow, .nova-tooltip.nova-tooltip-placement-bottomRight .nova-tooltip-arrow {
  top: 1px;
  -webkit-transform: rotate(-135deg);
          transform: rotate(-135deg);
}

.nova-tooltip.nova-tooltip-placement-bottom .nova-tooltip-arrow {
  left: 50%;
  margin-left: -4px;
}

.nova-tooltip.nova-tooltip-placement-bottomLeft .nova-tooltip-arrow {
  left: 16px;
}

.nova-tooltip.nova-tooltip-placement-bottomRight .nova-tooltip-arrow {
  right: 16px;
}

/*
JavaScript API

@react-example TooltipExample

```jsx
<Tooltip
  content="tooltip content goes here"
  direction="left"
/>

// If you work with coffeescript dev/userportal,
// you'll probably want to pass `(el) => el` to
// inject the tooltip in the current component, since attaching
// the tooltip at the body will not apply the css styles.
<Tooltip
  content="tooltip content goes here"
  direction="left"
  getTooltipContainer={(el) => el}
/>
```

@interface Tooltip

Styleguide components.tooltip.js
*/

/*
Colors

Styleguide colors
*/

/*
Primary Colors

@react-docs PrimaryColorsPalette

Weight: 1

Styleguide colors.primary

*/

/*
Gray scale

@react-docs GrayscalePalette

Weight: 2

Styleguide colors.grays
*/

/*
Extended Colors

@react-docs ColorsExtendedPalette

Weight: 3

Styleguide colors.extended
*/

/*
Nesting colors

*/

/*
Upload Area

To use when a user is requested to open a file or drag and drop it. A couple of examples:

* Read a JSON file and import it's contents to the current js code.
* Read the name and properties of a file, and upload it afterwards to some API

Styleguide components.uploadarea
*/

.nova-upload-file-preview.image-preview-container .image-preview, .nova-upload-file-preview .metadata, .nova-upload-file-preview .filepreview-icon, .nova-dragging-overlay .drop-add-file-icon,
.nova-dragging-overlay .drop-add-file-text {
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  transition-property: opacity, transform;
  transition-property: opacity, transform, -webkit-transform;
  -webkit-transition-duration: 0.3s;
          transition-duration: 0.3s;
  -webkit-transition-timing-function: cubic-bezier(0.25, 0.1, 0.25, 1);
          transition-timing-function: cubic-bezier(0.25, 0.1, 0.25, 1);
  will-change: opacity, transform;
}

.nova-upload-dropzone {
  display: -webkit-box;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
          flex-direction: column;
  -webkit-box-align: center;
          align-items: center;
  -webkit-box-pack: center;
          justify-content: center;
  position: relative;
  border: 2px solid #ACACAC;
  border-style: dashed;
  border-radius: 5px;
  box-sizing: border-box;
  background-color: #FFFFFF;
  min-height: 100%;
  padding: 26px 0;
}

.nova-upload-dropzone.error {
  border-color: #D0021B;
  background-color: #FFEAED;
}

.nova-upload-dropzone .file-error-container {
  display: -webkit-box;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
          flex-direction: row;
  -webkit-box-align: center;
          align-items: center;
  -webkit-box-pack: center;
          justify-content: center;
  box-sizing: border-box;
  width: 100%;
  padding: 0 20px;
}

.nova-upload-dropzone .file-error-container .error-illustration {
  flex-shrink: 0;
  margin-right: 10px;
  color: #D0021B;
}

.nova-upload-dropzone .file-error-container .error-message {
  display: -webkit-box;
  display: flex;
  -webkit-box-flex: 1;
          flex: 1 1 auto;
  color: #D0021B;
  font-size: 14px;
  font-weight: 700;
}

.nova-upload-dropzone .file-error-container .error-try-again {
  flex-shrink: 0;
  margin-left: 10px;
}

.nova-upload-dropzone .drag-instructions {
  padding: 0 10px;
  text-align: center;
  font-size: 16px;
  font-weight: 700;
}

.nova-upload-dropzone .fake-click {
  cursor: pointer;
  color: #2068D3;
  font-weight: 700;
}

.nova-upload-dropzone.dragging {
  border-color: #2068D3;
}

.nova-upload-dropzone .upload-requirements {
  padding: 0 40px;
  text-align: center;
  color: #79808A;
  font-size: 12px;
  font-weight: 700;
}

.nova-dragging-overlay {
  display: -webkit-box;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
          flex-direction: column;
  -webkit-box-align: center;
          align-items: center;
  -webkit-box-pack: center;
          justify-content: center;
  position: absolute;
  visibility: hidden;
  opacity: 0;
  border-radius: 5px;
  background-color: #FFFFFF;
  width: 100%;
  height: 100%;
  color: #2068D3;
  font-size: 16px;
  font-weight: 700;
  pointer-events: none;
}

.nova-dragging-overlay .drop-add-file-icon,
.nova-dragging-overlay .drop-add-file-text {
  opacity: 0;
}

.nova-dragging-overlay .drop-add-file-icon {
  -webkit-transform: translateY(-4px);
          transform: translateY(-4px);
}

.nova-dragging-overlay .drop-add-file-text {
  -webkit-transform: translateY(4px);
          transform: translateY(4px);
  padding: 0 10px;
  text-align: center;
}

.nova-dragging-overlay.visible {
  visibility: visible;
  opacity: 1;
}

.nova-dragging-overlay.visible .drop-add-file-icon,
.nova-dragging-overlay.visible .drop-add-file-text {
  -webkit-transform: translateY(0);
          transform: translateY(0);
  opacity: 1;
}

.nova-upload-file-preview {
  display: -webkit-box;
  display: flex;
  -webkit-box-align: center;
          align-items: center;
  -webkit-box-pack: center;
          justify-content: center;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.2);
  box-sizing: border-box;
  min-height: 100%;
  padding: 26px 21px;
}

.nova-upload-file-preview .filepreview-icon {
  display: -webkit-box;
  display: flex;
  flex-shrink: 0;
  -webkit-transform: scale(0.8);
          transform: scale(0.8);
  opacity: 0;
  margin-right: 10px;
}

.nova-upload-file-preview.ready .filepreview-icon {
  -webkit-transform: scale(1);
          transform: scale(1);
  opacity: 1;
}

.nova-upload-file-preview .filename {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 16px;
  font-weight: 700;
}

.nova-upload-file-preview .filesize {
  color: #515151;
  font-size: 12px;
}

.nova-upload-file-preview .metadata {
  -webkit-box-flex: 1;
          flex: 1 1 auto;
  -webkit-transform: translateX(-8px);
          transform: translateX(-8px);
  opacity: 0;
  margin-right: 20px;
  min-width: 0;
}

.nova-upload-file-preview.ready .metadata {
  -webkit-transform: translateX(0);
          transform: translateX(0);
  opacity: 1;
}

.nova-upload-file-preview.image-preview-container {
  position: relative;
  box-shadow: none;
  background-color: #E5E5E5;
  height: 100%;
  padding: 0;
}

.nova-upload-file-preview.image-preview-container.ready .image-preview {
  -webkit-transform: scale(1);
          transform: scale(1);
  opacity: 1;
}

.nova-upload-file-preview.image-preview-container .image-preview {
  -webkit-transform: scale(0.8);
          transform: scale(0.8);
  opacity: 0;
  max-width: 100%;
}

.nova-upload-file-preview.image-preview-container .remove-preview-image {
  position: absolute;
  top: 50%;
  left: 50%;
  margin-top: -16px;
  margin-left: -16px;
  outline: 0;
  border: none;
  border-radius: 50%;
  background: rgba(0, 0, 0, 0.5);
  cursor: pointer;
  width: 32px;
  height: 32px;
  color: #FFFFFF;
  -webkit-transition: -webkit-transform cubic-bezier(0.22, 0.61, 0.36, 1) 0.2s;
  transition: -webkit-transform cubic-bezier(0.22, 0.61, 0.36, 1) 0.2s;
  transition: transform cubic-bezier(0.22, 0.61, 0.36, 1) 0.2s;
  transition: transform cubic-bezier(0.22, 0.61, 0.36, 1) 0.2s, -webkit-transform cubic-bezier(0.22, 0.61, 0.36, 1) 0.2s;
}

.nova-upload-file-preview.image-preview-container .remove-preview-image:hover {
  -webkit-transform: scale(1.2);
          transform: scale(1.2);
  background: rgba(0, 0, 0, 0.7);
}

.nova-upload-file-preview .with-preview-uploading-text {
  position: absolute;
  border-radius: 3px;
  background: rgba(0, 0, 0, 0.7);
  padding: 2px 5px;
  color: #FFFFFF;
  font-size: 12px;
  font-weight: 700;
}

.nova-upload-file-preview .no-preview-uploading-text {
  color: #2068D3;
  font-size: 12px;
  font-weight: 700;
}

.nova-upload-file-preview .filepreview-progress-bar {
  display: block;
  position: relative;
  margin: 5px 0;
  border-radius: 40px;
  background: #E5E5E5;
  width: 100%;
  height: 8px;
  overflow: hidden;
}

.nova-upload-file-preview .filepreview-progress-bar-meter {
  position: absolute;
  top: 0;
  left: 0;
  border-radius: 40px;
  background-color: #2068D3;
  width: 100%;
  height: 100%;
  -webkit-transition: width 0.2s cubic-bezier(0.4, 1, 0.75, 0.9);
  transition: width 0.2s cubic-bezier(0.4, 1, 0.75, 0.9);
}

.nova-upload-file-preview .filepreview-progress-circle {
  position: absolute;
  border-radius: 50px;
  background: rgba(0, 0, 0, 0.7);
  width: 32px;
  height: 32px;
}

.nova-upload-file-preview .filepreview-progress-circle-meter {
  position: absolute;
  top: 3px;
  left: 5px;
  -webkit-transform: rotate(-90deg);
          transform: rotate(-90deg);
}

.nova-upload-file-preview.delete-reveals-on-hover .remove-action {
  opacity: 0;
  -webkit-transition: opacity cubic-bezier(0.22, 0.61, 0.36, 1) 0.2s;
  transition: opacity cubic-bezier(0.22, 0.61, 0.36, 1) 0.2s;
}

.nova-upload-file-preview.delete-reveals-on-hover:hover .remove-action {
  opacity: 1;
  -webkit-transition: opacity cubic-bezier(0.22, 0.61, 0.36, 1) 0.2s;
  transition: opacity cubic-bezier(0.22, 0.61, 0.36, 1) 0.2s;
}

/*
Javascript API

@react-example UploadAreaExample

```html
<UploadArea
  requirements="Max accepted file size: 1GB"
  previewImageUrl={this.state.fileImg}
  onDrop={this.onFileDropped}
  file={file}
/>
```

@interface UploadArea

Styleguide components.uploadarea.js
*/

@font-face {
  font-family: "SamsungOne";

  font-weight: 500;

  font-style: normal;

  src: url("/workspace/static/fonts/SamsungOne-500.woff") format("woff"), url("/workspace/static/fonts/SamsungOne-500.ttf") format("truetype");
}

@font-face {
  font-family: "SamsungOne";

  font-weight: 700;

  font-style: normal;

  src: url("/workspace/static/fonts/SamsungOne-700.woff") format("woff"), url("/workspace/static/fonts/SamsungOne-700.ttf") format("truetype");
}

@font-face {
  font-family: "RobotoMono";

  font-weight: normal;

  font-style: normal;

  src: url("/workspace/static/fonts/RobotoMono-Regular.ttf") format("truetype");
}

#nprogress {
  pointer-events: none;
}

#nprogress .bar {
  background: #2068D3;
  position: fixed;
  z-index: 1031;
  top: 0;
  left: 0;
  width: 100%;
  height: 2px;
}

/* Fancy blur effect */

#nprogress .peg {
  display: block;
  position: absolute;
  right: 0px;
  width: 100px;
  height: 100%;
  box-shadow: 0 0 10px #2068D3, 0 0 5px #2068D3;
  opacity: 1;
  -webkit-transform: rotate(3deg) translate(0px, -4px);
          transform: rotate(3deg) translate(0px, -4px);
}

.nprogress-custom-parent {
  overflow: hidden;
  position: relative;
}

.nprogress-custom-parent #nprogress .bar {
  position: absolute;
}

.react-paginate {
  margin: 40px 0;
  display: -webkit-box;
  display: flex;
  padding: 0;
  -webkit-box-align: center;
          align-items: center;
  -webkit-box-pack: center;
          justify-content: center;
}

.react-paginate li {
  list-style: none;
  color: #2068D3;
}

.react-paginate li a {
  background: white;
  border: 2px solid #E5E5E5;
  color: inherit;
  cursor: pointer;
  float: left;
  font-style: normal;
  font-weight: 700;
  margin-left: -2px;
  padding: 8px 14px;
  position: relative;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  vertical-align: middle;
  white-space: nowrap;
  outline: 0;
}

.react-paginate li.disabled {
  color: #CDCDCD;
  cursor: default;
}

.react-paginate li.disabled a {
  background-color: #F8F9FA;
  color: inherit;
  cursor: default;
}

.react-paginate li.previous a {
  border-radius: 50px 0 0 50px;
  padding-left: 20px;
}

.react-paginate li.next a {
  border-radius: 0 50px 50px 0;
  padding-right: 20px;
}

.react-paginate .selected a {
  background-color: #2068D3;
  z-index: 3;
  border-color: #2068D3;
  color: white;
}

.nova-st-tabs .nova-tabs-tab-list {
  -webkit-box-align: start;
          align-items: flex-start;
  padding: 0;
  border-bottom: solid 2px #F5F5F5;
  margin-bottom: -2px;
}

.nova-st-tabs .nova-tabs-tab {
  background-color: transparent;
  border: 0;
  color: #79808A;
  text-align: left;
  margin-right: 24px;
}

.nova-st-tabs .nova-tabs-tab button {
  padding: 0;
  margin-bottom: 5px;
}

.nova-st-tabs .nova-tabs-tab.active {
  background-color: transparent;
  border-bottom: solid 2px #2068D3;
  color: #2068D3;
}

.nova-st-tabs .nova-tabs-tab.active .number-indicator {
  background: #E3F3FF;
}

* {
  box-sizing: border-box;
  text-rendering: optimizeLegibility;
  -mox-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialised;
}

a:hover {
  text-decoration: none;
}

.navigation-buttons {
  margin-top: 30px;
  display: -webkit-box;
  display: flex;
  -webkit-box-pack: end;
          justify-content: flex-end;
}

.navigation-buttons .nova-button {
  min-width: 150px;
  -webkit-box-pack: center;
          justify-content: center;
}

.nova-button.nova-button-small,
.nova-button-small > .nova-button {
  border-radius: 5px;
  height: auto;
  line-height: 1em;
  margin-left: auto;
  padding: 7px 16px;
  text-transform: none;
}

.neo-input-control {
  margin-bottom: 10px;
}

.neo-input-control.row-layout .input-row {
  display: -webkit-box;
  display: flex;
}

.neo-input-control.row-layout .nova-hint {
  width: 50%;
}

.neo-input-control.row-layout .input-container {
  -webkit-box-flex: 1;
          flex: 1 1 60%;
  min-width: 0;
}

.neo-input-control.row-layout .static-input {
  font-size: 16px;
}

.neo-input-control.row-layout .helper-text {
  font-size: 0.8em;
  color: #252525;
  font-weight: 700;
}

.neo-input-control.row-layout .input-row .helper-text {
  -webkit-box-flex: 1;
          flex: 1 0 40%;
  border-left: 5px solid #E5E5E5;
  padding-left: 10px;
  margin-left: 30px;
}

.neo-input-control.row-layout .helper-text.position-bottom {
  margin-top: 8px;
}

.neo-input-control.error:not(.row-layout) .nova-input {
  border-radius: 4px;
  border-color: #EF2327;
}

.neo-input-control.error .helper-text {
  color: #EF2327;
}

.neo-input-control.error .input-row .helper-text {
  border-left: 5px solid #e29fa7;
}

.neo-input-control.error .nova-hint {
  color: #EF2327;
}

.neo-input-control .nova-label {
  margin: 10px 0 10px 0;
}

.neo-input-control .input-optional {
  margin-left: "5px";
  color: gray;
  display: inline-block;
  margin-left: 5px;
}

.neo-input-control .nova-hint {
  margin-top: 5px;
}

.neo-input-control .nova-datetimepicker .react-calendar button:not(:disabled) {
  cursor: pointer;
}

.neo-input-control .nova-datetimepicker .react-calendar .react-calendar__navigation button {
  background: none;
  border: none;
}

.neo-input-control .nova-datetimepicker .react-calendar .react-calendar__tile {
  font-size: 14px;
}

.mst-devtools * {
  box-sizing: content-box;
}

/* TODO: this belongs to toolkit */

.nova-popover,
.nova-tooltip {
  z-index: 10;
}

.nova-flash-messages-fixed {
  z-index: 100;
}

select.nova-select:required:invalid {
  color: #acacac;
}

.neo-page-empty-state {
  min-height: calc(100vh - 190px);
  font-size: 14px;
}
