.u-ir {
  background-color: transparent;
  background-repeat: no-repeat;
  border: 0;
  direction: ltr;
  display: block;
  overflow: hidden;
  text-align: left;
  text-indent: -999em;
}
.u-ir br {
  display: none;
}

.u-elementFocus, .u-focusShadow:focus > .u-focusShadow-content, .u-elementFocus--borderless {
  /*
  Applying both shadows in a single declaration gives anti-aliasing artefacts.
  box-shadow: 0 0 0 2px dt.$color-focus-inner, 0 0 0 4px dt.$color-focus-outer;

  To prevent this, they should be separated so they don't bleed into each other,
  i.e., one shadow on the element and another on a pseudo element like :after
  */
  box-shadow: 0 0 0 2px #fff;
  outline: none;
  /*
  Setting the position to relative prevents the pseudo-element from
  anchoring instead to the nearest ancestor with a specified position.

  You can override this if you need another value.
  */
  position: relative;
}
.u-elementFocus:after, .u-focusShadow:focus > .u-focusShadow-content:after, .u-elementFocus--borderless:after {
  content: "";
  display: block;
  /*
  The pseudo element has to be larger than the element itself, but not just by
  2px (the thickness of the inner shadow), it has to be 1px larger than that to
  account for the border thickness.
  */
  position: absolute;
  top: -3px;
  left: -3px;
  right: -3px;
  bottom: -3px;
  box-shadow: 0 0 0 2px #094dac;
}

.u-elementFocus--borderless {
  /*
  For elements without a border, the above does not apply
  so the pseudo-element should be only 2px larger than the
  element on each side.
  */
}
.u-elementFocus--borderless:after {
  top: -2px;
  left: -2px;
  right: -2px;
  bottom: -2px;
}

.u-unstyled {
  margin-top: 0;
  margin-left: 0;
  padding: 0;
  list-style: none;
  list-style-image: none;
}
.u-unstyled > li {
  margin-bottom: 0;
}
.u-unstyled > li:before {
  content: none;
}

.u-hideText {
  text-indent: 110%;
  white-space: nowrap;
  overflow: hidden;
}

.u-bordered {
  border: 1px solid #dbd9d7;
  padding: 24px;
  border-radius: 4px;
}

.u-focusShadow:focus,
.u-focusShadow-content:focus {
  outline: none;
}

/**
* Utilities
* ===================================
* Non-semantic helper classes
*/
.u-clearfix:after {
  content: " ";
  display: table;
  clear: both;
}

.u-lightenBg {
  background-color: #fff;
}

.u-noBorder {
  border: none !important;
}

@media (min-width: 48.001em) {
  .u-bordered--mid {
    border: 1px solid #dbd9d7;
    padding: 24px;
    border-radius: 4px;
  }
}

.is-hidden,
.no-js .is-hidden--noJS {
  display: none !important;
  visibility: hidden !important;
}

.is-shown,
.no-js .is-shown--noJS {
  display: block !important;
  visibility: visible !important;
}

.is-visuallyHidden {
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
}
.is-visuallyHidden.focusable:active, .is-visuallyHidden.focusable:focus {
  clip: auto;
  height: auto;
  margin: 0;
  overflow: visible;
  position: static;
  width: auto;
}

.is-invisible {
  visibility: hidden;
}

.u-pointer {
  cursor: pointer;
}

.is-sticky {
  width: 100%;
  z-index: 100;
  position: fixed;
  transition: top 0.2s ease;
}

.u-sticky {
  position: sticky !important;
  top: 16px;
}

.u-absolutelyCentered {
  position: absolute;
  top: 50%;
  right: 50%;
  transform: translate(50%, -50%);
}

.u-noWrap {
  white-space: nowrap;
}

.u-uppercase {
  text-transform: uppercase;
}

.u-textPad {
  padding-left: 32px !important;
}

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

.u-noUnderline {
  text-decoration: none;
}
.u-noUnderline:hover, .u-noUnderline:active, .u-noUnderline:focus {
  text-decoration: underline;
}

.u-text-centre,
.u-text-center {
  text-align: center;
}

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

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

.u-text-highlight {
  color: #d50525;
}
em.u-text-highlight {
  font-style: normal;
}

.u-text-indent {
  margin-left: 16px;
}

.u-color-text {
  color: #242e30;
}

.u-color-link {
  color: #242e30;
}

.u-color-secondary {
  color: #125fca;
}

.u-color-text--hint {
  color: #3c4c4f;
}

.u-color-text--success {
  color: #017a39;
}

.u-color-text--danger {
  color: #d50525;
}

.u-color-text--warning {
  color: #242e30;
}

.u-noSpacing {
  margin: 0 !important;
}

.u-spacingTop {
  margin-top: 8px !important;
}

.u-spacingTop--small {
  margin-top: 4px !important;
}

.u-spacingTop--large {
  margin-top: 16px !important;
}

.u-spacingRight {
  margin-right: 8px !important;
}

.u-spacingBottom {
  margin-bottom: 8px !important;
}

.u-spacingBottom--large {
  margin-bottom: 16px !important;
}

@media (min-width: 48em) {
  .u-spacingBottom--large--aboveMid {
    margin-bottom: 16px;
  }
}

.u-spacingLeft {
  margin-left: 8px !important;
}

.u-noPad {
  padding: 0 !important;
}

.u-padTop {
  padding-top: 8px !important;
}

.u-padTop--large {
  padding-top: 16px !important;
}

@media (min-width: 48em) {
  .u-padTop--large--aboveMid {
    padding-top: 16px !important;
  }
}

.u-overlay {
  background-color: rgba(0, 0, 0, 0.5);
  bottom: 0;
  left: 0;
  position: fixed;
  right: 0;
  top: 0;
}

.u-overlay--after:after {
  background-color: rgba(0, 0, 0, 0.5);
  bottom: 0;
  content: "";
  left: 0;
  position: fixed;
  right: 0;
  top: 0;
  z-index: 1;
}

.u-preventScroll {
  overflow: hidden;
}

[data-lazy-image-src] {
  display: block;
}
.no-js [data-lazy-image-src] {
  display: none;
}

/* Custom outline styling for elements that have a focus state */
/*
* Clever hack to have focus on an element but only when keyboard focused (not click)
* https://stackoverflow.com/questions/31402576/enable-focus-only-on-keyboard-use-or-tab-press
*/
.u-shadowBottom--belowMid {
  padding-bottom: 56px;
}
@media (max-width: 47.999em) {
  .u-shadowBottom--belowMid:after {
    background-color: #f5f3f1;
    border: 0;
    box-shadow: inset 0 2px 4px 0 rgba(0, 0, 0, 0.1);
    content: "";
    display: block;
    height: 56px;
    left: -8px;
    position: absolute;
    width: 100vw;
  }
}

.u-noBackground {
  background: none !important;
}

.u-hover--cursor:hover {
  cursor: pointer !important;
}

/**
* Spacing Trumps
* ===================================
*
* These can be helpful in situations where you need to apply some spacing and do not wish to create a new class name for an element.
* The classes generated include spacing for each of our spacing variables in all directions (left.right, top, bottom), including horizontal & vertical, for both padding & margin.
*
* The format of the generated classes is `.u-{name}--{modifier}`, modifier is an optional parameter.
*
* eg. a subset of the generated classes
*
* .u-spacing { margin: 8px; }
* .u-spacing--top { margin-top: 8px; }
* .u-spacing-a--top { margin-top: 4px; }
* .u-spacing-b--top { margin-top: 8px; }
*
* .u-pad { padding: 8px; }
* .u-pad--top { padding-top: 8px; }
* .u-pad-a--top { padding-top: 4px; }
* .u-pad-b--top { padding-top: 8px; }
*
* This is an optional component within Fozzie.
* If you'd like to use it in your project you can include it by adding `@include trumps-spacing();` into your SCSS dependencies file.
*/
.u-spacing {
  margin: 8px !important;
}

.u-spacing-a {
  margin: 4px !important;
}

.u-spacing-b {
  margin: 8px !important;
}

.u-spacing-c {
  margin: 12px !important;
}

.u-spacing-d {
  margin: 16px !important;
}

.u-spacing-e {
  margin: 24px !important;
}

.u-spacing-f {
  margin: 32px !important;
}

.u-spacing-g {
  margin: 40px !important;
}

.u-spacing-h {
  margin: 56px !important;
}

.u-spacing-i {
  margin: 64px !important;
}

.u-spacing-j {
  margin: 80px !important;
}

.u-spacing--top {
  margin-top: 8px !important;
}

.u-spacing-a--top {
  margin-top: 4px !important;
}

.u-spacing-b--top {
  margin-top: 8px !important;
}

.u-spacing-c--top {
  margin-top: 12px !important;
}

.u-spacing-d--top {
  margin-top: 16px !important;
}

.u-spacing-e--top {
  margin-top: 24px !important;
}

.u-spacing-f--top {
  margin-top: 32px !important;
}

.u-spacing-g--top {
  margin-top: 40px !important;
}

.u-spacing-h--top {
  margin-top: 56px !important;
}

.u-spacing-i--top {
  margin-top: 64px !important;
}

.u-spacing-j--top {
  margin-top: 80px !important;
}

.u-spacing--bottom {
  margin-bottom: 8px !important;
}

.u-spacing-a--bottom {
  margin-bottom: 4px !important;
}

.u-spacing-b--bottom {
  margin-bottom: 8px !important;
}

.u-spacing-c--bottom {
  margin-bottom: 12px !important;
}

.u-spacing-d--bottom {
  margin-bottom: 16px !important;
}

.u-spacing-e--bottom {
  margin-bottom: 24px !important;
}

.u-spacing-f--bottom {
  margin-bottom: 32px !important;
}

.u-spacing-g--bottom {
  margin-bottom: 40px !important;
}

.u-spacing-h--bottom {
  margin-bottom: 56px !important;
}

.u-spacing-i--bottom {
  margin-bottom: 64px !important;
}

.u-spacing-j--bottom {
  margin-bottom: 80px !important;
}

.u-spacing--left {
  margin-left: 8px !important;
}

.u-spacing-a--left {
  margin-left: 4px !important;
}

.u-spacing-b--left {
  margin-left: 8px !important;
}

.u-spacing-c--left {
  margin-left: 12px !important;
}

.u-spacing-d--left {
  margin-left: 16px !important;
}

.u-spacing-e--left {
  margin-left: 24px !important;
}

.u-spacing-f--left {
  margin-left: 32px !important;
}

.u-spacing-g--left {
  margin-left: 40px !important;
}

.u-spacing-h--left {
  margin-left: 56px !important;
}

.u-spacing-i--left {
  margin-left: 64px !important;
}

.u-spacing-j--left {
  margin-left: 80px !important;
}

.u-spacing--right {
  margin-right: 8px !important;
}

.u-spacing-a--right {
  margin-right: 4px !important;
}

.u-spacing-b--right {
  margin-right: 8px !important;
}

.u-spacing-c--right {
  margin-right: 12px !important;
}

.u-spacing-d--right {
  margin-right: 16px !important;
}

.u-spacing-e--right {
  margin-right: 24px !important;
}

.u-spacing-f--right {
  margin-right: 32px !important;
}

.u-spacing-g--right {
  margin-right: 40px !important;
}

.u-spacing-h--right {
  margin-right: 56px !important;
}

.u-spacing-i--right {
  margin-right: 64px !important;
}

.u-spacing-j--right {
  margin-right: 80px !important;
}

.u-spacing--horizontal {
  margin-left: 8px !important;
  margin-right: 8px !important;
}

.u-spacing-a--horizontal {
  margin-left: 4px !important;
  margin-right: 4px !important;
}

.u-spacing-b--horizontal {
  margin-left: 8px !important;
  margin-right: 8px !important;
}

.u-spacing-c--horizontal {
  margin-left: 12px !important;
  margin-right: 12px !important;
}

.u-spacing-d--horizontal {
  margin-left: 16px !important;
  margin-right: 16px !important;
}

.u-spacing-e--horizontal {
  margin-left: 24px !important;
  margin-right: 24px !important;
}

.u-spacing-f--horizontal {
  margin-left: 32px !important;
  margin-right: 32px !important;
}

.u-spacing-g--horizontal {
  margin-left: 40px !important;
  margin-right: 40px !important;
}

.u-spacing-h--horizontal {
  margin-left: 56px !important;
  margin-right: 56px !important;
}

.u-spacing-i--horizontal {
  margin-left: 64px !important;
  margin-right: 64px !important;
}

.u-spacing-j--horizontal {
  margin-left: 80px !important;
  margin-right: 80px !important;
}

.u-spacing--vertical {
  margin-bottom: 8px !important;
  margin-top: 8px !important;
}

.u-spacing-a--vertical {
  margin-bottom: 4px !important;
  margin-top: 4px !important;
}

.u-spacing-b--vertical {
  margin-bottom: 8px !important;
  margin-top: 8px !important;
}

.u-spacing-c--vertical {
  margin-bottom: 12px !important;
  margin-top: 12px !important;
}

.u-spacing-d--vertical {
  margin-bottom: 16px !important;
  margin-top: 16px !important;
}

.u-spacing-e--vertical {
  margin-bottom: 24px !important;
  margin-top: 24px !important;
}

.u-spacing-f--vertical {
  margin-bottom: 32px !important;
  margin-top: 32px !important;
}

.u-spacing-g--vertical {
  margin-bottom: 40px !important;
  margin-top: 40px !important;
}

.u-spacing-h--vertical {
  margin-bottom: 56px !important;
  margin-top: 56px !important;
}

.u-spacing-i--vertical {
  margin-bottom: 64px !important;
  margin-top: 64px !important;
}

.u-spacing-j--vertical {
  margin-bottom: 80px !important;
  margin-top: 80px !important;
}

.u-pad {
  padding: 8px !important;
}

.u-pad-a {
  padding: 4px !important;
}

.u-pad-b {
  padding: 8px !important;
}

.u-pad-c {
  padding: 12px !important;
}

.u-pad-d {
  padding: 16px !important;
}

.u-pad-e {
  padding: 24px !important;
}

.u-pad-f {
  padding: 32px !important;
}

.u-pad-g {
  padding: 40px !important;
}

.u-pad-h {
  padding: 56px !important;
}

.u-pad-i {
  padding: 64px !important;
}

.u-pad-j {
  padding: 80px !important;
}

.u-pad--top {
  padding-top: 8px !important;
}

.u-pad-a--top {
  padding-top: 4px !important;
}

.u-pad-b--top {
  padding-top: 8px !important;
}

.u-pad-c--top {
  padding-top: 12px !important;
}

.u-pad-d--top {
  padding-top: 16px !important;
}

.u-pad-e--top {
  padding-top: 24px !important;
}

.u-pad-f--top {
  padding-top: 32px !important;
}

.u-pad-g--top {
  padding-top: 40px !important;
}

.u-pad-h--top {
  padding-top: 56px !important;
}

.u-pad-i--top {
  padding-top: 64px !important;
}

.u-pad-j--top {
  padding-top: 80px !important;
}

.u-pad--bottom {
  padding-bottom: 8px !important;
}

.u-pad-a--bottom {
  padding-bottom: 4px !important;
}

.u-pad-b--bottom {
  padding-bottom: 8px !important;
}

.u-pad-c--bottom {
  padding-bottom: 12px !important;
}

.u-pad-d--bottom {
  padding-bottom: 16px !important;
}

.u-pad-e--bottom {
  padding-bottom: 24px !important;
}

.u-pad-f--bottom {
  padding-bottom: 32px !important;
}

.u-pad-g--bottom {
  padding-bottom: 40px !important;
}

.u-pad-h--bottom {
  padding-bottom: 56px !important;
}

.u-pad-i--bottom {
  padding-bottom: 64px !important;
}

.u-pad-j--bottom {
  padding-bottom: 80px !important;
}

.u-pad--left {
  padding-left: 8px !important;
}

.u-pad-a--left {
  padding-left: 4px !important;
}

.u-pad-b--left {
  padding-left: 8px !important;
}

.u-pad-c--left {
  padding-left: 12px !important;
}

.u-pad-d--left {
  padding-left: 16px !important;
}

.u-pad-e--left {
  padding-left: 24px !important;
}

.u-pad-f--left {
  padding-left: 32px !important;
}

.u-pad-g--left {
  padding-left: 40px !important;
}

.u-pad-h--left {
  padding-left: 56px !important;
}

.u-pad-i--left {
  padding-left: 64px !important;
}

.u-pad-j--left {
  padding-left: 80px !important;
}

.u-pad--right {
  padding-right: 8px !important;
}

.u-pad-a--right {
  padding-right: 4px !important;
}

.u-pad-b--right {
  padding-right: 8px !important;
}

.u-pad-c--right {
  padding-right: 12px !important;
}

.u-pad-d--right {
  padding-right: 16px !important;
}

.u-pad-e--right {
  padding-right: 24px !important;
}

.u-pad-f--right {
  padding-right: 32px !important;
}

.u-pad-g--right {
  padding-right: 40px !important;
}

.u-pad-h--right {
  padding-right: 56px !important;
}

.u-pad-i--right {
  padding-right: 64px !important;
}

.u-pad-j--right {
  padding-right: 80px !important;
}

.u-pad--horizontal {
  padding-left: 8px !important;
  padding-right: 8px !important;
}

.u-pad-a--horizontal {
  padding-left: 4px !important;
  padding-right: 4px !important;
}

.u-pad-b--horizontal {
  padding-left: 8px !important;
  padding-right: 8px !important;
}

.u-pad-c--horizontal {
  padding-left: 12px !important;
  padding-right: 12px !important;
}

.u-pad-d--horizontal {
  padding-left: 16px !important;
  padding-right: 16px !important;
}

.u-pad-e--horizontal {
  padding-left: 24px !important;
  padding-right: 24px !important;
}

.u-pad-f--horizontal {
  padding-left: 32px !important;
  padding-right: 32px !important;
}

.u-pad-g--horizontal {
  padding-left: 40px !important;
  padding-right: 40px !important;
}

.u-pad-h--horizontal {
  padding-left: 56px !important;
  padding-right: 56px !important;
}

.u-pad-i--horizontal {
  padding-left: 64px !important;
  padding-right: 64px !important;
}

.u-pad-j--horizontal {
  padding-left: 80px !important;
  padding-right: 80px !important;
}

.u-pad--vertical {
  padding-bottom: 8px !important;
  padding-top: 8px !important;
}

.u-pad-a--vertical {
  padding-bottom: 4px !important;
  padding-top: 4px !important;
}

.u-pad-b--vertical {
  padding-bottom: 8px !important;
  padding-top: 8px !important;
}

.u-pad-c--vertical {
  padding-bottom: 12px !important;
  padding-top: 12px !important;
}

.u-pad-d--vertical {
  padding-bottom: 16px !important;
  padding-top: 16px !important;
}

.u-pad-e--vertical {
  padding-bottom: 24px !important;
  padding-top: 24px !important;
}

.u-pad-f--vertical {
  padding-bottom: 32px !important;
  padding-top: 32px !important;
}

.u-pad-g--vertical {
  padding-bottom: 40px !important;
  padding-top: 40px !important;
}

.u-pad-h--vertical {
  padding-bottom: 56px !important;
  padding-top: 56px !important;
}

.u-pad-i--vertical {
  padding-bottom: 64px !important;
  padding-top: 64px !important;
}

.u-pad-j--vertical {
  padding-bottom: 80px !important;
  padding-top: 80px !important;
}

/**
* Responsive Trumps
* ===================================
*/
@media (min-width: 25.875em) {
  .u-showBelowNarrow {
    display: none !important;
  }
}

@media (min-width: 48em) {
  .u-showBelowMid {
    display: none !important;
  }
}

@media (min-width: 64.0625em) {
  .u-showBelowWide {
    display: none !important;
  }
}

@media (min-width: 80em) {
  .u-showBelowHuge {
    display: none !important;
  }
}

@media (max-width: 25.875em) {
  .u-showAboveNarrow {
    display: none !important;
  }
}

@media (max-width: 23.4375em) {
  .u-showAboveTiny {
    display: none !important;
  }
}

@media (max-width: 47.999em) {
  .u-showAboveMid,
.no-js .u-showAboveMid--noJS {
    display: none !important;
  }
}

@media (max-width: 64.0615em) {
  .u-showAboveWide {
    display: none !important;
  }
}

@media (max-width: 79.999em) {
  .u-showAboveHuge {
    display: none !important;
  }
}

@media (min-width: 48.001em) and (max-width: 64.0615em) {
  .u-hideOnMid {
    display: none !important;
  }
}

/*# sourceMappingURL=fozzie-utilities.css.map */