/*
  This mixin can be used to set the object-fit:
  @include object-fit(contain);

  or object-fit and object-position:
  @include object-fit(cover, top);
*/
/* =============================================================================
// @name Superfish Base Library
// @description Superfish library CSS that needs to be retained for
//              compatibility so we can unset the original full CSS to make
//              integrating with theme easier.
// @group vendor
// @file src/sass/_partials/vendor/superfish/generic.superfish.scss
// ========================================================================== */

.sf-hidden {
  background: transparent !important;
  border: 0 none !important;
  clip: rect(1px 1px 1px 1px);
  clip: rect(1px, 1px, 1px, 1px);
  position: absolute !important;
  height: 1px !important;
  margin: !important;
  overflow: hidden !important;
  padding: 0 !important;
  width: 1px !important;
}

/**
 * Multi-column sub-menus.
 * Supersubs.js can adjust column widths too and this is a fallback.
 */
ul.sf-menu li.sf-multicolumn-column {
  display: inline;
  float: left;
}

ul.sf-menu li.sf-parent-children-1 ul.sf-multicolumn {
  width: 12em;
}

ul.sf-menu li.sf-parent-children-2 ul.sf-multicolumn {
  width: 24em;
}

ul.sf-menu li.sf-parent-children-3 ul.sf-multicolumn {
  width: 36em;
}

ul.sf-menu li.sf-parent-children-4 ul.sf-multicolumn {
  width: 48em;
}

ul.sf-menu li.sf-parent-children-5 ul.sf-multicolumn {
  width: 60em;
}

ul.sf-menu li.sf-parent-children-6 ul.sf-multicolumn {
  width: 72em;
}

ul.sf-menu li.sf-parent-children-7 ul.sf-multicolumn {
  width: 84em;
}

ul.sf-menu li.sf-parent-children-8 ul.sf-multicolumn {
  width: 96em;
}

ul.sf-menu li.sf-parent-children-9 ul.sf-multicolumn {
  width: 108em;
}

ul.sf-menu li.sf-parent-children-10 ul.sf-multicolumn {
  width: 120em;
}

ul.sf-menu li.sf-multicolumn-column:nth-child(1):nth-last-child(2),
ul.sf-menu li.sf-multicolumn-column:nth-child(2):nth-last-child(1) {
  width: 50%;
}

ul.sf-menu li.sf-multicolumn-column:nth-child(1):nth-last-child(3),
ul.sf-menu li.sf-multicolumn-column:nth-child(2):nth-last-child(2),
ul.sf-menu li.sf-multicolumn-column:nth-child(3):nth-last-child(1) {
  width: 32.333%;
}

ul.sf-menu li.sf-multicolumn-column:nth-child(1):nth-last-child(4),
ul.sf-menu li.sf-multicolumn-column:nth-child(2):nth-last-child(3),
ul.sf-menu li.sf-multicolumn-column:nth-child(3):nth-last-child(2),
ul.sf-menu li.sf-multicolumn-column:nth-child(4):nth-last-child(1) {
  width: 25%;
}

ul.sf-menu li.sf-multicolumn-column:nth-child(1):nth-last-child(5),
ul.sf-menu li.sf-multicolumn-column:nth-child(2):nth-last-child(4),
ul.sf-menu li.sf-multicolumn-column:nth-child(3):nth-last-child(3),
ul.sf-menu li.sf-multicolumn-column:nth-child(4):nth-last-child(2),
ul.sf-menu li.sf-multicolumn-column:nth-child(5):nth-last-child(1) {
  width: 20%;
}

ul.sf-menu li.sf-multicolumn-column:nth-child(1):nth-last-child(6),
ul.sf-menu li.sf-multicolumn-column:nth-child(2):nth-last-child(5),
ul.sf-menu li.sf-multicolumn-column:nth-child(3):nth-last-child(4),
ul.sf-menu li.sf-multicolumn-column:nth-child(4):nth-last-child(3),
ul.sf-menu li.sf-multicolumn-column:nth-child(5):nth-last-child(2),
ul.sf-menu li.sf-multicolumn-column:nth-child(6):nth-last-child(1) {
  width: 16.665%;
}

ul.sf-menu li.sf-multicolumn-column:nth-child(1):nth-last-child(7),
ul.sf-menu li.sf-multicolumn-column:nth-child(2):nth-last-child(6),
ul.sf-menu li.sf-multicolumn-column:nth-child(3):nth-last-child(5),
ul.sf-menu li.sf-multicolumn-column:nth-child(4):nth-last-child(4),
ul.sf-menu li.sf-multicolumn-column:nth-child(5):nth-last-child(3),
ul.sf-menu li.sf-multicolumn-column:nth-child(6):nth-last-child(2),
ul.sf-menu li.sf-multicolumn-column:nth-child(7):nth-last-child(1) {
  width: 14.2855%;
}

ul.sf-menu li.sf-multicolumn-column:nth-child(1):nth-last-child(8),
ul.sf-menu li.sf-multicolumn-column:nth-child(2):nth-last-child(7),
ul.sf-menu li.sf-multicolumn-column:nth-child(3):nth-last-child(6),
ul.sf-menu li.sf-multicolumn-column:nth-child(4):nth-last-child(5),
ul.sf-menu li.sf-multicolumn-column:nth-child(5):nth-last-child(4),
ul.sf-menu li.sf-multicolumn-column:nth-child(6):nth-last-child(3),
ul.sf-menu li.sf-multicolumn-column:nth-child(7):nth-last-child(2),
ul.sf-menu li.sf-multicolumn-column:nth-child(8):nth-last-child(1) {
  width: 14.2855%;
}

ul.sf-menu li.sf-multicolumn-column:nth-child(1):nth-last-child(9),
ul.sf-menu li.sf-multicolumn-column:nth-child(2):nth-last-child(8),
ul.sf-menu li.sf-multicolumn-column:nth-child(3):nth-last-child(7),
ul.sf-menu li.sf-multicolumn-column:nth-child(4):nth-last-child(6),
ul.sf-menu li.sf-multicolumn-column:nth-child(5):nth-last-child(5),
ul.sf-menu li.sf-multicolumn-column:nth-child(6):nth-last-child(4),
ul.sf-menu li.sf-multicolumn-column:nth-child(7):nth-last-child(3),
ul.sf-menu li.sf-multicolumn-column:nth-child(8):nth-last-child(2),
ul.sf-menu li.sf-multicolumn-column:nth-child(9):nth-last-child(1) {
  width: 11.111%;
}

ul.sf-menu li.sf-multicolumn-column:nth-child(1):nth-last-child(10),
ul.sf-menu li.sf-multicolumn-column:nth-child(2):nth-last-child(9),
ul.sf-menu li.sf-multicolumn-column:nth-child(3):nth-last-child(8),
ul.sf-menu li.sf-multicolumn-column:nth-child(4):nth-last-child(7),
ul.sf-menu li.sf-multicolumn-column:nth-child(5):nth-last-child(6),
ul.sf-menu li.sf-multicolumn-column:nth-child(6):nth-last-child(5),
ul.sf-menu li.sf-multicolumn-column:nth-child(7):nth-last-child(4),
ul.sf-menu li.sf-multicolumn-column:nth-child(8):nth-last-child(3),
ul.sf-menu li.sf-multicolumn-column:nth-child(9):nth-last-child(2),
ul.sf-menu li.sf-multicolumn-column:nth-child(10):nth-last-child(1) {
  width: 10%;
}

/*! normalize.css v5.0.0 | MIT License | github.com/necolas/normalize.css */
/* stylelint-disable selector-max-type */
/**
 * 1. Change the default font family in all browsers (opinionated).
  * 2. Correct the line height in all browsers.
 * 3. Prevent adjustments of font size after orientation changes in
 *    IE on Windows Phone and in iOS.
 */
/* Document
   ========================================================================== */
html {
  font-family: sans-serif;
  /* 1 */
  line-height: 1.15;
  /* 2 */
  -ms-text-size-adjust: 100%;
  /* 3 */
  -webkit-text-size-adjust: 100%;
  /* 3 */
}

/* 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 */
}

/**
 * Remove the outline on focused links when they are also active or hovered
 * in all browsers (opinionated).
 */
/**
 * 1. Remove the bottom border in 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;
}

/**
 * Change the border, margin, and padding in all browsers (opinionated).
 */
fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em;
}

/**
 * 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;
}

/* =============================================================================
// @name Globals
// @description Set global attributes used site-white by default.
// @group generic
// @file src/sass/_partials/2-generic/_globals.generic.scss
// ========================================================================== */
/* stylelint-disable selector-max-type */
html {
  box-sizing: border-box;
}

*,
*::before,
*::after {
  box-sizing: inherit;
  background-repeat: no-repeat;
}

address {
  font-style: normal;
}

/* =============================================================================
// @name Shared
// @description Set attributes which are shared among different elements.
// @group generic
// @file src/sass/_partials/2-generic/_shared.generic.scss
// ========================================================================== */
/* stylelint-disable selector-max-type */
h1,
h2,
h3,
h4,
h5,
h6,
ul,
ol,
dl,
blockquote,
p,
address,
hr,
table,
fieldset,
figure,
pre {
  margin-top: 0;
  margin-bottom: 1.25rem;
}

/* =============================================================================
// @name Form Elements
// @description Base CSS for form related tags.
// @group elements
// @file src/sass/_partials/3-elements/_elements.form.scss
// ========================================================================== */
/* stylelint-disable selector-max-type */
input[type="color"], input[type="date"], input[type="datetime"], input[type="datetime-local"], input[type="email"], input[type="month"], input[type="number"], input[type="password"], input[type="search"], input[type="tel"], input[type="text"], input[type="time"], input[type="url"], input[type="week"], input:not([type]), textarea {
  display: block;
  box-sizing: border-box;
  width: 100%;
}

button, input[type="button"], input[type="reset"], input[type="submit"] {
  display: inline-block;
  cursor: pointer;
}

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

label {
  cursor: pointer;
}

/* =============================================================================
// @name Header Elements
// @description Base CSS for header tags.
// @group elements
// @file src/sass/_partials/3-elements/_elements.header.scss
// ========================================================================== */
/* stylelint-disable selector-max-type */
h1,
h2,
h3,
h4,
h5,
h6 {
  margin-top: 0;
  font-weight: 400;
}

h1 {
  font-size: 2rem;
  line-height: 1.15625;
}

h2 {
  font-size: 1.5rem;
  line-height: 1.2083;
}

h3 {
  font-size: 1rem;
}

h4 {
  font-size: 0.875rem;
}

h5 {
  font-size: 0.875rem;
}

h6 {
  font-size: 0.75rem;
}

/* =============================================================================
// @name Image Elements
// @description Base CSS for images and image related elements.
// @group elements
// @file src/sass/_partials/3-elements/_elements.image.scss
// ========================================================================== */
/* stylelint-disable selector-max-type */
img {
  max-width: 100%;
  height: auto;
  vertical-align: middle;
}

/* =============================================================================
// @name Link Elements
// @description Base CSS for link styling.
// @group elements
// @file src/sass/_partials/3-elements/_elements.link.scss
// ========================================================================== */
/* stylelint-disable selector-max-type */
a {
  transition: background-color 0.1s ease-in-out, color 0.1s ease-in-out;
  text-decoration: none;
  color: #db0000;
}

a:link {
  color: #db0000;
}

a:visited {
  color: #db0000;
}

.l-page__primary a:hover, .l-page__primary a:focus, .l-page__primary a:active {
  background-color: #ffca0a;
  color: #000;
}

a:focus {
  outline: thin dotted;
}

/* =============================================================================
// @name List Elements
// @description Base CSS for list tags.
// @group elements
// @file src/sass/_partials/3-elements/_elements.list.scss
// ========================================================================== */
/* stylelint-disable selector-max-type */
ul,
ol {
  padding-left: 1.875rem;
  list-style-position: outside;
}

ul {
  list-style-image: url('../../assets/images/icons/list-bullet.svg');
}

li {
  margin: 0;
}

li > ul,
li ol {
  margin-bottom: 0;
}

li:empty {
  display: none;
}

nav ul,
nav ol,
nav li {
  margin: 0;
  padding-left: 0;
  list-style-type: none;
  list-style-image: none;
}

dl {
  margin: 0 0 1.25rem 0;
}

/* =============================================================================
// @name Page Elements
// @description Base CSS for root html and body tags.
// @group elements
// @file src/sass/_partials/3-elements/_elements.page.scss
// ========================================================================== */
/* stylelint-disable selector-max-type */
/* stylelint-disable at-rule-no-vendor-prefix */
@-ms-viewport {
  width: device-width;
}
@viewport {
  width: device-width;
}

html {
  overflow-x: hidden;
  overflow-y: scroll;
  min-height: 100%;
  font-family: Arial, "Helvetica Neue", Helvetica, sans-serif;
  font-size: 100%;
  line-height: 1.4;
  -webkit-overflow-scrolling: touch;
}

body {
  color: #000;
  background-color: #fff;
  font-size: 0.875rem;
}

/* =============================================================================
// @name Table Elements
// @description Base CSS for table related tags.
// @group elements
// @file src/sass/_partials/3-elements/_elements.table.scss
// ========================================================================== */
/* stylelint-disable selector-max-type */
table {
  width: 100%;
  table-layout: fixed;
  border-spacing: 0;
  border: 1px solid #b3b3b3;
}

th,
td {
  padding: 0.625rem;
  transition: background-color 0.1s ease-in-out;
}

th {
  text-transform: uppercase;
  color: #ffca0a;
  background-color: #000;
  font-weight: 400;
}

tbody tr:nth-of-type(odd) td,
tbody tr:nth-of-type(odd) th {
  background-color: #eee;
}

tbody tr + tr td,
tbody tr + tr th {
  border-top: 1px solid #b3b3b3;
}

/* =============================================================================
// @name Typography Elements
// @description Base CSS for header and other typography tags.
// @group elements
// @file src/sass/_partials/3-elements/_elements.typography.scss
// ========================================================================== */
/* stylelint-disable selector-max-type */
code {
  overflow-wrap: break-word;
  word-wrap: break-word;
  word-break: break-all;
  display: block;
  padding: 0.625rem;
  color: #000;
  background-color: #e8e8e8;
  font-family: "Bitstream Vera Sans Mono", "Consolas", "Courier", monospace;
}

figure {
  margin: 0;
}

pre {
  white-space: pre-wrap;
}

hr {
  height: 1px;
  margin: 0.625rem 0;
  border: none;
  background-color: #e8e8e8;
}

b,
strong {
  font-weight: 700;
}

/* =============================================================================
// @name Button Group Layout
// @description Layout for grouping buttons together.
// @group layouts
// @file src/sass/_partials/4-layout/_layout.button-group.scss
// ========================================================================== */
.button-group--cta {
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: column;
          flex-direction: column;
  margin: 0;
  padding: 0;
  list-style: none;
}

@media (min-width: 30.1rem) {
  .button-group--cta {
    -webkit-flex-direction: row;
            flex-direction: row;
    -webkit-flex-wrap: wrap;
            flex-wrap: wrap;
  }
}

.button-group--cta .button-group__item {
  width: 100%;
  max-width: 220px;
  margin: 0 0 1.25rem 0;
}

@media (min-width: 30.1rem) {
  .button-group--cta .button-group__item {
    margin: 0 0.625rem 1.25rem 0.625rem;
  }
}

/* =============================================================================
// @name Form Group Layout
// @description Objects for form items and their enclosed elements.
// @group layouts
// @file src/sass/_partials/4-layout/_layout.form-group.scss
// ========================================================================== */
/* =============================================================================
// @name Grid Layout
// @description Object classes for a 12 columns grid.
// @group layouts
// @file src/sass/_partials/4-layout/_layout.grid.scss
// ========================================================================== */
.l-grid--design-topics {
  max-width: 36.25rem;
}

@media (min-width: 30.1rem) {
  .l-grid--condensed > div {
    padding-left: 2.5rem;
  }
}

/* =============================================================================
// @name Masonry Component
// @description Positioning for Masonry plugin layout tiles.
// @group layouts
// @file src/sass/_partials/4-layouts/_layout.masonry.scss
// ========================================================================== */
.l-masonry-container .grid-stack.grid-stack-24 > .grid-stack-item {
  min-width: 4.1666666667%;
}

.l-masonry-container .grid-stack.grid-stack-24 > .grid-stack-item[data-gs-width='1'] {
  width: 4.1666666667%;
}

.l-masonry-container .grid-stack.grid-stack-24 > .grid-stack-item[data-gs-x='1'] {
  left: 4.1666666667%;
}

.l-masonry-container .grid-stack.grid-stack-24 > .grid-stack-item[data-gs-min-width='1'] {
  min-width: 4.1666666667%;
}

.l-masonry-container .grid-stack.grid-stack-24 > .grid-stack-item[data-gs-max-width='1'] {
  max-width: 4.1666666667%;
}

.l-masonry-container .grid-stack.grid-stack-24 > .grid-stack-item[data-gs-width='2'] {
  width: 8.3333333333%;
}

.l-masonry-container .grid-stack.grid-stack-24 > .grid-stack-item[data-gs-x='2'] {
  left: 8.3333333333%;
}

.l-masonry-container .grid-stack.grid-stack-24 > .grid-stack-item[data-gs-min-width='2'] {
  min-width: 8.3333333333%;
}

.l-masonry-container .grid-stack.grid-stack-24 > .grid-stack-item[data-gs-max-width='2'] {
  max-width: 8.3333333333%;
}

.l-masonry-container .grid-stack.grid-stack-24 > .grid-stack-item[data-gs-width='3'] {
  width: 12.5%;
}

.l-masonry-container .grid-stack.grid-stack-24 > .grid-stack-item[data-gs-x='3'] {
  left: 12.5%;
}

.l-masonry-container .grid-stack.grid-stack-24 > .grid-stack-item[data-gs-min-width='3'] {
  min-width: 12.5%;
}

.l-masonry-container .grid-stack.grid-stack-24 > .grid-stack-item[data-gs-max-width='3'] {
  max-width: 12.5%;
}

.l-masonry-container .grid-stack.grid-stack-24 > .grid-stack-item[data-gs-width='4'] {
  width: 16.6666666667%;
}

.l-masonry-container .grid-stack.grid-stack-24 > .grid-stack-item[data-gs-x='4'] {
  left: 16.6666666667%;
}

.l-masonry-container .grid-stack.grid-stack-24 > .grid-stack-item[data-gs-min-width='4'] {
  min-width: 16.6666666667%;
}

.l-masonry-container .grid-stack.grid-stack-24 > .grid-stack-item[data-gs-max-width='4'] {
  max-width: 16.6666666667%;
}

.l-masonry-container .grid-stack.grid-stack-24 > .grid-stack-item[data-gs-width='5'] {
  width: 20.8333333333%;
}

.l-masonry-container .grid-stack.grid-stack-24 > .grid-stack-item[data-gs-x='5'] {
  left: 20.8333333333%;
}

.l-masonry-container .grid-stack.grid-stack-24 > .grid-stack-item[data-gs-min-width='5'] {
  min-width: 20.8333333333%;
}

.l-masonry-container .grid-stack.grid-stack-24 > .grid-stack-item[data-gs-max-width='5'] {
  max-width: 20.8333333333%;
}

.l-masonry-container .grid-stack.grid-stack-24 > .grid-stack-item[data-gs-width='6'] {
  width: 25%;
}

.l-masonry-container .grid-stack.grid-stack-24 > .grid-stack-item[data-gs-x='6'] {
  left: 25%;
}

.l-masonry-container .grid-stack.grid-stack-24 > .grid-stack-item[data-gs-min-width='6'] {
  min-width: 25%;
}

.l-masonry-container .grid-stack.grid-stack-24 > .grid-stack-item[data-gs-max-width='6'] {
  max-width: 25%;
}

.l-masonry-container .grid-stack.grid-stack-24 > .grid-stack-item[data-gs-width='7'] {
  width: 29.1666666667%;
}

.l-masonry-container .grid-stack.grid-stack-24 > .grid-stack-item[data-gs-x='7'] {
  left: 29.1666666667%;
}

.l-masonry-container .grid-stack.grid-stack-24 > .grid-stack-item[data-gs-min-width='7'] {
  min-width: 29.1666666667%;
}

.l-masonry-container .grid-stack.grid-stack-24 > .grid-stack-item[data-gs-max-width='7'] {
  max-width: 29.1666666667%;
}

.l-masonry-container .grid-stack.grid-stack-24 > .grid-stack-item[data-gs-width='8'] {
  width: 33.3333333333%;
}

.l-masonry-container .grid-stack.grid-stack-24 > .grid-stack-item[data-gs-x='8'] {
  left: 33.3333333333%;
}

.l-masonry-container .grid-stack.grid-stack-24 > .grid-stack-item[data-gs-min-width='8'] {
  min-width: 33.3333333333%;
}

.l-masonry-container .grid-stack.grid-stack-24 > .grid-stack-item[data-gs-max-width='8'] {
  max-width: 33.3333333333%;
}

.l-masonry-container .grid-stack.grid-stack-24 > .grid-stack-item[data-gs-width='9'] {
  width: 37.5%;
}

.l-masonry-container .grid-stack.grid-stack-24 > .grid-stack-item[data-gs-x='9'] {
  left: 37.5%;
}

.l-masonry-container .grid-stack.grid-stack-24 > .grid-stack-item[data-gs-min-width='9'] {
  min-width: 37.5%;
}

.l-masonry-container .grid-stack.grid-stack-24 > .grid-stack-item[data-gs-max-width='9'] {
  max-width: 37.5%;
}

.l-masonry-container .grid-stack.grid-stack-24 > .grid-stack-item[data-gs-width='10'] {
  width: 41.6666666667%;
}

.l-masonry-container .grid-stack.grid-stack-24 > .grid-stack-item[data-gs-x='10'] {
  left: 41.6666666667%;
}

.l-masonry-container .grid-stack.grid-stack-24 > .grid-stack-item[data-gs-min-width='10'] {
  min-width: 41.6666666667%;
}

.l-masonry-container .grid-stack.grid-stack-24 > .grid-stack-item[data-gs-max-width='10'] {
  max-width: 41.6666666667%;
}

.l-masonry-container .grid-stack.grid-stack-24 > .grid-stack-item[data-gs-width='11'] {
  width: 45.8333333333%;
}

.l-masonry-container .grid-stack.grid-stack-24 > .grid-stack-item[data-gs-x='11'] {
  left: 45.8333333333%;
}

.l-masonry-container .grid-stack.grid-stack-24 > .grid-stack-item[data-gs-min-width='11'] {
  min-width: 45.8333333333%;
}

.l-masonry-container .grid-stack.grid-stack-24 > .grid-stack-item[data-gs-max-width='11'] {
  max-width: 45.8333333333%;
}

.l-masonry-container .grid-stack.grid-stack-24 > .grid-stack-item[data-gs-width='12'] {
  width: 50%;
}

.l-masonry-container .grid-stack.grid-stack-24 > .grid-stack-item[data-gs-x='12'] {
  left: 50%;
}

.l-masonry-container .grid-stack.grid-stack-24 > .grid-stack-item[data-gs-min-width='12'] {
  min-width: 50%;
}

.l-masonry-container .grid-stack.grid-stack-24 > .grid-stack-item[data-gs-max-width='12'] {
  max-width: 50%;
}

.l-masonry-container .grid-stack.grid-stack-24 > .grid-stack-item[data-gs-width='13'] {
  width: 54.1666666667%;
}

.l-masonry-container .grid-stack.grid-stack-24 > .grid-stack-item[data-gs-x='13'] {
  left: 54.1666666667%;
}

.l-masonry-container .grid-stack.grid-stack-24 > .grid-stack-item[data-gs-min-width='13'] {
  min-width: 54.1666666667%;
}

.l-masonry-container .grid-stack.grid-stack-24 > .grid-stack-item[data-gs-max-width='13'] {
  max-width: 54.1666666667%;
}

.l-masonry-container .grid-stack.grid-stack-24 > .grid-stack-item[data-gs-width='14'] {
  width: 58.3333333333%;
}

.l-masonry-container .grid-stack.grid-stack-24 > .grid-stack-item[data-gs-x='14'] {
  left: 58.3333333333%;
}

.l-masonry-container .grid-stack.grid-stack-24 > .grid-stack-item[data-gs-min-width='14'] {
  min-width: 58.3333333333%;
}

.l-masonry-container .grid-stack.grid-stack-24 > .grid-stack-item[data-gs-max-width='14'] {
  max-width: 58.3333333333%;
}

.l-masonry-container .grid-stack.grid-stack-24 > .grid-stack-item[data-gs-width='15'] {
  width: 62.5%;
}

.l-masonry-container .grid-stack.grid-stack-24 > .grid-stack-item[data-gs-x='15'] {
  left: 62.5%;
}

.l-masonry-container .grid-stack.grid-stack-24 > .grid-stack-item[data-gs-min-width='15'] {
  min-width: 62.5%;
}

.l-masonry-container .grid-stack.grid-stack-24 > .grid-stack-item[data-gs-max-width='15'] {
  max-width: 62.5%;
}

.l-masonry-container .grid-stack.grid-stack-24 > .grid-stack-item[data-gs-width='16'] {
  width: 66.6666666667%;
}

.l-masonry-container .grid-stack.grid-stack-24 > .grid-stack-item[data-gs-x='16'] {
  left: 66.6666666667%;
}

.l-masonry-container .grid-stack.grid-stack-24 > .grid-stack-item[data-gs-min-width='16'] {
  min-width: 66.6666666667%;
}

.l-masonry-container .grid-stack.grid-stack-24 > .grid-stack-item[data-gs-max-width='16'] {
  max-width: 66.6666666667%;
}

.l-masonry-container .grid-stack.grid-stack-24 > .grid-stack-item[data-gs-width='17'] {
  width: 70.8333333333%;
}

.l-masonry-container .grid-stack.grid-stack-24 > .grid-stack-item[data-gs-x='17'] {
  left: 70.8333333333%;
}

.l-masonry-container .grid-stack.grid-stack-24 > .grid-stack-item[data-gs-min-width='17'] {
  min-width: 70.8333333333%;
}

.l-masonry-container .grid-stack.grid-stack-24 > .grid-stack-item[data-gs-max-width='17'] {
  max-width: 70.8333333333%;
}

.l-masonry-container .grid-stack.grid-stack-24 > .grid-stack-item[data-gs-width='18'] {
  width: 75%;
}

.l-masonry-container .grid-stack.grid-stack-24 > .grid-stack-item[data-gs-x='18'] {
  left: 75%;
}

.l-masonry-container .grid-stack.grid-stack-24 > .grid-stack-item[data-gs-min-width='18'] {
  min-width: 75%;
}

.l-masonry-container .grid-stack.grid-stack-24 > .grid-stack-item[data-gs-max-width='18'] {
  max-width: 75%;
}

.l-masonry-container .grid-stack.grid-stack-24 > .grid-stack-item[data-gs-width='19'] {
  width: 79.1666666667%;
}

.l-masonry-container .grid-stack.grid-stack-24 > .grid-stack-item[data-gs-x='19'] {
  left: 79.1666666667%;
}

.l-masonry-container .grid-stack.grid-stack-24 > .grid-stack-item[data-gs-min-width='19'] {
  min-width: 79.1666666667%;
}

.l-masonry-container .grid-stack.grid-stack-24 > .grid-stack-item[data-gs-max-width='19'] {
  max-width: 79.1666666667%;
}

.l-masonry-container .grid-stack.grid-stack-24 > .grid-stack-item[data-gs-width='20'] {
  width: 83.3333333333%;
}

.l-masonry-container .grid-stack.grid-stack-24 > .grid-stack-item[data-gs-x='20'] {
  left: 83.3333333333%;
}

.l-masonry-container .grid-stack.grid-stack-24 > .grid-stack-item[data-gs-min-width='20'] {
  min-width: 83.3333333333%;
}

.l-masonry-container .grid-stack.grid-stack-24 > .grid-stack-item[data-gs-max-width='20'] {
  max-width: 83.3333333333%;
}

.l-masonry-container .grid-stack.grid-stack-24 > .grid-stack-item[data-gs-width='21'] {
  width: 87.5%;
}

.l-masonry-container .grid-stack.grid-stack-24 > .grid-stack-item[data-gs-x='21'] {
  left: 87.5%;
}

.l-masonry-container .grid-stack.grid-stack-24 > .grid-stack-item[data-gs-min-width='21'] {
  min-width: 87.5%;
}

.l-masonry-container .grid-stack.grid-stack-24 > .grid-stack-item[data-gs-max-width='21'] {
  max-width: 87.5%;
}

.l-masonry-container .grid-stack.grid-stack-24 > .grid-stack-item[data-gs-width='22'] {
  width: 91.6666666667%;
}

.l-masonry-container .grid-stack.grid-stack-24 > .grid-stack-item[data-gs-x='22'] {
  left: 91.6666666667%;
}

.l-masonry-container .grid-stack.grid-stack-24 > .grid-stack-item[data-gs-min-width='22'] {
  min-width: 91.6666666667%;
}

.l-masonry-container .grid-stack.grid-stack-24 > .grid-stack-item[data-gs-max-width='22'] {
  max-width: 91.6666666667%;
}

.l-masonry-container .grid-stack.grid-stack-24 > .grid-stack-item[data-gs-width='23'] {
  width: 95.8333333333%;
}

.l-masonry-container .grid-stack.grid-stack-24 > .grid-stack-item[data-gs-x='23'] {
  left: 95.8333333333%;
}

.l-masonry-container .grid-stack.grid-stack-24 > .grid-stack-item[data-gs-min-width='23'] {
  min-width: 95.8333333333%;
}

.l-masonry-container .grid-stack.grid-stack-24 > .grid-stack-item[data-gs-max-width='23'] {
  max-width: 95.8333333333%;
}

.l-masonry-container .grid-stack.grid-stack-24 > .grid-stack-item[data-gs-width='24'] {
  width: 100%;
}

.l-masonry-container .grid-stack.grid-stack-24 > .grid-stack-item[data-gs-x='24'] {
  left: 100%;
}

.l-masonry-container .grid-stack.grid-stack-24 > .grid-stack-item[data-gs-min-width='24'] {
  min-width: 100%;
}

.l-masonry-container .grid-stack.grid-stack-24 > .grid-stack-item[data-gs-max-width='24'] {
  max-width: 100%;
}

.l-masonry {
  max-width: 660px;
  margin-right: -10px;
  margin-left: -10px;
}

.l-masonry--editable {
  position: relative;
}

.l-masonry--editable .grid-stack-editable-container {
  position: absolute;
  top: 0;
  right: 10px;
  bottom: 0;
  left: 10px;
  overflow: hidden;
  height: 100% !important;
  pointer-events: none;
}

.l-masonry--editable .grid-stack-editable-container .grid-stack-item--lines {
  height: 100% !important;
  background-image: linear-gradient(to right, #fff 0%, #fff 40%, rgba(179, 179, 179, 0.5) 41%, rgba(179, 179, 179, 0.5) 59%, #fff 60%, #fff 100%);
}

.l-masonry--editable.grid-stack .grid-stack-placeholder > .placeholder-content {
  border: 3px dashed #b3b3b3 !important;
}

.l-masonry--editable .l-masonry__item:hover .l-masonry__edit-link {
  display: block;
}

.l-masonry--editable .l-masonry__item:hover .l-masonry__content::before, .l-masonry--editable .l-masonry__item:hover .l-masonry__content::after {
  display: block;
  content: '';
}

.l-masonry__content {
  overflow: hidden !important;
  width: 100%;
  height: 100%;
  background-position: center;
  background-size: cover;
}

.l-masonry__content::before, .l-masonry__content::after {
  position: absolute;
  z-index: 1;
  bottom: 0;
  display: none;
  width: 1.25rem;
  height: 1.25rem;
  content: none;
  background-color: #fff;
}

.l-masonry__content::before {
  left: 0;
}

.l-masonry__content::after {
  right: 0;
}

.l-masonry__edit-link {
  display: none;
  margin-top: 0.3125rem;
}

.l-masonry__edit-link a {
  padding: 0.625rem;
  text-decoration: underline;
  color: #fff;
  background-color: #000;
}

/* =============================================================================
// @name Media Layout
// @description Standard media object layout.
// @group layouts
// @file src/sass/_partials/4-layout/_layout.media.scss
// ========================================================================== */
.l-media .l-media__figure {
  margin-bottom: 1.25rem;
}

@media (min-width: 25.1rem) {
  .l-media--xs {
    padding-bottom: 1.25rem;
  }
  .l-media--xs::before, .l-media--xs::after {
    display: table;
    content: "";
  }
  .l-media--xs::after {
    clear: both;
  }
  .l-media--xs .l-media__figure {
    float: left;
    margin-right: 1.25rem;
    margin-bottom: 0.625rem;
  }
  .l-media--xs .l-media__figure a,
  .l-media--xs .l-media__figure .picture {
    display: block;
  }
  .l-media--xs .l-media__body > *:last-child {
    margin-bottom: 0;
  }
}

@media (min-width: 30.1rem) {
  .l-media--sm {
    padding-bottom: 1.25rem;
  }
  .l-media--sm::before, .l-media--sm::after {
    display: table;
    content: "";
  }
  .l-media--sm::after {
    clear: both;
  }
  .l-media--sm .l-media__figure {
    float: left;
    margin-right: 1.25rem;
    margin-bottom: 0.625rem;
  }
  .l-media--sm .l-media__figure a,
  .l-media--sm .l-media__figure .picture {
    display: block;
  }
  .l-media--sm .l-media__body > *:last-child {
    margin-bottom: 0;
  }
}

@media (min-width: 47.6rem) {
  .l-media--md {
    padding-bottom: 1.25rem;
  }
  .l-media--md::before, .l-media--md::after {
    display: table;
    content: "";
  }
  .l-media--md::after {
    clear: both;
  }
  .l-media--md .l-media__figure {
    float: left;
    margin-right: 1.25rem;
    margin-bottom: 0.625rem;
  }
  .l-media--md .l-media__figure a,
  .l-media--md .l-media__figure .picture {
    display: block;
  }
  .l-media--md .l-media__body > *:last-child {
    margin-bottom: 0;
  }
}

/* =============================================================================
// @name Nav Layout
// @description Objects for main site navigation.
// @group layouts
// @file src/sass/_partials/4-layout/_layout.nav.scss
// ========================================================================== */
/* =============================================================================
// @name Page Layout
// @description Overall site section layout.
// @group layouts
// @file src/sass/_partials/4-layout/_layout.page.scss
// ========================================================================== */
.l-page__inner {
  clear: both;
  max-width: 65rem;
  margin-right: auto;
  margin-left: auto;
  padding-right: 1.25rem;
  padding-left: 1.25rem;
}

.l-page__header,
.l-page__navigation,
.l-page__footer {
  background-color: #000;
}

.l-page__navigation::before, .l-page__navigation::after {
  display: table;
  content: "";
}

.l-page__navigation::after {
  clear: both;
}

.l-page__sub-navigation {
  display: none;
  padding: 0.9375rem 0;
  border-bottom: 1px solid #e8e8e8;
}

@media (min-width: 47.6rem) {
  .l-page__sub-navigation {
    display: block;
  }
}

.l-page__header {
  padding: 1.25rem 0;
}

.l-page__primary {
  padding: 1.25rem 0;
}

.l-page__main {
  min-height: 1px;
  padding: 0 1.25rem;
}

.l-page__sidebar {
  min-height: 1px;
  padding: 0 1.25rem;
}

.l-page--has-sidebar-second .l-region--sidebar-second__inner > .box--bordered {
  padding-bottom: 0;
}

.l-page--has-sidebar-second .l-region--sidebar-second__inner > * + * {
  margin-top: 2.5rem;
  padding-top: 2.5rem;
  border-top: 2px solid #b3b3b3;
}

.l-page__footer {
  padding: 2.5rem 0 1.875rem 0;
}

.l-region--sub-navigation__inner {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-between;
          justify-content: space-between;
  -webkit-align-items: center;
          align-items: center;
}

@media (min-width: 47.6rem) {
  .l-page__primary {
    position: relative;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
            flex-wrap: wrap;
  }
  .l-page__sidebar--first {
    -webkit-flex-basis: 25%;
            flex-basis: 25%;
    max-width: 25%;
    padding: 0 0 0 1.25rem;
  }
  .l-page__main {
    -webkit-flex-grow: 1;
            flex-grow: 1;
    -webkit-flex-basis: 75%;
            flex-basis: 75%;
    max-width: 75%;
    padding: 0 1.25rem;
  }
  .l-page--no-sidebars .l-page__main {
    max-width: 40rem;
    margin-right: auto;
    margin-left: auto;
  }
  .l-page--has-sidebar-second .l-page__sidebar--second {
    -webkit-flex-basis: 100%;
            flex-basis: 100%;
    max-width: 100%;
    padding: 0 1.25rem;
  }
  .l-page--has-sidebar-second .l-region--sidebar-second__inner {
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
            flex-wrap: wrap;
    margin-left: 25%;
  }
  .l-page--has-sidebar-second .l-region--sidebar-second__inner > * {
    -webkit-flex-basis: 50%;
            flex-basis: 50%;
    max-width: 50%;
    padding: 0.625rem;
  }
  .l-page--has-sidebar-second:not(.l-page--has-sidebar-first) .l-region--sidebar-second__inner {
    margin-left: -0.625rem;
  }
  .l-page--has-sidebar-first .l-page__sidebar--first {
    -webkit-order: -1;
            order: -1;
  }
  .l-region--footer__inner {
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
            flex-wrap: wrap;
    -webkit-justify-content: space-between;
            justify-content: space-between;
  }
  .block--footer-menu {
    -webkit-flex-basis: 70%;
            flex-basis: 70%;
    max-width: 70%;
  }
  .block--footer-share-links {
    -webkit-flex-basis: 30%;
            flex-basis: 30%;
    max-width: 30%;
    padding-left: 2.5rem;
  }
  .block--footer-links {
    -webkit-flex-basis: 100%;
            flex-basis: 100%;
    max-width: 100%;
  }
}

@media (min-width: 55.1rem) {
  .l-page__primary {
    padding-top: 2.5rem;
  }
}

@media (min-width: 62.6rem) {
  .l-page__main {
    -webkit-flex-basis: 80%;
            flex-basis: 80%;
    max-width: 80%;
    padding: 0 1.25rem;
  }
  .l-page--has-sidebar-first .l-page__sidebar--first {
    -webkit-flex-basis: 20%;
            flex-basis: 20%;
    max-width: 20%;
    padding: 0 0 0 1.25rem;
  }
  .l-page--has-sidebar-first:not(.l-page--has-sidebar-second) .l-page__main {
    -webkit-flex-basis: 80%;
            flex-basis: 80%;
    max-width: 40rem;
  }
  .l-page--has-sidebar-second .l-page__main {
    -webkit-flex-basis: 55%;
            flex-basis: 55%;
    max-width: 55%;
  }
  .l-page--has-sidebar-second:not(.l-page--has-sidebar-first) .l-page__main {
    margin-left: 20%;
  }
  .l-page--has-sidebar-second:not(.l-page--has-sidebar-first) .l-region--sidebar-second__inner {
    margin-left: 0;
  }
  .l-page--has-sidebar-second .l-page__sidebar--second {
    -webkit-flex-basis: 25%;
            flex-basis: 25%;
    max-width: 25%;
    margin-left: 0;
    padding: 0 1.25rem 0 0;
  }
  .l-page--has-sidebar-second .l-region--sidebar-second__inner {
    display: block;
    margin-left: 0;
  }
  .l-page--has-sidebar-second .l-region--sidebar-second__inner > * {
    -webkit-flex-basis: 100%;
            flex-basis: 100%;
    max-width: 100%;
    padding: 0;
  }
  .l-page--has-sidebar-second .l-region--sidebar-second__inner > * + * {
    margin-top: 2.5rem;
    padding-top: 1.25rem;
    border-top: 2px solid #b3b3b3;
  }
}

@media (min-width: 62.6rem) {
  .l-page.l-page--records-research--project-search .l-page__main, .l-page.l-page--node--22183 .l-page__main, .l-page[class*='l-page--about-cfa--design-topics'] .l-page__main, .l-page[class*='l-page--content--design-topics'] .l-page__main {
    -webkit-flex-basis: 80%;
            flex-basis: 80%;
    max-width: 80%;
  }
  .l-page.l-page--news .l-page__main {
    -webkit-flex-basis: 62.5%;
            flex-basis: 62.5%;
    max-width: 62.5%;
    margin-left: 12.5%;
  }
}

/* =============================================================================
// @name Accordion Component
// @description Styling for a show/hide accordion component.
// @group components
// @file src/sass/_partials/5-components/_component.accordion.scss
// ========================================================================== */
/* =============================================================================
// @name Alert Banner Component
// @description Styling for sitewide alert banners.
// @group components
// @file src/sass/_partials/5-components/_component.alert-banner.scss
// ========================================================================== */
/* stylelint-disable selector-max-type */
.alert-banner {
  color: #fff;
  background-color: #db0000;
}

.alert-banner .views__content {
  clear: both;
  max-width: 65rem;
  margin-right: auto;
  margin-left: auto;
  padding-right: 1.25rem;
  padding-left: 1.25rem;
  padding: 0.625rem 1.25rem;
}

@media (min-width: 47.6rem) {
  .alert-banner .views__content {
    padding: 0.625rem 1.875rem;
  }
}

@media (min-width: 55.1rem) {
  .alert-banner .views__content {
    padding: 0.625rem 2.5rem;
  }
}

@media (min-width: 62.6rem) {
  .alert-banner .views__content {
    padding: 0.625rem 3.125rem;
  }
}

.alert-banner__title {
  margin: 0;
  text-transform: uppercase;
}

.alert-banner__title::before {
  display: inline-block;
  width: 14px;
  height: 14px;
  margin-right: 0.3125rem;
  content: ''; background-image: url(../../assets/images/sprites/icons.png); background-position: -208px -68px;
}

@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi), (min-resolution: 2dppx) {
  .alert-banner__title::before { background-image: url(../../assets/images/sprites/icons@2x.png); background-position: -34px -160px; background-size: 216px 174px;
  }
}

.alert-banner__body > * {
  margin-bottom: 0;
}

.alert-banner__body a,
.alert-banner__link {
  text-decoration: underline;
  color: #fff;
}

.alert-banner__body a:link, .alert-banner__body a:visited, .alert-banner__body a:active,
.alert-banner__link:link,
.alert-banner__link:visited,
.alert-banner__link:active {
  color: #fff;
}

.alert-banner__body a:hover, .alert-banner__body a:focus,
.alert-banner__link:hover,
.alert-banner__link:focus {
  color: #ffca0a;
}

/* =============================================================================
// @name Alert Component
// @description Styling for Drupal alert messages.
// @group components
// @file src/sass/_partials/5-components/_component.alert.scss
// @template misc/status-messages.html.twig
// ========================================================================== */
.alert {
  position: relative;
  display: block;
  margin-bottom: 1.25rem;
  padding: 1.25rem 1.25rem 1.25rem 5rem;
  border: 1px solid #be7;
}

.alert::before {
  position: absolute;
  left: 1.25rem;
  content: '';
}

.alert--status {
  color: #234600;
  border-color: #be7;
  background-color: #f8fff0;
}

.alert--status::before {
  width: 24px;
  height: 24px; background-image: url(../../assets/images/sprites/icons.png); background-position: -164px -44px;
}

.alert--warning {
  color: #840;
  border-color: #ed5;
  background-color: #fffce5;
}

.alert--warning::before {
  width: 24px;
  height: 24px; background-image: url(../../assets/images/sprites/icons.png); background-position: -44px -120px;
}

.alert--error {
  color: #8c2e0b;
  border-color: #ed541d;
  background-color: #fef5f1;
}

.alert--error::before {
  width: 24px;
  height: 24px; background-image: url(../../assets/images/sprites/icons.png); background-position: 0 -120px;
}

.alert__list {
  padding: 0;
  list-style: none;
}

/* =============================================================================
// @name Avatar Component
// @description Styling a user avatar photo.
// @group components
// @file src/sass/_partials/5-components/_component.avatar.scss
// ========================================================================== */
/* =============================================================================
// @name Badge Component
// @description Styling for a badge marker to emphasise a number or state.
// @group components
// @file src/sass/_partials/5-components/_component.badge.scss
// ========================================================================== */
/* =============================================================================
// @name Box Component
// @description Styling for rectagular styled block of content with an
//              optional header.
// @group components
// @file src/sass/_partials/5-components/_component.box.scss
// ========================================================================== */
.box {
  margin-top: 0.3125rem;
}

.box .block__title {
  margin-bottom: 0.9375rem;
  text-transform: uppercase;
  font-size: 1rem;
}

.box--bordered {
  padding-bottom: 0.625rem;
}

.box--highlighted {
  padding-top: 1.25rem;
  background-color: #ffca0a;
}

.box--highlighted .block__header {
  margin: 0 2.5rem 0 0;
  padding: 0.3125rem 1.25rem;
  background-color: #000;
}

.box--highlighted .block__title {
  margin: 0;
  color: #fff;
}

.box--highlighted .block__content {
  padding: 1.25rem;
}

.box--highlighted .form-item__description {
  color: #000;
}

/* =============================================================================
// @name Branding Component
// @description Styling for a sites branding logo and slogan.
// @group components
// @file src/sass/_partials/5-components/_component.branding.scss
// ========================================================================== */
.brand {
  margin: 0;
}

.brand__link {
  display: block;
}

@media (min-width: 47.6rem) {
  .brand__link {
    width: 470px;
  }
}

/* =============================================================================
// @name Breadcrumb Component
// @description Nav component to display a list of breadcrumb links.
// @group components
// @file src/sass/_partials/5-components/_component.breadcrumb.scss
// ========================================================================== */
.block--breadcrumbs {
  position: relative;
  -webkit-flex-basis: calc(100% - 150px);
          flex-basis: calc(100% - 150px);
  max-width: calc(100% - 150px);
}

.block--breadcrumbs::after {
  position: absolute;
  z-index: 1;
  top: 0;
  right: 0;
  bottom: 0;
  left: auto;
  display: block;
  width: 50px;
  content: '';
  background-image: linear-gradient(to right, rgba(255, 255, 255, 0) 0%, #fff 100%);
}

.breadcrumb {
  display: -webkit-flex;
  display: flex;
  overflow: hidden;
  -webkit-align-items: center;
          align-items: center;
}

.breadcrumb__item:not(:last-of-type) {
  margin-right: 0.3125rem;
  text-transform: uppercase;
}

.breadcrumb__item:not(:last-of-type)::after {
  margin-left: 0.3125rem;
  content: '\00BB';
  color: #000;
}

.breadcrumb__link {
  color: #000;
  background-color: transparent;
}

.breadcrumb__link:link, .breadcrumb__link:visited, .breadcrumb__link:hover, .breadcrumb__link:focus, .breadcrumb__link:active {
  color: #000;
  background-color: transparent;
}

.breadcrumb__text {
  white-space: nowrap;
  font-size: 0.75rem;
}

.breadcrumb__text--last {
  color: #666;
}

/* =============================================================================
// @name Button Component
// @description Form and link button component.
// @group components
// @file src/sass/_partials/5-components/_component.button.scss
// ========================================================================== */
.button {
  display: inline-block;
  padding: 0.625rem 1.25rem;
  transition: background-color 0.1s ease-in-out;
  text-align: center;
  text-transform: uppercase;
  color: #fff;
  border: none;
  border-radius: 0;
  font-size: 0.875rem;
}

.button:link, .button:visited, .button:hover, .button:focus, .button:active {
  color: #fff;
}

.button--primary {
  background-color: #db0000;
}

.button--primary:hover {
  background-color: #000;
}

.button--primary.button--primary:link, .button--primary.button--primary:visited, .button--primary.button--primary:focus, .button--primary.button--primary:active {
  color: #fff;
  background-color: #db0000;
}

.button--primary.button--primary:hover {
  color: #fff;
  background-color: #000;
}

.touchevents .button--primary.button--no-touch-hover:hover {
  background-color: #db0000;
}

.button--secondary {
  background-color: #000;
}

.button--secondary:hover {
  background-color: #000;
}

.button--secondary.button--secondary:link, .button--secondary.button--secondary:visited, .button--secondary.button--secondary:focus, .button--secondary.button--secondary:active {
  color: #fff;
  background-color: #000;
}

.button--secondary.button--secondary:hover {
  color: #fff;
  background-color: #000;
}

.button--tertiary {
  color: #000;
  background-color: #666;
}

.button--tertiary:hover {
  background-color: #000;
}

.button--tertiary:link, .button--tertiary:visited, .button--tertiary:hover, .button--tertiary:focus, .button--tertiary:active {
  color: #000;
  background-color: #000;
}

.button--tertiary.button--tertiary:link, .button--tertiary.button--tertiary:visited, .button--tertiary.button--tertiary:focus, .button--tertiary.button--tertiary:active {
  color: #000;
  background-color: #000;
}

.button--tertiary.button--tertiary:hover {
  color: #000;
  background-color: #000;
}

.button--cta.button--cta {
  color: #fff;
  background-color: #000;
}

.button--cta.button--cta:link, .button--cta.button--cta:visited, .button--cta.button--cta:hover, .button--cta.button--cta:focus, .button--cta.button--cta:active {
  color: #fff;
  background-color: #000;
}

.button--bare {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  margin: 0;
  padding: 0;
  text-transform: none;
  border: none;
  background-color: transparent;
}

.button--expanded, .button--views-submit,
.button--submit,
.button--cta {
  display: block;
  width: 100%;
}

.button--views-submit,
.button--submit,
.button--cta {
  max-width: 220px;
  padding: 0.9375rem;
}

.l-region--sidebar-second .button--views-submit, .l-region--sidebar-second
.button--submit, .l-region--sidebar-second
.button--cta {
  max-width: 240px;
}

/* =============================================================================
// @name Calendar Component
// @description Styling for a calendar table.
// @group components
// @file src/sass/_partials/5-components/_component.calendar.scss
// ========================================================================== */
/* =============================================================================
// @name Caption Component
// @description Styling for a main content image caption.
// @group components
// @file src/sass/_partials/5-components/_component.caption.scss
// ========================================================================== */
figcaption,
.caption {
  margin: 0.625rem 0 1.25rem 0;
  padding: 0 2.5rem;
  color: #666;
}

figcaption .credit,
.caption .credit {
  font-style: italic;
}

.caption--no-padding {
  padding: 0;
}

.caption--flush-left {
  padding-left: 0;
}

.caption--flush-right {
  padding-right: 0;
}

.credit {
  color: #666;
  font-style: italic;
}

.inline-children {
  margin-bottom: 1.25rem;
}

.inline-children > *:last-child, .inline-children > *:nth-last-child(2) {
  display: inline;
  margin: 0;
}

/* =============================================================================
// @name Card Component
// @description Styling for a card component.
// @group components
// @file src/sass/_partials/5-components/_component.card.scss
// ========================================================================== */
/* =============================================================================
// @name Carousel Nav Component
// @description Styling for a carousel navigation/pager control group.
// @group components
// @file src/sass/_partials/5-components/_component.carousel-nav.scss
// ========================================================================== */
.carousel-nav {
  position: absolute;
  z-index: 200;
  right: 0;
  bottom: 0;
  left: 0;
  background-color: rgba(0, 0, 0, 0.8);
}

@media (min-width: 62.6rem) {
  .carousel-nav {
    top: 40%;
    bottom: auto;
    left: auto;
    width: 50%;
    background-color: rgba(0, 0, 0, 0.7);
  }
}

.carousel-nav__header {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-between;
          justify-content: space-between;
  -webkit-align-items: center;
          align-items: center;
  padding: 0.625rem 1.25rem;
}

@media (min-width: 30.1rem) {
  .carousel-nav__header {
    padding: 0.9375rem 1.25rem;
  }
}

@media (min-width: 62.6rem) {
  .carousel-nav__header {
    padding: 0.9375rem 1.25rem 0.625rem 1.25rem;
    background-color: #000;
  }
}

.carousel-nav__footer {
  display: none;
  padding: 0.15625rem 1.25rem;
}

@media (min-width: 47.6rem) {
  .carousel-nav__footer {
    display: block;
    display: -webkit-flex;
    display: flex;
    padding: 0.15625rem 1.25rem 0.625rem 1.25rem;
  }
}

@media (min-width: 62.6rem) {
  .carousel-nav__footer {
    padding: 0.15625rem 1.25rem;
  }
}

.carousel-nav__mobile-button {
  display: block;
  width: 30px;
  height: 30px;
  padding: 0;
  border: none;
  background-color: transparent;
}

@media (min-width: 47.6rem) {
  .carousel-nav__mobile-button {
    display: none;
  }
}

.carousel-nav__mobile-button.carousel-nav__mobile-button:link, .carousel-nav__mobile-button.carousel-nav__mobile-button:visited, .carousel-nav__mobile-button.carousel-nav__mobile-button:hover, .carousel-nav__mobile-button.carousel-nav__mobile-button:focus, .carousel-nav__mobile-button.carousel-nav__mobile-button:active {
  background-color: transparent;
}

.carousel-nav__mobile-button--previous {
  width: 24px;
  height: 30px; background-image: url(../../assets/images/sprites/icons.png); background-position: -120px -50px;
}

@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi), (min-resolution: 2dppx) {
  .carousel-nav__mobile-button--previous { background-image: url(../../assets/images/sprites/icons@2x.png); background-position: -120px -50px; background-size: 216px 174px;
  }
}

.carousel-nav__mobile-button--next {
  width: 24px;
  height: 30px; background-image: url(../../assets/images/sprites/icons.png); background-position: -120px 0;
}

@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi), (min-resolution: 2dppx) {
  .carousel-nav__mobile-button--next { background-image: url(../../assets/images/sprites/icons@2x.png); background-position: -120px 0; background-size: 216px 174px;
  }
}

.carousel-nav__name {
  text-transform: uppercase;
  color: #fff;
  font-size: 0.75rem;
}

@media (min-width: 30.1rem) {
  .carousel-nav__name {
    font-size: 0.875rem;
  }
}

.carousel-nav__caption {
  position: relative;
  text-align: left;
}

.carousel-nav__caption-link.carousel-nav__caption-link {
  display: block;
  text-transform: uppercase;
  color: #ffca0a;
  font-size: 1rem;
}

.carousel-nav__caption-link.carousel-nav__caption-link:link, .carousel-nav__caption-link.carousel-nav__caption-link:visited, .carousel-nav__caption-link.carousel-nav__caption-link:hover, .carousel-nav__caption-link.carousel-nav__caption-link:focus, .carousel-nav__caption-link.carousel-nav__caption-link:active {
  color: #ffca0a;
  background-color: transparent;
}

.carousel-nav__caption-link.carousel-nav__caption-link:hover {
  color: #fff;
}

.carousel-nav__caption-link.carousel-nav__caption-link::after {
  margin-left: 0.3125rem;
  content: '\203A';
}

@media (min-width: 30.1rem) {
  .carousel-nav__caption-link.carousel-nav__caption-link {
    font-size: 2rem;
  }
}

.carousel-nav__controls {
  display: -webkit-inline-flex;
  display: inline-flex;
  -webkit-align-items: center;
          align-items: center;
  padding: 0.3125rem 1.25rem 0.3125rem 0;
  border-right: 2px solid #666;
}

@media (min-width: 30.1rem) {
  .carousel-nav__controls {
    padding-bottom: 0.46875rem;
  }
}

.carousel-nav__button {
  display: block;
  width: 14px;
  height: 14px;
  padding: 0;
  border: none;
  background-color: transparent;
}

.carousel-nav__button.carousel-nav__button:link, .carousel-nav__button.carousel-nav__button:visited, .carousel-nav__button.carousel-nav__button:hover, .carousel-nav__button.carousel-nav__button:focus, .carousel-nav__button.carousel-nav__button:active {
  background-color: transparent;
}

.carousel-nav__button:not(:last-of-type) {
  margin-right: 0.625rem;
}

.carousel-nav__button--previous {
  width: 10px;
  height: 14px; background-image: url(../../assets/images/sprites/icons.png); background-position: 0 -204px;
}

@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi), (min-resolution: 2dppx) {
  .carousel-nav__button--previous { background-image: url(../../assets/images/sprites/icons@2x.png); background-position: -204px -70px; background-size: 216px 174px;
  }
}

.carousel-nav__button--next {
  width: 10px;
  height: 14px; background-image: url(../../assets/images/sprites/icons.png); background-position: -132px -120px;
}

@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi), (min-resolution: 2dppx) {
  .carousel-nav__button--next { background-image: url(../../assets/images/sprites/icons@2x.png); background-position: -204px -35px; background-size: 216px 174px;
  }
}

.carousel-nav__button--play,
.carousel-nav__button--pause {
  margin-right: 1.25rem;
  margin-left: 1.25rem;
}

.carousel-nav__button--play {
  width: 14px;
  height: 14px; background-image: url(../../assets/images/sprites/icons.png); background-position: -208px -102px;
}

@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi), (min-resolution: 2dppx) {
  .carousel-nav__button--play { background-image: url(../../assets/images/sprites/icons@2x.png); background-position: -204px 0; background-size: 216px 174px;
  }
}

.carousel-nav__button--pause {
  width: 14px;
  height: 14px; background-image: url(../../assets/images/sprites/icons.png); background-position: -208px -34px;
}

@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi), (min-resolution: 2dppx) {
  .carousel-nav__button--pause { background-image: url(../../assets/images/sprites/icons@2x.png); background-position: 0 -160px; background-size: 216px 174px;
  }
}

.carousel-nav__pager {
  display: -webkit-inline-flex;
  display: inline-flex;
  -webkit-align-items: center;
          align-items: center;
}

.carousel-nav__pager-button {
  display: block;
  width: 0.78125rem;
  height: 0.78125rem;
  margin-left: 1.25rem;
  padding: 0;
  border: none;
  border-radius: 50%;
  background-color: #b3b3b3;
}

.carousel-nav__pager-button:hover {
  background-color: #fff;
}

.carousel-nav__pager-button--active {
  background-color: #db0000;
}

/* =============================================================================
// @name Carousel Component
// @description Styling for a photo or content slider that cycles through each
//              content item.
// @group components
// @file src/sass/_partials/5-components/_component.carousel.scss
// ========================================================================== */
@-webkit-keyframes fade-in {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes fade-in {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

.carousel-container {
  position: relative;
  background-color: #000;
}

.carousel--hidden {
  -webkit-animation-play-state: paused;
          animation-play-state: paused;
}

.carousel {
  max-height: 100vh;
  margin: 0;
  padding: 0;
  list-style: none;
  -webkit-animation-name: fade-in;
          animation-name: fade-in;
  -webkit-animation-duration: 4s;
          animation-duration: 4s;
  -webkit-animation-play-state: running;
          animation-play-state: running;
  -webkit-animation-delay: 0.5s;
          animation-delay: 0.5s;
  -webkit-animation-iteration-count: 1;
          animation-iteration-count: 1;
}

.carousel__slide {
  margin: 0;
  padding: 0;
}

.carousel__link,
.carousel__img {
  display: block;
}

.carousel__link.carousel__link:hover {
  background-color: transparent;
}

.carousel__link .img,
.carousel__link .picture {
  display: block;
  width: 100%;
  object-fit: cover;
  font-family: "object-fit: cover";
}

/* =============================================================================
// @name Checkbox Component
// @description Styling for a standard checkbox input.
// @group components
// @file src/sass/_partials/5-components/_component.checkbox.scss
// ========================================================================== */
/* =============================================================================
// @name Chosen Component
// @description Styling for the custom form 'chosen' element which enhances
                the functionality of standard select form elements.
// @group components
// @file src/sass/_partials/5-components/_component.chosen.scss
// ========================================================================== */
.chosen-container {
  width: 100% !important;
}

.chosen-container .chosen-drop {
  left: -1px;
  width: calc(100% + 2px);
}

.chosen-container.chosen-container-single .chosen-single b {
  background-image: none !important;
}

.chosen-container.chosen-container-multi.chosen-container-multi {
  padding: 0.15625rem;
}

.chosen-container.chosen-container-multi.chosen-container-multi .chosen-choices {
  border: none;
  background-image: none;
}

.chosen-container.chosen-container-multi.chosen-container-multi.chosen-container-active .chosen-choices {
  box-shadow: none;
}

/* =============================================================================
// @name Comment Group Component
// @description Grouped comment styling component.
// @group components
// @file src/sass/_partials/5-components/_component.comment-group.scss
// ========================================================================== */
.comment-group {
  margin-bottom: 2.5rem;
}

.comment-group__title {
  margin-top: 2.5rem;
  margin-bottom: 1.875rem;
  padding-bottom: 0.625rem;
  text-transform: uppercase;
  font-size: 1rem;
}

.comment-group__form {
  padding-top: 2.5rem;
}

/* =============================================================================
// @name Comment Component
// @description Content comment styling component.
// @group components
// @file src/sass/_partials/5-components/_component.comment.scss
// ========================================================================== */
.comment {
  margin-bottom: 2.5rem;
}

.comment__submitted {
  margin-bottom: 0.625rem;
}

.comment__author {
  color: #db0000;
}

.comment__content > *:last-child {
  margin-bottom: 1.25rem;
}

.comment__links {
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
          flex-wrap: wrap;
  margin-top: 0.625rem;
  list-style: none;
  border-top: 1px solid #e8e8e8;
}

.comment__links .list__item {
  padding-top: 0.625rem;
}

.comment__links .list__item:not(:last-of-type) {
  margin-right: 1.25rem;
}

/* =============================================================================
// @name Content Menu Component
// @description Styling for menu links display in the main body content area.
                These are styled as a bulleted list of links.
// @group components
// @file src/sass/_partials/5-components/_component.content-menu.scss
// ========================================================================== */
.content-menu .menu,
.content-menu .menu__item {
  margin-bottom: 1.25rem;
  padding-left: 1.875rem;
  list-style-position: outside;
  list-style-type: disc;
  list-style-image: url('../../assets/images/icons/list-bullet.svg');
}

.content-menu .menu__item {
  margin-bottom: 0;
  padding-left: 0;
}

/* =============================================================================
// @name Details Component
// @description Styling for a show/hide details element component.
// @group components
// @file src/sass/_partials/5-components/_component.details.scss
// ========================================================================== */
.details {
  margin-bottom: 1.25rem;
}

.details + .details {
  padding-top: 1.25rem;
  border-top: 1px solid #b3b3b3;
}

.details__header {
  cursor: pointer;
  color: #000;
  font-size: 1rem;
  font-weight: 700;
}

.details__header[aria-expanded='true'] {
  color: #000;
}

.no-details .details__header {
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
          align-items: center;
  list-style: none;
}

.no-details .details__header::before {
  display: block;
  margin-right: 0.625rem;
  content: '';
  height: 0;
  width: 0;
  border-bottom: 0.3125rem solid transparent;
  border-left: 0.46875rem solid #000;
  border-top: 0.3125rem solid transparent;
}

.no-details .details__header[aria-expanded='true']::before {
  height: 0;
  width: 0;
  border-left: 0.3125rem solid transparent;
  border-right: 0.3125rem solid transparent;
  border-top: 0.46875rem solid #000;
}

.no-details .details__header[aria-expanded='true'] + .details__content {
  display: block;
}

.no-details a.details-title {
  display: block;
  color: #000;
  background-color: transparent;
}

.no-details a.details-title:link, .no-details a.details-title:visited, .no-details a.details-title:hover, .no-details a.details-title:focus, .no-details a.details-title:active {
  color: #000;
}

.details__content {
  margin-top: 1.25rem;
}

/* =============================================================================
// @name Dropdown Component
// @description Styling for a dropdown button.
// @group components
// @file src/sass/_partials/5-components/_component.dropdown.scss
// ========================================================================== */
/* =============================================================================
// @name Field Component
// @description Default themeing and style modifiers for Drupal fields.
// @group components
// @file src/sass/_partials/5-components/_component.field.scss
// ========================================================================== */
.field__label {
  color: #666;
}

.field__label::after {
  content: ':';
}

.field--label-inline {
  display: -webkit-flex;
  display: flex;
}

.field--label-inline .field__label {
  margin-right: 0.3125rem;
}

.field--label-inline .field__label::after {
  content: ':';
}

.field--label-bold .field__label {
  font-weight: 700;
}

.field--label-dark .field__label {
  color: #000;
}

.field--label-uppercase .field__label {
  text-transform: uppercase;
}

.field--no-inner-trailer > *:last-child {
  margin-bottom: 0;
}

.field--primary {
  margin-bottom: 1.25rem;
}

.field--primary .field__label {
  text-transform: uppercase;
  color: #000;
  font-weight: 700;
}

.field--field-source-information {
  color: #666;
  font-style: italic;
}

.field--hide-country .country {
  display: none;
}

/* =============================================================================
// @name Figure Component
// @description Styling for in-page figure images/captions.
// @group components
// @file src/sass/_partials/5-components/_component.figure.scss
// ========================================================================== */
.figure {
  display: table;
  margin-bottom: 1.25rem;
}

.figure__image {
  display: block;
}

.figure__image .img {
  display: block;
  width: 100%;
}

.figure__caption {
  margin: 0.625rem 0 1.25rem 0;
  padding: 0 2.5rem;
  color: #666;
  display: table-caption;
  margin-bottom: 0;
  caption-side: bottom;
}

.figure__caption--left {
  padding: 0;
}

.figure__caption-text,
.figure__caption-credit {
  display: inline;
}

.figure__caption-credit {
  font-style: italic;
}

/* =============================================================================
// @name Filter Guidelines Component
// @description Styling for CKEditor filter guidelines list block.
// @group components
// @file src/sass/_partials/5-components/_component.filter-guidelines.scss
// ========================================================================== */
.filter-guidelines__tips-list {
  margin-top: 1.25rem;
  padding-left: 1.25rem;
}

/* =============================================================================
// @name Footable Theme Library
// @description Footable library CSS theming that can't be done
// @group vendor
// @file src/sass/_partials/vendor/superfish/_component.footable.scss
// ========================================================================== */
/* stylelint-disable selector-max-type */
.footable-table {
  display: none;
}

.footable-table.footable-table--is-ready {
  display: table;
}

.footable-table > .table__body > .table__row.table__row--odd td {
  background-color: #eee;
}

.footable-table > .table__body > .table__row.table__row--even td {
  background-color: #fff;
}

.footable-table > .table__body > .table__row > .footable-first-visible {
  position: relative;
}

.footable-table.breakpoint-tiny td.footable-first-visible, .footable-table.breakpoint-small td.footable-first-visible {
  padding-left: 2.8125rem;
}

.footable-table .table__cell p {
  margin-bottom: 0;
}

.fooicon {
  position: absolute;
  left: 0;
  display: block;
  width: 24px;
  height: 24px;
  margin: auto 0.625rem;
}

.fooicon-plus { background-image: url(../../assets/images/sprites/icons.png); background-position: -88px -120px;
}

.fooicon-minus { background-image: url(../../assets/images/sprites/icons.png); background-position: -164px 0;
}

.footable-detail-row {
  background-color: #e8e8e8;
}

.footable-detail-row > td {
  padding: 0;
  border: none;
  border-top: 1px solid #b3b3b3;
}

.footable-details.footable-details {
  margin: 0;
  padding: 0.625rem;
  border: none;
}

.footable-details.footable-details .table__row * {
  display: inline !important;
}

.footable-details.footable-details td,
.footable-details.footable-details th {
  padding: 0;
  text-align: left;
  vertical-align: top;
  border: none;
  background-color: transparent;
}

.footable-details.footable-details th {
  text-transform: none;
  color: #000;
  border: none;
  font-weight: 700;
}

.footable-details.footable-details th::after {
  padding-right: 0.3125rem;
  padding-left: 0.3125rem;
  content: ':';
  font-weight: 400;
}

/* =============================================================================
// @name Footer Links
// @description Styling for required Government links at the bottom of
every page.
// @group components
// @file src/sass/_partials/5-components/_component.footer-links.scss
// ========================================================================== */
.footer-links {
  padding-top: 1.25rem;
  border-top: 1px solid #666;
}

@media (min-width: 55.1rem) {
  .footer-links {
    text-align: center;
  }
}

.footer-links .menu__item--level-1 {
  display: inline-block;
  margin-bottom: 0.625rem;
  line-height: 1;
}

.footer-links .menu__item--level-1:not(:last-of-type) {
  margin-right: 0.625rem;
  padding-right: 0.625rem;
  border-right: 1px solid #4d4d4d;
}

.footer-links .menu__link {
  text-transform: uppercase;
  color: #fff;
  font-size: 0.625rem;
}

/* =============================================================================
// @name Footer Menu Component
// @description Styling for the site's footer menu.
// @group components
// @file src/sass/_partials/5-components/_component.footer-menu.scss
// ========================================================================== */
.footer-menu {
  margin-bottom: 0.625rem;
}

@media (min-width: 62.6rem) {
  .footer-menu {
    padding-left: 1.25rem;
  }
}

.footer-menu .menu--level-1 {
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: column;
          flex-direction: column;
  -webkit-justify-content: space-between;
          justify-content: space-between;
}

@media (min-width: 47.6rem) {
  .footer-menu .menu--level-1 {
    -webkit-flex-direction: row;
            flex-direction: row;
  }
}

.footer-menu .menu__item--level-1 {
  margin-bottom: 1.25rem;
}

.footer-menu .menu__item--level-1:not(:last-of-type) {
  margin-right: 1.25rem;
}

.footer-menu .menu__link--level-1 {
  text-transform: uppercase;
  color: #ffca0a;
}

@media (min-width: 47.6rem) {
  .footer-menu .menu__item--level-2 {
    padding: 0.3125rem 0;
  }
  .footer-menu .menu__item--level-2:first-of-type {
    padding-top: 0.625rem;
  }
}

.footer-menu .menu__link--level-2 {
  color: #fff;
}

/* =============================================================================
// @name Footer Share Component
// @description Styling social media share buttons in the footer.
// @group components
// @file src/sass/_partials/5-components/_footer-component.footer-share.scss
// ========================================================================== */
.footer-share {
  display: -webkit-flex;
  display: flex;
  margin-bottom: 2.5rem;
}

.footer-share__item:not(:last-of-type) {
  margin-right: 0.625rem;
}

.footer-share__link {
  display: block;
  overflow: hidden;
  width: 20px;
  height: 20px;
  transition: opacity ease-in-out 0.1s;
  border-radius: 0.15625rem;
}

.footer-share__link:hover {
  opacity: 0.75;
}

.footer-share__link--rss { background-image: url(../../assets/images/sprites/icons.png); background-position: -164px -88px;
}

.footer-share__link--twitter { background-image: url(../../assets/images/sprites/icons.png); background-position: 0 -164px;
}

@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi), (min-resolution: 2dppx) {
  .footer-share__link--rss { background-image: url(../../assets/images/sprites/icons@2x.png); background-position: -40px -120px; background-size: 216px 174px;
  }
  .footer-share__link--twitter { background-image: url(../../assets/images/sprites/icons@2x.png); background-position: -80px -120px; background-size: 216px 174px;
  }
}

/* =============================================================================
// @name Footer Component
// @description Styling for the site's main footer bar.
// @group components
// @file src/sass/_partials/5-components/_component.footer.scss
// ========================================================================== */
.footer {
  font-size: 0.8125rem;
}

.footer .footer__link {
  color: #fff;
}

/* =============================================================================
// @name Form Control Component
// @description Styling for form control elements such as inputs, selects, and
//              radios, and checkboxes.
// @group components
// @file src/sass/_partials/5-components/_component.form-control.scss
// ========================================================================== */
/* =============================================================================
// @name Form Item Component
// @description Form item container component for form elements.
// @group components
// @file src/sass/_partials/5-components/_component.form-item.scss
// ========================================================================== */
.form-item {
  margin-bottom: 0.9375rem;
}

.form-item--checkbox,
.form-item--radio {
  margin-bottom: 0.625rem;
}

.form-item__label {
  display: block;
}

.form-item__label--required::after {
  margin-left: 0.3125rem;
  content: '*';
  color: #db0000;
}

.form-item__label--before {
  margin-bottom: 0.3125rem;
}

.form-item__label--after {
  display: inline-block;
}

.form-item__description {
  color: #666;
  font-size: 0.75rem;
}

.form-item__description--after {
  margin-top: 0.3125rem;
  margin-bottom: 1.25rem;
}

.form-item--inline {
  display: inline-block;
}

.form-item--stacked {
  display: block;
}

.form-item--text-format > .form-item--textarea {
  margin-bottom: 0;
}

/* =============================================================================
// @name Forum Component
// @description Styling for forum posts.
// @group components
// @file src/sass/_partials/5-components/_component.forum.scss
// ========================================================================== */
/* =============================================================================
// @name Header Links Component
// @description Styling for the featured header links displayed above the
                site searchbar.
// @group components
// @file src/sass/_partials/5-components/_component.header-links.scss
// ========================================================================== */
.header-links .menu {
  margin-bottom: 0.625rem;
  padding: 0;
}

.header-links .menu__item {
  display: inline-block;
  line-height: 1;
}

.header-links .menu__item:not(:last-of-type) {
  margin-right: 0.9375rem;
  padding-right: 0.9375rem;
  border-right: 1px solid #4d4d4d;
}

.header-links .menu__link {
  text-transform: uppercase;
  color: #ffca0a;
  font-size: 0.75rem;
}

.header-links .menu__link:hover {
  color: #fff;
}

/* =============================================================================
// @name Header Search Component
// @description Styling for main header site seach form.
// @group components
// @file src/sass/_partials/5-components/_component.header-search.scss
// ========================================================================== */
.header-search {
  display: none;
}

@media (min-width: 47.6rem) {
  .header-search {
    display: block;
  }
}

.header-search .form {
  display: -webkit-flex;
  display: flex;
}

.header-search .form-item {
  margin-bottom: 0;
}

.header-search .form-item--search {
  margin-right: 0.625rem;
}

.header-search .form-textfield--search {
  width: 160px;
  height: 20px;
  color: #fff;
  border: none;
  background-color: #666;
  font-size: 0.75rem;
}

.header-search .form-textfield--search::-webkit-input-placeholder {
  color: transparent;
}

.header-search .form-textfield--search::-moz-placeholder {
  color: transparent;
}

.header-search .form-textfield--search:-moz-placeholder {
  color: transparent;
}

.header-search .form-textfield--search:-ms-input-placeholder {
  color: transparent;
}

@media (min-width: 55.1rem) {
  .header-search .form-textfield--search {
    width: 220px;
  }
}

.header-search .button--submit {
  overflow: hidden;
  text-indent: 101%;
  white-space: nowrap;
  display: block;
  width: 20px;
  height: 20px;
  padding: 0;
  text-indent: -9999em;
  border-radius: 0; background-image: url(../../assets/images/sprites/icons.png); background-position: -40px -164px;
}

@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi), (min-resolution: 2dppx) {
  .header-search .button--submit { background-image: url(../../assets/images/sprites/icons@2x.png); background-position: 0 -120px; background-size: 216px 174px;
  }
}

.header-search .button--submit:hover {
  background-color: #db0000;
}

.mobile-header-search {
  position: absolute;
  z-index: 500;
  right: 0;
  left: 0;
  display: none;
  padding: 0.625rem 1.25rem;
  background-color: rgba(0, 0, 0, 0.9);
}

@media (min-width: 47.6rem) {
  .mobile-header-search {
    display: none !important;
  }
}

.mobile-header-search .form {
  display: -webkit-flex;
  display: flex;
  margin: 0 auto;
}

@media (min-width: 25.1rem) {
  .mobile-header-search .form {
    max-width: 75%;
  }
}

.mobile-header-search .form-item--search,
.mobile-header-search .form-textfield--search {
  width: 100%;
}

.mobile-header-search.mobile-header-search--is-active {
  display: block;
}

/* =============================================================================
// @name Header Component
// @description Styling for the site's main header bar.
// @group components
// @file src/sass/_partials/5-components/_component.header.scss
// ========================================================================== */
@media (min-width: 47.6rem) {
  .header {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-between;
            justify-content: space-between;
    -webkit-align-items: center;
            align-items: center;
  }
}

/* =============================================================================
// @name Hero Pager Component
// @description Styling for larger hero pager used for design topic pagers.
// @group components
// @file src/sass/_partials/5-components/_component.hero-pager.scss
// ========================================================================== */
.hero-pager {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-between;
          justify-content: space-between;
}

@media (min-width: 72.6rem) {
  .hero-pager {
    position: absolute;
    z-index: 1;
    right: -3.75rem;
    left: -3.75rem;
    pointer-events: none;
  }
}

.hero-pager__item {
  padding-bottom: 1.25rem;
  pointer-events: auto;
}

.hero-pager__link {
  color: #000;
}

.hero-pager__link:link, .hero-pager__link:visited {
  color: #000;
}

.hero-pager__link--previous,
.hero-pager__link--next {
  display: block;
  width: 2.5rem;
  height: 2.5rem;
}

.hero-pager__link--previous { background-image: url(../../assets/images/sprites/icons.png); background-position: -60px 0;
}

@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi), (min-resolution: 2dppx) {
  .hero-pager__link--previous { background-image: url(../../assets/images/sprites/icons@2x.png); background-position: -60px -60px; background-size: 216px 174px;
  }
}

@media (min-width: 72.6rem) {
  .hero-pager__link--previous {
    margin-left: 1.25rem;
  }
}

.hero-pager__link--previous:hover, .hero-pager__link--previous:focus { background-image: url(../../assets/images/sprites/icons.png); background-position: 0 0;
}

@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi), (min-resolution: 2dppx) {
  .hero-pager__link--previous:hover, .hero-pager__link--previous:focus { background-image: url(../../assets/images/sprites/icons@2x.png); background-position: 0 -60px; background-size: 216px 174px;
  }
}

.hero-pager__link--next { background-image: url(../../assets/images/sprites/icons.png); background-position: 0 -60px;
}

@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi), (min-resolution: 2dppx) {
  .hero-pager__link--next { background-image: url(../../assets/images/sprites/icons@2x.png); background-position: -60px 0; background-size: 216px 174px;
  }
}

@media (min-width: 72.6rem) {
  .hero-pager__link--next {
    margin-left: -230px;
  }
}

.hero-pager__link--next:hover, .hero-pager__link--next:focus { background-image: url(../../assets/images/sprites/icons.png); background-position: -60px -60px;
}

@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi), (min-resolution: 2dppx) {
  .hero-pager__link--next:hover, .hero-pager__link--next:focus { background-image: url(../../assets/images/sprites/icons@2x.png); background-position: 0 0; background-size: 216px 174px;
  }
}

/* =============================================================================
// @name Hero Component
// @description Large hero object styling.
// @group components
// @file src/sass/_partials/5-components/_component.hero.scss
// ========================================================================== */
/* =============================================================================
// @name Icon Component
// @description Styling for any icons.
// @group components
// @file src/sass/_partials/5-components/_component.icon.scss
// @see _core/_functions/icon.scss
// ========================================================================== */
.icon::before {
  display: inline-block;
  content: '';
  vertical-align: middle;
  font-family: "icon-font";
  speak: none;
}

.icon--left::before {
  margin-right: 0.3125rem;
}

.icon--right::before {
  margin-left: 0.3125rem;
}

.icon--general::before,
.icon--application-octet-stream::before {
  width: 16px;
  height: 16px; background-image: url(../../assets/images/sprites/file-icons.png); background-position: -36px 0;
}

.icon--package-x-generic::before {
  width: 16px;
  height: 16px; background-image: url(../../assets/images/sprites/file-icons.png); background-position: -36px -72px;
}

.icon--x-office-spreadsheet::before {
  width: 16px;
  height: 16px; background-image: url(../../assets/images/sprites/file-icons.png); background-position: 0 -36px;
}

.icon--x-office-document::before {
  width: 16px;
  height: 16px; background-image: url(../../assets/images/sprites/file-icons.png); background-position: -36px -36px;
}

.icon--x-office-presentation::before {
  width: 16px;
  height: 16px; background-image: url(../../assets/images/sprites/file-icons.png); background-position: -72px 0;
}

.icon--text-x-script::before {
  width: 16px;
  height: 16px; background-image: url(../../assets/images/sprites/file-icons.png); background-position: -72px -36px;
}

.icon--text-html::before {
  width: 16px;
  height: 16px; background-image: url(../../assets/images/sprites/file-icons.png); background-position: 0 -72px;
}

.icon--text-plain::before {
  width: 16px;
  height: 16px; background-image: url(../../assets/images/sprites/file-icons.png); background-position: 0 0;
}

.icon--application-pdf::before {
  width: 16px;
  height: 16px; background-image: url(../../assets/images/sprites/file-icons.png); background-position: -72px -72px;
}

.icon--application-x-executable::before {
  width: 16px;
  height: 16px; background-image: url(../../assets/images/sprites/file-icons.png); background-position: -108px 0;
}

.icon--audio::before {
  width: 16px;
  height: 16px; background-image: url(../../assets/images/sprites/file-icons.png); background-position: -108px -36px;
}

.icon--video::before {
  width: 16px;
  height: 16px; background-image: url(../../assets/images/sprites/file-icons.png); background-position: -108px -72px;
}

.icon--text::before {
  width: 16px;
  height: 16px; background-image: url(../../assets/images/sprites/file-icons.png); background-position: 0 -108px;
}

.icon--image::before {
  width: 16px;
  height: 16px; background-image: url(../../assets/images/sprites/file-icons.png); background-position: -36px -108px;
}

.icon--arrow-down::before {
  height: 0;
  width: 0;
  border-left: 7px solid transparent;
  border-right: 7px solid transparent;
  border-top: 10px solid #fff;
  margin-left: -2px;
}

/* =============================================================================
// @name Jump Links Component
// @description Styling for prominent jump links displayed at the top of
                some pages.
// @group components
// @file src/sass/_partials/5-components/_component.jump-links.scss
// ========================================================================== */
.jump-links {
  margin-bottom: 0.625rem;
  font-size: 1rem;
}

@media (min-width: 55.1rem) {
  .jump-links {
    font-size: 1.125rem;
  }
}

.jump-links a:not(:last-child) {
  margin-right: 0.9375rem;
  padding-right: 0.9375rem;
  border-right: 1px solid #666;
}

/* =============================================================================
// @name Lightbox Component
// @description Styling for a photo lightbox component.
// @group components
// @file src/sass/_partials/5-components/_component.lightbox.scss
// ========================================================================== */
/* =============================================================================
// @name Link Component
// @description Styling for links.
// @group components
// @file src/sass/_partials/5-components/_component.link.scss
// ========================================================================== */
.link:hover {
  background-color: #ffca0a;
  color: #000;
}

/* =============================================================================
// @name List Component
// @description Styling for Drupal's default generated lists.
// @group components
// @file src/sass/_partials/5-components/_component.list.scss
// ========================================================================== */
.list--bare {
  padding: 0;
  list-style: none;
}

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

.list--reset > .list__item {
  margin: 0;
  padding: 0;
}

.list--inline-pipe {
  padding: 0.625rem 0;
}

.list--inline-pipe .list__item {
  display: inline-block;
  color: #666;
}

.list--inline-pipe .list__item:not(:last-of-type) {
  margin-right: 0.625rem;
  padding-right: 0.625rem;
  border-right: 1px solid #e8e8e8;
}

.list--bar {
  padding: 0.625rem 0;
  border-top: 1px solid #e8e8e8;
  border-bottom: 1px solid #e8e8e8;
}

.list--inline {
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
          flex-wrap: wrap;
}

.list--inline > li:not(:last-of-type),
.list--inline > .list__item:not(:last-of-type) {
  margin-right: 1.25rem;
}

/* =============================================================================
// @name Modal Component
// @description Modal styling using the Drupal Colorbox module.
// @group components
// @file src/sass/_partials/5-components/_component.modal.scss
// ========================================================================== */
.modal,
.ui-dialog {
  z-index: 700;
}

/* =============================================================================
// @name More Link Component
// @description Styling for a more link typically displayed at the bottom of
//              blocks.
// @group components
// @file src/sass/_partials/5-components/_component.more-link.scss
// ========================================================================== */
.more-link {
  margin-bottom: 1.25rem;
  padding-top: 0.625rem;
  border-top: 2px solid #b3b3b3;
}

/* =============================================================================
// @name Navbar Component
// @description Styling for a standard menu navbar.
// @group components
// @file src/sass/_partials/5-components/_component.navbar.scss
// @see src/sass/_partials/2-vendor/superfish/_generic.superfish.scss
// @see src/sass/_partials/2-vendor/superfish/_component.superfish.scss
// ========================================================================== */
.navbar {
  position: relative;
  z-index: 400;
  border-top: 1px solid #666;
}

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

.navbar .menu--level-1 {
  position: absolute;
  z-index: 1;
  right: -1.25rem;
  left: -1.25rem;
  background-color: rgba(0, 0, 0, 0.9);
}

@media (min-width: 47.6rem) {
  .navbar .menu--level-1 {
    position: static;
    z-index: 0;
    right: 0;
    left: 0;
    display: -webkit-flex;
    display: flex;
  }
}

.navbar .menu__link {
  transition: color ease-in-out 0.1s;
  text-transform: uppercase;
}

.navbar .menu__item--level-1 {
  position: relative;
  -webkit-flex-grow: 1;
          flex-grow: 1;
  margin: 0 1.25rem;
  border-bottom: 1px solid #666;
}

@media (min-width: 25.1rem) {
  .navbar .menu__item--level-1 {
    margin: 0 2.5rem;
  }
}

@media (min-width: 47.6rem) {
  .navbar .menu__item--level-1 {
    margin: 0;
    padding: 0;
    border-bottom: none;
  }
  .navbar .menu__item--level-1:hover .menu--level-2, .navbar .menu__item--level-1.sfHover .menu--level-2 {
    position: absolute;
    z-index: 1;
    pointer-events: auto;
    opacity: 1;
  }
}

.navbar .menu__link--level-1 {
  display: block;
  -webkit-flex-grow: 1;
          flex-grow: 1;
  padding: 0.625rem 1.25rem;
  color: #ffca0a;
  font-size: 1rem;
}

.navbar .menu__link--level-1:hover {
  color: #fff;
}

@media (min-width: 47.6rem) {
  .navbar .menu__link--level-1 {
    padding: 0.625rem;
  }
}

@media (min-width: 55.1rem) {
  .navbar .menu__link--level-1 {
    padding: 0.625rem 1.25rem;
  }
}

@media (min-width: 62.6rem) {
  .navbar .menu__link--level-1 {
    padding: 0.625rem 1.875rem;
  }
}

@media (min-width: 47.6rem) {
  .navbar .menu--level-2 {
    position: absolute;
    z-index: -1;
    top: 100%;
    left: 0;
    min-width: 13.75rem;
    white-space: nowrap;
    pointer-events: none;
    opacity: 0;
    background-color: rgba(0, 0, 0, 0.9);
  }
}

@media (min-width: 62.6rem) {
  .navbar .menu--level-2 {
    left: 0.625rem;
  }
}

.navbar .menu__item--level-2{
  float: none;
  width: auto;
}

.navbar .menu__item--level-2:not(:last-of-type) {
  border-bottom: 1px solid #666;
}

@media (min-width: 47.6rem) {
  .navbar ul.menu--level-2 .menu__item--level-2 {
    margin: 0.3125rem 1.25rem;
  }
}

.navbar .menu__link--level-2 {
  display: block;
  padding: 0.625rem 0;
  color: #fff;
  font-size: 1rem;
}

@media (min-width: 47.6rem) {
  .navbar .menu__link--level-2 {
    font-size: 0.75rem;
  }
}

.navbar .menu__link--level-2:hover {
  color: #ffca0a;
}

/* =============================================================================
// @name Node Component
// @description General node page content CKEditor styling that is too hard
                to refactor into utility classes.
// @group components
// @file src/sass/_partials/5-components/_component.node.scss
// ========================================================================== */
.node--full-view.node--unpublished {
  position: relative;
  z-index: 100;
  overflow: hidden;
  background-color: rgba(246, 191, 191, 0.3);
}

.node--full-view.node--unpublished::before {
  position: absolute;
  z-index: 0;
  top: 0;
  left: 0.625rem;
  content: 'Unpublished';
  text-transform: uppercase;
  color: #cecece;
  font-family: Impact, "Arial Narrow", "Helvetica Neue", Helvetica, sans-serif;
  font-size: 3rem;
  font-weight: 700;
}

@media (min-width: 47.6rem) {
  .node--full-view.node--unpublished::before {
    font-size: 4rem;
  }
}

.node--full-view.node--unpublished .node__content {
  position: relative;
  z-index: 100;
}

.node--full-view .field--body .intro {
  color: #666;
  font-size: 1rem;
}

.node--full-view .field--body h2 {
  clear: both;
  margin-top: 1.875rem;
  margin-bottom: 0.625rem;
}

.node--full-view .field--body h3 {
  margin-bottom: 0.625rem;
  text-transform: uppercase;
  color: #666;
}

.node--full-view .field--body p {
  margin-top: 0.625rem;
}

.node--full-view .field--body p:first-child {
  margin-top: 0;
}

.node--full-view .field--body p + p.caption {
  margin-top: -0.625rem;
}

.node--full-view .field--body dd {
  margin: 0 0 1.875rem 1.875rem;
}

.node--full-view .field--body ul,
.node--full-view .field--body ol {
  margin-top: 0.625rem;
}

.node--full-view .field--body ul ul,
.node--full-view .field--body ul ol,
.node--full-view .field--body ol ul,
.node--full-view .field--body ol ol {
  margin-top: 0;
}

.node--full-view .field--body .right {
  float: right;
  clear: right;
  margin-top: 0.15625rem;
  margin-bottom: 1.25rem;
}

@media (min-width: 47.6rem) {
  .node--full-view .field--body .right {
    margin-left: 0.78125rem;
  }
}

.node--full-view .field--body .left {
  float: left;
  clear: left;
  margin-top: 0.15625rem;
  margin-bottom: 1.25rem;
}

@media (min-width: 47.6rem) {
  .node--full-view .field--body .left {
    margin-right: 0.78125rem;
  }
}

.node--full-view .field--body .center {
  display: block;
  margin: 0 auto;
}

.node--full-view .field--body .half {
  width: 100%;
}

@media (min-width: 47.6rem) {
  .node--full-view .field--body .half {
    width: 45%;
    margin-top: 0;
  }
}

.node--full-view .field--body .half.caption {
  padding-right: 0;
  padding-left: 0;
}

.node--full-view .field--body .half.caption img {
  margin-bottom: 0.625rem;
}

.node--full-view .field--body .quarter {
  width: 100%;
}

@media (min-width: 47.6rem) {
  .node--full-view .field--body .quarter {
    width: 50%;
  }
}

@media (min-width: 62.6rem) {
  .node--full-view .field--body .quarter {
    width: 25%;
  }
}

.node--full-view .field--body .wysiwyg-block::before, .node--full-view .field--body .wysiwyg-block::after {
  display: table;
  content: "";
}

.node--full-view .field--body .wysiwyg-block::after {
  clear: both;
}

.node--full-view .field--body .wysiwyg-block__group--right {
  float: left;
  width: 85%;
}

.node--full-view .field--body .wysiwyg-block__group--left {
  float: left;
  width: 42px;
  margin-top: 1.25rem;
  margin-right: 5%;
}

.node--full-view .field--field-agenda p:first-of-type {
  margin-bottom: 1.875rem;
}

.node--full-view .field--field-agenda h2:first-of-type {
  margin-bottom: 0.9375rem;
  text-transform: uppercase;
}

/* =============================================================================
// @name Overlay Component
// @description Component to style a screen overlay commonly used with
//              lightboxes and modal components.
// @group components
// @file src/sass/_partials/5-components/_component.overlay.scss
// ========================================================================== */
.overlay {
  position: fixed;
  z-index: 600;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-color: rgba(0, 0, 0, 0.8);
}

/* =============================================================================
// @name Page Title Component
// @description Styling for a site's page title.
// @group components
// @file src/sass/_partials/5-components/_component.page-title.scss
// ========================================================================== */
.page-title {
  margin-bottom: 0.625rem;
}

.page-title__text {
  margin-bottom: 0;
  text-transform: uppercase;
  font-size: 1.25rem;
}

.page-node-type-project .page-title__text {
  text-transform: none;
}

@media (min-width: 30.1rem) {
  .page-title__text {
    font-size: 1.5rem;
  }
}

@media (min-width: 47.6rem) {
  .page-title__text {
    font-size: 2rem;
  }
}

.page-title--numbered {
  display: -webkit-flex;
  display: flex;
}

.page-title--numbered .page-title__number::before {
  display: block;
  float: left;
  width: 3.75rem;
  height: 100%;
  min-height: 50px;
  margin-right: 1.875rem;
  content: '';
  background-size: contain;
}

.page-title--number-1 .page-title__number::before {
  width: 22px;
  background-image: url('../../assets/images/numbers/number-1@2x.png');
}

.page-title--number-2 .page-title__number::before {
  width: 35px;
  background-image: url('../../assets/images/numbers/number-2@2x.png');
}

.page-title--number-2a .page-title__number::before {
  width: 76px;
  background-image: url('../../assets/images/numbers/number-2a@2x.png');
}

.page-title--number-2b .page-title__number::before {
  width: 83px;
  background-image: url('../../assets/images/numbers/number-2b@2x.png');
}

.page-title--number-3 .page-title__number::before {
  width: 35px;
  background-image: url('../../assets/images/numbers/number-3@2x.png');
}

.page-title--number-3a .page-title__number::before {
  width: 76px;
  background-image: url('../../assets/images/numbers/number-3a@2x.png');
}

.page-title--number-3b .page-title__number::before {
  width: 83px;
  background-image: url('../../assets/images/numbers/number-3b@2x.png');
}

.page-title--number-4 .page-title__number::before {
  width: 42px;
  background-image: url('../../assets/images/numbers/number-4@2x.png');
}

.page-title--number-5 .page-title__number::before {
  width: 38px;
  background-image: url('../../assets/images/numbers/number-5@2x.png');
}

/* =============================================================================
// @name Pager Component
// @description Styling for site pagination.
// @group components
// @file src/sass/_partials/5-components/_component.pager.scss
// ========================================================================== */
.pager {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: center;
          justify-content: center;
  margin-top: 1.25rem;
  padding-top: 0.625rem;
  border-top: 1px solid #000;
}

.pager__item {
  display: none;
  padding: 0.625rem;
}

@media (min-width: 47.6rem) {
  .pager__item {
    display: block;
  }
}

.pager__item--directional,
.pager__item--current {
  display: block;
}

.pager__link {
  color: #000;
}

.pager__link:link, .pager__link:visited {
  color: #000;
}

.pager__link:not(.pager__link--current):hover, .pager__link:not(.pager__link--current):focus, .pager__link:not(.pager__link--current):active {
  background-color: #ffca0a;
  color: #000;
}

.pager__link--current {
  cursor: default;
  font-weight: 700;
}

.pager__link--directional {
  text-transform: uppercase;
  color: #db0000;
}

.pager__link--directional:link, .pager__link--directional:visited {
  color: #db0000;
}

.pager__link--directional:hover, .pager__link--directional:focus, .pager__link--directional:active {
  background-color: #ffca0a;
  color: #000;
}

.pager__link--directional::before, .pager__link--directional::after {
  content: none;
}

@media (min-width: 25.1rem) {
  .pager__link--first::before {
    margin-right: 0.3125rem;
    content: '\00AB';
  }
  .pager__link--previous::before {
    margin-right: 0.3125rem;
    content: '\2039';
  }
  .pager__link--next::after {
    margin-left: 0.3125rem;
    content: '\203A';
  }
  .pager__link--last::after {
    margin-left: 0.3125rem;
    content: '\00BB';
  }
}

/* =============================================================================
// @name Popup Component
// @description Styling and layout for popup.
// @group components
// @file src/sass/_partials/5-components/_component.popup.scss
// ========================================================================== */
/* =============================================================================
// @name Print Link Component
// @description Page prinking link and associated icon for printing a page.
// @group components
// @file src/sass/_partials/5-components/_component.print-link.scss
// ========================================================================== */
.print-link {
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
          align-items: center;
  color: #000;
  font-size: 0.75rem;
}

.print-link::before {
  display: inline-block;
  width: 16px;
  height: 14px;
  margin-right: 0.3125rem;
  content: ''; background-image: url(../../assets/images/sprites/icons.png); background-position: -208px 0;
}

@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi), (min-resolution: 2dppx) {
  .print-link::before { background-image: url(../../assets/images/sprites/icons@2x.png); background-position: -164px -101px; background-size: 216px 174px;
  }
}

/* =============================================================================
// @name Progress Bar Component
// @description Styling for progress element.
// @group components
// @file src/sass/_partials/5-components/_component.progress-bar.scss
// ========================================================================== */
/* =============================================================================
// @name Radio Component
// @description Styling for a radio input element.
// @group components
// @file src/sass/_partials/5-components/_component.radio.scss
// ========================================================================== */
/* =============================================================================
// @name Range Component
// @description Styling for the range form input.
// @group components
// @file src/sass/_partials/5-components/_component.range.scss
// ========================================================================== */
/* =============================================================================
// @name Rule Lines Component
// @description Styling added top or bottom rule lines.
// @group components
// @file src/sass/_partials/5-components/_component.rule-lines.scss
// ========================================================================== */
.rule-line {
  display: block;
}

.rule-line--above {
  border-top: 1px solid #e8e8e8;
}

.rule-line--below {
  border-bottom: 1px solid #e8e8e8;
}

.rule-line--medium {
  border-width: 2px;
  border-color: #b3b3b3;
}

.rule-line--heavy {
  border-width: 1px;
  border-color: #8c8c8c;
}

/* =============================================================================
// @name Search Component
// @description Styling for search/filter bar.
// @group components
// @file src/sass/_partials/5-components/_component.search.scss
// ========================================================================== */
/* =============================================================================
// @name Select Component
// @description Styling a select option form element.
// @group components
// @file src/sass/_partials/5-components/_component.select.scss
// ========================================================================== */
.form-item__control--select {
  border: 1px solid #b3b3b3;
  border-radius: 0;
  display: block;
  padding: 0;
  position: relative;
  background: #fff;
  color: #000;
  transition: all .2s ease;
}

.form-item__control--select select {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background: none;
  border: 1px solid transparent;
  border-radius: 0;
  box-sizing: border-box;
  color: inherit;
  font-size: 1em;
  line-height: 1.3;
  margin: 0;
  outline: none;
  padding: .5em 1.9em .5em .8em;
  transition: all .2s ease;
  width: 100%;
}

.form-item__control--select select:focus {
  background-color: transparent;
  border: 1px solid rgba(0, 0, 0, 0.45);
  outline: none;
  box-shadow: 0 0 3px 3px #B4DEFA;
}

.form-item__control--select:after {
  content: '';
  height: 8px;
  margin-top: -.25em;
  pointer-events: none;
  position: absolute;
  right: .7em;
  top: 50%;
  width: 8px;
  z-index: 2; background-image: url(../../assets/images/sprites/icons.png); background-position: -56px -204px;
  margin-top: calc(8px / 1.75 * -1);
}

.form-item__control--select:hover {
  background: #fff;
  border: 1px solid rgba(0, 0, 0, 0.45);
}

.form-item__control--select option {
  font-weight: normal;
}

@-moz-document url-prefix() {
  .form-item__control--select {
    overflow: hidden;
  }
  .form-item__control--select select {
    width: 120%;
    width: calc(100% + 3em);
  }
  .form-item__control--select select:-moz-focusring {
    color: transparent;
    text-shadow: 0 0 0 #000;
  }
}

.form-item__control--select select::-ms-expand {
  display: none;
}

.form-item__control--select select:focus::-ms-value {
  background: transparent;
  color: #222;
}

@-moz-document url-prefix() {
  .form-item__control--select {
    overflow: visible;
  }
}

.form-item__control--select::after {
  top: 60%;
}

.form-item__control--select .select {
  width: 100%;
  padding: 0.3125rem;
}

/* =============================================================================
// @name Sharethis Component
// @description Social media buttons used for shareing page content.
// @group components
// @file src/sass/_partials/5-components/_component.sharethis.scss
// ========================================================================== */
.sharethis-wrapper {
  margin-bottom: 1.25rem;
}

.sharethis-wrapper::before {
  margin-right: 0.3125rem;
  content: 'SHARE THIS ARTICLE';
  text-transform: uppercase;
  color: #666;
}

/* =============================================================================
// @name Sidebar Menu Component
// @description Styling for the contextual side menu.
// @group components
// @file src/sass/_partials/5-components/_component.sidebar-menu.scss
// ========================================================================== */
.sidebar-menu {
  margin-top: 1.5625rem;
  padding-top: 1.5625rem;
  border-top: 1px solid #e8e8e8;
}

@media (min-width: 47.6rem) {
  .sidebar-menu {
    margin-top: 0;
    padding-top: 0;
    border-top: none;
  }
}

.sidebar-menu .menu {
  margin-left: 0.625rem;
}

.sidebar-menu .menu__item {
  position: relative;
}

.sidebar-menu .menu__link {
  display: inline-block;
  margin: 0.3125rem 0;
  color: #666;
}

.sidebar-menu .menu__link:hover, .sidebar-menu .menu__link:focus {
  text-decoration: underline;
  color: #db0000;
  background-color: transparent;
}

.sidebar-menu .menu__link.is-active, .sidebar-menu .menu__link.menu__link--in-active-trail {
  color: #000;
}

.sidebar-menu .menu__link.is-active:hover, .sidebar-menu .menu__link.is-active:focus, .sidebar-menu .menu__link.menu__link--in-active-trail:hover, .sidebar-menu .menu__link.menu__link--in-active-trail:focus {
  color: #db0000;
}

.sidebar-menu .menu__link:not(.menu__link--level-1) {
  padding: 0 0 0 0.9375rem;
}

.sidebar-menu .menu__link:not(.menu__link--level-1)::before {
  position: absolute;
  display: block;
  width: 0.625rem;
  height: 0.625rem;
  margin-top: 0.3125rem;
  margin-left: -0.9375rem;
  content: '';
}

.sidebar-menu .menu__link:not(.menu__link--level-1).menu__link--is-collapsed::before { background-image: url(../../assets/images/sprites/icons.png); background-position: -30px -204px;
}

.sidebar-menu .menu__link:not(.menu__link--level-1).menu__link--is-expanded::before { background-image: url(../../assets/images/sprites/icons.png); background-position: -84px -204px;
}

.sidebar-menu .menu--level-1 {
  margin-left: 0;
}

.sidebar-menu .menu__item--level-1 {
  margin-bottom: 0.625rem;
  padding: 0;
}

.sidebar-menu .menu__item--level-1:not(.menu__item--in-active-trail) {
  display: none;
}

.sidebar-menu .menu__link--level-1.menu__link--level-1 {
  text-decoration: none;
  text-transform: uppercase;
  color: #000;
}

.sidebar-menu .menu__link--level-1.menu__link--level-1:hover {
  background-color: #ffca0a;
  color: #000;
  text-decoration: none;
}

.sidebar-menu .menu__link--level-2 {
  text-transform: uppercase;
}

/* =============================================================================
// @name Steps Component
// @description Styling for step pager for showing where a user is in a process.
// @group components
// @file src/sass/_partials/5-components/_component.steps.scss
// ========================================================================== */
/* =============================================================================
// @name Superfish Theme Library
// @description Superfish library CSS theming that can't be done with theming
                standard menu theming.
// @group vendor
// @file src/sass/_partials/vendor/superfish/_component.superfish.scss
// ========================================================================== */
/* stylelint-disable selector-max-type */
.sf-menu {
  display: none;
}

@media (max-width: 47.4rem) {
  .sf-menu {
    border-top: 1px solid #666;
  }
}

.sf-menu.sf-js-enabled {
  display: block;
  display: -webkit-flex;
  display: flex;
}

.sf-accordion {
  z-index: 500;
}

.sf-accordion .menu--level-1 {
  padding: 0 1.25rem;
}

.sf-accordion .menu__item--level-1 {
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: column;
          flex-direction: column;
}

@media (min-width: 25.1rem) {
  .sf-accordion .menu__item--level-1 {
    width: 100%;
    max-width: 60%;
    margin: 0 auto;
  }
}

.sf-accordion .menu__link {
  padding: 0.9375rem 0;
}

.sf-accordion .sf-accordion-button {
  overflow: hidden;
  text-indent: 101%;
  white-space: nowrap;
  display: block;
  text-indent: -999em;
}

.sf-accordion .menu__item--has-children {
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: row-reverse;
          flex-direction: row-reverse;
  -webkit-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-justify-content: space-between;
          justify-content: space-between;
  -webkit-align-items: stretch;
          align-items: stretch;
}

.sf-accordion .menu__item--has-children .sf-accordion-button {
  width: 14px;
  height: 10px;
  margin: auto 0.625rem auto 0.3125rem;
}

@media (min-width: 30.1rem) {
  .sf-accordion .menu__item--has-children .sf-accordion-button {
    margin: auto 0.625rem auto 1.25rem;
  }
}

.sf-accordion .menu__item--has-children .sf-accordion-button::before {
  display: block;
  width: 14px;
  height: 10px;
  padding: 1.25rem 0;
  content: ''; background-image: url(../../assets/images/sprites/icons.png); background-position: -208px -136px;
}

.sf-accordion .menu__item--has-children.sf-expanded .sf-accordion-button::before {
  width: 14px;
  height: 10px; background-image: url(../../assets/images/sprites/icons.png); background-position: -208px -166px;
}

.sf-accordion .menu__item--has-children .menu--level-2 {
  -webkit-flex-basis: 100%;
          flex-basis: 100%;
}

.sf-accordion-toggle {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-around;
          justify-content: space-around;
  margin: 0.625rem 0;
}

@media (min-width: 22.6rem) {
  .sf-accordion-toggle {
    padding-right: 1.25rem;
    padding-left: 1.25rem;
  }
}

.sf-accordion-toggle + .sf-menu {
  display: none;
}

.sf-accordion-toggle a {
  display: -webkit-inline-flex;
  display: inline-flex;
  -webkit-align-items: center;
          align-items: center;
  text-transform: uppercase;
  color: #ffca0a;
  font-size: 1rem;
}

.sf-accordion-toggle a::before {
  width: 20px;
  height: 13px;
  margin-right: 0.3125rem;
  content: ''; background-image: url(../../assets/images/sprites/icons.png); background-position: -160px -164px;
}

@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi), (min-resolution: 2dppx) {
  .sf-accordion-toggle a::before { background-image: url(../../assets/images/sprites/icons@2x.png); background-position: -164px -35px; background-size: 216px 174px;
  }
}

.sf-accordion-toggle a.sf-expanded {
  color: #8c8c8c;
}

.sf-accordion-toggle a.sf-expanded::before { background-image: url(../../assets/images/sprites/icons.png); background-position: -120px -164px;
}

@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi), (min-resolution: 2dppx) {
  .sf-accordion-toggle a.sf-expanded::before { background-image: url(../../assets/images/sprites/icons@2x.png); background-position: -164px -68px; background-size: 216px 174px;
  }
}

.sf-accordion-toggle .sf-accordion-toggle__icon--search-toggle::before {
  width: 20px;
  height: 15px;
  margin-right: 0.3125rem;
  content: ''; background-image: url(../../assets/images/sprites/icons.png); background-position: -164px -128px;
}

@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi), (min-resolution: 2dppx) {
  .sf-accordion-toggle .sf-accordion-toggle__icon--search-toggle::before { background-image: url(../../assets/images/sprites/icons@2x.png); background-position: -120px -120px; background-size: 216px 174px;
  }
}

.sf-accordion-toggle .sf-accordion-toggle__icon--search-toggle.sf-accordion-toggle__icon--is-active {
  color: #8c8c8c;
}

.sf-accordion-toggle .sf-accordion-toggle__icon--search-toggle.sf-accordion-toggle__icon--is-active::before { background-image: url(../../assets/images/sprites/icons.png); background-position: -80px -164px;
}

@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi), (min-resolution: 2dppx) {
  .sf-accordion-toggle .sf-accordion-toggle__icon--search-toggle.sf-accordion-toggle__icon--is-active::before { background-image: url(../../assets/images/sprites/icons@2x.png); background-position: -164px 0; background-size: 216px 174px;
  }
}

/* =============================================================================
// @name Table Component
// @description Styling for tabular data component.
// @group components
// @file src/sass/_partials/5-components/_component.table.scss
// ========================================================================== */
.table {
  margin-bottom: 1.25rem;
}

.table--responsive {
  display: block;
  overflow-x: auto;
}

.table__cell {
  transition: background-color 0.1s ease-in-out;
}

.table__cell--header a:link, .table__cell--header a:visited {
  color: #ffca0a;
}

.table__cell--header a:hover, .table__cell--header a:focus, .table__cell--header a:active {
  color: #000;
}

.table--row-highlight .table__body .table__row:hover .table__cell {
  background-color: #fff2c2;
}

/* =============================================================================
// @name Tabs Component
// @description Drupal tab styling.
// @group components
// @file src/sass/_partials/5-components/_component.tabs.scss
// ========================================================================== */
/* stylelint-disable selector-max-type */
.tabs {
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
          flex-wrap: wrap;
}

.tabs--primary .tabs__item:not(:last-of-type) {
  margin-right: 1.25rem;
}

.tabs--primary .tabs__text {
  display: block;
  padding: 0.3125rem 0.625rem;
  color: #000;
  border-width: 1px 1px 0;
  border-style: solid;
  border-color: #b3b3b3;
  border-radius: 0.15625rem 0.15625rem 0 0;
  background-color: #e8e8e8;
}

.tabs--secondary {
  padding: 0.625rem 0;
}

.tabs--secondary .tabs__item:not(:last-of-type) {
  margin-right: 1.25rem;
}

/* =============================================================================
// @name Tag Component
// @description Styling for status and taxonomy tags.
// @group components
// @file src/sass/_partials/5-components/_component.tag.scss
// ========================================================================== */
/* =============================================================================
// @name Teaser List Component
// @description Styling for a bordered list of teaser content.
// @group components
// @file src/sass/_partials/5-components/_component.teaser-list.scss
// ========================================================================== */
.teaser-list {
  padding: 0;
  list-style: none;
}

.teaser-list__item {
  margin-bottom: 1.25rem;
  border-bottom: 1px solid #e8e8e8;
}

/* =============================================================================
// @name Text Header Component
// @description Styling for body copy text headers.
// @group components
// @file src/sass/_partials/5-components/_component.text-header.scss
// ========================================================================== */
.text-header--xl {
  font-size: 2rem;
}

.text-header--lg {
  font-size: 1.5rem;
}

.text-header--md {
  text-transform: uppercase;
  color: #666;
  font-size: 1rem;
}

.text-header--sm {
  font-size: 0.875rem;
}

/* =============================================================================
// @name Text Intro Component
// @description Styling for the introductory first paragraph of a page.
// @group components
// @file src/sass/_partials/5-components/_component.text-intro.scss
// ========================================================================== */
.intro {
  color: #666;
  font-size: 1rem;
}

/* =============================================================================
// @name Textfield Component
// @description Styling for form textfield.
// @group components
// @file src/sass/_partials/5-components/_component.textfield.scss
// ========================================================================== */
.form-textfield {
  height: 32px;
  padding: 0.390625rem;
  border: 1px solid #b3b3b3;
  background-color: #fff;
}

.form-textfield--file {
  height: auto;
}

.form-textarea {
  padding: 0.390625rem;
  border: 1px solid #b3b3b3;
  background-color: #fff;
}

/* =============================================================================
// @name Thumbnail Component
// @description Image thumbnail with optional caption styling.
                NOTE: this component makes no assumptions as to the position or
                placement of images on a page. For complicated layouts it
                should be place within a grid structure.
// @group components
// @file src/sass/_partials/5-components/_component.thumbnail.scss
// ========================================================================== */
.thumbnail {
  position: relative;
  display: block;
  overflow: hidden;
}

.thumbnail:hover .thumbnail__caption {
  -webkit-transform: translateY(0);
          transform: translateY(0);
}

.thumbnail--inline {
  display: inline-block;
}

.thumbnail__content,
.thumbnail__image {
  display: block;
}

.thumbnail__caption {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  padding: 1.25rem 0.625rem;
  transition: -webkit-transform ease-in-out 0.5s;
  transition: transform ease-in-out 0.5s;
  transition: transform ease-in-out 0.5s, -webkit-transform ease-in-out 0.5s;
  -webkit-transform: translateY(100%);
          transform: translateY(100%);
  text-align: center;
  color: #fff;
  background-color: rgba(0, 0, 0, 0.8);
}

.thumbnail__caption::after {
  margin-left: 0.3125rem;
  content: '\203A';
}

/* =============================================================================
// @name Toggle Component
// @description Styling for a checkbox/radio varient with display's the element
//              as an iOS style toggle switch.
// @group components
// @file src/sass/_partials/5-components/_component.toggle.scss
// ========================================================================== */
/* =============================================================================
// @name Toolbar Component
// @description Styling for site or admin toolbar.
// @group components
// @file src/sass/_partials/5-components/_component.toolbar.scss
// ========================================================================== */
/* =============================================================================
// @name Tooltip Component
// @description Styling for a popup tooltip.
// @group components
// @file src/sass/_partials/5-components/_component.tooltip.scss
// ========================================================================== */
/* =============================================================================
// @name Tree Component
// @description Styling for a hierarchical tree list with collapsable sections.
// @group components
// @file src/sass/_partials/5-components/_component.tree.scss
// ========================================================================== */
/* =============================================================================
// @name Color Utilities
// @description Utility colors classes.
// @group utilities
// @file src/sass/_partials/7-utilities/_utilities.color.scss
// ========================================================================== */
.u-text-black {
  color: #000 !important;
}

.u-text-white {
  color: #fff !important;
}

.u-text-primary {
  color: #db0000 !important;
}

.u-text-secondary {
  color: #ffca0a !important;
}

.u-text-tertiary {
  color: #666 !important;
}

.u-text-muted {
  color: #c4c4c4 !important;
}

/* =============================================================================
// @name Grid Utilities
// @description Utility grid classes.
// @group utilities
// @file src/sass/_partials/7-utilities/_utilities.grid.scss
// ========================================================================== */
.u-clearfix::before, .u-clearfix::after,
.clearfix::before,
.clearfix::after {
  display: table;
  content: "";
}

.u-clearfix::after,
.clearfix::after {
  clear: both;
}

/* =============================================================================
// @name Image Utilities
// @description Utility classes for styling images.
// @group utilities
// @file src/sass/_partials/7-utilities/_utilities.image.scss
// ========================================================================== */
/* stylelint-disable selector-max-type */
.u-img {
  display: block;
}

.u-img-left,
img[data-align='left'] {
  float: left;
  margin-right: 1.25rem;
  margin-bottom: 0.3125rem;
}

@media (min-width: 47.6rem) {
  .u-img-left--md {
    float: left;
    margin-right: 1.25rem;
  }
}

.u-img-right,
img[data-align='right'] {
  float: right;
  margin-bottom: 0.3125rem;
  margin-left: 1.25rem;
}

.u-img-center,
img[data-align='center'] {
  display: block;
  margin: 0 auto;
}

/* =============================================================================
// @name List Utilities
// @description Utility classes for styling lists.
// @group utilities
// @file src/sass/_partials/7-utilities/_utilities.list.scss
// ========================================================================== */
/* =============================================================================
// @name Position Utilities
// @description Utility position classes.
// @group utilities
// @file src/sass/_partials/7-utilities/_utilities.position.scss
// ========================================================================== */
.u-align-left {
  float: left !important;
}

.u-align-right {
  float: right !important;
}

.u-align-center {
  display: block !important;
  margin-right: auto !important;
  margin-left: auto !important;
}

.u-relative {
  position: relative !important;
}

.u-static {
  position: static !important;
}

/* =============================================================================
// @name Spacing Utilities
// @description Utility classes for spacing elements.
// @group utilities
// @file src/sass/_partials/7-utilities/_utilities.spacing.scss
// ========================================================================== */
.u-double-leader {
  margin-top: 2.5rem !important;
}

.u-leader {
  margin-top: 1.25rem !important;
}

.u-half-leader {
  margin-top: 0.625rem !important;
}

.u-quarter-leader {
  margin-top: 0.3125rem !important;
}

.u-eighth-leader {
  margin-top: 0.15625rem !important;
}

.u-leader-none {
  margin-top: 0 !important;
}

.u-double-trailer {
  margin-bottom: 2.5rem !important;
}

.u-trailer {
  margin-bottom: 1.25rem !important;
}

.u-half-trailer {
  margin-bottom: 0.625rem !important;
}

.u-quarter-trailer {
  margin-bottom: 0.3125rem !important;
}

.u-eighth-trailer {
  margin-bottom: 0.15625rem !important;
}

.u-trailer-none {
  margin-bottom: 0 !important;
}

.u-double-leader-padding {
  padding-top: 2.5rem !important;
}

.u-leader-padding {
  padding-top: 1.25rem !important;
}

.u-half-leader-padding {
  padding-top: 0.625rem !important;
}

.u-quarter-leader-padding {
  padding-top: 0.3125rem !important;
}

.u-eighth-leader-padding {
  padding-top: 0.15625rem !important;
}

.u-leader-padding-none {
  padding-top: 0 !important;
}

.u-double-trailer-padding {
  padding-bottom: 2.5rem !important;
}

.u-trailer-padding {
  padding-bottom: 1.25rem !important;
}

.u-half-trailer-padding {
  padding-bottom: 0.625rem !important;
}

.u-quarter-trailer-padding {
  padding-bottom: 0.3125rem !important;
}

.u-eighth-trailer-padding {
  padding-bottom: 0.15625rem !important;
}

.u-trailer-padding-none {
  padding-bottom: 0 !important;
}

/* =============================================================================
// @name Text Size Utility Classes
// @description Helper classes for styling text sizes.
// @group utilities
// @file src/sass/_partials/6-utilities/_utilities.text-size.scss
// ========================================================================== */
.u-text-size--xl {
  font-size: 2rem !important;
}

.u-text-size--lg {
  font-size: 1.5rem !important;
}

.u-text-size--md {
  font-size: 1rem !important;
}

.u-text-size--md-alt {
  font-size: 1.25rem !important;
}

.u-text-size--sm {
  font-size: 0.875rem !important;
}

.u-text-size--xs {
  font-size: 0.75rem !important;
}

.u-text-size--xs-alt {
  font-size: 0.8125rem !important;
}

.u-text-size--xss {
  font-size: 0.75rem !important;
}

/* =============================================================================
// @name Typography Utilities
// @description Utility typography classes.
// @group utilities
// @file src/sass/_partials/7-utilities/_utilities.typography.scss
// ========================================================================== */
.u-text-left {
  text-align: left !important;
}

.u-text-center {
  text-align: center !important;
}

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

.u-text-justify {
  text-align: justify !important;
}

.u-text-light {
  font-weight: 300 !important;
}

.u-text-normal {
  font-weight: 400 !important;
}

.u-text-medium {
  font-weight: 500 !important;
}

.u-text-bold {
  font-weight: 700 !important;
}

.u-text-italic {
  font-style: italic !important;
}

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

.u-text-lowercase {
  text-transform: lowercase !important;
}

.u-text-capitalize {
  text-transform: capitalize !important;
}

/* =============================================================================
// @name Visiblity Utilities
// @description Utility visiblity classes.
// @group utilities
// @file src/sass/_partials/7-utilities/_utilities.visibility.scss
// ========================================================================== */
.u-sr-only {
  position: absolute !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  width: 1px !important;
  height: 1px !important;
  margin: -1px !important;
  padding: 0 !important;
  border: 0 !important;
}

.u-hidden {
  display: none !important;
}

@media (min-width: 22.5rem) {
  .u-hidden--xxs {
    display: none !important;
  }
}

@media (max-width: 22.4rem) {
  .u-hidden--xxs-down {
    display: none !important;
  }
}

@media (min-width: 25rem) {
  .u-hidden--xs {
    display: none !important;
  }
}

@media (max-width: 24.9rem) {
  .u-hidden--xs-down {
    display: none !important;
  }
}

@media (min-width: 30rem) {
  .u-hidden--sm {
    display: none !important;
  }
}

@media (max-width: 29.9rem) {
  .u-hidden--sm-down {
    display: none !important;
  }
}

@media (min-width: 47.5rem) {
  .u-hidden--md {
    display: none !important;
  }
}

@media (max-width: 47.4rem) {
  .u-hidden--md-down {
    display: none !important;
  }
}

@media (min-width: 55rem) {
  .u-hidden--lg {
    display: none !important;
  }
}

@media (max-width: 54.9rem) {
  .u-hidden--lg-down {
    display: none !important;
  }
}

@media (min-width: 62.5rem) {
  .u-hidden--xl {
    display: none !important;
  }
}

@media (max-width: 62.4rem) {
  .u-hidden--xl-down {
    display: none !important;
  }
}

.js .js-hidden {
  display: none !important;
}

.u-inline {
  display: inline !important;
}

.u-inline-block {
  display: inline-block !important;
}

.u-block {
  display: block !important;
}

.u-inline-flex {
  display: -webkit-inline-flex !important;
  display: inline-flex !important;
}

.u-flex {
  display: -webkit-flex !important;
  display: flex !important;
}

@media (max-width: 22.4rem) {
  .u-visible--inline-xxs-down {
    display: inline !important;
  }
  .u-visible--inline-block-xxs-down {
    display: inline-block !important;
  }
  .u-visible--block-xxs-down {
    display: block !important;
  }
  .u-visible--table-xxs-down {
    display: table !important;
  }
  .u-visible--flex-xxs-down {
    display: -webkit-flex !important;
    display: flex !important;
  }
  .u-visible--inline-flex-xxs-down {
    display: -webkit-inline-flex !important;
    display: inline-flex !important;
  }
}

@media (min-width: 22.5rem) {
  .u-visible--inline-xxs {
    display: inline !important;
  }
  .u-visible--inline-block-xxs {
    display: inline-block !important;
  }
  .u-visible--block-xxs {
    display: block !important;
  }
  .u-visible--table-xxs {
    display: table !important;
  }
  .u-visible--flex-xxs {
    display: -webkit-flex !important;
    display: flex !important;
  }
  .u-visible--inline-flex-xxs {
    display: -webkit-inline-flex !important;
    display: inline-flex !important;
  }
}

@media (max-width: 24.9rem) {
  .u-visible--inline-xs-down {
    display: inline !important;
  }
  .u-visible--inline-block-xs-down {
    display: inline-block !important;
  }
  .u-visible--block-xs-down {
    display: block !important;
  }
  .u-visible--table-xs-down {
    display: table !important;
  }
  .u-visible--flex-xs-down {
    display: -webkit-flex !important;
    display: flex !important;
  }
  .u-visible--inline-flex-xs-down {
    display: -webkit-inline-flex !important;
    display: inline-flex !important;
  }
}

@media (min-width: 25rem) {
  .u-visible--inline-xs {
    display: inline !important;
  }
  .u-visible--inline-block-xs {
    display: inline-block !important;
  }
  .u-visible--block-xs {
    display: block !important;
  }
  .u-visible--table-xs {
    display: table !important;
  }
  .u-visible--flex-xs {
    display: -webkit-flex !important;
    display: flex !important;
  }
  .u-visible--inline-flex-xs {
    display: -webkit-inline-flex !important;
    display: inline-flex !important;
  }
}

@media (max-width: 29.9rem) {
  .u-visible--inline-sm-down {
    display: inline !important;
  }
  .u-visible--inline-block-sm-down {
    display: inline-block !important;
  }
  .u-visible--block-sm-down {
    display: block !important;
  }
  .u-visible--table-sm-down {
    display: table !important;
  }
  .u-visible--flex-sm-down {
    display: -webkit-flex !important;
    display: flex !important;
  }
  .u-visible--inline-flex-sm-down {
    display: -webkit-inline-flex !important;
    display: inline-flex !important;
  }
}

@media (min-width: 30rem) {
  .u-visible--inline-sm {
    display: inline !important;
  }
  .u-visible--inline-block-sm {
    display: inline-block !important;
  }
  .u-visible--block-sm {
    display: block !important;
  }
  .u-visible--table-sm {
    display: table !important;
  }
  .u-visible--flex-sm {
    display: -webkit-flex !important;
    display: flex !important;
  }
  .u-visible--inline-flex-sm {
    display: -webkit-inline-flex !important;
    display: inline-flex !important;
  }
}

@media (max-width: 47.4rem) {
  .u-visible--inline-md-down {
    display: inline !important;
  }
  .u-visible--inline-block-md-down {
    display: inline-block !important;
  }
  .u-visible--block-md-down {
    display: block !important;
  }
  .u-visible--table-md-down {
    display: table !important;
  }
  .u-visible--flex-md-down {
    display: -webkit-flex !important;
    display: flex !important;
  }
  .u-visible--inline-flex-md-down {
    display: -webkit-inline-flex !important;
    display: inline-flex !important;
  }
}

@media (min-width: 47.5rem) {
  .u-visible--inline-md {
    display: inline !important;
  }
  .u-visible--inline-block-md {
    display: inline-block !important;
  }
  .u-visible--block-md {
    display: block !important;
  }
  .u-visible--table-md {
    display: table !important;
  }
  .u-visible--flex-md {
    display: -webkit-flex !important;
    display: flex !important;
  }
  .u-visible--inline-flex-md {
    display: -webkit-inline-flex !important;
    display: inline-flex !important;
  }
}

@media (max-width: 54.9rem) {
  .u-visible--inline-lg-down {
    display: inline !important;
  }
  .u-visible--inline-block-lg-down {
    display: inline-block !important;
  }
  .u-visible--block-lg-down {
    display: block !important;
  }
  .u-visible--table-lg-down {
    display: table !important;
  }
  .u-visible--flex-lg-down {
    display: -webkit-flex !important;
    display: flex !important;
  }
  .u-visible--inline-flex-lg-down {
    display: -webkit-inline-flex !important;
    display: inline-flex !important;
  }
}

@media (min-width: 55rem) {
  .u-visible--inline-lg {
    display: inline !important;
  }
  .u-visible--inline-block-lg {
    display: inline-block !important;
  }
  .u-visible--block-lg {
    display: block !important;
  }
  .u-visible--table-lg {
    display: table !important;
  }
  .u-visible--flex-lg {
    display: -webkit-flex !important;
    display: flex !important;
  }
  .u-visible--inline-flex-lg {
    display: -webkit-inline-flex !important;
    display: inline-flex !important;
  }
}

@media (max-width: 62.4rem) {
  .u-visible--inline-xl-down {
    display: inline !important;
  }
  .u-visible--inline-block-xl-down {
    display: inline-block !important;
  }
  .u-visible--block-xl-down {
    display: block !important;
  }
  .u-visible--table-xl-down {
    display: table !important;
  }
  .u-visible--flex-xl-down {
    display: -webkit-flex !important;
    display: flex !important;
  }
  .u-visible--inline-flex-xl-down {
    display: -webkit-inline-flex !important;
    display: inline-flex !important;
  }
}

@media print {
  .u-visible-print--block {
    display: block !important;
  }
  .u-visible-print--inline {
    display: inline !important;
  }
  .u-visible-print--inline-block {
    display: inline-block !important;
  }
  .u-visible-print--table {
    display: table !important;
  }
  .u-visible-print--flex {
    display: -webkit-flex !important;
    display: flex !important;
  }
  .u-visible-print--inline-flex {
    display: -webkit-inline-flex !important;
    display: inline-flex !important;
  }
}

@media screen {
  .u-hidden--print {
    display: none !important;
  }
}

/* =============================================================================
// @name Hotfixes
// @description Junk Sass file for hotfixes to be later cleaned up.
// @group hotfix
// @file src/sass/_partials/_8-hotfix.scss
// ========================================================================== */
