@charset "UTF-8";
/**
 * gigsalad.com -- @gigsalad
 * To the best of our ability, our CSS architecture is meant to reflect Sass Guidelines' 7-1 pattern.
 * See the following links for information about these guidelines:
 * http://sass-guidelin.es/#the-7-1-pattern
 * http://www.sitepoint.com/cleaning-up-a-css-codebase/
 */
/* stylelint-disable declaration-no-important */
/* stylelint-enable declaration-no-important */
/* ------------------------------------ *\
	$CUSTOM MIXINS
\* ------------------------------------ */
/*
 * See this article (https://css-tricks.com/line-clampin/) for more information
 * and to maybe see if there are any updates on best-practices from time to time.
 *
 * 1. Without this comment, Autoprefixer removes -webkit-box-orient, but we want it. It's part
 * of the official spec and is needed for this to work with ~95% of browsers.
 */
/*
 * See this article (https://css-tricks.com/snippets/css/prevent-long-urls-from-breaking-out-of-container/)
 * for more information and to maybe see if there are any updates on best-practices from time to time.
 *
 * This is done so that long strings (sent by users) do not overflow their containers, like in
 * Inbox messages.
 */
/*
 * Custom icon button color mixin for adding new icon colors.
 */
/*
 * Rebrand layout grid
 */
/* ------------------------------------ *\
	$FOUNDATION MIXINS
\* ------------------------------------ */
/* ------------------------------------ *\
    $COLORS
\* ------------------------------------ */
/*
 * Colors for use in the temporary header redesign.
 */
/*
 * Colors for use in the 2017 redesign.
 */
/*
 * All variables below are pre-Foundation 6 integration.
 */
/* ------------------------------------ *\
    $BASE
\* ------------------------------------ */
/*
 * Spacing unit used to maintain (or attempt to maintain) consistent vertical
 * rhythm throughout the site
 */
/* ------------------------------------ *\
    $BUTTONS
\* ------------------------------------ */
/* ------------------------------------ *\
    $FORMS
\* ------------------------------------ */
/* ------------------------------------ *\
    $TYPOGRAPHY
\* ------------------------------------ */
/* ------------------------------------ *\
    $NAVIGATION
\* ------------------------------------ */
/*
 * The hover opacity for the navigation links. This should be handled
 * differently in the future.
 */
/* ------------------------------------ *\
    $FOUNDATION 4 BUTTONS
\* ------------------------------------ */
/* ------------------------------------ *\
    $FOUNDATION 4 GRID
\* ------------------------------------ */
/* ------------------------------------ *\
    $BOX-SHADOW
\* ------------------------------------ */
/* ------------------------------------ *\
    $ICONOGRAPHY
\* ------------------------------------ */
/*! normalize.css v4.0.0 | MIT License | github.com/necolas/normalize.css */
/**
 * 1. Change the default font family in all browsers (opinionated).
 * 2. Prevent adjustments of font size after orientation changes in IE and iOS.
 */
html {
  font-family: sans-serif; /* 1 */
  -ms-text-size-adjust: 100%; /* 2 */
  -webkit-text-size-adjust: 100%; /* 2 */
}

/**
 * Remove the margin in all browsers (opinionated).
 */
body {
  margin: 0;
}

/* HTML5 display definitions
   ========================================================================== */
/**
 * Add the correct display in IE 9-.
 * 1. Add the correct display in Edge, IE, and Firefox.
 * 2. Add the correct display in IE.
 */
article,
aside,
details,
figcaption,
figure,
footer,
header,
main,
menu,
nav,
section,
summary { /* 1 */
  display: block;
}

/**
 * Add the correct display in IE 9-.
 */
audio,
canvas,
progress,
video {
  display: inline-block;
}

/**
 * Add the correct display in iOS 4-7.
 */
audio:not([controls]) {
  display: none;
  height: 0;
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  vertical-align: baseline;
}

/**
 * Add the correct display in IE 10-.
 * 1. Add the correct display in IE.
 */
template,
[hidden] {
  display: none;
}

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

/**
 * Remove the outline on focused links when they are also active or hovered
 * in all browsers (opinionated).
 */
a:active,
a:hover {
  outline-width: 0;
}

/* Text-level semantics
   ========================================================================== */
/**
 * 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;
}

/**
 * Add the correct font style in Android 4.3-.
 */
dfn {
  font-style: italic;
}

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

/**
 * 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
   ========================================================================== */
/**
 * Remove the border on images inside links in IE 10-.
 */
img {
  border-style: none;
}

/**
 * Hide the overflow in IE.
 */
svg:not(:root) {
  overflow: hidden;
}

/* Grouping content
   ========================================================================== */
/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
pre,
samp {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

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

/* Forms
   ========================================================================== */
/**
 * Change font properties to `inherit` in all browsers (opinionated).
 */
button,
input,
select,
textarea {
  font: inherit;
}

/**
 * Restore the font weight unset by the previous rule.
 */
optgroup {
  font-weight: bold;
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 * 2. Show the overflow in Edge, Firefox, and IE.
 */
button,
input,
select { /* 2 */
  overflow: visible;
}

/**
 * Remove the margin in Safari.
 * 1. Remove the margin in Firefox and Safari.
 */
button,
input,
select,
textarea { /* 1 */
  margin: 0;
}

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

/**
 * Change the cursor in all browsers (opinionated).
 */
button,
[type=button],
[type=reset],
[type=submit] {
  cursor: pointer;
}

/**
 * Restore the default cursor to disabled elements unset by the previous rule.
 */
[disabled] {
  cursor: default;
}

/**
 * 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.
 */
button,
html [type=button],
[type=reset],
[type=submit] {
  -webkit-appearance: button; /* 2 */
}

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

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
input:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
 * Change the border, margin, and padding in all browsers (opinionated).
 */
fieldset {
  border: 1px solid #c8c8c8;
  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 */
}

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

/**
 * Correct the odd appearance of search inputs in Chrome and Safari.
 */
[type=search] {
  -webkit-appearance: textfield;
}

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

/*!
 * Ladda
 * http://lab.hakim.se/ladda
 * MIT licensed
 *
 * Copyright (C) 2015 Hakim El Hattab, http://hakim.se
 */
/*************************************
 * CONFIG
 */
/*************************************
 * MIXINS
 */
/*************************************
 * BUTTON BASE
 */
.ladda-button {
  position: relative;
}

/* Spinner animation */
.ladda-button .ladda-spinner {
  position: absolute;
  z-index: 2;
  display: inline-block;
  width: 32px;
  height: 32px;
  top: 50%;
  margin-top: 0;
  opacity: 0;
  pointer-events: none;
}

/* Button label */
.ladda-button .ladda-label {
  position: relative;
  z-index: 3;
}

/* Progress bar */
.ladda-button .ladda-progress {
  position: absolute;
  width: 0;
  height: 100%;
  left: 0;
  top: 0;
  background: rgba(0, 0, 0, 0.2);
  visibility: hidden;
  opacity: 0;
  transition: 0.1s linear all !important;
}

.ladda-button[data-loading] .ladda-progress {
  opacity: 1;
  visibility: visible;
}

/*************************************
 * EASING
 */
.ladda-button,
.ladda-button .ladda-spinner,
.ladda-button .ladda-label {
  transition: 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275) all !important;
}

.ladda-button[data-style=zoom-in],
.ladda-button[data-style=zoom-in] .ladda-spinner,
.ladda-button[data-style=zoom-in] .ladda-label,
.ladda-button[data-style=zoom-out],
.ladda-button[data-style=zoom-out] .ladda-spinner,
.ladda-button[data-style=zoom-out] .ladda-label {
  transition: 0.3s ease all !important;
}

/*************************************
 * EXPAND LEFT
 */
.ladda-button[data-style=expand-right] .ladda-spinner {
  right: -6px;
}
.ladda-button[data-style=expand-right][data-size=s] .ladda-spinner, .ladda-button[data-style=expand-right][data-size=xs] .ladda-spinner {
  right: -12px;
}
.ladda-button[data-style=expand-right][data-loading] {
  padding-right: 56px;
}
.ladda-button[data-style=expand-right][data-loading] .ladda-spinner {
  opacity: 1;
}
.ladda-button[data-style=expand-right][data-loading][data-size=s], .ladda-button[data-style=expand-right][data-loading][data-size=xs] {
  padding-right: 40px;
}

/*************************************
 * EXPAND RIGHT
 */
.ladda-button[data-style=expand-left] .ladda-spinner {
  left: 26px;
}
.ladda-button[data-style=expand-left][data-size=s] .ladda-spinner, .ladda-button[data-style=expand-left][data-size=xs] .ladda-spinner {
  left: 4px;
}
.ladda-button[data-style=expand-left][data-loading] {
  padding-left: 56px;
}
.ladda-button[data-style=expand-left][data-loading] .ladda-spinner {
  opacity: 1;
}
.ladda-button[data-style=expand-left][data-loading][data-size=s], .ladda-button[data-style=expand-left][data-loading][data-size=xs] {
  padding-left: 40px;
}

/*************************************
 * EXPAND UP
 */
.ladda-button[data-style=expand-up] {
  overflow: hidden;
}
.ladda-button[data-style=expand-up] .ladda-spinner {
  top: -32px;
  left: 50%;
  margin-left: 0;
}
.ladda-button[data-style=expand-up][data-loading] {
  padding-top: 54px;
}
.ladda-button[data-style=expand-up][data-loading] .ladda-spinner {
  opacity: 1;
  top: 26px;
  margin-top: 0;
}
.ladda-button[data-style=expand-up][data-loading][data-size=s], .ladda-button[data-style=expand-up][data-loading][data-size=xs] {
  padding-top: 32px;
}
.ladda-button[data-style=expand-up][data-loading][data-size=s] .ladda-spinner, .ladda-button[data-style=expand-up][data-loading][data-size=xs] .ladda-spinner {
  top: 4px;
}

/*************************************
 * EXPAND DOWN
 */
.ladda-button[data-style=expand-down] {
  overflow: hidden;
}
.ladda-button[data-style=expand-down] .ladda-spinner {
  top: 62px;
  left: 50%;
  margin-left: 0;
}
.ladda-button[data-style=expand-down][data-size=s] .ladda-spinner, .ladda-button[data-style=expand-down][data-size=xs] .ladda-spinner {
  top: 40px;
}
.ladda-button[data-style=expand-down][data-loading] {
  padding-bottom: 54px;
}
.ladda-button[data-style=expand-down][data-loading] .ladda-spinner {
  opacity: 1;
}
.ladda-button[data-style=expand-down][data-loading][data-size=s], .ladda-button[data-style=expand-down][data-loading][data-size=xs] {
  padding-bottom: 32px;
}

/*************************************
 * SLIDE LEFT
 */
.ladda-button[data-style=slide-left] {
  overflow: hidden;
}
.ladda-button[data-style=slide-left] .ladda-label {
  position: relative;
}
.ladda-button[data-style=slide-left] .ladda-spinner {
  left: 100%;
  margin-left: 0;
}
.ladda-button[data-style=slide-left][data-loading] .ladda-label {
  opacity: 0;
  left: -100%;
}
.ladda-button[data-style=slide-left][data-loading] .ladda-spinner {
  opacity: 1;
  left: 50%;
}

/*************************************
 * SLIDE RIGHT
 */
.ladda-button[data-style=slide-right] {
  overflow: hidden;
}
.ladda-button[data-style=slide-right] .ladda-label {
  position: relative;
}
.ladda-button[data-style=slide-right] .ladda-spinner {
  right: 100%;
  margin-left: 0;
  left: 16px;
}
.ladda-button[data-style=slide-right][data-loading] .ladda-label {
  opacity: 0;
  left: 100%;
}
.ladda-button[data-style=slide-right][data-loading] .ladda-spinner {
  opacity: 1;
  left: 50%;
}

/*************************************
 * SLIDE UP
 */
.ladda-button[data-style=slide-up] {
  overflow: hidden;
}
.ladda-button[data-style=slide-up] .ladda-label {
  position: relative;
}
.ladda-button[data-style=slide-up] .ladda-spinner {
  left: 50%;
  margin-left: 0;
  margin-top: 1em;
}
.ladda-button[data-style=slide-up][data-loading] .ladda-label {
  opacity: 0;
  top: -1em;
}
.ladda-button[data-style=slide-up][data-loading] .ladda-spinner {
  opacity: 1;
  margin-top: 0;
}

/*************************************
 * SLIDE DOWN
 */
.ladda-button[data-style=slide-down] {
  overflow: hidden;
}
.ladda-button[data-style=slide-down] .ladda-label {
  position: relative;
}
.ladda-button[data-style=slide-down] .ladda-spinner {
  left: 50%;
  margin-left: 0;
  margin-top: -2em;
}
.ladda-button[data-style=slide-down][data-loading] .ladda-label {
  opacity: 0;
  top: 1em;
}
.ladda-button[data-style=slide-down][data-loading] .ladda-spinner {
  opacity: 1;
  margin-top: 0;
}

/*************************************
 * ZOOM-OUT
 */
.ladda-button[data-style=zoom-out] {
  overflow: hidden;
}

.ladda-button[data-style=zoom-out] .ladda-spinner {
  left: 50%;
  margin-left: 32px;
  transform: scale(2.5);
}

.ladda-button[data-style=zoom-out] .ladda-label {
  position: relative;
  display: inline-block;
}

.ladda-button[data-style=zoom-out][data-loading] .ladda-label {
  opacity: 0;
  transform: scale(0.5);
}

.ladda-button[data-style=zoom-out][data-loading] .ladda-spinner {
  opacity: 1;
  margin-left: 0;
  transform: none;
}

/*************************************
 * ZOOM-IN
 */
.ladda-button[data-style=zoom-in] {
  overflow: hidden;
}

.ladda-button[data-style=zoom-in] .ladda-spinner {
  left: 50%;
  margin-left: -16px;
  transform: scale(0.2);
}

.ladda-button[data-style=zoom-in] .ladda-label {
  position: relative;
  display: inline-block;
}

.ladda-button[data-style=zoom-in][data-loading] .ladda-label {
  opacity: 0;
  transform: scale(2.2);
}

.ladda-button[data-style=zoom-in][data-loading] .ladda-spinner {
  opacity: 1;
  margin-left: 0;
  transform: none;
}

/*************************************
 * CONTRACT
 */
.ladda-button[data-style=contract] {
  overflow: hidden;
  width: 100px;
}

.ladda-button[data-style=contract] .ladda-spinner {
  left: 50%;
  margin-left: 0;
}

.ladda-button[data-style=contract][data-loading] {
  border-radius: 50%;
  width: 52px;
}

.ladda-button[data-style=contract][data-loading] .ladda-label {
  opacity: 0;
}

.ladda-button[data-style=contract][data-loading] .ladda-spinner {
  opacity: 1;
}

/*************************************
 * OVERLAY
 */
.ladda-button[data-style=contract-overlay] {
  overflow: hidden;
  width: 100px;
  box-shadow: 0px 0px 0px 2000px rgba(0, 0, 0, 0);
}

.ladda-button[data-style=contract-overlay] .ladda-spinner {
  left: 50%;
  margin-left: 0;
}

.ladda-button[data-style=contract-overlay][data-loading] {
  border-radius: 50%;
  width: 52px;
  /*outline: 10000px solid rgba( 0, 0, 0, 0.5 );*/
  box-shadow: 0px 0px 0px 2000px rgba(0, 0, 0, 0.8);
}

.ladda-button[data-style=contract-overlay][data-loading] .ladda-label {
  opacity: 0;
}

.ladda-button[data-style=contract-overlay][data-loading] .ladda-spinner {
  opacity: 1;
}

/*
 * The below is required for proper sticky polyfill support.
 * Taken from: https://github.com/soenkekluth/sticky-state
 */
.sticky-fixed.is-sticky {
  position: fixed;
  backface-visibility: hidden;
}

.sticky-fixed.is-sticky:not([style*=margin-top]) {
  margin-top: 0 !important;
}

.sticky-fixed.is-sticky:not([style*=margin-bottom]) {
  margin-bottom: 0 !important;
}

.sticky-fixed.is-absolute {
  position: absolute;
}

/* Custom CSS styles for the confetti background JS plugin */
[data-confetti-canvas] {
  position: fixed;
  display: block;
  z-index: -1;
  pointer-events: none;
}

[data-confetti-css-for-screen=ep-dashboard] {
  z-index: 1043;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
  [data-confetti-css-for-screen=ep-dashboard] + .white-modal--content-wrapper {
    z-index: 1;
    position: relative;
    top: 0;
    left: 0;
  }
}

[data-confetti-css-for-screen=membership-success] {
  z-index: 1;
}

/**
*  Accordion jQuery Plugin
*  Apply a `data-accordion` attribute to the wrapping element
*  The expanded/collapsed indicator is automatically added to the
*  element that handles the click event. You indicate this element by
*  applying the `data-accordion-click-handler` attribute. If you want
*  to use your own you can also add a `data-accordion-no-indicator`
*  and you will then be able to apply your own toggle. Apply the expanded
*  styles based on the `data-accordion` element having an `aria-expanded="true"`
*  attribute. The `aria-expanded` attribute is used to help with usability.
*/
[data-accordion] [data-accordion-click-handler] {
  cursor: pointer;
  position: relative;
}
[data-accordion] [data-accordion-click-handler]:not([data-accordion-no-indicator]):after {
  position: absolute;
  display: block;
  content: "";
  background-image: url("/images/svg/standalone/thin-arrow.1.svg");
  color: #979797;
  transform: translateX(-3px);
  transition: transform 0.3s ease;
  right: 0;
  top: 20%;
  height: 15px;
  width: 15px;
  background-size: contain;
  background-position: center center;
}
[data-accordion] .accordion-indicator {
  display: block;
  content: "";
  background-image: url("/dynamic-assets/phosphor/caret-circle-right-duotone.svg?color=8B26D9");
  color: #8b26d9;
  transition: transform 0.3s ease;
  height: 20px;
  width: 20px;
  background-size: contain;
  background-position: center center;
  background-repeat: no-repeat;
  flex-shrink: 0;
}
[data-accordion][aria-expanded=true] .accordion-indicator {
  background-image: url("/dynamic-assets/phosphor/caret-circle-right-duotone.svg?color=8B26D9");
  color: #8b26d9;
  transform: rotate(90deg);
}
[data-accordion] [data-accordion-collapse-target] {
  height: 100%;
  max-height: 0px;
  transition: max-height 0.3s ease;
  overflow: hidden;
  display: block;
}
[data-accordion] [data-accordion-collapse-target] hr {
  transition: margin 0.3s ease;
}
[data-accordion][aria-expanded=false] [data-accordion-collapse-target] hr {
  margin-top: 0rem;
  margin-bottom: 0rem;
}
[data-accordion][aria-expanded=true] [data-accordion-click-handler]:not([data-accordion-no-indicator]):after {
  transform: rotate(-180deg) translateX(5px);
}
[data-accordion][aria-expanded=true] [data-accordion-collapse-target] {
  max-height: 5500px;
}
[data-accordion][aria-expanded=true] [data-accordion-collapse-target] hr {
  height: auto;
}
[data-accordion].accordion [data-accordion-collapse-target] {
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows 0.3s ease-in-out;
  overflow: hidden;
  max-height: 100%;
  height: auto;
}
[data-accordion].accordion [data-accordion-collapse-target] > * {
  min-height: 0;
  overflow: hidden;
}
[data-accordion].accordion [data-accordion-collapse-target] hr {
  transition: margin 0.3s ease-in-out;
}
[data-accordion].accordion[aria-expanded=false] [data-accordion-collapse-target] hr {
  margin-top: 0rem;
  margin-bottom: 0rem;
}
[data-accordion].accordion[aria-expanded=true] [data-accordion-click-handler]:not([data-accordion-no-indicator]):after {
  transform: rotate(-180deg) translateX(5px);
}
[data-accordion].accordion[aria-expanded=true] [data-accordion-collapse-target] {
  grid-template-rows: 1fr;
  max-height: none;
  overflow: visible !important;
}
[data-accordion].accordion[aria-expanded=true] [data-accordion-collapse-target] > * {
  overflow: visible;
  transition: overflow 0s 0.3s allow-discrete;
}
[data-accordion].accordion[aria-expanded=true] [data-accordion-collapse-target] hr {
  height: auto;
}

/*!
 * Cropper v@VERSION
 * https://github.com/fengyuanchen/cropper
 *
 * Copyright (c) 2014-@YEAR Fengyuan Chen and contributors
 * Released under the MIT license
 *
 * Date: @DATE
 */
.cropper-container {
  position: relative;
  font-size: 0;
  line-height: 0;
  direction: ltr !important;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
.cropper-container img {
  display: block;
  image-orientation: 0deg !important;
  min-width: 0 !important;
  min-height: 0 !important;
  max-width: none !important;
  max-height: none !important;
  width: 100%;
  height: 100%;
}

.cropper-wrap-box,
.cropper-canvas,
.cropper-drag-box,
.cropper-crop-box,
.cropper-modal {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}

.cropper-wrap-box {
  overflow: hidden;
}

.cropper-drag-box {
  background-color: #fff;
  opacity: 0;
  filter: alpha(opacity=0);
}

.cropper-modal {
  background-color: #000;
  opacity: 0.5;
  filter: alpha(opacity=50);
}

.cropper-view-box {
  display: block;
  overflow: hidden;
  outline: 1px solid #39f;
  outline-color: rgba(51, 153, 255, 0.75);
  width: 100%;
  height: 100%;
}

.cropper-dashed {
  position: absolute;
  display: block;
  border: 0 dashed #eee;
  opacity: 0.5;
  filter: alpha(opacity=50);
}
.cropper-dashed.dashed-h {
  top: 33.3333333333%;
  left: 0;
  border-top-width: 1px;
  border-bottom-width: 1px;
  width: 100%;
  height: 33.3333333333%;
}
.cropper-dashed.dashed-v {
  top: 0;
  left: 33.3333333333%;
  border-right-width: 1px;
  border-left-width: 1px;
  width: 33.3333333333%;
  height: 100%;
}

.cropper-center {
  position: absolute;
  top: 50%;
  left: 50%;
  display: block;
  width: 0;
  height: 0;
  opacity: 0.75;
  filter: alpha(opacity=75);
}
.cropper-center:before, .cropper-center:after {
  position: absolute;
  display: block;
  background-color: #eee;
  content: " ";
}
.cropper-center:before {
  top: 0;
  left: -3px;
  width: 7px;
  height: 1px;
}
.cropper-center:after {
  top: -3px;
  left: 0;
  width: 1px;
  height: 7px;
}

.cropper-face,
.cropper-line,
.cropper-point {
  position: absolute;
  display: block;
  width: 100%;
  height: 100%;
  opacity: 0.1;
  filter: alpha(opacity=10);
}

.cropper-face {
  top: 0;
  left: 0;
  background-color: #fff;
}

.cropper-line {
  background-color: #39f;
}
.cropper-line.line-e {
  top: 0;
  right: -3px;
  width: 5px;
  cursor: e-resize;
}
.cropper-line.line-n {
  top: -3px;
  left: 0;
  height: 5px;
  cursor: n-resize;
}
.cropper-line.line-w {
  top: 0;
  left: -3px;
  width: 5px;
  cursor: w-resize;
}
.cropper-line.line-s {
  bottom: -3px;
  left: 0;
  height: 5px;
  cursor: s-resize;
}

.cropper-point {
  background-color: #39f;
  width: 5px;
  height: 5px;
  opacity: 0.75;
  filter: alpha(opacity=75);
}
.cropper-point.point-e {
  top: 50%;
  right: -3px;
  margin-top: -3px;
  cursor: e-resize;
}
.cropper-point.point-n {
  top: -3px;
  left: 50%;
  margin-left: -3px;
  cursor: n-resize;
}
.cropper-point.point-w {
  top: 50%;
  left: -3px;
  margin-top: -3px;
  cursor: w-resize;
}
.cropper-point.point-s {
  bottom: -3px;
  left: 50%;
  margin-left: -3px;
  cursor: s-resize;
}
.cropper-point.point-ne {
  top: -3px;
  right: -3px;
  cursor: ne-resize;
}
.cropper-point.point-nw {
  top: -3px;
  left: -3px;
  cursor: nw-resize;
}
.cropper-point.point-sw {
  bottom: -3px;
  left: -3px;
  cursor: sw-resize;
}
.cropper-point.point-se {
  right: -3px;
  bottom: -3px;
  cursor: se-resize;
  width: 20px;
  height: 20px;
  opacity: 1;
  filter: alpha(opacity=100);
}
.cropper-point.point-se:before {
  position: absolute;
  right: -50%;
  bottom: -50%;
  display: block;
  content: " ";
  background-color: #39f;
  width: 200%;
  height: 200%;
  opacity: 0;
  filter: alpha(opacity=0);
}
@media (min-width: 768px) {
  .cropper-point.point-se {
    width: 15px;
    height: 15px;
  }
}
@media (min-width: 992px) {
  .cropper-point.point-se {
    width: 10px;
    height: 10px;
  }
}
@media (min-width: 1200px) {
  .cropper-point.point-se {
    width: 5px;
    height: 5px;
    opacity: 0.75;
    filter: alpha(opacity=75);
  }
}

.cropper-invisible {
  opacity: 0;
  filter: alpha(opacity=0);
}

.cropper-bg {
  background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQAQMAAAAlPW0iAAAAA3NCSVQICAjb4U/gAAAABlBMVEXMzMz////TjRV2AAAACXBIWXMAAArrAAAK6wGCiw1aAAAAHHRFWHRTb2Z0d2FyZQBBZG9iZSBGaXJld29ya3MgQ1M26LyyjAAAABFJREFUCJlj+M/AgBVhF/0PAH6/D/HkDxOGAAAAAElFTkSuQmCC");
}

.cropper-hide {
  position: absolute;
  display: block;
  width: 0;
  height: 0;
}

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

.cropper-move {
  cursor: move;
}

.cropper-crop {
  cursor: crosshair;
}

.cropper-disabled .cropper-drag-box,
.cropper-disabled .cropper-face,
.cropper-disabled .cropper-line,
.cropper-disabled .cropper-point {
  cursor: not-allowed;
}

/* Magnific Popup CSS */
.mfp-bg {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1042;
  overflow: hidden;
  position: fixed;
  background: #0b0b0b;
  opacity: 0.8;
}

.mfp-wrap {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1043;
  position: fixed;
  outline: none !important;
  -webkit-backface-visibility: hidden;
}

.mfp-container {
  text-align: center;
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  padding: 0 8px;
  box-sizing: border-box;
}

.mfp-container:before {
  content: "";
  display: inline-block;
  height: 100%;
  vertical-align: middle;
}

.mfp-align-top .mfp-container:before {
  display: none;
}

.mfp-content {
  position: relative;
  display: inline-block;
  vertical-align: middle;
  margin: 0 auto;
  text-align: left;
  z-index: 1045;
}

.mfp-inline-holder .mfp-content,
.mfp-ajax-holder .mfp-content {
  width: 100%;
  cursor: auto;
}

.mfp-ajax-cur {
  cursor: progress;
}

.mfp-zoom-out-cur, .mfp-zoom-out-cur .mfp-image-holder .mfp-close {
  cursor: zoom-out;
}

.mfp-zoom {
  cursor: pointer;
  cursor: zoom-in;
}

.mfp-auto-cursor .mfp-content {
  cursor: auto;
}

.mfp-close,
.mfp-arrow,
.mfp-preloader,
.mfp-counter {
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
}

.mfp-loading.mfp-figure {
  display: none;
}

.mfp-hide {
  display: none !important;
}

.mfp-preloader {
  color: #CCC;
  position: absolute;
  top: 50%;
  width: auto;
  text-align: center;
  margin-top: -0.8em;
  left: 8px;
  right: 8px;
  z-index: 1044;
}
.mfp-preloader a {
  color: #CCC;
}
.mfp-preloader a:hover {
  color: #FFF;
}

.mfp-s-ready .mfp-preloader {
  display: none;
}

.mfp-s-error .mfp-content {
  display: none;
}

button.mfp-close, button.mfp-arrow {
  overflow: visible;
  cursor: pointer;
  background: transparent;
  border: 0;
  -webkit-appearance: none;
  display: block;
  outline: none;
  padding: 0;
  z-index: 1046;
  box-shadow: none;
  touch-action: manipulation;
}
button::-moz-focus-inner {
  padding: 0;
  border: 0;
}

.mfp-close {
  width: 44px;
  height: 44px;
  line-height: 44px;
  position: absolute;
  right: 0;
  top: 0;
  text-decoration: none;
  text-align: center;
  opacity: 0.65;
  padding: 0 0 18px 10px;
  color: #FFF;
  font-style: normal;
  font-size: 28px;
  font-family: Arial, Baskerville, monospace;
}
.mfp-close:hover, .mfp-close:focus {
  opacity: 1;
}
.mfp-close:active {
  top: 1px;
}

.mfp-close-btn-in .mfp-close {
  color: #333;
}

.mfp-image-holder .mfp-close,
.mfp-iframe-holder .mfp-close {
  color: #FFF;
  right: -6px;
  text-align: right;
  padding-right: 6px;
  width: 100%;
}

.mfp-counter {
  position: absolute;
  top: 0;
  right: 0;
  color: #CCC;
  font-size: 12px;
  line-height: 18px;
  white-space: nowrap;
}

.mfp-arrow {
  position: absolute;
  opacity: 0.65;
  margin: 0;
  top: 50%;
  margin-top: -55px;
  padding: 0;
  width: 90px;
  height: 110px;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
.mfp-arrow:active {
  margin-top: -54px;
}
.mfp-arrow:hover, .mfp-arrow:focus {
  opacity: 1;
}
.mfp-arrow:before, .mfp-arrow:after {
  content: "";
  display: block;
  width: 0;
  height: 0;
  position: absolute;
  left: 0;
  top: 0;
  margin-top: 35px;
  margin-left: 35px;
  border: medium inset transparent;
}
.mfp-arrow:after {
  border-top-width: 13px;
  border-bottom-width: 13px;
  top: 8px;
}
.mfp-arrow:before {
  border-top-width: 21px;
  border-bottom-width: 21px;
  opacity: 0.7;
}

.mfp-arrow-left {
  left: 0;
}
.mfp-arrow-left:after {
  border-right: 17px solid #FFF;
  margin-left: 31px;
}
.mfp-arrow-left:before {
  margin-left: 25px;
  border-right: 27px solid #3F3F3F;
}

.mfp-arrow-right {
  right: 0;
}
.mfp-arrow-right:after {
  border-left: 17px solid #FFF;
  margin-left: 39px;
}
.mfp-arrow-right:before {
  border-left: 27px solid #3F3F3F;
}

.mfp-iframe-holder {
  padding-top: 40px;
  padding-bottom: 40px;
}
.mfp-iframe-holder .mfp-content {
  line-height: 0;
  width: 100%;
  max-width: 900px;
}
.mfp-iframe-holder .mfp-close {
  top: -40px;
}

.mfp-iframe-scaler {
  width: 100%;
  height: 0;
  overflow: hidden;
  padding-top: 56.25%;
}
.mfp-iframe-scaler iframe {
  position: absolute;
  display: block;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
  background: #000;
}

/* Main image in popup */
img.mfp-img {
  width: auto;
  max-width: 100%;
  height: auto;
  display: block;
  line-height: 0;
  box-sizing: border-box;
  padding: 40px 0 40px;
  margin: 0 auto;
}

/* The shadow behind the image */
.mfp-figure {
  line-height: 0;
}
.mfp-figure:after {
  content: "";
  position: absolute;
  left: 0;
  top: 40px;
  bottom: 40px;
  display: block;
  right: 0;
  width: auto;
  height: auto;
  z-index: -1;
  box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
  background: #444;
}
.mfp-figure small {
  color: #BDBDBD;
  display: block;
  font-size: 12px;
  line-height: 14px;
}
.mfp-figure figure {
  margin: 0;
}

.mfp-bottom-bar {
  margin-top: -36px;
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  cursor: auto;
}

.mfp-title {
  text-align: left;
  line-height: 18px;
  color: #F3F3F3;
  word-wrap: break-word;
  padding-right: 36px;
}

.mfp-image-holder .mfp-content {
  max-width: 100%;
}

.mfp-gallery .mfp-image-holder .mfp-figure {
  cursor: pointer;
}

@media screen and (max-width: 800px) and (orientation: landscape), screen and (max-height: 300px) {
  /**
   * Remove all paddings around the image on small screen
   */
  .mfp-img-mobile .mfp-image-holder {
    padding-left: 0;
    padding-right: 0;
  }
  .mfp-img-mobile img.mfp-img {
    padding: 0;
  }
  .mfp-img-mobile .mfp-figure:after {
    top: 0;
    bottom: 0;
  }
  .mfp-img-mobile .mfp-figure small {
    display: inline;
    margin-left: 5px;
  }
  .mfp-img-mobile .mfp-bottom-bar {
    background: rgba(0, 0, 0, 0.6);
    bottom: 0;
    margin: 0;
    top: auto;
    padding: 3px 5px;
    position: fixed;
    box-sizing: border-box;
  }
  .mfp-img-mobile .mfp-bottom-bar:empty {
    padding: 0;
  }
  .mfp-img-mobile .mfp-counter {
    right: 5px;
    top: 3px;
  }
  .mfp-img-mobile .mfp-close {
    top: 0;
    right: 0;
    width: 35px;
    height: 35px;
    line-height: 35px;
    background: rgba(0, 0, 0, 0.6);
    position: fixed;
    text-align: center;
    padding: 0;
  }
}
@media all and (max-width: 900px) {
  .mfp-arrow {
    transform: scale(0.75);
  }
  .mfp-arrow-left {
    transform-origin: 0;
  }
  .mfp-arrow-right {
    transform-origin: 100%;
  }
  .mfp-container {
    padding-left: 6px;
    padding-right: 6px;
  }
}
/**
 * Foundation for Sites
 * Version 6.9.0
 * https://get.foundation
 * Licensed under MIT Open Source
 */
/* 2 */
/*! normalize.css v8.0.0 | MIT License | github.com/necolas/normalize.css */
html {
  line-height: 1.15;
  -webkit-text-size-adjust: 100%;
}

body {
  margin: 0;
}

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

hr {
  box-sizing: content-box;
  height: 0;
  overflow: visible;
}

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

a {
  background-color: transparent;
}

abbr[title] {
  border-bottom: 0;
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
}

b,
strong {
  font-weight: bolder;
}

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

small {
  font-size: 80%;
}

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

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

img {
  border-style: none;
}

button,
input,
optgroup,
select,
textarea {
  font-family: inherit;
  font-size: 100%;
  line-height: 1.15;
  margin: 0;
}

button,
input {
  overflow: visible;
}

button,
select {
  text-transform: none;
}

button,
[type=button],
[type=reset],
[type=submit] {
  -webkit-appearance: button;
}

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

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

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

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

progress {
  vertical-align: baseline;
}

textarea {
  overflow: auto;
}

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

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

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

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

::-webkit-file-upload-button {
  -webkit-appearance: button;
  font: inherit;
}

details {
  display: block;
}

summary {
  display: list-item;
}

template {
  display: none;
}

[hidden] {
  display: none;
}

[data-whatintent=mouse] *, [data-whatintent=mouse] *:focus,
[data-whatintent=touch] *,
[data-whatintent=touch] *:focus,
[data-whatinput=mouse] *,
[data-whatinput=mouse] *:focus,
[data-whatinput=touch] *,
[data-whatinput=touch] *:focus {
  outline: none;
}

[draggable=false] {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
}

.foundation-mq {
  font-family: "small=0em&medium=48.0625em&large=60em&xlarge=75em&xxlarge=90em";
}

html {
  box-sizing: border-box;
  font-size: 100%;
}

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

body {
  margin: 0;
  padding: 0;
  background: #ffffff;
  font-family: "Inter-GigSalad", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
  font-weight: normal;
  line-height: 1.4;
  color: #3f3f46;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

img {
  display: inline-block;
  vertical-align: middle;
  max-width: 100%;
  height: auto;
  -ms-interpolation-mode: bicubic;
}

textarea {
  height: auto;
  min-height: 50px;
  border-radius: 8px;
}

select {
  box-sizing: border-box;
  width: 100%;
  border-radius: 8px;
}

.map_canvas img,
.map_canvas embed,
.map_canvas object,
.mqa-display img,
.mqa-display embed,
.mqa-display object {
  max-width: none !important;
}

[data-whatinput=mouse] button {
  outline: 0;
}
button {
  padding: 0;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: 0;
  border-radius: 8px;
  background: transparent;
  line-height: 1;
  cursor: auto;
}

pre {
  overflow: auto;
  -webkit-overflow-scrolling: touch;
}

button,
input,
optgroup,
select,
textarea {
  font-family: inherit;
}

.is-visible {
  display: block !important;
}

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

div,
dl,
dt,
dd,
ul,
ol,
li,
h1,
h2,
h3,
h4,
h5,
h6,
pre,
form,
p,
blockquote,
th,
td {
  margin: 0;
  padding: 0;
}

p {
  margin-bottom: 0;
  font-size: inherit;
  line-height: 24px;
  text-rendering: optimizeLegibility;
}

em,
i {
  font-style: italic;
  line-height: inherit;
}

strong,
b {
  font-weight: 700;
  line-height: inherit;
}

small {
  font-size: 80%;
  line-height: inherit;
}

h1, .h1,
h2, .h2,
h3, .h3,
h4, .h4,
h5, .h5,
h6, .h6 {
  font-family: "Garnett", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
  font-style: normal;
  font-weight: 600;
  color: inherit;
  text-rendering: optimizeLegibility;
}
h1 small, .h1 small,
h2 small, .h2 small,
h3 small, .h3 small,
h4 small, .h4 small,
h5 small, .h5 small,
h6 small, .h6 small {
  line-height: 0;
  color: #c5cacc;
}

h1, .h1 {
  font-size: 0.875rem;
  line-height: 1.4;
  margin-top: 0;
  margin-bottom: 0;
}

h2, .h2 {
  font-size: 0.875rem;
  line-height: 1.4;
  margin-top: 0;
  margin-bottom: 0;
}

h3, .h3 {
  font-size: 0.875rem;
  line-height: 1.4;
  margin-top: 0;
  margin-bottom: 0;
}

h4, .h4 {
  font-size: 0.875rem;
  line-height: 1.4;
  margin-top: 0;
  margin-bottom: 0;
}

h5, .h5 {
  font-size: 0.875rem;
  line-height: 1.4;
  margin-top: 0;
  margin-bottom: 0;
}

h6, .h6 {
  font-size: 0.875rem;
  line-height: 1.4;
  margin-top: 0;
  margin-bottom: 0;
}

@media print, screen and (min-width: 48.0625em) {
  h1, .h1 {
    font-size: 0.875rem;
  }
  h2, .h2 {
    font-size: 0.875rem;
  }
  h3, .h3 {
    font-size: 0.875rem;
  }
  h4, .h4 {
    font-size: 0.875rem;
  }
  h5, .h5 {
    font-size: 0.875rem;
  }
  h6, .h6 {
    font-size: 0.875rem;
  }
}
a {
  line-height: inherit;
  color: #8b26d9;
  text-decoration: none;
  cursor: pointer;
}
a:hover, a:focus {
  color: currentColor;
}
a img {
  border: 0;
}

hr {
  clear: both;
  max-width: 90rem;
  height: 0;
  margin: 1.4375rem auto;
  border-top: 0;
  border-right: 0;
  border-bottom: 1px solid #e4e4e7;
  border-left: 0;
}

ul,
ol,
dl {
  margin-bottom: 0;
  list-style-position: outside;
  line-height: 24px;
}

li {
  font-size: inherit;
}

ul {
  margin-left: 1.25rem;
  list-style-type: disc;
}

ol {
  margin-left: 1.25rem;
}

ul ul, ul ol, ol ul, ol ol {
  margin-left: 1.25rem;
  margin-bottom: 0;
}

dl {
  margin-bottom: 1rem;
}
dl dt {
  margin-bottom: 0.3rem;
  font-weight: 700;
}

blockquote {
  margin: 0 0 0;
  padding: 0.5625rem 1.25rem 0 1.1875rem;
  border-left: 1px solid #c5cacc;
}
blockquote, blockquote p {
  line-height: 24px;
  color: #242a2e;
}

abbr, abbr[title] {
  border-bottom: 1px dotted #3f3f46;
  cursor: help;
  text-decoration: none;
}

figure {
  margin: 0;
}

kbd {
  margin: 0;
  padding: 0.125rem 0.25rem 0;
  background-color: #71717a;
  font-family: Consolas, "Liberation Mono", Courier, monospace;
  color: #3f3f46;
  border-radius: 8px;
}

.subheader {
  margin-top: 0.2rem;
  margin-bottom: 0.5rem;
  font-weight: normal;
  line-height: 1.4;
  color: #242a2e;
}

.lead {
  font-size: 125%;
  line-height: 1.6;
}

.stat {
  font-size: 2.5rem;
  line-height: 1;
}
p + .stat {
  margin-top: -1rem;
}

ul.no-bullet, ol.no-bullet {
  margin-left: 0;
  list-style: none;
}

.cite-block, cite {
  display: block;
  color: #242a2e;
  font-size: 0.8125rem;
}
.cite-block:before, cite:before {
  content: "— ";
}

.code-inline, code {
  border: none;
  background-color: transparent;
  font-family: Consolas, "Liberation Mono", Courier, monospace;
  font-weight: normal;
  color: #3f3f46;
  display: inline;
  max-width: 100%;
  word-wrap: break-word;
  padding: 0.125rem 0.3125rem 0.0625rem;
}

.code-block {
  border: none;
  background-color: transparent;
  font-family: Consolas, "Liberation Mono", Courier, monospace;
  font-weight: normal;
  color: #3f3f46;
  display: block;
  overflow: auto;
  white-space: pre;
  padding: 1rem;
  margin-bottom: 1.5rem;
}

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

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

.text-center {
  text-align: center;
}

.text-justify {
  text-align: justify;
}

@media print, screen and (min-width: 48.0625em) {
  .medium-text-left {
    text-align: left;
  }
  .medium-text-right {
    text-align: right;
  }
  .medium-text-center {
    text-align: center;
  }
  .medium-text-justify {
    text-align: justify;
  }
}
@media print, screen and (min-width: 60em) {
  .large-text-left {
    text-align: left;
  }
  .large-text-right {
    text-align: right;
  }
  .large-text-center {
    text-align: center;
  }
  .large-text-justify {
    text-align: justify;
  }
}
.show-for-print {
  display: none !important;
}

@media print {
  * {
    background: transparent !important;
    color: black !important;
    -webkit-print-color-adjust: economy;
            print-color-adjust: economy;
    box-shadow: none !important;
    text-shadow: none !important;
  }
  .show-for-print {
    display: block !important;
  }
  .hide-for-print {
    display: none !important;
  }
  table.show-for-print {
    display: table !important;
  }
  thead.show-for-print {
    display: table-header-group !important;
  }
  tbody.show-for-print {
    display: table-row-group !important;
  }
  tr.show-for-print {
    display: table-row !important;
  }
  td.show-for-print {
    display: table-cell !important;
  }
  th.show-for-print {
    display: table-cell !important;
  }
  a,
  a:visited {
    text-decoration: underline;
  }
  a[href]:after {
    content: " (" attr(href) ")";
  }
  .ir a:after,
  a[href^="javascript:"]:after,
  a[href^="#"]:after {
    content: "";
  }
  abbr[title]:after {
    content: " (" attr(title) ")";
  }
  pre,
  blockquote {
    border: 1px solid #242a2e;
    page-break-inside: avoid;
  }
  thead {
    display: table-header-group;
  }
  tr,
  img {
    page-break-inside: avoid;
  }
  img {
    max-width: 100% !important;
  }
  @page {
    margin: 0.5cm;
  }
  p,
  h2,
  h3 {
    orphans: 3;
    widows: 3;
  }
  h2,
  h3 {
    page-break-after: avoid;
  }
  .print-break-inside {
    page-break-inside: auto;
  }
}
.breadcrumbs {
  margin: 0;
  list-style: none;
}
.breadcrumbs::before, .breadcrumbs::after {
  display: table;
  content: " ";
  flex-basis: 0;
  order: 1;
}
.breadcrumbs::after {
  clear: both;
}
.breadcrumbs li {
  float: left;
  font-size: 0.875rem;
  color: #3f3f46;
  cursor: default;
}
.breadcrumbs li:not(:last-child)::after {
  position: relative;
  margin: 0 0.75rem;
  opacity: 1;
  content: "/";
  color: #c5cacc;
}
.breadcrumbs a {
  color: inherit;
}
.breadcrumbs a:hover {
  text-decoration: underline;
}
.breadcrumbs .disabled {
  color: #c5cacc;
  cursor: not-allowed;
}

.button {
  display: inline-block;
  vertical-align: middle;
  margin: 0 0 1.5rem 0;
  border: 1px solid transparent;
  border-radius: 8px;
  transition: all 0.25s cubic-bezier(0.175, 0.885, 0.32, 1.275), background-color 0.25s ease-out, color 0.25s ease-out, box-shadow 0.25s ease-out, border-color 0.25s ease-out !important;
  font-family: inherit;
  font-size: 1rem;
  font-weight: 600;
  -webkit-appearance: none;
  line-height: 1;
  text-align: center;
  cursor: pointer;
  padding: 15px 40px;
}
[data-whatinput=mouse] .button {
  outline: 0;
}
.button.tiny {
  font-size: 0.875rem;
}
.button.small {
  font-size: 0.875rem;
}
.button.large {
  font-size: 1.25rem;
}
.button.expanded {
  display: block;
  width: 100%;
  margin-right: 0;
  margin-left: 0;
}
.button, .button.disabled, .button[disabled], .button.disabled:hover, .button[disabled]:hover, .button.disabled:focus, .button[disabled]:focus {
  background-color: #4e027c;
  color: #ffffff;
}
.button:hover, .button:focus {
  background-color: rgba(78, 2, 124, 0.8);
  color: #ffffff;
}
.button.primary, .button.primary.disabled, .button.primary[disabled], .button.primary.disabled:hover, .button.primary[disabled]:hover, .button.primary.disabled:focus, .button.primary[disabled]:focus {
  background-color: #4e027c;
  color: #ffffff;
}
.button.primary:hover, .button.primary:focus {
  background-color: rgb(62.4, 1.6, 99.2);
  color: #ffffff;
}
.button.secondary, .button.secondary.disabled, .button.secondary[disabled], .button.secondary.disabled:hover, .button.secondary[disabled]:hover, .button.secondary.disabled:focus, .button.secondary[disabled]:focus {
  background-color: #3f3f46;
  color: #ffffff;
}
.button.secondary:hover, .button.secondary:focus {
  background-color: rgb(50.4, 50.4, 56);
  color: #ffffff;
}
.button.success, .button.success.disabled, .button.success[disabled], .button.success.disabled:hover, .button.success[disabled]:hover, .button.success.disabled:focus, .button.success[disabled]:focus {
  background-color: #25944c;
  color: #ffffff;
}
.button.success:hover, .button.success:focus {
  background-color: rgb(29.6, 118.4, 60.8);
  color: #ffffff;
}
.button.warning, .button.warning.disabled, .button.warning[disabled], .button.warning.disabled:hover, .button.warning[disabled]:hover, .button.warning.disabled:focus, .button.warning[disabled]:focus {
  background-color: #ffae00;
  color: #4e027c;
}
.button.warning:hover, .button.warning:focus {
  background-color: rgb(204, 139.2, 0);
  color: #4e027c;
}
.button.alert, .button.alert.disabled, .button.alert[disabled], .button.alert.disabled:hover, .button.alert[disabled]:hover, .button.alert.disabled:focus, .button.alert[disabled]:focus {
  background-color: #e63310;
  color: #ffffff;
}
.button.alert:hover, .button.alert:focus {
  background-color: rgb(184, 40.8, 12.8);
  color: #ffffff;
}
.button.hollow, .button.hollow:hover, .button.hollow:focus, .button.hollow.disabled, .button.hollow.disabled:hover, .button.hollow.disabled:focus, .button.hollow[disabled], .button.hollow[disabled]:hover, .button.hollow[disabled]:focus {
  background-color: transparent;
}
.button.hollow, .button.hollow.disabled, .button.hollow[disabled], .button.hollow.disabled:hover, .button.hollow[disabled]:hover, .button.hollow.disabled:focus, .button.hollow[disabled]:focus {
  border: 1px solid #4e027c;
  color: #4e027c;
}
.button.hollow:hover, .button.hollow:focus {
  border-color: #27013e;
  color: #27013e;
}
.button.hollow.primary, .button.hollow.primary.disabled, .button.hollow.primary[disabled], .button.hollow.primary.disabled:hover, .button.hollow.primary[disabled]:hover, .button.hollow.primary.disabled:focus, .button.hollow.primary[disabled]:focus {
  border: 1px solid #4e027c;
  color: #4e027c;
}
.button.hollow.primary:hover, .button.hollow.primary:focus {
  border-color: #27013e;
  color: #27013e;
}
.button.hollow.secondary, .button.hollow.secondary.disabled, .button.hollow.secondary[disabled], .button.hollow.secondary.disabled:hover, .button.hollow.secondary[disabled]:hover, .button.hollow.secondary.disabled:focus, .button.hollow.secondary[disabled]:focus {
  border: 1px solid #3f3f46;
  color: #3f3f46;
}
.button.hollow.secondary:hover, .button.hollow.secondary:focus {
  border-color: rgb(31.5, 31.5, 35);
  color: rgb(31.5, 31.5, 35);
}
.button.hollow.success, .button.hollow.success.disabled, .button.hollow.success[disabled], .button.hollow.success.disabled:hover, .button.hollow.success[disabled]:hover, .button.hollow.success.disabled:focus, .button.hollow.success[disabled]:focus {
  border: 1px solid #25944c;
  color: #25944c;
}
.button.hollow.success:hover, .button.hollow.success:focus {
  border-color: rgb(18.5, 74, 38);
  color: rgb(18.5, 74, 38);
}
.button.hollow.warning, .button.hollow.warning.disabled, .button.hollow.warning[disabled], .button.hollow.warning.disabled:hover, .button.hollow.warning[disabled]:hover, .button.hollow.warning.disabled:focus, .button.hollow.warning[disabled]:focus {
  border: 1px solid #ffae00;
  color: #ffae00;
}
.button.hollow.warning:hover, .button.hollow.warning:focus {
  border-color: rgb(127.5, 87, 0);
  color: rgb(127.5, 87, 0);
}
.button.hollow.alert, .button.hollow.alert.disabled, .button.hollow.alert[disabled], .button.hollow.alert.disabled:hover, .button.hollow.alert[disabled]:hover, .button.hollow.alert.disabled:focus, .button.hollow.alert[disabled]:focus {
  border: 1px solid #e63310;
  color: #e63310;
}
.button.hollow.alert:hover, .button.hollow.alert:focus {
  border-color: rgb(115, 25.5, 8);
  color: rgb(115, 25.5, 8);
}
.button.clear, .button.clear:hover, .button.clear:focus, .button.clear.disabled, .button.clear.disabled:hover, .button.clear.disabled:focus, .button.clear[disabled], .button.clear[disabled]:hover, .button.clear[disabled]:focus {
  border-color: transparent;
  background-color: transparent;
}
.button.clear, .button.clear.disabled, .button.clear[disabled], .button.clear.disabled:hover, .button.clear[disabled]:hover, .button.clear.disabled:focus, .button.clear[disabled]:focus {
  color: #4e027c;
}
.button.clear:hover, .button.clear:focus {
  color: #27013e;
}
.button.clear.primary, .button.clear.primary.disabled, .button.clear.primary[disabled], .button.clear.primary.disabled:hover, .button.clear.primary[disabled]:hover, .button.clear.primary.disabled:focus, .button.clear.primary[disabled]:focus {
  color: #4e027c;
}
.button.clear.primary:hover, .button.clear.primary:focus {
  color: #27013e;
}
.button.clear.secondary, .button.clear.secondary.disabled, .button.clear.secondary[disabled], .button.clear.secondary.disabled:hover, .button.clear.secondary[disabled]:hover, .button.clear.secondary.disabled:focus, .button.clear.secondary[disabled]:focus {
  color: #3f3f46;
}
.button.clear.secondary:hover, .button.clear.secondary:focus {
  color: rgb(31.5, 31.5, 35);
}
.button.clear.success, .button.clear.success.disabled, .button.clear.success[disabled], .button.clear.success.disabled:hover, .button.clear.success[disabled]:hover, .button.clear.success.disabled:focus, .button.clear.success[disabled]:focus {
  color: #25944c;
}
.button.clear.success:hover, .button.clear.success:focus {
  color: rgb(18.5, 74, 38);
}
.button.clear.warning, .button.clear.warning.disabled, .button.clear.warning[disabled], .button.clear.warning.disabled:hover, .button.clear.warning[disabled]:hover, .button.clear.warning.disabled:focus, .button.clear.warning[disabled]:focus {
  color: #ffae00;
}
.button.clear.warning:hover, .button.clear.warning:focus {
  color: rgb(127.5, 87, 0);
}
.button.clear.alert, .button.clear.alert.disabled, .button.clear.alert[disabled], .button.clear.alert.disabled:hover, .button.clear.alert[disabled]:hover, .button.clear.alert.disabled:focus, .button.clear.alert[disabled]:focus {
  color: #e63310;
}
.button.clear.alert:hover, .button.clear.alert:focus {
  color: rgb(115, 25.5, 8);
}
.button.disabled, .button[disabled] {
  opacity: 0.38;
  cursor: not-allowed;
}
.button.dropdown::after {
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0.4em;
  content: "";
  border-bottom-width: 0;
  border-color: #ffffff transparent transparent;
  position: relative;
  top: 0.4em;
  display: inline-block;
  float: right;
  margin-left: 40px;
}
.button.dropdown.hollow::after, .button.dropdown.clear::after {
  border-top-color: #4e027c;
}
.button.dropdown.hollow.primary::after, .button.dropdown.clear.primary::after {
  border-top-color: #4e027c;
}
.button.dropdown.hollow.secondary::after, .button.dropdown.clear.secondary::after {
  border-top-color: #3f3f46;
}
.button.dropdown.hollow.success::after, .button.dropdown.clear.success::after {
  border-top-color: #25944c;
}
.button.dropdown.hollow.warning::after, .button.dropdown.clear.warning::after {
  border-top-color: #ffae00;
}
.button.dropdown.hollow.alert::after, .button.dropdown.clear.alert::after {
  border-top-color: #e63310;
}
.button.arrow-only::after {
  top: -0.1em;
  float: none;
  margin-left: 0;
}

a.button:hover, a.button:focus {
  text-decoration: none;
}

.button-group {
  margin-bottom: 0;
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  flex-grow: 1;
}
.button-group::before, .button-group::after {
  display: none;
}
.button-group::before, .button-group::after {
  display: table;
  content: " ";
  flex-basis: 0;
  order: 1;
}
.button-group::after {
  clear: both;
}
.button-group .button {
  margin: 0;
  margin-right: 12px;
  margin-bottom: 12px;
  font-size: 1rem;
  flex: 0 0 auto;
}
.button-group .button:last-child {
  margin-right: 0;
}
.button-group.tiny .button {
  font-size: 0.875rem;
}
.button-group.small .button {
  font-size: 0.875rem;
}
.button-group.large .button {
  font-size: 1.25rem;
}
.button-group.expanded .button {
  flex: 1 1 0px;
}
.button-group.primary .button, .button-group.primary .button.disabled, .button-group.primary .button[disabled], .button-group.primary .button.disabled:hover, .button-group.primary .button[disabled]:hover, .button-group.primary .button.disabled:focus, .button-group.primary .button[disabled]:focus {
  background-color: #4e027c;
  color: #ffffff;
}
.button-group.primary .button:hover, .button-group.primary .button:focus {
  background-color: rgb(62.4, 1.6, 99.2);
  color: #ffffff;
}
.button-group.secondary .button, .button-group.secondary .button.disabled, .button-group.secondary .button[disabled], .button-group.secondary .button.disabled:hover, .button-group.secondary .button[disabled]:hover, .button-group.secondary .button.disabled:focus, .button-group.secondary .button[disabled]:focus {
  background-color: #3f3f46;
  color: #ffffff;
}
.button-group.secondary .button:hover, .button-group.secondary .button:focus {
  background-color: rgb(50.4, 50.4, 56);
  color: #ffffff;
}
.button-group.success .button, .button-group.success .button.disabled, .button-group.success .button[disabled], .button-group.success .button.disabled:hover, .button-group.success .button[disabled]:hover, .button-group.success .button.disabled:focus, .button-group.success .button[disabled]:focus {
  background-color: #25944c;
  color: #ffffff;
}
.button-group.success .button:hover, .button-group.success .button:focus {
  background-color: rgb(29.6, 118.4, 60.8);
  color: #ffffff;
}
.button-group.warning .button, .button-group.warning .button.disabled, .button-group.warning .button[disabled], .button-group.warning .button.disabled:hover, .button-group.warning .button[disabled]:hover, .button-group.warning .button.disabled:focus, .button-group.warning .button[disabled]:focus {
  background-color: #ffae00;
  color: #4e027c;
}
.button-group.warning .button:hover, .button-group.warning .button:focus {
  background-color: rgb(204, 139.2, 0);
  color: #4e027c;
}
.button-group.alert .button, .button-group.alert .button.disabled, .button-group.alert .button[disabled], .button-group.alert .button.disabled:hover, .button-group.alert .button[disabled]:hover, .button-group.alert .button.disabled:focus, .button-group.alert .button[disabled]:focus {
  background-color: #e63310;
  color: #ffffff;
}
.button-group.alert .button:hover, .button-group.alert .button:focus {
  background-color: rgb(184, 40.8, 12.8);
  color: #ffffff;
}
.button-group.hollow .button, .button-group.hollow .button:hover, .button-group.hollow .button:focus, .button-group.hollow .button.disabled, .button-group.hollow .button.disabled:hover, .button-group.hollow .button.disabled:focus, .button-group.hollow .button[disabled], .button-group.hollow .button[disabled]:hover, .button-group.hollow .button[disabled]:focus {
  background-color: transparent;
}
.button-group.hollow .button, .button-group.hollow .button.disabled, .button-group.hollow .button[disabled], .button-group.hollow .button.disabled:hover, .button-group.hollow .button[disabled]:hover, .button-group.hollow .button.disabled:focus, .button-group.hollow .button[disabled]:focus {
  border: 1px solid #4e027c;
  color: #4e027c;
}
.button-group.hollow .button:hover, .button-group.hollow .button:focus {
  border-color: #27013e;
  color: #27013e;
}
.button-group.hollow.primary .button, .button-group.hollow.primary .button.disabled, .button-group.hollow.primary .button[disabled], .button-group.hollow.primary .button.disabled:hover, .button-group.hollow.primary .button[disabled]:hover, .button-group.hollow.primary .button.disabled:focus, .button-group.hollow.primary .button[disabled]:focus, .button-group.hollow .button.primary, .button-group.hollow .button.primary.disabled, .button-group.hollow .button.primary[disabled], .button-group.hollow .button.primary.disabled:hover, .button-group.hollow .button.primary[disabled]:hover, .button-group.hollow .button.primary.disabled:focus, .button-group.hollow .button.primary[disabled]:focus {
  border: 1px solid #4e027c;
  color: #4e027c;
}
.button-group.hollow.primary .button:hover, .button-group.hollow.primary .button:focus, .button-group.hollow .button.primary:hover, .button-group.hollow .button.primary:focus {
  border-color: #27013e;
  color: #27013e;
}
.button-group.hollow.secondary .button, .button-group.hollow.secondary .button.disabled, .button-group.hollow.secondary .button[disabled], .button-group.hollow.secondary .button.disabled:hover, .button-group.hollow.secondary .button[disabled]:hover, .button-group.hollow.secondary .button.disabled:focus, .button-group.hollow.secondary .button[disabled]:focus, .button-group.hollow .button.secondary, .button-group.hollow .button.secondary.disabled, .button-group.hollow .button.secondary[disabled], .button-group.hollow .button.secondary.disabled:hover, .button-group.hollow .button.secondary[disabled]:hover, .button-group.hollow .button.secondary.disabled:focus, .button-group.hollow .button.secondary[disabled]:focus {
  border: 1px solid #3f3f46;
  color: #3f3f46;
}
.button-group.hollow.secondary .button:hover, .button-group.hollow.secondary .button:focus, .button-group.hollow .button.secondary:hover, .button-group.hollow .button.secondary:focus {
  border-color: rgb(31.5, 31.5, 35);
  color: rgb(31.5, 31.5, 35);
}
.button-group.hollow.success .button, .button-group.hollow.success .button.disabled, .button-group.hollow.success .button[disabled], .button-group.hollow.success .button.disabled:hover, .button-group.hollow.success .button[disabled]:hover, .button-group.hollow.success .button.disabled:focus, .button-group.hollow.success .button[disabled]:focus, .button-group.hollow .button.success, .button-group.hollow .button.success.disabled, .button-group.hollow .button.success[disabled], .button-group.hollow .button.success.disabled:hover, .button-group.hollow .button.success[disabled]:hover, .button-group.hollow .button.success.disabled:focus, .button-group.hollow .button.success[disabled]:focus {
  border: 1px solid #25944c;
  color: #25944c;
}
.button-group.hollow.success .button:hover, .button-group.hollow.success .button:focus, .button-group.hollow .button.success:hover, .button-group.hollow .button.success:focus {
  border-color: rgb(18.5, 74, 38);
  color: rgb(18.5, 74, 38);
}
.button-group.hollow.warning .button, .button-group.hollow.warning .button.disabled, .button-group.hollow.warning .button[disabled], .button-group.hollow.warning .button.disabled:hover, .button-group.hollow.warning .button[disabled]:hover, .button-group.hollow.warning .button.disabled:focus, .button-group.hollow.warning .button[disabled]:focus, .button-group.hollow .button.warning, .button-group.hollow .button.warning.disabled, .button-group.hollow .button.warning[disabled], .button-group.hollow .button.warning.disabled:hover, .button-group.hollow .button.warning[disabled]:hover, .button-group.hollow .button.warning.disabled:focus, .button-group.hollow .button.warning[disabled]:focus {
  border: 1px solid #ffae00;
  color: #ffae00;
}
.button-group.hollow.warning .button:hover, .button-group.hollow.warning .button:focus, .button-group.hollow .button.warning:hover, .button-group.hollow .button.warning:focus {
  border-color: rgb(127.5, 87, 0);
  color: rgb(127.5, 87, 0);
}
.button-group.hollow.alert .button, .button-group.hollow.alert .button.disabled, .button-group.hollow.alert .button[disabled], .button-group.hollow.alert .button.disabled:hover, .button-group.hollow.alert .button[disabled]:hover, .button-group.hollow.alert .button.disabled:focus, .button-group.hollow.alert .button[disabled]:focus, .button-group.hollow .button.alert, .button-group.hollow .button.alert.disabled, .button-group.hollow .button.alert[disabled], .button-group.hollow .button.alert.disabled:hover, .button-group.hollow .button.alert[disabled]:hover, .button-group.hollow .button.alert.disabled:focus, .button-group.hollow .button.alert[disabled]:focus {
  border: 1px solid #e63310;
  color: #e63310;
}
.button-group.hollow.alert .button:hover, .button-group.hollow.alert .button:focus, .button-group.hollow .button.alert:hover, .button-group.hollow .button.alert:focus {
  border-color: rgb(115, 25.5, 8);
  color: rgb(115, 25.5, 8);
}
.button-group.clear .button, .button-group.clear .button:hover, .button-group.clear .button:focus, .button-group.clear .button.disabled, .button-group.clear .button.disabled:hover, .button-group.clear .button.disabled:focus, .button-group.clear .button[disabled], .button-group.clear .button[disabled]:hover, .button-group.clear .button[disabled]:focus {
  border-color: transparent;
  background-color: transparent;
}
.button-group.clear .button, .button-group.clear .button.disabled, .button-group.clear .button[disabled], .button-group.clear .button.disabled:hover, .button-group.clear .button[disabled]:hover, .button-group.clear .button.disabled:focus, .button-group.clear .button[disabled]:focus {
  color: #4e027c;
}
.button-group.clear .button:hover, .button-group.clear .button:focus {
  color: #27013e;
}
.button-group.clear.primary .button, .button-group.clear.primary .button.disabled, .button-group.clear.primary .button[disabled], .button-group.clear.primary .button.disabled:hover, .button-group.clear.primary .button[disabled]:hover, .button-group.clear.primary .button.disabled:focus, .button-group.clear.primary .button[disabled]:focus, .button-group.clear .button.primary, .button-group.clear .button.primary.disabled, .button-group.clear .button.primary[disabled], .button-group.clear .button.primary.disabled:hover, .button-group.clear .button.primary[disabled]:hover, .button-group.clear .button.primary.disabled:focus, .button-group.clear .button.primary[disabled]:focus {
  color: #4e027c;
}
.button-group.clear.primary .button:hover, .button-group.clear.primary .button:focus, .button-group.clear .button.primary:hover, .button-group.clear .button.primary:focus {
  color: #27013e;
}
.button-group.clear.secondary .button, .button-group.clear.secondary .button.disabled, .button-group.clear.secondary .button[disabled], .button-group.clear.secondary .button.disabled:hover, .button-group.clear.secondary .button[disabled]:hover, .button-group.clear.secondary .button.disabled:focus, .button-group.clear.secondary .button[disabled]:focus, .button-group.clear .button.secondary, .button-group.clear .button.secondary.disabled, .button-group.clear .button.secondary[disabled], .button-group.clear .button.secondary.disabled:hover, .button-group.clear .button.secondary[disabled]:hover, .button-group.clear .button.secondary.disabled:focus, .button-group.clear .button.secondary[disabled]:focus {
  color: #3f3f46;
}
.button-group.clear.secondary .button:hover, .button-group.clear.secondary .button:focus, .button-group.clear .button.secondary:hover, .button-group.clear .button.secondary:focus {
  color: rgb(31.5, 31.5, 35);
}
.button-group.clear.success .button, .button-group.clear.success .button.disabled, .button-group.clear.success .button[disabled], .button-group.clear.success .button.disabled:hover, .button-group.clear.success .button[disabled]:hover, .button-group.clear.success .button.disabled:focus, .button-group.clear.success .button[disabled]:focus, .button-group.clear .button.success, .button-group.clear .button.success.disabled, .button-group.clear .button.success[disabled], .button-group.clear .button.success.disabled:hover, .button-group.clear .button.success[disabled]:hover, .button-group.clear .button.success.disabled:focus, .button-group.clear .button.success[disabled]:focus {
  color: #25944c;
}
.button-group.clear.success .button:hover, .button-group.clear.success .button:focus, .button-group.clear .button.success:hover, .button-group.clear .button.success:focus {
  color: rgb(18.5, 74, 38);
}
.button-group.clear.warning .button, .button-group.clear.warning .button.disabled, .button-group.clear.warning .button[disabled], .button-group.clear.warning .button.disabled:hover, .button-group.clear.warning .button[disabled]:hover, .button-group.clear.warning .button.disabled:focus, .button-group.clear.warning .button[disabled]:focus, .button-group.clear .button.warning, .button-group.clear .button.warning.disabled, .button-group.clear .button.warning[disabled], .button-group.clear .button.warning.disabled:hover, .button-group.clear .button.warning[disabled]:hover, .button-group.clear .button.warning.disabled:focus, .button-group.clear .button.warning[disabled]:focus {
  color: #ffae00;
}
.button-group.clear.warning .button:hover, .button-group.clear.warning .button:focus, .button-group.clear .button.warning:hover, .button-group.clear .button.warning:focus {
  color: rgb(127.5, 87, 0);
}
.button-group.clear.alert .button, .button-group.clear.alert .button.disabled, .button-group.clear.alert .button[disabled], .button-group.clear.alert .button.disabled:hover, .button-group.clear.alert .button[disabled]:hover, .button-group.clear.alert .button.disabled:focus, .button-group.clear.alert .button[disabled]:focus, .button-group.clear .button.alert, .button-group.clear .button.alert.disabled, .button-group.clear .button.alert[disabled], .button-group.clear .button.alert.disabled:hover, .button-group.clear .button.alert[disabled]:hover, .button-group.clear .button.alert.disabled:focus, .button-group.clear .button.alert[disabled]:focus {
  color: #e63310;
}
.button-group.clear.alert .button:hover, .button-group.clear.alert .button:focus, .button-group.clear .button.alert:hover, .button-group.clear .button.alert:focus {
  color: rgb(115, 25.5, 8);
}
.button-group.no-gaps .button {
  margin-right: -0.0625rem;
}
.button-group.no-gaps .button + .button {
  border-left-color: transparent;
}
.button-group.stacked, .button-group.stacked-for-small, .button-group.stacked-for-medium {
  flex-wrap: wrap;
}
.button-group.stacked .button, .button-group.stacked-for-small .button, .button-group.stacked-for-medium .button {
  flex: 0 0 100%;
}
.button-group.stacked .button:last-child, .button-group.stacked-for-small .button:last-child, .button-group.stacked-for-medium .button:last-child {
  margin-bottom: 0;
}
.button-group.stacked.expanded .button, .button-group.stacked-for-small.expanded .button, .button-group.stacked-for-medium.expanded .button {
  flex: 1 1 0px;
}
@media print, screen and (min-width: 48.0625em) {
  .button-group.stacked-for-small .button {
    flex: 0 0 auto;
    margin-bottom: 0;
  }
}
@media print, screen and (min-width: 60em) {
  .button-group.stacked-for-medium .button {
    flex: 0 0 auto;
    margin-bottom: 0;
  }
}
@media print, screen and (max-width: 48.06125em) {
  .button-group.stacked-for-small.expanded {
    display: block;
  }
  .button-group.stacked-for-small.expanded .button {
    display: block;
    margin-right: 0;
  }
}
@media print, screen and (max-width: 59.99875em) {
  .button-group.stacked-for-medium.expanded {
    display: block;
  }
  .button-group.stacked-for-medium.expanded .button {
    display: block;
    margin-right: 0;
  }
}

.card {
  display: flex;
  flex-direction: column;
  flex-grow: 1;
  margin-bottom: 1.5rem;
  border: none;
  border-radius: 8px;
  background: #ffffff;
  box-shadow: none;
  overflow: hidden;
  color: #3f3f46;
}
.card > :last-child {
  margin-bottom: 0;
}

.card-divider {
  display: flex;
  flex: 0 1 auto;
  padding: 1.5rem;
  background: #71717a;
}
.card-divider > :last-child {
  margin-bottom: 0;
}

.card-section {
  flex: 1 0 auto;
  padding: 1.5rem;
}
.card-section > :last-child {
  margin-bottom: 0;
}

.card-image {
  min-height: 1px;
}

.row {
  max-width: 90rem;
  margin-right: auto;
  margin-left: auto;
  display: flex;
  flex-flow: row wrap;
}
.row .row {
  margin-right: -0.625rem;
  margin-left: -0.625rem;
}
@media print, screen and (min-width: 48.0625em) {
  .row .row {
    margin-right: -0.625rem;
    margin-left: -0.625rem;
  }
}
@media print, screen and (min-width: 60em) {
  .row .row {
    margin-right: -0.75rem;
    margin-left: -0.75rem;
  }
}
.row .row.collapse {
  margin-right: 0;
  margin-left: 0;
}
.row.expanded {
  max-width: none;
}
.row.expanded .row {
  margin-right: auto;
  margin-left: auto;
}
.row:not(.expanded) .row {
  max-width: none;
}
.row.collapse > .column, .row.collapse > .columns {
  padding-right: 0;
  padding-left: 0;
}
.row.is-collapse-child, .row.collapse > .column > .row, .row.collapse > .columns > .row {
  margin-right: 0;
  margin-left: 0;
}

.column, .columns {
  min-width: 0;
  flex: 1 1 0px;
  padding-right: 0.625rem;
  padding-left: 0.625rem;
}
@media print, screen and (min-width: 60em) {
  .column, .columns {
    padding-right: 0.75rem;
    padding-left: 0.75rem;
  }
}

.column.row.row, .row.row.columns {
  float: none;
  display: block;
}

.row .column.row.row, .row .row.row.columns {
  margin-right: 0;
  margin-left: 0;
  padding-right: 0;
  padding-left: 0;
}

.small-1 {
  flex: 0 0 8.3333333333%;
  max-width: 8.3333333333%;
}

.small-offset-0 {
  margin-left: 0%;
}

.small-2 {
  flex: 0 0 16.6666666667%;
  max-width: 16.6666666667%;
}

.small-offset-1 {
  margin-left: 8.3333333333%;
}

.small-3 {
  flex: 0 0 25%;
  max-width: 25%;
}

.small-offset-2 {
  margin-left: 16.6666666667%;
}

.small-4 {
  flex: 0 0 33.3333333333%;
  max-width: 33.3333333333%;
}

.small-offset-3 {
  margin-left: 25%;
}

.small-5 {
  flex: 0 0 41.6666666667%;
  max-width: 41.6666666667%;
}

.small-offset-4 {
  margin-left: 33.3333333333%;
}

.small-6 {
  flex: 0 0 50%;
  max-width: 50%;
}

.small-offset-5 {
  margin-left: 41.6666666667%;
}

.small-7 {
  flex: 0 0 58.3333333333%;
  max-width: 58.3333333333%;
}

.small-offset-6 {
  margin-left: 50%;
}

.small-8 {
  flex: 0 0 66.6666666667%;
  max-width: 66.6666666667%;
}

.small-offset-7 {
  margin-left: 58.3333333333%;
}

.small-9 {
  flex: 0 0 75%;
  max-width: 75%;
}

.small-offset-8 {
  margin-left: 66.6666666667%;
}

.small-10 {
  flex: 0 0 83.3333333333%;
  max-width: 83.3333333333%;
}

.small-offset-9 {
  margin-left: 75%;
}

.small-11 {
  flex: 0 0 91.6666666667%;
  max-width: 91.6666666667%;
}

.small-offset-10 {
  margin-left: 83.3333333333%;
}

.small-12 {
  flex: 0 0 100%;
  max-width: 100%;
}

.small-offset-11 {
  margin-left: 91.6666666667%;
}

.small-up-1 {
  flex-wrap: wrap;
}
.small-up-1 > .column, .small-up-1 > .columns {
  flex: 0 0 100%;
  max-width: 100%;
}

.small-up-2 {
  flex-wrap: wrap;
}
.small-up-2 > .column, .small-up-2 > .columns {
  flex: 0 0 50%;
  max-width: 50%;
}

.small-up-3 {
  flex-wrap: wrap;
}
.small-up-3 > .column, .small-up-3 > .columns {
  flex: 0 0 33.3333333333%;
  max-width: 33.3333333333%;
}

.small-up-4 {
  flex-wrap: wrap;
}
.small-up-4 > .column, .small-up-4 > .columns {
  flex: 0 0 25%;
  max-width: 25%;
}

.small-up-5 {
  flex-wrap: wrap;
}
.small-up-5 > .column, .small-up-5 > .columns {
  flex: 0 0 20%;
  max-width: 20%;
}

.small-up-6 {
  flex-wrap: wrap;
}
.small-up-6 > .column, .small-up-6 > .columns {
  flex: 0 0 16.6666666667%;
  max-width: 16.6666666667%;
}

.small-up-7 {
  flex-wrap: wrap;
}
.small-up-7 > .column, .small-up-7 > .columns {
  flex: 0 0 14.2857142857%;
  max-width: 14.2857142857%;
}

.small-up-8 {
  flex-wrap: wrap;
}
.small-up-8 > .column, .small-up-8 > .columns {
  flex: 0 0 12.5%;
  max-width: 12.5%;
}

.small-collapse > .column, .small-collapse > .columns {
  padding-right: 0;
  padding-left: 0;
}

.small-uncollapse > .column, .small-uncollapse > .columns {
  padding-right: 0.625rem;
  padding-left: 0.625rem;
}

@media print, screen and (min-width: 48.0625em) {
  .medium-1 {
    flex: 0 0 8.3333333333%;
    max-width: 8.3333333333%;
  }
  .medium-offset-0 {
    margin-left: 0%;
  }
  .medium-2 {
    flex: 0 0 16.6666666667%;
    max-width: 16.6666666667%;
  }
  .medium-offset-1 {
    margin-left: 8.3333333333%;
  }
  .medium-3 {
    flex: 0 0 25%;
    max-width: 25%;
  }
  .medium-offset-2 {
    margin-left: 16.6666666667%;
  }
  .medium-4 {
    flex: 0 0 33.3333333333%;
    max-width: 33.3333333333%;
  }
  .medium-offset-3 {
    margin-left: 25%;
  }
  .medium-5 {
    flex: 0 0 41.6666666667%;
    max-width: 41.6666666667%;
  }
  .medium-offset-4 {
    margin-left: 33.3333333333%;
  }
  .medium-6 {
    flex: 0 0 50%;
    max-width: 50%;
  }
  .medium-offset-5 {
    margin-left: 41.6666666667%;
  }
  .medium-7 {
    flex: 0 0 58.3333333333%;
    max-width: 58.3333333333%;
  }
  .medium-offset-6 {
    margin-left: 50%;
  }
  .medium-8 {
    flex: 0 0 66.6666666667%;
    max-width: 66.6666666667%;
  }
  .medium-offset-7 {
    margin-left: 58.3333333333%;
  }
  .medium-9 {
    flex: 0 0 75%;
    max-width: 75%;
  }
  .medium-offset-8 {
    margin-left: 66.6666666667%;
  }
  .medium-10 {
    flex: 0 0 83.3333333333%;
    max-width: 83.3333333333%;
  }
  .medium-offset-9 {
    margin-left: 75%;
  }
  .medium-11 {
    flex: 0 0 91.6666666667%;
    max-width: 91.6666666667%;
  }
  .medium-offset-10 {
    margin-left: 83.3333333333%;
  }
  .medium-12 {
    flex: 0 0 100%;
    max-width: 100%;
  }
  .medium-offset-11 {
    margin-left: 91.6666666667%;
  }
  .medium-up-1 {
    flex-wrap: wrap;
  }
  .medium-up-1 > .column, .medium-up-1 > .columns {
    flex: 0 0 100%;
    max-width: 100%;
  }
  .medium-up-2 {
    flex-wrap: wrap;
  }
  .medium-up-2 > .column, .medium-up-2 > .columns {
    flex: 0 0 50%;
    max-width: 50%;
  }
  .medium-up-3 {
    flex-wrap: wrap;
  }
  .medium-up-3 > .column, .medium-up-3 > .columns {
    flex: 0 0 33.3333333333%;
    max-width: 33.3333333333%;
  }
  .medium-up-4 {
    flex-wrap: wrap;
  }
  .medium-up-4 > .column, .medium-up-4 > .columns {
    flex: 0 0 25%;
    max-width: 25%;
  }
  .medium-up-5 {
    flex-wrap: wrap;
  }
  .medium-up-5 > .column, .medium-up-5 > .columns {
    flex: 0 0 20%;
    max-width: 20%;
  }
  .medium-up-6 {
    flex-wrap: wrap;
  }
  .medium-up-6 > .column, .medium-up-6 > .columns {
    flex: 0 0 16.6666666667%;
    max-width: 16.6666666667%;
  }
  .medium-up-7 {
    flex-wrap: wrap;
  }
  .medium-up-7 > .column, .medium-up-7 > .columns {
    flex: 0 0 14.2857142857%;
    max-width: 14.2857142857%;
  }
  .medium-up-8 {
    flex-wrap: wrap;
  }
  .medium-up-8 > .column, .medium-up-8 > .columns {
    flex: 0 0 12.5%;
    max-width: 12.5%;
  }
}
@media print, screen and (min-width: 48.0625em) and (min-width: 48.0625em) {
  .medium-expand {
    flex: 1 1 0px;
  }
}
.row.medium-unstack > .column, .row.medium-unstack > .columns {
  flex: 0 0 100%;
}
@media print, screen and (min-width: 48.0625em) {
  .row.medium-unstack > .column, .row.medium-unstack > .columns {
    flex: 1 1 0px;
  }
  .medium-collapse > .column, .medium-collapse > .columns {
    padding-right: 0;
    padding-left: 0;
  }
  .medium-uncollapse > .column, .medium-uncollapse > .columns {
    padding-right: 0.625rem;
    padding-left: 0.625rem;
  }
}

@media print, screen and (min-width: 60em) {
  .large-1 {
    flex: 0 0 8.3333333333%;
    max-width: 8.3333333333%;
  }
  .large-offset-0 {
    margin-left: 0%;
  }
  .large-2 {
    flex: 0 0 16.6666666667%;
    max-width: 16.6666666667%;
  }
  .large-offset-1 {
    margin-left: 8.3333333333%;
  }
  .large-3 {
    flex: 0 0 25%;
    max-width: 25%;
  }
  .large-offset-2 {
    margin-left: 16.6666666667%;
  }
  .large-4 {
    flex: 0 0 33.3333333333%;
    max-width: 33.3333333333%;
  }
  .large-offset-3 {
    margin-left: 25%;
  }
  .large-5 {
    flex: 0 0 41.6666666667%;
    max-width: 41.6666666667%;
  }
  .large-offset-4 {
    margin-left: 33.3333333333%;
  }
  .large-6 {
    flex: 0 0 50%;
    max-width: 50%;
  }
  .large-offset-5 {
    margin-left: 41.6666666667%;
  }
  .large-7 {
    flex: 0 0 58.3333333333%;
    max-width: 58.3333333333%;
  }
  .large-offset-6 {
    margin-left: 50%;
  }
  .large-8 {
    flex: 0 0 66.6666666667%;
    max-width: 66.6666666667%;
  }
  .large-offset-7 {
    margin-left: 58.3333333333%;
  }
  .large-9 {
    flex: 0 0 75%;
    max-width: 75%;
  }
  .large-offset-8 {
    margin-left: 66.6666666667%;
  }
  .large-10 {
    flex: 0 0 83.3333333333%;
    max-width: 83.3333333333%;
  }
  .large-offset-9 {
    margin-left: 75%;
  }
  .large-11 {
    flex: 0 0 91.6666666667%;
    max-width: 91.6666666667%;
  }
  .large-offset-10 {
    margin-left: 83.3333333333%;
  }
  .large-12 {
    flex: 0 0 100%;
    max-width: 100%;
  }
  .large-offset-11 {
    margin-left: 91.6666666667%;
  }
  .large-up-1 {
    flex-wrap: wrap;
  }
  .large-up-1 > .column, .large-up-1 > .columns {
    flex: 0 0 100%;
    max-width: 100%;
  }
  .large-up-2 {
    flex-wrap: wrap;
  }
  .large-up-2 > .column, .large-up-2 > .columns {
    flex: 0 0 50%;
    max-width: 50%;
  }
  .large-up-3 {
    flex-wrap: wrap;
  }
  .large-up-3 > .column, .large-up-3 > .columns {
    flex: 0 0 33.3333333333%;
    max-width: 33.3333333333%;
  }
  .large-up-4 {
    flex-wrap: wrap;
  }
  .large-up-4 > .column, .large-up-4 > .columns {
    flex: 0 0 25%;
    max-width: 25%;
  }
  .large-up-5 {
    flex-wrap: wrap;
  }
  .large-up-5 > .column, .large-up-5 > .columns {
    flex: 0 0 20%;
    max-width: 20%;
  }
  .large-up-6 {
    flex-wrap: wrap;
  }
  .large-up-6 > .column, .large-up-6 > .columns {
    flex: 0 0 16.6666666667%;
    max-width: 16.6666666667%;
  }
  .large-up-7 {
    flex-wrap: wrap;
  }
  .large-up-7 > .column, .large-up-7 > .columns {
    flex: 0 0 14.2857142857%;
    max-width: 14.2857142857%;
  }
  .large-up-8 {
    flex-wrap: wrap;
  }
  .large-up-8 > .column, .large-up-8 > .columns {
    flex: 0 0 12.5%;
    max-width: 12.5%;
  }
}
@media print, screen and (min-width: 60em) and (min-width: 60em) {
  .large-expand {
    flex: 1 1 0px;
  }
}
.row.large-unstack > .column, .row.large-unstack > .columns {
  flex: 0 0 100%;
}
@media print, screen and (min-width: 60em) {
  .row.large-unstack > .column, .row.large-unstack > .columns {
    flex: 1 1 0px;
  }
  .large-collapse > .column, .large-collapse > .columns {
    padding-right: 0;
    padding-left: 0;
  }
  .large-uncollapse > .column, .large-uncollapse > .columns {
    padding-right: 0.75rem;
    padding-left: 0.75rem;
  }
}

.shrink {
  flex: 0 0 auto;
  max-width: 100%;
}

.column-block {
  margin-bottom: 1.25rem;
}
.column-block > :last-child {
  margin-bottom: 0;
}
@media print, screen and (min-width: 60em) {
  .column-block {
    margin-bottom: 1.5rem;
  }
  .column-block > :last-child {
    margin-bottom: 0;
  }
}

.align-left {
  justify-content: flex-start;
}

.align-right {
  justify-content: flex-end;
}

.align-center {
  justify-content: center;
}

.align-justify {
  justify-content: space-between;
}

.align-spaced {
  justify-content: space-around;
}

.align-left.vertical.menu > li > a {
  justify-content: flex-start;
}

.align-right.vertical.menu > li > a {
  justify-content: flex-end;
}

.align-center.vertical.menu > li > a {
  justify-content: center;
}

.align-top {
  align-items: flex-start;
}

.align-self-top {
  align-self: flex-start;
}

.align-bottom {
  align-items: flex-end;
}

.align-self-bottom {
  align-self: flex-end;
}

.align-middle {
  align-items: center;
}

.align-self-middle {
  align-self: center;
}

.align-stretch {
  align-items: stretch;
}

.align-self-stretch {
  align-self: stretch;
}

.align-center-middle {
  justify-content: center;
  align-items: center;
  align-content: center;
}

.small-order-1 {
  order: 1;
}

.small-order-2 {
  order: 2;
}

.small-order-3 {
  order: 3;
}

.small-order-4 {
  order: 4;
}

.small-order-5 {
  order: 5;
}

.small-order-6 {
  order: 6;
}

@media print, screen and (min-width: 48.0625em) {
  .medium-order-1 {
    order: 1;
  }
  .medium-order-2 {
    order: 2;
  }
  .medium-order-3 {
    order: 3;
  }
  .medium-order-4 {
    order: 4;
  }
  .medium-order-5 {
    order: 5;
  }
  .medium-order-6 {
    order: 6;
  }
}
@media print, screen and (min-width: 60em) {
  .large-order-1 {
    order: 1;
  }
  .large-order-2 {
    order: 2;
  }
  .large-order-3 {
    order: 3;
  }
  .large-order-4 {
    order: 4;
  }
  .large-order-5 {
    order: 5;
  }
  .large-order-6 {
    order: 6;
  }
}
.flex-container {
  display: flex;
}

.flex-child-auto {
  flex: 1 1 auto;
}

.flex-child-grow {
  flex: 1 0 auto;
}

.flex-child-shrink {
  flex: 0 1 auto;
}

.flex-dir-row {
  flex-direction: row;
}

.flex-dir-row-reverse {
  flex-direction: row-reverse;
}

.flex-dir-column {
  flex-direction: column;
}

.flex-dir-column-reverse {
  flex-direction: column-reverse;
}

@media print, screen and (min-width: 48.0625em) {
  .medium-flex-container {
    display: flex;
  }
  .medium-flex-child-auto {
    flex: 1 1 auto;
  }
  .medium-flex-child-grow {
    flex: 1 0 auto;
  }
  .medium-flex-child-shrink {
    flex: 0 1 auto;
  }
  .medium-flex-dir-row {
    flex-direction: row;
  }
  .medium-flex-dir-row-reverse {
    flex-direction: row-reverse;
  }
  .medium-flex-dir-column {
    flex-direction: column;
  }
  .medium-flex-dir-column-reverse {
    flex-direction: column-reverse;
  }
}
@media print, screen and (min-width: 60em) {
  .large-flex-container {
    display: flex;
  }
  .large-flex-child-auto {
    flex: 1 1 auto;
  }
  .large-flex-child-grow {
    flex: 1 0 auto;
  }
  .large-flex-child-shrink {
    flex: 0 1 auto;
  }
  .large-flex-dir-row {
    flex-direction: row;
  }
  .large-flex-dir-row-reverse {
    flex-direction: row-reverse;
  }
  .large-flex-dir-column {
    flex-direction: column;
  }
  .large-flex-dir-column-reverse {
    flex-direction: column-reverse;
  }
}
.responsive-embed,
.flex-video {
  position: relative;
  height: 0;
  margin-bottom: 1rem;
  padding-bottom: 75%;
  overflow: hidden;
}
.responsive-embed iframe,
.responsive-embed object,
.responsive-embed embed,
.responsive-embed video,
.flex-video iframe,
.flex-video object,
.flex-video embed,
.flex-video video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.responsive-embed.widescreen,
.flex-video.widescreen {
  padding-bottom: 56.25%;
}

[type=text], [type=password], [type=date], [type=datetime], [type=datetime-local], [type=month], [type=week], [type=email], [type=number], [type=search], [type=tel], [type=time], [type=url], [type=color],
textarea {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  display: block;
  box-sizing: border-box;
  width: 100%;
  height: 3.05625rem;
  margin: 0 0 1.5rem;
  padding: 0.75rem;
  border: 1px solid #c5cacc;
  border-radius: 8px;
  background-color: #ffffff;
  box-shadow: none;
  font-family: inherit;
  font-size: 0.875rem;
  font-weight: normal;
  line-height: 1.85;
  color: #3f3f46;
  transition: box-shadow 200ms cubic-bezier(0.4, 0, 0.2, 1), border-color 200ms cubic-bezier(0.4, 0, 0.2, 1), background-color 200ms cubic-bezier(0.4, 0, 0.2, 1);
}
[type=text]:focus, [type=password]:focus, [type=date]:focus, [type=datetime]:focus, [type=datetime-local]:focus, [type=month]:focus, [type=week]:focus, [type=email]:focus, [type=number]:focus, [type=search]:focus, [type=tel]:focus, [type=time]:focus, [type=url]:focus, [type=color]:focus,
textarea:focus {
  outline: none;
  border: 1px solid #751cb5;
  background-color: #ffffff;
  box-shadow: none;
  transition: box-shadow 200ms cubic-bezier(0.4, 0, 0.2, 1), border-color 200ms cubic-bezier(0.4, 0, 0.2, 1), background-color 200ms cubic-bezier(0.4, 0, 0.2, 1);
}

textarea {
  max-width: 100%;
}
textarea[rows] {
  height: auto;
}

input:disabled, input[readonly],
textarea:disabled,
textarea[readonly] {
  background-color: #e4e4e7;
  cursor: not-allowed;
}

[type=submit],
[type=button] {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border-radius: 8px;
}

input[type=search] {
  box-sizing: border-box;
}

::-moz-placeholder {
  color: #c5cacc;
}

::placeholder {
  color: #c5cacc;
}

[type=file],
[type=checkbox],
[type=radio] {
  margin: 0 0 1.5rem;
}

[type=checkbox] + label,
[type=radio] + label {
  display: inline-block;
  vertical-align: baseline;
  margin-left: 0.75rem;
  margin-right: 1.5rem;
  margin-bottom: 0;
}
[type=checkbox] + label[for],
[type=radio] + label[for] {
  cursor: pointer;
}

label > [type=checkbox],
label > [type=radio] {
  margin-right: 0.75rem;
}

[type=file] {
  width: 100%;
}

label {
  display: block;
  margin: 0;
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1.5rem;
  color: #3f3f46;
}
label.middle {
  margin: 0 0 1.5rem;
  line-height: 1.4;
  padding: 0.8125rem 0;
}

.help-text {
  margin-top: -0.75rem;
  font-size: 0.875rem;
  font-style: normal;
  color: #3f3f46;
}

.input-group {
  display: flex;
  width: 100%;
  margin-bottom: 1.5rem;
  align-items: stretch;
}
.input-group > :first-child, .input-group > :first-child.input-group-button > * {
  border-radius: 8px 0 0 8px;
}
.input-group > :last-child, .input-group > :last-child.input-group-button > * {
  border-radius: 0 8px 8px 0;
}

.input-group-button a,
.input-group-button input,
.input-group-button button,
.input-group-button label, .input-group-button, .input-group-field, .input-group-label {
  margin: 0;
  white-space: nowrap;
}

.input-group-label {
  padding: 0 0.75rem;
  border: 1px solid #c5cacc;
  background: #fafafa;
  color: #3f3f46;
  text-align: center;
  white-space: nowrap;
  display: flex;
  flex: 0 0 auto;
  align-items: center;
}
.input-group-label:first-child {
  border-right: 0;
}
.input-group-label:last-child {
  border-left: 0;
}

.input-group-field {
  border-radius: 0;
  flex: 1 1 0px;
  min-width: 0;
}

.input-group-button {
  padding-top: 0;
  padding-bottom: 0;
  text-align: center;
  display: flex;
  flex: 0 0 auto;
}
.input-group-button a,
.input-group-button input,
.input-group-button button,
.input-group-button label {
  align-self: stretch;
  height: auto;
  padding-top: 0;
  padding-bottom: 0;
  font-size: 0.875rem;
}

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

legend {
  max-width: 100%;
  margin-bottom: 0.75rem;
}

.fieldset {
  margin: 1.125rem 0;
  padding: 1rem;
  border: 1px solid #c5cacc;
}
.fieldset legend {
  margin: 0;
  margin-left: -0.1875rem;
  padding: 0 0.1875rem;
}

select {
  height: 3.05625rem;
  margin: 0 0 1.5rem;
  padding: 0.75rem;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: 1px solid #c5cacc;
  border-radius: 8px;
  background-color: #ffffff;
  font-family: inherit;
  font-size: 0.875rem;
  font-weight: normal;
  line-height: 1.85;
  color: #3f3f46;
  transition: box-shadow 200ms cubic-bezier(0.4, 0, 0.2, 1), border-color 200ms cubic-bezier(0.4, 0, 0.2, 1), background-color 200ms cubic-bezier(0.4, 0, 0.2, 1);
  background-origin: content-box;
  background-position: right -1.5rem center;
  background-repeat: no-repeat;
  background-size: 9px 6px;
  padding-right: 2.25rem;
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="32" height="24" viewBox="0 0 32 24"><polygon points="0,0 32,0 16,24" style="fill: rgb%2836, 42, 46%29"></polygon></svg>');
}
@media screen and (min-width: 0\0 ) {
  select {
    background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAYCAYAAACbU/80AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAIpJREFUeNrEkckNgDAMBBfRkEt0ObRBBdsGXUDgmQfK4XhH2m8czQAAy27R3tsw4Qfe2x8uOO6oYLb6GlOor3GF+swURAOmUJ+RwtEJs9WvTGEYxBXqI1MQAZhCfUQKRzDMVj+TwrAIV6jvSUEkYAr1LSkcyTBb/V+KYfX7xAeusq3sLDtGH3kEGACPWIflNZfhRQAAAABJRU5ErkJggg==");
  }
}
select:focus {
  outline: none;
  border: 1px solid #751cb5;
  background-color: #ffffff;
  box-shadow: none;
  transition: box-shadow 200ms cubic-bezier(0.4, 0, 0.2, 1), border-color 200ms cubic-bezier(0.4, 0, 0.2, 1), background-color 200ms cubic-bezier(0.4, 0, 0.2, 1);
}
select:disabled {
  background-color: #e4e4e7;
  cursor: not-allowed;
}
select::-ms-expand {
  display: none;
}
select[multiple] {
  height: auto;
  background-image: none;
}
select:not([multiple]) {
  padding-top: 0;
  padding-bottom: 0;
}

.form-error {
  display: none;
  margin-top: -0.75rem;
  margin-bottom: 1.5rem;
  font-size: 0.875rem;
  font-weight: normal;
  color: #e63310;
}
.form-error.is-visible {
  display: block;
}

.media-object {
  display: flex;
  margin-bottom: 1.5rem;
  flex-wrap: nowrap;
}
.media-object img {
  max-width: none;
}
@media print, screen and (max-width: 48.06125em) {
  .media-object.stack-for-small {
    flex-wrap: wrap;
  }
}

.media-object-section {
  flex: 0 1 auto;
}
.media-object-section:first-child {
  padding-right: 1.5rem;
}
.media-object-section:last-child:not(:nth-child(2)) {
  padding-left: 1.5rem;
}
.media-object-section > :last-child {
  margin-bottom: 0;
}
@media print, screen and (max-width: 48.06125em) {
  .stack-for-small .media-object-section {
    padding: 0;
    padding-bottom: 1.5rem;
    flex-basis: 100%;
    max-width: 100%;
  }
  .stack-for-small .media-object-section img {
    width: 100%;
  }
}
.media-object-section.main-section {
  flex: 1 1 0px;
}

table {
  border-collapse: collapse;
  width: 100%;
  margin-bottom: 1.5rem;
  border-radius: 8px;
}
thead,
tbody,
tfoot {
  border: none;
  background-color: #ffffff;
}

caption {
  padding: 0.5rem 0.625rem 0.5rem;
  font-weight: 700;
}

thead {
  background: rgb(248.625, 248.625, 248.625);
  color: #3f3f46;
}

tfoot {
  background: rgb(242.25, 242.25, 242.25);
  color: #3f3f46;
}

thead tr,
tfoot tr {
  background: transparent;
}
thead th,
thead td,
tfoot th,
tfoot td {
  padding: 0.5rem 0.625rem 0.5rem;
  font-weight: 700;
  text-align: left;
}

tbody th,
tbody td {
  padding: 0.5rem 0.625rem 0.5rem;
}

tbody tr:nth-child(even) {
  border-bottom: 0;
  background-color: rgb(242.25, 242.25, 242.25);
}

table.unstriped tbody {
  background-color: #ffffff;
}
table.unstriped tbody tr {
  border-bottom: none;
  background-color: #ffffff;
}

@media print, screen and (max-width: 59.99875em) {
  table.stack thead {
    display: none;
  }
  table.stack tfoot {
    display: none;
  }
  table.stack tr,
  table.stack th,
  table.stack td {
    display: block;
  }
  table.stack td {
    border-top: 0;
  }
}

table.scroll {
  display: block;
  width: 100%;
  overflow-x: auto;
}

table.hover thead tr:hover {
  background-color: rgb(243.525, 243.525, 243.525);
}
table.hover tfoot tr:hover {
  background-color: rgb(237.15, 237.15, 237.15);
}
table.hover tbody tr:hover {
  background-color: rgb(249.9, 249.9, 249.9);
}
table.hover:not(.unstriped) tr:nth-of-type(even):hover {
  background-color: rgb(237.15, 237.15, 237.15);
}

.table-scroll {
  overflow-x: auto;
}

/*
 * 1. Ensure no additional padding is ever at the top of Magnific close buttons.
 */
.mfp-close {
  margin-top: 0 !important; /* 1 */
}

.mfp-white-popup {
  background: #ffffff;
  padding: 20px 30px;
  text-align: left;
  max-width: 650px;
  margin: 40px auto;
  position: relative;
}

@media (max-width: 767px) {
  .hide-mfp-for-small {
    display: none !important;
  }
}
@media (min-width: 768px) {
  .hide-mfp-for-large {
    display: none !important;
  }
}
/*
 * Generic white modal popup classes
 * 1. Hide the modal until it's initialized.
 */
.white-modal, .white-modal--360px, .white-modal--375px, .white-modal--420px, .white-modal--530px {
  position: relative;
  padding: 24px;
  background-color: #ffffff;
  border-radius: 8px;
  margin: 0 auto;
  display: none; /* 1 */
}
.mfp-ready .white-modal, .mfp-ready .white-modal--360px, .mfp-ready .white-modal--375px, .mfp-ready .white-modal--420px, .mfp-ready .white-modal--530px {
  display: block; /* 1 */
}

.white-modal--530px {
  max-width: 530px;
}

.white-modal--420px {
  max-width: 420px;
}

.white-modal--375px {
  max-width: 375px;
}

.white-modal--360px {
  max-width: 360px;
}

/*
 * Fullscreen Magnific popup styles. Add `mfp-fullscreen` to the `mainClass`
 * and include the `.fullscreen-modal` element within.
 *
 * 1. Remove the default background-color from the overlay's background.
 * 1. Remove the default padding around Magnific Popup elements. We don't want this for fullscreen.
 * 2. `.mfp-content` has 100% width by default, but it must be 100% height too!
 * 3. Ensure you can never see behind the fullscreen modal.
 */
.mfp-fullscreen {
  background-color: transparent; /* 1 */
}
.mfp-fullscreen .mfp-container {
  padding: 0; /* 2 */
}
.mfp-fullscreen .mfp-content {
  height: 100%; /* 3 */
}
.mfp-fullscreen .fullscreen-modal {
  overflow-y: scroll;
  height: 100%;
  width: 100%;
  background: #ffffff;
  position: absolute; /* 3 */
  top: 0; /* 3 */
  right: 0; /* 3 */
  bottom: 0; /* 3 */
  left: 0; /* 3 */
}
.mfp-fullscreen .mfp-content {
  opacity: 0;
  transition: all 0.2s ease;
}
.mfp-fullscreen {
  /* content animate in */
}
.mfp-fullscreen.mfp-wrap.mfp-ready .mfp-content {
  opacity: 1;
}
.mfp-fullscreen {
  /* content animate out */
}
.mfp-fullscreen.mfp-wrap.mfp-removing .mfp-content {
  opacity: 0;
}

/* ------------------------------------ *\
  $MAGNIFIC POPUP FADE-IN EFFECT
  Add to Magnific Call - i.e. mainClass: 'mfp-fade'
  and removalDelay: 200
\* ------------------------------------ */
/* overlay at start */
.mfp-fade.mfp-bg {
  opacity: 0;
  transition: opacity 0.2s;
}

/* overlay animate in */
.mfp-fade.mfp-bg.mfp-ready {
  opacity: 0.8;
}

/* overlay animate out */
.mfp-fade.mfp-bg.mfp-removing {
  opacity: 0;
}

/* content at start */
.mfp-fade.mfp-wrap .mfp-content {
  opacity: 0;
  transition: opacity 0.2s;
}

/* content animate it */
.mfp-fade.mfp-wrap.mfp-ready .mfp-content {
  opacity: 1;
}

/* content animate out */
.mfp-fade.mfp-wrap.mfp-removing .mfp-content {
  opacity: 0;
}

/*
 * Currently we're only using Cropper for profile photos. If we use it for something
 * else, we'll want to change this.
 */
.cropper-face {
  border-radius: 1000px; /* 1 */
  opacity: 0.4;
}

.drop--close {
  padding: 6px;
  color: #888888;
  font-size: 36px;
  line-height: 20px;
  cursor: pointer;
  position: absolute;
  top: 0px;
  right: 0px;
}
.drop--close:hover {
  color: inherit;
}

.drop {
  z-index: 10;
}

.drop-element, .drop-element:after, .drop-element:before, .drop-element *, .drop-element *:after, .drop-element *:before {
  box-sizing: border-box;
}

.drop-element {
  position: absolute;
  display: none;
}

.drop-element.drop-open {
  display: block;
}

.drop-element.drop-theme-gigsalad {
  max-width: 100%;
  max-height: 100%;
}

.drop-element.drop-theme-gigsalad .drop-content {
  border-radius: 8px;
  position: relative;
  font-family: inherit;
  background: black;
  background: rgba(0, 0, 0, 0.8);
  color: white;
  padding: 1em;
  margin: 0 10px;
  min-width: 175px;
}

.drop-element.drop-theme-gigsalad .drop-content:before {
  content: "";
  display: block;
  position: absolute;
  width: 0;
  height: 0;
  border-color: transparent;
  border-width: 12px;
  border-style: solid;
}

.drop-element.drop-theme-gigsalad.drop-element-attached-bottom.drop-element-attached-center .drop-content {
  margin-bottom: 12px;
}

.drop-element.drop-theme-gigsalad.drop-element-attached-bottom.drop-element-attached-center .drop-content:before {
  top: 100%;
  left: 50%;
  margin-left: -12px;
  border-top-color: black;
  border-top-color: rgba(0, 0, 0, 0.8);
}

.drop-element.drop-theme-gigsalad.drop-element-attached-top.drop-element-attached-center .drop-content {
  margin-top: 12px;
}

.drop-element.drop-theme-gigsalad.drop-element-attached-top.drop-element-attached-center .drop-content:before {
  bottom: 100%;
  left: 50%;
  margin-left: -12px;
  border-bottom-color: black;
  border-bottom-color: rgba(0, 0, 0, 0.8);
}

.drop-element.drop-theme-gigsalad.drop-element-attached-right.drop-element-attached-middle .drop-content {
  margin-right: 12px;
}

.drop-element.drop-theme-gigsalad.drop-element-attached-right.drop-element-attached-middle .drop-content:before {
  left: 100%;
  top: 50%;
  margin-top: -12px;
  border-left-color: black;
  border-left-color: rgba(0, 0, 0, 0.8);
}

.drop-element.drop-theme-gigsalad.drop-element-attached-left.drop-element-attached-middle .drop-content {
  margin-left: 12px;
}

.drop-element.drop-theme-gigsalad.drop-element-attached-left.drop-element-attached-middle .drop-content:before {
  right: 100%;
  top: 50%;
  margin-top: -12px;
  border-right-color: black;
  border-right-color: rgba(0, 0, 0, 0.8);
}

.drop-element.drop-theme-gigsalad.drop-element-attached-top.drop-element-attached-left.drop-target-attached-bottom .drop-content {
  margin-top: 12px;
}

.drop-element.drop-theme-gigsalad.drop-element-attached-top.drop-element-attached-left.drop-target-attached-bottom .drop-content:before {
  bottom: 100%;
  left: 24px;
  border-bottom-color: black;
  border-bottom-color: rgba(0, 0, 0, 0.8);
}

.drop-element.drop-theme-gigsalad.drop-element-attached-top.drop-element-attached-right.drop-target-attached-bottom .drop-content {
  margin-top: 12px;
}

.drop-element.drop-theme-gigsalad.drop-element-attached-top.drop-element-attached-right.drop-target-attached-bottom .drop-content:before {
  bottom: 100%;
  right: 24px;
  border-bottom-color: black;
  border-bottom-color: rgba(0, 0, 0, 0.8);
}

.drop-element.drop-theme-gigsalad.drop-element-attached-bottom.drop-element-attached-left.drop-target-attached-top .drop-content {
  margin-bottom: 12px;
}

.drop-element.drop-theme-gigsalad.drop-element-attached-bottom.drop-element-attached-left.drop-target-attached-top .drop-content:before {
  top: 100%;
  left: 24px;
  border-top-color: black;
  border-top-color: rgba(0, 0, 0, 0.8);
}

.drop-element.drop-theme-gigsalad.drop-element-attached-bottom.drop-element-attached-right.drop-target-attached-top .drop-content {
  margin-bottom: 12px;
}

.drop-element.drop-theme-gigsalad.drop-element-attached-bottom.drop-element-attached-right.drop-target-attached-top .drop-content:before {
  top: 100%;
  right: 24px;
  border-top-color: black;
  border-top-color: rgba(0, 0, 0, 0.8);
}

.drop-element.drop-theme-gigsalad.drop-element-attached-top.drop-element-attached-right.drop-target-attached-left .drop-content {
  margin-right: 12px;
}

.drop-element.drop-theme-gigsalad.drop-element-attached-top.drop-element-attached-right.drop-target-attached-left .drop-content:before {
  top: 24px;
  left: 100%;
  border-left-color: black;
  border-left-color: rgba(0, 0, 0, 0.8);
}

.drop-element.drop-theme-gigsalad.drop-element-attached-top.drop-element-attached-left.drop-target-attached-right .drop-content {
  margin-left: 12px;
}

.drop-element.drop-theme-gigsalad.drop-element-attached-top.drop-element-attached-left.drop-target-attached-right .drop-content:before {
  top: 24px;
  right: 100%;
  border-right-color: black;
  border-right-color: rgba(0, 0, 0, 0.8);
}

.drop-element.drop-theme-gigsalad.drop-element-attached-bottom.drop-element-attached-right.drop-target-attached-left .drop-content {
  margin-right: 12px;
}

.drop-element.drop-theme-gigsalad.drop-element-attached-bottom.drop-element-attached-right.drop-target-attached-left .drop-content:before {
  bottom: 24px;
  left: 100%;
  border-left-color: black;
  border-left-color: rgba(0, 0, 0, 0.8);
}

.drop-element.drop-theme-gigsalad.drop-element-attached-bottom.drop-element-attached-left.drop-target-attached-right .drop-content {
  margin-left: 12px;
}

.drop-element.drop-theme-gigsalad.drop-element-attached-bottom.drop-element-attached-left.drop-target-attached-right .drop-content:before {
  bottom: 24px;
  right: 100%;
  border-right-color: black;
  border-right-color: rgba(0, 0, 0, 0.8);
}

.drop-element.drop-theme-gigsalad {
  transform: translateZ(0);
  transition: opacity 0.1s;
  opacity: 0;
}

.drop-element.drop-theme-gigsalad .drop-content {
  transition: transform 0.3s cubic-bezier(0.34, 1.61, 0.7, 1);
  transform: scale(0) translateZ(0);
}

.drop-element.drop-theme-gigsalad.drop-open {
  display: none;
}

.drop-element.drop-theme-gigsalad.drop-open-transitionend {
  display: block;
}

.drop-element.drop-theme-gigsalad.drop-after-open {
  transition: none;
  opacity: 1;
}

.drop-element.drop-theme-gigsalad.drop-after-open .drop-content {
  transform: scale(1) translateZ(0);
}

.drop-element.drop-theme-gigsalad.drop-element-attached-bottom.drop-element-attached-center .drop-content {
  transform-origin: 50% calc(100% + 12px);
}

.drop-element.drop-theme-gigsalad.drop-element-attached-top.drop-element-attached-center .drop-content {
  transform-origin: 50% -12px;
}

.drop-element.drop-theme-gigsalad.drop-element-attached-right.drop-element-attached-middle .drop-content {
  transform-origin: calc(100% + 12px) 50%;
}

.drop-element.drop-theme-gigsalad.drop-element-attached-left.drop-element-attached-middle .drop-content {
  transform-origin: -12px 50%;
}

.drop-element.drop-theme-gigsalad.drop-element-attached-top.drop-element-attached-left.drop-target-attached-bottom .drop-content {
  transform-origin: 0 -24px;
}

.drop-element.drop-theme-gigsalad.drop-element-attached-top.drop-element-attached-right.drop-target-attached-bottom .drop-content {
  transform-origin: 100% -24px;
}

.drop-element.drop-theme-gigsalad.drop-element-attached-bottom.drop-element-attached-left.drop-target-attached-top .drop-content {
  transform-origin: 0 calc(100% + 24px);
}

.drop-element.drop-theme-gigsalad.drop-element-attached-bottom.drop-element-attached-right.drop-target-attached-top .drop-content {
  transform-origin: 100% calc(100% + 24px);
}

.drop-element.drop-theme-gigsalad.drop-element-attached-top.drop-element-attached-right.drop-target-attached-left .drop-content {
  transform-origin: calc(100% + 24px) 0;
}

.drop-element.drop-theme-gigsalad.drop-element-attached-top.drop-element-attached-left.drop-target-attached-right .drop-content {
  transform-origin: -24px 0;
}

.drop-element.drop-theme-gigsalad.drop-element-attached-bottom.drop-element-attached-right.drop-target-attached-left .drop-content {
  transform-origin: calc(100% + 24px) 100%;
}

.drop-element.drop-theme-gigsalad.drop-element-attached-bottom.drop-element-attached-left.drop-target-attached-right .drop-content {
  transform-origin: -24px 100%;
}

/*
 * The dropdown styles that appear as a result of the Drop widget dropdowns.
 * Originally based off of drop-theme-basic.css, and then customized with our
 * styles.
 */
.drop-element, .drop-element:after, .drop-element:before, .drop-element *, .drop-element *:after, .drop-element *:before {
  box-sizing: border-box;
}

/*
 * 1. Default all Drop elements to fade in/out.
 * We only apply transitions to opacity, because other transitions are glitched.
 */
.drop-element {
  position: absolute;
  display: none;
  opacity: 0; /* 1 */
  transition: opacity 125ms ease-out; /* 1 */
}

.drop-element.drop-open {
  display: none; /* 1 */
}

.drop-element.drop-after-open {
  display: block;
  opacity: 1; /* 1 */
}

.drop-element.drop-open-transitionend {
  display: block; /* 1 */
}

/* ------------------------------------ *\
  $DESKTOP NAVIGATION DROPDOWNS
\* ------------------------------------ */
.drop-element.drop-theme-desktop-navigation-menu {
  width: 100%;
}

.drop-element.drop-theme-desktop-navigation-menu .drop-content {
  position: relative;
  background-color: #ffffff;
  border-top: 1px solid #e4e4e7;
}

.drop-theme-account-menu .drop-content {
  position: relative;
  top: 21px;
  right: 0;
}

.drop-theme-desktop-favorites-menu .drop-content {
  position: relative;
  top: 21px;
  right: 0;
}

/* ------------------------------------ *\
  $MOBILE NAVIGATION DROPDOWNS
\* ------------------------------------ */
/*
 * 1. The div is here so that we don't target the SVG file with this.
 * Unfortunately, it appears to be necessary. Here's how it looks otherwise:
 * http://i.imgur.com/SbUE6Ws.gifv
 * 2. The mobile menu needs different magic numbers for positioning. 
 */
div.drop-theme-mobile-favorites-menu { /* 1 */
  width: 100%;
}
@media (min-width: 960px) {
  div.drop-theme-mobile-favorites-menu {
    border-top: 1px solid #e4e4e7;
  }
}
div.drop-theme-mobile-favorites-menu .drop-content {
  position: relative;
  top: 10px; /* 2 */
}

div.drop-theme-mobile-navigation-menu { /* 1 */
  width: 100%;
}
div.drop-theme-mobile-navigation-menu .drop-content {
  position: relative;
  top: 16px;
}
@media (min-width: 960px) {
  div.drop-theme-mobile-navigation-menu {
    top: 13px;
  }
}

div.drop-theme-mobile-favorites-menu a:hover, div.drop-theme-mobile-favorites-menu a:focus,
.drop-theme-mobile-navigation-menu a:hover,
.drop-theme-mobile-navigation-menu a:focus {
  text-decoration: none;
  opacity: 0.75;
}

/* ------------------------------------ *\
  $ARROW HANDLING
\* ------------------------------------ */
/*
 * All the various arrow states that might be present with this dropdown style.
 * To simulate our pseudo-element arrows having borders, we lay one triangle
 * (the fill color) on top of the other (the border color).
 */
.drop-element.drop-theme-navigation .drop-content:before,
.drop-element.drop-theme-navigation .drop-content:after {
  content: "";
  position: absolute;
  display: block;
  width: 0;
  height: 0;
  border-color: transparent;
  border-style: solid;
}

/*
 * Shared styles for this bottom center attachment.
 */
.drop-element.drop-theme-navigation.drop-element-attached-top.drop-element-attached-center .drop-content {
  margin-top: 12px;
}
.drop-element.drop-theme-navigation.drop-element-attached-top.drop-element-attached-center .drop-content:before, .drop-element.drop-theme-navigation.drop-element-attached-top.drop-element-attached-center .drop-content:after {
  bottom: 100%;
  left: 50%;
}

/*
 * The BORDER color. A few pixels larger than the fill.
 */
.drop-element.drop-theme-navigation.drop-element-attached-top.drop-element-attached-center .drop-content:before {
  margin-left: -10px;
  border-width: 10px;
  border-bottom-color: #e1e5e7;
}

/*
 * The FILL color. A few pixels smaller than the border.
 */
.drop-element.drop-theme-navigation.drop-element-attached-top.drop-element-attached-center .drop-content:after {
  margin-left: -8px;
  border-bottom-color: #ffffff;
  border-width: 8px;
}

/*
 * Bottom right attachment
 */
.drop-element.drop-theme-navigation.drop-element-attached-top.drop-element-attached-right .drop-content {
  margin-top: 12px;
}
.drop-element.drop-theme-navigation.drop-element-attached-top.drop-element-attached-right .drop-content:before, .drop-element.drop-theme-navigation.drop-element-attached-top.drop-element-attached-right .drop-content:after {
  bottom: 100%;
  right: 0;
}

/*
 * The BORDER color. A few pixels larger than the fill.
 */
.drop-element.drop-theme-navigation.drop-element-attached-top.drop-element-attached-right .drop-content:before {
  border-width: 10px;
  border-bottom-color: #e1e5e7;
}

/*
 * The FILL color. A few pixels smaller than the border.
 */
.drop-element.drop-theme-navigation.drop-element-attached-top.drop-element-attached-right .drop-content:after {
  border-bottom-color: #ffffff;
  border-width: 8px;
  right: 2px;
}

/* ------------------------------------ *\
  $ANIMATIONS
\* ------------------------------------ */
.drop-element.drop-theme-desktop-navigation-menu.drop-open {
  display: none;
}

.drop-element.drop-theme-desktop-navigation-menu.drop-open-transitionend {
  display: block;
}

.drop-element.drop-theme-desktop-navigation-menu.drop-after-open .drop-content {
  transform: scale(1) translateZ(0);
}

.drop-element.drop-theme-navigation {
  transform: translateZ(0);
}

.drop-element.drop-theme-navigation .drop-content {
  transform: scale(0) translateZ(0);
}

.drop-element.drop-theme-navigation.drop-open {
  display: none;
}

.drop-element.drop-theme-navigation.drop-open-transitionend {
  display: block;
}

.drop-element.drop-theme-navigation.drop-after-open {
  transition: none;
  opacity: 1;
}

.drop-element.drop-theme-navigation.drop-after-open .drop-content {
  transform: scale(1) translateZ(0);
}

.drop-element.drop-theme-navigation.drop-element-attached-bottom.drop-element-attached-center .drop-content {
  transform-origin: 50% calc(100% + 12px);
}

.drop-element.drop-theme-navigation.drop-element-attached-top.drop-element-attached-center .drop-content {
  transform-origin: 50% -12px;
}

.drop-element.drop-theme-navigation.drop-element-attached-right.drop-element-attached-middle .drop-content {
  transform-origin: calc(100% + 12px) 50%;
}

.drop-element.drop-theme-navigation.drop-element-attached-left.drop-element-attached-middle .drop-content {
  transform-origin: -12px 50%;
}

.drop-element.drop-theme-navigation.drop-element-attached-top.drop-element-attached-left.drop-target-attached-bottom .drop-content {
  transform-origin: 0 -24px;
}

.drop-element.drop-theme-navigation.drop-element-attached-top.drop-element-attached-right.drop-target-attached-bottom .drop-content {
  transform-origin: 100% -24px;
}

.drop-element.drop-theme-navigation.drop-element-attached-bottom.drop-element-attached-left.drop-target-attached-top .drop-content {
  transform-origin: 0 calc(100% + 24px);
}

.drop-element.drop-theme-navigation.drop-element-attached-bottom.drop-element-attached-right.drop-target-attached-top .drop-content {
  transform-origin: 100% calc(100% + 24px);
}

.drop-element.drop-theme-navigation.drop-element-attached-top.drop-element-attached-right.drop-target-attached-left .drop-content {
  transform-origin: calc(100% + 24px) 0;
}

.drop-element.drop-theme-navigation.drop-element-attached-top.drop-element-attached-left.drop-target-attached-right .drop-content {
  transform-origin: -24px 0;
}

.drop-element.drop-theme-navigation.drop-element-attached-bottom.drop-element-attached-right.drop-target-attached-left .drop-content {
  transform-origin: calc(100% + 24px) 100%;
}

.drop-element.drop-theme-navigation.drop-element-attached-bottom.drop-element-attached-left.drop-target-attached-right .drop-content {
  transform-origin: -24px 100%;
}

/* GIGSALAD CUSTOM ROYALSLIDER SCSS FILE */
/*
 * Altered for use on GigSalad.
 *
 * 1) Changed default width on main .royalSlider element to auto (to make it work responsively)
 * 2) Changed default height on main.royalSlider element to 500px
 * 3) Commented out many core style blocks we have no use for (yet)
 * 4) Changed the default background color of the container
 * 5) Remove redundant skin code (we always use .rsDefault, for instance)
 * 6) Removed support for browsers we no longer care about (such as the star hack for IE < 8)
 */
.royalSlider {
  width: auto;
  height: 500px;
  position: relative;
  direction: ltr;
}

.royalSlider > * {
  float: left;
}

.rsWebkit3d .rsSlide {
  transform: translateZ(0);
}

.rsWebkit3d .rsSlide,
.rsWebkit3d .rsContainer,
.rsWebkit3d .rsThumbs,
.rsWebkit3d .rsPreloader,
.rsWebkit3d img,
.rsWebkit3d .rsOverflow,
.rsWebkit3d .rsBtnCenterer,
.rsWebkit3d .rsAbsoluteEl,
.rsWebkit3d .rsABlock,
.rsWebkit3d .rsLink {
  -webkit-backface-visibility: hidden;
}

.rsFade.rsWebkit3d .rsSlide,
.rsFade.rsWebkit3d img,
.rsFade.rsWebkit3d .rsContainer {
  transform: none;
}

.rsOverflow {
  width: 100%;
  height: 100%;
  position: relative;
  overflow: hidden;
  float: left;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

.rsVisibleNearbyWrap {
  width: 100%;
  height: 100%;
  position: relative;
  overflow: hidden;
  left: 0;
  top: 0;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
.rsVisibleNearbyWrap .rsOverflow {
  position: absolute;
  left: 0;
  top: 0;
}

.rsContainer {
  position: relative;
  width: 100%;
  height: 100%;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

.rsArrow,
.rsThumbsArrow {
  cursor: pointer;
}

.rsThumb {
  float: left;
  position: relative;
}

.rsArrow,
.rsNav,
.rsThumbsArrow {
  opacity: 1;
  transition: opacity 0.3s linear;
}

.rsHidden {
  opacity: 0;
  visibility: hidden;
  transition: visibility 0s linear 0.3s, opacity 0.3s linear;
}

.rsGCaption {
  width: 100%;
  float: left;
  text-align: center;
}

/* Fullscreen options, very important ^^ */
.royalSlider .rsSlide.rsFakePreloader {
  opacity: 1 !important;
  transition: 0s;
  display: none;
}

.rsSlide {
  position: absolute;
  left: 0;
  top: 0;
  display: block;
  overflow: hidden;
  height: 100%;
  width: 100%;
}

.royalSlider.rsAutoHeight,
.rsAutoHeight .rsSlide {
  height: auto;
}

.rsContent {
  width: 100%;
  height: 100%;
  position: relative;
}

.rsPreloader {
  position: absolute;
  z-index: 0;
}

img.rsImg {
  max-width: none;
}

.grab-cursor {
  cursor: grab, move;
}

.grabbing-cursor {
  cursor: grabbing, move;
}

.rsNoDrag {
  cursor: auto;
}

/* Background */
/***************
*
*  1. Arrows
*
****************/
.rsArrow {
  height: 60px;
  width: 50px;
  top: 50%;
  margin-top: -40px;
  position: absolute;
  display: block;
  cursor: pointer;
  background-color: #000;
  background-color: rgba(0, 0, 0, 0.25);
  z-index: 21;
}
.rsArrow:hover {
  background-color: rgba(0, 0, 0, 0.35);
}

.rsArrowLeft {
  left: 0;
}

.rsArrowRight {
  right: 0;
}

.rsArrowIcn {
  width: 32px;
  height: 32px;
  top: 50%;
  margin-top: -16px;
  display: block;
  width: 0;
  height: 0;
  border: inset 16px;
  position: absolute;
  cursor: pointer;
}

.rsArrowLeft .rsArrowIcn {
  border-right-style: solid;
  border-color: transparent;
  border-right-color: #fff;
}

.rsArrowRight .rsArrowIcn {
  right: 0;
  border-color: transparent;
  border-left-style: solid;
  border-left-color: #fff;
}

.rsArrowDisabled {
  opacity: 0.2;
  filter: alpha(opacity=20);
}

/***************
*
*  7. Preloader
*
****************/
.rsPreloader {
  width: 20px;
  height: 20px;
  background-image: url("/images/royalslider/preloader-white.gif");
  left: 50%;
  top: 50%;
  margin-left: -10px;
  margin-top: -10px;
}

/***************
*
*  8. Global caption
*
****************/
.rsGCaption {
  margin-top: 12px;
  text-align: center;
  font-size: 14px;
}

b,
strong {
  font-weight: 700;
}

/*
 * 1. For cases where we want an even lighter horizontal rule than the default.
 * 2. Allows the horizontal rule to expand to full width.
 */
hr.horizontal-rule--light {
  border-color: #ecedec; /* 1 */
}
hr.expanded {
  max-width: 100%; /* 2 */
}

/*
 * 1. Set the various lists to a default font-size equal to our base font size.
 */
ul,
ol,
dl {
  font-size: 14px; /* 1 */
}
ul.left-margin,
ol.left-margin,
dl.left-margin {
  margin-left: 24px;
}

/*
 * 1. Hide the breadcrumbs at tablet sizes and below.
 * 2. Custom character for breadcrumb separator
 * 3. Override the Foundation hover style for these links.
 */
@media print, screen and (max-width: 59.99875em) {
  .breadcrumbs {
    display: none; /* 1 */
  }
}
.breadcrumbs li:not(:last-child)::after { /* 2 */
  position: relative;
  top: 0;
  content: ">";
  color: #3f3f46;
  font-weight: 700;
  opacity: 0.7;
}
.breadcrumbs li .current {
  font-weight: normal;
}
.breadcrumbs a:hover {
  text-decoration: inherit; /* 3 */
}

/*
 * Add this absolute container when you want the breadcrumbs to sit on top
 * of other content, ala a colored background. Like
 */
/*
 * Custom button extensions to style in ways Foundation doesn't allow by default.
 *
 * 1. This makes all buttons properly centered, even with icon content beside them.
 * Currently commented out because Safari doesn't support flexbox on <button> elements.
 * In the future this might change.
 * 2. Override the default opacity that we otherwise show for anchors.
 * 3. Without this, focus appears around Ladda buttons:
 * http://i.imgur.com/7V1VR0K.gifv
 */
button {
  font-family: inherit;
}

/*
 * Default/all button styles.
 * NOTE: If any of these styles are changed, the minimally-set Pendo vendor extensions and
 * other Pendo button styles will need to be checked.
 */
.button {
  font-size: 14px;
  padding: 16px;
  font-weight: 600;
}
.button.tiny, .button-group.tiny .button {
  padding: 9px 18px;
}
.button.small, .button-group.small .button {
  padding: 13px 12px;
}
.button.compressed {
  padding: 12px 10px;
}
.button:hover {
  background-color: #751cb5;
  box-shadow: 0 4px 16px rgba(78, 2, 124, 0.1);
}
.button:hover, .button:focus {
  opacity: 1; /* 2 */
  outline: none; /* 3 */
}
.button:focus {
  background-color: #4e027c;
}
.button:focus-visible {
  box-shadow: 0 0 0 4px rgba(159, 73, 236, 0.5019607843);
}
.button:active {
  background-color: #8b26d9;
}
.button {
  /*
   * Disabled style overrides
   *
   * 1. !important allows us to declare this only here and not in each
   * of the button styles below.
   */
}
.button.disabled:hover, .button.disabled:focus, .button[disabled]:hover, .button[disabled]:focus {
  box-shadow: none !important; /* 1 */
  opacity: 0.38 !important; /* 1 */
  background-color: #4e027c;
}
.button {
  /*
   * Secondary button.
   */
}
.button.secondary:hover {
  box-shadow: 0 4px 16px 0 rgba(60, 70, 77, 0.4);
}
.button.secondary:hover, .button.secondary:focus {
  background-color: rgba(63, 63, 70, 0.8);
}
.button.secondary:active {
  background-color: rgb(48.5052631579, 48.5052631579, 53.8947368421);
}
.button.secondary.disabled:hover, .button.secondary.disabled:focus, .button.secondary[disabled]:hover, .button.secondary[disabled]:focus {
  background-color: #3f3f46;
}
.button {
  /*
   * White button.
   */
}
.button.white, .button.white.disabled, .button.white[disabled], .button.white.disabled:hover, .button.white[disabled]:hover, .button.white.disabled:focus, .button.white[disabled]:focus {
  background-color: #ffffff;
  color: #4e027c;
}
.button.white:hover {
  box-shadow: 0 4px 16px rgba(60, 70, 77, 0.3);
}
.button.white:hover, .button.white:focus {
  background-color: rgb(229.5, 229.5, 229.5);
}
.button.white:active {
  background-color: #e8eaeb;
}
.button {
  /*
   * Light Gray button.
   */
}
.button.light-gray, .button.light-gray.disabled, .button.light-gray[disabled], .button.light-gray.disabled:hover, .button.light-gray[disabled]:hover, .button.light-gray.disabled:focus, .button.light-gray[disabled]:focus {
  background-color: #f4f6f8;
  color: #3f3f46;
}
.button.light-gray:hover {
  box-shadow: 0 4px 16px 0 rgba(60, 70, 77, 0.4);
}
.button.light-gray:hover, .button.light-gray:focus {
  background-color: rgba(244, 246, 248, 0.8);
}
.button.light-gray:active {
  background-color: #e8eaeb;
}
.button {
  /*
   * Red color button.
   */
}
.button.red, .button.red.disabled, .button.red[disabled], .button.red.disabled:hover, .button.red[disabled]:hover, .button.red.disabled:focus, .button.red[disabled]:focus {
  background-color: #e63310;
}
.button.red:hover {
  box-shadow: 0px 4px 16px rgba(227, 88, 88, 0.5);
}
.button.red:hover, .button.red:focus {
  background-color: rgba(230, 51, 16, 0.8);
}
.button.red:active {
  background-color: rgb(172.7804878049, 38.312195122, 12.0195121951);
}
.button {
  /*
   * Hollow color button – transparent with an outline of the primary color.
   *
   * 1. Set the border of the hollow button styles equal to the border we're using
   * across the site currently. This is done as a hard-set 1px rather than using
   * $global-border-radius as we would need, in such a case, to change the padding
   * in a way that we can't automate. If we ever want to make this border-width larger
   * in the future, we'll want to modify that padding then.
   * 2. Rather than transitioning to a different border-color, just make it transparent.
   * It makes the hover effect look nicer.
   */
}
.button.hollow {
  border-width: 1px !important; /* 1 */
}
.button.hollow:hover, .button.hollow:focus {
  color: #ffffff;
  background-color: rgba(78, 2, 124, 0.8);
  border-color: transparent; /* 2 */
  box-shadow: none;
}
.button.hollow:active {
  background-color: rgb(40.1142857143, 1.0285714286, 63.7714285714);
}
.button.hollow.secondary:hover, .button.hollow.secondary:focus {
  color: #ffffff;
  background-color: #3f3f46;
  border-color: transparent; /* 2 */
}
.button.hollow.secondary.disabled:hover, .button.hollow.secondary.disabled:focus, .button.hollow.secondary[disabled]:hover, .button.hollow.secondary[disabled]:focus {
  color: #3f3f46;
  background-color: transparent;
  border-color: #3f3f46;
}
.button.hollow.red, .button.hollow.red.disabled, .button.hollow.red[disabled], .button.hollow.red.disabled:hover, .button.hollow.red[disabled]:hover, .button.hollow.red.disabled:focus, .button.hollow.red[disabled]:focus {
  background-color: transparent;
  border-color: #e63310;
  color: #e63310;
}
.button.hollow.red:hover, .button.hollow.red:focus {
  background-color: #e63310;
  border-color: transparent; /* 2 */
  color: #ffffff;
}
.button {
  /*
   * Icon button (icon + text).
   *
   *
   * 1. NOTE: Only for the old-school style icon font at the moment.
   * 2. Targeting both the old-school icons and newer SVGs.
   */
}
.button.icon-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.button.icon-button i { /* 1 */
  /*
   * NOTE: See the bottom of this class for individual icon button
   * sizings and specifications.
  */
  color: #ffffff;
  font-size: 26px;
}
.button.icon-button i,
.button.icon-button svg { /* 2 */
  /*
   * NOTE: See the bottom of this class for individual icon button
   * sizings and specifications.
  */
  margin-right: 6px;
  flex-shrink: 0;
}
.button.icon-button.icon-button--facebook {
  background-color: #0866ff;
}
.button.icon-button.icon-button--facebook .icon--facebook {
  line-height: 16px;
}
.button.icon-button.icon-button--facebook:hover {
  box-shadow: 0 4px 16px 0 rgba(8, 102, 255, 0.4);
}
.button.icon-button.icon-button--facebook:active, .button.icon-button.icon-button--facebook:focus, .button.icon-button.icon-button--facebook:hover {
  background-color: #1877f2;
}
.button.icon-button.hollow.white {
  color: #4e027c;
  background-color: #ffffff;
}
.button.icon-button.hollow.white i {
  color: #4e027c;
}
.button.icon-button.hollow.white:hover, .button.icon-button.hollow.white:focus {
  background-color: #4e027c;
  color: #ffffff;
}
.button.icon-button.hollow.white:hover i, .button.icon-button.hollow.white:focus i {
  color: #ffffff;
}
.button.icon-button.hollow.white.disabled:hover, .button.icon-button.hollow.white.disabled:focus, .button.icon-button.hollow.white[disabled]:hover, .button.icon-button.hollow.white[disabled]:focus {
  color: #4e027c;
  background-color: #ffffff;
}
.button.icon-button.hollow.white.disabled:hover i, .button.icon-button.hollow.white.disabled:focus i, .button.icon-button.hollow.white[disabled]:hover i, .button.icon-button.hollow.white[disabled]:focus i {
  color: #4e027c;
}
.button.icon-button {
  /*
   * Individual icon button sizings and specifications.
   */
}
.button.icon-button .gigsalad-icon-archive {
  width: 18px;
  height: 18px;
}
.button.icon-button .gigsalad-icon-mark-unread {
  width: 20px;
  height: 16px;
}
.button {
  /*
   * 1. Foundation includes an `.expanded` class by default, but nothing for just
   * the small size. Do that here.
   */
}
@media print, screen and (max-width: 48.06125em) {
  .button.expanded--small {
    width: 100%; /* 1 */
  }
}

/*
 * Override defaults.
 */
[type=submit],
[type=button] {
  border-radius: 8px; /* 1 */
}

/*
 * 1. Seemingly needed for instances like the following:
 * http://i.imgur.com/WXvy6LX.png
 * 2. Allows flexbox-based button groups to be centered.
 * 3. We want expanded button groups to have margins between the buttons.
 * 4. Fixes a Foundation bug that they've fixed in an unreleased commit
 * (https://github.com/foundation/foundation-sites/commit/d6327df7eeede593ca2267b40076b454020ccf56)
 * resulting in unwanted right margin within stacked, expanded buttons. See
 * the following example without a fix: https://i.imgur.com/HhldFtm.png
 * 5. Ensure individual small buttons within button groups are shown as such (not enabled by default
 * with Foundation.)
 */
.button-group {
  width: 100%; /* 1 */
}
.button-group.centered {
  justify-content: center; /* 2 */
}
.button-group.expanded .button {
  margin-right: 0.75rem; /* 3 */
}
.button-group.expanded .button:last-child {
  margin-right: 0;
}
.button-group.stacked .button {
  margin-right: 0; /* 4 */
}
@media print, screen and (max-width: 48.06125em) {
  .button-group.stacked-for-small .button {
    margin-right: 0; /* 4 */
  }
}
@media print, screen and (max-width: 59.99875em) {
  .button-group.stacked-for-medium .button {
    margin-right: 0; /* 4 */
  }
}
.button-group .small {
  font-size: 0.875rem; /* 5 */
}

/*
 * 1. Because this is a nice thing to have, isn't it?
 */
.card {
  position: relative; /* 1 */
  transition: all 250ms cubic-bezier(0.02, 0.01, 0.47, 1);
}
.no-mobile .card.hoverable:hover {
  transform: translate(0, -20px);
  box-shadow: 0 40px 40px rgba(0, 0, 0, 0.16);
}

/*
 * 1. Because `.media-object` has built-in bottom margin, we don't want paragraph
 * tags to also increase this bottom margin. As a result, we remove the bottom
 * margin of the last paragraph tag within media objects.
 * 2. Allow us to specify when we don't want any bottom margin with the media
 * object.
 * 3. Done so we can place items (like the "Featured" ribbon) absolutely
 * positioned within the container if we so decide. Like this:
 * http://i.imgur.com/P9U00L3.png
 */
.media-object p:last-child {
  margin-bottom: 0; /* 1 */
}
.media-object--flush-bottom {
  margin-bottom: 0; /* 2 */
}
.media-object .thumbnail {
  position: relative; /* 3 */
}

table {
  font-size: 14px;
  margin-bottom: 0;
  /*
   * Removes the borders from the tables.
   * i.e. from: http://i.imgur.com/8weH9AL.png
   * to: http://i.imgur.com/oppUZM2.png
   */
}
table.collapsed {
  border-collapse: collapse;
}
table {
  /*
   * 1. When we don't want left and right padding on any of the individual rows.
   * 2. Without padding, we need to replace the vertical separation with something.
   * This works. May cause issues down the road.
   */
}
table.unpadded thead th,
table.unpadded thead td,
table.unpadded tbody th,
table.unpadded tbody td,
table.unpadded tfoot th,
table.unpadded tfoot td {
  padding: 0; /* 1 */
  line-height: 24px; /* 2 */
}

/*
* Overriding Foundation default styles to make FullCalendar show borders and background colors correctly when there is an event present
*
*/
thead,
tbody,
tfoot {
  background: none;
}

/*
* Overriding Foundation default styles to remove grey background from 12 hour mark on hourly FullCalendar views
*
*/
tbody tr:nth-child(even) {
  border-bottom: 0;
  background-color: inherit;
}

@media print {
  .hide-for-print {
    display: none !important;
  }
}
/*
 * Foundation 6 includes a `form-error` class for displaying error text
 * underneath form inputs. By default, it is hidden (due to the way it's
 * designed to work with Abide). We don't want it hidden by default, so here
 * we make it visible by default.
 *
 * 1. Make `form-error` visible by default.
 * 2. Pull the error text back up to the bottom of the input. Going with -22px to give the illusion of a 6px
 * margin between the input and the error message
 * 3. Add a half baseline rhythm bottom margin underneath any form error.
 * 4. To maintain a consistent vertical rhythm, we set this to the baseline rhythm.
 * 5. If the input before the error has no bottom margin, ensure we do not pull the error message up.
 * 6. If the error follows a default paragraph tag, give it a different top margin to account for it.
 *
 * The `form-error` class should be applied to a <p> element. If `help-text` is
 * present, it show go above `help-text` in the markup.
 */
.form-error {
  display: block; /* 1 */
  margin-top: -22px; /* 2 */
  margin-bottom: 12px; /* 3 */
  line-height: 1.125rem;
}
input.flush--bottom + .form-error {
  margin-top: 0; /* 5 */
  margin-bottom: 0;
}
p + .form-error {
  margin-top: 0; /* 6 */
}

/*
 * Error class for invalid inputs.
 * Because CodeIgniter defaults to a class of `error` for invalid inputs, it
 * makes sense to use that as our default for our input errors. We extend
 * Foundation's `is-invalid-input` class here and ensure this styling is only
 * used on inputs.
 * 1. Are we forgetting any other elements that will be errored like this?
 * I hate having to use this method for applying these things.
 */
[type=text], [type=password], [type=date], [type=datetime], [type=datetime-local], [type=month], [type=week], [type=email], [type=number], [type=search], [type=tel], [type=time], [type=url], [type=color],
textarea,
select { /* 1 */ }
[type=text].error, [type=password].error, [type=date].error, [type=datetime].error, [type=datetime-local].error, [type=month].error, [type=week].error, [type=email].error, [type=number].error, [type=search].error, [type=tel].error, [type=time].error, [type=url].error, [type=color].error,
textarea.error,
select.error {
  border-color: #e63310;
  background-image: url("/images/svg/symbols/invalid.2.svg");
  background-repeat: no-repeat;
  background-position: right 12px center;
  padding-right: 36px;
}

select.error {
  background-image: url("/images/svg/symbols/caret.1.svg"), url("/images/svg/symbols/invalid.2.svg");
  background-position: right -12px center, right -48px center;
  background-size: 12px, 18px;
  padding-right: 60px;
}

textarea.error {
  background-position: right 12px top 12px;
}

/*
 * By default, Foundation 6 select inputs are fit to the text they contain.
 * In other words, they do not expand to fit their container. Let's change this!
 *
 * 1. Make select inputs expand to fit their container.
 * 2. Position the select arrow to be in line with the custom validation
 * indicators. Like this: http://i.imgur.com/H7YmeJ2.png
 * 3. Custom left/right padding that is different from the $form-spacing padding.
 * Should be the same as the left _text.scss padding. Right padding is custom
 * for select inputs.
 * 4. Custom style for "ad lib" style inputs that sit within a block of text.
 * (Can be seen exemplified in the style guide.)
 */
select {
  width: 100%; /* 1 */
  background-position: right -1.25rem center; /* 2 */
  padding-left: 1rem; /* 3 */
  background-image: url("/images/svg/symbols/caret.1.svg");
  background-size: 12px;
}
select.select--blue {
  color: #4e027c;
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="32" height="24" viewBox="0 0 32 24"><polygon points="0,0 32,0 16,24" style="fill: rgb%2878, 2, 124%29"></polygon></svg>');
}
@media screen and (min-width: 0\0 ) {
  select.select--blue {
    background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAYCAYAAACbU/80AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAIpJREFUeNrEkckNgDAMBBfRkEt0ObRBBdsGXUDgmQfK4XhH2m8czQAAy27R3tsw4Qfe2x8uOO6oYLb6GlOor3GF+swURAOmUJ+RwtEJs9WvTGEYxBXqI1MQAZhCfUQKRzDMVj+TwrAIV6jvSUEkYAr1LSkcyTBb/V+KYfX7xAeusq3sLDtGH3kEGACPWIflNZfhRQAAAABJRU5ErkJggg==");
  }
}
select.valid {
  border-color: #25944c;
  background-image: url("/images/svg/symbols/caret.1.svg"), url("/images/svg/symbols/valid.1.svg");
  background-position: right -12px center, right -48px center;
  background-size: 12px, 18px;
  padding-right: 60px;
}
select:not(.valid):not(.error):not(:focus):not([disabled]):hover {
  border-color: #8d9397;
}
select.select--ad-lib { /* 4 */
  width: auto;
  height: auto;
  line-height: 1;
  margin: 0;
  padding: 0 16px 0 0;
  background-position: right -16px center;
  border-top: 0;
  border-right: 0;
  border-left: 0;
  border-radius: 0;
  background-color: transparent;
}
select:active, select:focus, select:focus-visible {
  box-shadow: 0 0 0 4px rgba(159, 73, 236, 0.5019607843);
}

/*
 * 1. Normalize is, by default, setting the font-family to `sans-serif`.
 * By changing this here, we're making sure it uses our desired font.
 */
optgroup {
  font-family: inherit; /* 1 */
  font-size: 0.875rem;
}

/*
 * 1. Custom left/right padding that is different from the $form-spacing padding.
 * Should be the same as the _select.scss padding.
 * 2. In our case, certain plugins (like the datepicker) turn inputs to `readonly`
 * state. We don't want these to appear as disabled, so we override that here.
 * 3. Alternatively, if for some reason we do want the background to appear disabled
 * when it is not actually (like the `readonly` inputs for linking graphics), we have
 * the option of using this class.
 * 4. Required because Firefox, by default, applies a transparency to the text.
 * We don't want this!
 */
[type=text], [type=password], [type=date], [type=datetime], [type=datetime-local], [type=month], [type=week], [type=email], [type=number], [type=search], [type=tel], [type=time], [type=url], [type=color],
textarea {
  padding-left: 1rem; /* 1 */
  padding-right: 1rem; /* 1 */
}
[type=text][readonly], [type=password][readonly], [type=date][readonly], [type=datetime][readonly], [type=datetime-local][readonly], [type=month][readonly], [type=week][readonly], [type=email][readonly], [type=number][readonly], [type=search][readonly], [type=tel][readonly], [type=time][readonly], [type=url][readonly], [type=color][readonly],
textarea[readonly] { /* 2 */
  background-color: #ffffff;
  cursor: text;
}
[type=text].disabled-background, [type=password].disabled-background, [type=date].disabled-background, [type=datetime].disabled-background, [type=datetime-local].disabled-background, [type=month].disabled-background, [type=week].disabled-background, [type=email].disabled-background, [type=number].disabled-background, [type=search].disabled-background, [type=tel].disabled-background, [type=time].disabled-background, [type=url].disabled-background, [type=color].disabled-background,
textarea.disabled-background {
  background-color: #e4e4e7; /* 3 */
}
[type=text].valid, [type=password].valid, [type=date].valid, [type=datetime].valid, [type=datetime-local].valid, [type=month].valid, [type=week].valid, [type=email].valid, [type=number].valid, [type=search].valid, [type=tel].valid, [type=time].valid, [type=url].valid, [type=color].valid,
textarea.valid {
  border-color: #25944c;
  background-image: url("/images/svg/symbols/valid.1.svg");
  background-repeat: no-repeat;
  background-position: right 12px center;
  padding-right: 36px;
}
[type=text]:not(.error):not([readonly]):not(.disabled-background):not([disabled]):not(:focus):not(.valid):hover, [type=password]:not(.error):not([readonly]):not(.disabled-background):not([disabled]):not(:focus):not(.valid):hover, [type=date]:not(.error):not([readonly]):not(.disabled-background):not([disabled]):not(:focus):not(.valid):hover, [type=datetime]:not(.error):not([readonly]):not(.disabled-background):not([disabled]):not(:focus):not(.valid):hover, [type=datetime-local]:not(.error):not([readonly]):not(.disabled-background):not([disabled]):not(:focus):not(.valid):hover, [type=month]:not(.error):not([readonly]):not(.disabled-background):not([disabled]):not(:focus):not(.valid):hover, [type=week]:not(.error):not([readonly]):not(.disabled-background):not([disabled]):not(:focus):not(.valid):hover, [type=email]:not(.error):not([readonly]):not(.disabled-background):not([disabled]):not(:focus):not(.valid):hover, [type=number]:not(.error):not([readonly]):not(.disabled-background):not([disabled]):not(:focus):not(.valid):hover, [type=search]:not(.error):not([readonly]):not(.disabled-background):not([disabled]):not(:focus):not(.valid):hover, [type=tel]:not(.error):not([readonly]):not(.disabled-background):not([disabled]):not(:focus):not(.valid):hover, [type=time]:not(.error):not([readonly]):not(.disabled-background):not([disabled]):not(:focus):not(.valid):hover, [type=url]:not(.error):not([readonly]):not(.disabled-background):not([disabled]):not(:focus):not(.valid):hover, [type=color]:not(.error):not([readonly]):not(.disabled-background):not([disabled]):not(:focus):not(.valid):hover,
textarea:not(.error):not([readonly]):not(.disabled-background):not([disabled]):not(:focus):not(.valid):hover {
  border-color: #8d9397;
}
[type=text]::-moz-placeholder, [type=password]::-moz-placeholder, [type=date]::-moz-placeholder, [type=datetime]::-moz-placeholder, [type=datetime-local]::-moz-placeholder, [type=month]::-moz-placeholder, [type=week]::-moz-placeholder, [type=email]::-moz-placeholder, [type=number]::-moz-placeholder, [type=search]::-moz-placeholder, [type=tel]::-moz-placeholder, [type=time]::-moz-placeholder, [type=url]::-moz-placeholder, [type=color]::-moz-placeholder,
textarea::-moz-placeholder {
  opacity: 1; /* 4 */
}
[type=text]:active, [type=text]:focus, [type=text]:focus-visible, [type=password]:active, [type=password]:focus, [type=password]:focus-visible, [type=date]:active, [type=date]:focus, [type=date]:focus-visible, [type=datetime]:active, [type=datetime]:focus, [type=datetime]:focus-visible, [type=datetime-local]:active, [type=datetime-local]:focus, [type=datetime-local]:focus-visible, [type=month]:active, [type=month]:focus, [type=month]:focus-visible, [type=week]:active, [type=week]:focus, [type=week]:focus-visible, [type=email]:active, [type=email]:focus, [type=email]:focus-visible, [type=number]:active, [type=number]:focus, [type=number]:focus-visible, [type=search]:active, [type=search]:focus, [type=search]:focus-visible, [type=tel]:active, [type=tel]:focus, [type=tel]:focus-visible, [type=time]:active, [type=time]:focus, [type=time]:focus-visible, [type=url]:active, [type=url]:focus, [type=url]:focus-visible, [type=color]:active, [type=color]:focus, [type=color]:focus-visible,
textarea:active,
textarea:focus,
textarea:focus-visible {
  box-shadow: 0 0 0 4px rgba(159, 73, 236, 0.5019607843);
}

textarea.valid {
  background-position: right 12px top 12px;
}

.input--borderless-shadow,
.tinynav {
  border-radius: 8px;
  box-shadow: 0px 0.5px 4px -1px rgba(0, 0, 0, 0.14), 0px 1px 2px 0px rgba(0, 0, 0, 0.14);
  border: 0;
}

/*
 * Custom `.help-text` styling.
 *
 * 1. Reset the default `margin-top`.
 * 2. To maintain a consistent vertical rhythm, we set these to equal the baseline rhythm (24).
 * 3. When `.help-text` is preceded by a `.form-error` component, we need
 * custom styling.
 *
 * The `help-text` class should be applied to a <p> element.
 */
.help-text {
  margin-top: 0; /* 1 */
  line-height: 1.125rem; /* 2 */
  margin-bottom: 0.375rem; /* 2 */
}
.form-error + .help-text {
  margin-top: -0.375rem; /* 3 */
}

.help-text--top {
  line-height: 18px;
  margin-bottom: 6px;
}

/*
	 * 1. When `help-text` is provided without being surrounded by other inputs (for
	 * instance, here: http://i.imgur.com/zR9dPKD.png), we may want to push the bottom
	 * margin a bit more. This restores the default bottom margin for those cases.
	 */
.help-text--default-bottom-margin {
  margin-bottom: 1.5rem; /* 1 */
}

/*
 * Custom styling extensions for the form labels around the site.
 * The rest of the styling is based in Foundation.
 */
label {
  margin-bottom: 8px;
  font-weight: 600;
  line-height: 16px;
}

/*
 * Generally, we want to standardize the display of labels around the site.
 * However, in some cases we want to ensure bold labels. For example, on the
 * quote form.
 *
 * Revisit these inconsistent stylings in the future.
 */
.label--bold {
  font-weight: 700;
}

.label--normal {
  font-weight: normal;
}

/*
 * Used if we want to show an extra note beside the existing label, i.e.
 * `Company: (If applicable)`
 *
 * 1. Take the color used for the label and make it lighter!
 */
.label--note {
  font-weight: normal;
  color: #3f3f46;
}

/*
 * 1. Without setting the height to the same thing as Foundation, we get slightly different computed heights.
 * 2. Fixed based on the information at: https://github.com/zurb/foundation-sites/issues/8833
 * Updating Foundation will eliminate the need for this fix, but updating Foundation is a lot more work.
 * 3. Remove the baked-in border radius that Foundation sets. Why do they do that!?
 */
.input-group {
  height: 3.05625rem; /* 1 */
}
.input-group > :first-child { /* 2 */ }
.input-group > :first-child:not(.input-group-button) {
  border-radius: 8px 0 0 8px;
}
.input-group > :first-child.input-group-button > * {
  border-radius: 8px 0 0 8px;
}
.input-group > :first-child select {
  border-radius: 8px 0 0 8px;
}
.input-group > :last-child { /* 2 */ }
.input-group > :last-child:not(.input-group-button) {
  border-radius: 0 8px 8px 0;
}
.input-group > :last-child.input-group-button > * {
  border-radius: 0 8px 8px 0;
}
.input-group > :last-child select {
  border-radius: 8px 0 0 8px;
}
.input-group {
  /*
   * By adding the `white` class, you can turn this input from this:
   * https://i.imgur.com/A5i85qA.png
   * To something like this:
   * https://i.imgur.com/xkVuCr9.png
   *
   * 1. Make the elements all look white!
   * 2. The left padding is okay to remove with a totally white background (for styling reasons).
   */
}
.input-group.white .input-group-label,
.input-group.white .input-group-field {
  background-color: white; /* 1 */
  border: none; /* 1 */
}
.input-group.white .input-group-field {
  padding-left: 0; /* 2 */
}
.input-group {
  /*
   * Makes selects that are part of input groups just a bit more compact.
   * This is because selects in these instances have less room to occupy. Right now, we don't have
   * many instances of this, but we might in the future! If we do, it may be good to revisit these
   * styles. Example of how this looks as part of an input group:
   *
   * 1. Position the select arrow differently in these cases.
   * 2. Strip away the borders as the input group labels have them.
   * 3. Remove the focus coloring so we don't only have focus on 2 of the 3 sides (https://i.imgur.com/XkKfyi4.png).
   * This is a compromise, but likely the best of the compromises available in our current use cases.
   */
}
.input-group select {
  padding-left: 0.75rem;
  padding-right: 1.5rem;
  background-position: right -0.9375rem center; /* 1 */
  border-left: 0; /* 2 */
  border-right: 0; /* 2 */
  margin-bottom: 0;
}
.input-group select:focus {
  border-color: #c5cacc; /* 3 */
}

/*
 * 1. Get rid of the black focus outline that appears by default with all Pendo focuses.
 * This is a browser thing but we don't want it!
 * TODO: Should this actually be in some other base or "defaults" file?
 */
*:focus-visible {
  outline: none !important; /* 1 */
}

/*
 * 1. Foundation by default sets <button> elements to `cursor: auto`.
 * This appears to override Pendo's default cursor style for close buttons,
 * which we don't want. We're resetting that here!
 */
._pendo-close-guide {
  cursor: pointer; /* 1 */
}

/*
 * Pass along a limited number of values to override Pendo button settings
 * and make them identical to our own.
 *
 * Primarily used (at time of writing) to pass along hover and animation styles.
 *
 * 1. Should also pass properties to Pendo variants, as they require this base class, BEM-style.
 */
._pendo-button { /* 1 */
  cursor: pointer;
  transition: all 0.25s cubic-bezier(0.175, 0.885, 0.32, 1.275), background-color 0.25s ease-out, color 0.25s ease-out, box-shadow 0.25s ease-out, border-color 0.25s ease-out !important;
}
._pendo-button:hover {
  box-shadow: 0 4px 16px rgba(78, 2, 124, 0.1);
}

._pendo-button-secondaryButton:hover {
  box-shadow: 0 4px 16px 0 rgba(60, 70, 77, 0.4);
}

._pendo-button-tertiaryButton:hover {
  box-shadow: 0 4px 16px rgba(60, 70, 77, 0.3);
}

/**
 * Custom CSS modifications for Pendo's NPS solution.
 * This is primarily necessary for responsive support, which doesn't come out-of-the-box with Pendo (annoying).
 * Inspired by their solution at https://support.pendo.io/hc/en-us/community/posts/4409907452315-How-to-create-a-responsive-NPS-Guide-
 * but modified for our purposes.
 *
 * NOTE: Because these NPS surveys can be shown on any page to logged-in users, including the non-control panel site,
 * we need to include this minimal CSS with the primary CSS file. We could also create a logged-in-only CSS build process
 * and file, but that would require more work.
 */
/* Smartphones (portrait)/ Smartphones (landscape) / all tablet ----------- */
@media (max-device-width: 836px) {
  ._pendo-nps-poll-wrapper {
    position: relative;
    display: inline-flex;
    justify-content: center;
    flex-wrap: wrap;
  }
  ._pendo-nps-poll-wrapper [id^=pendo-radio-group-wrapper] {
    border: 1px solid #a1a1aa;
    border-radius: 8px !important;
  }
  ._pendo-nps-poll-wrapper .pendo-radio {
    margin-right: 0px !important;
    border-radius: 0px !important;
    width: 29px !important;
    border-right: 1px solid #a1a1aa;
  }
  ._pendo-nps-poll-wrapper {
    /**
     * Overriding Pendo's highlight style on selection, which looks funky 
     * with this smaller screen design.
     */
  }
  ._pendo-nps-poll-wrapper input[type=radio].pendo-radio:focus + label {
    outline: none !important;
  }
  ._pendo-nps-poll-wrapper ._pendo-nps-poll-0 {
    border-top-left-radius: 8px !important;
    border-bottom-left-radius: 8px !important;
  }
  ._pendo-nps-poll-wrapper ._pendo-nps-poll-10 {
    border-top-right-radius: 8px !important;
    border-bottom-right-radius: 8px !important;
    border-right: none !important;
  }
  ._pendo-nps-poll-wrapper ._pendo-nps-poll-lowerbound-label,
  ._pendo-nps-poll-wrapper ._pendo-nps-poll-upperbound-label {
    position: absolute !important;
    bottom: -12px;
  }
  ._pendo-nps-poll-wrapper {
    /**
     * "Extremely likely" label on the right.
     */
  }
  ._pendo-nps-poll-wrapper ._pendo-nps-poll-upperbound-label {
    right: 0px;
  }
  /**
   * The text above the open text field asking for more details.
   */
  ._pendo-nps-open-text-poll-question {
    margin-top: 18px !important;
  }
  /**
   * The text field for the user to enter more details.
   */
  ._pendo-open-text-poll-input {
    width: 330px !important;
  }
}
/**
 * Many base elements are set by Foundation 6. Others are set here.
 * There are also some overrides in here for elements styled by Foundation 6.
 *
 * Base rules are the defaults. They are almost exclusively single element
 * selectors but it could include attribute selectors, pseudo-class selectors
 * child selectors or sibling selectors. Essentially, a base style says that
 * wherever this element is on the page, it should look like *this*.
 */
/**
 * Default body styles
 *
 * 1. Not sure if or why this is necessary, but I seem to recall it has something to do with our off-canvas solution.
 */
body {
  position: relative; /* 1 */
  background-color: #ffffff; /* 1 */
}

/*
 * Main container styles.
 *
 * 1. Necessary for our parallax footer on certain pages.
 */
.main {
  position: relative; /* 1 */
  z-index: 1; /* 1 */
}

/*
 * Default paragraph styles.
 *
 * 1. Push the top of paragraphs when they follow another paragraph.
 * 2. Push the top of a paragraph when it follows a list.
 * 3. Push the top of buttons when they follow another paragraph.
 * 4. Small paragraph font size should always be 12px! Other small sizes can be whatever.
 * 5. Add additional visual weight to anchors within paragraph tags. Inspired by The Guardian:
 * http://www.telegraph.co.uk/news/2016/08/13/nigel-farages-aide-arrested-as-fbi-probe-links-to-money-launderi/
 * 6. Not necessary due to the bottom border.
 */
p {
  font-size: 14px;
}
p + p, p + label, p + ul, p + ol, p + li, ul + p, ol + p, p + button, p + .button, p + .button-group { /* 3 */
  margin-top: 12px;
}
p small {
  font-size: 12px; /* 4 */
}
p small.small-caps {
  font-size: 9px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1.5px;
}

/**
 * Default sitewide anchor styles
 *
 * 1. Provides a transition on hover.
 */
a {
  font-weight: 600;
}
a:hover, a:focus {
  opacity: 0.75;
}

/*
 * 1. Remove the default margins/padding on some elements.
 */
ul, ol, blockquote, dd, dl, fieldset, pre {
  margin: 0; /* 1 */
  padding: 0; /* 1 */
}

/* Default header styles */
.alpha, .beta, .gamma, .event-card__event-type, .menu-dropdown__heading, .delta, .epsilon, .zeta {
  text-rendering: optimizeLegibility;
}

/*
 * Add some spacing when a header follows a paragraph tag.
 */
p + .alpha, p + .beta, p + .gamma, p + .event-card__event-type, p + .menu-dropdown__heading, p + .delta, p + .epsilon, p + .zeta {
  margin-top: 24px;
}

.alpha, .beta, .gamma, .event-card__event-type, .menu-dropdown__heading, .delta {
  font-weight: 700;
}

.alpha {
  /* Set the font-size and line-height while keeping a proper vertical rhythm. */
  font-size: 54px;
  line-height: 72px;
  margin-bottom: 12px;
}

.beta {
  font-size: 26px;
  line-height: 36px;
  margin-bottom: 12px;
}
.beta.large {
  font-size: 28px;
}

.gamma, .event-card__event-type, .menu-dropdown__heading {
  font-size: 18px;
  line-height: 24px;
  margin-bottom: 12px;
}
.delta {
  font-size: 16px;
  line-height: 24px;
  margin-bottom: 12px;
}
.epsilon {
  font-size: 16px;
  line-height: 24px;
  margin-bottom: 12px;
}
.zeta {
  font-size: 16px;
  line-height: 24px;
  margin-bottom: 12px;
}
/* ------------------------------------ *\
	$FONT-FACE DECLARATIONS
\* ------------------------------------ */
/* ------------------------------------ *\
	$INTER
\* ------------------------------------ */
/**
  * Note that:
  * 1. We use the Medium weight as the 400 weight for backwards compatibility across all our `font-weight: normal` declarations.
  * 2. We use the name `Inter-GigSalad` rather than `Inter` because simply `Inter` causes issues with some extensions,
  * including Grammarly, leading to their own `Inter Regular` font at 400 weight being used instead.
  */
@font-face {
  font-family: "Inter-GigSalad"; /* 2 */
  font-weight: 400;
  font-style: normal;
  font-display: auto;
  src: url("/css/fonts/inter/Inter-Medium.woff2") format("woff2"); /* 1 */
}
@font-face {
  font-family: "Inter-GigSalad";
  font-weight: 400;
  font-style: italic;
  font-display: auto;
  src: url("/css/fonts/inter/Inter-MediumItalic.woff2") format("woff2");
}
@font-face {
  font-family: "Inter-GigSalad";
  font-weight: 500;
  font-style: normal;
  font-display: auto;
  src: url("/css/fonts/inter/Inter-Medium.woff2") format("woff2");
}
@font-face {
  font-family: "Inter-GigSalad";
  font-weight: 500;
  font-style: italic;
  font-display: auto;
  src: url("/css/fonts/inter/Inter-MediumItalic.woff2") format("woff2");
}
@font-face {
  font-family: "Inter-GigSalad";
  font-weight: 600;
  font-style: normal;
  font-display: auto;
  src: url("/css/fonts/inter/Inter-SemiBold.woff2") format("woff2");
}
@font-face {
  font-family: "Inter-GigSalad";
  font-weight: 600;
  font-style: italic;
  font-display: auto;
  src: url("/css/fonts/inter/Inter-SemiBoldItalic.woff2") format("woff2");
}
@font-face {
  font-family: "Inter-GigSalad";
  font-weight: 700;
  font-style: normal;
  font-display: auto;
  src: url("/css/fonts/inter/Inter-Bold.woff2") format("woff2");
}
@font-face {
  font-family: "Inter-GigSalad";
  font-weight: 700;
  font-style: italic;
  font-display: auto;
  src: url("/css/fonts/inter/Inter-BoldItalic.woff2") format("woff2");
}
@font-face {
  font-family: "Garnett";
  font-weight: 600;
  font-style: normal;
  font-display: auto;
  src: url("/css/fonts/garnett/Garnett-Semibold.woff2") format("woff2");
}
/*
 * Same font file at the `600` weight, but done for backwards compatibility across the site.
 */
@font-face {
  font-family: "Garnett";
  font-weight: 700;
  font-style: normal;
  font-display: auto;
  src: url("/css/fonts/garnett/Garnett-Semibold.woff2") format("woff2");
}
/* ------------------------------------ *\
	$SVG ICONS
\* ------------------------------------ */
/* stylelint-disable selector-max-attribute */
/*
 * 1. Use the parent font-size for width and height
 */
[class^=gigsalad-icon-], [class*=" gigsalad-icon-"] {
  display: inline-block;
  width: 1em; /* 1 */
  height: 1em; /* 1 */
  stroke-width: 0;
  stroke: currentColor;
  fill: currentColor;
}

/* ------------------------------------ *\
	$OLD – ICON FONT (CUSTOM)
\* ------------------------------------ */
/*
 * 1. Are these necessary? (johnbacon 2016/03/29)
 */
@font-face {
  font-family: "gigsalad-icons";
  font-weight: 400; /* 1 */
  font-style: normal; /* 1 */
  font-display: auto;
  src: url("/css/fonts/gigsalad-icons/gigsalad-icons.22.woff2") format("woff2"), url("/css/fonts/gigsalad-icons/gigsalad-icons.22.woff") format("woff");
}
/*
 * 1. Are these necessary? (johnbacon 2016/03/29)
 */
@font-face {
  font-family: "gigsalad-icons-secondary";
  font-weight: 400; /* 1 */
  font-style: normal; /* 1 */
  font-display: auto;
  src: url("/css/fonts/gigsalad-icons/gigsalad-icons-secondary.22.woff2") format("woff2"), url("/css/fonts/gigsalad-icons/gigsalad-icons-secondary.22.woff") format("woff");
}
/* Use the following CSS code if you want to have a class per icon */
/*
Instead of a list of all class selectors,
you can use the generic selector below, but it's slower:
[class*="icon--"] {
*/
[class*=icon--] {
  font-family: "gigsalad-icons";
  font-size: 3.5em;
  display: inline-block;
  speak: none;
  font-style: normal;
  font-weight: 400;
  font-variant: normal;
  text-transform: none;
  color: #333333;
  color: rgba(0, 0, 0, 0.3);
  line-height: 1;
  cursor: default;
  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  vertical-align: middle;
}
[class*=icon--]:hover {
  color: #666666;
  color: rgba(0, 0, 0, 0.54);
}

a [class*=icon--],
button [class*=icon--],
label [class*=icon--] {
  cursor: pointer;
  text-decoration: none;
}

a [class*=icon--] {
  transition: all 0.15s ease-out;
}

/* ------------------------------------ *\
	$GIGSALAD ICONS 1 (MAIN)
\* ------------------------------------ */
.icon--linearicons-paperclip::before {
  content: "\e698";
}

.icon--linearicons-heart::before {
  content: "\e63b";
}

.icon--linearicons-envelope::before {
  content: "\e641";
}

.icon--linearicons-cross::before {
  content: "\e92a";
}

.icon--linearicons-check::before {
  content: "\e934";
}

.icon--laptop::before {
  content: "\e900";
}

.icon--chat-bubbles::before {
  content: "\e050";
}

.icon--electric-guitar::before {
  content: "\e082";
}

.icon--vinyl::before {
  content: "\e084";
}

.icon--violin::before {
  content: "\e087";
}

.icon--saxophone::before {
  content: "\e07f";
}

.icon--microphone::before {
  content: "\e07e";
}

.icon--world-wireframe::before {
  content: "\e05d";
}

.icon--magic-wand::before {
  content: "\e062";
}

.icon--wedding-rings::before {
  content: "\e060";
}

.icon--circus-tent::before {
  content: "\e0b4";
}

.icon--groucho-glasses::before {
  content: "\e06a";
}

.icon--dance-shoes::before {
  content: "\e078";
}

.icon--chaplin::before {
  content: "\e09d";
}

.icon--comedy-tragedy-masks::before {
  content: "\e099";
}

.icon--paint-board::before {
  content: "\e0a3";
}

.icon--briefcase::before {
  content: "\e08f";
}

.icon--gears::before {
  content: "\e024";
}

.icon--world::before {
  content: "\e05e";
}

.icon--cloud-sun::before {
  content: "\e0af";
}

.icon--apple::before {
  content: "\e07b";
}

.icon--catering-plate::before {
  content: "\e076";
}

.icon--event-tent::before {
  content: "\e090";
}

.icon--stage-light::before {
  content: "\e061";
}

.icon--camera::before {
  content: "\e06c";
}

.icon--fork-knife::before {
  content: "\e075";
}

.icon--keys::before {
  content: "\e0a1";
}

.icon--sheet-music::before {
  content: "\e08d";
}

.icon--magic-rabbit::before {
  content: "\e064";
}

.icon--vintage-mic::before {
  content: "\e088";
}

.icon--balloons::before {
  content: "\e06f";
}

.icon--heart::before {
  content: "\e012";
}

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

.icon--model-eye::before {
  content: "\e093";
}

.icon--rose::before {
  content: "\e0b6";
}

.icon--artist-brush::before {
  content: "\e0a5";
}

.icon--decades::before {
  content: "\e0be";
}

.icon--fire::before {
  content: "\e0aa";
}

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

.icon--facebook::before {
  content: "\e01f";
}

.icon--twitter::before {
  content: "\e020";
}

.icon--pinterest::before {
  content: "\e0c3";
}

.icon--google-plus::before {
  content: "\e0c4";
}

.icon--linkedin::before {
  content: "\e600";
}

.icon--instagram::before {
  content: "\e601";
}

.icon--vimeo::before {
  content: "\e602";
}

.icon--check-mark::before {
  content: "\e011";
}

.icon--letter-pencil::before {
  content: "\e041";
}

.icon--email-letter::before {
  content: "\e032";
}

.icon--airplane::before {
  content: "\e01e";
}

.icon--dollar-sign::before {
  content: "\e044";
}

.icon--phone::before {
  content: "\e021";
}

.icon--email::before {
  content: "\e015";
}

.icon--picture-gallery::before {
  content: "\e048";
}

.icon--star-chat::before {
  content: "\e058";
}

.icon--film-reel::before {
  content: "\e0a8";
}

.icon--calendar-range::before {
  content: "\e002";
}

.icon--hand-shake::before {
  content: "\e04f";
}

.icon--award::before {
  content: "\e017";
}

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

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

.icon--star::before {
  content: "\e000";
}

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

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

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

.icon--flag::before {
  content: "\e605";
}

/* ------------------------------------ *\
	$GIGSALAD ICONS 2 (SECONDARY)
\* ------------------------------------ */
.icon--linearicons-printer::before {
  content: "\e6b1";
  font-family: "gigsalad-icons-secondary";
}

.icon--old-timey-microphone::before {
  content: "\e01b";
  font-family: "gigsalad-icons-secondary";
}

.icon--gear::before {
  content: "\e023";
  font-family: "gigsalad-icons-secondary";
}

.icon--inbox::before {
  content: "\e034";
  font-family: "gigsalad-icons-secondary";
}

.icon--line-graph-arrow::before {
  content: "\e03d";
  font-family: "gigsalad-icons-secondary";
}

.icon--edit::before {
  content: "\e03e";
  font-family: "gigsalad-icons-secondary";
}

.icon--contract-pencil::before {
  content: "\e04b";
  font-family: "gigsalad-icons-secondary";
}

.icon--cake-slice::before {
  content: "\e066";
  font-family: "gigsalad-icons-secondary";
}

.icon--christmas-tree::before {
  content: "\e067";
  font-family: "gigsalad-icons-secondary";
}

.icon--suit::before {
  content: "\e068";
  font-family: "gigsalad-icons-secondary";
}

.icon--bow-tie::before {
  content: "\e06b";
  font-family: "gigsalad-icons-secondary";
}

.icon--cross::before {
  content: "\e071";
  font-family: "gigsalad-icons-secondary";
}

.icon--cowboy-hat::before {
  content: "\e073";
  font-family: "gigsalad-icons-secondary";
}

.icon--beer::before {
  content: "\e077";
  font-family: "gigsalad-icons-secondary";
}

.icon--balloon-animal::before {
  content: "\e079";
  font-family: "gigsalad-icons-secondary";
}

.icon--apple-pencil::before {
  content: "\e07a";
  font-family: "gigsalad-icons-secondary";
}

.icon--acoustic-guitar::before {
  content: "\e081";
  font-family: "gigsalad-icons-secondary";
}

.icon--drums::before {
  content: "\e083";
  font-family: "gigsalad-icons-secondary";
}

.icon--trumpet::before {
  content: "\e085";
  font-family: "gigsalad-icons-secondary";
}

.icon--vintage-mics::before {
  content: "\e089";
  font-family: "gigsalad-icons-secondary";
}

.icon--comedy-mask::before {
  content: "\e09b";
  font-family: "gigsalad-icons-secondary";
}

.icon--kiss-mask::before {
  content: "\e09c";
  font-family: "gigsalad-icons-secondary";
}

.icon--elvis::before {
  content: "\e09f";
  font-family: "gigsalad-icons-secondary";
}

.icon--palm-tree::before {
  content: "\e0a2";
  font-family: "gigsalad-icons-secondary";
}

.icon--clapperboard::before {
  content: "\e0a9";
  font-family: "gigsalad-icons-secondary";
}

.icon--football::before {
  content: "\e0b0";
  font-family: "gigsalad-icons-secondary";
}

.icon--basketball::before {
  content: "\e0b1";
  font-family: "gigsalad-icons-secondary";
}

.icon--radio::before {
  content: "\e0bd";
  font-family: "gigsalad-icons-secondary";
}

.icon--puppet::before {
  content: "\e072";
  font-family: "gigsalad-icons-secondary";
}

.icon--glove::before {
  content: "\e080";
  font-family: "gigsalad-icons-secondary";
}

.icon--video-play-progress::before {
  content: "\e00e";
  font-family: "gigsalad-icons-secondary";
}

.icon--diamond::before {
  content: "\e06e";
  font-family: "gigsalad-icons-secondary";
}

.icon--bird::before {
  content: "\e070";
  font-family: "gigsalad-icons-secondary";
}

.icon--beverage::before {
  content: "\e074";
  font-family: "gigsalad-icons-secondary";
}

.icon--cake::before {
  content: "\e065";
  font-family: "gigsalad-icons-secondary";
}

.icon--logo::before {
  content: "\e0bf";
  font-family: "gigsalad-icons-secondary";
}

.icon--lincoln::before {
  content: "\e600";
  font-family: "gigsalad-icons-secondary";
}

@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
.fadeIn {
  animation-name: fadeIn;
}

/* ------------------------------------ *\
	$ANIMATE.CSS BASE STYLES
\* ------------------------------------ */
.animated {
  animation-duration: 1s;
  animation-fill-mode: both;
}

.animated--infinite {
  animation-iteration-count: infinite;
}

/* ------------------------------------ *\
	$WOW hide on load
\* ------------------------------------ */
/**
 * Hide all WOW animated elements if JavaScript is enabled
 * WOW will handle making these elements visible once loaded
 */
.js .wow {
  visibility: hidden;
}

/* ------------------------------------ *\
	$CUSTOM ANIMATIONS
\* ------------------------------------ */
.fadeInBounceUpCustom {
  animation-name: fadeIn, bounceUpCustom;
  animation-timing-function: ease, cubic-bezier(0.175, 0.885, 0.32, 1.15);
  animation-fill-mode: both;
  animation-duration: 500ms;
}

@keyframes bounceUpCustom {
  0% {
    transform: translate3d(0, 100%, 0);
  }
  100% {
    transform: translate3d(0, 0, 0);
  }
}
.fadeInUpSmall {
  animation-name: fadeInUpSmall, bounceUpSmall;
  animation-timing-function: cubic-bezier(0.02, 0.01, 0.47, 1);
  animation-fill-mode: both;
  animation-duration: 250ms;
}

@keyframes fadeInUpSmall {
  0% {
    opacity: 0;
    transform: translateY(25px);
  }
  100% {
    opacity: 1;
    transform: none;
  }
}
.tiny-wiggle {
  backface-visibility: hidden;
}
.tiny-wiggle:hover {
  animation: tiny-wiggle 220ms ease-out;
}

@keyframes tiny-wiggle {
  100% {
    transform-origin: bottom center;
  }
  25% {
    transform: rotate(4deg);
  }
  50% {
    transform: rotate(-2deg);
  }
  75% {
    transform: rotate(1deg);
  }
  100% {
    transform: rotate(0deg);
  }
}
@keyframes single-pulse {
  0% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.5);
  }
  100% {
    transform: scale(1);
  }
}
@keyframes double-pulse {
  0% {
    transform: scale(1);
  }
  50% {
    transform: scale(2);
  }
  100% {
    transform: scale(1);
  }
}
@keyframes scale-from-nothing {
  0% {
    transform: scale(0);
  }
  100% {
    transform: scale(1);
  }
}
/* ------------------------------------ *\
	$MAGNIFIC POPUP FADE-IN EFFECT
	Add to Magnific Call - i.e. mainClass: 'mfp-fade'
	and removalDelay: 200
\* ------------------------------------ */
/* overlay at start */
.mfp-fade.mfp-bg {
  opacity: 0;
  transition: opacity 0.2s;
}

/* overlay animate in */
.mfp-fade.mfp-bg.mfp-ready {
  opacity: 0.8;
}

/* overlay animate out */
.mfp-fade.mfp-bg.mfp-removing {
  opacity: 0;
}

/* content at start */
.mfp-fade.mfp-wrap .mfp-content {
  opacity: 0;
  transition: opacity 0.2s;
}

/* content animate it */
.mfp-fade.mfp-wrap.mfp-ready .mfp-content {
  opacity: 1;
}

/* content animate out */
.mfp-fade.mfp-wrap.mfp-removing .mfp-content {
  opacity: 0;
}

/* ------------------------------------ *\
	$FADE IN FROM LEFT
\* ------------------------------------ */
.fade-in-left.ng-hide-remove,
.fade-in-left.ng-hide-add {
  /* remember, the .hg-hide class is added to element
  when the active class is added causing it to appear
  as hidden. Therefore set the styling to display=block
  so that the hide animation is visible */
  display: block !important;
}

.fade-in-left.ng-hide-remove {
  animation: fade-in-left 0.5s;
}

@keyframes fade-in-left {
  from {
    opacity: 0;
    transform: translateX(-20px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}
@keyframes fade-in-right {
  from {
    opacity: 0;
    transform: translateX(20px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}
/* ------------------------------------ *\
	$FADE IN DOWN
\* ------------------------------------ */
.fade-in-down.ng-hide-remove,
.fade-in-down.ng-hide-add {
  /* remember, the .hg-hide class is added to element
  when the active class is added causing it to appear
  as hidden. Therefore set the styling to display=block
   so that the hide animation is visible */
  display: block !important;
}

.fade-in-down.ng-hide-remove {
  animation: fade-in-down 0.25s;
}

@keyframes fade-in-down {
  from {
    opacity: 0;
    transform: translateY(-20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
/* ------------------------------------ *\
    $HELPERS
\* ------------------------------------ */
/**
 * A series of helper classes to use arbitrarily. Only use a helper class if an
 * element/component doesn't already have a class to which you could apply this
 * styling, e.g. if you need to float '.main-nav' left then add 'float:left;' to
 * that ruleset as opposed to adding the '.float--left' class to the markup.
 *
 * A lot of these classes carry '!important' as you will always want them to win
 * out over other selectors.
 */
/* stylelint-disable
	block-opening-brace-space-before,
	declaration-block-semicolon-newline,
	declaration-block-semicolon-newline-after,
	declaration-block-single-line-max-declarations,
	declaration-colon-space-after,
	declaration-no-important,
	declaration-bang-space-before,
	scss/operator-no-unspaced,
	stylelint-opening-brace-newline-after,
	*/
/**
 * Add/remove floats
 */
.float--left {
  float: left !important;
}

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

.float--none {
  float: none !important;
}

@media (max-width: 768px) {
  .float--none--small {
    float: none !important;
  }
}
@media (min-width: 769px) {
  .float--left--medium {
    float: left !important;
  }
  .float--right--medium {
    float: right !important;
  }
}
/**
 * Text alignment
 */
.text--left {
  text-align: left !important;
}

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

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

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

@media (max-width: 768px) {
  .text--center--small {
    text-align: center !important;
  }
  .text--right--small {
    text-align: right !important;
  }
  .text--left--small {
    text-align: left !important;
  }
}
@media (min-width: 769px) {
  .text--center--medium {
    text-align: center !important;
  }
  .text--right--medium {
    text-align: right !important;
  }
}
/**
 * Font weights
 */
.weight--normal {
  font-weight: normal !important;
}

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

.weight--bold, .onboarding-pricing-bubble__price, .category-listing__title, .pricing-bubble__price, .pricing-card__list, .subheading, .header__body {
  font-weight: 700 !important;
}

.weight--600 {
  font-weight: 600 !important;
}

.ribbon, .onboarding-pricing-table__ribbon, .pricing-card__ribbon, .ribbon--new {
  font-weight: 700;
}

/**
 * Text modifications.
 */
.text--lowercase {
  text-transform: lowercase !important;
}

.text--uppercase, .subheading {
  text-transform: uppercase !important;
}

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

.text--underline {
  text-decoration: underline !important;
}

/**
 * Helper class to truncate and add ellipsis to a string too long for it to fit
 * on a single line.
 *
 * 1. Prevent content from wrapping, forcing it on a single line.
 * 2. Add ellipsis at the end of the line.
 */
.ellipsis {
  white-space: nowrap; /* 1 */
  text-overflow: ellipsis; /* 2 */
  overflow: hidden;
}

@media (min-width: 769px) {
  .ellipsis--medium {
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow: hidden;
  }
}
/**
 * Flex grid alignment helpers
 */
@media (max-width: 768px) {
  .align-center--small {
    justify-content: center;
  }
}
.align-items--center {
  align-items: center;
}

.align-items--start {
  align-items: flex-start;
}

.align-self--center {
  align-self: center;
}

.justify-content--between {
  justify-content: space-between !important;
}

/**
 * Add/remove margins
 */
.push {
  margin: 24px !important;
}

.push--top {
  margin-top: 24px !important;
}

.push--right {
  margin-right: 24px !important;
}

.push--bottom {
  margin-bottom: 24px !important;
}

.push--left {
  margin-left: 24px !important;
}

.push--ends {
  margin-top: 24px !important;
  margin-bottom: 24px !important;
}

.push--sides {
  margin-right: 24px !important;
  margin-left: 24px !important;
}

.push--bottom--3px {
  margin-bottom: 3px !important;
}

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

.push--top--16px {
  margin-top: 16px !important;
}

.push--bottom--16px {
  margin-bottom: 16px !important;
}

.push-quarter--top {
  margin-top: 6px !important;
}

.push-quarter--right {
  margin-right: 6px !important;
}

.push-quarter--bottom {
  margin-bottom: 6px !important;
}

.push-quarter--left {
  margin-left: 6px !important;
}

.push-quarter--ends {
  margin-top: 6px !important;
  margin-bottom: 6px !important;
}

.push-half {
  margin: 12px !important;
}

.push-half--top {
  margin-top: 12px !important;
}

.push-half--right {
  margin-right: 12px !important;
}

.push-half--bottom {
  margin-bottom: 12px !important;
}

.push-half--left {
  margin-left: 12px !important;
}

.push-half--ends {
  margin-top: 12px !important;
  margin-bottom: 12px !important;
}

.push-half--sides {
  margin-right: 12px !important;
  margin-left: 12px !important;
}

.push-double--top {
  margin-top: 48px !important;
}

.push-triple--top {
  margin-top: 72px !important;
}

.push-quadruple--top {
  margin-top: 96px !important;
}

.push-double--bottom {
  margin-bottom: 48px !important;
}

.push-triple--bottom {
  margin-bottom: 72px !important;
}

.push-quadruple--bottom {
  margin-bottom: 96px !important;
}

.push-double--left {
  margin-left: 48px !important;
}

.push-triple--left {
  margin-left: 72px !important;
}

.push-quadruple--left {
  margin-left: 72px !important;
}

.push-double--right {
  margin-right: 48px !important;
}

.push-triple--right {
  margin-right: 72px !important;
}

.push-quadruple--right {
  margin-right: 72px !important;
}

.push-double--ends {
  margin-top: 48px !important;
  margin-bottom: 48px !important;
}

.pull--top {
  margin-top: -24px !important;
}

.pull--bottom {
  margin-bottom: -24px !important;
}

.pull--sides {
  margin-right: -24px !important;
  margin-left: -24px !important;
}

.pull--left {
  margin-left: -24px !important;
}

.pull-quarter--left {
  margin-left: -6px !important;
}

.pull-half--top {
  margin-top: -12px !important;
}

.pull-half--bottom {
  margin-bottom: -12px !important;
}

.pull-half--sides {
  margin-right: -12px !important;
  margin-left: -12px !important;
}

.pull-double--top {
  margin-top: -48px !important;
}

.flush {
  margin: 0 !important;
}

.flush--top {
  margin-top: 0 !important;
}

.flush--right {
  margin-right: 0 !important;
}

.flush--bottom {
  margin-bottom: 0 !important;
}

.flush--left {
  margin-left: 0 !important;
}

.flush--ends {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

.flush--sides {
  margin-right: 0 !important;
  margin-left: 0 !important;
}

@media print, screen and (max-width: 48.06125em) {
  .push--top--small {
    margin-top: 24px !important;
  }
  .push--bottom--small {
    margin-bottom: 24px !important;
  }
  .push--left--small {
    margin-left: 24px !important;
  }
  .push--ends--small {
    margin-top: 24px !important;
    margin-bottom: 24px !important;
  }
  .push-quarter--top--small {
    margin-top: 6px !important;
  }
  .push-half--top--small {
    margin-top: 12px !important;
  }
  .push-half--bottom--small {
    margin-bottom: 12px !important;
  }
  .push-half--left--small {
    margin-left: 12px !important;
  }
  .push-half--ends--small {
    margin-top: 12px !important;
    margin-bottom: 12px !important;
  }
  .push-double--top--small {
    margin-top: 48px !important;
  }
  .push-double--bottom--small {
    margin-bottom: 48px !important;
  }
  .pull--top--small {
    margin-top: -24px !important;
  }
  .pull-half--top--small {
    margin-top: -12px !important;
  }
  .pull--left--small {
    margin-left: -24px !important;
  }
  .flush--bottom--small {
    margin-bottom: 0px !important;
  }
  .flush--top--small {
    margin-top: 0px !important;
  }
}
@media (min-width: 769px) {
  .push--top--medium {
    margin-top: 24px !important;
  }
  .push--bottom--medium {
    margin-bottom: 24px !important;
  }
  .push--right--medium {
    margin-right: 24px !important;
  }
  .push--left--medium {
    margin-left: 24px !important;
  }
  .push-quarter--top--medium {
    margin-top: 6px !important;
  }
  .push-quarter--right--medium {
    margin-right: 6px !important;
  }
  .push-quarter--bottom--medium {
    margin-bottom: 6px !important;
  }
  .push-quarter--left--medium {
    margin-left: 6px !important;
  }
  .push-half--top--medium {
    margin-top: 12px !important;
  }
  .push-half--right--medium {
    margin-right: 12px !important;
  }
  .push-half--bottom--medium {
    margin-bottom: 12px !important;
  }
  .push-half--left--medium {
    margin-left: 12px !important;
  }
  .push-double--top--medium {
    margin-top: 48px !important;
  }
  .push-double--bottom--medium {
    margin-bottom: 48px !important;
  }
  .push-double--left--medium {
    margin-left: 48px !important;
  }
  .push-double--right--medium {
    margin-right: 48px !important;
  }
  .pull--top--medium {
    margin-top: -24px !important;
  }
  .pull--bottom--medium {
    margin-bottom: -24px !important;
  }
  .flush--bottom--medium {
    margin-bottom: 0px !important;
  }
}
@media print, screen and (min-width: 60em) {
  .push-double--top--large {
    margin-top: 48px !important;
  }
  .flush--top--large {
    margin-top: 0 !important;
  }
}
/**
 * Add/remove paddings
 */
.soft {
  padding: 24px !important;
}

.soft--top {
  padding-top: 24px !important;
}

.soft--right {
  padding-right: 24px !important;
}

.soft--bottom {
  padding-bottom: 24px !important;
}

.soft--left {
  padding-left: 24px !important;
}

.soft--ends {
  padding-top: 24px !important;
  padding-bottom: 24px !important;
}

.soft--sides {
  padding-right: 24px !important;
  padding-left: 24px !important;
}

.soft--20px {
  padding: 20px !important;
}

.soft--ends-16px {
  padding-top: 16px !important;
  padding-bottom: 16px !important;
}

.soft--16px {
  padding: 16px !important;
}

.soft--top-16px {
  padding-top: 16px !important;
}

.soft--64px {
  padding: 64px !important;
}

.soft--double {
  padding: 48px !important;
}

.soft--ends--20px {
  padding-top: 20px !important;
  padding-bottom: 20px !important;
}

.soft--sides--14px {
  padding-right: 14px !important;
  padding-left: 14px !important;
}

.soft-double--top {
  padding-top: 48px !important;
}

.soft-triple--top {
  padding-top: 72px !important;
}

.soft-double--right {
  padding-right: 48px !important;
}

.soft-triple--right {
  padding-right: 72px !important;
}

.soft-double--bottom {
  padding-bottom: 48px !important;
}

.soft-triple--bottom {
  padding-bottom: 72px !important;
}

.soft-double--left {
  padding-left: 48px !important;
}

.soft-triple--left {
  padding-left: 72px !important;
}

.soft-double--ends {
  padding-top: 48px !important;
  padding-bottom: 48px !important;
}

.soft-triple--ends {
  padding-top: 72px !important;
  padding-bottom: 72px !important;
}

.soft-quarter {
  padding: 6px !important;
}

.soft-quarter--top {
  padding-top: 6px !important;
}

.soft-quarter--right {
  padding-right: 6px !important;
}

.soft-quarter--bottom {
  padding-bottom: 6px !important;
}

.soft-quarter--left {
  padding-left: 6px !important;
}

.soft-quarter--sides {
  padding-right: 6px !important;
  padding-left: 6px !important;
}

.soft-quarter--ends {
  padding-top: 6px !important;
  padding-bottom: 6px !important;
}

.soft-ends--4px {
  padding-top: 4px !important;
  padding-bottom: 4px !important;
}

.soft-sides--sm {
  padding-right: 16px !important;
  padding-left: 16px !important;
}

.soft-ends--sm {
  padding-top: 24px !important;
  padding-bottom: 24px !important;
}

.soft-half {
  padding: 12px !important;
}

.soft-half--top {
  padding-top: 12px !important;
}

.soft-half--right {
  padding-right: 12px !important;
}

.soft-half--bottom {
  padding-bottom: 12px !important;
}

.soft-half--left {
  padding-left: 12px !important;
}

.soft-half--ends {
  padding-top: 12px !important;
  padding-bottom: 12px !important;
}

.soft-half--sides {
  padding-right: 12px !important;
  padding-left: 12px !important;
}

.hard {
  padding: 0 !important;
}

.hard--top {
  padding-top: 0 !important;
}

.hard--right {
  padding-right: 0 !important;
}

.hard--bottom {
  padding-bottom: 0 !important;
}

.hard--left {
  padding-left: 0 !important;
}

.hard--ends {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

.hard--sides {
  padding-right: 0 !important;
  padding-left: 0 !important;
}

@media (min-width: 640px) {
  .soft-sides--sm {
    padding-right: 24px !important;
    padding-left: 24px !important;
  }
}
@media (max-width: 768px) {
  .soft-half--small {
    padding: 12px !important;
  }
  .soft-quarter--right--small {
    padding-right: 6px !important;
  }
  .hard--left--small {
    padding-left: 0 !important;
  }
  .hard--right--small {
    padding-right: 0 !important;
  }
  .hard--sides--small {
    padding-right: 0 !important;
    padding-left: 0 !important;
  }
}
@media (min-width: 769px) {
  .soft--medium {
    padding: 24px !important;
  }
  .soft--top--medium {
    padding-top: 24px !important;
  }
  .soft--right--medium {
    padding-right: 24px !important;
  }
  .soft--left--medium {
    padding-left: 24px !important;
  }
  .soft--ends--medium {
    padding-top: 24px !important;
    padding-bottom: 24px !important;
  }
  .soft--sides--medium {
    padding-right: 24px !important;
    padding-left: 24px !important;
  }
  .soft-quarter--right--medium {
    padding-right: 6px !important;
  }
  .soft-quarter--left--medium {
    padding-left: 6px !important;
  }
  .soft-double--top--medium {
    padding-top: 48px !important;
  }
  .soft-double--right--medium {
    padding-right: 48px !important;
  }
  .soft-double--bottom--medium {
    padding-bottom: 48px !important;
  }
  .soft-double--left--medium {
    padding-left: 48px !important;
  }
  .soft-triple--right--medium {
    padding-right: 72px !important;
  }
  .soft-half--top--medium {
    padding-top: 12px !important;
  }
  .soft-half--right--medium {
    padding-right: 12px !important;
  }
  .soft-half--bottom--medium {
    padding-bottom: 12px !important;
  }
  .soft-half--left--medium {
    padding-left: 12px !important;
  }
  .soft-sides--sm {
    padding-right: 48px !important;
    padding-left: 48px !important;
  }
  .soft-ends--sm {
    padding-top: 48px !important;
    padding-bottom: 48px !important;
  }
  .hard--right--medium {
    padding-right: 0 !important;
  }
  .hard--left--medium {
    padding-left: 0 !important;
  }
  .hard--top--medium {
    padding-top: 0 !important;
  }
  .hard--bottom--medium {
    padding-bottom: 0 !important;
  }
  .hard--sides--medium {
    padding-right: 0 !important;
    padding-left: 0 !important;
  }
}
@media print, screen and (min-width: 60em) {
  .soft--large {
    padding: 24px !important;
  }
  .soft--top--large {
    padding-top: 24px !important;
  }
  .soft--right--large {
    padding-right: 24px !important;
  }
  .soft--left--large {
    padding-left: 24px !important;
  }
  .soft--ends--large {
    padding-top: 24px !important;
    padding-bottom: 24px !important;
  }
  .soft--sides--large {
    padding-right: 24px !important;
    padding-left: 24px !important;
  }
  .soft-quarter--right--large {
    padding-right: 6px !important;
  }
  .soft-quarter--left--large {
    padding-left: 6px !important;
  }
  .soft-double--top--large {
    padding-top: 48px !important;
  }
  .soft-double--right--large {
    padding-right: 48px !important;
  }
  .soft-double--bottom--large {
    padding-bottom: 48px !important;
  }
  .soft-double--left--large {
    padding-left: 48px !important;
  }
  .soft-triple--right--large {
    padding-right: 72px !important;
  }
  .soft-half--top--large {
    padding-top: 12px !important;
  }
  .soft-half--bottom--large {
    padding-bottom: 12px !important;
  }
  .soft-half--left--large {
    padding-left: 12px !important;
  }
  .soft--64px-top--large {
    padding-top: 64px !important;
  }
  .soft--128px-bottom--large {
    padding-bottom: 128px !important;
  }
  .hard--right--large {
    padding-right: 0 !important;
  }
  .hard--left--large {
    padding-left: 0 !important;
  }
  .hard--top--large {
    padding-top: 0 !important;
  }
  .hard--bottom--large {
    padding-bottom: 0 !important;
  }
  .hard--sides--large {
    padding-right: 0 !important;
    padding-left: 0 !important;
  }
}
/**
 * Add/set border size/color/style
 */
.border {
  border-width: 1px;
  border-style: solid;
}

.border--bottom--1px {
  border-bottom: 1px;
  border-bottom-style: solid;
}

.border--top--1px {
  border-top: 1px solid #e4e4e7;
}

.border--white {
  border-color: #ffffff !important;
}

.border--bottom {
  border-bottom: 1px solid #e4e4e7;
}

.border--text-underline--default {
  border-bottom: 1px dotted #4e027c;
  padding-bottom: 2px;
  cursor: pointer;
}
.border--text-underline--default:hover, .border--text-underline--default:focus, .border--text-underline--default:active {
  border-color: #246b8f;
}

.border--text-underline--dark {
  border-bottom: 1px dotted #777777;
  padding-bottom: 2px;
  cursor: pointer;
}
.border--text-underline--dark:hover {
  color: #000000;
  border-color: #000000;
}

.border--text-underline--light {
  border-bottom: 1px dotted #777777;
  padding-bottom: 2px;
  cursor: pointer;
}
.border--text-underline--light:hover {
  color: #ffffff;
  border-color: #ffffff;
}

.border--text-underline--lightest {
  border-bottom: 1px dotted #dddddd;
  padding-bottom: 2px;
  cursor: pointer;
}
.border--text-underline--lightest:hover {
  color: #ffffff;
  border-color: #ffffff;
}

@media (max-width: 768px) {
  .border--bottom--1px--small {
    border-bottom: 1px;
    border-bottom-style: solid;
  }
}
@media (min-width: 769px) {
  .border--bottom--1px--medium {
    border-bottom: 1px;
    border-bottom-style: solid;
  }
}
/**
 * Add set widths
 */
.width--100p {
  width: 100% !important;
}

@media (max-width: 768px) {
  .width-small--100p {
    width: 100% !important;
  }
}
@media (min-width: 769px) {
  .width-large--40p {
    width: 40% !important;
  }
}
.height--100p {
  height: 100% !important;
}

.js .js-hide,
.accessibility,
.visuallyhidden {
  position: absolute !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  margin: -1px !important;
  padding: 0 !important;
  width: 1px !important;
  height: 1px !important;
  border: 0 !important;
}

.invisible {
  visibility: hidden !important;
}

@media (min-width: 769px) {
  .js .js-hide--medium {
    position: absolute !important;
    overflow: hidden !important;
    clip: rect(0 0 0 0) !important;
    margin: -1px !important;
    padding: 0 !important;
    width: 1px !important;
    height: 1px !important;
    border: 0 !important;
  }
}
/*
 * Inspired by Bootstrap (https://getbootstrap.com/docs/5.2/utilities/stretched-link/),
 * this makes a link inside a block fill its entire containing block (making the entire block
 * clickable as a link) as long as said containing block has has a `position: relative;` on it).
 *
 * NOTE: This class doesn't guarantee showing any tap targets/highlighting on mobile devices, leading
 * to a potentially awkward experience. You should try this yourself.
 *
 * Airbnb's non-wrapping anchor implementation accomplishes the same thing here but does show
 * tap targets.
 */
.stretched-link::before {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 10;
  content: "";
}

/**
 * Add a pointer cursor to any element to simulate a link on ':hover'.
 */
.pointer {
  cursor: pointer !important;
}

/**
 * Add a move cursor to any element to indicate the ability to click and drag on ':hover'.
 */
.move {
  cursor: move !important;
}

/**
 * "display none" classes for Angular cloak attributes/classes.
 */
[ng\:cloak], [ng-cloak], [data-ng-cloak], [x-ng-cloak], .ng-cloak, .x-ng-cloak {
  display: none !important;
}

/**
 * Text colors.
 */
.text--primary-color {
  color: #4e027c !important;
}

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

.text--black {
  color: #000000 !important;
}

.text--brand {
  color: #4e027c !important;
}

.text--fuchsia {
  color: #9f49ec !important;
}

.text--berry-blue {
  color: #1469db !important;
}

.text--peachy-coral {
  color: #fa9664 !important;
}

.text--gray, .recent-quote__detail-text, .ac_results li .ac_result_secondary_text, .rsGCaption {
  color: #71717a !important;
}

.text--dark-gray {
  color: #333333 !important;
}

.text--default {
  color: #3f3f46 !important;
}

.text--green {
  color: #25944c !important;
}

.text--leafy-green {
  color: #5ccf84 !important;
}

.text--citrus-yellow {
  color: #ffd448 !important;
}

.text--red {
  color: #e63310 !important;
}

.text--medium-gray {
  color: #71717a !important;
}

.text--light-gray, .subheading {
  color: #bebebe !important;
}

.text--orange {
  color: #ff8c47 !important;
}

.text--gold {
  color: #ffd448 !important;
}

.text--sea-green {
  color: #25944c !important;
}

@media (max-width: 768px) {
  .text--gray--small {
    color: #888888 !important;
  }
}
/**
 * Puts a line behind an item of text. May or may not be satisfactorily reusable.
 * Taken from: http://jsfiddle.net/XWVxk/8/
 */
.text--line-behind {
  position: relative;
  z-index: 1;
  overflow: hidden;
  text-align: center;
}
.text--line-behind::before, .text--line-behind::after {
  content: " ";
  position: absolute;
  top: 51%;
  overflow: hidden;
  width: 48%;
  height: 1px;
  background-color: #dce0e0;
}
.text--line-behind::before {
  margin-left: -50%;
  text-align: right;
}
.text--line-behind::after {
  margin-left: 2%;
}

/**
 * Link colors.
 */
.link--default, .promokit-audio__edit {
  color: #8b26d9 !important;
  cursor: pointer; /* &:hover, &:focus, &:active { color:#246b8f!important; } */
}

.link--blue {
  color: #8b26d9 !important;
  cursor: pointer; /* &:hover, &:focus, &:active { color:#246b8f!important; } */
}

.link--secondary-color {
  color: #3f3f46 !important;
  cursor: pointer;
}

.link--white {
  color: #ffffff !important;
  cursor: pointer; /* &:hover, &:focus, &:active { color: darken(#ffffff, 10%)!important; } */
}

.link--red {
  color: #e63310 !important;
  cursor: pointer; /* &:hover, &:focus, &:active { color: darken(#990000, 10%)!important; } */
}

.link--green {
  color: #25944c !important;
  cursor: pointer; /* &:hover, &:focus, &:active { color: darken(#93b160, 10%)!important; } */
}

.link--gray {
  color: #777777 !important;
  cursor: pointer; /* &:hover, &:focus, &:active { color: darken(#777777, 20%)!important; } */
}

.link--light-gray {
  color: #bebebe !important;
  cursor: pointer; /* &:hover, &:focus, &:active { color: darken(#bebebe, 20%)!important; } */
}

@media print, screen and (min-width: 60em) {
  .link--remove-link-formatting--large {
    color: #3f3f46;
    text-decoration: none;
    cursor: default;
    font-weight: normal;
  }
  .link--remove-link-formatting--large:hover {
    color: #3f3f46;
    opacity: 1;
  }
}
/**
 * Background colors.
 */
.bg--black {
  background-color: #000000 !important;
}

.bg--gray {
  background-color: #c8c8c8 !important;
}

.bg--dark-gray {
  background-color: #acacac !important;
}

.bg--darker-gray {
  background-color: #333333 !important;
}

.bg--light-gray, .rsDefault,
.rsOverflow,
.rsSlide {
  background-color: #f4f4f5 !important;
}

.bg--white {
  background-color: #ffffff !important;
}

.bg--transparent {
  background-color: transparent !important;
}

.bg--dark-blue {
  background-color: #4e027c !important;
}

.bg--nav-blue {
  background-color: #3ba7bc !important;
}

.bg--nav-dark-orange {
  background-color: #ca533c !important;
}

.bg--nav-orange {
  background-color: #d9783d !important;
}

.bg--green {
  background-color: #5ccf84 !important;
}

.bg--light-green {
  background-color: #dff9e8 !important;
}

.bg--orange {
  background-color: #ff8c47 !important;
}

.bg--light-orange {
  background-color: rgb(255, 203.75, 173) !important;
  background-color: rgba(255, 140, 71, 0.45) !important;
}

.bg--dark-orange {
  background-color: #f8713f;
}

.bg--light-dark-orange {
  background-color: rgb(251.5879396985, 185.783919598, 161.4120603015) !important;
  background-color: rgba(248, 113, 63, 0.45) !important;
}

.bg--red, .quote_form .quote_form__error-banner,
.quote-request-form .quote_form__error-banner {
  background-color: #dd6969 !important;
}

.bg--error-red {
  background-color: #e63310 !important;
}

.bg--brand {
  background-color: #4e027c !important;
}

.bg--purple-800 {
  background-color: #751cb5 !important;
}

.bg--purple-50 {
  background-color: #faf4ff !important;
}

.bg--light-brand {
  background-color: #f1e2fd !important;
}

.bg--sheer-brand {
  background-color: #faf4ff !important;
}

.bg--primary-blue {
  background-color: #4e027c !important;
}

.bg--gold {
  background-color: #ffd448 !important;
}

.bg--coral {
  background-color: #fff4ed !important;
}

.bg--zinc-50 {
  background-color: #fafafa !important;
}

.bg--primary-color {
  background-color: #4e027c !important;
}

.bg--secondary-color {
  background-color: #3f3f46 !important;
}

.bg--dark-grey {
  background-color: #3f3f46 !important;
}

.bg--white {
  background-color: #ffffff !important;
}

.bg--yellow-gold {
  background-color: #ffd448 !important;
}

.bg--success-green {
  background-color: #25944c !important;
}

.bg--error-red {
  background-color: #e63310 !important;
}

.bg--light-grey {
  background-color: #fafafa !important;
}

/**
 * Background opacities.
 */
.bg--opacity-10 {
  background-color: rgba(0, 0, 0, 0.1) !important;
}

.bg--opacity-15 {
  background-color: rgba(0, 0, 0, 0.15) !important;
}

.bg--opacity-25 {
  background-color: rgba(0, 0, 0, 0.25) !important;
}

.bg--opacity-35 {
  background-color: rgba(0, 0, 0, 0.35) !important;
}

.bg--opacity-50 {
  background-color: rgba(0, 0, 0, 0.5) !important;
}

/**
 * Opacity
 */
.opacity--30 {
  opacity: 0.3;
}

.opacity--25 {
  opacity: 0.25;
}

/*
 * Font size modifications.
 */
.font--10 {
  font-size: 10px !important;
}

.font--11 {
  font-size: 11px !important;
}

.font--12 {
  font-size: 12px !important;
}

.font--13 {
  font-size: 13px !important;
}

.font--14 {
  font-size: 14px !important;
}

.font--15 {
  font-size: 15px !important;
}

.font--16 {
  font-size: 16px !important;
}

.font--17 {
  font-size: 17px !important;
}

.font--18 {
  font-size: 18px !important;
}

.font--20 {
  font-size: 20px !important;
}

.font--22 {
  font-size: 22px !important;
}

.font--23 {
  font-size: 23px !important;
}

.font--24 {
  font-size: 24px !important;
}

.font--25 {
  font-size: 25px !important;
}

.font--30 {
  font-size: 30px !important;
}

.font--32 {
  font-size: 32px !important;
}

.font--36 {
  font-size: 36px !important;
}

.font--48 {
  font-size: 48px !important;
}

@media (min-width: 769px) {
  .font--11--medium {
    font-size: 11px !important;
  }
}
@media (max-width: 768px) {
  .font--12--small-only {
    font-size: 12px !important;
  }
  .font--16--small-only {
    font-size: 16px !important;
  }
  .font--24--small-only {
    font-size: 24px !important;
  }
  .font--30--small-only {
    font-size: 30px !important;
  }
}
/**
 * Font stacks.
 */
.mr-de-haviland {
  font-family: "Mr De Haviland", serif !important;
}

/*
 * 1. The extra `monospace` and styling are here to fix a strange resizing bug discovered related to our inputs:
 * http://code.iamkate.com/html-and-css/fixing-browsers-broken-monospace-font-handling/
 */
.font--monospace {
  font-family: monospace, monospace !important;
  line-height: 1em;
} /* 1 */
/**
* Text Modifications
*/
.letter-spacing--0 {
  letter-spacing: 0 !important;
}

.letter-spacing--1 {
  letter-spacing: 1px !important;
}

.letter-spacing--2, .ribbon, .onboarding-pricing-table__ribbon, .pricing-card__ribbon, .ribbon--new {
  letter-spacing: 2px !important;
}

/**
 * Line height modifications.
 */
.line-height--0 {
  line-height: 0 !important;
}

.line-height--1 {
  line-height: 1 !important;
}

.line-height--1em {
  line-height: 24px !important;
}

.line-height--1-1 {
  line-height: 1.1 !important;
}

.line-height--1-15 {
  line-height: 1.15 !important;
}

.line-height--default {
  line-height: 1.6 !important;
}

.line-height--1-5 {
  line-height: 1.5 !important;
}

.line-height--1-4 {
  line-height: 1.4 !important;
}

.line-height--1-35 {
  line-height: 1.35 !important;
}

.line-height--2em {
  line-height: 48px !important;
}

.line-height--16px {
  line-height: 16px !important;
}

.line-height--18px {
  line-height: 18px !important;
}

.line-height--21px {
  line-height: 21px !important;
}

.line-height--24px {
  line-height: 24px !important;
}

.line-height--27px {
  line-height: 27px !important;
}

.line-height--28px {
  line-height: 28px !important;
}

.line-height--30px {
  line-height: 30px !important;
}

@media (max-width: 768px) {
  .line-height--24px--small-only {
    line-height: 24px !important;
  }
  .line-height--30px--small-only {
    line-height: 30px !important;
  }
  .line-height--1-15--small-only {
    line-height: 1.15 !important;
  }
}
/**
 * Flexbox alignments.
 *
 * 1. Already included by default in Foundation.
 */
@media (max-width: 768px) {
  .align-right--small {
    justify-content: flex-end;
  }
}
/**
 * Vertical alignments.
 */
.valign--middle, .header__body {
  vertical-align: middle !important;
}

.valign--top {
  vertical-align: top !important;
}

/**
 * Display settings.
 */
.display--block {
  display: block !important;
}

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

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

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

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

.display--table {
  display: table !important;
}

.display--table--collapse {
  border-collapse: collapse !important;
}

.display--table-row {
  display: table-row !important;
}

.display--table-cell, .header__body {
  display: table-cell !important;
}

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

.display--flex--vertically-center {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
}

@media (max-width: 768px) {
  .display--block--small {
    display: block !important;
  }
  .display--none--small {
    display: none !important;
  }
}
@media print, screen and (min-width: 48.0625em) {
  .display--none--medium {
    display: none !important;
  }
}
@media (min-width: 769px) {
  .display--inline-block--medium {
    display: inline-block !important;
  }
}
.flex--spread {
  flex-basis: 100% !important;
}

.flex--row {
  flex-direction: row !important;
}

.flex--column {
  flex-direction: column !important;
}

@media (max-width: 640px) {
  .flex--row--small {
    flex-direction: row !important;
  }
  .flex--column--small {
    flex-direction: column !important;
  }
}
.js .js-display--none {
  display: none;
}

.will-change {
  will-change: transform;
}

.gap--4 {
  gap: 4px !important;
}

.gap--8 {
  gap: 8px !important;
}

.gap--16 {
  gap: 16px !important;
}

.gap--24 {
  gap: 24px !important;
}

.gap--128 {
  gap: 128px !important;
}

/**
 * Visual modifications.
 */
.round {
  border-radius: 1000px !important;
}

.rounded {
  border-radius: 8px !important;
}

.rounded--top {
  border-radius: 8px 8px 0 0;
}

.rounded--bottom {
  border-radius: 0 0 8px 8px;
}

.rounded--left-none {
  border-radius: 0 8px 8px 0 !important;
}

.rounded--right-none {
  border-radius: 8px 0 0 8px !important;
}

.rounded--none {
  border-radius: 0 !important;
}

.bullet--none {
  list-style: none !important;
}

.border--white {
  border-color: #ffffff !important;
}

.border--gray {
  border-color: #a1a1aa !important;
}

.border--light-gray {
  border-color: #e4e4e7 !important;
}

.border--none {
  border: 0 !important;
}

@media (max-width: 959px) {
  .rounded--none--medium {
    border-radius: 0 !important;
  }
}
@media screen and (min-width: 80em) {
  .rounded--large {
    border-radius: 1000px !important;
  }
}

/**
 * Element positionings.
 */
.relative {
  position: relative !important;
}

.static {
  position: static !important;
}

/**
* Element modifications.
 */
.overflow--hidden {
  overflow: hidden;
}

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

/**
 * Background images textures and overlays.
 */
.bg--paper {
  background-color: #f5f3f1 !important;
}

/**
 * Box Shadow and radius used on many main components throughout the site
 */
.shadow-radius {
  box-shadow: 0px 0.5px 4px -1px rgba(0, 0, 0, 0.14), 0px 1px 2px 0px rgba(0, 0, 0, 0.14) !important;
  border-radius: 8px !important;
}

.box-shadow--none {
  box-shadow: none;
}

.box-shadow {
  box-shadow: 0px 0.5px 4px -1px rgba(0, 0, 0, 0.14), 0px 1px 2px 0px rgba(0, 0, 0, 0.14) !important;
}

/**
 * A fix for use on flexbox children that should not expand beyond their intended dimensions as a result of non-breaking text.
 * This fixes textarea elements filled with non-breaking series of characters.
 *
 * See:
 * https://css-tricks.com/flexbox-truncated-text/
 * https://gigsalad.slack.com/archives/C08UD8Q56/p1597327297357200?thread_ts=1597257688.348100&cid=C08UD8Q56
 */
.min-width--0 {
  min-width: 0 !important;
}

/* ------------------------------------ *\
	$GOOGLE MAPS
\* ------------------------------------ */
/**
 * Allows us to embed responsive Google Map embeds
 * E.g.:
 *
	<div class="flex-google-map push-half--top push-quarter--bottom">
		<iframe src="https://www.google.com/maps/embed?pb=!1m14!1m12!1m3!1d7098.94326104394!2d78.0430654485247!3d27.172909818538997!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!5e0!3m2!1sen!2s!4v1385710909804" width="600" height="450" frameborder="0" style="border:0"></iframe>
	</div>
 *
 */
.flex-google-map {
  position: relative;
  padding-bottom: 100%;
  height: 0;
  overflow: hidden;
}
.flex-google-map iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100% !important;
  height: 100% !important;
}

/**
 * Angular transitions.
 */
.animate-show.ng-hide-remove {
  transition: all linear 300ms;
  opacity: 1;
  display: block !important;
}

.animate-show.ng-hide-add {
  opacity: 0;
}

.animate-show.ng-hide {
  opacity: 0;
}

.main .footer-over > section {
  --gap: clamp(1rem, 3.93vw, 3rem);
  --full: minmax(var(--gap), 1fr);
  --content: minmax(1px, 1440px);
  --grid-template-columns: [full-start] var(--full) [content-start] var(--content) [content-end] var(--full) [full-end];
  display: grid;
  grid-template-columns: var(--grid-template-columns);
  justify-items: center;
}
.main .footer-over > section > div {
  width: 100%;
  grid-column: content-start/content-end;
}
@media (max-width: 959px) {
  .main .footer-over > section > div.col-full--small {
    grid-column: full;
  }
}

/* ------------------------------------ *\
	$HEADER DROPDOWN (Public site and Control Panel)
\* ------------------------------------ */
/* ------------------------------------ *\
	$HEADER SECTION
\* ------------------------------------ */
.header {
  position: relative;
}

.header--photo {
  position: relative;
  background-position: 50% 46%;
  background-size: cover;
  /* We need an IE8 fallback (a JS Shim) to work around background-size: cover */
  height: 312px;
}

.header--video {
  overflow: hidden;
}
.header--video video {
  display: block;
  width: 100%;
}

.header--video--set-height video {
  /* Contrary to the other header videos, we want this one to keep its height. */
  min-width: 100%;
  width: auto;
}

@media (max-width: 768px) {
  .header--video video {
    display: none;
  }
}
@media (min-width: 769px) {
  .header--video {
    height: auto;
    /* Native max-height: 504px (the video is meant to be this large, and we may revert to this) */
    max-height: 504px;
    overflow: hidden;
  }
  .header--video--smaller {
    max-height: 432px;
  }
  .header--video--smallest {
    max-height: 360px;
  }
  .header--raster {
    position: absolute;
    left: 0;
    display: block;
    width: 100%;
    height: 100%;
    background-image: url("/images/bg-raster.png");
  }
}
.header--icon {
  font-size: 80px;
  float: right;
  padding: 10px;
  background: rgba(255, 255, 255, 0.22);
  color: #333333;
  color: rgba(0, 0, 0, 0.15);
}

.header--body {
  color: #333333;
}

.header--medium {
  min-height: 288px;
}

.header--large {
  min-height: 456px;
}

.header-content--bottom, .landing-page-header {
  position: absolute;
  bottom: 24px;
  width: 100%;
  max-width: 90rem;
}
.header-content--bottom p, .landing-page-header p {
  font-size: 1.125rem;
}

.header--fade-out {
  position: absolute;
  bottom: 0;
  width: 100%;
  height: 315px;
  background-repeat: repeat-x;
  background-position: bottom;
  background-image: url("/images/bg-gradient.png");
  background-image: linear-gradient(transparent 0%, rgba(0, 0, 0, 0.01) 22%, rgba(0, 0, 0, 0.01) 25%, rgba(0, 0, 0, 0.83) 100%);
}

.header--darken {
  position: absolute;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.2);
}

.header__icon {
  font-size: 36px;
  padding: 7px;
  background: rgba(255, 255, 255, 0.22);
  color: #333333;
  color: rgba(0, 0, 0, 0.15);
}
.header__icon:hover {
  color: #333333;
  color: rgba(0, 0, 0, 0.15);
}

.header__icon--medium {
  font-size: 80px;
  padding: 10px;
}

.header__body {
  padding-left: 1em;
  color: #333333;
  font-size: 15px;
  line-height: 1.4;
}

/*
 * Various header background possibilities
 */
.header--about {
  background-image: url("/images/header--photo-about--medium.jpg");
}
@media (min-width: 769px) {
  .header--about {
    background-image: url("/images/header--photo-about--large.jpg");
  }
}
.header--about {
  background-position: top;
}

.header--contact {
  background-image: url("/images/header--photo-contact--medium.jpg");
}
@media (min-width: 769px) {
  .header--contact {
    background-image: url("/images/header--photo-contact--large.jpg");
  }
}
.header--contact {
  background-position: top;
}

.header--entertainers {
  background-image: url("/images/header--photo-entertainers--medium.1.jpg");
}
@media (min-width: 769px) {
  .header--entertainers {
    background-image: url("/images/header--photo-entertainers--large.1.jpg");
  }
}
.header--entertainers {
  background-position: top;
}

.header--landing-page {
  background-image: url("/images/header--photo-landing-page--medium.1.jpg");
}
@media (min-width: 769px) {
  .header--landing-page {
    background-image: url("/images/header--photo-landing-page--large.1.jpg");
  }
}
.header--landing-page {
  background-position: top;
}

.header--music {
  background-image: url("/images/header--photo-music--medium.2.jpg");
}
@media (min-width: 769px) {
  .header--music {
    background-image: url("/images/header--photo-music--large.2.jpg");
  }
}
.header--music {
  background-position: top;
}

.header--mariachi {
  background-image: url("/images/header--photo-mariachi-page--medium.jpg");
  position: relative;
  z-index: -1;
}
@media (max-width: 768px) {
  .header--mariachi::before {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    content: "";
    display: block;
    z-index: 0;
    background-color: rgba(0, 0, 0, 0.35);
  }
}
@media (min-width: 769px) {
  .header--mariachi {
    background-image: url("/images/header--photo-mariachi-page--large.jpg");
  }
}
.header--mariachi {
  background-position: top;
}

.header--party-ideas {
  background-image: url("/images/header--photo-party-ideas--medium.jpg");
}
@media (min-width: 769px) {
  .header--party-ideas {
    background-image: url("/images/header--photo-party-ideas--large.jpg");
  }
}
.header--party-ideas {
  background-position: top;
}

.header--server {
  background-image: url("/images/header--photo-server--medium.jpg");
}
@media (min-width: 769px) {
  .header--server {
    background-image: url("/images/header--photo-server--large.jpg");
  }
}

.header--services {
  background-image: url("/images/header--photo-services--medium.1.jpg");
}
@media (min-width: 769px) {
  .header--services {
    background-image: url("/images/header--photo-services--large.1.jpg");
  }
}
.header--services {
  background-position: top;
}

.header--speakers {
  background-image: url("/images/header--photo-speakers--medium.jpg");
}
@media (min-width: 769px) {
  .header--speakers {
    background-image: url("/images/header--photo-speakers--large.jpg");
  }
}
.header--speakers {
  background-position: top;
}

.header--wedding {
  background-image: url("/images/header--photo-wedding--medium.jpg");
}
@media (min-width: 769px) {
  .header--wedding {
    background-image: url("/images/header--photo-wedding--large.jpg");
  }
}
.header--wedding {
  background-position: top;
}

.header--wedding-landing {
  background-image: url("/images/header--photo-wedding-landing--large.jpg");
  background-position: top;
}

.header--christmas-landing {
  background-image: url("/images/header--photo-christmas-landing--large.jpg");
  background-position: top;
}

.header--holiday2-landing {
  background-image: url("/images/header--photo-holiday2-landing--large.jpg");
  background-position: top;
}

.header--agt {
  background-image: url("/images/header--photo-agt--large.jpg");
  background-position: top;
}

@media (min-width: 769px) {
  .header--chars-balloon-clown {
    background: url("/images/chars--balloon-clown.png") no-repeat 98% bottom;
  }
  .header--chars-beatles {
    background: url("/images/chars--beatles.png") no-repeat 98% bottom;
  }
  .header--chars-bride {
    background: url("/images/chars--bride.png") no-repeat 98% bottom;
  }
  .header--chars-circus-tent {
    background: url("/images/chars--circus-tent.png") no-repeat 98% bottom;
  }
  .header--chars-dance-shoes {
    background: url("/images/chars--dance-shoes.png") no-repeat 98% center;
  }
  .header--chars-drum-man {
    background: url("/images/chars--drum-man.png") no-repeat 98% bottom;
  }
  .header--chars-elvis-head {
    background: url("/images/chars--elvis-head.png") no-repeat 98% center;
  }
  .header--chars-envelopes {
    background: url("/images/chars--envelopes.png") no-repeat 98% center;
  }
  .header--chars-guitar-man {
    background: url("/images/chars--guitar-man.png") no-repeat 98% bottom;
  }
  .header--chars-groucho-glasses {
    background: url("/images/chars--groucho-glasses.png") no-repeat 98% center;
  }
  .header--chars-handshake {
    background: url("/images/chars--handshake.png") no-repeat 98% bottom;
  }
  .header--chars-hug-man {
    background: url("/images/chars--hug-man.png") no-repeat 98% bottom;
  }
  .header--chars-laptop-man {
    background: url("/images/chars--laptop-man.png") no-repeat 98% bottom;
  }
  .header--chars-magic-rabbit-man {
    background: url("/images/chars--magic-rabbit-man.png") no-repeat 98% bottom;
  }
  .header--chars-magician--small {
    background: url("/images/chars--magician--small.png") no-repeat bottom right;
  }
  .header--chars-microphone-man {
    background: url("/images/chars--microphone-man.png") no-repeat 98% bottom;
  }
  .header--chars-model {
    background: url("/images/chars--model.png") no-repeat 98% bottom;
  }
  .header--chars-party-horse {
    background: url("/images/chars--party-horse.png") no-repeat 98% center;
  }
  .header--chars-party-horse--small {
    background: url("/images/chars--party-horse--small.png") no-repeat 98% center;
  }
  .header--chars-saxophonist {
    background: url("/images/chars--saxophonist.png") no-repeat 98% bottom;
  }
  .header--chars-trio {
    background: url("/images/chars--trio.png") no-repeat 98% bottom;
  }
  .header--chars-trio--reverse {
    background: url("/images/temp-bg-characters--reverse.png") no-repeat 98% bottom;
  }
  .header--chars-turntable {
    background: url("/images/chars--turntable.png") no-repeat 98% center;
  }
  .header--chars-waiter {
    background: url("/images/chars--waiter.png") no-repeat 98% bottom;
  }
  .header--chars-world {
    background: url("/images/chars--world.png") no-repeat 98% center;
  }
}
/* ------------------------------------ *\
  $CUSTOM FORM ELEMENTS
\* ------------------------------------ */
/*
 * NOTE: These elements are deprecated. In the future, we should use the
 * custom-chadio-container components found in _custom-chadio.scss.
 */
.custom-radio-button {
  float: left;
  background-color: #ffffff;
  border-radius: 9999px;
  height: 24px;
  width: 24px;
  border: 1px solid #3f3f46;
  box-sizing: border-box;
}
.custom-radio-button .icon--bullet {
  animation: single-pulse 220ms ease-out;
  position: relative;
  top: -3px;
  left: 5px;
  background-color: #4e027c;
  border-radius: 9999px;
  height: 12px;
  width: 12px;
}

.custom-radio-label {
  float: right;
  text-align: center;
  padding-left: 8px;
}

.input--signature[type=text] {
  font-family: "Mr De Haviland", serif;
  font-size: 36px;
  border-width: 0 0 1px;
  background-image: none;
  border-bottom: 1px solid #555555 !important;
  box-shadow: none;
  border-radius: 0;
}

/* ------------------------------------ *\
  $NEW LABEL STYLES
\* ------------------------------------ */
/*
 * NOTE: These elements are deprecated. In the future, we should use
 * plain-ol label elements.
 */
.new-label {
  text-align: left;
}

.new-label input[type=checkbox],
.new-label input[type=radio] {
  margin-right: 10px;
}

.new-label--radio,
.new-label--checkbox {
  padding-bottom: 0; /* We don't want padding on radio or checkboxe labels, as it leads to odd clicking behavior, since the actual inputs are nested inside them */
  margin-bottom: 24px; /* Different spacing needs for this label */
}

.new-label--radio--compressed,
.new-label--checkbox--compressed {
  margin-bottom: 12px; /* Different spacing for those times in which multiple elements are stacked one on top of the other */
}

/* Hide the checkbox offscreen - we will be styling up an element to replace it visually. Hiding the checkbox offscreen allows it to be selected with tab. */
.new-label--radio input,
.new-label--checkbox input {
  position: absolute;
  left: -9999px;
  /* NOTE: The styles above may interfere too much with the display of the "required" message (it results in it being hidden)

  /* We might try the following instead:
  position: absolute; z-index: -9999;
  OR
  position: absolute; opacity: 0;
  etc */
}

/* Shared styling for custom checkbox and radio display */
.new-label--checkbox i,
.new-label--radio i {
  width: 1.25em;
  height: 1.25em;
  border: 1px solid #cccccc;
  display: inline-block;
  vertical-align: middle;
  position: relative; /* Required for centering the check and dot inside */
  margin-right: 0.65em;
}

/* Base styling for custom checkbox display */
.new-label--checkbox i {
  font-style: normal; /* To ensure the check mark doesn't appear in italic form */
}

/* Base styling for custom radio display */
.new-label--radio i {
  border-radius: 50%;
}

/* Shared inner label styles */
/* In order to properly display custom radio/checkbox labels that spill onto multiple lines, we wrap elements as if they were a table */
.new-label--radio,
.new-label--checkbox {
  display: table;
}
.new-label--radio div,
.new-label--checkbox div {
  display: table-cell;
  vertical-align: top;
}

.new-label--radio-text,
.new-label--checkbox-text {
  position: relative;
  top: 1px;
  cursor: default; /* Ensure the text cursor doesn't appear in IE */
}

.new-label--checkbox:hover i,
.new-label--radio:hover i {
  border-color: #b3b3b3; /* TODO: When incorporating with _forms.scss, this should be the same as other hover borders */
}

.new-label--radio input:checked + i,
.new-label--checkbox input:checked + i {
  border-color: #64b1d8 !important; /* Potentially remove this coloration altogether? */
  cursor: default; /* Necesary for Internet Explorer, otherwise a text cursor appears */
}

.new-label--checkbox input:checked + i::before {
  content: "✔";
  font-size: 0.85em;
  text-align: center;
  width: 1.25em;
  color: #64b1d8; /* TODO: When incorporating with _forms.scss, this should be the same as focus borders */
  /* Centering the check vertically below */
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}

.new-label--radio input:checked + i::before {
  content: ""; /* We use a background to handle the dot, so no content needed */
  width: 0.5em;
  height: 0.5em;
  background-color: #64b1d8; /* TODO: When incorporating with _forms.scss, this should be the same as focus borders */
  border-radius: 50%;
  /* Centering the dot vertically and horizontally below */
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

/* We want custom labels to retain tab functionality - the CSS below code ensures proper highlighting on tabbing */
.new-label--radio input:focus + i,
.new-label--checkbox input:focus + i {
  outline: 2px solid #64b1d8; /* TODO: When incorporating with _forms.scss, this color should be the same as focus borders */
}

/* .input-message is helper text displayed below the input */
/* .input-error-message is text displayed below the input when the input contains an error */
.input-message,
.input-error-message {
  font-size: 0.8125em;
  font-weight: 700;
  margin-top: -12px;
  padding-bottom: 18px;
  text-align: left;
}

.input-error-message {
  color: #db3a1b;
}

/* 
 * 2025 redesign checkbox/radio background color.
 */
input[type=checkbox],
input[type=radio] {
  accent-color: #4e027c;
}

/* ------------------------------------ *\
	$DESKTOP NAVIGATION
\* ------------------------------------ */
/*
 * The new site navigation for both large sizes. Small sizes can be found in the section below.
 */
/*
 * 1. Lay out the children of this container with flexbox, which is horizontal by default.
 * 2. Make the container put as much space as possible between its children, with the children
 * at either end laying flush against the container's edges.
 */
.navigation,
.mobile-navigation {
  --gap: clamp(1rem, 3.93vw, 3rem);
  --full: minmax(var(--gap), 1fr);
  --content: minmax(1px, 1440px);
  --grid-template-columns: [full-start] var(--full) [content-start] var(--content) [content-end] var(--full) [full-end];
  display: grid;
  grid-template-columns: var(--grid-template-columns);
  justify-items: center;
}
.navigation .navigation__container,
.navigation .mobile-navigation__content,
.mobile-navigation .navigation__container,
.mobile-navigation .mobile-navigation__content {
  width: 100%;
  grid-column: content-start/content-end;
  display: flex; /* 1 */
  justify-content: space-between; /* 2 */
  margin: 0 auto;
}

.navigation {
  background-color: #ffffff;
  border-bottom: 1px solid #e4e4e7;
}
@media (max-width: 959px) {
  .navigation {
    display: none;
  }
}
.navigation .logo {
  height: 32px;
  width: auto;
  display: block;
  margin-top: 4px;
}

/*
 * 1. Align the children in the center, along the main axis. By default the children will
 * align along their top edges.
 * 3. Remove the right margin from the last navigation section and the last anchor in it.
 */
.navigation__section {
  display: flex;
  align-items: center; /* 1 */
}
.navigation__section a {
  font-size: 14px;
  font-weight: 600;
  color: #3f3f46;
  transition-property: color, background-color, border-color, fill, stroke, opacity, -webkit-text-decoration;
  transition-property: color, background-color, border-color, text-decoration, fill, stroke, opacity;
  transition-property: color, background-color, border-color, text-decoration, fill, stroke, opacity, -webkit-text-decoration;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.navigation__section a:hover, .navigation__section a:focus {
  text-decoration: none;
  opacity: 0.75;
}
.navigation__section:first-child a {
  margin-right: 36px;
  align-self: stretch;
  display: flex;
  align-items: center;
}
.navigation__section:last-child a {
  margin-right: 12px;
}
.navigation__section:last-child a:last-child {
  margin-right: 0; /* 3 */
}

.navigation__arrow {
  width: 8px;
  height: 8px;
  margin-left: 4px;
  color: #4e027c;
  transition: transform 0.25s ease-out;
}
.drop-enabled .navigation__arrow {
  transform: rotate(180deg);
}
.navigation__arrow.arrow--right {
  transform: rotate(270deg);
}

/*
 * 1. For vertically centering the icon within.
 * 2. For the favorites count contained within.
 */
.navigation__inbox,
.navigation__heart {
  width: 48px;
  height: 48px;
  display: flex; /* 1 */
  align-items: center;
  justify-content: center;
  position: relative; /* 2 */
  border: #4e027c 1px solid;
  border-radius: 100%;
}
.navigation__inbox:hover,
.navigation__heart:hover {
  background: #f1e2fd;
  opacity: 1 !important;
}
.navigation__inbox img,
.navigation__heart img {
  width: 24px;
}

/*
 * Shared styling for the two unread badges.
 */
.navigation__inbox-count,
.navigation__heart-count {
  position: absolute;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 100%;
  width: 24px;
  height: 24px;
  background-color: #9f49ec;
  outline: #ffffff 2px solid;
  font-size: 12px;
  line-height: 24px;
  font-weight: normal;
  color: #ffffff;
}

/*
 * Unique styling necessary for the inbox count badge.
 */
.navigation__inbox-count {
  top: -8px;
  right: -8px;
}

/*
 * Unique styling for the count showing how many favorites you have.
 *
 * 1. Hide the count until there are any favorites present.
 */
.navigation__heart-count {
  top: -8px;
  right: -8px;
  transition: all 0.3s ease; /* 1 */
  transform: translateY(4px); /* 1 */
  opacity: 0; /* 1 */
}
.has-favorites .navigation__heart-count {
  transform: translateY(0); /* 1 */
  opacity: 1; /* 1 */
}

/*
 * 1. Ensure the input section expands to the full width.
 * 2. For the search icon that will be contained within.
 */
.navigation__search-form {
  flex-grow: 1; /* 1 */
  position: relative; /* 2 */
  margin-right: 32px;
  border-left: 1px solid #e4e4e7;
  border-right: 1px solid #e4e4e7;
}

/*
 * The full-size search input shown for desktop users.
 *
 * 1. We rely on the height to provide the sizing for the desktop navigation.
 * 2. Ensure the border-width doesn't reset to 1px on focus.
 */
.navigation__search-input {
  height: 90px; /* 1 */
  border: 0;
  padding-left: 60px;
  padding-right: 32px;
  font-size: 16px;
  margin-bottom: 0;
  position: relative;
}
.navigation__search-input:focus, .navigation__search-input:focus-visible {
  border: none;
  box-shadow: inset 0 0 0 4px #f1e2fd;
  border-radius: 0px;
}

.navigation__search-icon {
  position: absolute;
  left: 32px;
  top: 50%;
  transform: translateY(-50%);
  height: 18px;
  width: 18px;
  pointer-events: none;
}

/*
 * 1. Necessary for the unread marker.
 */
.navigation__thumbnail-container {
  display: flex;
  gap: 4px;
  align-items: center;
  position: relative; /* 1 */
}
.navigation__thumbnail-container:hover, .navigation__thumbnail-container:focus-visible {
  opacity: 1 !important;
}
.navigation__thumbnail-container:hover img, .navigation__thumbnail-container:focus-visible img {
  background: #f1e2fd;
}

.navigation__unread-marker {
  position: absolute;
  top: 5px;
  left: 24px;
  width: 12px;
  height: 12px;
  background-image: url("/images/svg/standalone/unread-marker.1.svg"); /* 1 */
  background-size: contain;
}

/*
 * The user's profile photo, shown in the navigation when logged in.
 */
.navigation__thumbnail {
  width: 48px;
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 4px;
  border: #4e027c 1px solid;
  border-radius: 100%;
}

/* ------------------------------------ *\
	$MOBILE NAVIGATION
\* ------------------------------------ */
/*
 * 1. Lay out the children of this container with flexbox, which is horizontal by default.
 * 2. Make the container put as much space as possible between its children, with the children
 * at either end laying flush against the container's edges.
 * 3. Align the children in the center, along the main axis. By default the children will
 * align along their top edges.
 * 4. Because the image we use for our logo throws off the line-height.
 * 5. For absolutely positioning the box-shadow pseudo-element after.
 * 6. So that the mobile navigation sits behind the search modal and the box-shadow doesn't come through like this:
 * http://i.imgur.com/i7LBezr.png
 * 7. Provide a global tap target size increase to account for the various links that appear in here.
 * By doing this only on padding top and bottom, we don't have to account for spatial relationships;
 * we do that for the icons individually.
 */
.mobile-navigation {
  height: 64px;
  background-color: #ffffff;
  z-index: 9; /* 6 */
  border-bottom: 1px solid #e4e4e7;
  box-shadow: 0px 0.5px 4px -1px rgba(0, 0, 0, 0.14), 0px 1px 2px 0px rgba(0, 0, 0, 0.14);
}
@media (min-width: 960px) {
  .mobile-navigation {
    display: none;
  }
}
.mobile-navigation .mobile-navigation__content a {
  color: #3f3f46;
  margin-right: 12px;
  padding-top: 6px; /* 7 */
  padding-bottom: 6px; /* 7 */
}
.mobile-navigation .mobile-navigation__content .logo {
  height: 24px;
  width: auto;
  display: block;
}

/*
 * 1. Remove the right margin from the last navigation section and the last anchor in it.
 */
.mobile-navigation__section {
  display: flex;
  gap: 8px;
  align-items: center;
  padding-right: 8px;
}
.mobile-navigation__section:last-child a:last-child {
  margin-right: 0; /* 1 */
}

/*
 * 1. A set height is necessary because, without it, we get this weirdness:
 * http://i.imgur.com/QOgdHgK.png
 */
.mobile-navigation__logo {
  height: 40px; /* 1 */
}

/*
 * 1. When drop is enabled on the dropdown link, we want to flip
 * the arrow.
 */
.mobile-navigation__menu-link {
  font-weight: 600;
  font-size: 14px;
}
.mobile-navigation__menu-link:hover, .mobile-navigation__menu-link:active, .mobile-navigation__menu-link:focus {
  text-decoration: none;
}
.mobile-navigation__menu-link.drop-enabled .mobile-navigation__arrow {
  transform: rotate(180deg); /* 1 */
}

.mobile-navigation__arrow {
  width: 9px;
  height: 9px;
  margin-left: 3px;
  color: #4e027c;
}

.mobile-navigation__search-icon-container {
  margin-right: 24px;
}

/*
 * 1. For vertically centering the icon within.
 * 2. For the favorites count contained within.
 * 3. Follow usability best-practices and increase the size of the tap target
 * for these icons.
 * 4. The combination of these styles repositions the icons to their proper
 * places: https://i.imgur.com/JDTU9PX.png
 * Without this, the spacing would be thrown off by the tap target increase.
 *
 */
.mobile-navigation__inbox,
.mobile-navigation__heart,
.mobile-navigation__search-icon-container {
  display: flex; /* 1 */
  position: relative; /* 2 */
  padding: 6px; /* 3 */
  margin-left: -6px; /* 4 */
  right: -6px; /* 4 */
}
.mobile-navigation__inbox img,
.mobile-navigation__heart img,
.mobile-navigation__search-icon-container img {
  width: 24px;
}

/*
* Shared styling for the two unread badges.
*/
.mobile-navigation__inbox-count,
.mobile-navigation__heart-count {
  position: absolute;
  top: 0;
  right: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 100%;
  width: 16px;
  height: 16px;
  line-height: 16px;
  background-color: #9f49ec;
  font-size: 9px;
  font-weight: normal;
  color: #ffffff;
}

/*
* The mobile version of the count showing how many favorites you have.
*
* 1. Hide the count until there are any favorites present.
*/
.mobile-navigation__heart-count {
  transition: all 0.3s ease; /* 1 */
  transform: translateY(4px); /* 1 */
  opacity: 0; /* 1 */
}
.has-favorites .mobile-navigation__heart-count {
  transform: translateY(0); /* 1 */
  opacity: 1; /* 1 */
}

/* ------------------------------------ *\
	$MOBILE MAIN MENU
\* ------------------------------------ */
/*
 * 1. We will display the mobile menu inside via JavaScript.
 */
.mobile-menu-container {
  display: none; /* 1 */
}

.mobile-menu {
  background-color: #ffffff;
  box-shadow: 0px 10px 12px -1px rgba(0, 0, 0, 0.1), 0px 4px 4px 0px rgba(0, 0, 0, 0.05);
  border-radius: 0 0 8px 8px;
  border-top: 1px solid #e4e4e7;
}

.mobile-menu__section {
  padding: 12px 0;
  border-top: 1px solid #e4e4e7;
}
.mobile-menu__section:first-child {
  border-top: 0;
}
.mobile-menu__section:last-child {
  padding-left: 12px;
  padding-right: 12px;
}

.mobile-menu__account-info {
  display: flex;
  align-items: center;
  padding: 0 12px;
  font-size: 14px;
  margin-bottom: 1.5rem;
}

.mobile-menu__account-thumbnail {
  border-radius: 50%;
  margin-right: 10px;
}

.mobile-menu__links {
  list-style: none;
}
.mobile-menu__links li {
  margin-top: 6px;
  padding: 0 12px;
}
.mobile-menu__links a {
  font-weight: normal;
  font-size: 14px;
  color: #4e027c;
  display: flex;
  align-items: center;
  padding: 6px 12px;
  border-radius: 8px;
}
.mobile-menu__links a img {
  margin-right: 12px;
  width: 24px;
  height: 24px;
}
.mobile-menu__links a:hover, .mobile-menu__links a:focus-visible {
  background: #faf4ff;
  opacity: 1 !important;
}
.mobile-menu__links a.active {
  background: #f1e2fd;
}

.mobile-menu__links--2x2 {
  display: flex;
  flex-wrap: wrap;
}
.mobile-menu__links--2x2 > * {
  width: 50%;
}

/* ------------------------------------ *\
	$SEARCH MODAL
\* ------------------------------------ */
/*
 * A full-sized search modal. Currently this only appears on mobile devices.
 * In the future it might appear at different times.
 *
 * 1. Hide the default Magnific close button.
 */
.search-modal {
  display: flex;
  flex-direction: column;
}
.search-modal .mfp-close {
  display: none; /* 1 */
}

.search-modal__section {
  padding: 1.5rem;
}

.search-modal__section--search-container {
  border-bottom: 1px solid #e4e4e7;
  padding-bottom: 0;
}

/*
 * 1. Override the defaults. This is kind of annoying.
 */
.search-modal__close-button {
  font-size: 20px;
  color: #4e027c;
}
.search-modal__close-button:hover, .search-modal__close-button:focus {
  opacity: 0.75;
}

.search-modal__search-icon-container {
  display: flex;
  align-items: center;
  font-size: 14px;
  font-weight: 700;
  margin-bottom: 5px;
}

.search-modal__search-icon {
  margin-right: 10px;
}

/*
 * 1. Because there's no border on the input, the padding is unnecessary.
 */
.search-modal__search-input {
  font-size: 16px;
  border: 0;
  padding: 0; /* 1 */
  margin-bottom: 6px;
}
.search-modal__search-input:focus {
  border: 0;
  box-shadow: none;
}

/*
 * Ensure the results take up as much space as possible but also overflow as we want.
 */
.search-modal__results {
  flex: 1;
  overflow-y: scroll;
}

/* ------------------------------------ *\
	$MINIMAL NAVIGATION
\* ------------------------------------ */
/*
 * Shown on pages where we only want a very minimal representation of the navigation.
 */
.minimal-navigation {
  text-align: center;
  padding-top: 1.5rem;
  padding-bottom: 1.5rem;
}

/* ------------------------------------ *\
	$DROPDOWN MENU
\* ------------------------------------ */
/*
 * The main menu you see when clicking "Menu" in the navigation.
 *
 * 1. Done to mimic the box-shadow at the top inset of the gradient. Not currently 100% accurate, so it's disabled.
 * See this for a reference to a similar problem/solution: http://stackoverflow.com/a/21902649/364226
 */
.menu-dropdown {
  box-shadow: 0px 10px 12px -1px rgba(0, 0, 0, 0.1), 0px 4px 4px 0px rgba(0, 0, 0, 0.05);
}
.menu-dropdown a:not(.button) {
  color: #3f3f46;
}

.menu-dropdown__top-bar {
  padding-top: 60px;
  margin-bottom: 60px;
  text-align: center;
}
.menu-dropdown__top-bar p {
  font-weight: normal;
  opacity: 0.5;
}
.menu-dropdown__top-bar > a:hover, .menu-dropdown__top-bar > a:focus {
  text-decoration: none;
  opacity: 1;
}
.menu-dropdown__top-bar > a:hover p, .menu-dropdown__top-bar > a:focus p {
  opacity: 1;
}
.menu-dropdown__top-bar > a:hover .menu-dropdown__heading, .menu-dropdown__top-bar > a:focus .menu-dropdown__heading {
  color: #4e027c;
}
.menu-dropdown__top-bar svg {
  margin-bottom: 8px;
  color: #4e027c;
}

.menu-dropdown__icon {
  height: 48px;
  width: 100%;
}

/*
 * 1. Override the default max-width.
 */
.menu-dropdown__horizontal-rule {
  margin: 0;
  max-width: 100%; /* 1 */
  border-bottom: 1px solid #e4e4e7;
}

/*
 * 1. Just some extra top padding for that click target.
 */
.menu-dropdown__bottom-bar {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 12px 0;
  font-size: 14px;
}
.menu-dropdown__bottom-bar a {
  padding: 5px 0; /* 1 */
  font-weight: normal;
}
.menu-dropdown__bottom-bar > * {
  margin-right: 32px;
}
.menu-dropdown__bottom-bar > *:last-child {
  margin-right: 0;
}

/* ------------------------------------ *\
	$DROPDOWN MENU
\* ------------------------------------ */
/*
 * The account menu that drops down when logged in and clicking on your information.
 *
 * 1. This is a safe default, but will be overridden with a computed JavaScript value.
 * 2. Margin is handled just fine by the section padding.
 */
.account-dropdown {
  min-width: 276px; /* 1 */
  background-color: #ffffff;
  border-bottom-left-radius: 8px;
  border-top: 1px solid #e4e4e7;
  box-shadow: 0px 10px 12px -1px rgba(0, 0, 0, 0.1), 0px 4px 4px 0px rgba(0, 0, 0, 0.05);
}
@media (min-width: 1638px) {
  .account-dropdown {
    border-bottom-right-radius: 8px;
  }
}
.account-dropdown hr {
  border-bottom: 1px solid #e4e4e7;
  margin: 0; /* 2 */
}

.account-dropdown__section {
  padding: 18px 0;
}
.account-dropdown__section:last-child {
  padding-left: 12px;
  padding-right: 12px;
}
.account-dropdown__section a {
  display: flex;
  font-size: 14px;
  font-weight: normal;
  color: #4e027c;
  line-height: 24px;
  align-items: center;
  padding: 6px 12px;
  border-radius: 8px;
  opacity: 1;
  transition: all 150ms ease;
}
.account-dropdown__section a img {
  margin-right: 12px;
  width: 24px;
  height: 24px;
}
.account-dropdown__section a:hover, .account-dropdown__section a:focus-visible {
  background: #faf4ff;
}
.account-dropdown__section .navigation__thumbnail {
  padding: 0;
  border: none;
}

/*
 * 1. Ensures that we don't add top margin to the first item on the list
 * (as it's not being spaced from anything).
 */
.account-dropdown__items {
  list-style: none;
}
.account-dropdown__items > li {
  border-radius: 8px;
  margin-top: 6px;
  padding: 0 12px;
}
.account-dropdown__items > li:first-child {
  margin-top: 0; /* 1 */
}
.account-dropdown__items > li .active {
  background: #f1e2fd;
  color: #4e027c;
}

.menu-dropdown__top-section {
  display: flex;
  flex-direction: column;
}

.menu-dropdown__act-name {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* ------------------------------------ *\
	$HEADER DROPDOWN (Public site and Control Panel)
\* ------------------------------------ */
/* ------------------------------------ *\
	$HEADER SECTION
\* ------------------------------------ */
.header {
  position: relative;
}

.header--photo {
  position: relative;
  background-position: 50% 46%;
  background-size: cover;
  /* We need an IE8 fallback (a JS Shim) to work around background-size: cover */
  height: 312px;
}

.header--video {
  overflow: hidden;
}
.header--video video {
  display: block;
  width: 100%;
}

.header--video--set-height video {
  /* Contrary to the other header videos, we want this one to keep its height. */
  min-width: 100%;
  width: auto;
}

@media (max-width: 768px) {
  .header--video video {
    display: none;
  }
}
@media (min-width: 769px) {
  .header--video {
    height: auto;
    /* Native max-height: 504px (the video is meant to be this large, and we may revert to this) */
    max-height: 504px;
    overflow: hidden;
  }
  .header--video--smaller {
    max-height: 432px;
  }
  .header--video--smallest {
    max-height: 360px;
  }
  .header--raster {
    position: absolute;
    left: 0;
    display: block;
    width: 100%;
    height: 100%;
    background-image: url("/images/bg-raster.png");
  }
}
.header--icon {
  font-size: 80px;
  float: right;
  padding: 10px;
  background: rgba(255, 255, 255, 0.22);
  color: #333333;
  color: rgba(0, 0, 0, 0.15);
}

.header--body {
  color: #333333;
}

.header--medium {
  min-height: 288px;
}

.header--large {
  min-height: 456px;
}

.header-content--bottom, .landing-page-header {
  position: absolute;
  bottom: 24px;
  width: 100%;
  max-width: 90rem;
}
.header-content--bottom p, .landing-page-header p {
  font-size: 1.125rem;
}

.header--fade-out {
  position: absolute;
  bottom: 0;
  width: 100%;
  height: 315px;
  background-repeat: repeat-x;
  background-position: bottom;
  background-image: url("/images/bg-gradient.png");
  background-image: linear-gradient(transparent 0%, rgba(0, 0, 0, 0.01) 22%, rgba(0, 0, 0, 0.01) 25%, rgba(0, 0, 0, 0.83) 100%);
}

.header--darken {
  position: absolute;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.2);
}

.header__icon {
  font-size: 36px;
  padding: 7px;
  background: rgba(255, 255, 255, 0.22);
  color: #333333;
  color: rgba(0, 0, 0, 0.15);
}
.header__icon:hover {
  color: #333333;
  color: rgba(0, 0, 0, 0.15);
}

.header__icon--medium {
  font-size: 80px;
  padding: 10px;
}

.header__body {
  padding-left: 1em;
  color: #333333;
  font-size: 15px;
  line-height: 1.4;
}

/*
 * Various header background possibilities
 */
.header--about {
  background-image: url("/images/header--photo-about--medium.jpg");
}
@media (min-width: 769px) {
  .header--about {
    background-image: url("/images/header--photo-about--large.jpg");
  }
}
.header--about {
  background-position: top;
}

.header--contact {
  background-image: url("/images/header--photo-contact--medium.jpg");
}
@media (min-width: 769px) {
  .header--contact {
    background-image: url("/images/header--photo-contact--large.jpg");
  }
}
.header--contact {
  background-position: top;
}

.header--entertainers {
  background-image: url("/images/header--photo-entertainers--medium.1.jpg");
}
@media (min-width: 769px) {
  .header--entertainers {
    background-image: url("/images/header--photo-entertainers--large.1.jpg");
  }
}
.header--entertainers {
  background-position: top;
}

.header--landing-page {
  background-image: url("/images/header--photo-landing-page--medium.1.jpg");
}
@media (min-width: 769px) {
  .header--landing-page {
    background-image: url("/images/header--photo-landing-page--large.1.jpg");
  }
}
.header--landing-page {
  background-position: top;
}

.header--music {
  background-image: url("/images/header--photo-music--medium.2.jpg");
}
@media (min-width: 769px) {
  .header--music {
    background-image: url("/images/header--photo-music--large.2.jpg");
  }
}
.header--music {
  background-position: top;
}

.header--mariachi {
  background-image: url("/images/header--photo-mariachi-page--medium.jpg");
  position: relative;
  z-index: -1;
}
@media (max-width: 768px) {
  .header--mariachi::before {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    content: "";
    display: block;
    z-index: 0;
    background-color: rgba(0, 0, 0, 0.35);
  }
}
@media (min-width: 769px) {
  .header--mariachi {
    background-image: url("/images/header--photo-mariachi-page--large.jpg");
  }
}
.header--mariachi {
  background-position: top;
}

.header--party-ideas {
  background-image: url("/images/header--photo-party-ideas--medium.jpg");
}
@media (min-width: 769px) {
  .header--party-ideas {
    background-image: url("/images/header--photo-party-ideas--large.jpg");
  }
}
.header--party-ideas {
  background-position: top;
}

.header--server {
  background-image: url("/images/header--photo-server--medium.jpg");
}
@media (min-width: 769px) {
  .header--server {
    background-image: url("/images/header--photo-server--large.jpg");
  }
}

.header--services {
  background-image: url("/images/header--photo-services--medium.1.jpg");
}
@media (min-width: 769px) {
  .header--services {
    background-image: url("/images/header--photo-services--large.1.jpg");
  }
}
.header--services {
  background-position: top;
}

.header--speakers {
  background-image: url("/images/header--photo-speakers--medium.jpg");
}
@media (min-width: 769px) {
  .header--speakers {
    background-image: url("/images/header--photo-speakers--large.jpg");
  }
}
.header--speakers {
  background-position: top;
}

.header--wedding {
  background-image: url("/images/header--photo-wedding--medium.jpg");
}
@media (min-width: 769px) {
  .header--wedding {
    background-image: url("/images/header--photo-wedding--large.jpg");
  }
}
.header--wedding {
  background-position: top;
}

.header--wedding-landing {
  background-image: url("/images/header--photo-wedding-landing--large.jpg");
  background-position: top;
}

.header--christmas-landing {
  background-image: url("/images/header--photo-christmas-landing--large.jpg");
  background-position: top;
}

.header--holiday2-landing {
  background-image: url("/images/header--photo-holiday2-landing--large.jpg");
  background-position: top;
}

.header--agt {
  background-image: url("/images/header--photo-agt--large.jpg");
  background-position: top;
}

@media (min-width: 769px) {
  .header--chars-balloon-clown {
    background: url("/images/chars--balloon-clown.png") no-repeat 98% bottom;
  }
  .header--chars-beatles {
    background: url("/images/chars--beatles.png") no-repeat 98% bottom;
  }
  .header--chars-bride {
    background: url("/images/chars--bride.png") no-repeat 98% bottom;
  }
  .header--chars-circus-tent {
    background: url("/images/chars--circus-tent.png") no-repeat 98% bottom;
  }
  .header--chars-dance-shoes {
    background: url("/images/chars--dance-shoes.png") no-repeat 98% center;
  }
  .header--chars-drum-man {
    background: url("/images/chars--drum-man.png") no-repeat 98% bottom;
  }
  .header--chars-elvis-head {
    background: url("/images/chars--elvis-head.png") no-repeat 98% center;
  }
  .header--chars-envelopes {
    background: url("/images/chars--envelopes.png") no-repeat 98% center;
  }
  .header--chars-guitar-man {
    background: url("/images/chars--guitar-man.png") no-repeat 98% bottom;
  }
  .header--chars-groucho-glasses {
    background: url("/images/chars--groucho-glasses.png") no-repeat 98% center;
  }
  .header--chars-handshake {
    background: url("/images/chars--handshake.png") no-repeat 98% bottom;
  }
  .header--chars-hug-man {
    background: url("/images/chars--hug-man.png") no-repeat 98% bottom;
  }
  .header--chars-laptop-man {
    background: url("/images/chars--laptop-man.png") no-repeat 98% bottom;
  }
  .header--chars-magic-rabbit-man {
    background: url("/images/chars--magic-rabbit-man.png") no-repeat 98% bottom;
  }
  .header--chars-magician--small {
    background: url("/images/chars--magician--small.png") no-repeat bottom right;
  }
  .header--chars-microphone-man {
    background: url("/images/chars--microphone-man.png") no-repeat 98% bottom;
  }
  .header--chars-model {
    background: url("/images/chars--model.png") no-repeat 98% bottom;
  }
  .header--chars-party-horse {
    background: url("/images/chars--party-horse.png") no-repeat 98% center;
  }
  .header--chars-party-horse--small {
    background: url("/images/chars--party-horse--small.png") no-repeat 98% center;
  }
  .header--chars-saxophonist {
    background: url("/images/chars--saxophonist.png") no-repeat 98% bottom;
  }
  .header--chars-trio {
    background: url("/images/chars--trio.png") no-repeat 98% bottom;
  }
  .header--chars-trio--reverse {
    background: url("/images/temp-bg-characters--reverse.png") no-repeat 98% bottom;
  }
  .header--chars-turntable {
    background: url("/images/chars--turntable.png") no-repeat 98% center;
  }
  .header--chars-waiter {
    background: url("/images/chars--waiter.png") no-repeat 98% bottom;
  }
  .header--chars-world {
    background: url("/images/chars--world.png") no-repeat 98% center;
  }
}
/*
 * Shown underneath the header on some pages of the public site.
 */
.subheading {
  letter-spacing: 1px;
}

/* ------------------------------------ *\
	$FOOTER
\* ------------------------------------ */
.site-footer {
  --gap: clamp(1rem, 3.93vw, 3rem);
  --full: minmax(var(--gap), 1fr);
  --content: minmax(1px, 1440px);
  --grid-template-columns: [full-start] var(--full) [content-start] var(--content) [content-end] var(--full) [full-end];
  display: grid;
  grid-template-columns: var(--grid-template-columns);
  justify-items: center;
  --space-layout-sm: 24px;
  row-gap: var(--space-layout-sm);
}
@media (min-width: 768px) {
  .site-footer {
    --space-layout-sm: 48px;
  }
}
@media (min-width: 1024px) {
  .site-footer {
    --space-layout-sm: 64px;
  }
}
.site-footer {
  background-color: #ffffff;
  padding-top: 48px;
}
@media (min-width: 768px) {
  .site-footer {
    padding-top: 64px;
  }
}
@media (min-width: 1024px) {
  .site-footer {
    padding-top: 128px;
  }
}
.site-footer {
  padding-bottom: 24px;
}
.site-footer ul {
  line-height: 1.5;
}
.site-footer a:hover,
.site-footer a:focus,
.site-footer a:focus-visible {
  opacity: 1;
  color: #8b26d9;
}
.site-footer a span {
  transition-property: all;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 0.15s;
  text-decoration-line: underline;
  text-decoration-color: transparent;
  text-underline-offset: 1px;
}
.site-footer a:hover span,
.site-footer a:focus span,
.site-footer a:focus-visible span {
  text-decoration-color: #8b26d9;
  text-underline-offset: 4px;
}

.site-footer__top,
.site-footer__bottom {
  width: 100%;
  max-width: 90rem;
  margin: 0 auto;
}

.site-footer__top {
  grid-column: content;
  display: flex;
  flex-direction: column;
  gap: var(--space-layout-sm);
  justify-content: space-between;
}
@media (min-width: 1024px) {
  .site-footer__top {
    flex-direction: row;
    gap: 12rem;
  }
}
.site-footer__top p, .site-footer__top ul {
  font-size: 16px;
}
@media (min-width: 1024px) {
  .site-footer__top .logo-and-tagline {
    max-width: 24rem;
  }
}
.site-footer__top .links {
  display: grid;
  gap: 24px;
  flex: 1 1 0%;
  max-width: 48rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.site-footer__top .links h3 {
  font-size: 1rem;
  line-height: 1.5;
}
.site-footer__top .links ul {
  margin-top: 1rem;
}
.site-footer__top .links li {
  margin-top: 0.25rem;
}
.site-footer__top .links li:first-child {
  margin-top: 0;
}
@media (min-width: 1280px) {
  .site-footer__top .links {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media (min-width: 1024px) {
  .site-footer__top .links {
    row-gap: 48px;
    -moz-column-gap: 64px;
         column-gap: 64px;
  }
}

.site-footer__separator {
  width: 100%;
  border-top: 1px solid #d4d4d8;
  grid-column: full;
  display: grid;
  grid-template-columns: var(--grid-template-columns);
}

.site-footer__bottom {
  grid-column: content;
  padding-top: 24px;
  display: flex;
  flex-direction: column;
  row-gap: 1rem;
  justify-content: space-between;
}
@media (min-width: 1024px) {
  .site-footer__bottom {
    flex-direction: row;
  }
}
.site-footer__bottom .social {
  align-items: center;
}
.site-footer__bottom .social li {
  margin-left: 1rem;
}
.site-footer__bottom .social li:first-child {
  margin-left: 0;
}
.site-footer__bottom .social a {
  height: 2.25rem;
  width: 2.25rem;
  margin: -0.375rem;
  color: #b264f7;
  transition-property: color, box-shadow;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 0.15s;
}
.site-footer__bottom .social a:hover {
  opacity: 1;
  color: #9f49ec;
}
.site-footer__bottom .social a:focus-visible {
  box-shadow: 0 0 0 4px #9f49ec;
}
.site-footer__bottom .social svg {
  height: 1.5rem;
  width: 1.5rem;
}
@media (min-width: 1024px) {
  .site-footer__bottom .legal {
    text-align: right;
  }
}
.site-footer__bottom .terms {
  gap: 24px;
}
@media (min-width: 1024px) {
  .site-footer__bottom .terms {
    justify-content: flex-end;
  }
}
.site-footer__bottom .terms-ca {
  margin-top: 0.25rem;
}
.site-footer__bottom .terms-ca li:last-child {
  margin-top: 0.25rem;
}
.site-footer__bottom .copyright-trademark {
  flex-direction: column;
  margin-top: 1rem;
  gap: 0.25rem;
}
@media (min-width: 1024px) {
  .site-footer__bottom .copyright-trademark {
    flex-direction: row;
    margin-top: 0.5rem;
    gap: 24px;
  }
}

/* ------------------------------------ *\
	$NAV BAR
\* ------------------------------------ */
/*
 * The bar that appears below the main navigation.
 *
 * 1. Hide the bar (designed for desktop) at the same size we hide the main
 * navigation.
 */
.nav-bar {
  --gap: clamp(1rem, 3.93vw, 3rem);
  --full: minmax(var(--gap), 1fr);
  --content: minmax(1px, 1440px);
  --grid-template-columns: [full-start] var(--full) [content-start] var(--content) [content-end] var(--full) [full-end];
  display: grid;
  grid-template-columns: var(--grid-template-columns);
  justify-items: center;
  background-color: #ffffff;
  background-color: #ffffff;
  box-shadow: 0px 0.5px 4px -1px rgba(0, 0, 0, 0.14), 0px 1px 2px 0px rgba(0, 0, 0, 0.14);
}
@media (max-width: 959px) {
  .nav-bar { /* 4 */
    display: none;
  }
}

/*
 * 1. This should roughly match the implementation (width, padding and centering)
 * of the main desktop navigation.
 */
.nav-bar__inner-container {
  width: 100%;
  grid-column: content-start/content-end;
  display: flex;
  justify-content: space-between;
  align-items: center;
  height: 72px;
  padding-right: 12px; /* 1 */
  max-width: 90rem; /* 1 */
  margin: 0 auto; /* 1 */
}

/*
 * 1. Necessary for proper height computation.
 */
.nav-bar__list {
  display: flex;
}
.nav-bar__list li {
  display: flex;
  align-items: center;
  list-style-type: none; /* 1 */
}
.nav-bar__list li:first-child a {
  margin-left: 4px;
}
.nav-bar__list li a {
  font-weight: normal;
}
.nav-bar__list li a:hover, .nav-bar__list li a:focus {
  text-decoration: none;
  opacity: 0.75;
}

/*
 * 1. Override default anchor styles.
 * 2. Added height to force the blue line that shows the active
 * menu item on smaller screen sizes when some menu items wrap
 * to a second line
 * 3. Raised the bottom to adjust for fixed height
 * 4. Changed padding to auto to compensate for fixed height
 */
.nav-bar__link {
  display: flex;
  align-items: center;
  position: relative;
  height: 44px; /* 2 */
  padding: auto 0; /* 4 */
  margin: 0 20px;
  color: #3f3f46;
  font-size: 14px;
  line-height: 14px;
}
@media print, screen and (max-width: 48.06125em) {
  .nav-bar__link {
    height: 42px;
    margin: 0 8px;
    text-align: center;
    justify-content: space-around;
  }
}
.nav-bar__link:hover, .nav-bar__link:focus, .nav-bar__link.active {
  opacity: 1; /* 1 */
}
.nav-bar__link.active {
  color: #8b26d9;
}
.nav-bar__link.active::after {
  content: "";
  position: absolute;
  bottom: -14px; /* 3 */
  left: 0;
  height: 2px;
  width: 100%;
  background-color: #8b26d9;
}
@media print, screen and (max-width: 48.06125em) {
  .nav-bar__link.active::after {
    bottom: -15px;
  }
}

/*
 * 1. 16px is the same as the mobile menu.
 * 2. Don't show for large sizes.
 * 3. To handle and center overflowing text properly. Otherwise: https://i.imgur.com/w530Mhp.png
 */
.nav-bar-small {
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center; /* 3 */
  flex-direction: column;
  padding: 12px 24px; /* 1 */
  background-color: #ffffff;
  position: relative;
  z-index: 999;
  box-shadow: 0px 0.5px 4px -1px rgba(0, 0, 0, 0.14), 0px 1px 2px 0px rgba(0, 0, 0, 0.14);
}
@media (min-width: 960px) {
  .nav-bar-small { /* 2 */
    display: none;
  }
}

/*
 * The object used to display the upgrade button + any associated text on
 * mobile and desktop nav bars.
 *
 * 1. Only make the container (and therefore the button) 100% wide at
 * true mobile sizes; `breakpoint(small down)` is too expansive.
 */
.nav-bar-upgrade {
  display: flex;
  flex-direction: column;
}
@media screen and (max-width: 26.5625em) {
  .nav-bar-upgrade {
    width: 100%;
  }
}

.nav-bar-upgrade__button {
  padding-top: 10px !important;
  padding-bottom: 10px !important;
  margin-bottom: 0;
}

.nav-bar-upgrade__button--small {
  padding-top: 7px !important;
  padding-bottom: 7px !important;
  margin-bottom: 0;
}

.nav-bar-upgrade__text {
  font-size: 12px;
  line-height: 1;
  color: #71717a;
  margin-top: 6px;
}

.hide {
  display: none !important;
}

.invisible {
  visibility: hidden;
}

.visible {
  visibility: visible;
}

@media print, screen and (max-width: 48.06125em) {
  .hide-for-small-only {
    display: none !important;
  }
}

@media screen and (max-width: 0em), screen and (min-width: 48.0625em) {
  .show-for-small-only {
    display: none !important;
  }
}

@media print, screen and (min-width: 48.0625em) {
  .hide-for-medium {
    display: none !important;
  }
}

@media screen and (max-width: 48.06125em) {
  .show-for-medium {
    display: none !important;
  }
}

@media print, screen and (min-width: 48.0625em) and (max-width: 59.99875em) {
  .hide-for-medium-only {
    display: none !important;
  }
}

@media screen and (max-width: 48.06125em), screen and (min-width: 60em) {
  .show-for-medium-only {
    display: none !important;
  }
}

@media print, screen and (min-width: 60em) {
  .hide-for-large {
    display: none !important;
  }
}

@media screen and (max-width: 59.99875em) {
  .show-for-large {
    display: none !important;
  }
}

@media print, screen and (min-width: 60em) and (max-width: 74.99875em) {
  .hide-for-large-only {
    display: none !important;
  }
}

@media screen and (max-width: 59.99875em), screen and (min-width: 75em) {
  .show-for-large-only {
    display: none !important;
  }
}

.show-for-sr,
.show-on-focus {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.show-on-focus:active, .show-on-focus:focus {
  position: static !important;
  width: auto !important;
  height: auto !important;
  overflow: visible !important;
  clip: auto !important;
  white-space: normal !important;
}

.show-for-landscape,
.hide-for-portrait {
  display: block !important;
}
@media screen and (orientation: landscape) {
  .show-for-landscape,
  .hide-for-portrait {
    display: block !important;
  }
}
@media screen and (orientation: portrait) {
  .show-for-landscape,
  .hide-for-portrait {
    display: none !important;
  }
}

.hide-for-landscape,
.show-for-portrait {
  display: none !important;
}
@media screen and (orientation: landscape) {
  .hide-for-landscape,
  .show-for-portrait {
    display: none !important;
  }
}
@media screen and (orientation: portrait) {
  .hide-for-landscape,
  .show-for-portrait {
    display: block !important;
  }
}

.show-for-dark-mode {
  display: none;
}

.hide-for-dark-mode {
  display: block;
}

@media screen and (prefers-color-scheme: dark) {
  .show-for-dark-mode {
    display: block !important;
  }
  .hide-for-dark-mode {
    display: none !important;
  }
}
.show-for-ie {
  display: none;
}

@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
  .show-for-ie {
    display: block !important;
  }
  .hide-for-ie {
    display: none !important;
  }
}
.show-for-sticky {
  display: none;
}

.is-stuck .show-for-sticky {
  display: block;
}

.is-stuck .hide-for-sticky {
  display: none;
}

/* ------------------------------------ *\
	$ALERT BOXES
\* ------------------------------------ */
.alert-box {
  background-color: rgba(78, 2, 124, 0.2);
  position: relative;
  box-shadow: 0px 0.5px 4px -1px rgba(0, 0, 0, 0.14), 0px 1px 2px 0px rgba(0, 0, 0, 0.14);
  border-radius: 8px;
  background-color: #ffffff;
  font-size: 14px;
  line-height: 20px;
  margin-bottom: 24px;
  padding: 12px 16px;
  padding-left: 44px;
  border-left: 6px solid #4e027c;
  color: #4e027c;
}
.alert-box a {
  color: #4e027c;
  text-decoration: underline;
}
.alert-box::before {
  content: url("/images/svg/standalone/alerts/alert-blue.1.svg");
  position: absolute;
  left: 12px;
}
.alert-box--success {
  color: #25944c;
  border-left-color: #25944c;
}
.alert-box--success::before {
  content: url("/images/svg/standalone/alerts/success-green.1.svg");
}
.alert-box--success a {
  color: #25944c;
}
.alert-box--error {
  color: #e63310;
  border-left-color: #e63310;
}
.alert-box--error::before {
  content: url("/images/svg/standalone/alerts/error-red.1.svg");
}
.alert-box--error a {
  color: #e63310;
}
.alert-box--information {
  color: #3f3f46;
  border-left-color: #a1a1aa;
}
.alert-box--information::before {
  content: url("/images/svg/standalone/alerts/information-gray.1.svg");
}
.alert-box--has-close {
  padding-right: 44px;
}
.alert-box__close {
  position: absolute;
  top: 50%;
  right: 8px;
  transform: translateY(-50%);
  font-size: 24px;
  padding: 9px 8px;
  height: 24px;
  line-height: 0;
  cursor: pointer;
}
.alert-box__close:hover, .alert-box__close:focus {
  opacity: 0.7;
}

/* ------------------------------------ *\
	$ATTACHMENTS PLUGIN
\* ------------------------------------ */
.attachments-remaining,
.attachments-remaining-count {
  font-weight: normal;
}

.attachments__progress-bar-container {
  position: relative;
  top: 4px;
  height: 15px;
  border: 1px solid #dce0e0;
  background-color: #f4f4f4;
  font-size: 12px;
}

.attachments__progress-bar {
  height: 100%;
  width: 0%;
  display: block;
  color: #ffffff;
  text-align: right;
  padding: 0 5px 0 0;
  line-height: 15px;
  background-color: #4e027c;
}

.attachments__upload-list {
  list-style: none;
}

.attachments__upload-item {
  margin: 10px 10px 0 0;
  display: inline-block;
  position: relative;
}

.attachments__upload-item-preview {
  width: 48px;
  height: 48px;
  vertical-align: middle;
  border: 1px solid rgb(170, 170, 170);
}

.attachments__remove-attachment {
  color: #ffffff;
  position: absolute;
  top: 0;
  right: 0;
  background: #222222;
  opacity: 0.5;
  cursor: pointer;
  line-height: 0;
  padding: 8px 2px;
  font-size: 19px;
}
.attachments__remove-attachment:hover {
  opacity: 0.8;
}

.attachment-error {
  margin-top: 0;
}

/* ------------------------------------ *\
	$ON-SITE AUTOCOMPLETE
\* ------------------------------------ */
.ac_results {
  font-family: "Inter-GigSalad", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
  color: #444444;
  overflow: hidden;
  z-index: 99999;
  border: 0;
  border-radius: 0 0 3px 3px;
  background-color: #ffffff;
  border-top: 0;
  margin-top: 0;
  box-shadow: 0 15px 30px 0 rgba(60, 70, 77, 0.06);
}
.ac_results ul {
  background-color: #ffffff;
  margin: 0;
  border-radius: 0 0 3px 3px;
}
.ac_results li {
  font-size: 14px;
  line-height: 16px;
  padding: 9px 14px;
  display: block;
  transition: all 250ms ease;
}
.ac_results li .ac_result_icon_wrapper {
  display: flex;
  align-items: center;
}
.ac_results li .ac_result_icon_wrapper > img {
  flex-shrink: 0;
  margin-right: 14px;
  filter: invert(46%) sepia(6%) saturate(431%) hue-rotate(201deg) brightness(94%) contrast(88%);
}
.ac_results li .ac_result_primary_text {
  margin-right: 3px;
}
.ac_results li .ac_result_secondary_text {
  font-size: 12px;
  display: inline-block;
}
.ac_results li.ac_over {
  background-color: #faf4ff;
  cursor: pointer;
}
.ac_results strong {
  font-weight: 700;
}

.ac_input_select_visible {
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
}

/*
 * The autocomplete styles for the desktop-sized navigation search.
 *
 * 1. Resetting the default margin-top that is set above.
 */
.ac_results--navigation-search {
  margin-top: 0; /* 1 */
  border: 0;
  border-radius: 0;
  box-shadow: 0px 0.5px 4px -1px rgba(0, 0, 0, 0.14), 0px 1px 2px 0px rgba(0, 0, 0, 0.14);
  border-top: 1px solid #e4e4e7;
}
.ac_results--navigation-search ul {
  background: #ffffff;
  border-radius: 0;
}
.ac_results--navigation-search li {
  font-size: 16px;
  line-height: 24px;
  padding: 12px 40px;
}

/*
 * The autocomplete styles for the desktop-sized home search.
 *
 * 1. Resetting the default margin-top that is set above.
 * 2. Roughly the same as the rounded corners on the input. This is used
 * so that there is space between the rounded corners of the input and the
 * start of the autocomplete, like this: http://i.imgur.com/SsjbCaD.png
 * 3. So the padding above (#2) is not visible.
 * 4. Remove the default box-shadow.
 * 5. For the box-shadow that needs to extend beyond the UL.
 */
.ac_results--home-search {
  margin-top: 0; /* 1 */
  border: 0;
  border-radius: 0;
  padding-left: 28px; /* 2 */
  padding-right: 28px; /* 2 */
  background-color: transparent; /* 3 */
  box-shadow: none;
}
.ac_results--home-search ul {
  background: #ffffff;
  border-radius: 0;
  box-shadow: 0 15px 30px 0 rgba(60, 70, 77, 0.06);
  margin-bottom: 48px; /* 5 */
}
.ac_results--home-search li {
  font-size: 16px;
  line-height: 24px;
  padding: 12px 42px;
}

/*
 * The autocomplete results only shown on the search modal.
 *
 * 1. Override the default inline styling. We're handling a lot of this search modal with flexbox.
 * 2. Remove the default box-shadow styling. We don't want this:
 * http://i.imgur.com/cihyowx.png
 */
.ac_results--search-modal {
  position: relative !important; /* 1 */
  top: 0 !important; /* 1 */
  border: 0;
  border-radius: 0;
  margin-top: 24px;
  box-shadow: none; /* 2 */
}
.ac_results--search-modal ul {
  background: #ffffff;
  border-radius: 0;
}
.ac_results--search-modal li {
  font-size: 16px;
  line-height: 24px;
  padding: 12px 12px;
}

/* ------------------------------------ *\
	$GOOGLE AUTOCOMPLETE STANDARDIZATION
\* ------------------------------------ */
/*
 * For information on styling, see:
 * https://developers.google.com/maps/documentation/javascript/places-autocomplete#style_autocomplete
 */
/*
 * 1. Remove the box-shadow from the Google Autocomplete overlay.
 */
.pac-container {
  box-shadow: none; /* 1 */
  border: 1px solid #999999;
  border-radius: 0;
  border-top: 0;
  margin-top: 0;
  font-family: "Inter-GigSalad", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
  color: #444444;
}

.pac-item {
  border: 0;
  cursor: pointer;
}
.pac-item:hover {
  background-color: #f4f4f5;
}

.pac-item-query {
  font-size: 14px;
}

/* ------------------------------------ *\
	$CATEGORY PICKER MODAL
\* ------------------------------------ */
/*
 * 1. To account for the sticky header.
 */
.category-picker {
  padding-top: 132px; /* 1 */
}
.category-picker a {
  color: #3f3f46;
}

.category-picker__header {
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
  z-index: 999;
  background-color: #ffffff;
  border-bottom: 1px solid rgba(61, 70, 77, 0.1);
}

/*
 * 1. For vertical centering.
 */
.category-picker__heading {
  display: flex; /* 1 */
  align-items: center; /* 1 */
  padding-top: 6px;
  padding-bottom: 6px;
  margin-top: 30px;
  margin-bottom: 30px;
  color: #4e027c;
}
.category-picker__heading a {
  color: #4e027c;
}

.category-picker__heading-arrow {
  transform: rotate(270deg);
  margin-left: 12px;
  margin-right: 12px;
}

/*
 * 1. Hide the default close button. We're gonna make our own!
 */
.category-picker .mfp-close {
  display: none; /* 1 */
}

.category-picker__close-button {
  font-size: 20px;
  height: 20px;
  color: #4e027c;
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
}
.category-picker__close-button:hover, .category-picker__close-button:focus {
  opacity: 0.75;
}

.category-picker__parent-category {
  display: inline-block;
  font-size: 18px;
  font-weight: normal;
  line-height: 24px;
  margin-bottom: 12px;
}

.category-picker__child-category {
  font-size: 14px;
  line-height: 24px;
  font-weight: normal;
}

.category-picker__input {
  border: 1px solid rgba(63, 63, 70, 0.1);
}
.category-picker__input:focus {
  border-width: 2px;
}

/*
 * Not currently used.
 *
 * 1. Only reveal when it's active.
 */
[data-make-clickable] {
  cursor: pointer;
}

/*
 * The drop widget that is shown when clicking a change widget (i.e. "change location") around parts of the site.
 */
/*
 * 1. Apparently necessary workaround for proper IE10/IE11 styling with flexbox.
 * Neglecting to add this causes a collapsed change location widget, like so:
 * http://i.imgur.com/o7wP7u1.png
 */
.change-widget__content {
  min-width: 288px; /* 1 */
}
@media (max-width: 768px) {
  .change-widget__content {
    display: block;
  }
}

@media print, screen and (min-width: 60em) {
  .change-widget__input-container {
    display: flex;
  }
}

.change-widget__location-icon {
  position: absolute;
}
.change-widget__location-icon .icon--location {
  font-size: 22px;
  line-height: 38px;
  text-indent: 4px;
}
.change-widget__location-icon + .change-widget__input {
  padding-left: 27px !important;
}

/*
 * The input that appears inside the drop widget.
 * 1. Using !important to fix a specificity issue.
 * 2. Reduce the vertical padding so Firefox doesn't cut off
 * certain text, like this: http://i.imgur.com/2CuPZZs.png
 */
.change-widget__input {
  height: 40px !important; /* 1 */
  padding-left: 27px !important; /* 1 */
  font-size: 15px !important; /* 1 */
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
}

.change-widget__label {
  color: #ffffff;
}

.change-widget__error {
  font-size: 10px;
  margin-top: 4px;
}

/*
 * We don't like the way Foundation 6 handles its default checkbox and radio
 * styling. The text overflows the input in a poor way, sitting far below it
 * due to the margins present (http://i.imgur.com/PnNu7KT.png). At the same
 * time, the vertical alignment of the elements is off. We will instead use a
 * custom checkbox and radio implementation.
 *
 * An example of the markup you should use:
 * <div class="custom-chadio-container">
 *  <label>
 *    <input type="radio">
 *    <i></i>
 *    Direct deposit
 *  </label>
 * </div>
 */
/*
 * NOTE: If you want the radio buttons to be inline, use
 * .custom-chadio-container--inline IN ADDITION to the standard chadio class (see below).
 *
 * 1. Allows us to properly center elements within. NOTE: This does NOT work on <fieldset> elements.
  * For more information, see: http://stackoverflow.com/questions/28078681/why-cant-fieldset-be-flex-containers
 * 2. Orients all the elements in a column (vertical).
 * 3. The same spacing as Foundation 6's default form spacing for other input
 * elements.
 * 4. If you don't want the container to add any margins.
 * 5. If you want a half margin. This should be the case when an input follows the container, such as this:
 * http://i.imgur.com/3BCWscM.png
 */
.custom-chadio-container {
  display: flex; /* 1 */
  flex-flow: column; /* 2 */
  margin: 0 0 1.5rem; /* 3 */
}
.custom-chadio-container--flush {
  margin: 0; /* 4 */
}
.custom-chadio-container--push-half { /* 5 */
  margin-bottom: 0.75rem;
}
.custom-chadio-container label,
.custom-chadio-container .label {
  font-weight: 600;
  line-height: 24px;
  margin-bottom: 0;
}

/*
 * A custom chadio container designed for inputs to sit beside one another.
 *
 * 1. Ensure they sit beside each other and wrap as you would expect.
 * 2. Add proper spacing between elements, but remove it from the last one present. The
 * only thing in this container should be the custom inputs themselves.
 */
.custom-chadio-container--inline {
  flex-flow: row wrap; /* 1 */
}
.custom-chadio-container--inline label,
.custom-chadio-container--inline .label {
  margin-right: 18px; /* 2 */
}
.custom-chadio-container--inline label:last-child,
.custom-chadio-container--inline .label:last-child {
  margin-right: 0; /* 2 */
}

@media print, screen and (max-width: 48.06125em) {
  .custom-chadio-container--inline-desktop-only {
    display: inline-flex !important;
  }
}
@media print, screen and (min-width: 48.0625em) {
  .custom-chadio-container--inline-desktop-only {
    flex-flow: row wrap;
    justify-content: center;
  }
  .custom-chadio-container--inline-desktop-only label,
  .custom-chadio-container--inline-desktop-only .label {
    margin-right: 18px;
  }
  .custom-chadio-container--inline-desktop-only label:last-child,
  .custom-chadio-container--inline-desktop-only .label:last-child {
    margin-right: 0;
  }
}

/*
 * If you want the contained inputs to be centered vertically and horizontally.
 * For instance, we do this on the review page in the PromoKit control panel,
 * where the PromoKit has the option to feature a review.
 */
.custom-chadio-container--centered {
  justify-content: center;
  align-items: center;
}

/*
 * 1. Hide the checkbox offscreen - we will be styling up an element to replace it visually. Hiding the checkbox offscreen allows it to be selected with tab.
 * 2. Properly handle disabled input styling.
 */
.custom-chadio-container input[type=checkbox],
.custom-chadio-container input[type=radio] {
  position: absolute; /* 1 */
  left: -9999px; /* 1 */
  /* NOTE: The styles above may interfere too much with the display of the "required" message (it results in it being hidden). */
  /* We might try the following instead:
  position: absolute; z-index: -9999;
  OR
  position: absolute; opacity: 0;
  etc */
}
.custom-chadio-container input[type=checkbox]:disabled + i, .custom-chadio-container input[type=checkbox]:not(:checked):disabled:hover + i,
.custom-chadio-container input[type=radio]:disabled + i,
.custom-chadio-container input[type=radio]:not(:checked):disabled:hover + i { /* 2 */
  cursor: not-allowed;
  opacity: 0.5;
  background: #eff1f4;
  border: 2px solid #d2d8db;
}

/*
 * Shared styling for custom checkbox and radio display
 *
 * 1. Ensure the input doesn't expand to 100% width ala block--level elements.
 * 2. Required for centering the check and dot inside.
 * 3. An unfortunate hack for vertical centering with Avenir. Re-evaluate when
 * we change our font in the future.
 * 4. Using padding instead of width and height seems to produce a more
 * consistent size.
 * 5. However, we use a set height and width because padding creates a skewed look
 * situations. For instance, the quote form in the PromoKit's control panel. Test
 * again later.
 * 6. We don't use $input-border (like all other inputs) because that border appears
 * to be too light.
 * 7. Never reduce the size of custom chadio icon.
 */
.custom-chadio-container i {
  display: inline-flex; /* 1 */
  position: relative; /* 2 */
  bottom: 1px; /* 3 */
  height: 18px; /* 5 */
  width: 18px; /* 5 */
  background-color: #ffffff;
  border: 2px solid #d2d8db; /* 6 */
  border-radius: 4px;
  flex-shrink: 0; /* 7 */
  vertical-align: middle;
  margin-right: 0.65em;
  transition: all 100ms cubic-bezier(0.175, 0.885, 0.32, 1.275), background-color 100ms ease-out, color 100ms ease-out, box-shadow 100ms ease-out, border-color 100ms ease-out !important;
}

/*
 * 1. We want custom labels to retain tab functionality - the box-shadow
 * ensures proper highlighting on tabbing. The box-shadow's color should
 * be the same as other input focus styles around the site.
 * 2. Only really applies to the radio. The checkbox color is overridden
 * when checked.
 * 3. Necessary for Internet Explorer, otherwise a text cursor appears. We
 * only want to show the default cursor when the input is not disabled.
 */
.custom-chadio-container input[type=checkbox]:focus + i,
.custom-chadio-container input[type=radio]:focus + i {
  box-shadow: 0 0 0 2px rgba(159, 73, 236, 0.5); /* 1 */
}
.custom-chadio-container input[type=checkbox]:hover + i,
.custom-chadio-container input[type=radio]:hover + i {
  border: 2px solid #4e027c;
}
.custom-chadio-container input[type=checkbox]:checked + i,
.custom-chadio-container input[type=radio]:checked + i {
  border-color: #4e027c; /* 2 */
}
.custom-chadio-container input[type=checkbox]:not(:disabled):checked + i,
.custom-chadio-container input[type=radio]:not(:disabled):checked + i {
  cursor: default; /* 3 */
}

/*
 * Base styling for custom checkbox display
 *
 * 1. To ensure check mark doesn't appear in italic form.
 */
.custom-chadio-container input[type=checkbox] + i {
  font-style: normal; /* 1 */
}
.custom-chadio-container input[type=checkbox] + i:hover + i {
  border-radius: 4px;
}

/*
 * Base styling for custom radio display
 */
.custom-chadio-container input[type=radio] + i {
  border-radius: 50%;
}

/*
 * 1. The checkbox takes on the primary color when selected.
 */
.custom-chadio-container input[type=checkbox]:checked + i {
  background-color: #4e027c; /* 1 */
}

/*
 * This handles the display of the custom checkbox, when checked.
 *
 * 1. Center the check horizontally and vertically.
 * 2. By keeping the line-height and font-size the same, we fix a focus
 * bug present in Firefox. For the styling bug, see: http://i.imgur.com/Bta7v7R.png
 * 3. On some devices, the checkmark is replaced by a colored emoji. For instance,
 * on mobile Chrome, this emoji is red, and unable to be colored. As we want the
 * checkmark to be white, we employ this hack to hide the emoji and replace it
 * with the color of our choosing (white).
 * See: https://stackoverflow.com/questions/32413731/color-for-unicode-emoji
 */
.custom-chadio-container input[type=checkbox]:checked + i::before {
  content: url("/images/svg/standalone/checkmark.1.svg");
  position: absolute; /* 1 */
  top: 50%; /* 1 */
  transform: translateY(-50%); /* 1 */
  left: -2px; /* 1 */
  font-size: 0.85em; /* 2 */
  line-height: 0.85em; /* 2 */
  text-align: center;
  width: 100%;
  color: transparent; /* 3 */
  text-shadow: 0 0 0 #ffffff; /* 3 */
}

.custom-chadio-container input[type=radio] + i::after {
  content: "";
  position: absolute;
  left: 2px;
  top: calc(50% - 5px);
  border-radius: 50%;
  width: 10px;
  height: 10px;
}

.custom-chadio-container input[type=radio] + i::before {
  transition: border 100ms ease-out;
}

.custom-chadio-container input[type=radio]:checked + i::after {
  background: #4e027c;
  color: #ffffff;
  animation: scale-from-nothing 80ms ease-out;
}

.custom-chadio-container input[type=radio]:focus + i::before {
  transition: box-shadow 100ms ease-out;
}

/*
 * A custom chadio container originally built for the event status update.
 * We noticed that overflow looked quite poor with this long radio text.
 * This one-off solution fixes the issue and might be something we incorporate
 * into other chadios in the future. However, note that it requires additional
 * markup (a <span> around the label text that is otherwise not present).
 * Also note that the CSS needs to be at the bottom of this file for override
 * purposes.
 *
 * Before: https://i.imgur.com/BbdjJdl.png
 * After: https://i.imgur.com/pBwLbiq.png
 *
 * An example of the markup you should use:
 * <div class="custom-chadio-container custom-chadio-container--contain-overflow">
 *  <label>
 *    <input type="radio">
 *    <i></i>
 *    <span>Direct deposit</span>
 *  </label>
 * </div>
 *
 * 1. Necessary due to position shifts from the `display: flex`.
 */
.custom-chadio-container--contain-overflow label,
.custom-chadio-container--contain-overflow .label {
  display: flex;
}
.custom-chadio-container--contain-overflow i {
  top: 3px; /* 1 */
  margin-right: 0.93em; /* 1 */
}

/*
 * A custom chadio container for a different visual style of the radio
 * options.
 *
 * This was created as part of the deferred payments processed on the
 * checkout page. They appear similar to this:
 * https://i.imgur.com/infnY5t.png (note that this also has `contain-overflow`)
 *
 * I'm not sure how reusable this is, since it's styled pretty specifically for
 * this instance at the moment. It may make more sense elsewhere in the SASS.
 *
 * 1. Overriding some previously set styles; this is a bit hacky, but helps us avoid
 * a total refactor
 * 2. We use some JavaScript to apply this class and make the currently selected
 * option have a different border color.
 * 3. Override the default Foundation behavior here and only here.
 */
.custom-chadio-container--discrete-containers label,
.custom-chadio-container--discrete-containers .label {
  align-items: center;
  padding: 12px;
  border: 1px solid #c5cacc;
  font-weight: 700;
  border-radius: 8px;
  background-color: #ffffff;
}
.custom-chadio-container--discrete-containers label i,
.custom-chadio-container--discrete-containers .label i {
  top: auto; /* 1 */
  bottom: auto; /* 1 */
}
.custom-chadio-container--discrete-containers label.selected,
.custom-chadio-container--discrete-containers .label.selected { /* 2 */
  border: 1px solid #751cb5;
  background-color: #faf4ff;
}
.custom-chadio-container--discrete-containers label.disabled,
.custom-chadio-container--discrete-containers .label.disabled {
  background-color: transparent;
  opacity: 0.5;
  cursor: not-allowed;
}
.custom-chadio-container--discrete-containers label + label,
.custom-chadio-container--discrete-containers label + .label,
.custom-chadio-container--discrete-containers .label + label,
.custom-chadio-container--discrete-containers .label + .label {
  margin-top: 12px;
}
@media print, screen and (max-width: 48.06125em) {
  .custom-chadio-container--discrete-containers label .stack-for-small img,
  .custom-chadio-container--discrete-containers .label .stack-for-small img {
    width: auto !important; /* 3 */
  }
}

.event-card {
  height: 456px;
  position: relative;
  background-color: #faf4ff;
  border-radius: 8px;
  /* border: 1px solid #f2f4f5; */
  text-align: center;
  padding: 48px 12px;
  margin-bottom: 24px;
}
.event-card:hover {
  /* border-color: #dce0e0; */
  cursor: pointer;
}
.event-card {
  transition: all 250ms ease;
}

.event-card__event-type {
  margin-bottom: 0;
}

.event-card__event-date {
  font-size: 14px;
}

.event-card__event-location {
  margin-top: 0;
  color: #71717a;
}

.event-card__talent-needed-categories {
  font-size: 14px;
}

.event-card__footer {
  margin-top: 24px;
  font-size: 14px;
}

.event-card__review-cta {
  position: absolute;
  right: 12px;
  left: 12px;
  margin: 12px;
  padding-left: 12px;
  padding-right: 12px;
  font-size: 14px;
}

.faq-card {
  display: grid;
  grid-template-columns: 1fr auto;
  -moz-column-gap: 0;
       column-gap: 0;
  box-shadow: 0px 0.5px 4px -1px rgba(0, 0, 0, 0.14), 0px 1px 2px 0px rgba(0, 0, 0, 0.14);
  border: 1px solid #e4e4e7;
  border-radius: 8px;
  margin: 0 auto;
  overflow: hidden;
  text-align: left;
}
.faq-card + .faq-card {
  margin-top: 12px;
}

.faq-card__header {
  padding: 12px 24px;
  z-index: 1;
}

.faq-card__toggle-icon {
  padding: 12px 24px;
  padding-left: 0;
}
.faq-card__toggle-icon img {
  transition: all 250ms ease-out;
}

.faq-card__toggle-icon,
.faq-card__header {
  cursor: pointer;
}

.faq-card__body {
  padding: 0 24px;
  max-height: 0;
  opacity: 0;
  transition: all 250ms ease-out;
}

.faq-card [role=button][aria-expanded=true] ~ .faq-card__body {
  padding: 12px 24px;
  padding-top: 0;
  max-height: 100vh;
  opacity: 1;
}
.faq-card [role=button][aria-expanded=true] ~ .faq-card__toggle-icon img {
  transform: rotate(180deg);
}

/* ------------------------------------ *\
	$FAVORITES LIST
\* ------------------------------------ */
/*
 * 1. Because the inner element is grabbed and displayed via Drop, we want to
 * hide the outer element.
 */
.favorites-container {
  display: none; /* 1 */
}

/*
 * 1. Only a base width. We set width again dynamically when the Drop sidebar is activated.
 * 2. No border at small sizes.
 * 3. We need a different width for the mobile size favorites menu. Make it full-width.
 */
.favorites-menu {
  width: 277px; /* 1 */
  font-size: 14px;
  background-color: #ffffff;
  border-top: 1px solid #e4e4e7;
  border-bottom-left-radius: 8px;
  box-shadow: 0px 10px 12px -1px rgba(0, 0, 0, 0.1), 0px 4px 4px 0px rgba(0, 0, 0, 0.05);
}
@media (max-width: 959px) {
  .favorites-menu {
    border: 0; /* 2 */
    border-radius: 0;
  }
}
@media (min-width: 1590px) {
  .favorites-menu {
    border-bottom-right-radius: 8px;
  }
}
.favorites-menu img {
  width: 48px;
  height: 48px;
  border-radius: 50%;
}
.favorites-menu .favorites-menu__act-name {
  font-size: 12px;
  margin-right: 12px;
}
.favorites-menu .favorites-menu__act-name:hover, .favorites-menu .favorites-menu__act-name:focus {
  text-decoration: underline;
}
.drop-theme-mobile-favorites-menu .favorites-menu {
  width: 100%; /* 3 */
}
.drop-theme-mobile-favorites-menu .favorites-menu .favorites-menu__act-name {
  font-size: 14px;
}
.drop-theme-mobile-favorites-menu .favorites-menu .favorites-menu__favorite--remove {
  font-size: 20px;
}
.favorites-menu {
  /*
   * 1. Done so that "Free Quick Quote" only takes up one line.
   */
}
.favorites-menu .favorites-menu__button {
  padding-left: 6px; /* 1 */
  padding-right: 6px; /* 1 */
}
.favorites-menu a:not(.button) {
  color: #3f3f46;
}

/*
 * 1. For whatever reason, putting padding directly on the .favorites-menu element
 * causes improper calculation of width. Put it on an inner element instead!
 * 2. Mobile needs less padding!
 */
.favorites-menu__inner {
  padding: 24px 36px; /* 1 */
}
@media (max-width: 959px) {
  .favorites-menu__inner {
    padding: 24px; /* 2 */
  }
}

/*
 * 1. Hide the underline when hovering the full favorite. I think it
 * looks weird.
 */
.favorites-menu__favorite:hover, .favorites-menu__favorite:focus {
  text-decoration: none; /* 1 */
}

/**
 * Small blocks of image + text, typically used to explain something (such as
 * a feature on the site).
 */
.feature-list__list-item {
  list-style-type: none;
}
@media (max-width: 768px) {
  .feature-list__list-item {
    margin-bottom: 24px;
  }
}

/* ------------------------------------ *\
	$CSS LOADING INDICATOR
\* ------------------------------------ */
/*
 * Single element CSS loading indicator taken from the following:
 * https://projects.lukehaas.me/css-loaders/
 */
.css-loader,
.css-loader::before,
.css-loader::after {
  border-radius: 50%;
  width: 2.5em;
  height: 2.5em;
  animation: load7 1.8s infinite ease-in-out;
  animation-fill-mode: both;
}

.css-loader {
  color: #4e027c;
  font-size: 10px;
  margin: 80px auto;
  position: relative;
  text-indent: -9999em;
  transform: translateZ(0);
  transform: translateZ(0);
  transform: translateZ(0);
  animation-delay: -0.16s;
}

.css-loader::before,
.css-loader::after {
  content: "";
  position: absolute;
  top: 0;
}

.css-loader::before {
  left: -3.5em;
  animation-delay: -0.32s;
}

.css-loader::after {
  left: 3.5em;
}

@keyframes load7 {
  0%, 80%, 100% {
    box-shadow: 0 2.5em 0 -1.3em;
  }
  40% {
    box-shadow: 0 2.5em 0 0;
  }
}
/*
 * The modal shown when signing up or logging in.
 */
.login-signup-modal {
  position: relative;
  background-color: #ffffff;
  padding: 1.5rem;
  border-radius: 8px;
  max-width: 373px;
  margin: 0 auto;
}

.login-signup-modal__horizontal {
  max-width: 756px;
}

@media print, screen and (min-width: 48.0625em) {
  .login-signup-modal__column--right-border {
    border-right: 1px solid #e4e4e7;
    position: relative;
  }
  .login-signup-modal__column--right-border::after {
    display: block;
    content: "";
    position: absolute;
    right: -10px;
    padding: 10px 0;
    background-color: #ffffff;
    top: 50%;
    transform: translateY(-50%);
    font-size: 12px;
    letter-spacing: 1px;
    line-height: 24px;
    margin-bottom: 12px;
  }
  .login_signup-modal__column--right-border--or-text::after {
    content: "OR";
  }
}
/* ------------------------------------ *\
	$PAGINATION STYLES
\* ------------------------------------ */
.pagination {
  margin-top: 10px;
  line-height: 34px;
}
.pagination a, .pagination span {
  color: #4e027c;
  padding-top: 0.4375em;
  padding-right: 0.875em;
  padding-bottom: 0.4375em;
  padding-left: 0.875em;
  border-radius: 8px;
  margin-right: 4px;
}
@media (max-width: 767px) {
  .pagination a, .pagination span.current {
    padding: 0.4375em 10px;
  }
  .pagination span {
    padding: 0.4375em 0;
  }
}
.pagination a:last-child,
.pagination span:last-child {
  margin-right: 0;
}
.pagination a:hover {
  background-color: rgba(159, 73, 236, 0.1);
  opacity: 1;
}
.pagination .current {
  background-color: rgba(159, 73, 236, 0.3);
}

/* ------------------------------------ *\
	$PRICING CHART (Shown > 768px)
\* ------------------------------------ */
.pricing-chart {
  width: 100%;
  background-color: #ffffff;
}

.pricing-chart__body {
  border-bottom: 1px solid #e4e4e7;
}

.pricing-chart__row:nth-child(odd) {
  background-color: rgba(240, 238, 238, 0.5);
}

.pricing-chart__label {
  font-size: 15px;
  padding: 13px;
  padding-left: 24px;
  color: #a1a1aa;
}
.pricing-chart__label strong {
  font-weight: 700;
  color: #3f3f46;
  margin-right: 2px;
}

.pricing-chart__bullet {
  text-align: center;
  font-size: 14px;
}
.pricing-chart__bullet--unavailable {
  color: #e9e8e8;
}

.pricing-chart__definition-text {
  text-align: center;
  font-weight: 700;
  font-size: 13px;
  letter-spacing: 2px;
  text-transform: uppercase;
}

.pricing-chart__pricing-definition {
  text-align: center;
  font-size: 15px;
  padding-top: 17px;
  padding-bottom: 17px;
}

/* ------------------------------------ *\
	$PRICING COMPARISON (Shown < 769px)
\* ------------------------------------ */
.pricing-card {
  text-align: center;
  padding: 24px 0;
}
.pricing-card .icon--star {
  font-size: 18px;
}

.pricing-card__list {
  list-style-type: none;
  width: 215px;
  margin: 0 auto;
}

.pricing-card__list-item {
  font-size: 14px;
  border-bottom: 1px solid #dddddd;
  border-bottom: 1px solid rgba(255, 255, 255, 0.35);
  line-height: 22px;
}
.pricing-card__list-item:last-child {
  border-bottom: 0;
}

.pricing-card__ribbon {
  position: relative;
  bottom: 0;
  left: 0;
  display: block !important;
  width: 150px;
  margin: 0 auto;
  background-color: #e05400;
}
.pricing-card__ribbon::before, .pricing-card__ribbon::after {
  border-color: #e05400;
}
.pricing-card__ribbon::before {
  content: "";
  position: absolute;
  bottom: 0;
  z-index: -1;
  display: block;
  border-width: 12px 7px;
  transform: scale(0.9999);
  left: -14px;
  border-right-width: 1.5em;
  border-left-color: transparent;
  border-style: solid solid solid dashed;
}
.pricing-card__ribbon::after {
  border-right-color: transparent;
}

.pricing-bubble {
  position: relative;
  background: #ffffff;
  color: #3f3f46;
  padding: 24px;
  margin-bottom: 24px;
}
.pricing-bubble::before {
  position: absolute;
  top: -20px;
  left: 50%;
  display: block;
  margin-left: -10px;
  width: 0;
  height: 0;
  border: solid 10px;
  border-color: transparent transparent #ffffff;
  content: "";
  /*
   * Fixes a Firefox rendering bug with triangle edges
   * See: http://stackoverflow.com/a/15388994/364226
   */
  border-right-style: dashed;
}

.pricing-bubble__price {
  color: #989898;
  font-size: 15px;
  letter-spacing: 2px;
}

@media screen and (max-width: 768px) {
  .table--collapsing {
    border: 0;
  }
  .table--collapsing thead {
    display: none;
  }
  .table--collapsing tr {
    margin-bottom: 10px;
    display: block;
    border-bottom: 1px solid #dddddd;
  }
  .table--collapsing td {
    display: block;
    text-align: right;
    font-size: 13px;
    border-bottom: 1px dotted #cccccc;
  }
  .table--collapsing td:last-child {
    border-bottom: 0;
  }
  .table--collapsing td::before {
    content: attr(data-label);
    float: left;
    text-transform: uppercase;
    font-weight: 700;
  }
}
/* ------------------------------------ *\
	$STAR ICONS
\* ------------------------------------ */
/*
 * 1. The default color of the review star.
 */
.review-star {
  color: rgba(63, 63, 70, 0.25); /* 1 */
}

.review-star--full {
  color: #ffd448;
}

/**
 * Review star-rating component
 */
.review-stars {
  text-align: center;
  margin: 1.5rem 0;
}

.review-stars__star-images {
  display: inline-block;
}

.review-stars__star-image {
  cursor: pointer;
}

.review-stars__rating-total {
  display: inline-block;
  margin-top: 7px;
  font-size: 14px;
}

.review-stars__star-error {
  text-align: center;
  margin-top: -1.5rem;
}

/**
 * Write a Review star-rating component
 */
.profile-review-form-stars {
  margin: 8px 0 1.5rem;
}

.profile-review-form-stars__star-images {
  display: inline-block;
}

.profile-review-form-stars__star-image {
  cursor: pointer;
}

.profile-review-form-stars__rating-total {
  display: inline-block;
  margin-top: 7px;
  font-size: 14px;
}

.profile-review-form-stars__star-error {
  text-align: center;
  margin-top: -1.5rem;
}

.ribbon--new {
  position: relative;
  width: 138px;
  background-color: #c6c6c6;
  color: #ffffff;
  text-align: center;
  text-transform: uppercase;
  font-size: 11px;
  line-height: 26px;
  z-index: 1;
}
.ribbon--new::before, .ribbon--new::after {
  content: "";
  position: absolute;
  bottom: 0;
  border-color: #c6c6c6;
  z-index: -1;
  display: block;
  border-width: 13px 7px;
  transform: scale(0.9999);
}
.ribbon--new::before {
  left: -14px;
  border-right-width: 1.5em;
  border-left-color: transparent !important;
  border-style: solid solid solid dashed;
}
.ribbon--new::after {
  right: -14px;
  border-right-color: transparent !important;
  border-left-width: 1.5em;
  border-style: solid dashed solid solid;
}
.ribbon--new.ribbon--blue {
  background-color: #397ca4;
}
.ribbon--new.ribbon--blue::before, .ribbon--new.ribbon--blue::after {
  border-color: #397ca4;
}
.ribbon--new.ribbon--blue::before {
  border-left-color: transparent;
}
.ribbon--new.ribbon--blue::after {
  border-right-color: transparent;
}
.ribbon--new.ribbon--dark {
  background-color: #3f3f46; /* TODO: Implement a linter to catch when we're using colors we probably want to use variables for */
}
.ribbon--new.ribbon--dark::before, .ribbon--new.ribbon--dark::after {
  border-color: #3f3f46;
}

/* ------------------------------------ *\
	$RIBBON
\* ------------------------------------ */
.bg--color-theme .ribbon, .bg--color-theme .onboarding-pricing-table__ribbon, .bg--color-theme .pricing-card__ribbon,
.page-theme--blue .ribbon,
.page-theme--blue .onboarding-pricing-table__ribbon,
.page-theme--blue .pricing-card__ribbon {
  padding-left: 6px;
}

.ribbon, .onboarding-pricing-table__ribbon, .pricing-card__ribbon {
  position: absolute;
  bottom: 20px;
  width: 90px;
  color: #ffffff;
  text-align: center;
  text-transform: uppercase;
  font-size: 11px;
  line-height: 24px;
  z-index: 1;
}
.ribbon::before, .onboarding-pricing-table__ribbon::before, .pricing-card__ribbon::before, .ribbon::after, .onboarding-pricing-table__ribbon::after, .pricing-card__ribbon::after {
  border-color: #4e027c;
}
.ribbon::before, .onboarding-pricing-table__ribbon::before, .pricing-card__ribbon::before {
  border-left-color: transparent !important;
}
.ribbon::after, .onboarding-pricing-table__ribbon::after, .pricing-card__ribbon::after {
  content: "";
  position: absolute;
  bottom: 0;
  z-index: -1;
  display: block;
  border-width: 12px 7px;
  transform: scale(0.9999);
  right: -10px;
  border-right-color: transparent !important;
  border-left-width: 1.5em;
  border-style: solid dashed solid solid;
}

.search-form {
  position: relative;
}

.search-form__input-icon {
  position: absolute;
  left: 19px;
  top: 50%;
  transform: translateY(-50%);
  height: 18px;
  width: 18px;
  pointer-events: none;
}

.search-form__input {
  padding-left: 48px;
}

/* ------------------------------------ *\
	$TESTIMONIAL BLOCK
\* ------------------------------------ */
/*
 * 1. Here for the caret.
 */
.testimonial__image-section {
  position: relative; /* 1 */
}
.testimonial__image-section::after {
  position: absolute;
  top: 47.5px;
  right: -1px;
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 10px;
  content: "";
  border-left-width: 0;
  border-color: transparent #ffffff transparent transparent;
}
@media (max-width: 768px) {
  .testimonial__image-section::after {
    display: none;
  }
}

.testimonial__text {
  display: flex;
  align-items: center;
  min-height: 115px;
  margin-bottom: 6px;
}

/**
 * Scrolling testimonial logos image
 */
.testimonial-logos {
  animation: transition-testimonial-logos 200s linear infinite;
  overflow: hidden;
  height: 72px;
  background-image: url("/images/logo-strip.1.png");
  background-repeat: repeat;
  will-change: transform;
}

@keyframes transition-testimonial-logos {
  0% {
    background-position: 0% 0%;
  }
  100% {
    background-position: -6000px 0%;
  }
}
#js-testimonials blockquote {
  border-left: 0;
}

/* ------------------------------------ *\
	$TOPBAR
\* ------------------------------------ */
/*
 * 1. Ensure enough space at the sides for mobile display.
 */
.top-cta-dropdown {
  position: relative;
  overflow: hidden;
  color: #ffffff;
  text-align: center;
  padding-top: 12px;
  padding-bottom: 12px;
  padding-right: 72px;
  padding-left: 72px;
}
@media print, screen and (max-width: 48.06125em) {
  .top-cta-dropdown {
    padding-right: 36px; /* 1 */
    padding-left: 36px; /* 1 */
  }
}
.top-cta-dropdown {
  background-color: #9f49ec;
  font-size: 14px;
}

.top-cta__button {
  margin-bottom: 0;
  border-radius: 1000px;
}
@media (max-width: 768px) {
  .top-cta__button {
    margin-top: 6px;
    display: block;
  }
}
@media (min-width: 769px) {
  .top-cta__button {
    margin-left: 12px;
  }
}

.top-cta-dropdown__close {
  position: absolute;
  top: 50%;
  right: 24px;
}
@media print, screen and (max-width: 48.06125em) {
  .top-cta-dropdown__close {
    top: 22px;
    right: 12px;
  }
}
.top-cta-dropdown__close {
  font-size: 32px;
  line-height: 1;
  margin-top: -18px;
}

/* ------------------------------------ *\
	$TOP PERFORMER BANNER
\* ------------------------------------ */
/*
 * Designed to be the reusable Top Performer indicator/banner/badge that is shown around
 * the site in various places.
 *
 * Should be built in a fairly agnostic way that can then be taken and fit into different scenarios.
 */
.top-performer-banner {
  display: inline-flex;
  position: relative;
  background-color: #ffd448;
  border-radius: 999px;
  text-transform: uppercase;
  color: #ffffff;
  padding: 5px 35px 5px 12px;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 1px;
}
.top-performer-banner::after {
  content: "\e000";
  font-family: "gigsalad-icons";
  position: absolute;
  top: 2px;
  right: 3px;
  padding: 4px;
  color: #ffd448;
  background-color: #ffffff;
  border-radius: 999px;
  width: 25px;
  height: 25px;
  text-indent: 1px;
}

/* ------------------------------------ *\
	$JANUARY 2020 VENDOR CARDS
\* ------------------------------------ */
/*
 * Built in a mobile-first fashion with desktop overrides.
 */
/*
 * Parent element of grouped vendor cards.
 */
.vendor-card-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-around;
  margin: 0 auto;
}
@media screen and (min-width: 50.6875em) {
  .vendor-card-list {
    justify-content: space-between;
  }
}

/*
 * The big boy. The card itself.
 *
 * 1. Both of these appear required to fully expand cards without enough content
 * to organically expand them to full width. See: https://i.imgur.com/bYHexxn.png
 * 2. Here because our old vendor card had this and we don't want to check all
 * the places they're currently included.
 * 3. Required for the `.stretched-link` within.
 */
.vendor-card {
  display: flex;
  flex-direction: column;
  flex-shrink: 0;
  width: 100%; /* 1 */
  max-width: 420px;
  font-size: 14px;
  margin-bottom: 24px; /* 2 */
  position: relative; /* 3 */
  background-color: #ffffff;
  box-shadow: 0 1px 13px rgba(0, 0, 0, 0.08);
  padding: 12px;
  border-radius: 8px;
}
@media screen and (min-width: 50.6875em) {
  .vendor-card {
    max-width: 276px;
  }
}

/*
 * 1. Seriously, never shrink this section.
 * 2. Ensures the media content doesn't grow to match the height of the textual content.
 * Example: https://i.imgur.com/Ny8Ocq1.mp4
 * 3. So the overflow from the blurred background doesn't cause the border-radius on this
 * container to not appear. This could possibly be an issue when we're implementing the
 * rank indicators in the future (which overflow this element), but putting those
 * indicators within the parent `.vendor-card` instead of this element would be
 * a solution.
 * 4. This z-index is seemingly required when on gray backgrounds like in the "Similar Listings"
 * section. Otherwise, the background is gone (looks like this: https://i.imgur.com/S9wWuV6.png)
 * 5. Keep the profile image opacity at 1 to prevent blur effect on hover.
 */
.vendor-card__media {
  position: relative;
  display: flex;
  justify-content: center;
  width: 100%;
  flex-shrink: 0; /* 1 */
  align-self: flex-start; /* 2 */
  border-radius: 8px;
  margin-bottom: 12px;
  overflow: hidden; /* 3 */
  z-index: 1; /* 4 */
}
.vendor-card__media .stretched-link:hover,
.vendor-card__media .stretched-link:focus {
  opacity: 1; /* 5 */
}

/*
 * 1. This z-index makes the media icons hover able so their title values can be used as tool tips
 */
.vendor-card__media-count-container {
  display: flex;
  flex-direction: column;
  position: absolute;
  bottom: 12px;
  right: 12px;
  z-index: 9; /* 1 */
}

.vendor-card__media-count {
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: rgba(61, 70, 77, 0.75);
  border-radius: 100px;
  color: #ffffff;
  font-size: 12px;
  padding: 4px 6px;
  line-height: 1;
  min-width: 36px;
}
.vendor-card__media-count + .vendor-card__media-count { /* any sibling elements with the same class name */
  margin-top: 3px;
}

.vendor-card__media-count img {
  margin-right: 4px;
}

.vendor-card__favorite-button {
  position: absolute;
  top: 6px;
  right: 6px;
  display: flex;
  flex-shrink: 0;
  outline: none;
  z-index: 999999;
}
.vendor-card__favorite-button path {
  transition: all 0.01s ease-out;
}

.vendor-card__button-heart {
  fill-opacity: 0.75;
}
.saved .vendor-card__button-heart {
  fill: #f41c1c;
  fill-opacity: 1;
}

/*
 * This article rules, and this implementation is based on the article:
 * https://css-tricks.com/blurred-borders-in-css/
 *
 * 1. The border-width. Since the width of the media container is 360px, and
 * the only image we have within it thus far is 240px, this handles the proper sizing
 * for the two sides of the image (left and right). When we transition to a full-on
 * media gallery, this will be removed and the slider library will handle this.
 * 2. As the blur value changes, the `transform: scale` value needs to as well. This is because
 * as you increase blur intensity, the amount of scaling necessary to "crop off" the blurred
 * corners increases too. For that reason, I've tied these two values together via variable.
 * See the transform note for information on why this transform is necessary in the first place.
 * 3. To ensure all background content actually remains in the background even though
 * it's positioned absolutely.
 * 4. An overlay to darken the image when it's blurred in the background.
 * 5. I went with an <image> rather than a single element using a `background-url` because
 * there are no inline CSS styles that can load based on the device's DPI like <img> can.
 * Using an <img> ensures we can load the same non-blurred profile photo they see.
 * 6. A positioning hack to get rid of the "fuzziness" (lack of blur) at the edges of
 * the blur filter. This hack achieves it by effectively cropping the less-intense borders
 * out of frame (zooming in on the image).
 * Before: https://i.imgur.com/UFHQO25.png After: https://i.imgur.com/Wpt7sze.png
 * To get a better idea of what this "fuzziness" looks like: https://i.imgur.com/1SS1XbN.png
 * 7. 95% of our visitors support blur at the time of writing. For those that don't, we feature
 * detect and do not show the image to them, as it looks bad (https://i.imgur.com/c76Hi9m.png).
 * Is there something else we could do here that would look better?
 */
/* 1 */
/* 2 */
.vendor-card__background-container {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1; /* 3 */
  width: 100%;
  height: 100%;
}
.vendor-card__background-container::before { /* 4 */
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-color: rgba(61, 70, 77, 0.15); /* 4 */
  z-index: 1;
  content: "";
}

.vendor-card__background-image { /* 5 */
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  filter: blur(8px); /* 2 */
  transform: scale(1.08); /* 6 */
  display: none; /* 7 */
}
@supports (filter: blur(8px)) {
  .vendor-card__background-image { /* 7 */
    display: block;
  }
}

.vendor-card__featured-ribbon {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  pointer-events: none;
}

/*
 * 1. So this content section will grow and stretch instead of the media doing so.
 * 2. We have to add a basis only for IE10/11 – it fixes this bug: https://i.imgur.com/4Yl9WYb.png
 */
.vendor-card__content {
  display: flex;
  flex-direction: column;
  flex-grow: 1; /* 1 */
  flex-basis: 100%; /* 2 */
}

.vendor-card__act-name {
  font-size: 14px;
  line-height: 18px;
  font-weight: 700;
  margin-bottom: 6px;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  /* autoprefixer: ignore next */ /* 1 */
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.vendor-card__rating-block {
  display: flex;
  flex-flow: wrap;
  font-size: 12px;
  line-height: 20px;
  margin-bottom: 8px;
}

.vendor-card__reviews {
  display: flex;
  align-items: center;
}
.vendor-card__reviews img {
  width: 12px;
  height: 12px;
  margin-right: 2px;
}

.vendor-card__review-details {
  margin-left: 2px;
}

.vendor-card__rating-average {
  font-weight: 700;
}

.vendor-card__top-performer {
  margin-left: 6px;
}

/*
 * 1. Because this is a UL, it requires some modification of left margin in addition
 * to the bottom margin the design calls for. We are pulling the left margin negative
 * so we can add left padding to the individual detail bubbles (which allows us to
 * fit more content on one line than adding right margin).
 * 2. Speaking of which, the bottom margin equals out to `6px` instead of `12px`
 * because there's bottom margin on the individual elements, which does not collapse
 * in flexbox like in block-level formatting.
 */
.vendor-card__additional-details {
  display: flex;
  flex-wrap: wrap;
  list-style: none;
  margin: 0 0 6px -6px; /* 1 */ /* 2 */
}

.vendor-card__additional-details--variant {
  flex-direction: column;
  align-items: flex-start;
}

/*
 * 1. Done in combination with the negative left margin above so that
 * we can fit more content on one line.
 * Before: https://i.imgur.com/LN186vE.png
 * After: https://i.imgur.com/DZfCRNP.png
 * 2. Done so that super-long category names don't overflow badly.
 * Before: https://i.imgur.com/BcLvHhr.png
 * After: https://i.imgur.com/Ji2Cmnk.png
 */
.vendor-card__additional-detail {
  display: flex;
  align-items: center;
  padding: 0 6px;
  margin: 0 0 6px 6px; /* 1 */
  font-size: 12px;
  line-height: 20px;
  background-color: #f0f0f0;
  color: #71717a;
  border-radius: 15px;
  max-width: 100%; /* 1 */
  white-space: nowrap; /* 1 */
  overflow: hidden; /* 1 */
  text-overflow: ellipsis; /* 1 */
}

.vendor-card__additional-detail--verified-bookings {
  color: #02c0a3;
}

/*
 * 1. Simulates an <hr> separating the details from the text.
 */
.vendor-card__description {
  padding-top: 12px; /* 1 */
  border-top: 1px solid #efefef; /* 1 */
}
.vendor-card__description p {
  font-size: 12px;
  line-height: 20px;
  color: #71717a;
  margin-bottom: 24px;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  /* autoprefixer: ignore next */ /* 1 */
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.vendor-card__content-footer {
  margin-top: auto;
}

/*
 * 1. We normally don't want to modify the default button styles with small touches,
 * but this is a special situation that can afford diversion. !important required
 * to override a nested Foundation style.
 * 2. Arbitrary, but this is what it was in the mockup. We might want, or need, to
 * change this implementation when we implement response rate.
 */
.vendor-card__quote-button {
  width: 100%;
  padding: 10px !important; /* 1 */
  margin-bottom: 0;
}

/*
 * 1. We want this element to have height even when it has no content.
 * 2. When the "response time" element is present in the vendor card the
 * desired bottom padding changes from 12px to 6px. To achieve this without
 * adjusting styles on the vendor card itself we can use a negative margin.
 * A benefit is if we ever remove or change this we can adjust this one place.
 */
@media print, screen and (min-width: 48.0625em) {
  .vendor-card__median-response-time {
    min-height: 24px; /* 1 */
  }
}
.vendor-card__median-response-time {
  margin-bottom: -6px; /* 2 */
}

/* ------------------------------------ *\
	$RATING BLOCK
\* ------------------------------------ */
/*
 * For displaying vendor reviews + other accolades when relevant (like Verified Bookings
 * or Top Performer and Featured status).
 *
 * Can be used around the site where necessary.
 */
.vendor-ratings {
  display: flex;
  flex-flow: wrap;
  font-weight: 700;
  font-size: 14px;
}
@media print, screen and (max-width: 48.06125em) {
  .vendor-ratings--profile-head {
    flex-direction: column;
  }
}

.vendor-ratings__reviews {
  display: flex;
  -moz-column-gap: 0.25rem;
       column-gap: 0.25rem;
  align-items: center;
  font-weight: 700;
}
.vendor-ratings__reviews img {
  width: 16px;
  height: 16px;
  margin-right: 4px;
}

.vendor-ratings__rating-count {
  font-weight: normal;
}

.vendor-ratings__banners {
  display: flex;
}
.vendor-ratings__banners img {
  margin-right: 6px;
}
@media print, screen and (max-width: 48.06125em) {
  .vendor-ratings__banners {
    margin-top: 12px;
  }
}
@media print, screen and (min-width: 48.0625em) {
  .vendor-ratings__banners {
    margin-left: 12px;
  }
}

.vendor-ratings__verified-review {
  font-size: 12px;
  font-weight: 600;
  color: #40d5b4;
  margin-left: 4px;
}

/* ------------------------------------ *\
	$ABOUT PAGE
\* ------------------------------------ */
.about-card {
  margin-bottom: 24px;
  background-size: 100%;
  background-repeat: no-repeat;
  position: relative;
}
.about-card .about-card__title {
  top: 0.5em;
}
.about-card:hover .about-card__content {
  opacity: 100;
}
.about-card:hover .about-card__caret::after {
  top: -5px;
  opacity: 100;
}
.about-card:hover .about-card__bio {
  opacity: 100;
  max-height: 800px;
  margin-top: 15px;
  padding: 15px;
}

@media (max-width: 768px) and (min-width: 321px) {
  .about-card {
    max-width: 310px;
    margin-left: auto;
    margin-right: auto;
  }
}
@media (max-width: 768px) {
  .about-card__content {
    opacity: 100;
  }
  .about-card__title {
    top: 0.5em;
  }
  .about-card__caret::after {
    top: -5px;
    opacity: 100;
  }
  .about-card__bio {
    opacity: 100;
    max-height: 800px;
    margin-top: 15px;
    padding: 14px;
  }
}
.about-card__content {
  opacity: 0;
  transition: opacity 0.6s;
  position: relative;
}

.about-card__fade {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 312px;
  background-image: url("/images/about/about-gradient.png");
  background-repeat: repeat-x;
}

.about-card__title {
  position: absolute;
  top: 0.75em;
  left: 0.5em;
  transition: top 0.6s ease-in;
  padding: 10px;
}

.about-card__title__name {
  line-height: 1em;
  margin: 0;
}

.about-card__caret {
  height: 0;
  width: 100%;
  margin: 0;
  padding: 0;
}
.about-card__caret::after {
  display: block;
  width: 0;
  height: 0;
  content: "";
  position: relative;
  top: -20px;
  left: 50%;
  margin-left: -10px;
  border: solid 10px;
  border-color: transparent transparent #ffffff;
  border-bottom-style: dashed;
  opacity: 0;
  transition: all 0.4s cubic-bezier(0.2, 0.3, 0.25, 0.9);
}

.about-card__bio {
  opacity: 0;
  max-height: 0;
  margin-top: 0;
  background-color: #ffffff;
  overflow: hidden;
  padding: 0 14px;
  transition: all 0.4s cubic-bezier(0.2, 0.3, 0.25, 0.9);
}
.about-card__bio span {
  font-size: 14px;
}

.about-card__bio__main-text {
  margin-bottom: 12px;
}

.about-card__bio__detail-text {
  font-size: 12px;
  color: #4e027c;
}

/**
 * About Page Manifesto Numbers
 */
.manifesto__numbers {
  display: inline-block;
  vertical-align: middle;
}

@media (max-width: 768px) {
  .manifesto__numbers {
    visibility: hidden;
    height: 0;
  }
}
.manifesto__number {
  position: relative;
  transition: all 0.3s ease-in-out;
  float: left;
  margin: 0 12px;
  height: 48px;
  background-image: url("/images/numbers-sprite.png");
  background-repeat: no-repeat;
}
.manifesto__number:last-child {
  margin-right: 0;
}

.manifesto__number--1 {
  width: 44px;
  background-position: 0 -3px;
}
.manifesto__number--1.js-hover-toggle--active {
  background-position: 0 -61px;
}

.manifesto__number--2 {
  width: 64px;
  background-position: -73px -3px;
}
.manifesto__number--2.js-hover-toggle--active {
  background-position: -73px -61px;
}

.manifesto__number--3 {
  width: 63px;
  background-position: -168px -3px;
}
.manifesto__number--3.js-hover-toggle--active {
  background-position: -168px -61px;
}

.manifesto__number--4 {
  width: 74px;
  background-position: -262px -3px;
}
.manifesto__number--4.js-hover-toggle--active {
  background-position: -262px -61px;
}

.manifesto__number--5 {
  width: 65px;
  background-position: -367px -3px;
}
.manifesto__number--5.js-hover-toggle--active {
  background-position: -367px -61px;
}

.manifesto__number--6 {
  width: 63px;
  background-position: -463px -3px;
}
.manifesto__number--6.js-hover-toggle--active {
  background-position: -463px -61px;
}

.manifesto__number--7 {
  width: 62px;
  background-position: -557px -3px;
}
.manifesto__number--7.js-hover-toggle--active {
  background-position: -557px -61px;
}

.manifesto__number--8 {
  width: 66px;
  background-position: -651px -3px;
}
.manifesto__number--8.js-hover-toggle--active {
  background-position: -651px -61px;
}

.manifesto__number--9 {
  width: 63px;
  background-position: -749px -3px;
}
.manifesto__number--9.js-hover-toggle--active {
  background-position: -749px -61px;
}

.manifesto__number--10 {
  width: 115px;
  background-position: -843px -3px;
}
.manifesto__number--10.js-hover-toggle--active {
  background-position: -843px -61px;
}

.manifesto__text {
  margin-top: 24px;
  padding: 24px;
  padding: 1.5rem;
  background: #56afc2;
  color: #ffffff;
  font-size: 24px;
  line-height: 1.6;
}

.js-hover-toggle--active::after {
  display: block;
  width: 0;
  height: 0;
  content: "";
  position: absolute;
  top: 53px;
  left: 50%;
  margin-left: -10px;
  border: solid 10px;
  border-color: transparent transparent #56afc2;
  border-bottom-style: dashed;
}

/* ------------------------------------ *\
	$CATEGORY LISTINGS
	* Grandparent category, parent category, and category pages such as:
	* /book-music
	* /Music-Groups
	* /Variety/Face-Painter
\* ------------------------------------ */
@media (max-width: 768px) {
  .category-listing__heading {
    display: block;
    margin-bottom: 8px;
    width: 100% !important;
  }
}

/*
 * 1. Override the generic `[class*="icon--"]:hover` since we don't want it for these icons.
 */
.category-listing__icon {
  display: inline-block;
  padding: 10px;
  border-radius: 1000px;
  font-size: 36px;
  background-color: #ffffff;
  color: #3f3f46;
}
.category-listing__icon:hover {
  color: #3f3f46; /* 1 */
}
@media (max-width: 768px) {
  .category-listing__icon {
    margin-bottom: 8px;
  }
}
@media (min-width: 769px) {
  .category-listing__icon {
    margin-right: 6px;
  }
}
@media (min-width: 769px) and (max-width: 1000px) {
  .category-listing__icon {
    margin-right: 1px;
    padding: 5px;
    font-size: 26px;
  }
}

.category-listing__title {
  font-size: 15px;
  text-transform: uppercase;
  letter-spacing: 1px;
  margin: 0;
}
@media (min-width: 769px) {
  .category-listing__title {
    display: inline-block;
    font-size: 12px;
    max-width: 78px;
    vertical-align: middle;
  }
}

.transparent-search {
  background-color: transparent;
  border: 0;
}

/*
 * 1. To ensure the category image within doesn't overflow the container.
 */
.category-header {
  overflow: hidden; /* 1 */
}

/*
 * The vertically centered category image, ala:
 * https://i.imgur.com/sfdJYOL.png
 * Not vertically centered at small sizes. Horizontally centered!
 */
@media screen and (max-width: 62.4375em) {
  .category-header__category-image {
    position: relative;
    left: 50%;
    transform: translateX(-50%);
    margin-top: 48px;
    margin-bottom: -24px;
    border-radius: 9999px;
  }
}
@media screen and (min-width: 62.5em) {
  .category-header__category-image {
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    height: 100%;
  }
}

/* ------------------------------------ *\
	$CATEGORY BLOGS
\* ------------------------------------ */
.category-blogs__header {
  font-weight: 700;
  padding-top: 48px;
  font-size: 26px;
}

.category-blogs {
  display: flex;
  flex-wrap: wrap;
  margin: 0 0 24px 0;
  justify-content: center;
}
@media (max-width: 768px) {
  .category-blogs {
    padding-bottom: 24px;
    margin-bottom: 48px;
  }
}

.category-blog-slider {
  /* overriding some slider styling */
}
.category-blog-slider .slick-track {
  margin-left: auto;
  margin-right: auto;
}
.category-blog-slider .slick-dots {
  display: flex;
  justify-content: center;
  list-style-type: none;
  margin-top: 12px;
}
.category-blog-slider .slick-dots li {
  margin: 0 3px;
}
.category-blog-slider .slick-dots button {
  display: block;
  width: 9px;
  height: 9px;
  background-color: #71717a;
  opacity: 0.25;
  text-indent: -9999px;
}
.category-blog-slider .slick-dots li.slick-active button {
  background-color: #71717a;
  opacity: 0.5;
}

.category-blog__container {
  border-radius: 8px;
  margin: 0 12px 12px;
  height: 100%;
  position: relative;
  background-color: #ffffff;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.16);
}
@media print, screen and (max-width: 48.06125em) {
  .category-blog__container {
    max-width: 300px;
  }
}

.category-blog__image-title {
  display: flex;
  align-items: flex-end;
  border-radius: 8px 8px 0 0;
  height: 186px;
  width: 100%;
  background-size: cover;
  background-repeat: no-repeat;
}

.category-blog__title {
  font-weight: 700;
  font-size: 16px;
  line-height: 24px;
  text-align: left;
  color: #ffffff;
  padding: 0 12px 12px;
  text-shadow: 0 2px 2px rgba(0, 0, 0, 0.25);
}

.category-blog__authors-preview {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 12px;
}
.category-blog__authors-preview p {
  display: -webkit-box;
  -webkit-line-clamp: 4;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
@media print, screen and (max-width: 48.06125em) {
  .category-blog__authors-preview p {
    display: -webkit-box;
    -webkit-line-clamp: 5;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }
}

.category-blog__authors {
  font-size: 12px;
  line-height: 18px;
  color: #a1a1aa;
}

.category-blog__preview {
  font-size: 14px;
  line-height: 24px;
  color: #3f3f46;
  text-align: left;
  width: 100%;
}

/* ------------------------------------ *\
	$CONTACT US
\* ------------------------------------ */
/* ------------------------------------ *\
	$HOME CONTENT
\* ------------------------------------ */
/*
 * https://codepen.io/chriswrightdesign/pen/emQNGZ/
 */
.ie-flex-fix {
  display: flex;
  width: 100%;
}

/*
 * 1. So we can absolutely position the image to the left of the container.
 */
.home__header-container {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  margin-top: 24px;
}
.ie-flex-fix .home__header-container {
  width: 100%;
}
@media (min-width: 960px) {
  .home__header-container {
    min-height: 675px;
  }
}
/*
 * The rotating images in the header.
 * Animation technique taken from the following:
 * http://css3.bradshawenterprises.com/cfimg/
 *
 * When adding or removing images to the animation, the algorithm from
 * "Demo with multiple images" will be modified.
 *
 * 1. So you can't see behind the image to other images while they're loading.
 * 2. Only start the animation after all images are fully loaded.
 * 3. To ensure the images sit at the bottom of the container.
 */
@keyframes multiple-item-crossfade {
  0% {
    opacity: 1;
  }
  9.25% {
    opacity: 1;
  }
  12.5% {
    opacity: 0;
  }
  96.75% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
.home__rotating-images {
  position: relative;
}
@media (max-width: 959px) {
  .home__rotating-images {
    position: absolute;
    left: 50%;
    bottom: 0;
    width: 223px;
    height: 358px;
    transform: translateX(-50%);
  }
}
.home__rotating-images span {
  position: absolute;
  background: #ffffff; /* 1 */
}
.loaded .home__rotating-images span { /* 2 */
  animation-name: multiple-item-crossfade;
  animation-iteration-count: infinite;
  animation-duration: 20s;
}
@media (max-width: 959px) {
  .home__rotating-images span {
    width: 100%; /* 1 */
    height: 100%;
    overflow: hidden;
  }
  .home__rotating-images span img {
    position: absolute; /* 3 */
    bottom: 0; /* 3 */
  }
}
@media (min-width: 960px) {
  .home__rotating-images span {
    height: 675px; /* 1 */
    width: 48%; /* 1 */
    text-align: center;
  }
}
.home__rotating-images span {
  /*
   * Will output the animation timing we need for the various items. For instance:
   *
   * &:nth-of-type(1) {
   * 	animation-delay: 10s
   * }
   * &:nth-of-type(2) {
   * 	animation-delay: 8s
   * }
   *
   * and on.
   *
   */
}
.home__rotating-images span:nth-of-type(1) {
  animation-delay: 17.5s;
}
.home__rotating-images span:nth-of-type(2) {
  animation-delay: 15s;
}
.home__rotating-images span:nth-of-type(3) {
  animation-delay: 12.5s;
}
.home__rotating-images span:nth-of-type(4) {
  animation-delay: 10s;
}
.home__rotating-images span:nth-of-type(5) {
  animation-delay: 7.5s;
}
.home__rotating-images span:nth-of-type(6) {
  animation-delay: 5s;
}
.home__rotating-images span:nth-of-type(7) {
  animation-delay: 2.5s;
}
.home__rotating-images span:nth-of-type(8) {
  animation-delay: 0s;
}

/*
 * Animation specifications for the funerals landing page (/funerals), which has fewer rotating images than the homepage.
 */
@keyframes multiple-item-crossfade--funerals {
  0% {
    opacity: 1;
  }
  18.5% {
    opacity: 1;
  }
  25% {
    opacity: 0;
  }
  93.5% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
/*
 * 1. Temporarily disable the animations until we find more stock photos for
 * the categories we don't yet have. This is protection against us not finding
 * any stock photos in time.
 */
.loaded .home__rotating-images--funerals span {
  animation: none; /* 1 */
  animation-iteration-count: infinite;
  animation-duration: 10s;
}
.home__rotating-images--funerals span:nth-of-type(1) {
  animation-delay: 7.5s;
}
.home__rotating-images--funerals span:nth-of-type(2) {
  animation-delay: 5s;
}
.home__rotating-images--funerals span:nth-of-type(3) {
  animation-delay: 2.5s;
}
.home__rotating-images--funerals span:nth-of-type(4) {
  animation-delay: 0s;
}

/*
 * The text in the header.
 *
 * 1. On small sizes, add lots of margin below the heading. This space
 * will be used for the portraits.
 */
.home__header-text-container {
  align-self: center;
}
@media (max-width: 959px) {
  .home__header-text-container {
    margin-bottom: 264px; /* 1 */
    text-align: center;
  }
}
@media (min-width: 960px) and (max-width: 1099px) {
  .home__header-text-container {
    align-self: flex-end;
    width: 40%;
  }
}
@media (min-width: 1100px) {
  .home__header-text-container {
    align-self: flex-end;
    width: 42%;
  }
}

/*
 * 1. A magic number intended to fix this problem on Linux machines (at least Locke's):
 * http://i.imgur.com/JN8bq4g.png
 * 2. A magic number so the variable text doesn't overflow its container.
 * 3. Only start the animation after all images are fully loaded.
 */
.home__header-text {
  line-height: 1.15em; /* 1 */
  font-weight: 700;
}
@media (max-width: 959px) {
  .home__header-text {
    font-size: 26px;
    max-width: 235px; /* 2 */
  }
}

.home__header-text-trademark-symbol {
  top: -1.6em;
  font-size: 13px;
}
@media (max-width: 959px) {
  .home__header-text-trademark-symbol {
    top: -0.8em;
    font-size: 12px;
  }
}

.home__header-crawl {
  max-width: 405px;
}
@media (max-width: 959px) {
  .home__header-crawl {
    display: none;
  }
}

.home__search-form {
  display: none;
}
@media (min-width: 960px) {
  .home__search-form {
    display: block;
  }
}

/*
 * 1. Apply proper spacing below and above this mofo!
 */
.home__search-container {
  position: relative;
  margin: 24px 0 72px;
}

/*
 * 1. Vertically center the icon in its parent container.
 * 2. When the main search input is focused, change the color of the magnifying glass.
 */
.home__search-input-icon {
  position: absolute;
  left: 30px;
  top: 50%; /* 1 */
  transform: translateY(-50%); /* 1 */
  width: 18px;
  height: 18px;
  transition: color 0.25s ease-out;
}
input:focus + .home__search-input-icon {
  color: #4e027c;
}

/*
 * 1. Resetting the transition here because otherwise, the border and the
 * background-color transition in an unequal way, creating a strange look:
 * http://i.imgur.com/iwBuNaG.gifv
 */
.home__search-input {
  height: 80px;
  font-size: 16px;
  padding-left: 68px;
  border-color: transparent;
  background-color: rgba(236, 240, 244, 0.9);
  margin: 0;
}
.home__search-input:focus {
  background-color: rgba(255, 255, 255, 0.9);
}
.home__search-input::-moz-placeholder {
  color: rgba(61, 70, 77, 0.6);
}
.home__search-input::placeholder {
  color: rgba(61, 70, 77, 0.6);
}

.home__search-icon {
  position: absolute;
  left: 32px;
  top: 50%;
  transform: translateY(-50%);
  height: 18px;
  width: 18px;
  pointer-events: none;
  filter: invert(20%) sepia(2%) saturate(3307%) hue-rotate(202deg) brightness(98%) contrast(83%);
}

/*
 * 1. Vertically center the button in its parent container.
 */
.home__search-input-button {
  position: absolute;
  top: 50%; /* 1 */
  transform: translateY(-50%); /* 1 */
  right: 15px;
  margin-bottom: 0;
}

/*
 * The section with the dummy search form that only appears on mobile devices.
 */
.home__dummy-search-section {
  background: #ffffff;
  border-top: 1px solid #dedfe0;
  padding: 24px;
}
@media (min-width: 960px) {
  .home__dummy-search-section {
    display: none;
  }
}

/*
 * This dummy search input looks like a real search input, but when clicking it,
 * the mobile-friendly search modal should come up.
 */
.dummy-search-container {
  position: relative;
}

.dummy-search-input {
  height: 48px;
  font-size: 16px;
  background-color: rgba(236, 240, 244, 0.9);
}

.dummy-search-text {
  position: absolute;
  left: 20px;
  top: 50%;
  transform: translateY(-50%);
  opacity: 0.6;
}

.dummy-search-icon {
  position: absolute;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
  filter: invert(20%) sepia(2%) saturate(3307%) hue-rotate(202deg) brightness(98%) contrast(83%);
}

/* ------------------------------------ *\
	$GENERIC HOME PAGE HELPER STYLES
\* ------------------------------------ */
/*
 * Eventually, these may be made site-wide. For now, I'm not sure if they're
 * going to be used in other designs.
 */
.home__section-padding {
  padding: 72px 0;
}

.home__section-grey {
  background-color: #fafafa;
}

.home__constrained-header {
  max-width: 440px;
  margin: 0 auto;
  text-align: center;
}

/* ------------------------------------ *\
	$PERFORMER IMAGE SLIDER SECTION
\* ------------------------------------ */
/*
 * The background + image that slides forever.
 *
 * 1. If we want to make this a proportional aspect ratio, rather than a hard-set
 * value, we can use `width: 100%` and a `padding-bottom`, rather than `height: 660px`.
 * 2. The grey background strip of color.
 * 3. We are doing this as a pseudo element, and using `transform` instead of
 * animating `background-position`, so that the animation performs better.
 * 4. Pseudo elements are inline by default, but inline elements can't be `transform`ed. As a result, we need this.
 */
.home__performer-slider {
  height: 660px; /* 1 */
  position: relative;
  overflow: hidden;
}
.home__performer-slider::before { /* 2 */
  content: "";
  background-color: #fafafa;
  height: 168px;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
}
.home__performer-slider::after { /* 3 */
  content: "";
  display: block; /* 4 */
  background-image: url("/images/performer-scroll-profiles.png");
  background-size: auto;
  background-repeat: repeat-x;
  background-position: 0% 0%;
  width: 8000px;
  height: 660px;
  animation: performer-slider-profiles 120s linear infinite;
}

/*
 * 1. This number is the exact same as the width of `performer-scroll-profiles.png`.
 * This is done so that the image has the appearance of infinitely repeating.
 * If the width of that image changes, change this.
 */
@keyframes performer-slider-profiles {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-4700px); /* 1 */
  }
}
.home__performer-static {
  height: 500px;
  background-image: url("/images/portraits/violinist--421w.jpg");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}

/* ------------------------------------ *\
	$JOIN OPTION SECTION
\* ------------------------------------ */
/*
 * This whole thing turned out gnarly and could be rewritten to be
 * simpler. In the interest of a first draft, and getting the redesign
 * out in the wild, it works. (johnbacon)
 */
.home__join-section {
  padding-top: 96px;
  padding-bottom: 48px;
  background-color: #fafafa;
}
.home__join-section .card {
  padding: 24px;
}
.home__join-section .card-section {
  max-width: 80%;
}
@media print, screen and (max-width: 48.06125em) {
  .home__join-section .card-section {
    max-width: 90%;
  }
}

.home__join-section-icon {
  margin-bottom: 6px;
}
.home__join-section-icon path {
  transition: all 0.25s ease-out;
}
.card:hover .home__join-section-icon .lightning-outline {
  fill: #4e027c;
}
.card:hover .home__join-section-icon .lightning-fill {
  fill: #dfefff;
}
.card:hover .home__join-section-icon .clipboard-outline {
  fill: #4e027c;
}
.card:hover .home__join-section-icon .clipboard-fill {
  fill: #dfefff;
}

/*
 * 1. Hard set value to ensure that the arrows of both sections are in the same location.
 */
.home__join-section-card-arrow {
  position: absolute;
  top: 156px; /* 1 */
  right: 10%;
  transform: rotate(270deg) translateY(0%);
  width: 24px;
  height: 24px;
  color: #d9dbdc;
}
a:hover .home__join-section-card-arrow {
  transform: rotate(270deg) translateY(35%);
}

.home__join-section-card-arrow,
.home__join-section-card-headline {
  transition: all 0.25s ease-out;
}
a:hover .home__join-section-card-arrow,
a:hover .home__join-section-card-headline {
  color: #4e027c;
}

/* ------------------------------------ *\
	$TESTIMONIAL LOGOS SECTION
\* ------------------------------------ */
.customer-logos-grid {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-around;
}

.customer-logos-grid__image-container {
  flex: 0 0 40%;
  flex-basis: 21%;
  margin-bottom: 72px;
  text-align: center;
}
@media print, screen and (max-width: 48.06125em) {
  .customer-logos-grid__image-container {
    flex-basis: 40%;
  }
}
.customer-logos-grid__image-container:last-child {
  margin-right: 0;
}
.customer-logos-grid__image-container img {
  max-width: 150px;
}

/* ------------------------------------ *\
	$FEATURE LIST SECTION
\* ------------------------------------ */
@media screen and (min-width: 65em) {
  .feature-list-background {
    position: relative;
  }
  .feature-list-background::before {
    content: "";
    display: block;
    background-image: url("/images/browse-book-enjoy-pk-cards.jpg");
    background-repeat: no-repeat;
    background-position: center;
    position: absolute;
    top: -10%;
    right: -23%;
    height: 817px;
    width: 1074px;
    z-index: -1;
  }
}

.feature-list {
  display: flex;
  align-items: center;
  margin-bottom: 48px;
}

/*
 * 1. Don't show this thing (instead show the background image) at certain sizes.
 */
.feature-list__side-image {
  text-align: center;
}
@media print, screen and (max-width: 59.99875em) {
  .feature-list__side-image {
    margin-bottom: 48px;
  }
}

.feature-list__icon {
  margin-right: 40px;
  flex-shrink: 0;
}

.feature-list__heading {
  margin-bottom: 3px;
}

/* ------------------------------------ *\
	$CATEGORY SLIDER SECTION
\* ------------------------------------ */
/*
 * 1. So that the line breaks where we want it to.
 */
.category-slider-header {
  max-width: 380px; /* 1 */
  text-align: center;
  margin: 0 auto 36px;
}

.category-slider-subheader {
  text-align: center;
  margin-bottom: 24px;
}

/*
 * 1. Used to simulate the centering of the various slider items.
 * There may be a better way to do this.
 */
.category-slider {
  display: flex;
  display: hidden;
  flex-wrap: wrap;
  margin: 0 auto 60px;
  padding-left: 17px; /* 1 */
  padding-right: 17px;
}
@media print, screen and (max-width: 48.06125em) {
  .category-slider {
    padding-left: 12px; /* 1 */
  }
}

.category-slider__previous-arrow,
.category-slider__next-arrow {
  position: absolute;
  width: 20px;
  height: 20px;
  opacity: 0.25;
}
.category-slider__previous-arrow:hover, .category-slider__previous-arrow:active, .category-slider__previous-arrow:focus,
.category-slider__next-arrow:hover,
.category-slider__next-arrow:active,
.category-slider__next-arrow:focus {
  opacity: 0.5;
  outline: none;
}

/*
 * 1. Vertically center the two left and right arrows.
 */
.category-slider__previous-arrow {
  left: -24px;
  top: 43%; /* 1 */
  transform: rotate(90deg);
}
@media screen and (max-width: 87.5em) {
  .category-slider__previous-arrow {
    left: 0%;
  }
}
@media print, screen and (max-width: 48.06125em) {
  .category-slider__previous-arrow {
    left: -10px;
  }
}

.category-slider__next-arrow {
  right: -24px;
  top: 43%; /* 1 */
  transform: rotate(270deg);
}
@media screen and (max-width: 87.5em) {
  .category-slider__next-arrow {
    right: 0%;
  }
}
@media print, screen and (max-width: 48.06125em) {
  .category-slider__next-arrow {
    right: -10px;
  }
}

/**
 * * Settings here are for use with the new link structure on the homepage and the
 * * media values coincide with the settings in "inline_js/home.php"
 */
.category-row {
  max-width: 1276px;
}
@media screen and (max-width: 87.5em) {
  .category-row .category-slider {
    padding-right: 34px;
  }
}
@media screen and (max-width: 63.75em) {
  .category-row .category-slider {
    padding-left: 12px;
    padding-right: 12px;
  }
}

.category-card {
  background: transparent;
  background-color: #f7f9fa;
  height: 275px;
  border-radius: 8px;
  margin-left: 12px;
  margin-right: 12px;
  perspective: 1000px;
}
@media screen and (min-width: 87.5625em) {
  .category-card {
    height: 275px;
    width: 275px;
  }
}
@media screen and (max-width: 87.5em) {
  .category-card {
    height: 275px;
    width: auto;
  }
}
@media screen and (max-width: 37.5em) {
  .category-card {
    /* When we are only one card wide we want the height to be based on the screen width */
    height: 75vw;
  }
}
.category-card, .category-card *, .category-card *:hover, .category-card *:active, .category-card *:focus {
  outline: none;
}
.category-card.flipped .category-card__inner-wrapper {
  transform: rotateY(180deg);
}
.category-card.flipped.reverse .category-card__inner-wrapper {
  transform: rotateY(-180deg);
}
.category-card a {
  font-size: 14px;
  line-height: 24px;
  display: block;
  font-weight: 400;
}
.category-card button {
  position: absolute;
  padding: 0;
  margin: 0;
  top: 22px;
  left: 15px;
  background: none;
  border: 0;
  cursor: pointer;
}

.category-card__inner-wrapper {
  position: relative;
  width: 100%;
  height: 100%;
  max-width: 100%;
  max-height: 100%;
  text-align: center;
  transition: transform 0.4s;
  transform-style: preserve-3d;
}

.category-card__front, .category-card__back {
  position: absolute;
  width: 100%;
  height: 100%;
  max-width: 100%;
  max-height: 100%;
  overflow: hidden;
  backface-visibility: hidden;
  text-align: center;
  border-radius: 8px;
}

.category-card__front {
  background-color: #f7f9fa;
  color: #000000;
  cursor: pointer;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}
.category-card__front h4,
.category-card__front p {
  color: #ffffff;
  max-width: 225px;
  margin: 0;
  padding: 0;
  margin-left: auto;
  margin-right: auto;
}
.category-card__front h4 {
  text-shadow: 0 2px 6px rgba(0, 0, 0, 0.5);
  font-size: 18px;
  font-weight: 700;
  line-height: 21px;
  margin-bottom: 6px;
}
.category-card__front p {
  font-size: 16px;
  line-height: 24px;
  margin-bottom: 24px;
}

.category-card__front-copy {
  background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.75) 100%);
  border-radius: 8px;
  height: 50%;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}

.category-card__back {
  background-color: #ffffff;
  color: #3f3f46; /* TODO: Use a linter to catch when keywords should be used instead (like in this instance) */
  transform: rotateY(180deg);
}
.category-card__back h4 {
  font-weight: 700;
  font-size: 18px;
  line-height: 23px;
  padding: 0;
  margin: 0;
  padding-top: 16px;
  margin-bottom: 6px;
  grid-row: 1/span 1;
}
.category-card__back a {
  color: #4e027c;
  font-size: 14px;
  line-height: 24px;
}
.category-card__back a.all {
  display: block;
  color: #4e027c;
  font-size: 16px;
  font-weight: 700;
  line-height: 20px;
  margin-top: 6px;
  grid-row: 3/span 1;
}

.category-card__back-content {
  display: grid;
  grid-template-rows: auto 1fr auto;
  max-height: 100%;
  max-width: 100%;
  height: calc(100% - 16px);
}

/*
 * 1. Padding-left is here at non-small sizes to account for the presence of
 * the scroll bar on the right. (Helps center the content.)
 */
.category-card__back-links {
  grid-row: 2/span 1;
  max-height: 100%;
  max-width: 100%;
  overflow-y: auto;
  position: relative;
}
@media print, screen and (min-width: 48.0625em) {
  .category-card__back-links {
    padding-left: 17px; /* 1 */
  }
}

.category-card__back-links--no-scroll {
  padding-right: 17px;
}

/*
 * !important is necessary to override the Slick slider settings.
 *
 * 1. Required for the proper color to appear when underlining this hover state.
 * 2. At small sizes, this effectively makes the category slider items larger.
 */
.category-slider__item {
  position: relative;
  height: 156px;
  margin-right: 40px;
}
.category-slider__item:hover, .category-slider__item:focus {
  color: #ffffff;
}
@media print, screen and (max-width: 48.06125em) {
  .category-slider__item {
    margin-right: 15px; /* 2 */
  }
}

.category-slider__image-container {
  position: absolute;
  min-width: 100%;
  height: auto;
}
.category-slider__image-container::after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(36, 42, 46, 0.4);
}

.category-slider__image {
  height: 100%;
  width: 100%;
}

.category-slider__text {
  color: #ffffff;
  text-align: center;
  margin-bottom: 0;
  width: 100%;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}

.category-slider__left-arrow,
.category-slider__right-arrow {
  width: 24px;
  height: 24px;
}

.category-slider__left-arrow {
  transform: rotate(90deg);
}

.category-slider__right-arrow {
  transform: rotate(270deg);
}

/* ------------------------------------ *\
	$INSTANT BOOKING PAGE/FORM
\* ------------------------------------ */
/*
 * 1. Ensure this sits above the content on the page, but below the site header.
 */
.instant-booking__small-header {
  display: flex;
  align-items: center;
  background-color: #ffffff;
  box-shadow: 0 0 30px 0 rgba(61, 70, 77, 0.06);
  margin-bottom: 24px;
  position: sticky;
  top: 0;
  z-index: 1; /* 1 */
}
@media print, screen and (min-width: 48.0625em) {
  .instant-booking__small-header {
    display: none;
  }
}

/* ------------------------------------ *\
	$INSTANT BOOKING SIDEBAR
\* ------------------------------------ */
/*
 * The instant booking summary section.
 *
 * 1. When instant booking wasn't step-by-step, this
 * was a sticky sidebar. But we've since removed that
 * for the step-by-step implementation.
 */
.instant-booking__sidebar {
  margin-bottom: 24px;
  max-width: 360px;
}

.instant-booking__event-information-header {
  font-weight: 700;
  margin-bottom: 8px;
}

.instant-booking__event-information-row {
  display: flex;
  font-size: 12px;
  margin-top: 0 !important;
}

.instant-booking__event-information-title {
  flex-shrink: 0;
}

.instant-booking__event-information-answer {
  margin-left: auto;
  padding-left: 24px;
}

/* ------------------------------------ *\
	$JOIN PAGE CONTENT
\* ------------------------------------ */
@media print, screen and (max-width: 59.99875em) {
  .flickity-button {
    display: none;
  }
}

@media print, screen and (min-width: 60em) {
  .flickity-page-dots {
    display: none;
  }
}
@media print, screen and (max-width: 59.99875em) {
  .flickity-page-dots {
    bottom: 0 !important;
  }
}

.flickity-page-dots .dot {
  width: 9px !important;
  height: 9px !important;
  margin: 0 6px !important;
  background: linear-gradient(0deg, rgba(255, 255, 255, 0.75), rgba(255, 255, 255, 0.75)), #71717a !important;
  opacity: 1 !important;
}

.flickity-page-dots .dot.is-selected {
  background: linear-gradient(0deg, rgba(255, 255, 255, 0.5), rgba(255, 255, 255, 0.5)), #71717a !important;
}

.flickity-prev-next-button {
  width: 36px !important;
  height: 36px !important;
  filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.24));
}
.flickity-prev-next-button.previous {
  left: -11px !important;
}
.flickity-prev-next-button.next {
  right: -14px !important;
}

.flickity-button-icon {
  left: 27% !important;
  top: 30% !important;
  width: 40% !important;
  height: 40% !important;
}

@media print, screen and (min-width: 60em) {
  .mobile-fixed-menu {
    display: none;
  }
}
.mobile-fixed-menu {
  display: flex;
  background: #ffffff;
  top: 0;
  left: 0;
  width: 100%;
  height: 60px;
  z-index: 9;
  padding: 0 12px;
  justify-content: left;
  align-items: center;
  overflow: auto;
  white-space: nowrap;
  box-shadow: 0 7px 14px rgba(0, 17, 35, 0.03), 0 3px 6px rgba(0, 0, 0, 0.03);
}

@media print, screen and (max-width: 59.99875em) {
  .mobile-fixed-menu__spacer {
    margin-bottom: 60px;
  }
}

.mobile-fixed-menu__link {
  padding: 0 12px;
  font-size: 14px;
  line-height: 24px;
  color: rgba(61, 70, 77, 0.5);
}

.mobile-fixed-menu__link--active {
  background: linear-gradient(0deg, rgba(255, 255, 255, 0.9), rgba(255, 255, 255, 0.9)), #4e027c;
  border-radius: 16px;
  color: #4e027c !important;
  padding: 6px 12px;
}

.join__sale-banner {
  background: #25944c;
}
@media print, screen and (min-width: 60em) {
  .join__sale-banner {
    margin-top: 0;
    position: absolute;
    top: 90px;
    z-index: 9;
    width: 100%;
  }
}
@media print, screen and (max-width: 59.99875em) {
  .join__sale-banner {
    position: absolute;
    width: 100%;
    top: 133px;
    z-index: 9;
  }
}

.join__sale-banner--desktop {
  margin-top: 0;
  position: absolute;
  top: 90px;
  z-index: 9;
  width: 100%;
}

.join__toggle-read-more {
  display: inline-block;
  margin-top: 6px;
}

.join__toggle-accordion {
  position: absolute;
  top: 30px;
  right: 30px;
}

.join__banner {
  position: relative;
}

.join__banner-image {
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
}
@media print, screen and (min-width: 60em) {
  .join__banner-image {
    -o-object-position: 0 25%;
       object-position: 0 25%;
    height: 600px;
  }
}
@media print, screen and (max-width: 59.99875em) {
  .join__banner-image {
    -o-object-position: 0 50%;
       object-position: 0 50%;
    max-height: 180px;
  }
}

.join__banner-image-container {
  position: relative;
}
@media print, screen and (max-width: 59.99875em) {
  .join__banner-image-container::after {
    position: absolute;
    left: 0;
    width: 100%;
    height: 100%;
    content: "";
    background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(2, 2, 2, 0.5) 100%);
  }
}

.join-form {
  background: #ffffff;
  border-radius: 8px;
  padding: 24px;
}
@media print, screen and (max-width: 59.99875em) {
  .join-form {
    position: relative;
    background-color: transparent;
    z-index: 1;
    padding: 24px 0;
  }
}
@media print, screen and (min-width: 60em) {
  .join-form {
    position: relative;
    float: right;
    width: 460px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.16);
  }
}

@media print, screen and (min-width: 60em) {
  .join-form__container {
    position: absolute;
    top: 11%;
    left: 0;
    right: 0;
    margin-left: auto;
    margin-right: auto;
  }
}

.join-form__header {
  text-align: center;
  font-size: 24px;
  line-height: 30px;
  font-weight: 700;
}
@media print, screen and (max-width: 59.99875em) {
  .join-form__header {
    margin-top: -112px;
    text-align: left;
    max-width: 250px;
    font-size: 26px;
    color: #ffffff;
    line-height: 33px;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.24);
  }
}

.join-form__description {
  line-height: 24px;
  margin-top: 24px;
}
@media print, screen and (max-width: 59.99875em) {
  .join-form__description {
    margin-top: 48px;
    margin-bottom: 24px;
  }
}

.join-form__leads-count {
  line-height: 30px;
  font-size: 24px;
  font-weight: 700;
}

.join-form__leads-description {
  margin-top: 0;
}

.join-sticky-form {
  opacity: 0;
  position: fixed;
  bottom: 0;
  width: 100%;
  background: #ffffff;
  box-shadow: 0 -4px 8px rgba(0, 0, 0, 0.16);
  z-index: 99;
  transition: all 250ms ease-out;
}
@media print, screen and (max-width: 59.99875em) {
  .join-sticky-form {
    display: none;
  }
}

.join-sticky-form__input-block {
  display: flex;
  flex-direction: column;
  margin-top: 12px;
}

.join__header {
  text-align: center;
  font-size: 24px;
  line-height: 30px;
  font-weight: 700;
  margin-bottom: 36px;
}
@media print, screen and (max-width: 59.99875em) {
  .join__header {
    margin-bottom: 24px;
  }
}

.join__list-item {
  display: inline-flex;
}
@media print, screen and (max-width: 59.99875em) {
  .join__list-item {
    padding-bottom: 24px;
  }
}

.join__list-item-number {
  flex-shrink: 0;
  text-align: center;
  line-height: 36px;
  width: 36px;
  height: 36px;
  background: linear-gradient(0deg, rgba(255, 255, 255, 0.75), rgba(255, 255, 255, 0.75)), #4e027c;
  color: #4e027c;
  font-weight: 700;
  border-radius: 999px;
}

.join__section {
  padding: 48px 0;
  background: rgba(61, 70, 77, 0.05);
}
@media print, screen and (max-width: 59.99875em) {
  .join__section {
    padding: 36px 0;
  }
}

@media print, screen and (max-width: 59.99875em) {
  .join__section--short {
    padding: 36px 0;
  }
}

.join__section--white {
  background: #ffffff;
}

.join__slim-row {
  max-width: 1032px;
}

@media print, screen and (min-width: 60em) {
  .join__steps-cta {
    display: none !important;
  }
}

.join__flickity-container {
  margin: 0 auto;
}
@media print, screen and (max-width: 59.99875em) {
  .join__flickity-container {
    margin: 0 -10px 0;
  }
}

@media print, screen and (max-width: 59.99875em) {
  .join__flickity-container--stat-cards {
    height: 192px;
  }
}

@media print, screen and (max-width: 59.99875em) {
  .join__flickity-container--pricing-cards {
    height: 606px;
  }
}

@media print, screen and (min-width: 60em) {
  .join__flickity-container--event-cards {
    height: 414px;
  }
}
@media print, screen and (max-width: 59.99875em) {
  .join__flickity-container--event-cards {
    height: 438px;
  }
}

@media print, screen and (min-width: 60em) {
  .join__flickity-container--testimonial-cards {
    height: 336px;
  }
}
@media print, screen and (max-width: 59.99875em) {
  .join__flickity-container--testimonial-cards {
    height: 360px;
  }
}

@media print, screen and (min-width: 60em) {
  .join__flickity-container--mobile-only {
    display: flex;
    justify-content: center;
  }
  .join__flickity-container--mobile-only::after {
    content: "";
  }
}
@media print, screen and (max-width: 59.99875em) {
  .join__flickity-container--mobile-only::after {
    content: "flickity";
    display: none;
  }
}

.stat-card {
  display: flex;
  flex-direction: column;
  text-align: center;
  padding: 12px;
  height: 156px;
  width: 156px;
  border: 1px solid rgba(61, 70, 77, 0.1);
  box-sizing: border-box;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.16);
  border-radius: 8px;
  line-height: 32px;
  font-size: 24px;
  margin-right: 12px;
}
@media print, screen and (min-width: 60em) {
  .stat-card {
    margin: 0 6px;
  }
}

.stat-card__icon {
  font-size: 24px;
  line-height: 32px;
}

.stat-card__header {
  margin-top: 0;
  font-weight: 700;
  font-size: 20px;
  line-height: 28px;
}

.pricing-card {
  width: 302px;
  padding: 24px;
  background-color: #ffffff;
  text-align: center;
  border-radius: 8px;
  border: 1px solid rgba(61, 70, 77, 0.1);
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.16);
  margin-right: 12px;
}
@media print, screen and (min-width: 60em) {
  .pricing-card {
    width: 324px;
    margin: 0 6px;
  }
}

.pricing-card__header {
  font-size: 24px;
  line-height: 32px;
  font-weight: 700;
}

.pricing-card__list {
  color: #3f3f46;
  list-style: none;
  margin: 0;
  width: auto;
  font-weight: normal !important;
}
.pricing-card__list li {
  margin-bottom: 12px;
}
.pricing-card__list li:last-child {
  margin-bottom: 0;
}

.pricing-card__list--featured li {
  background: url("/images/svg/symbols/check.1.svg") no-repeat center left;
  padding-left: 18px;
}

.events-card {
  position: relative;
  display: flex;
  flex-direction: column;
  background: #ffffff;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.16);
  border: 1px solid rgba(61, 70, 77, 0.1);
  border-radius: 8px;
  width: 240px;
  margin-right: 12px;
}
@media print, screen and (min-width: 60em) {
  .events-card {
    margin: 0 6px;
  }
}

.events-card__image {
  width: 100%;
}

.events-card__caption {
  color: #ffffff;
  font-size: 16px;
  font-weight: 700;
  position: absolute;
  top: 198px;
  left: 12px;
}

.events-card__header {
  padding: 12px;
  font-size: 14px;
  line-height: 24px;
}

.events-card__description {
  list-style-type: none;
  padding: 12px;
  color: #a1a1aa;
  font-size: 12px;
  line-height: 18px;
}
.events-card__description li {
  padding-bottom: 9px;
}
.events-card__description li:last-child {
  padding-bottom: 0;
}

.events-card__info-item {
  color: #3f3f46;
  line-height: 24px;
  font-size: 14px;
}

.testimonial-card {
  position: relative;
  display: flex;
  flex-direction: column;
  background: #ffffff;
  min-height: 324px;
  height: auto;
  width: 324px;
  padding: 48px 36px;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.16);
  border: 1px solid rgba(61, 70, 77, 0.1);
  border-radius: 8px;
  margin-right: 12px;
}
@media print, screen and (min-width: 60em) {
  .testimonial-card {
    margin: 0 6px;
  }
}

.testimonial-card__quote {
  position: absolute;
  width: 20px;
}

.testimonial-card__quote--left {
  top: 16px;
  left: 12px;
}

.testimonial-card__quote--right {
  bottom: 16px;
  right: 12px;
}

.testimonial-card__image {
  width: 32px;
  height: 32px;
  margin-right: 6px;
}

.testimonial-card__header {
  display: flex;
  flex-direction: row;
  font-size: 14px;
  line-height: 16px;
  font-weight: 700;
  margin-bottom: 12px;
}

.testimonial-card__body {
  max-height: 96px;
  margin-top: 0;
  transition: all 0.01s;
}

.testimonial-card__body--no-max-height {
  max-height: none;
}

/* ------------------------------------ *\
	$LANDING PAGE CONTENT
\* ------------------------------------ */
.landing-page-header {
  bottom: 178px;
}
@media (max-width: 768px) {
  .landing-page-header {
    bottom: 120px;
  }
}

.landing-page-header__headline {
  font-size: 42px;
  line-height: 42px;
}
@media (max-width: 768px) {
  .landing-page-header__headline {
    font-size: 36px;
  }
}

.landing-page-header__subheader {
  font-size: 24px;
  margin-top: 12px;
  margin-bottom: 12px;
}
@media (max-width: 768px) {
  .landing-page-header__subheader {
    font-size: 24px;
  }
}

.landing-page-header__input-container {
  max-width: 615px;
  margin: 0 auto;
}

/*
 * The input. is nested in order to provide necessary specificity
 * for overriding default Foundation styles. If we'd rather use
 * an !important in the future, that would also work.
 *
 * 1. Here to normalize across browsers.
 * 2. Here to ensure text is not clipped.
 */
input.landing-page-header__vendor {
  font-size: 16px;
  height: 58px; /* 1 */
  line-height: 30px; /* 2 */
  margin-bottom: 0;
  margin-top: 12px;
  background-color: rgba(236, 240, 244, 0.9);
}
input.landing-page-header__vendor:focus {
  background-color: rgba(255, 255, 255, 0.9);
}
input.landing-page-header__vendor::-moz-placeholder {
  color: rgba(61, 70, 77, 0.6);
}
input.landing-page-header__vendor::placeholder {
  color: rgba(61, 70, 77, 0.6);
}

.landing-page-header__button {
  margin-bottom: 0;
}
@media (max-width: 768px) {
  .landing-page-header__button {
    width: 100%;
    margin-top: 12px;
  }
}

.landing-page-header {
  bottom: 120px;
}
@media (max-width: 768px) {
  .landing-page-header {
    bottom: 60px;
  }
}

.landing-page-header__headline {
  font-size: 44px !important;
}

.landing-page-header__subheader {
  font-size: 24px;
  margin-top: 10px;
  margin-bottom: 10px;
}
@media (max-width: 768px) {
  .landing-page-header__subheader {
    font-size: 24px;
  }
}

.landing-content > section:not(.no-padding) {
  padding-bottom: 36px;
  padding-top: 36px;
}
.landing-content .landing-content__hero {
  overflow: hidden;
  padding-bottom: 0;
  padding-top: 0;
}
.landing-content .landing__header-text,
.landing-content .landing__sub-header-text {
  max-width: 420px;
}
@media (max-width: 768px) {
  .landing-content .landing__header-text,
  .landing-content .landing__sub-header-text {
    max-width: 300px;
  }
}
.landing-content .landing__header-text {
  font-size: 54px;
  font-weight: 700;
  line-height: 72px;
}
@media (max-width: 768px) {
  .landing-content .landing__header-text {
    font-size: 26px;
    line-height: 1.15em;
  }
}
.landing-content .landing__sub-header-text {
  font-size: 16px;
  line-height: 24px;
}
.landing-content .category-slider-header {
  max-width: 100%;
}
.landing-content .category-slider-header {
  margin-bottom: 12px;
}
.landing-content .category-slider-subheader {
  font-size: 14px;
}
.landing-content .feature-list p {
  color: #71717a;
}
.landing-content .background--gray {
  background-color: #f7f9fa;
}
.landing-content .stats hr {
  margin: 24px auto;
  max-width: 100%;
  width: 568px;
}
.landing-content .stats h2 {
  color: #ffffff;
  font-size: 36px;
  font-weight: 700;
  line-height: 56px;
}
.landing-content .stats h4 {
  color: rgba(61, 70, 77, 0.5);
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.07em;
  line-height: 24px;
  margin-left: auto;
  margin-right: auto;
  max-width: 290px;
  text-transform: uppercase;
}
.landing-content .stats > .row {
  padding-bottom: 48px;
  padding-top: 48px;
}
.landing-content .plans h2 {
  font-size: 26px;
  font-weight: 700;
  line-height: 36px;
  margin-bottom: 36px;
}
.landing-content .plans section {
  max-width: calc(100vw - 48px);
}
@media print, screen and (min-width: 48.0625em) {
  .landing-content .plans section {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    margin-left: auto;
    margin-right: auto;
    width: 756px;
  }
}
@media print and (max-width: 812px), screen and (min-width: 48.0625em) and (max-width: 812px) {
  .landing-content .plans section {
    justify-content: space-around;
  }
}
@media print, screen and (max-width: 48.06125em) {
  .landing-content .plans section {
    padding-left: 48px;
    padding-right: 48px;
  }
}
.landing-content .plans article {
  background: #ffffff;
  box-shadow: 0 4px 10px rgba(61, 70, 77, 0.1);
  padding: 36px 24px;
  margin-bottom: 36px;
}
@media print, screen and (min-width: 48.0625em) {
  .landing-content .plans article {
    height: 475px;
    width: 350px;
  }
}
.landing-content .plans article h1 {
  font-weight: 700;
  font-size: 24px;
  line-height: 100%;
}
.landing-content .plans article h3 {
  font-weight: 700;
  font-size: 16px;
  line-height: 24px;
}
.landing-content .plans article h2 {
  font-weight: 700;
  font-size: 18px;
  line-height: 24px;
}
.landing-content .plans article p {
  font-size: 14px;
  line-height: 36px;
}
@media print, screen and (max-width: 59.99875em) {
  .landing-content .hot-it-works {
    padding: 36px 24px;
  }
}
@media (min-width: 75rem) {
  .landing-content .site-footer {
    position: static;
  }
}

@media (min-width: 960px) {
  .landing-content--pk .home__header-container {
    min-height: 0;
  }
  .landing-content--pk .landing__header-text-container {
    padding-bottom: 106px;
    padding-top: 56px;
  }
}
@media (max-width: 959px) {
  .landing-content--pk .landing__header-text-container {
    margin-bottom: 365px;
  }
}
.landing-content--pk .steps article {
  display: flex;
  flex-direction: column;
  margin-top: 36px;
  justify-content: space-between;
}
@media print, screen and (min-width: 48.0625em) {
  .landing-content--pk .steps article {
    flex-direction: row;
    max-width: 840px;
    margin-left: auto;
    margin-right: auto;
  }
}
.landing-content--pk .steps figure {
  background-color: #ffffff;
  box-shadow: 0 4px 10px rgba(61, 70, 77, 0.1);
  padding: 36px 24px;
  width: 240px;
  height: 240px;
}
@media print, screen and (max-width: 48.06125em) {
  .landing-content--pk .steps figure {
    margin-left: auto;
    margin-right: auto;
  }
  .landing-content--pk .steps figure + figure {
    margin-top: 24px;
  }
}
.landing-content--pk .steps figcaption {
  margin-top: 12px;
}
.landing-content--pk .steps h2 {
  font-size: 26px;
  font-weight: 700;
  line-height: 36px;
}
.landing-content--pk .steps h3 {
  font-size: 16px;
  font-weight: 700;
  line-height: 24px;
}
.landing-content--pk .steps p {
  font-size: 14px;
  line-height: 24px;
  color: #71717a;
}
@media print, screen and (max-width: 59.99875em) {
  .landing-content--pk .faqs {
    padding: 36px 24px;
  }
}
.landing-content--pk .stats h1 {
  font-size: 26px;
  font-weight: 700;
  line-height: 33px;
  margin-bottom: 12px;
}

/**
 * Onboarding Pattern Background
 */
.onboarding-container {
  background-color: #f1e2fd !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 280 280' width='280px' height='280px'%3E%3Cpath fill='%23e4c9fd' d='M280 52.99v66.45a79.38 79.38 0 0 1-11.02-9.18l-31.4 31.4c30.34 30.36 30.34 79.58 0 109.92-30.36 30.36-79.58 30.36-109.92 0L99.24 280H35.28c-3.96-23.88 3.3-49.26 21.72-67.68 30.34-30.34 79.56-30.34 109.92 0l31.4-31.4c-30.36-30.34-30.36-79.56 0-109.92 22.1-22.08 54.16-28.07 81.68-18.01ZM95.58 109.58C69.64 135.52 29.94 137.85 0 119.45V52.99c9.06 3.8 17.54 9.97 24.92 17.33l31.4-31.4C45.24 27.86 38.22 14.28 35.22 0h63.93c30 30.38 26.65 79.36-3.57 109.58Z'/%3E%3C/svg%3E");
  background-size: 256px 256px;
  --gap: clamp(1rem, 3.93vw, 3rem);
  --full: minmax(var(--gap), 1fr);
  --content: minmax(1px, 1440px);
  --grid-template-columns: [full-start] var(--full) [content-start] var(--content) [content-end] var(--full) [full-end];
  display: grid;
  grid-template-columns: var(--grid-template-columns);
  justify-items: center;
  align-items: center;
}

/**
 * Onboarding Card
 */
.onboarding-card {
  position: relative;
  grid-column: content;
  background-color: #ffffff;
  border-radius: 20px;
  box-shadow: 0 0.5px 4px -1px rgba(78, 2, 124, 0.1), 0 1px 2px 0 rgba(78, 2, 124, 0.1);
  padding: 24px 12px;
  max-width: 795px;
  margin: 0 auto;
}
@media (min-width: 768px) {
  .onboarding-card {
    padding: 32px 24px;
  }
}
.onboarding-card #js-onboarding {
  position: static !important;
}
.onboarding-card .link--blue {
  top: 0 !important;
  left: 0 !important;
}

/**
 * Onboarding Pricing Tables
 */
@media (max-width: 960px) {
  .onboarding-container .custom-chadio-container {
    gap: 16px;
  }
}
.onboarding-pricing-card {
  background-color: #ffffff !important;
  text-align: center;
  border-radius: 20px;
  transition: all 250ms cubic-bezier(0.02, 0.01, 0.47, 1);
  box-shadow: 0px 0.5px 4px -1px rgba(78, 2, 124, 0.1019607843), 0px 1px 2px 0px rgba(78, 2, 124, 0.1019607843);
  overflow: hidden;
}

.onboarding-pricing-table {
  min-height: 580px;
  text-align: center;
  padding: 12px 0;
  margin-bottom: 24px;
}
.onboarding-pricing-table .icon--star {
  font-size: 18px;
}

@media (max-width: 768px) {
  .onboarding-pricing-table__column + .onboarding-pricing-table__column {
    padding: 6px;
  }
}
.onboarding-pricing-table__quote {
  border-top: 1px solid rgba(255, 255, 255, 0.35);
  border-bottom: 1px solid rgba(255, 255, 255, 0.35);
  margin: 0 12px;
  padding: 12px 0;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.6em;
  color: rgba(0, 0, 0, 0.6);
}

.onboarding-pricing-table__list {
  list-style-type: none;
  width: 220px;
  margin: 0 auto;
}

.onboarding-pricing-table__list-item {
  font-size: 15px;
  border-bottom: 1px solid #dddddd;
  border-bottom: 1px solid rgba(255, 255, 255, 0.35);
  line-height: 1.7em;
}
.onboarding-pricing-table__list-item:last-child {
  border-bottom: 0;
}

.onboarding-pricing-table__ribbon {
  position: relative;
  bottom: 0;
  left: 0;
  display: block !important;
  width: 150px;
  margin: 16px auto 0;
  font-weight: 700;
  background-color: #e05400;
}
.onboarding-pricing-table__ribbon::before, .onboarding-pricing-table__ribbon::after {
  /* Is this doing anything with a `content` item? */
  border-color: #e05400;
}
.onboarding-pricing-table__ribbon::before {
  content: "";
  position: absolute;
  bottom: 0;
  z-index: -1;
  display: block;
  border-width: 12px 7px;
  transform: scale(0.9999); /* Applied to fix Chrome's aliased border problem. */
  left: -14px;
  border-right-width: 1.5em;
  border-left-color: transparent;
  border-style: solid solid solid dashed; /* Applied to fix Firefox's rendering bug. */
}
.onboarding-pricing-table__ribbon::after {
  /* Is this doing anything with a `content` item? */
  border-right-color: transparent;
}

.onboarding-pricing-bubble {
  position: relative;
  background: #eeeeee;
  color: #3f3f46;
  padding: 24px;
  margin-bottom: 24px;
  text-align: center;
}
.onboarding-pricing-bubble::before {
  content: "";
  position: absolute;
  top: -20px;
  left: 50%;
  display: block;
  margin-left: -10px;
  width: 0;
  height: 0;
  border: solid 10px;
  border-color: transparent transparent #eeeeee;
  /*
   * 1. Fixes a Firefox rendering bug with triangle edges
   * See: http://stackoverflow.com/a/15388994/364226
   */
  border-right-style: dashed; /* 1 */
}

.onboarding-pricing-bubble__price {
  color: #878787;
  font-size: 15px;
  letter-spacing: 2px;
}

/**
 * Onboarding Pricing Selection Labels
 */
.onboarding-pricing-selection {
  display: flex;
  align-items: center;
  padding: 16px;
  border: 2px solid #a1a1aa;
  border-radius: 8px;
  transition: box-shadow 200ms cubic-bezier(0.4, 0, 0.2, 1), border-color 200ms cubic-bezier(0.4, 0, 0.2, 1), background-color 200ms cubic-bezier(0.4, 0, 0.2, 1);
}
.onboarding-pricing-selection div {
  vertical-align: middle; /* Overriding default radio styles */
}
.onboarding-pricing-selection:has(input:checked) {
  background-color: #ffffff;
  border-color: #b264f7;
}

.onboarding-pricing-selection--discounted {
  border-color: #91e4ae;
}
.onboarding-pricing-selection--discounted:has(input:checked) {
  border-color: #5ccf84;
}

.onboarding-pricing-selection__price {
  font-size: 36px;
  line-height: 1;
}
.onboarding-pricing-selection__price--strikeout {
  font-size: 24px;
  text-decoration: line-through;
}

/* ------------------------------------ *\
	$PARTY IDEAS-RELATED PAGES
	* Much of these styles appear to be unnecessary or unused.
	* Revisit them at some point in the future.
	* johnbacon (2016/03/24)
\* ------------------------------------ */
.party-ideas-post {
  /* Not sure this block is necessary since we've removed the full-page blog views. johnbacon (2016/03/24) */
}
.party-ideas-post li {
  margin-bottom: 24px;
}

.party-ideas-post__body {
  /* I don't believe the following styles are necessary. johnbacon (2016/03/24) */
  /* h1, h2, h3, h4, h5, h6 {
  	clear: both;
  } */
}

.party-ideas-feed {
  overflow: hidden;
  padding-top: 12px;
}
.party-ideas-feed ul {
  list-style-type: none;
}
.party-ideas-feed ul,
.party-ideas-feed ol {
  margin-left: 22px;
}

.party-ideas-home--sidebar ul {
  list-style-type: none;
}
.party-ideas-home--sidebar .wp-post-image {
  max-height: 39px;
  margin-top: 5px;
}

.party-ideas-sidebar--no-image {
  width: 75px;
  height: 39px;
  background-color: rgba(0, 0, 0, 0.1);
}

.post-title--sidebar {
  margin-left: 87px;
  min-height: 39px;
  line-height: 22px;
}

.party-ideas-title,
.party-ideas-title__category {
  background-color: rgba(0, 0, 0, 0.1);
  letter-spacing: 2px;
}

.party-ideas-author-bio {
  background-color: rgba(0, 0, 0, 0.1);
  padding: 12px;
  clear: both;
}

/*
 * Toggle link styling.
 * It really does appear this is the only place around the site we use this. Hence, why it's in the party ideas styling.
 */
.toggle-link--more::after {
  display: block;
  width: 0;
  height: 0;
  content: "";
  position: relative;
  top: -14px;
  left: 50px;
  margin-left: -10px;
  border: solid 5px;
  border-color: #4e027c transparent transparent transparent;
  border-bottom-style: dashed;
}

.toggle-link--less::after {
  display: block;
  width: 0;
  height: 0;
  content: "";
  position: relative;
  top: -20px;
  left: 50px;
  margin-left: -10px;
  border: solid 5px;
  border-color: transparent transparent #4e027c transparent;
  border-bottom-style: dashed;
}

/* ------------------------------------ *\
	$GENERAL PROFILE STYLES
\* ------------------------------------ */
.profile-horizontal-rule {
  margin: 36px auto;
  border-bottom: 1px solid #e4e4e7;
}

.profile-horizontal-rule--small-margin {
  margin-bottom: 0;
}
@media print, screen and (max-width: 48.06125em) {
  .profile-horizontal-rule--small-margin {
    margin-top: 24px;
  }
}

.profile-horizontal-rule--new-margin {
  margin-top: 6px;
}
@media print, screen and (max-width: 48.06125em) {
  .profile-horizontal-rule--new-margin {
    margin-top: 24px;
  }
}

/*
 * The "read more"/"read less" you see in various parts of the profile.
 * 1. Flips the icon.
 * 2. When we want some additional space below the link, when it's present.
 */
.profile-toggle-read-more {
  display: inline-block;
  text-align: center;
  margin-top: 12px;
}
.profile-toggle-read-more svg {
  width: 8px;
  height: 8px;
  margin-left: 2px;
}
.profile-toggle-read-more--less svg {
  transform: rotate(180deg); /* 1 */
}
.profile-toggle-read-more--push-bottom-1-5x {
  margin-bottom: 36px; /* 2 */
}

.profile-container {
  padding-top: 72px;
  padding-bottom: 48px;
}

.profile-container--head-section {
  padding-top: 0;
}

.profile-section {
  display: flex;
  scroll-margin-top: 100px;
}
@media print, screen and (max-width: 48.06125em) {
  .profile-section {
    flex-direction: column;
  }
}

@media print, screen and (max-width: 48.06125em) {
  .profile-section__title-container {
    text-align: center;
  }
}
@media print, screen and (min-width: 48.0625em) {
  .profile-section__title-container {
    width: 176px;
    padding-right: 24px;
  }
}

@media print, screen and (min-width: 48.0625em) {
  .profile-section__content {
    max-width: 760px;
  }
}

/*
		 * 1. Necessary to ensure this section is full-width
		 * even if the content is not enough to make it so.
		 * This is relevant particularly for short reviews.
		 */
@media print, screen and (min-width: 48.0625em) {
  .profile-section__content--new {
    max-width: 800px;
    width: 100%; /* 1 */
  }
}

.profile-section__title {
  margin-bottom: 24px;
}
@media print, screen and (max-width: 48.06125em) {
  .profile-section__title {
    font-size: 18px;
    line-height: 24px;
  }
}

@media print, screen and (max-width: 48.06125em) {
  .profile-section__title--short {
    margin-bottom: 12px;
  }
}

/* ------------------------------------ *\
	$PROFILE HEADER
\* ------------------------------------ */
/*
	 * 1. Center this anchor at small sizes.
	 */
.profile-header__back-anchor {
  display: flex;
  align-items: center;
  position: absolute;
  top: 24px;
  left: 24px;
  font-size: 14px;
  color: #3f3f46;
}
@media print, screen and (max-width: 48.06125em) {
  .profile-header__back-anchor {
    /* 1 */
    justify-content: center;
    left: 0;
    width: 100%;
  }
}

.profile-header__back-anchor--minimal-header {
  top: -48px;
}

.profile-header__back-arrow {
  font-size: 18px;
  transform: rotate(90deg);
  margin-right: 6px;
}

.profile-header__back-anchor--blue {
  display: flex;
  align-items: center;
  font-size: 14px;
  color: #0091fb;
  justify-content: left;
}

/*
	 * 1. Same as the height of the profile image.
	 * This helps to avoid a FOUC as the image is loading in.
	 * 2. To avoid issues with the "back to" link: http://i.imgur.com/6tHmKch.png
	 */
.minimal-profile-image-container {
  position: relative;
  height: 168px; /* 1 */
  margin-bottom: 36px;
}
@media print, screen and (max-width: 48.06125em) {
  .minimal-profile-image-container.profile-image-container--main-profile {
    margin-top: 24px; /* 2 */
  }
}

.minimal-profile-image {
  border-radius: 100%;
}

/* ------------------------------------ *\
	$PROFILE STICKY BAR
\* ------------------------------------ */
/*
 * BUG FIX
 * 1. See: https://bugs.chromium.org/p/chromium/issues/detail?id=673538
 * The gist: on high DPI, Chrome, desktop devices, we should remove
 * the shadow from the header on the profile.
 * This sucks, but until the issue is fixed, it's necessary.
 */
@media screen and (min-device-pixel-ratio: 1.3) {
  .desktop .navigation {
    border-bottom: 1px solid #e4e4e7;
  }
  .desktop .navigation::after {
    box-shadow: none; /* 1 */
  }
}
/*
 * 1. Really only here for the profile's sticky bar.
 */
.profile-container {
  position: relative; /* 1 */
}

/*
 * 1. Necessary to keep the sticky cta above images in reviews
 */
.profile-sticky-cta {
  display: flex;
  opacity: 0;
  position: fixed;
  bottom: 0;
  width: 100%;
  z-index: 99999; /* 1 */
  justify-content: center;
  background-color: #ffffff;
  font-size: 14px;
  box-shadow: 0px 0.5px 4px -1px rgba(0, 0, 0, 0.14), 0px 1px 2px 0px rgba(0, 0, 0, 0.14);
  transition: 0.25s opacity ease-out;
  visibility: hidden;
}
.profile-sticky-cta.show {
  opacity: 1;
  transition: 0.25s opacity ease-out;
  visibility: visible;
}

.profile-sticky-cta--container {
  width: 100%;
}
@media print, screen and (min-width: 48.0625em) {
  .profile-sticky-cta--container {
    max-width: 800px;
    padding: 0 20px;
  }
}

/*
 * 1. Ensures it doesn't sit behind media controls like this:
 * http://i.imgur.com/PVhs4i2.png
 */
.profile-sticky-bar {
  position: sticky;
  top: 0;
  bottom: inherit;
  width: 100%;
  margin-bottom: 36px;
  z-index: 99999; /* 1 */
  background-color: #ffffff;
  padding: 24px;
  box-shadow: 0px 0.5px 4px -1px rgba(0, 0, 0, 0.14), 0px 1px 2px 0px rgba(0, 0, 0, 0.14);
  font-size: 14px;
  border-bottom: 1px solid #e4e4e7;
  transition: all 250ms ease-out;
}
.profile-sticky-bar.is-sticky {
  border-bottom-color: transparent;
}
.profile-sticky-bar:not(.is-sticky) {
  box-shadow: 0 18px 30px 0 rgba(255, 255, 255, 0.08);
}
.profile-sticky-bar > * {
  flex-shrink: 0;
}
.profile-sticky-bar {
  /*
  * The below is required for proper sticky polyfill support.
  * Taken from: https://github.com/soenkekluth/sticky-state
  */
}
.profile-sticky-bar.sticky-fixed.is-sticky {
  position: fixed;
  backface-visibility: hidden;
}
.profile-sticky-bar.sticky-fixed.is-sticky:not([style*=margin-top]) {
  margin-top: 0 !important;
}
.profile-sticky-bar.sticky-fixed.is-sticky:not([style*=margin-bottom]) {
  margin-bottom: 0 !important;
}
.profile-sticky-bar.sticky-fixed.is-absolute {
  position: absolute;
}

.profile-sticky-bar__inner {
  display: flex;
  align-items: center;
}
.profile-sticky-bar__inner > * {
  flex-shrink: 0;
}
.profile-sticky-bar__inner > *:not(:first-child) {
  margin-left: 40px;
}
@media print, screen and (max-width: 48.06125em) {
  .profile-sticky-bar__inner > *:not(:first-child) {
    margin-left: 18px;
  }
}
.profile-sticky-bar__inner a {
  transition: all 250ms ease-out;
}
.profile-sticky-bar__inner a:not(.button) {
  color: #3f3f46;
}
.profile-sticky-bar__inner a.active {
  color: #4e027c;
  opacity: 1;
}
@media print, screen and (max-width: 48.06125em) {
  .profile-sticky-bar__inner {
    justify-content: center;
    /*
    * 1. Required to override the button styles.
    */
  }
  .profile-sticky-bar__inner .button {
    padding: 13px 20px !important; /* 1 */
  }
  .profile-sticky-bar__inner {
    /*
    * 1. To ensure that text variants with a lot in them don't overflow
    * !important necessary to override styles above
    */
  }
}
@media print, screen and (max-width: 48.06125em) and (max-width: 48.06125em) {
  .profile-sticky-bar__inner .profile-sticky-bar__quote-request-button {
    padding-left: 12px !important; /* 1 */
    padding-right: 12px !important; /* 1 */
  }
}

.profile-sticky-bar__inner--justify {
  justify-content: left;
}
@media print, screen and (max-width: 48.06125em) {
  .profile-sticky-bar__inner--justify {
    justify-content: space-around;
  }
}

.profile-sticky-bar__profile-photo {
  border-radius: 999px;
}

.profile-sticky-bar__quote-request-button,
.profile-sticky-bar__large-favorite-button,
.profile-sticky-bar__small-favorite-button,
.profile-sticky-bar__profile-photo {
  opacity: 0;
  transition: 250ms opacity ease-out;
  pointer-events: none;
}
.is-sticky .profile-sticky-bar__quote-request-button,
.is-sticky .profile-sticky-bar__large-favorite-button,
.is-sticky .profile-sticky-bar__small-favorite-button,
.is-sticky .profile-sticky-bar__profile-photo {
  opacity: 1;
  pointer-events: auto;
}

/*
		 * 1. !important is necessary to override large-size styles.
		 */
@media print, screen and (max-width: 48.06125em) {
  .profile-sticky-bar__favorite-button-container {
    margin-left: 0 !important; /* 1 */
  }
}

/*
			 * 1. One-off magic numbers to ensure this heart button is the same
			 * size as the normal buttons beside them. This is only necessary because
			 * the current SVGs do not fill the full canvas and needed to be increased
			 * in size; the button cannot contain the size necessary and expands as a result.
			 * !important unfortunately necessary to override styles.
			 * Before: https://i.imgur.com/V47JUyP.png
			 * After: https://i.imgur.com/HPMiACM.png
			 */
.profile-sticky-bar__large-favorite-button {
  display: flex;
  align-items: center;
  padding-top: 11px !important; /* 1 */
  padding-bottom: 11px !important; /* 1 */
}
.saved .profile-sticky-bar__large-favorite-button {
  background-color: rgba(38, 144, 255, 0.2);
}

/*
				 * 1. Seemingly necessary to properly center the heart. May be the result
				 * of a mis-shapen heart SVG.
				 * 2. Ensure it never shrinks!
				 */
.profile-sticky-bar__button-heart {
  width: 18px; /* 1 */
  height: 18px; /* 1 */
  flex-shrink: 0; /* 2 */
  position: relative;
  top: 1px;
}

/*
				 * 1. Only apply left margin to the text, rather than adding margin
				 * to the heart itself. Otherwise, you risk right margin on the heart
				 * when no text is beside it.
				 */
.profile-sticky-bar__favorite-button-text {
  margin-left: 6px; /* 1 */
}

/*
		 * Everything about this is hacky. We're overriding a lot of
		 * button styles set elsewhere, including in Foundation. This is a
		 * prime candidate for rewriting.
		 * TODO(johnbacon): re-examine and rewrite these styles.
		 *
		 * 1. `.hollow` is only here for specificity. Hacky.
		 * 2. Magic number to ensure the heart button is no larger than the
		 * button beside it. This is only necessary because the current SVGs
		 * do not fill the full canvas and needed to be increased in size;
		 * the button cannot contain the size necessary and expands as a result.
		 * !important unfortunately necessary to override styles.
		 * Before: https://i.imgur.com/XHpEaQe.png
		 * After: https://i.imgur.com/UqBoy3G.png
		 */
.profile-sticky-bar__small-favorite-button.hollow {
  /* 1 */
  background-color: #ffffff !important;
  border-color: #3f3f46 !important;
  color: #3f3f46 !important;
  padding-top: 10px !important; /* 2 */
  padding-bottom: 10px !important; /* 2 */
}
.saved .profile-sticky-bar__small-favorite-button.hollow {
  border-color: #4e027c !important;
  color: #4e027c !important;
  background-color: rgba(38, 144, 255, 0.2) !important;
}

/* ------------------------------------ *\
	$PROFILE HEAD SECTION
\* ------------------------------------ */
.profile-head {
  display: flex;
  align-items: flex-end;
  flex-wrap: wrap;
}

.profile-head__back-anchor {
  margin: 12px 0;
}
@media print, screen and (min-width: 48.0625em) {
  .profile-head__back-anchor {
    margin: 36px 0;
  }
}

.profile-head__blur-bg {
  position: relative;
  display: flex;
  justify-content: center;
  border-radius: 8px;
  overflow: hidden;
  z-index: 1;
}
@media print, screen and (max-width: 48.06125em) {
  .profile-head__blur-bg {
    width: 100%;
    margin-bottom: 16px;
  }
}
@media print, screen and (min-width: 48.0625em) {
  .profile-head__blur-bg {
    margin-right: 24px;
  }
}

.profile-head__image {
  max-height: 260px;
  max-width: 260px;
}
@media print, screen and (min-width: 48.0625em) {
  .profile-head__image {
    border-radius: 8px;
    max-height: 180px;
    max-width: 180px;
  }
}

.profile-head__favorite-button {
  position: absolute;
  top: 12px;
  right: 12px;
  display: flex !important;
}
.profile-head__favorite-button path {
  transition: all 0.25s ease-out;
}

.profile-head__favorite-button--opaque-hover:hover {
  opacity: 1 !important;
}
.profile-head__favorite-button--opaque-hover:focus {
  opacity: 1 !important;
}

.saved .profile-head__button-heart {
  fill: #f41c1c;
  fill-opacity: 1;
}

.profile-head__content {
  flex: 1;
}

.profile-head__act-name {
  font-size: 26px;
  line-height: 36px;
  font-weight: 700;
  margin-bottom: 6px;
}

.profile-head__tag-list {
  list-style: none;
  line-height: 24px;
  font-size: 12px;
  color: #71717a;
}
@media print, screen and (min-width: 48.0625em) {
  .profile-head__tag-list {
    margin-top: 6px;
  }
}

.profile-head__tag {
  display: flex;
  align-items: center;
  background: #f0f0f0;
  border-radius: 12px;
  padding: 0 6px;
  margin: 6px 6px 0 0;
}

.profile-head--align-middle {
  align-items: center;
}

@media print, screen and (max-width: 48.06125em) {
  .profile-head--center {
    justify-content: center;
  }
}

/* ------------------------------------ *\
	$PROFILE VENDOR CARD
\* ------------------------------------ */
.profile-vendor-card {
  display: flex;
  flex-direction: column;
  align-items: center;
}

/*
	 * 1. Same as the height of the profile image.
	 * This helps to avoid a FOUC as the image is loading in.
	 * 2. To ensure the container is wide enough for Top Performer banner.
	 */
.profile-image-container {
  position: relative;
  height: 144px; /* 1 */
  width: 160px; /* 2 */
  text-align: center;
  margin-bottom: 24px;
}

.profile-image {
  border-radius: 100%;
}

/*
		 * 1. Half the height of the image.
		 */
.profile-image-container__featured-ribbon {
  position: absolute;
  top: -10px; /* 1 */
  left: 50%;
  transform: translateX(-50%);
  border-radius: 10px;
}

/*
		 * 1. Half the height of the image.
		 */
.profile-image-container__top-performer-ribbon {
  position: absolute;
  bottom: -20px; /* 1 */
  left: 50%;
  transform: translateX(-50%);
}

/*
	 * The member's act name.
	 * 1. Hard coding these values since they're so central to the design here.
	 * 2. Necessary for overflowing act names such as this one:
	 * http://i.imgur.com/GE0Yi4b.png
	 * 3. Fixes an issue with long PromoKit names not displaying properly because
	 * they overflow their containers
	 */
.profile-vendor-card__act-name {
  font-size: 26px;
  line-height: 1.23; /* 1 */
  font-weight: 700;
  margin-bottom: 12px;
  text-align: center; /* 2 */
  /* These are technically the same, but use both */
  overflow-wrap: break-word;
  word-wrap: break-word;
  -ms-word-break: break-all;
  /* This is the dangerous one in WebKit, as it breaks things wherever */
  word-break: break-all;
  /* Instead use this non-standard one: */
  word-break: break-word;
  /* Adds a hyphen where the word breaks, if supported (No Blink) */
  hyphens: auto;
}
@media print, screen and (max-width: 48.06125em) {
  .profile-vendor-card__act-name {
    margin-bottom: 12px;
  }
}

.profile-vendor-card__rating {
  display: flex;
  align-items: center;
  font-size: 14px;
  font-weight: 500;
  color: #3f3f46;
  margin-bottom: 24px;
}

.profile-vendor-card__rating--detail {
  margin-left: -4px;
}

.profile-vendor-card__rating-stars {
  display: flex;
  align-items: center;
  position: relative;
  bottom: 1px;
  margin-right: 4px;
}
.profile-vendor-card__rating-stars > svg {
  margin-right: 2px;
}
.profile-vendor-card__rating-stars > img {
  margin-right: 4px;
  width: 16px;
  height: 16px;
}

/*
	 * 1. Necessary for IE11.
	 * Before: https://i.imgur.com/NIonyVN.png
	 * After: https://i.imgur.com/3lf8ZFh.png
	 */
.profile-vendor-card__overview {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  justify-content: space-between;
  list-style: none;
  margin-bottom: 24px;
  max-width: 100%; /* 1 */
}
@media print, screen and (max-width: 48.06125em) {
  .profile-vendor-card__overview {
    display: block;
    justify-content: center;
  }
}
.profile-vendor-card__overview > li {
  display: flex;
  align-items: center;
  width: 47%;
  padding: 0 6px;
  font-weight: 700;
  line-height: 1.4;
  margin-bottom: 12px;
}
@media print, screen and (max-width: 48.06125em) {
  .profile-vendor-card__overview > li {
    justify-content: center;
    width: 100%;
  }
  .profile-vendor-card__overview > li svg {
    margin-right: 8px;
  }
}
@media print, screen and (min-width: 48.0625em) {
  .profile-vendor-card__overview > li svg {
    margin-right: 12px;
  }
}
.profile-vendor-card__overview > li svg {
  width: 24px;
  height: 24px;
  flex-shrink: 0;
}

.profile-vendor-card__buttons {
  margin-top: 36px;
}

.profile-vendor-card__favorite-button {
  display: flex !important;
  align-items: center;
  justify-content: center;
}
.saved .profile-vendor-card__favorite-button {
  background-color: rgba(38, 144, 255, 0.2);
}

/*
			 * 1. Seemingly necessary to properly center the heart. May be the result
			 * of a mis-shapen heart SVG.
			 * 2. Ensure it never shrinks!
			 */
.profile-vendor-card__button-heart {
  width: 18px; /* 1 */
  height: 18px; /* 1 */
  flex-shrink: 0; /* 2 */
  margin-right: 6px;
  position: relative;
  top: 1px;
}

/* ------------------------------------ *\
	$OVERVIEW SECTION
\* ------------------------------------ */
.profile-overview-icons {
  display: flex;
}
@media print, screen and (max-width: 48.06125em) {
  .profile-overview-icons {
    flex-wrap: wrap;
    justify-content: center;
  }
}
.profile-overview-icons {
  /*
  * 1. Ensures you don't get weird long listings like this one: http://i.imgur.com/xsCDi1K.png
  */
}
.profile-overview-icons li {
  list-style: none;
  display: flex;
  flex-direction: column;
  align-items: center;
  font-weight: 700;
  text-align: center;
  max-width: 180px; /* 1 */
}
@media print, screen and (min-width: 60em) {
  .profile-overview-icons li:not(:last-child) {
    margin-right: 64px;
  }
}
@media print, screen and (min-width: 48.0625em) and (max-width: 59.99875em) {
  .profile-overview-icons li:not(:last-child) {
    margin-right: 32px;
  }
}
@media print, screen and (max-width: 48.06125em) {
  .profile-overview-icons li {
    width: 50%;
    margin-bottom: 12px;
  }
}
.profile-overview-icons svg {
  margin-bottom: 8px;
}

.profile-overview-icons__location {
  width: 24px;
  height: 24px;
}

.profile-overview-icons__category {
  width: 24px;
  height: 24px;
}

.profile-overview-icons__distance {
  width: 24px;
  height: 24px;
}

.profile-overview-icons__price {
  width: 24px;
  height: 24px;
}

/* ------------------------------------ *\
	$REVIEWS SECTION
\* ------------------------------------ */
.profile-reviews {
  margin-bottom: 24px;
}

/*
	 * 1. For handling the separators between each review.
	 * This covers every review except the very first one.
	 */
.profile-review + .profile-review, .profile-reviews__additional-container .profile-review {
  margin-top: 36px; /* 1 */
  padding-top: 36px; /* 1 */
  border-top: 1px solid #e4e4e7; /* 1 */
}

/*
		 * 1. A magic number intended to provide separation when using the <br>.
		 */
.profile-review__media-object {
  display: flex;
  align-items: center;
  font-size: 12px;
  line-height: 20px; /* 2 */
  font-weight: 500;
  margin-bottom: 12px;
}

.profile-review__thumbnail {
  margin-right: 16px;
  border-radius: 100%;
  flex-shrink: 0;
}

.profile-review__rating-stars {
  font-size: 14px;
  vertical-align: middle;
  margin-right: 4px;
}
.profile-review__rating-stars > *:not(:last-child) {
  margin-right: 3px;
}

.profile-review__verified-text {
  color: #40d5b4;
}

.profile-review__info-separator {
  margin-left: 7px;
  margin-right: 7px;
}

.profile-review__review-content {
  margin-bottom: 24px;
}

.profile-review__review-headline {
  line-height: 24px;
  font-weight: 700;
}

.profile-review__review-response {
  margin-top: 12px;
  margin-bottom: 0;
}

/* ------------------------------------ *\
	$PROFILE MEDIA
\* ------------------------------------ */
.profile-media-section {
  position: relative;
}

/*
	 * 1. Magic number meant to ensure that the un-initialized slider is not too tall.
	 * Should be equal to the initialized height.
	 * 2. Hide this until the slider is initialized. Then, transition it in.
	 */
.profile-media-slider {
  background-color: #ffffff;
  opacity: 0; /* 2 */
  transform: translateY(10px); /* 2 */
  transition: all 250ms ease-out; /* 2 */
}
.profile-media-slider.slick-initialized {
  opacity: 1; /* 2 */
  transform: translateY(0); /* 2 */
}
.profile-media-slider {
  /*
   * 1. Remove the default focus so you don't end up like this: http://i.imgur.com/x5aY4BF.png
   * 2. Ensures that images expand to fill the media slider, but do not lose their aspect ratio.
   * For `object-fit` specifications, read the MDN article:
   * https://developer.mozilla.org/en-US/docs/Web/CSS/object-fit
   */
}
.profile-media-slider .slick-slide {
  background-color: #111111;
}
.profile-media-slider .slick-slide:focus {
  outline: none; /* 1 */
}
.profile-media-slider .slick-slide img {
  -o-object-fit: contain;
     object-fit: contain; /* 2 */
  width: 100%; /* 2 */
  height: 100%; /* 2 */
}

/*
		 * 1. When changing this number, other magic numbers around the slider will need to change.
		 * 2. For the caption.
		 */
.profile-media-slider__content {
  display: flex;
  align-items: center;
  flex-direction: column;
  height: 504px; /* 1 */
  position: relative; /* 2 */
  transition: all 300ms ease;
}

.profile-media-slider__content--audio,
.profile-media-slider__content--downloadable-videos {
  height: 504px;
  margin: 0 auto;
}
.profile-media-slider__watch-button {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  display: flex;
  align-items: center;
  font-size: 11px !important;
  padding: 9px 15px !important;
}

.profile-media-slider__watch-triangle {
  margin-left: 6px;
  height: 9px;
}

.profile-media-slider__caption {
  position: absolute;
  bottom: 0;
  left: 0;
  text-align: center;
  width: 100%;
  padding: 12px;
  font-size: 13px;
  line-height: 16px;
  color: #ffffff;
  background-image: linear-gradient(to bottom, rgba(36, 42, 46, 0), rgba(36, 42, 46, 0.75));
  transition: all 300ms ease;
  opacity: 0;
}
.slick-current .profile-media-slider__caption {
  opacity: 1;
}

/*
		 * 1. Necessary for arrows to properly overlay the images and still be interactable.
		 * 2. Don't show until Slick is initialized.
		 * 3. Indicates that Slick has been initialized.
		 * 4. Don't show if Slick has disabled this (because you can't go
		 * to a previous slide, for instance).
		 */
.profile-media-slider__arrow {
  position: absolute;
  top: 232px;
  color: #ffffff;
  z-index: 9999; /* 1 */
  display: none; /* 2 */
}
.slick-arrow .profile-media-slider__arrow {
  display: block; /* 3 */
}
.slick-disabled .profile-media-slider__arrow {
  display: none; /* 4 */
}

/*
			 * 1. Half the size of the button.
			 */
.profile-media-slider__arrow--previous {
  left: 10px;
  transform: rotate(180deg);
  filter: drop-shadow(0 -10px 20px rgba(0, 0, 0, 0.15));
}
@media print, screen and (max-width: 48.06125em) {
  .profile-media-slider__arrow--previous {
    left: 2%;
  }
}

/*
			 * 1. Half the size of the button.
			 */
.profile-media-slider__arrow--next {
  right: 10px;
  filter: drop-shadow(0 10px 20px rgba(0, 0, 0, 0.15));
}
@media print, screen and (max-width: 48.06125em) {
  .profile-media-slider__arrow--next {
    right: 2%;
  }
}

/*
	 * 1. To ensure it sits above the media slider's shadow.
	 * 2. The same ms speed as the slider change speed.
	 */
.profile-media-controls {
  display: flex;
  margin-top: 12px;
  margin-bottom: 24px;
}
@media print, screen and (max-width: 48.06125em) {
  .profile-media-controls {
    justify-content: center;
    margin-bottom: 0;
  }
}
.profile-media-controls a {
  color: #3f3f46;
}
.profile-media-controls > * {
  display: flex;
  align-items: center;
  font-size: 11px;
  line-height: 24px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1px;
  z-index: 9; /* 1 */
  transition: all 300ms ease; /* 2 */
}
.profile-media-controls > *.active {
  color: #4e027c;
  opacity: 1;
}
.profile-media-controls > *:not(:last-child) {
  margin-right: 24px;
}
.profile-media-controls > * svg {
  margin-right: 8px;
}

/*
	 * 1. Ensure the gradient doesn't stop you from being able to use the scroll bar.
	 */
.profile-audio-player,
.profile-downloadable-videos {
  width: 100%;
  height: 100%;
  background-color: #ffffff;
  position: relative;
  overflow: hidden;
}
@media print, screen and (max-width: 48.06125em) {
  .profile-audio-player,
  .profile-downloadable-videos {
    padding: 12px;
  }
}
@media print, screen and (min-width: 48.0625em) {
  .profile-audio-player,
  .profile-downloadable-videos {
    padding: 36px;
  }
}
.profile-audio-player:not(.profile-audio-player--hard-bottom)::after,
.profile-downloadable-videos:not(.profile-audio-player--hard-bottom)::after {
  content: "";
  position: absolute;
  bottom: 0;
  height: 60px;
  width: 100%;
  background-image: linear-gradient(to bottom, rgba(255, 255, 255, 0), #ffffff);
  pointer-events: none; /* 1 */
}

.profile-audio-player--hard-bottom .profile-audio-player__list {
  padding-bottom: 0;
}

.profile-audio-player__controls {
  display: inline-flex;
  align-items: center;
  margin-bottom: 18px;
}

/*
			 * 1. Ensure that these controls don't change size due to the audio being played
			 */
.profile-audio-player__play-pause {
  flex-shrink: 0;
  margin-right: 13px;
}
.profile-audio-player__play-pause:focus {
  outline: none;
}

/*
				 * 1. Hide the play button when we're already playing.
				 * 2. Importants are unfortunately required to override Slick Slider.
				 */
.playing .profile-audio-player__play-button {
  display: none !important; /* 1 */ /* 2 */
}

/*
				 * 1. Show the pause button only when we're playing.
				 */
.profile-audio-player__pause-button {
  display: none !important; /* 2 */
}
.playing .profile-audio-player__pause-button {
  display: block !important; /* 1 */ /* 2 */
}

.profile-audio-player__controls-title {
  font-size: 14px;
  font-weight: 700;
}

.profile-audio-player__controls-artist {
  font-size: 12px;
  font-weight: 500;
  margin-top: 5px;
}

/*
		 * 1. Magic number intended to clip large lists of audio files.
		 * 2. Allows the audio player to take up max height and still be scrollable.
		 * 3. Magic number so you can scroll below the gradient at the bottom of this thing.
		 */
.profile-audio-player__list,
.profile-downloadable-videos__list {
  list-style-type: none;
  font-size: 14px;
  max-height: 100%; /* 1 */
  overflow-y: auto; /* 2 */
  padding-bottom: 48px; /* 3 */
  /*
  	 * 1. Reset the line height so we can set it on the track links.
  	 */
}
.profile-audio-player__list li,
.profile-downloadable-videos__list li {
  line-height: 1; /* 1 */
}
.profile-audio-player__list li:nth-child(odd),
.profile-downloadable-videos__list li:nth-child(odd) {
  background-color: #f4f6f8;
}

.profile-audio-player__track-link,
.profile-downloadable-videos__video-link {
  display: flex;
  align-items: center;
  padding: 4px 8px;
  font-weight: normal;
  line-height: 24px;
  color: #3f3f46;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.profile-audio-player__track-link.playing, .profile-audio-player__track-link.paused,
.profile-downloadable-videos__video-link.playing,
.profile-downloadable-videos__video-link.paused {
  font-weight: 700;
}
.profile-audio-player__track-link:focus,
.profile-downloadable-videos__video-link:focus {
  outline: none;
}
.profile-audio-player__track-link svg,
.profile-downloadable-videos__video-link svg {
  margin-left: auto;
}

/* ------------------------------------ *\
	$PROFILE BOOKING INFO SECTION
\* ------------------------------------ */
/*
 * 1. Allow this menu to overflow and drag left/right at small sizes.
 * 2. To account for the gradient overflow.
 */
.profile-booking-info-menu {
  list-style-type: none;
  display: flex;
  justify-content: center;
  font-size: 14px;
  margin-bottom: 24px;
  padding-bottom: 24px;
}
@media print, screen and (min-width: 48.0625em) {
  .profile-booking-info-menu--large-left {
    justify-content: left;
  }
}
.profile-booking-info-menu > *:not(:last-child) {
  margin-right: 32px;
}
.profile-booking-info-menu a {
  color: #3f3f46;
  opacity: 0.4;
  padding: 8px 0;
}
.profile-booking-info-menu a:hover, .profile-booking-info-menu a:focus {
  opacity: 1;
}
.profile-booking-info-menu a::after {
  content: "";
  display: block;
  width: 0;
  height: 2px;
  position: relative;
  top: 6px;
  background: #4e027c;
  transition: width 200ms ease-out;
}
.profile-booking-info-menu a.active {
  opacity: 1;
}
.profile-booking-info-menu a.active::after {
  width: 100%;
}
@media print, screen and (max-width: 48.06125em) {
  .profile-booking-info-menu {
    /* 1 */
    overflow-x: auto;
    overflow-y: hidden;
    justify-content: initial;
  }
  .profile-booking-info-menu > * {
    flex-shrink: 0;
  }
  .profile-booking-info-menu > *:not(:last-child) {
    margin-right: 16px;
  }
  .profile-booking-info-menu > *:last-child {
    padding-right: 16px; /* 2 */
  }
}

/*
 * Handles the gradient shown only at small sizes to indicate overflow content.
 * Has to be on a separate element from `.profile-booking-info-menu` due to
 * the following issue:
 * http://i.imgur.com/cybrSZh.gifv
 */
.profile-booking-info-gradient {
  position: relative;
}
.profile-booking-info-gradient::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 16px;
  height: 24px;
  background-image: linear-gradient(to right, rgba(255, 255, 255, 0), #ffffff);
}

/*
 * 1. For handling the separators between each adjacent booking info subsection.
 */
.profile-booking-info-subsection + .profile-booking-info-subsection {
  margin-top: 36px; /* 1 */
  padding-top: 36px; /* 1 */
  border-top: 1px solid #e4e4e7; /* 1 */
}

.profile-calendar-container + .profile-calendar-container {
  margin-top: 24px;
}

.profile-calendar__hidden-date {
  display: none;
}

.profile-calendar__date-separator {
  margin-left: 6px;
  margin-right: 6px;
  font-size: 12px;
}

.profile-social-icons {
  display: flex;
  list-style-type: none;
}
.profile-social-icons .icon--facebook,
.profile-social-icons .icon--twitter,
.profile-social-icons .icon--instagram,
.profile-social-icons .icon--linkedin {
  font-size: 24px;
  margin-right: 12px;
  padding: 12px;
  color: #ffffff;
}
.profile-social-icons .icon--facebook {
  background: #305891;
}
.profile-social-icons .icon--twitter {
  background: #2aa7de;
}
.profile-social-icons .icon--instagram {
  background: #83604b;
}
.profile-social-icons .icon--linkedin {
  background: #4393cc;
}
.profile-social-icons li:last-child i {
  margin-right: 0;
}
@media (max-width: 768px) {
  .profile-social-icons li {
    margin-bottom: 12px;
  }
  .profile-social-icons li:last-child {
    margin-bottom: 0;
  }
}

/* ------------------------------------ *\
	$PROFILE MINIMAL HEADER
\* ------------------------------------ */
.profile-minimal-header {
  position: relative;
  margin-top: 72px;
}

/* ------------------------------------ *\
	$OLD PROMOKIT/PROFILE STYLES
\* ------------------------------------ */
/**
 * Audio section
 * STILL USED IN THE EDIT PROFILE
 */
.promokit-audio__container {
  margin: 0 auto;
  width: 100%;
}

.promokit-audio__track {
  position: relative;
  display: table;
  width: 100%;
  list-style-type: none;
  cursor: pointer;
  background-color: #f2f2f2;
  margin-bottom: 12px;
}
.promokit-audio__track:hover, .promokit-audio__track.promokit-audio__track--playing {
  background-color: rgb(216.5, 216.5, 216.5);
}

.promokit-audio__controls {
  float: left;
  margin-right: 11px;
  padding: 6px 11px;
  background-color: #66c2ff;
  font-size: 20px;
  color: #ffffff;
}
.promokit-audio__controls:hover {
  color: #ffffff;
}
.promokit-audio__controls::before {
  display: flex;
  line-height: 0;
  content: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' fill='%23ffffff' viewBox='0 0 256 256'%3E%3Cpath d='M128,24A104,104,0,1,0,232,128,104.11,104.11,0,0,0,128,24Zm0,192a88,88,0,1,1,88-88A88.1,88.1,0,0,1,128,216Zm48.24-94.78-64-40A8,8,0,0,0,100,88v80a8,8,0,0,0,12.24,6.78l64-40a8,8,0,0,0,0-13.56ZM116,153.57V102.43L156.91,128Z'%3E%3C/path%3E%3C/svg%3E");
}
.promokit-audio__track--playing .promokit-audio__controls::before {
  content: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' fill='%23ffffff' viewBox='0 0 256 256'%3E%3Cpath d='M128,24A104,104,0,1,0,232,128,104.11,104.11,0,0,0,128,24Zm0,192a88,88,0,1,1,88-88A88.1,88.1,0,0,1,128,216ZM112,96v64a8,8,0,0,1-16,0V96a8,8,0,0,1,16,0Zm48,0v64a8,8,0,0,1-16,0V96a8,8,0,0,1,16,0Z'%3E%3C/path%3E%3C/svg%3E");
}

.promokit-audio__details {
  display: table-cell;
  vertical-align: middle;
  width: 100%;
  line-height: 24px;
  padding-right: 44px;
}

.promokit-audio__attribution-text {
  font-size: 14px;
  color: #a8a8a8;
}

.promokit-audio__edit {
  position: absolute;
  top: 18px;
  right: 12px;
  z-index: 9;
}

/**
 * Review section
 * STILL USED IN THE CONTROL PANEL
 */
.promokit-review__attachments {
  position: relative; /* Necessary for attachment labels */
  margin: -10px -20px 0; /* Negative margins to expand attachment background to edge of review */
  padding: 33px 20px 14px; /* padding-bottom is 20px minus the margin-bottom of the individual attachments */
  list-style-type: none;
  line-height: 0; /* Ensures the list items do not expand beyond the image height */
  text-align: left;
}

.promokit-review__attachment {
  display: inline-block;
  position: relative; /* Necessary for absolutely positioned icons overlayed on top of the attachments */
  margin-bottom: 4px;
  border: 1px solid #aaaaaa;
}

/**
 * Review attachments
 * STILL USED IN THE CONTROL PANEL AND WRITE REVIEW PAGE
 */
.review-attachments {
  margin-top: 0;
}

/* Ensure a disabled style is used for the icon font */
.review-attachments__upload-icon {
  font-size: 22px;
  color: #999999;
}
.review-attachments__upload-icon:hover {
  color: #999999;
}

/* Quote Request Form
----------------------------------------------------------------------------- */
.step-progress-row {
  margin-bottom: 24px;
}

.profile-quote-container {
  padding-bottom: 48px;
}

.quote_form,
.quote-request-form {
  text-align: center;
  transition: all 0.25s ease-in;
  max-width: 640px;
  margin: 0 auto;
}
.quote_form input,
.quote_form select,
.quote-request-form input,
.quote-request-form select {
  text-align: center;
}
.quote_form form > .input-section,
.quote_form form > .button-section,
.quote_form .quote-request-form__step--fade-in,
.quote-request-form form > .input-section,
.quote-request-form form > .button-section,
.quote-request-form .quote-request-form__step--fade-in {
  animation: fade-in-right 0.35s;
}
.quote_form p:not(.form-error),
.quote-request-form p:not(.form-error) {
  margin-bottom: 24px !important;
  margin-top: -15px;
  line-height: 18px;
  font-size: 13px;
  color: #919496;
}
.quote_form,
.quote-request-form {
  /*
   * Make the `p` styles of the error form text readable after setting the other `p` styles above.
   */
}
.quote_form .quote_form__error-banner p,
.quote-request-form .quote_form__error-banner p {
  margin: 0 !important;
  color: #ffffff;
}
.quote_form .custom-chadio-container--inline,
.quote-request-form .custom-chadio-container--inline {
  justify-content: center;
  margin-bottom: 30px;
}
.quote_form .custom-chadio-container--inline > label,
.quote-request-form .custom-chadio-container--inline > label {
  margin-bottom: 0;
}
.quote_form .button-group button,
.quote-request-form .button-group button {
  flex: 1 1 0;
}
.quote_form .progressbar-container,
.quote-request-form .progressbar-container {
  background-color: #eeeeee;
  border-radius: 8px;
}
.quote_form .progressbar-progress,
.quote-request-form .progressbar-progress {
  border-radius: 8px;
}
.quote_form label,
.quote-request-form label {
  font-size: 15px;
  line-height: 18px;
  margin-bottom: 24px;
  letter-spacing: -0.32px;
}
.quote_form label + .help-text + label,
.quote-request-form label + .help-text + label {
  display: none;
}
.quote_form,
.quote-request-form {
  /*
   * This all, in general, applies quote request-specific styling to these items
   * and resets overly-broad styling done in the quote request process elsewhere
   *
   * 1. To account for the margin-bottom we added to the chadio labels themselves
   * 2. Override the custom label styles above.
   * 3. Required for proper vertical centering. There's almost surely a better way to do this.
   */
}
.quote_form .custom-chadio-container,
.quote-request-form .custom-chadio-container {
  margin-bottom: 1.125rem; /* 1 */
}
.quote_form .custom-chadio-container label,
.quote-request-form .custom-chadio-container label { /* 2 */
  font-size: 0.875rem;
  line-height: 1;
  margin-bottom: 0.375rem;
  letter-spacing: 0;
}
.quote_form .custom-chadio-container.custom-chadio-container--contain-overflow label,
.quote-request-form .custom-chadio-container.custom-chadio-container--contain-overflow label {
  align-items: center;
}
.quote_form .custom-chadio-container.custom-chadio-container--contain-overflow i,
.quote-request-form .custom-chadio-container.custom-chadio-container--contain-overflow i {
  top: 1px; /* 3 */
}
.quote_form .custom-chadio-container.smart-columns,
.quote-request-form .custom-chadio-container.smart-columns {
  display: block;
  -moz-columns: 1;
       columns: 1;
}
@media print, screen and (min-width: 48.0625em) {
  .quote_form .custom-chadio-container.smart-columns:has(:nth-child(6)),
  .quote-request-form .custom-chadio-container.smart-columns:has(:nth-child(6)) {
    -moz-columns: 2;
         columns: 2;
  }
  .quote_form .custom-chadio-container.smart-columns:has(:nth-child(16)),
  .quote-request-form .custom-chadio-container.smart-columns:has(:nth-child(16)) {
    -moz-columns: 3;
         columns: 3;
  }
}
.quote_form .custom-chadio-container.smart-columns label,
.quote-request-form .custom-chadio-container.smart-columns label {
  -moz-column-break-inside: avoid;
       break-inside: avoid;
}
.quote_form .highlight .act,
.quote-request-form .highlight .act {
  margin: 6px 10px 0 16px;
  width: auto;
}
.quote_form .highlight .act:first-child,
.quote-request-form .highlight .act:first-child {
  margin-left: 0;
}
.quote_form .highlight .act input,
.quote-request-form .highlight .act input {
  margin: 0 auto;
  display: block;
  padding: 0;
}
.quote_form .highlight img,
.quote-request-form .highlight img {
  border: 4px solid #eeece6;
}
.quote_form .highlight img.error,
.quote-request-form .highlight img.error {
  border-color: #ca5503;
}
.quote_form .circle,
.quote-request-form .circle {
  display: inline-block;
  height: 22px;
  width: 22px;
  border-radius: 15px;
}
.quote_form .line,
.quote-request-form .line {
  display: inline-block;
  height: 3px;
  width: 80px;
  position: relative;
  top: -10px;
}
.quote_form .contact--disabled,
.quote-request-form .contact--disabled {
  position: absolute;
  left: 4px;
  top: 4px;
  height: 162px;
  width: 162px;
  display: block;
}
.quote_form .act,
.quote-request-form .act {
  position: relative;
}
.quote_form .act .act__checkbox,
.quote-request-form .act .act__checkbox {
  position: absolute;
  right: 0;
  bottom: 6px;
}
.quote_form .act--name,
.quote-request-form .act--name {
  position: absolute;
  top: 0;
  width: 100%;
}
.quote_form .act--name a,
.quote-request-form .act--name a {
  font-size: 14px;
  padding: 15px;
  width: 168px;
  display: block;
}
.quote_form,
.quote-request-form {
  /*
   * This poorly-named class handles the paragraph under the radio options
   * for the instant booking/traditional quote request step.
   */
}
.quote_form .instant-booking-option-description,
.quote-request-form .instant-booking-option-description {
  line-height: 19px;
  margin-top: 10px;
  margin-bottom: 12px;
  max-width: 720px;
}
@media print, screen and (min-width: 48.0625em) {
  .quote_form .instant-booking-option-description,
  .quote-request-form .instant-booking-option-description {
    margin-left: 29px;
  }
}

/* ------------------------------------ *\
	$SEARCH RESULTS PAGES
\* ------------------------------------ */
/*
 * The search results page. This is an important one!
 */
/*
 * The parent element/background of the overall results section. Implemented as part of the
 * January 2020 vendor card redesigns.
 */
.results-section {
  padding-top: 24px;
  background-color: #ffffff;
  border-radius: 0 !important;
  border-top: 1px solid #e4e4e7;
}

/*
 * 1. For spacing purposes, this pushes the content an equal length from one another
 * when multiple sections are present.
 */
.results-page__additional-content-section + .results-page__additional-content-section {
  margin-top: 48px; /* 1 */
}

/*
  * 1. The alternate results layout we use to test some things. (For instance,
  * pricing and TrustPilot.)
  * 2. To ensure labels aren't aligned left with the rest of the text.
  */
.alternate-results-header {
  /* 1 */
  padding: 48px 0;
}

.alternate-results-header__headline {
  font-size: 26px;
}
@media print, screen and (max-width: 59.99875em) {
  .alternate-results-header__headline {
    font-size: 18px;
    display: flex;
    flex-direction: column;
  }
}
.alternate-results-header__headline a {
  color: #3f3f46;
  margin: 0 5px;
}

.alternate-results-header__category-container,
.alternate-results-header__location-container {
  margin-top: 4px;
  margin-bottom: 24px;
}

@media print, screen and (max-width: 59.99875em) {
  .alternate-results-header__location-container {
    margin-bottom: 0;
  }
}

/*
			 * 1. For the icons that sit within the anchor.
			 */
.alternate-results-header__category,
.alternate-results-header__location {
  border-bottom: 1px solid #9ea2a6;
  padding-right: 24px; /* 1 */
  background-position: right center; /* 1 */
  background-repeat: no-repeat; /* 1 */
}
.alternate-results-header__category:hover, .alternate-results-header__category:active, .alternate-results-header__category:focus,
.alternate-results-header__location:hover,
.alternate-results-header__location:active,
.alternate-results-header__location:focus {
  border-color: #3f3f46;
  text-decoration: none;
}

.alternate-results-header__category {
  background-image: url("/images/svg/standalone/down-arrow-blue.1.svg");
}

.alternate-results-header__location {
  background-image: url("/images/svg/standalone/map-pin-blue.1.svg");
}

.alternate-results-header__horizontal-rule {
  max-width: none;
  margin-top: 48px;
  margin-bottom: 48px;
}

.price-bubbles {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 8px;
  flex-wrap: wrap;
}
@media screen and (max-width: 31.25em) {
  .price-bubbles .price-bubble-average-container {
    margin-left: 12px;
    margin-right: 12px;
  }
}
@media screen and (min-width: 31.3125em) {
  .price-bubbles .price-bubble-average-container {
    margin-left: 24px;
    margin-right: 24px;
  }
}

.price-bubble {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  border-radius: 50%;
  height: 96px;
  width: 96px;
  background-color: #fafafa;
}

/*
 * A special container for the average price so we can
 * make it 100% and push the other values below it.
 */
.price-bubble-average-container {
  display: flex;
  justify-content: center;
}

.price-bubble--average {
  background-color: #4e027c;
  color: #ffffff;
  height: 120px;
  width: 120px;
}

.price-bubble__price {
  font-size: 24px;
  line-height: 1;
  margin-bottom: 4px;
}
.price-bubble--average .price-bubble__price {
  font-size: 36px;
}

.price-bubble__description {
  font-size: 11px;
}
.price-bubble--average .price-bubble__description {
  font-size: 13px;
}

/*
 * The sidebar items which contain various bits of information.
 */
.results-sidebar-item {
  border: 1px solid #e4e4e7;
  background-color: #ffffff;
  padding: 24px;
  margin-bottom: 24px;
  text-align: center;
}
@media print, screen and (min-width: 60em) {
  .results-sidebar-item {
    padding-bottom: 32px;
  }
}
.results-sidebar-item b {
  color: #3f3f46;
}

.results-sidebar-item__headline {
  font-size: 14px;
  font-weight: 700;
}

.results-sidebar-item__imagery {
  margin-top: 16px;
  margin-bottom: 24px;
}

.results-sidebar-item__imagery--multiple {
  margin-top: 22px;
  margin-bottom: 14px;
}

.results-sidebar-item__text {
  font-size: 14px;
  line-height: normal;
  text-align: left;
}

/*
 * 1. Should be the same color as the text in the new vendor cards.
 */
.results-sidebar-item__gray-link,
.results-sidebar-item__text {
  color: #a1a1aa; /* 1 */
}

/*
 * Used on a parent container to increase the size of the vendor card review stars, like so:
 * https://i.imgur.com/1xUl12l.png
 */
.featured-review__ratings svg {
  width: 36px;
  height: 36px;
}

/*
 * The data panels which show information about the category/location.
 */
.quick-facts-grid {
  display: flex;
  flex-wrap: wrap;
  flex-direction: row;
  justify-content: center;
}

/*
 * 1. Necessary to fix instances like this:
 * https://i.imgur.com/U39n2eg.png
 */
.quick-facts-panel {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center; /* 1 */
  width: 100%;
  max-width: 260px;
  padding: 36px;
  background-color: #ffffff;
  border: 1px solid #e4e4e7;
  margin: 24px 15px 0;
}

.quick-facts-panel__icon {
  margin-bottom: 24px;
}

.quick-fact-panel__headline {
  font-size: 14px;
  font-weight: 700;
  line-height: 18px;
  margin-bottom: 6px;
}

/*
 * 1. To fix IE11 bug. Unfortunately, we still have enough IE11 visitors as of October 2018.
 * Before: https://i.imgur.com/w7hYJ3E.png
 * After: https://i.imgur.com/UK9HcOe.png
 */
.quick-fact-panel__text {
  color: #71717a;
  text-align: center;
  width: 100%; /* 1 */
}

.recent-quote {
  width: 100%;
  text-align: center;
  list-style-type: none;
  border: 1px solid #e4e4e7;
  background-color: #ffffff;
  padding: 24px;
  margin: 0 auto 24px;
}
.recent-quote:last-child {
  margin-bottom: 0;
}

.recent-quote__headline {
  font-size: 16px;
  font-weight: 700;
}

.recent-quote__event-type-image {
  border-radius: 100%;
  margin-bottom: 24px;
}

.recent-quote__details {
  display: flex;
  flex-wrap: wrap;
}

.recent-quote__detail {
  width: 100%;
  list-style-type: none;
  margin-bottom: 18px;
}
@media print, screen and (min-width: 60em) {
  .recent-quote__detail {
    width: 45%;
    margin-left: 2.5%;
    margin-right: 2.5%;
  }
}
.recent-quote__detail:last-child {
  margin-bottom: 0;
}

.recent-quote__detail--additional-details {
  width: 100%;
}

.recent-quote__detail-headline {
  font-size: 16px;
  font-weight: 700;
}

.recent-quote__detail-text {
  margin-top: 0;
}

/*
 * As the mockup didn't have this, and it's throwing off spacing, we're doing without it as well.
 */
@media print, screen and (min-width: 60em) {
  .results-header {
    display: flex;
  }
}
.results-header .quote-request-step-indicator {
  display: none; /* 1 */
}

@media print, screen and (max-width: 59.99875em) {
  .results-header__title-section,
  .results-header__form-section {
    padding: 48px 0;
  }
}
@media print, screen and (min-width: 60em) {
  .results-header__title-section,
  .results-header__form-section {
    padding: 72px 0;
  }
}

.results-header__title-section {
  padding-top: 60px;
  padding-bottom: 37px;
}
.results-header__title-section a {
  color: #3f3f46;
}

.results-header__category-container,
.results-header__location-container {
  margin-top: 4px;
  margin-bottom: 36px;
}

@media print, screen and (max-width: 59.99875em) {
  .results-header__location-container {
    margin-bottom: 12px;
  }
}

/*
			 * 1. For the icons that sit within the anchor.
			 */
.results-header__category,
.results-header__location {
  border-bottom: 1px solid #9ea2a6;
  padding-right: 24px; /* 1 */
  background-position: right center; /* 1 */
  background-repeat: no-repeat; /* 1 */
}
.results-header__category:hover, .results-header__category:active, .results-header__category:focus,
.results-header__location:hover,
.results-header__location:active,
.results-header__location:focus {
  border-color: #3f3f46;
  text-decoration: none;
}

.results-header__category {
  background-image: url("/images/svg/standalone/down-arrow-blue.1.svg");
}

.results-header__location {
  background-image: url("/images/svg/standalone/map-pin-blue.1.svg");
}

.results-header__form-section {
  display: flex;
  flex-direction: column;
  justify-content: center;
  flex-grow: 1;
  max-width: 570px !important;
  width: 100%;
  margin: 0 auto;
}
@media print, screen and (min-width: 60em) {
  .results-header__form-section {
    padding-left: 38px;
  }
}

.results-subheader {
  margin: 0 0 24px;
  font-size: 14px;
  line-height: 24px;
}
@media print, screen and (max-width: 59.99875em) {
  .results-subheader {
    flex-direction: column;
  }
}

.results-subheader__item {
  display: flex;
  align-items: center;
  font-weight: 700;
}
@media print, screen and (max-width: 59.99875em) {
  .results-subheader__item {
    margin-bottom: 12px;
  }
}
@media print, screen and (min-width: 60em) {
  .results-subheader__item + .results-subheader__item {
    margin-left: 40px;
  }
}

.results-subheader__item-icon {
  width: 16px;
  height: 16px;
  margin-right: 6px;
  color: #4e027c;
}

.results-subheader__category-arrow-icon {
  transform: rotate(90deg);
}

.results-subheader__filter-icon {
  width: 20px;
  height: 20px;
  margin-right: 8px;
}

/*
 * 1. Hard coded rather than relatively positioned so that it doesn't change
 * location based on the height of the quote request form.
 */
.alternate-results-header__title-section {
  display: flex;
  flex-direction: column;
  font-size: 16px;
  line-height: 1.33;
  position: relative;
  margin-bottom: 24px;
}
@media print, screen and (max-width: 59.99875em) {
  .alternate-results-header__title-section {
    align-items: center;
    justify-content: center;
  }
}
@media print, screen and (min-width: 60em) {
  .alternate-results-header__title-section {
    background-color: #ffffff;
    padding: 24px 12px 0;
  }
}
.alternate-results-header__title-section a {
  color: #3f3f46;
}

.alternate-results-header__category-container,
.alternate-results-header__location-container {
  margin-top: 4px;
  margin-bottom: 24px;
}
@media print, screen and (max-width: 59.99875em) {
  .alternate-results-header__category-container,
  .alternate-results-header__location-container {
    margin-bottom: 6px;
  }
}

@media print, screen and (max-width: 59.99875em) {
  .alternate-results-header__category-container {
    margin-bottom: 36px;
  }
}

/*
		 * 1. For the icons that sit within the anchor.
		 */
.alternate-results-header__category,
.alternate-results-header__location {
  font-size: 22px;
  font-size: 26px;
  border-bottom: 1px solid #9ea2a6;
  padding-right: 24px; /* 1 */
  background-position: right center; /* 1 */
  background-repeat: no-repeat; /* 1 */
  width: 100%;
}
.alternate-results-header__category:hover, .alternate-results-header__category:active, .alternate-results-header__category:focus,
.alternate-results-header__location:hover,
.alternate-results-header__location:active,
.alternate-results-header__location:focus {
  border-color: #3f3f46;
  text-decoration: none;
}

.alternate-results-header__category {
  background-image: url("/images/svg/standalone/down-arrow-blue.1.svg");
}

.alternate-results-header__location {
  background-image: url("/images/svg/standalone/map-pin-blue.1.svg");
}

/* safe to update code below this line!!! */
[id=category_image] {
  display: none;
  z-index: -1;
  position: absolute;
  left: calc(100% + 1px);
  transform: translateX(-50%) translateY(35px);
  transition: transform 0.25s ease-in;
  height: 528px;
  max-width: 10000%;
}

.results-header__alt-styling {
  transition: all 0.25s ease-in;
  position: relative;
  overflow: hidden;
  z-index: 0;
  min-height: calc(100vh - 172px);
}
@media (min-height: 750px) {
  .results-header__alt-styling {
    min-height: 592px;
  }
}
.results-header__alt-styling--mobile {
  min-height: 388px;
}
.results-header__alt-styling[data-step-number] {
  background-position-x: 125vw;
}
.results-header__alt-styling[data-step-number] [id=category_image] {
  transform: none;
}
.results-header__alt-styling[data-step-number] + section {
  margin-top: 0;
}
.results-header__alt-styling[data-step-number] [id=quote_form] > section:not(.quote_form__error-banner) {
  display: grid;
  grid-template-rows: auto 1fr;
  grid-template-columns: 1fr;
}
@media print, screen and (min-width: 48.0625em) {
  .results-header__alt-styling[data-step-number] [id=quote_form] > section:not(.quote_form__error-banner) {
    min-height: calc(100vh - 152px);
  }
}
.results-header__alt-styling[data-step-number] [id=quote_form] .step-progress-row {
  margin-top: 24px;
}
.results-header__alt-styling[data-step-number] [id=quote_form] .alt-indicator {
  display: block !important;
  margin-top: 40px;
  margin-bottom: 57px;
  grid-row: 1;
}
.results-header__alt-styling[data-step-number] [id=quote_form] .alt-indicator .ant-progress-text {
  font-weight: 700;
}
.results-header__alt-styling[data-step-number] [id=quote_form] .alt-indicator .ant-progress-circle-path,
.results-header__alt-styling[data-step-number] [id=quote_form] .alt-indicator .ant-progress-circle-trail {
  stroke-width: 10;
}
.results-header__alt-styling[data-step-number] [id=quote_form] .alt-indicator .ant-progress-circle-path {
  stroke: #4e027c;
}
.results-header__alt-styling[data-step-number] [id=quote_form] .alt-indicator .ant-progress-circle-trail {
  stroke: #ebebeb;
}
.results-header__alt-styling[data-step-number] [id=quote_form] .alt-indicator .ant-progress-circle {
  overflow: visible;
}
.results-header__alt-styling[data-step-number] [id=quote_form] .form-row {
  grid-row: 2;
}
.results-header__alt-styling[data-step-number] [id=quote_form] .form-row > div {
  height: 100%;
}
.results-header__alt-styling[data-step-number] [id=quote_form] .form-row > div > div {
  height: 100%;
}
@media print, screen and (max-width: 48.06125em) {
  .results-header__alt-styling[data-step-number] [id=quote_form] .form-row .form-reduced-height {
    min-height: 233px;
  }
}
.results-header__alt-styling[data-step-number] [id=quote_form] .form-row form {
  display: grid;
  max-height: 100%;
  grid-template-rows: auto 1fr;
  grid-template-columns: 1fr;
}
@media print, screen and (max-width: 48.06125em) {
  .results-header__alt-styling[data-step-number] [id=quote_form] .form-row form {
    min-height: calc(100vh - 219px);
  }
}
.results-header__alt-styling[data-step-number] [id=quote_form] .form-row form .input-section {
  grid-row: 1;
  justify-self: center;
  width: 100%;
}
.results-header__alt-styling[data-step-number] [id=quote_form] .form-row form .button-section {
  grid-row: 2;
  padding-bottom: 20px;
}
.results-header__alt-styling[data-step-number] [id=quote_form] .button-group {
  grid-template-columns: repeat(2, 1fr);
}
.results-header__alt-styling[data-step-number] [id=quote_form] .button-group > .and-progress {
  display: none;
}
.results-header__alt-styling[data-step-number] [id=quote_form] .custom-chadio-container:not(.custom-chadio-container--inline):not(.custom-chadio-container--inline-desktop-only) {
  display: grid;
  grid-template-columns: auto auto;
  justify-content: space-evenly;
}
.results-header__alt-styling[data-step-number] [id=quote_form] .custom-chadio-container [for^=quote__isInstantBooking] {
  grid-column: span 2;
}
.results-header__alt-styling[data-step-number] [id=quote_form] .custom-chadio-container .instant-booking-option-description {
  grid-column: span 2;
}
.results-header__alt-styling[data-step-number] [id=quote_form] .custom-chadio-container--inline-desktop-only {
  display: inline-flex;
}
.results-header__alt-styling[data-step-number] .results-header {
  grid-template-rows: 0 1fr 0;
  grid-template-columns: 1fr;
}
.results-header__alt-styling[data-step-number] .results-header__title-section {
  display: none;
}
.results-header__alt-styling[data-step-number] .results-header__form-section {
  grid-row: 2;
  justify-content: center;
  padding-top: 0;
}
.results-header__alt-styling:not([data-step-number]) .results-header__form-section {
  display: grid;
  grid-template-rows: auto 1fr;
  grid-template-columns: 1fr;
  grid-row: 2;
}
.results-header__alt-styling:not([data-step-number]) [id=js-quote-request] {
  grid-row: 1;
}
.results-header__alt-styling:not([data-step-number]) [id=js-quote-request] .button-group .button {
  margin-bottom: 0;
  width: 100%;
}
.results-header__alt-styling:not([data-step-number]) [id=js-quote-form-header] {
  grid-row: 2;
}
.results-header__alt-styling:not([data-step-number]) [id=js-quote-form-header] p {
  font-size: 13px;
  color: rgba(36, 42, 46, 0.5);
}
.results-header__alt-styling [id=category_image] {
  display: block;
}
.results-header__alt-styling + section {
  position: relative;
  z-index: 1;
  border-top-left-radius: 20px;
  border-top-right-radius: 20px;
  transition: margin 0.25s ease-in;
}
.results-header__alt-styling + section .results-subheader__item.show-for-small-only {
  display: none;
}
.results-header__alt-styling input,
.results-header__alt-styling select {
  text-align: center;
}
.results-header__alt-styling select {
  text-align: center;
}
.results-header__alt-styling option {
  color: #3f3f46;
}
.results-header__alt-styling option.hidden {
  display: none;
}
.results-header__alt-styling .help-text {
  background-color: rgba(255, 255, 255, 0.7);
}
.results-header__alt-styling .custom-chadio-container--inline {
  justify-content: center;
  margin-bottom: 30px;
}
.results-header__alt-styling .results-header {
  text-align: center;
  height: auto;
  min-height: 380px;
  display: grid;
  grid-template-rows: auto 1fr;
  grid-template-columns: 1fr;
  transition: all 0.25s ease-in;
}
.results-header__alt-styling .results-header__title-section__filler-text {
  display: none;
}
.results-header__alt-styling .results-header__title-section {
  display: grid;
  grid-row: 1;
  grid-template-rows: repeat(2, auto);
  grid-template-columns: 1fr auto 1fr;
  border-bottom: 0;
}
.results-header__alt-styling .results-header__form-section {
  padding: 0;
}
.results-header__alt-styling .results-header__category-container,
.results-header__alt-styling .results-header__location-container {
  display: flex;
  align-content: center;
  justify-content: center;
  margin: 0;
}
.results-header__alt-styling .results-header__category-container a,
.results-header__alt-styling .results-header__location-container a {
  font-weight: 700;
  margin: 0;
}
.results-header__alt-styling .results-header__category-container {
  margin-left: auto;
  margin-right: auto;
  grid-row: 2;
  grid-column: 2;
  transform: translateX(10px);
}
.results-header__alt-styling .results-header__category-container a {
  font-size: 30px;
  line-height: 35px;
  letter-spacing: -0.63px;
}
.results-header__alt-styling .results-header__location-container {
  grid-row: 1;
  grid-column: 2;
  align-self: end;
}
.results-header__alt-styling .results-header__location-container a {
  color: #4e027c;
  font-size: 16px;
  line-height: 19px;
  margin-bottom: 3px;
}
.results-header__alt-styling .results-header__category,
.results-header__alt-styling .results-header__location {
  border: 0;
}
.results-header__alt-styling .results-header__location {
  background-image: none;
  padding-right: 0;
}
.results-header__alt-styling .results-header__category {
  background-image: url("/images/svg/standalone/down-arrow-gray_square.1.svg");
  padding-right: 18px;
  background-size: 9px;
  background-position: right 60%;
}
.results-header__alt-styling [id=quote_form] {
  grid-area: qr-middle;
}
.results-header__alt-styling [id=quote_form] .ib--lead-copy {
  margin-top: 0;
  margin-bottom: 0;
}
.results-header__alt-styling [id=quote_form] .ib--recap {
  text-align: left;
}
.results-header__alt-styling [id=quote_form] .ib--notice-copy {
  margin-top: 12px;
}
.results-header__alt-styling .button-group {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  align-items: center;
  justify-items: center;
  margin-bottom: 20px;
}
@supports (grid-column-gap: 10px) {
  .results-header__alt-styling .button-group {
    grid-column-gap: 10px;
  }
}
.results-header__alt-styling .button-group .button {
  margin-left: 0;
  padding-left: 0;
  padding-right: 0;
  margin-right: 5px;
  justify-self: center;
  width: calc(50vw - 55px);
  grid-column-start: 1;
  grid-column-end: span 2;
}
@supports (grid-column-gap: 10px) {
  .results-header__alt-styling .button-group .button {
    margin-right: 0;
  }
}
.results-header__alt-styling .button-group .button.secondary {
  grid-column: 1;
}
.results-header__alt-styling .button-group .button + .button {
  margin-left: 5px;
  grid-column: 2;
}
@supports (grid-column-gap: 10px) {
  .results-header__alt-styling .button-group .button + .button {
    margin-left: 0;
  }
}
.results-header__alt-styling .button-group .button.secondary,
.results-header__alt-styling .button-group .button + .button {
  grid-column-end: span 1;
  width: calc(100% - 5px);
}
@supports (grid-column-gap: 10px) {
  .results-header__alt-styling .button-group .button.secondary,
  .results-header__alt-styling .button-group .button + .button {
    width: 100%;
  }
}
.results-header__alt-styling .results-header__form-section {
  justify-content: start;
}

.results-header__alt-styling-padding, .results-header__alt-styling [id=quote_form] label:not(.no__results-header__alt-styling-padding) {
  display: inline-block;
  background-color: rgba(255, 255, 255, 0.7);
  border-radius: 8px;
  padding: 0 4px;
}

.instant-booking__sidebar {
  max-width: 100vw;
}

/**
 * These styles below are overriding the mobile styling above.
 * This was done for convenience, but in the end, we should refactor this styling to combine it with the mobile styling above
 * 1. Only include these changes for medium and up. If the user changes their viewport to below this, we want to use mobile styling!
 */
@media print, screen and (min-width: 48.0625em) {
  .results-header__alt-styling--desktop {
    min-height: 432px;
    max-width: 100%;
    padding-bottom: 48px;
  }
}
@media print and (min-height: 750px), screen and (min-width: 48.0625em) and (min-height: 750px) {
  .results-header__alt-styling--desktop {
    min-height: 432px;
  }
}
@media print, screen and (min-width: 48.0625em) {
  .results-header__alt-styling--desktop [id=category_image] {
    transform: translateX(-100%) translateY(24px);
  }
  .results-header__alt-styling--desktop .results-header__title-section {
    width: auto;
    border: 0;
    padding-right: 0;
  }
  .results-header__alt-styling--desktop .button-group .button {
    width: 100%;
  }
  .results-header__alt-styling--desktop[data-step-number] [id=quote_form] > section:not(.quote_form__error-banner) {
    min-height: auto !important;
  }
  .results-header__alt-styling--desktop[data-step-number] [id=quote_form] .form-row form {
    min-height: auto !important;
  }
}
@media screen and (min-width: 48.0625em) and (min-width: 75em) {
  .results-header__alt-styling--desktop[data-step-number] [id=category_image] {
    transform: translateX(-100%) translateY(24px);
  }
}

/* ------------------------------------ *\
	$SEARCH RESULTS FILTERS
\* ------------------------------------ */
@media print, screen and (max-width: 59.99875em) {
  .results-section {
    padding-top: 12px;
  }
}

@media print, screen and (max-width: 59.99875em) {
  .results-subheader__section {
    line-height: 18px;
  }
}

@media print, screen and (max-width: 59.99875em) {
  .results-subheader__section .breadcrumbs {
    display: block;
    margin-bottom: 2px;
  }
  .results-subheader__section .breadcrumbs li {
    color: #71717a;
    font-size: 12px;
    line-height: 18px;
  }
  .results-subheader__section .breadcrumbs li a {
    font-weight: normal;
  }
  .results-subheader__section .breadcrumbs li:not(:last-child)::after {
    margin: 0 4px;
  }
}

.results-filter__date {
  display: inline-flex;
  align-items: center;
  min-width: 212px;
  height: 48px;
  cursor: pointer;
  border: 1px solid #e4e4e7;
  border-radius: 8px;
  box-shadow: 0px 0.5px 4px -1px rgba(0, 0, 0, 0.14), 0px 1px 2px 0px rgba(0, 0, 0, 0.14);
}

.results-filter__date > img {
  margin: 0 13px;
}

.results-filter__date-label {
  font-size: 12px;
  line-height: 18px;
  font-weight: 700;
}

.results-filter__date-value {
  font-size: 14px;
  line-height: 18px;
  font-weight: 700;
}
.results-filter__date-value:not(.results-filter__date-value--selected) {
  font-weight: normal;
  color: #a1a1aa;
}

.results-filter__date-remove {
  background: #fafafa;
  margin-left: auto;
  height: 100%;
  padding: 0 14px;
  font-size: 28px;
  border-radius: 0 8px 8px 0;
  color: #3f3f46;
}
.results-filter__date-remove:focus, .results-filter__date-remove:hover {
  color: rgba(63, 63, 70, 0.75);
}

.dimmed {
  position: relative;
}

.dimmed::after {
  content: " ";
  z-index: 2;
  display: block;
  position: absolute;
  height: 100%;
  top: 0;
  left: 0;
  right: 0;
  background-color: rgba(255, 255, 255, 0.82);
}

.vendor-card-list > .css-loader {
  position: absolute;
  top: -70px;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 3;
}

.vendor-card-list {
  position: relative;
}

/**
 * Shame.css
 *
 * The shame file is where we put poorly categorized, named, or implemented styles.
 * These styles should, at some point, be better categorized, named, or implemented.
 *
 * Inspired by: http://csswizardry.com/2013/04/shame-css/
 */
/* ------------------------------------ *\
	$SEARCH PAGE <--- Inaccurate, it's all over the place
\* ------------------------------------ */
.search-icon {
  position: absolute;
  top: 50%;
  font-size: 20px;
  margin-top: -12px;
  background: transparent;
  border: 0;
  cursor: pointer;
}
.search-icon:hover, .search-icon:focus {
  background: transparent;
}

/* ------------------------------------ *\
	$CONTROL PANEL CHECKOUT FORM
\* ------------------------------------ */
.control-panel-checkout-form .super {
  position: relative;
  top: -8px;
  font-size: 22px;
}

/* ------------------------------------ *\
	$CODEIGNITER PROFILE
\* ------------------------------------ */
/*
 * 1. Add a bunch of padding to the bottom of the profiler to account for the
 * static footer that appears at large sizes.
 * Fixes this issue: http://i.imgur.com/af1aFZX.png
 */
@media screen and (min-width: 90em) {
  #codeigniter_profiler {
    padding-bottom: 375px !important; /* 1 */
  }
}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImdpZ3NhbGFkLmNzcyIsImdpZ3NhbGFkLnNjc3MiLCJ1dGlsaXRpZXMvX21peGlucy5zY3NzIiwidXRpbGl0aWVzL192YXJpYWJsZXMuc2NzcyIsInZlbmRvci9ub3JtYWxpemUvX25vcm1hbGl6ZS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2xhZGRhL2Nzcy9sYWRkYS5zY3NzIiwidmVuZG9yL3N0aWNreS1zdGF0ZS9fc3RpY2t5LXN0YXRlLnNjc3MiLCJ2ZW5kb3IvY29uZmV0dGkvX2NvbmZldHRpLnNjc3MiLCJ2ZW5kb3IvZ3MtYWNjb3JkaW9uL19ncy1hY2NvcmRpb24uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9jcm9wcGVyL3NyYy9zY3NzL2Nyb3BwZXIuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9jcm9wcGVyL3NyYy9zY3NzL19tYWluLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvY3JvcHBlci9zcmMvc2Nzcy9fbWl4aW5zLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvY3JvcHBlci9zcmMvc2Nzcy9fdmFyaWFibGVzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvY3JvcHBlci9zcmMvc2Nzcy9fdXRpbGl0aWVzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbWFnbmlmaWMtcG9wdXAvc3JjL2Nzcy9tYWluLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbWFnbmlmaWMtcG9wdXAvc3JjL2Nzcy9fc2V0dGluZ3Muc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm91bmRhdGlvbi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy92ZW5kb3Ivbm9ybWFsaXplLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL19nbG9iYWwuc2NzcyIsInZlbmRvci1leHRlbnNpb25zL2ZvdW5kYXRpb24tNi9fc2V0dGluZ3Muc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fbWl4aW5zLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3R5cG9ncmFwaHkvX2Jhc2Uuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fYnJlYWtwb2ludC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy90eXBvZ3JhcGh5L19oZWxwZXJzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3R5cG9ncmFwaHkvX2FsaWdubWVudC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy90eXBvZ3JhcGh5L19wcmludC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19icmVhZGNydW1icy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19idXR0b24uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fYnV0dG9uLWdyb3VwLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2NhcmQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fZmxleC1ncmlkLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX3Jvdy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19ndXR0ZXIuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fcG9zaXRpb24uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fZmxleC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19mbGV4LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3Jlc3BvbnNpdmUtZW1iZWQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX3RleHQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2NoZWNrYm94LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19sYWJlbC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9faGVscC10ZXh0LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19pbnB1dC1ncm91cC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fZmllbGRzZXQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX3NlbGVjdC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fZXJyb3Iuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fbWVkaWEtb2JqZWN0LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3RhYmxlLnNjc3MiLCJ2ZW5kb3ItZXh0ZW5zaW9ucy9tYWduaWZpYy1wb3B1cC9fbWFnbmlmaWMtcG9wdXAuc2NzcyIsInZlbmRvci1leHRlbnNpb25zL2Nyb3BwZXIvX2Nyb3BwZXIuc2NzcyIsInZlbmRvci1leHRlbnNpb25zL2Ryb3AvX2Ryb3AtdGhlbWUtZ2lnc2FsYWQuc2NzcyIsInZlbmRvci1leHRlbnNpb25zL2Ryb3AvX2Ryb3AtdGhlbWUtbmF2aWdhdGlvbi5zY3NzIiwidmVuZG9yLWV4dGVuc2lvbnMvcm95YWxzbGlkZXIvX2pxdWVyeS1yb3lhbHNsaWRlci5zY3NzIiwidmVuZG9yLWV4dGVuc2lvbnMvZm91bmRhdGlvbi02L3R5cG9ncmFwaHkvX2Jhc2Uuc2NzcyIsInZlbmRvci1leHRlbnNpb25zL2ZvdW5kYXRpb24tNi9jb21wb25lbnRzL19icmVhZGNydW1icy5zY3NzIiwidmVuZG9yLWV4dGVuc2lvbnMvZm91bmRhdGlvbi02L2NvbXBvbmVudHMvX2J1dHRvbi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19jb2xvci5zY3NzIiwidmVuZG9yLWV4dGVuc2lvbnMvZm91bmRhdGlvbi02L2NvbXBvbmVudHMvX2J1dHRvbi1ncm91cC5zY3NzIiwidmVuZG9yLWV4dGVuc2lvbnMvZm91bmRhdGlvbi02L2NvbXBvbmVudHMvX2NhcmQuc2NzcyIsInZlbmRvci1leHRlbnNpb25zL2ZvdW5kYXRpb24tNi9jb21wb25lbnRzL19tZWRpYS1vYmplY3Quc2NzcyIsInZlbmRvci1leHRlbnNpb25zL2ZvdW5kYXRpb24tNi9jb21wb25lbnRzL190YWJsZS5zY3NzIiwidmVuZG9yLWV4dGVuc2lvbnMvZm91bmRhdGlvbi02L2NvbXBvbmVudHMvX3Zpc2liaWxpdHkuc2NzcyIsInZlbmRvci1leHRlbnNpb25zL2ZvdW5kYXRpb24tNi9mb3Jtcy9fZXJyb3Iuc2NzcyIsInZlbmRvci1leHRlbnNpb25zL2ZvdW5kYXRpb24tNi9mb3Jtcy9fc2VsZWN0LnNjc3MiLCJ2ZW5kb3ItZXh0ZW5zaW9ucy9mb3VuZGF0aW9uLTYvZm9ybXMvX3RleHQuc2NzcyIsInZlbmRvci1leHRlbnNpb25zL2ZvdW5kYXRpb24tNi9mb3Jtcy9faGVscC10ZXh0LnNjc3MiLCJ2ZW5kb3ItZXh0ZW5zaW9ucy9mb3VuZGF0aW9uLTYvZm9ybXMvX2xhYmVsLnNjc3MiLCJ2ZW5kb3ItZXh0ZW5zaW9ucy9mb3VuZGF0aW9uLTYvZm9ybXMvX2lucHV0LWdyb3VwLnNjc3MiLCJ2ZW5kb3ItZXh0ZW5zaW9ucy9wZW5kby9fZ2VuZXJhbC5zY3NzIiwidmVuZG9yLWV4dGVuc2lvbnMvcGVuZG8vX2J1dHRvbi5zY3NzIiwidmVuZG9yLWV4dGVuc2lvbnMvcGVuZG8vX25wcy5zY3NzIiwiYmFzZS9fYmFzZS1lbGVtZW50cy5zY3NzIiwiYmFzZS9faGVhZGluZ3Muc2NzcyIsImJhc2UvX2ZvbnRzLnNjc3MiLCJiYXNlL19pY29ucy5zY3NzIiwidmVuZG9yL2FuaW1hdGUuY3NzL3NvdXJjZS9mYWRpbmdfZW50cmFuY2VzL19mYWRlSW4uc2NzcyIsImJhc2UvX2FuaW1hdGlvbnMuc2NzcyIsImJhc2UvX2hlbHBlcnMuc2NzcyIsImxheW91dC9faGVhZGVyLnNjc3MiLCJsYXlvdXQvX2Zvcm1zLnNjc3MiLCJsYXlvdXQvX25hdmlnYXRpb24uc2NzcyIsImxheW91dC9fc3ViaGVhZGluZy5zY3NzIiwibGF5b3V0L19mb290ZXIuc2NzcyIsImxheW91dC9fbmF2LWJhci5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL192aXNpYmlsaXR5LnNjc3MiLCJjb21wb25lbnRzL19hbGVydHMuc2NzcyIsImNvbXBvbmVudHMvX2F0dGFjaG1lbnRzLnNjc3MiLCJjb21wb25lbnRzL19hdXRvY29tcGxldGUuc2NzcyIsImNvbXBvbmVudHMvX2NhdGVnb3J5LXBpY2tlci1tb2RhbC5zY3NzIiwiY29tcG9uZW50cy9fbWFrZS1lbGVtZW50LWNsaWNrYWJsZS5zY3NzIiwiY29tcG9uZW50cy9fY2hhbmdlLXdpZGdldC5zY3NzIiwiY29tcG9uZW50cy9fY3VzdG9tLWNoYWRpby5zY3NzIiwiY29tcG9uZW50cy9fZXZlbnQtY2FyZC5zY3NzIiwiY29tcG9uZW50cy9fZmFxLWNhcmQuc2NzcyIsImNvbXBvbmVudHMvX2Zhdm9yaXRlcy1kcm9wZG93bi5zY3NzIiwiY29tcG9uZW50cy9fZmVhdHVyZS1saXN0LnNjc3MiLCJjb21wb25lbnRzL19sb2FkaW5nLWluZGljYXRvci5zY3NzIiwiY29tcG9uZW50cy9fbG9naW4tc2lnbnVwLW1vZGFsLnNjc3MiLCJjb21wb25lbnRzL19wYWdpbmF0aW9uLnNjc3MiLCJjb21wb25lbnRzL19wcmljaW5nLWNoYXJ0LnNjc3MiLCJjb21wb25lbnRzL19yZXNwb25zaXZlLXRhYmxlLnNjc3MiLCJjb21wb25lbnRzL19yZXZpZXctc3RhcnMuc2NzcyIsImNvbXBvbmVudHMvX3JpYmJvbi5zY3NzIiwiY29tcG9uZW50cy9fc2VhcmNoLWZvcm0uc2NzcyIsImNvbXBvbmVudHMvX3Rlc3RpbW9uaWFsLnNjc3MiLCJjb21wb25lbnRzL190ZXN0aW1vbmlhbC1sb2dvcy5zY3NzIiwiY29tcG9uZW50cy9fdG9wLWN0YS1kcm9wZG93bi5zY3NzIiwiY29tcG9uZW50cy9fdG9wLXBlcmZvcm1lci1iYW5uZXIuc2NzcyIsImNvbXBvbmVudHMvX3ZlbmRvci1jYXJkLnNjc3MiLCJjb21wb25lbnRzL192ZW5kb3ItcmF0aW5ncy5zY3NzIiwicGFnZXMvX2Fib3V0LnNjc3MiLCJwYWdlcy9fY2F0ZWdvcnkuc2NzcyIsInBhZ2VzL19jb250YWN0LnNjc3MiLCJwYWdlcy9faG9tZS5zY3NzIiwicGFnZXMvX2luc3RhbnQtYm9va2luZy5zY3NzIiwicGFnZXMvX2pvaW4uc2NzcyIsInBhZ2VzL19sYW5kaW5nLXBhZ2VzLnNjc3MiLCJwYWdlcy9fb25ib2FyZGluZy5zY3NzIiwicGFnZXMvX3BhcnR5LWlkZWFzLnNjc3MiLCJwYWdlcy9fcHJvZmlsZS5zY3NzIiwicGFnZXMvX3F1b3RlLXJlcXVlc3Quc2NzcyIsInBhZ2VzL19yZXN1bHRzLnNjc3MiLCJwYWdlcy9fcmVzdWx0c19hbHRfaGVhZGVyX3N0eWxpbmcuc2NzcyIsInBhZ2VzL19yZXN1bHRzLWZpbHRlcnMuc2NzcyIsIm1pc2MvX3NoYW1lLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsZ0JBQWdCO0FDRWhCOzs7Ozs7RUFBQTtBQ0lBLCtDQUFBO0FBV0EsOENBQUE7QUFZQTs7eUNBQUE7QUFJQTs7Ozs7O0VBQUE7QUFpQkE7Ozs7OztFQUFBO0FBMEJBOztFQUFBO0FBc0NBOztFQUFBO0FBbUNBOzt5Q0FBQTtBQ2pKQTs7eUNBQUE7QUFnREE7O0VBQUE7QUFPQTs7RUFBQTtBQThCQTs7RUFBQTtBQUlBOzt5Q0FBQTtBQVNBOzs7RUFBQTtBQTJDQTs7eUNBQUE7QUFPQTs7eUNBQUE7QUFNQTs7eUNBQUE7QUFLQTs7eUNBQUE7QUFJQTs7O0VBQUE7QUFZQTs7eUNBQUE7QUFxQ0E7O3lDQUFBO0FBT0E7O3lDQUFBO0FBUUE7O3lDQUFBO0FDdk9BLDJFQUFBO0FBRUE7OztFQUFBO0FBS0E7RUFDRSx1QkFBQSxFQUFBLE1BQUE7RUFDQSwwQkFBQSxFQUFBLE1BQUE7RUFDQSw4QkFBQSxFQUFBLE1BQUE7QUprRkY7O0FJL0VBOztFQUFBO0FBSUE7RUFDRSxTQUFBO0FKaUZGOztBSTlFQTsrRUFBQTtBQUdBOzs7O0VBQUE7QUFNQTs7Ozs7Ozs7Ozs7VUFXVSxNQUFBO0VBQ1IsY0FBQTtBSitFRjs7QUk1RUE7O0VBQUE7QUFJQTs7OztFQUlFLHFCQUFBO0FKOEVGOztBSTNFQTs7RUFBQTtBQUlBO0VBQ0UsYUFBQTtFQUNBLFNBQUE7QUo2RUY7O0FJMUVBOztFQUFBO0FBSUE7RUFDRSx3QkFBQTtBSjRFRjs7QUl6RUE7OztFQUFBO0FBS0E7O0VBRUUsYUFBQTtB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QWFqQixnQkFBQTtFQVFBLGFBQUE7RUFPQSxnQkFBQTtBckIreERaOztBc0IxN0RRO0VENEhBO0lBSUksbUJBRGlCO0VyQmcwRDNCO0VxQm4wRE07SUFJSSxtQkFEaUI7RXJCbTBEM0I7RXFCdDBETTtJQUlJLG1CQURpQjtFckJzMEQzQjtFcUJ6MERNO0lBSUksbUJBRGlCO0VyQnkwRDNCO0VxQjUwRE07SUFJSSxtQkFEaUI7RXJCNDBEM0I7RXFCLzBETTtJQUlJLG1CQURpQjtFckIrMEQzQjtBQUNGO0FxQjV5REU7RUFDRSxvQkFBQTtFQUNBLGNsQjdVUztFa0I4VVQscUJGektxQjtFRTJLckIsZUFBQTtBckI2eURKO0FxQjN5REk7RUFFRSxtQkZoTGU7QW5CNDlEckI7QXFCdHlESTtFQUNFLFNBQUE7QXJCd3lETjs7QXFCbnlERTtFQUNFLFdBQUE7RUFFQSxnQkYxU1c7RUUyU1gsU0FBQTtFQUNBLHNCRjNMUTtFRTZMUixhQUFBO0VBQ0EsZUFBQTtFQUNBLGdDbEJ6T3FCO0VrQjBPckIsY0FBQTtBckJveURKOztBcUJoeURFOzs7RUFHRSxnQkZqTnNCO0VFa050Qiw0QkZwTWtCO0VFcU1sQixpQmxCNVJlO0FIK2pFbkI7O0FxQi94REU7RUFDRSxrQkFBQTtBckJreURKOztBcUI5eERFO0VBQ0Usb0JGOU1lO0VFK01mLHFCRmpOYztBbkJrL0RsQjs7QXFCN3hERTtFQUNFLG9CRnBOZTtBbkJvL0RuQjs7QXFCM3hESTtFQUNFLG9CRnpOb0I7RUUwTnBCLGdCQUFBO0FyQjh4RE47O0FxQnp4REU7RUFDRSxtQkYvTnFCO0FuQjIvRHpCO0FxQjF4REk7RUFDRSxxQkZoT3dCO0VFaU94QixnQkZwVWU7QW5CZ21FckI7O0FxQnZ4REU7RUFDRSxhQUFBO0VBQ0Esc0NGdE9pQjtFRXVPakIsOEJGdE9nQjtBbkJnZ0VwQjtBcUJ4eERJO0VBQ0UsaUJsQnhVYTtFa0J5VWIsY0Y1Vk07QW5Cc25FWjs7QXFCNXdERTtFQUNFLGlDRmxQYTtFRW1QYixZQUFBO0VBQ0EscUJBQUE7QXJCK3dESjs7QXFCM3dERTtFQUNFLFNBQUE7QXJCOHdESjs7QXFCbndERTtFQUNFLFNBQUE7RUFDQSwyQkZ4UWdCO0VFMFFoQix5QmxCL2FPO0VrQmliUCw0REZqVW9CO0VFa1VwQixjbEJoWGM7RWtCbVhaLGtCbEJqVlU7QUhtbEVoQjs7QXVCbmxFRTtFQUNFLGtCSjRFbUI7RUkzRW5CLHFCSjRFc0I7RUkxRXRCLG1CSmhEbUI7RUlpRG5CLGdCSnFFbUI7RUlwRW5CLGNKNURRO0FuQmlwRVo7O0F1QmpsRUU7RUFDRSxlSjZEYTtFSTVEYixnQko2RGM7QW5CdWhFbEI7O0F1QmhsRUU7RUFDRSxpQko4RGE7RUk3RGIsY0FBQTtBdkJtbEVKO0F1QmpsRUk7RUFDRSxpQkFBQTtBdkJtbEVOOztBdUI3a0VJO0VBQ0UsY0FBQTtFQUNBLGdCQUFBO0F2QmdsRU47O0F1QjVrRUU7RUFqRkEsY0FBQTtFQUNBLGNKUFU7RUlRVixvQkorSGU7QW5Ca2lFakI7QXVCL3BFRTtFQUNFLGFKNkhrQjtBbkJvaUV0Qjs7QXVCN2tFRTtFQTdFQSxZSjJIWTtFSTFIWiw2Qkp5SGdCO0VJdkhoQiw0REo2Q3NCO0VJNUN0QixtQkpacUI7RUlhckIsY3BCSGdCO0VvQlNoQixlQUFBO0VBQ0EsZUFBQTtFQUNBLHFCQUFBO0VBRUEscUNKNkdhO0FuQjBpRWY7O0F1QmhsRUU7RUF0RkEsWUoySFk7RUkxSFosNkJKeUhnQjtFSXZIaEIsNERKNkNzQjtFSTVDdEIsbUJKWnFCO0VJYXJCLGNwQkhnQjtFb0JtQmhCLGNBQUE7RUFDQSxjQUFBO0VBQ0EsZ0JBQUE7RUFFQSxhSm9HbUI7RUluR25CLHFCSm9HeUI7QW5CcWpFM0I7O0F3QnR3RVU7RUFDRSxnQkFSVTtBeEJpeEV0Qjs7QXdCMXdFVTtFQUNFLGlCQVJVO0F4QnF4RXRCOztBd0I5d0VVO0VBQ0Usa0JBUlU7QXhCeXhFdEI7O0F3Qmx4RVU7RUFDRSxtQkFSVTtBeEI2eEV0Qjs7QXNCam5FUTtFRTFLRTtJQUNFLGdCQUhVO0V4Qmt5RXBCO0V3Qmh5RVE7SUFDRSxpQkFIVTtFeEJxeUVwQjtFd0JueUVRO0lBQ0Usa0JBSFU7RXhCd3lFcEI7RXdCdHlFUTtJQUNFLG1CQUhVO0V4QjJ5RXBCO0FBQ0Y7QXNCaG9FUTtFRTFLRTtJQUNFLGdCQUhVO0V4Qmd6RXBCO0V3Qjl5RVE7SUFDRSxpQkFIVTtFeEJtekVwQjtFd0JqekVRO0lBQ0Usa0JBSFU7RXhCc3pFcEI7RXdCcHpFUTtJQUNFLG1CQUhVO0V4Qnl6RXBCO0FBQ0Y7QXlCaHpFRTtFQUFrQix3QkFBQTtBekJtekVwQjs7QXlCanpFRTtFQUNFO0lBSUksa0NBQUE7SUFDQSx1QkFBQTtJQUNBLG1DQUFBO1lBQUEsMkJBQUE7SUFPRiwyQkFBQTtJQUNBLDRCQUFBO0V6QjJ5RUo7RXlCeHlFRTtJQUFrQix5QkFBQTtFekIyeUVwQjtFeUIxeUVFO0lBQWtCLHdCQUFBO0V6QjZ5RXBCO0V5QjN5RUU7SUFBdUIseUJBQUE7RXpCOHlFekI7RXlCN3lFRTtJQUF1QixzQ0FBQTtFekJnekV6QjtFeUIveUVFO0lBQXVCLG1DQUFBO0V6Qmt6RXpCO0V5Qmp6RUU7SUFBb0IsNkJBQUE7RXpCb3pFdEI7RXlCbnpFRTtJQUFvQiw4QkFBQTtFekJzekV0QjtFeUJyekVFO0lBQW9CLDhCQUFBO0V6Qnd6RXRCO0V5QnJ6RUU7O0lBQ1ksMEJBQUE7RXpCd3pFZDtFeUJ0ekVJO0lBQWdCLDRCQUFBO0V6Qnl6RXBCO0V5QnJ6RUU7OztJQUVxQixXQUFBO0V6Qnd6RXZCO0V5QnJ6RUU7SUFBb0IsNkJBQUE7RXpCd3pFdEI7RXlCcnpFRTs7SUFFRSx5QkFBQTtJQUNBLHdCQUFBO0V6QnV6RUo7RXlCbnpFRTtJQUFRLDJCQUFBO0V6QnN6RVY7RXlCcHpFRTs7SUFDTSx3QkFBQTtFekJ1ekVSO0V5QnJ6RUU7SUFBTSwwQkFBQTtFekJ3ekVSO0V5QnR6RUU7SUFBUSxhQUFBO0V6Qnl6RVY7RXlCdnpFRTs7O0lBR0UsVUFBQTtJQUNBLFNBQUE7RXpCeXpFSjtFeUJyekVFOztJQUNLLHVCQUFBO0V6Qnd6RVA7RXlCcnpFRTtJQUNFLHVCQUFBO0V6QnV6RUo7QUFDRjtBMEJyeUVFO0VBL0NBLFNQME5tQjtFT3pObkIsZ0JBQUE7QTFCdTFFRjtBb0IxdUVFO0VBRUUsY0FBQTtFQUNBLFlBQUE7RUFHRSxhQUFBO0VBQ0EsUUFBQTtBcEJ5dUVOO0FvQnJ1RUU7RUFDRSxXQUFBO0FwQnV1RUo7QTBCMzFFRTtFQUNFLFdBQUE7RUFFQSxtQlBrTnlCO0VPak56QixjdkJ5QmM7RXVCeEJkLGVBQUE7QTFCNDFFSjtBMEJqMUVRO0VBQ0Usa0JBQUE7RUFDQSxpQkFBQTtFQUNBLFVBQUE7RUFDQSxZQVBRO0VBUVIsY1BiSTtBbkJnMkVkO0EwQnowRUU7RUFDRSxjUHNMcUI7QW5CcXBFekI7QTBCejBFSTtFQUNFLDBCQUFBO0ExQjIwRU47QTBCbDBFSTtFQUNFLGNQckNRO0VPc0NSLG1CQUFBO0ExQm8wRU47O0EyQjVtRUU7RUEzT0EscUJBQUE7RUFDQSxzQkFBQTtFQUNBLG9CUnlNYztFUXhNZCw2QlIrTWM7RVE5TWQsa0J4QmdDYztFd0IvQmQsdUxSeU5rQjtFUXhObEIsb0JSa01tQjtFUWpNbkIsZUFBQTtFQUNBLGdCUmlNbUI7RVFoTW5CLHdCQUFBO0VBQ0EsY0FBQTtFQUNBLGtCQUFBO0VBQ0EsZUFBQTtFQVVFLGtCUm9MYTtBbkI4cEVqQjtBb0IzdkVFO0VBQ0UsVUFBQTtBcEI2dkVKO0EyQjNuRU07RUFDRSxtQkFGbUI7QTNCK25FM0I7QTJCOW5FTTtFQUNFLG1CQUZtQjtBM0Jrb0UzQjtBMkJqb0VNO0VBQ0Usa0JBRm1CO0EzQnFvRTNCO0EyQi9uRUk7RUFyTkEsY0FBQTtFQUNBLFdBQUE7RUFDQSxlQUFBO0VBQ0EsY0FBQTtBM0J1MUVKO0EyQnR4RUU7RUFJRSx5QlJxR2dCO0VRcEdoQixjUnpISTtBbkI4NEVSO0EyQmx4RUU7RUFDRSx1Q1JpR3NCO0VRaEd0QixjUjlISTtBbkJrNUVSO0EyQjl4RUU7RUFJRSx5QlJuSWlCO0VRb0lqQixjQWJRO0EzQjB5RVo7QTJCMXhFRTtFQUNFLHNDQWJtQjtFQWNuQixjQWxCUTtBM0I4eUVaO0EyQnR5RUU7RUFJRSx5QlJuSWlCO0VRb0lqQixjQWJRO0EzQmt6RVo7QTJC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bkIrckZyQjtBMkJwaEZFO0VBQ0UsK0JBWlk7RUFhWix3QkFiWTtBM0JtaUZoQjtBMkJoaUZFO0VBSUUseUJBQUE7RUFDQSxjUnhLaUI7QW5CdXNGckI7QTJCNWhGRTtFQUNFLCtCQVpZO0VBYVosd0JBYlk7QTNCMmlGaEI7QTJCeGlGRTtFQUlFLHlCQUFBO0VBQ0EsY1J4S2lCO0FuQitzRnJCO0EyQnBpRkU7RUFDRSwrQkFaWTtFQWFaLHdCQWJZO0EzQm1qRmhCO0EyQjloRkk7RUFDRSx5QkFBQTtFQUNBLDZCQUFBO0EzQmdpRk47QTJCamhGRTtFQUlFLGNSOEJnQjtBbkJrL0VwQjtBMkI3Z0ZFO0VBQ0UsY0FYWTtBM0IwaEZoQjtBMkJ2aEZFO0VBSUUsY1IxTWlCO0FuQmd1RnJCO0EyQm5oRkU7RUFDRSxjQVhZO0EzQmdpRmhCO0EyQjdoRkU7RUFJRSxjUjFNaUI7QW5Cc3VGckI7QTJCemhGRTtFQUNFLDBCQVhZO0EzQnNpRmhCO0EyQm5pRkU7RUFJRSxjUjFNaUI7QW5CNHVGckI7QTJCL2hGRTtFQUNFLHdCQVhZO0EzQjRpRmhCO0EyQnppRkU7RUFJRSxjUjFNaUI7QW5Ca3ZGckI7QTJCcmlGRTtFQUNFLHdCQVhZO0EzQmtqRmhCO0EyQi9pRkU7RUFJRSxjUjFNaUI7QW5Cd3ZGckI7QTJCM2lGRTtFQUNFLHdCQVhZO0EzQndqRmhCO0E0QnZ1RkU7RUFDRSx3QkFBQTtBNUJ5dUZKO0E0QnZ1Rkk7RUFDRSw4QkFBQTtBNUJ5dUZOO0E0Qi9qRkk7RUFoSEEsZUFBQTtBNUJrckZKO0E0Qi9xRkU7RUFFSSxjQUFBO0E1QmdyRk47QTRCMXFGSTtFQUNFLGdCQUFBO0E1QjRxRk47QTRCNXRGRTtFQUVJLGFBQUE7QTVCNnRGTjtBc0JocUZRO0VNU047SUFFSSxjQUFBO0lBS0YsZ0JBQUE7RTVCcXBGRjtBQUNGO0FzQnRxRlE7RU1TTjtJQUVJLGNBQUE7SUFLRixnQkFBQTtFNUIycEZGO0FBQ0Y7QXNCNXFGUTtFTTJHSjtJQUVJLGNBQUE7RTVCbWtGTjtFNEJqa0ZNO0lBQ0UsY0FBQTtJQUNBLGVBQUE7RTVC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QkFIVTtFaEN1OEdaO0FBQ0Y7O0E4QnR1R0U7RUFDRSxjQUFBO0VBQ0EsZUFBQTtBOUJ5dUdKOztBOEJydUdFO0VFaE1FLHNCQURnQjtBaEMwNkdwQjtBZ0N2NkdJO0VBQ0UsZ0JBQUE7QWhDeTZHTjtBc0JyekdRO0VReUVOO0lFaE1FLHFCQURnQjtFaENpN0dsQjtFZ0M5NkdFO0lBQ0UsZ0JBQUE7RWhDZzdHSjtBQUNGOztBa0N0NkdJO0VDbkJGLDJCQWhCUTtBbkM2OEdWOztBa0MxNkdJO0VDbkJGLHlCQWhCUTtBbkNpOUdWOztBa0M5NkdJO0VDbkJGLHVCQWhCUTtBbkNxOUdWOztBa0NsN0dJO0VDbkJGLDhCQWhCUTtBbkN5OUdWOztBa0N0N0dJO0VDbkJGLDZCQWhCUTtBbkM2OUdWOztBa0NqN0dRO0VDNUJOLDJCQWhCUTtBbkNpK0dWOztBa0NyN0dRO0VDNUJOLHlCQWhCUTtBbkNxK0dWOztBa0N6N0dRO0VDNUJOLHVCQWhCUTtBbkN5K0dWOztBa0NwN0dJO0VDcENGLHVCQVJRO0FuQ28rR1Y7O0FrQ3A3R0k7RUN4QkYsc0JBUFE7QW5DdTlHVjs7QWtDNTdHSTtFQ3BDRixxQkFSUTtBbkM0K0dWOztBa0M1N0dJO0VDeEJGLG9CQVBRO0FuQys5R1Y7O0FrQ3A4R0k7RUNwQ0YsbUJBUlE7QW5Dby9HVjs7QWtDcDhHSTtFQ3hCRixrQkFQUTtBbkN1K0dWOztBa0M1OEdJO0VDcENGLG9CQVJRO0FuQzQvR1Y7O0FrQzU4R0k7RUN4QkYsbUJBUFE7QW5DKytHVjs7QWtDMThHRTtFQy9DQSx1QkFoQlE7RUFpQlIsbUJBUlE7RUR3RE4scUJBQUE7QWxDODhHSjs7QWtDeDhHTTtFQ2hDSixRRCtCZTtBbEM2OEdqQjs7QWtDNThHTTtFQ2hDSixRRCtCZTtBbENpOUdqQjs7QWtDaDlHTTtFQ2hDSixRRCtCZTtBbENxOUdqQjs7QWtDcDlHTTtFQ2hDSixRRCtCZTtBbEN5OUdqQjs7QWtDeDlHTTtFQ2hDSixRRCtCZTtBbEM2OUdqQjs7QWtDNTlHTTtFQ2hDSixRRCtCZTtBbENpK0dqQjs7QXNCMzVHUTtFWXJFRjtJQ2hDSixRRCtCZTtFbENzK0dmO0VrQ3IrR0k7SUNoQ0osUUQrQmU7RWxDeStHZjtFa0N4K0dJO0lDaENKLFFEK0JlO0VsQzQrR2Y7RWtDMytHSTtJQ2hDSixRRCtCZTtFbEMrK0dmO0VrQzkrR0k7SUNoQ0osUUQrQmU7RWxDay9HZjtFa0NqL0dJO0lDaENKLFFEK0JlO0VsQ3EvR2Y7QUFDRjtBc0JoN0dRO0VZckVGO0lDaENKLFFEK0JlO0VsQzAvR2Y7RWtDei9HSTtJQ2hDSixRRCtCZTtFbEM2L0dmO0VrQzUvR0k7SUNoQ0osUUQrQmU7RWxDZ2dIZjtFa0MvL0dJO0lDaENKLFFEK0JlO0VsQ21nSGY7RWtDbGdISTtJQ2hDSixRRCtCZTtFbENzZ0hmO0VrQ3JnSEk7SUNoQ0osUUQrQmU7RWxDeWdIZjtBQUNGO0FrQ3RtSEU7RUNZQSxhQUFBO0FuQzZsSEY7O0FrQ3JtSEU7RUFDRSxjQUFBO0FsQ3dtSEo7O0FrQ3JtSEU7RUFDRSxjQUFBO0FsQ3dtSEo7O0FrQ3JtSEU7RUFDRSxjQUFBO0FsQ3dtSEo7O0FrQ3BtSEk7RUNzREYsbUJBcEVtQjtBbkNzbkhyQjs7QWtDeG1ISTtFQ3NERiwyQkFwRW1CO0FuQzBuSHJCOztBa0M1bUhJO0VDc0RGLHNCQXBFbUI7QW5DOG5IckI7O0FrQ2huSEk7RUNzREYsOEJBcEVtQjtBbkNrb0hyQjs7QXNCbitHUTtFWXZJRTtJQ2ZSLGFBQUE7RW5DOG5IQTtFa0MzbUhRO0lBQ0UsY0FBQTtFbEM2bUhWO0VrQzFtSFE7SUFDRSxjQUFBO0VsQzRtSFY7RWtDem1IUTtJQUNFLGNBQUE7RWxDMm1IVjtFa0N2bUhVO0lDMkJWLG1CQXBFbUI7RW5DbXBIbkI7RWtDMW1IVTtJQzJCViwyQkFwRW1CO0VuQ3NwSG5CO0VrQzdtSFU7SUMyQlYsc0JBcEVtQjtFbkN5cEhuQjtFa0NobkhVO0lDMkJWLDhCQXBFbUI7RW5DNHBIbkI7QUFDRjtBc0I5L0dRO0VZdklFO0lDZlIsYUFBQTtFbkN3cEhBO0VrQ3JvSFE7SUFDRSxjQUFBO0VsQ3VvSFY7RWtDcG9IUTtJQUNFLGNBQUE7RWxDc29IVjtFa0Nub0hRO0lBQ0UsY0FBQTtFbENxb0hWO0VrQ2pvSFU7SUMyQlYsbUJBcEVtQjtFbkM2cUhuQjtFa0Nwb0hVO0lDMkJWLDJCQXBFbUI7RW5DZ3JIbkI7RWtDdm9IVTtJQzJCVixzQkFwRW1CO0VuQ21ySG5CO0VrQzFvSFU7SUMyQlYsOEJBcEVtQjtFbkNzckhuQjtBQUNGO0FvQy9wSEU7O0VBbkJBLGtCQUFBO0VBQ0EsU0FBQTtFQUNBLG1CakJtdEIrQjtFaUJsdEIvQixtQkFBQTtFQUNBLGdCQUFBO0FwQ3NySEY7QW9DcHJIRTs7Ozs7Ozs7RUFJRSxrQkFBQTtFQUNBLE1BQUE7RUFDQSxPQUFBO0VBQ0EsV0FBQTtFQUNBLFlBQUE7QXBDMHJISjtBb0M5cUhNOztFQUNFLHNCQUFBO0FwQ2lySFI7O0FxQ3ptSEU7O0VBRUUsd0JBQUE7S0FBQSxxQkFBQTtVQUFBLGdCQUFBO0VBdkNGLGNBQUE7RUFDQSxzQkFBQTtFQUNBLFdBQUE7RUFDQSxrQkFMUztFQU1ULGtCQUFBO0VBQ0EsZ0JsQnNYYztFa0JwWGQseUJsQmtYYTtFa0JqWGIsa0JsQ3NDYztFa0NyQ2QseUJsQmZNO0VrQmdCTixnQmxCa1hhO0VrQmhYYixvQmxCc1drQjtFa0JyV2xCLG1CbEJzV2dCO0VrQnJXaEIsbUJsQlpxQjtFa0JhckIsaUJsQnNXa0I7RWtCcldsQixjbENKZ0I7RWtDT2QsK0psQjRXZTtBbkJveUduQjtBcUM1b0hFOztFQUNFLGFBQUE7RUFDQSx5QmxCaVdpQjtFa0JoV2pCLHlCbEJoQ0k7RWtCaUNKLGdCbEJrV2lCO0VrQi9WZiwrSmxCaVdhO0FuQjR5R25COztBcUMvbkhFO0VBQ0UsZUFBQTtBckNrb0hKO0FxQ2hvSEk7RUFDRSxZQUFBO0FyQ2tvSE47O0FxQzNuSEk7OztFQUVFLHlCbEM1R0s7RWtDNkdMLG1CbEJvVWtCO0FuQjJ6R3hCOztBcUMxbkhFOztFQUVFLHdCQUFBO0tBQUEscUJBQUE7VUFBQSxnQkFBQTtFQUNBLGtCbENwQlk7QUhpcEhoQjs7QXFDem5IRTtFQUNFLHNCQUFBO0FyQzRuSEo7O0Fx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QUNBLG9CQUFBO0VBQ0EscUJ6QjhYYTtFeUI1WGIsbUJ6QjZLc0I7RXlCNUt0QixtQnpCNEJxQjtFeUIzQnJCLGN6QjBLa0I7QW5Cc3ZIcEI7QTRDMTRISTtFQUNFLGNBQUE7QTVDNDRITjs7QTZDdjNIRTtFQXBGQSxhQUFBO0VBQ0EscUIxQitEYztFMEI1RFosaUJBQUE7QTdDNjhISjtBNkMxOEhFO0VBQ0UsZUFBQTtBN0M0OEhKO0FzQnZ6SFE7RXVCakpKO0lBRUksZUFBQTtFN0MwOEhOO0FBQ0Y7O0E2Q2o0SEU7RUFoRUUsY0FBQTtBN0NxOEhKO0E2Qzk3SEU7RUFDRSxxQjFCaUNhO0FuQis1SGpCO0E2Qzc3SEU7RUFDRSxvQjFCNkJhO0FuQms2SGpCO0E2QzU3SEU7RUFDRSxnQkFBQTtBN0M4N0hKO0FzQnowSFE7RXVCbEhOO0lBd0JBLFVBQUE7SUFDQSxzQjFCSGU7STBCTWIsZ0JBQUE7SUFDQSxlQUFBO0U3Q3E2SEY7RTZDLzVIQTtJQUNFLFcxQnVZOEI7RW5CMGhIaEM7QUFDRjtBNkMvN0hJO0VBQ0UsYUFBQTtBN0NpOEhOOztBOEN4dEhFO0VBOUdBLHlCQUFBO0VBQ0EsV0FBQTtFQUNBLHFCM0JoSGM7RTJCaUhkLGtCM0NsRWM7QUg0NEhoQjtBOENsNkhFOzs7RUFHRSxZM0JtckJXO0UyQmxyQlgseUIzQmxDSTtBbkJzOEhSOztBOENoNkhFO0VBQ0UsK0IzQjhxQlk7RTJCN3FCWixnQjNCOUJpQjtBbkJpOEhyQjs7QThDLzVIRTtFQUNFLDBDM0IrcUJvQjtFMkI5cUJwQixjM0M1QmM7QUg4N0hsQjs7QThDOTVIRTtFQUNFLHVDM0IycUJvQjtFMkIxcUJwQixjM0NsQ2M7QUhtOEhsQjs7QThDMTVISTs7RUFDRSx1QkFBQTtBOUM4NUhOO0E4QzE1SEk7Ozs7RUFFRSwrQjNCbXBCVTtFMkJscEJWLGdCM0J6RGU7RTJCMERmLGdCQUFBO0E5Qzg1SE47O0E4Q3g1SEk7O0VBRUUsK0IzQnlvQlU7QW5Ca3hHaEI7O0E4Q2grSE07RUFDRSxnQkFBQTtFQUNBLDZDM0JpdEJtQjtBbkJreEczQjs7QThD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bkI2NEpwQjtBc0Rob0tDO0VBQ0Msc0RBQUE7QXREa29LRjtBc0QvbktDO0VBQ0MseUJuRHJEVztBSHNyS2I7QXNENXFLQTtFQThDQzs7Ozs7SUFBQTtBdERzb0tEO0FzRDluS0U7RUFFQywyQkFBQSxFQUFBLE1BQUE7RUFDQSx3QkFBQSxFQUFBLE1BQUE7RUFDQSx5Qm5DK05pQjtBbkJnNkpwQjtBc0R6cktBO0VBK0RDOztJQUFBO0F0RCtuS0Q7QXNEMW5LRTtFQUNDLDhDbkQyRGlDO0FIaWtLcEM7QXNEem5LRTtFQUVDLHVDQUFBO0F0RDBuS0g7QXNEdm5LRTtFQUNDLGtFQUFBO0F0RHluS0g7QXNEbm5LRztFQUVDLHlCQ3dCa0I7QXZENGxLdEI7QXNEMXNLQTtFQTJGQzs7SUFBQTtBdERvbktEO0FzRDltS0U7RUFJQyx5QkFBQTtFQUNBLGNuRGxIVTtBSCt0S2I7QXNEMW1LRTtFQUNDLDRDbkR1QjZCO0FIcWxLaEM7QXNEem1LRTtFQUVDLDBDQUFBO0F0RDBtS0g7QXNEdm1LRTtFQUNDLHlCQUFBO0F0RHltS0g7QXNENXRLQTtFQXVIQzs7SUFBQTtBdEQwbUtEO0FzRHBtS0U7RUFJQyx5QkFBQTtFQUNBLGNDcEJtQjtBdkR1bkt0QjtBc0RobUtFO0VBQ0MsOENBQUE7QXREa21LSDtBc0QvbEtFO0VBRUMsMENBQUE7QXREZ21LSDtBc0Q3bEtFO0VBQ0MseUJBQUE7QXREK2xLSDtBc0Q5dUtBO0VBbUpDOztJQUFBO0F0RGdtS0Q7QXNEMWxLRTtFQUlDLHlCbkR6R1M7QUhrc0taO0FzRHRsS0U7RUFDQywrQ0FBQTtBdER3bEtIO0FzRHJsS0U7RUFFQyx3Q0FBQTtBdERzbEtIO0FzRG5sS0U7RUFDQyxrRUFBQTtBdERxbEtIO0FzRC92S0E7RUE4S0M7Ozs7Ozs7Ozs7SUFBQTtBdEQ4bEtEO0FzRGxsS0M7RUFDQyw0QkFBQSxFQUFBLE1BQUE7QXREb2xLRjtBc0RsbEtFO0VBRUMsY25DbklLO0VtQ29JTCx1Q25DMEZ1QjtFbUN6RnZCLHlCQUFBLEVBQUEsTUFBQTtFQUNBLGdCQUFBO0F0RG1sS0g7QXNEaGxLRTtFQUNDLGlFQUFBO0F0RGtsS0g7QXNEOWtLRztFQUVDLGNuQ2hKSTtFbUNpSkoseUJDL0ZrQjtFRGdHbEIseUJBQUEsRUFBQSxNQUFBO0F0RCtrS0o7QXNEemtLSTtFQUVDLGNDeEdpQjtFRHlHakIsNkJBQUE7RUFDQSxxQkMxR2lCO0F2RG9yS3RCO0FzRG5rS0c7RUFJQyw2QkFBQTtFQUNBLHFCbkRoTFE7RW1EaUxSLGNuRGpMUTtBSG12S1o7QXNEL2pLRztFQUVDLHlCbkR0TFE7RW1EdUxSLHlCQUFBLEVBQUEsTUFBQTtFQUNBLGNuQ2hMSTtBbkJndktSO0FzRDV5S0E7RUFpUEM7Ozs7OztJQUFBO0F0RG9rS0Q7QXNENWpLQztFQUNDLG9CQUFBO0VBQ0EsbUJBQUE7RUFDQSx1QkFBQTtBdEQ4aktGO0FzRDVqS0Usd0JBQUEsTUFBQTtFQUNDOzs7R0FBQTtFQUlBLGNBQUE7RUFDQSxlQUFBO0F0RDhqS0g7QXNEM2pLRTswQkFDTSxNQUFBO0VBQ0w7OztHQUFBO0VBSUEsaUJuRHRMMEI7RW1EdUwxQixjQUFBO0F0RDZqS0g7QXNEMWpLRTtFQUNDLHlCQUFBO0F0RDRqS0g7QXNEMWpLRztFQUNDLGlCQUFBO0F0RDRqS0o7QXNEempLRztFQUNDLCtDQUFBO0F0RDJqS0o7QXNEeGpLRztFQUdDLHlCQUFBO0F0RHdqS0o7QXNEcGpLRTtFcER0T0QsY3FENENtQjtFckQzQ25CLHlCb0RzTzhDO0F0RHVqSy9DO0FFM3hLQztFQUNDLGNxRHdDa0I7QXZEcXZLcEI7QUUxeEtDO0VBRUMseUJxRG1Da0I7RXJEbENsQixjb0Q2TjZDO0F0RDhqSy9DO0FFenhLRTtFQUNDLGNvRDBONEM7QXREaWtLL0M7QUVweEtFO0VBRUMsY3FEc0JpQjtFckRyQmpCLHlCb0RnTjRDO0F0RHFrSy9DO0FFbnhLRztFQUNDLGNxRGtCZ0I7QXZEbXdLcEI7QXNEbm5LQztFQThDQzs7SUFBQTtBdEQwa0tGO0FzRHRrS0U7RUFDQyxXQUFBO0VBQ0EsWUFBQTtBdER3a0tIO0FzRHJrS0U7RUFDQyxXQUFBO0VBQ0EsWUFBQTtBdER1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QTtFQUNDLGdCQUFBO0F6RWdyTUQ7O0F5RTlxTUE7RUFDQyxnQkFBQTtBekVpck1EOztBeUUvcU1BO0VBQ0MsZ0JBQUE7QXpFa3JNRDs7QXlFaHJNQTtFQUNDLGdCQUFBO0F6RW1yTUQ7O0F5RWpyTUE7RUFDQyxnQkFBQTtBekVvck1EOztBeUVsck1BO0VBQ0MsZ0JBQUE7QXpFcXJNRDs7QXlFbnJNQTtFQUNDLGdCQUFBO0F6RXNyTUQ7O0F5RXByTUE7RUFDQyxnQkFBQTtBekV1ck1EOztBeUVyck1BO0VBQ0MsZ0JBQUE7QXpFd3JNRDs7QXlFdHJNQTtFQUNDLGdCQUFBO0F6RXlyTUQ7O0F5RXZyTUE7RUFDQyxnQkFBQTtBekUwck1EOztBeUV4ck1BO0VBQ0MsZ0JBQUE7QXpFMnJNRDs7QXlFenJNQTtFQUNDLGdCQUFBO0F6RTRyTUQ7O0F5RTFyTUE7RUFDQyxnQkFBQTtBekU2ck1EOztBeUUzck1BO0VBQ0MsZ0JBQUE7QXpFOHJNRDs7QXlFNXJNQTtFQUNDLGdCQUFBO0F6RStyTUQ7O0F5RTdyTUE7RUFDQyxnQkFBQTtBekVnc01EOztBeUU5ck1BO0VBQ0MsZ0JBQUE7QXpFaXNNRDs7QXlFL3JNQTtFQUNDLGdCQUFBO0F6RWtzTUQ7O0F5RWhzTUE7RUFDQyxnQkFBQTtBekVtc01EOztBeUVqc01BO0VBQ0MsZ0JBQUE7QXpFb3NNRDs7QXlFbHNNQTtFQUNDLGdCQUFBO0F6RXFzTUQ7O0F5RW5zTUE7RUFDQyxnQkFBQTtBekVzc01EOztBeUVwc01BO0VBQ0MsZ0JBQUE7QXpFdXNNRDs7QXlFcnNNQTtFQUNDLGdCQUFBO0F6RXdzTUQ7O0F5RXRzTUE7RUFDQyxnQkFBQTtBekV5c01EOztBeUV2c01BO0VBQ0MsZ0JBQUE7QXpFMHNNRDs7QXlFeHNNQTtFQUNDLGdCQUFBO0F6RTJzTUQ7O0F5RXpzTUE7RUFDQyxnQkFBQTtBekU0c01EOztBeUUxc01BO0VBQ0MsZ0JBQUE7QXpFNnNNRDs7QXlFM3NNQTtFQUNDLGdCQUFBO0F6RThzTUQ7O0F5RTVzTUE7RUFDQyxnQkFBQTtBekUrc01EOztBeUU3c01BO0VBQ0MsZ0JBQUE7QXpFZ3RNRDs7QXlFOXNNQTtFQUNDLGdCQUFBO0F6RWl0TUQ7O0F5RS9zTUE7RUFDQyxnQkFBQTtBekVrdE1EOztBeUVodE1BO0VBQ0MsZ0JBQUE7QXpFbXRNRDs7QXlFanRNQTtFQUNDLGdCQUFBO0F6RW90TUQ7O0F5RWx0TUE7RUFDQyxnQkFBQTtBekVxdE1EOztBeUVudE1BO0VBQ0MsZ0JBQUE7QXpFc3RNRDs7QXlFcHRNQTtFQUNDLGdCQUFBO0F6RXV0TUQ7O0F5RXJ0TUE7RUFDQyxnQkFBQTtBekV3dE1EOztBeUV0dE1BO0VBQ0MsZ0JBQUE7QXpFeXRNRDs7QXlFdnRNQTtFQUNDLGdCQUFBO0F6RTB0TUQ7O0F5RXh0TUE7RUFDQyxnQkFBQTtBekUydE1EOztBeUV6dE1BO0VBQ0MsZ0JBQUE7QXpFNHRNRDs7QXlFMXRNQTtFQUNDLGdCQUFBO0F6RTZ0TUQ7O0F5RTN0TUE7RUFDQyxnQkFBQTtBekU4dE1EOztBeUU1dE1BO0VBQ0MsZ0JBQUE7QXpFK3RNRDs7QXlFN3RNQTtFQUNDLGdCQUFBO0F6RWd1TUQ7O0F5RTd0TUE7O3lDQUFBO0FBSUE7RUFDQyxnQkFBQTtFQUNBLHVDQUFBO0F6RSt0TUQ7O0F5RTd0TUE7RUFDQyxnQkFBQTtFQUNBLHVDQUFBO0F6RWd1TUQ7O0F5RTl0TUE7RUFDQyxnQkFBQTtFQUNBLHVDQUFBO0F6RWl1TUQ7O0F5RS90TUE7RUFDQyxnQkFBQTtFQUNBLHVDQUFBO0F6RWt1TUQ7O0F5RWh1TUE7RUFDQyxnQkFBQTtFQUNBLHVDQUFBO0F6RW11TUQ7O0F5RWp1TUE7RUFDQyxnQkFBQTtFQUNBLHVDQUFBO0F6RW91TUQ7O0F5RWx1TUE7RUFDQyxnQkFBQTtFQUNBLHVDQUFBO0F6RXF1TUQ7O0F5RW51TUE7RUFDQyxnQkFBQTtFQUNBLHVDQUFBO0F6RXN1TUQ7O0F5RXB1TUE7RUFDQyxnQkFBQTtFQUNBLHVDQUFBO0F6RXV1TUQ7O0F5RXJ1TUE7RUFDQyxnQkFBQTtFQUNBLHVDQUFBO0F6RXd1TUQ7O0F5RXR1TUE7RUFDQyxnQkFBQTtFQUNBLHVDQUFBO0F6RXl1TUQ7O0F5RXZ1TUE7RUFDQyxnQkFBQTtFQUNBLHVDQUFBO0F6RTB1TUQ7O0F5RXh1TUE7RUFDQyxnQkFBQTtFQUNBLHVDQUFBO0F6RTJ1TUQ7O0F5RXp1TUE7RUFDQyxnQkFBQTtFQUNBLHVDQUFBO0F6RTR1TUQ7O0F5RTF1TUE7RUFDQyxnQkFBQTtFQUNBLHVDQUFBO0F6RTZ1TUQ7O0F5RTN1TUE7RUFDQyxnQkFBQTtFQUNBLHVDQUFBO0F6RTh1TUQ7O0F5RTV1TUE7RUFDQyxnQkFBQTtFQUNBLHVDQUFBO0F6RSt1TUQ7O0F5RTd1TUE7RUFDQyxnQkFBQTtFQUNBLHVDQUFBO0F6RWd2TUQ7O0F5RTl1TUE7RUFDQyxnQkFBQTtFQUNBLHVDQUFBO0F6RWl2TUQ7O0F5RS91TUE7RUFDQyxnQkFBQTtFQUNBLHVDQUFBO0F6RWt2TUQ7O0F5RWh2TUE7RUFDQyxnQkFBQTtFQUNBLHVDQUFBO0F6RW12TUQ7O0F5RWp2TUE7RUFDQyxnQkFBQTtFQUNBLHVDQUFBO0F6RW92TUQ7O0F5RWx2TUE7RUFDQyxnQkFBQTtFQUNBLHVDQUFBO0F6RXF2TUQ7O0F5RW52TUE7RUFDQyxnQkFBQTtFQUNBLHVDQUFBO0F6RXN2TUQ7O0F5RXB2TUE7RUFDQyxnQkFBQTtFQUNBLHVDQUFBO0F6RXV2TUQ7O0F5RXJ2TUE7RUFDQyxnQkFBQTtFQUNBLHVDQUFBO0F6RXd2TUQ7O0F5RXR2TUE7RUFDQyxnQkFBQTtFQUNBLHVDQUFBO0F6RXl2TUQ7O0F5RXZ2TUE7RUFDQyxnQkFBQTtFQUNBLHVDQUFBO0F6RTB2TUQ7O0F5RXh2TUE7RUFDQyxnQkFBQTtFQUNBLHVDQUFBO0F6RTJ2TUQ7O0F5RXp2TUE7RUFDQyxnQkFBQTtFQUNBLHVDQUFBO0F6RTR2TUQ7O0F5RTF2TUE7RUFDQyxnQkFBQTtFQUNBLHVDQUFBO0F6RTZ2TUQ7O0F5RTN2TUE7RUFDQyxnQkFBQTtFQUNBLHVDQUFBO0F6RTh2TUQ7O0F5RTV2TUE7RUFDQyxnQkFBQTtFQUNBLHVDQUFBO0F6RSt2TUQ7O0F5RTd2TUE7RUFDQyxnQkFBQTtFQUNBLHVDQUFBO0F6RWd3TUQ7O0F5RTl2TUE7RUFDQyxnQkFBQTtFQUNBLHVDQUFBO0F6RWl3TUQ7O0F5RS92TUE7RUFDQyxnQkFBQTtFQUNBLHVDQUFBO0F6RWt3TUQ7O0F5RWh3TUE7RUFDQyxnQkFBQTtFQUNBLHVDQUFBO0F6RW13TUQ7O0EwRTF0TkE7RUFDRTtJQUFJLFVBQUE7RTFFOHROSjtFMEU3dE5BO0lBQU0sVUFBQTtFMUVndU5OO0FBQ0Y7QTBFOXROQTtFQUNFLHNCQUFBO0ExRWd1TkY7O0EyRWp1TkE7O3lDQUFBO0FBSUE7RUFDQyxzQkFBQTtFQUNBLHlCQUFBO0EzRW11TkQ7O0EyRWh1TkE7RUFDQyxtQ0FBQTtBM0VtdU5EOztBMkVodU5BOzt5Q0FBQTtBQUlBOzs7RUFBQTtBQUlBO0VBQVcsa0JBQUE7QTNFbXVOWDs7QTJFanVOQTs7eUNBQUE7QUFJQTtFQUNDLHNDQUFBO0VBQ0EsdUVBQUE7RUFDQSx5QkFBQTtFQUNBLHlCQUFBO0EzRW11TkQ7O0EyRWh1TkE7RUFDQztJQUNDLGtDQUFBO0UzRW11TkE7RTJFaHVORDtJQUNDLCtCQUFBO0UzRWt1TkE7QUFDRjtBMkUvdE5BO0VBQ0MsNENBQUE7RUFDQSw0REFBQTtFQUNBLHlCQUFBO0VBQ0EseUJBQUE7QTNFaXVORDs7QTJFOXROQTtFQUNDO0lBQ0MsVUFBQTtJQUNBLDJCQUFBO0UzRWl1TkE7RTJFOXRORDtJQUNDLFVBQUE7SUFDQSxlQUFBO0UzRWd1TkE7QUFDRjtBMkU3dE5BO0VBQ0MsMkJBQUE7QTNFK3RORDtBMkU3dE5DO0VBQ0EscUNBQUE7QTNFK3RORDs7QTJFM3ROQTtFQUNDO0lBQ0MsK0JBQUE7RTNFOHROQTtFMkU1dE5EO0lBQ0MsdUJBQUE7RTNFOHROQTtFMkU1dE5EO0lBQ0Msd0JBQUE7RTNFOHROQTtFMkU1dE5EO0lBQ0MsdUJBQUE7RTNFOHROQTtFMkU1dE5EO0lBQ0MsdUJBQUE7RTNFOHROQTtBQUNGO0EyRTN0TkE7RUFDQztJQUNDLG1CQUFBO0UzRTZ0TkE7RTJFM3RORDtJQUNDLHFCQUFBO0UzRTZ0TkE7RTJFM3RORDtJQUNDLG1CQUFBO0UzRTZ0TkE7QUFDRjtBMkUxdE5BO0VBQ0M7SUFDQyxtQkFBQTtFM0U0dE5BO0UyRTF0TkQ7SUFDQyxtQkFBQTtFM0U0dE5BO0UyRTF0TkQ7SUFDQyxtQkFBQTtFM0U0dE5BO0FBQ0Y7QTJFenROQTtFQUNDO0lBQ0MsbUJBQUE7RTNFMnROQTtFMkV6dE5EO0lBQ0MsbUJBQUE7RTNFMnROQTtBQUNGO0EyRXh0TkE7Ozs7eUNBQUE7QUFNQSxxQkFBQTtBQUNBO0VBQ0MsVUFBQTtFQUNBLHdCQUFBO0EzRXl0TkQ7O0EyRXR0TkEsdUJBQUE7QUFDQTtFQUNDLFlBQUE7QTNFeXRORDs7QTJFdHROQSx3QkFBQTtBQUNBO0VBQ0MsVUFBQTtBM0V5dE5EOztBMkV0dE5BLHFCQUFBO0FBQ0E7RUFDQyxVQUFBO0VBQ0Esd0JBQUE7QTNFeXRORDs7QTJFdHROQSx1QkFBQTtBQUNBO0VBQ0MsVUFBQTtBM0V5dE5EOztBMkV0dE5BLHdCQUFBO0FBQ0E7RUFDQyxVQUFBO0EzRXl0TkQ7O0EyRXR0TkE7O3lDQUFBO0FBSUE7O0VBRUM7Ozt5Q0FBQTtFQUlBLHlCQUFBO0EzRXd0TkQ7O0EyRXJ0TkE7RUFDQyw0QkFBQTtBM0V3dE5EOztBMkVydE5BO0VBQ0M7SUFDQyxVQUFBO0lBQ0EsNEJBQUE7RTNFd3ROQTtFMkV0dE5EO0lBQ0MsVUFBQTtJQUNBLHdCQUFBO0UzRXd0TkE7QUFDRjtBMkVydE5BO0VBQ0M7SUFDQyxVQUFBO0lBQ0EsMkJBQUE7RTNFdXROQTtFMkVydE5EO0lBQ0MsVUFBQTtJQUNBLHdCQUFBO0UzRXV0TkE7QUFDRjtBMkVwdE5BOzt5Q0FBQTtBQUlBOztFQUVDOzs7MENBQUE7RUFJQSx5QkFBQTtBM0VxdE5EOztBMkVsdE5BO0VBQ0MsNkJBQUE7QTNFcXRORDs7QTJFbHROQTtFQUNDO0lBQ0MsVUFBQTtJQUNBLDRCQUFBO0UzRXF0TkE7RTJFbnRORDtJQUNDLFVBQUE7SUFDQSx3QkFBQTtFM0VxdE5BO0FBQ0Y7QTRFdDdOQTs7eUNBQUE7QUFJQTs7Ozs7Ozs7RUFBQTtBQVVBOzs7Ozs7Ozs7O0VBQUE7QUFZQTs7RUFBQTtBQUlBO0VBQWtCLHNCQUFBO0E1RXE3TmxCOztBNEVwN05BO0VBQWtCLHVCQUFBO0E1RXc3TmxCOztBNEV2N05BO0VBQWtCLHNCQUFBO0E1RTI3TmxCOztBNEUxN05BO0VBQ0M7SUFBc0Isc0JBQUE7RTVFODdOckI7QUFDRjtBNEU3N05BO0VBQ0M7SUFBd0Isc0JBQUE7RTVFZzhOdkI7RTRFLzdORDtJQUF3Qix1QkFBQTtFNUVrOE52QjtBQUNGO0E0RWg4TkE7O0VBQUE7QUFJQTtFQUFtQiwyQkFBQTtBNUVrOE5uQjs7QTRFajhOQTtFQUFtQiw2QkFBQTtBNUVxOE5uQjs7QTRFcDhOQTtFQUFtQiw0QkFBQTtBNUV3OE5uQjs7QTRFdjhOQTtFQUFtQiw4QkFBQTtBNUUyOE5uQjs7QTRFMThOQTtFQUNDO0lBQXVCLDZCQUFBO0U1RTg4TnRCO0U0RTc4TkQ7SUFBdUIsNEJBQUE7RTVFZzlOdEI7RTRFLzhORDtJQUFzQiwyQkFBQTtFNUVrOU5yQjtBQUNGO0E0RWo5TkE7RUFDQztJQUF3Qiw2QkFBQTtFNUVvOU52QjtFNEVuOU5EO0lBQXdCLDRCQUFBO0U1RXM5TnZCO0FBQ0Y7QTRFcDlOQTs7RUFBQTtBQUlBO0VBQW1CLDhCQUFBO0E1RXM5Tm5COztBNEVyOU5BO0VBQW1CLDJCQUFBO0E1RXk5Tm5COztBNEV4OU5BO0VBQWlCLDJCQUFBO0E1RTQ5TmpCOztBNEUxOU5BO0VBQWdCLDJCQUFBO0E1RTg5TmhCOztBNEUxOU5BO0VBQWlCLGdCekRnQkk7QW5CODhOckI7O0E0RTU5TkE7O0VBQUE7QUFJQTtFQUFzQixvQ0FBQTtBNUUrOU50Qjs7QTRFOTlOQTtFQUFzQixvQ0FBQTtBNUVrK050Qjs7QTRFaitOQTtFQUFzQixxQ0FBQTtBNUVxK050Qjs7QTRFcCtOQTtFQUFzQixxQ0FBQTtBNUV3K050Qjs7QTRFdCtOQTs7Ozs7O0VBQUE7QUFRQTtFQUNDLG1CQUFBLEVBQUEsTUFBQTtFQUNBLHVCQUFBLEVBQUEsTUFBQTtFQUNBLGdCQUFBO0E1RXcrTkQ7O0E0RXQrTkE7RUFDQztJQUNDLG1CQUFBO0lBQ0EsdUJBQUE7SUFDQSxnQkFBQTtFNUV5K05BO0FBQ0Y7QTRFdCtOQTs7RUFBQTtBQUlBO0VBQ0M7SUFDQyx1QkFBQTtFNUV1K05BO0FBQ0Y7QTRFcCtOQTtFQUNDLG1CQUFBO0E1RXMrTkQ7O0E0RW4rTkE7RUFDQyx1QkFBQTtBNUVzK05EOztBNEVuK05BO0VBQ0Msa0JBQUE7QTVFcytORDs7QTRFbitOQTtFQUNDLHlDQUFBO0E1RXMrTkQ7O0E0RW4rTkE7O0VBQUE7QUFJQTtFQUFrQix1QkFBQTtBNUVzK05sQjs7QTRFcitOQTtFQUFrQiwyQkFBQTtBNUV5K05sQjs7QTRFeCtOQTtFQUFrQiw2QkFBQTtBNUU0K05sQjs7QTRFMytOQTtFQUFrQiw4QkFBQTtBNUUrK05sQjs7QTRFOStOQTtFQUFrQiw0QkFBQTtBNUVrL05sQjs7QTRFai9OQTtFQUFrQiwyQkFBQTtFQUE2Qyw4QkFBQTtBNUVzL04vRDs7QTRFci9OQTtFQUFrQiw2QkFBQTtFQUE2Qyw0QkFBQTtBNUUwL04vRDs7QTRFeC9OQTtFQUFxQiw2QkFBQTtBNUU0L05yQjs7QTRFMy9OQTtFQUFrQiwwQkFBQTtBNUUrL05sQjs7QTRFOS9OQTtFQUFtQiwyQkFBQTtBNUVrZ09uQjs7QTRFamdPQTtFQUFzQiw4QkFBQTtBNUVxZ090Qjs7QTRFbmdPQTtFQUF5QiwwQkFBQTtBNUV1Z096Qjs7QTRFdGdPQTtFQUF5Qiw0QkFBQTtBNUUwZ096Qjs7QTRFemdPQTtFQUF5Qiw2QkFBQTtBNUU2Z096Qjs7QTRFNWdPQTtFQUF5QiwyQkFBQTtBNUVnaE96Qjs7QTRFL2dPQTtFQUF5QiwwQkFBQTtFQUErQyw2QkFBQTtBNUVvaE94RTs7QTRFbGhPQTtFQUFzQix1QkFBQTtBNUVzaE90Qjs7QTRFcmhPQTtFQUFzQiwyQkFBQTtBNUV5aE90Qjs7QTRFeGhPQTtFQUFzQiw2QkFBQTtBNUU0aE90Qjs7QTRFM2hPQTtFQUFzQiw4QkFBQTtBNUUraE90Qjs7QTRFOWhPQTtFQUFzQiw0QkFBQTtBNUVraU90Qjs7QTRFamlPQTtFQUFzQiwyQkFBQTtFQUE4Qyw4QkFBQTtBNUVzaU9wRTs7QTRFcmlPQTtFQUFzQiw2QkFBQTtFQUE4Qyw0QkFBQTtBNUUwaU9wRTs7QTRFeGlPQTtFQUF1QiwyQkFBQTtBNUU0aU92Qjs7QTRFM2lPQTtFQUF1QiwyQkFBQTtBNUUraU92Qjs7QTRFOWlPQTtFQUF1QiwyQkFBQTtBNUVrak92Qjs7QTRFaGpPQTtFQUEwQiw4QkFBQTtBNUVvak8xQjs7QTRFbmpPQTtFQUEwQiw4QkFBQTtBNUV1ak8xQjs7QTRFdGpPQTtFQUEwQiw4QkFBQTtBNUUwak8xQjs7QTRFeGpPQTtFQUF3Qiw0QkFBQTtBNUU0ak94Qjs7QTRFM2pPQTtFQUF3Qiw0QkFBQTtBNUUrak94Qjs7QTRFOWpPQTtFQUF3Qiw0QkFBQTtBNUVra094Qjs7QTRFaGtPQTtFQUF5Qiw2QkFBQTtBNUVva096Qjs7QTRFbmtPQTtFQUF5Qiw2QkFBQTtBNUV1a096Qjs7QTRFdGtPQTtFQUF5Qiw2QkFBQTtBNUUwa096Qjs7QTRFeGtPQTtFQUFxQiwyQkFBQTtFQUE0Qyw4QkFBQTtBNUU2a09qRTs7QTRFM2tPQTtFQUF1Qiw0QkFBQTtBNUUra092Qjs7QTRFOWtPQTtFQUF1QiwrQkFBQTtBNUVrbE92Qjs7QTRFamxPQTtFQUF1Qiw4QkFBQTtFQUE4Qyw2QkFBQTtBNUVzbE9yRTs7QTRFcmxPQTtFQUF1Qiw2QkFBQTtBNUV5bE92Qjs7QTRFdmxPQTtFQUF1Qiw0QkFBQTtBNUUybE92Qjs7QTRFemxPQTtFQUF1Qiw0QkFBQTtBNUU2bE92Qjs7QTRFNWxPQTtFQUF1QiwrQkFBQTtBNUVnbU92Qjs7QTRFL2xPQTtFQUF1Qiw4QkFBQTtFQUFnRCw2QkFBQTtBNUVvbU92RTs7QTRFbG1PQTtFQUFvQiw0QkFBQTtBNUVzbU9wQjs7QTRFcG1PQTtFQUFrQixvQkFBQTtBNUV3bU9sQjs7QTRFdm1PQTtFQUFrQix3QkFBQTtBNUUybU9sQjs7QTRFMW1PQTtFQUFrQiwwQkFBQTtBNUU4bU9sQjs7QTRFN21PQTtFQUFrQiwyQkFBQTtBNUVpbk9sQjs7QTRFaG5PQTtFQUFrQix5QkFBQTtBNUVvbk9sQjs7QTRFbm5PQTtFQUFrQix3QkFBQTtFQUEyQiwyQkFBQTtBNUV3bk83Qzs7QTRFdm5PQTtFQUFrQiwwQkFBQTtFQUEyQix5QkFBQTtBNUU0bk83Qzs7QXNCbHBPUTtFc0R5QlA7SUFBdUIsMkJBQUE7RTVFOG5PdEI7RTRFN25PRDtJQUF1Qiw4QkFBQTtFNUVnb090QjtFNEUvbk9EO0lBQXVCLDRCQUFBO0U1RWtvT3RCO0U0RWpvT0Q7SUFBdUIsMkJBQUE7SUFBNkMsOEJBQUE7RTVFcW9PbkU7RTRFbm9PRDtJQUE0QiwwQkFBQTtFNUVzb08zQjtFNEVwb09EO0lBQTRCLDJCQUFBO0U1RXVvTzNCO0U0RXRvT0Q7SUFBNEIsOEJBQUE7RTVFeW9PM0I7RTRFeG9PRDtJQUE0Qiw0QkFBQTtFNUUyb08zQjtFNEUxb09EO0lBQTRCLDJCQUFBO0lBQStDLDhCQUFBO0U1RThvTzFFO0U0RTVvT0Q7SUFBOEIsMkJBQUE7RTVFK29PN0I7RTRFOW9PRDtJQUE4Qiw4QkFBQTtFNUVpcE83QjtFNEUvb09EO0lBQXlCLDRCQUFBO0U1RWtwT3hCO0U0RWpwT0Q7SUFBeUIsNEJBQUE7RTVFb3BPeEI7RTRFbnBPRDtJQUF5Qiw2QkFBQTtFNUVzcE94QjtFNEVwcE9EO0lBQXdCLDZCQUFBO0U1RXVwT3ZCO0U0RXRwT0Q7SUFBd0IsMEJBQUE7RTVFeXBPdkI7QUFDRjtBNEV2cE9BO0VBQ0M7SUFBd0IsMkJBQUE7RTVFMHBPdkI7RTRFenBPRDtJQUF3Qiw4QkFBQTtFNUU0cE92QjtFNEUzcE9EO0lBQXdCLDZCQUFBO0U1RThwT3ZCO0U0RTdwT0Q7SUFBd0IsNEJBQUE7RTVFZ3FPdkI7RTRFOXBPRDtJQUFnQywwQkFBQTtFNUVpcU8vQjtFNEVocU9EO0lBQWdDLDRCQUFBO0U1RW1xTy9CO0U0RWxxT0Q7SUFBZ0MsNkJBQUE7RTVFcXFPL0I7RTRFcHFPRDtJQUFnQywyQkFBQTtFNUV1cU8vQjtFNEVycU9EO0lBQTZCLDJCQUFBO0U1RXdxTzVCO0U0RXZxT0Q7SUFBNkIsNkJBQUE7RTVFMHFPNUI7RTRFenFPRDtJQUE2Qiw4QkFBQTtFNUU0cU81QjtFNEUzcU9EO0lBQTZCLDRCQUFBO0U1RThxTzVCO0U0RTVxT0Q7SUFBK0IsMkJBQUE7RTVFK3FPOUI7RTRFOXFPRDtJQUErQiw4QkFBQTtFNUVpck85QjtFNEVock9EO0lBQStCLDRCQUFBO0U1RW1yTzlCO0U0RWxyT0Q7SUFBK0IsNkJBQUE7RTVFcXJPOUI7RTRFbnJPRDtJQUEwQiw0QkFBQTtFNUVzck96QjtFNEVyck9EO0lBQTBCLCtCQUFBO0U1RXdyT3pCO0U0RXRyT0Q7SUFBeUIsNkJBQUE7RTVFeXJPeEI7QUFDRjtBc0Jsd09RO0VzRDRFUDtJQUEyQiwyQkFBQTtFNUUwck8xQjtFNEV4ck9EO0lBQXFCLHdCQUFBO0U1RTJyT3BCO0FBQ0Y7QTRFenJPQTs7RUFBQTtBQUlBO0VBQWtCLHdCQUFBO0E1RTJyT2xCOztBNEUxck9BO0VBQWtCLDRCQUFBO0E1RThyT2xCOztBNEU3ck9BO0VBQWtCLDhCQUFBO0E1RWlzT2xCOztBNEVoc09BO0VBQWtCLCtCQUFBO0E1RW9zT2xCOztBNEVuc09BO0VBQWtCLDZCQUFBO0E1RXVzT2xCOztBNEV0c09BO0VBQWtCLDRCQUFBO0VBQTZDLCtCQUFBO0E1RTJzTy9EOztBNEUxc09BO0VBQWtCLDhCQUFBO0VBQTZDLDZCQUFBO0E1RStzTy9EOztBNEU5c09BO0VBQWtCLHdCQUFBO0E1RWt0T2xCOztBNEVodE9BO0VBQW9CLDRCQUFBO0VBQTRCLCtCQUFBO0E1RXF0T2hEOztBNEVwdE9BO0VBQWlCLHdCQUFBO0E1RXd0T2pCOztBNEV2dE9BO0VBQWtCLDRCQUFBO0E1RTJ0T2xCOztBNEUxdE9BO0VBQWdCLHdCQUFBO0E1RTh0T2hCOztBNEU1dE9BO0VBQWtCLHdCQUFBO0E1RWd1T2xCOztBNEU5dE9BO0VBQXFCLDRCQUFBO0VBQTRCLCtCQUFBO0E1RW11T2pEOztBNEVqdU9BO0VBQXFCLDhCQUFBO0VBQThCLDZCQUFBO0E1RXN1T25EOztBNEVwdU9BO0VBQXdCLDRCQUFBO0E1RXd1T3hCOztBNEV2dU9BO0VBQXdCLDRCQUFBO0E1RTJ1T3hCOztBNEV6dU9BO0VBQXdCLDhCQUFBO0E1RTZ1T3hCOztBNEU1dU9BO0VBQXdCLDhCQUFBO0E1RWd2T3hCOztBNEU5dU9BO0VBQXdCLCtCQUFBO0E1RWt2T3hCOztBNEVqdk9BO0VBQXdCLCtCQUFBO0E1RXF2T3hCOztBNEVudk9BO0VBQXNCLDZCQUFBO0E1RXV2T3RCOztBNEV0dk9BO0VBQXNCLDZCQUFBO0E1RTB2T3RCOztBNEV4dk9BO0VBQXlCLDRCQUFBO0VBQStDLCtCQUFBO0E1RTZ2T3hFOztBNEU1dk9BO0VBQXlCLDRCQUFBO0VBQStDLCtCQUFBO0E1RWl3T3hFOztBNEUvdk9BO0VBQXlCLHVCQUFBO0E1RW13T3pCOztBNEVsd09BO0VBQXlCLDJCQUFBO0E1RXN3T3pCOztBNEVyd09BO0VBQXlCLDZCQUFBO0E1RXl3T3pCOztBNEV4d09BO0VBQXlCLDhCQUFBO0E1RTR3T3pCOztBNEUzd09BO0VBQXlCLDRCQUFBO0E1RSt3T3pCOztBNEU5d09BO0VBQXlCLDZCQUFBO0VBQStDLDRCQUFBO0E1RW14T3hFOztBNEVseE9BO0VBQXlCLDJCQUFBO0VBQStDLDhCQUFBO0E1RXV4T3hFOztBNEVyeE9BO0VBQWtCLDJCQUFBO0VBQTRCLDhCQUFBO0E1RTB4TzlDOztBNEV4eE9BO0VBQWtCLDhCQUFBO0VBQStCLDZCQUFBO0E1RTZ4T2pEOztBNEU1eE9BO0VBQWlCLDRCQUFBO0VBQTJDLCtCQUFBO0E1RWl5TzVEOztBNEUveE9BO0VBQXVCLHdCQUFBO0E1RW15T3ZCOztBNEVseU9BO0VBQXVCLDRCQUFBO0E1RXN5T3ZCOztBNEVyeU9BO0VBQXVCLDhCQUFBO0E1RXl5T3ZCOztBNEV4eU9BO0VBQXVCLCtCQUFBO0E1RTR5T3ZCOztBNEUzeU9BO0VBQXVCLDZCQUFBO0E1RSt5T3ZCOztBNEU5eU9BO0VBQXVCLDRCQUFBO0VBQStDLCtCQUFBO0E1RW16T3RFOztBNEVsek9BO0VBQXVCLDhCQUFBO0VBQStDLDZCQUFBO0E1RXV6T3RFOztBNEVyek9BO0VBQWtCLHFCQUFBO0E1RXl6T2xCOztBNEV4ek9BO0VBQWtCLHlCQUFBO0E1RTR6T2xCOztBNEUzek9BO0VBQWtCLDJCQUFBO0E1RSt6T2xCOztBNEU5ek9BO0VBQWtCLDRCQUFBO0E1RWswT2xCOztBNEVqME9BO0VBQWtCLDBCQUFBO0E1RXEwT2xCOztBNEVwME9BO0VBQWtCLHlCQUFBO0VBQTRCLDRCQUFBO0E1RXkwTzlDOztBNEV4ME9BO0VBQWtCLDJCQUFBO0VBQTRCLDBCQUFBO0E1RTYwTzlDOztBNEUzME9BO0VBQ0M7SUFBa0IsOEJBQUE7SUFBNkMsNkJBQUE7RTVFZzFPOUQ7QUFDRjtBNEU3ME9BO0VBQ0M7SUFBMkIsd0JBQUE7RTVFZzFPMUI7RTRFOTBPRDtJQUE4Qiw2QkFBQTtFNUVpMU83QjtFNEUvME9EO0lBQXNCLDBCQUFBO0U1RWsxT3JCO0U0RWoxT0Q7SUFBc0IsMkJBQUE7RTVFbzFPckI7RTRFbDFPRDtJQUFzQiwyQkFBQTtJQUE0QiwwQkFBQTtFNUVzMU9qRDtBQUNGO0E0RXAxT0E7RUFDQztJQUF1Qix3QkFBQTtFNUV1MU90QjtFNEV0MU9EO0lBQXVCLDRCQUFBO0U1RXkxT3RCO0U0RXgxT0Q7SUFBdUIsOEJBQUE7RTVFMjFPdEI7RTRFMTFPRDtJQUF1Qiw2QkFBQTtFNUU2MU90QjtFNEU1MU9EO0lBQXVCLDRCQUFBO0lBQTJDLCtCQUFBO0U1RWcyT2pFO0U0RS8xT0Q7SUFBdUIsOEJBQUE7SUFBNkMsNkJBQUE7RTVFbTJPbkU7RTRFajJPRDtJQUErQiw2QkFBQTtFNUVvMk85QjtFNEVuMk9EO0lBQStCLDRCQUFBO0U1RXMyTzlCO0U0RXAyT0Q7SUFBK0IsNEJBQUE7RTVFdTJPOUI7RTRFdDJPRDtJQUErQiw4QkFBQTtFNUV5Mk85QjtFNEV4Mk9EO0lBQStCLCtCQUFBO0U1RTIyTzlCO0U0RTEyT0Q7SUFBK0IsNkJBQUE7RTVFNjJPOUI7RTRFMzJPRDtJQUE4Qiw4QkFBQTtFNUU4Mk83QjtFNEU1Mk9EO0lBQTZCLDRCQUFBO0U1RSsyTzVCO0U0RTkyT0Q7SUFBNkIsOEJBQUE7RTVFaTNPNUI7RTRFaDNPRDtJQUE2QiwrQkFBQTtFNUVtM081QjtFNEVsM09EO0lBQTZCLDZCQUFBO0U1RXEzTzVCO0U0RW4zT0Q7SUFBa0IsOEJBQUE7SUFBK0MsNkJBQUE7RTVFdTNPaEU7RTRFdDNPRDtJQUFpQiw0QkFBQTtJQUE2QywrQkFBQTtFNUUwM083RDtFNEV4M09EO0lBQXVCLDJCQUFBO0U1RTIzT3RCO0U0RTEzT0Q7SUFBdUIsMEJBQUE7RTVFNjNPdEI7RTRFNTNPRDtJQUFxQix5QkFBQTtFNUUrM09wQjtFNEU5M09EO0lBQXlCLDRCQUFBO0U1RWk0T3hCO0U0RS8zT0Q7SUFBdUIsMkJBQUE7SUFBNEIsMEJBQUE7RTVFbTRPbEQ7QUFDRjtBc0J4a1BRO0VzRHdNUDtJQUFzQix3QkFBQTtFNUVvNE9yQjtFNEVuNE9EO0lBQXNCLDRCQUFBO0U1RXM0T3JCO0U0RXI0T0Q7SUFBc0IsOEJBQUE7RTVFdzRPckI7RTRFdjRPRDtJQUFzQiw2QkFBQTtFNUUwNE9yQjtFNEV6NE9EO0lBQXNCLDRCQUFBO0lBQTJDLCtCQUFBO0U1RTY0T2hFO0U0RTU0T0Q7SUFBc0IsOEJBQUE7SUFBNkMsNkJBQUE7RTVFZzVPbEU7RTRFOTRPRDtJQUE4Qiw2QkFBQTtFNUVpNU83QjtFNEVoNU9EO0lBQThCLDRCQUFBO0U1RW01TzdCO0U0RWo1T0Q7SUFBNEIsNEJBQUE7RTVFbzVPM0I7RTRFbjVPRDtJQUE4Qiw4QkFBQTtFNUVzNU83QjtFNEVyNU9EO0lBQThCLCtCQUFBO0U1RXc1TzdCO0U0RXY1T0Q7SUFBOEIsNkJBQUE7RTVFMDVPN0I7RTRFeDVPRDtJQUE2Qiw4QkFBQTtFNUUyNU81QjtFNEV6NU9EO0lBQXlCLDRCQUFBO0U1RTQ1T3hCO0U0RTM1T0Q7SUFBNEIsK0JBQUE7RTVFODVPM0I7RTRFNzVPRDtJQUE0Qiw2QkFBQTtFNUVnNk8zQjtFNEU5NU9EO0lBQXlCLDRCQUFBO0U1RWk2T3hCO0U0RWg2T0Q7SUFBNkIsZ0NBQUE7RTVFbTZPNUI7RTRFajZPRDtJQUFzQiwyQkFBQTtFNUVvNk9yQjtFNEVuNk9EO0lBQXNCLDBCQUFBO0U1RXM2T3JCO0U0RXI2T0Q7SUFBb0IseUJBQUE7RTVFdzZPbkI7RTRFdjZPRDtJQUF3Qiw0QkFBQTtFNUUwNk92QjtFNEV4Nk9EO0lBQXNCLDJCQUFBO0lBQTRCLDBCQUFBO0U1RTQ2T2pEO0FBQ0Y7QTRFMTZPQTs7RUFBQTtBQUdBO0VBQ0MsaUJBQUE7RUFDQSxtQkFBQTtBNUU0Nk9EOztBNEUxNk9BO0VBQ0Msa0JBQUE7RUFDQSwwQkFBQTtBNUU2Nk9EOztBNEUzNk9BO0VBQ0MsNkJ6RTVSd0I7QUgwc1B6Qjs7QTRFNTZPQTtFQUNDLGdDQUFBO0E1RSs2T0Q7O0E0RTc2T0E7RUFDQyxnQ3pFbFN3QjtBSGt0UHpCOztBNEU5Nk9BO0VBQ0MsaUNBQUE7RUFDQSxtQkFBQTtFQUNBLGVBQUE7QTVFaTdPRDtBNEVoN09DO0VBR0MscUJBQUE7QTVFZzdPRjs7QTRFNzZPQTtFQUNDLGlDQUFBO0VBQ0EsbUJBQUE7RUFDQSxlQUFBO0E1RWc3T0Q7QTRFLzZPQztFQUNDLGNBQUE7RUFDQSxxQkFBQTtBNUVpN09GOztBNEU5Nk9BO0VBQ0MsaUNBQUE7RUFDQSxtQkFBQTtFQUNBLGVBQUE7QTVFaTdPRDtBNEVoN09DO0VBQ0MsY0FBQTtFQUNBLHFCQUFBO0E1RWs3T0Y7O0E0RS82T0E7RUFDQyxpQ0FBQTtFQUNBLG1CQUFBO0VBQ0EsZUFBQTtBNUVrN09EO0E0RWo3T0M7RUFDQyxjQUFBO0VBQ0EscUJBQUE7QTVFbTdPRjs7QTRFLzZPQTtFQUNDO0lBQThCLGtCQUFBO0lBQW9CLDBCQUFBO0U1RW83T2pEO0FBQ0Y7QTRFbjdPQTtFQUNDO0lBQStCLGtCQUFBO0lBQW9CLDBCQUFBO0U1RXU3T2xEO0FBQ0Y7QTRFcjdPQTs7RUFBQTtBQUlBO0VBQXdCLHNCQUFBO0E1RXU3T3hCOztBNEV0N09BO0VBQ0M7SUFBcUIsc0JBQUE7RTVFMDdPcEI7QUFDRjtBNEV6N09BO0VBQ0M7SUFBb0IscUJBQUE7RTVFNDdPbkI7QUFDRjtBNEUxN09BO0VBQXdCLHVCQUFBO0E1RTY3T3hCOztBNEUzN09BOzs7RTFFbGVJLDZCQUFBO0VBQ0EsMkJBQUE7RUFDQSw4QkFBQTtFQUNBLHVCQUFBO0VBQ0EscUJBQUE7RUFDQSxxQkFBQTtFQUNBLHNCQUFBO0VBQ0Esb0JBQUE7QUZtNlBKOztBNEVsOE9BO0VBQ0MsNkJBQUE7QTVFcThPRDs7QTRFbDhPQTtFQUNDO0kxRTdlRyw2QkFBQTtJQUNBLDJCQUFBO0lBQ0EsOEJBQUE7SUFDQSx1QkFBQTtJQUNBLHFCQUFBO0lBQ0EscUJBQUE7SUFDQSxzQkFBQTtJQUNBLG9CQUFBO0VGbTdQRjtBQUNGO0E0RXo4T0E7Ozs7Ozs7Ozs7RUFBQTtBQWFDO0VBQ0Msa0JBQUE7RUFDQSxNQUFBO0VBQ0EsUUFBQTtFQUNBLFNBQUE7RUFDQSxPQUFBO0VBQ0EsV0FBQTtFQUNBLFdBQUE7QTVFeThPRjs7QTRFcjhPQTs7RUFBQTtBQUlBO0VBQ0MsMEJBQUE7QTVFdThPRDs7QTRFcDhPQTs7RUFBQTtBQUlBO0VBQ0MsdUJBQUE7QTVFczhPRDs7QTRFbjhPQTs7RUFBQTtBQUlBO0VBQWlGLHdCQUFBO0E1RXM4T2pGOztBNEVwOE9BOztFQUFBO0FBSUE7RUFBeUIseUJBQUE7QTVFdThPekI7O0E0RXQ4T0E7RUFBeUIseUJBQUE7QTVFMDhPekI7O0E0RXo4T0E7RUFBeUIseUJBQUE7QTVFNjhPekI7O0E0RTU4T0E7RUFBeUIseUJBQUE7QTVFZzlPekI7O0E0RS84T0E7RUFBeUIseUJBQUE7QTVFbTlPekI7O0E0RWw5T0E7RUFBeUIseUJBQUE7QTVFczlPekI7O0E0RXI5T0E7RUFBeUIseUJBQUE7QTVFeTlPekI7O0E0RXg5T0E7RUFBeUIseUJBQUE7QTVFNDlPekI7O0E0RTM5T0E7RUFBeUIseUJBQUE7QTVFKzlPekI7O0E0RTk5T0E7RUFBeUIseUJBQUE7QTVFaytPekI7O0E0RWorT0E7RUFBeUIseUJBQUE7QTVFcStPekI7O0E0RXArT0E7RUFBeUIseUJBQUE7QTVFdytPekI7O0E0RXYrT0E7RUFBeUIseUJBQUE7QTVFMitPekI7O0E0RTErT0E7RUFBeUIseUJBQUE7QTVFOCtPekI7O0E0RTcrT0E7RUFBeUIseUJBQUE7QTVFaS9PekI7O0E0RWgvT0E7RUFBeUIseUJBQUE7QTVFby9PekI7O0E0RW4vT0E7RUFBeUIseUJBQUE7QTVFdS9PekI7O0E0RXQvT0E7RUFBeUIseUJBQUE7QTVFMC9PekI7O0E0RXovT0E7RUFBeUIseUJBQUE7QTVFNi9PekI7O0E0RTMvT0E7RUFDQztJQUFxQix5QkFBQTtFNUUrL09wQjtBQUNGO0E0RTcvT0E7OztFQUFBO0FBS0E7RUFDQyxrQkFBQTtFQUNBLFVBQUE7RUFDQSxnQkFBQTtFQUNBLGtCQUFBO0E1RTgvT0Q7QTRFNy9PQztFQUNDLFlBQUE7RUFDQSxrQkFBQTtFQUNBLFFBQUE7RUFDQSxnQkFBQTtFQUNBLFVBQUE7RUFDQSxXQUFBO0VBQ0EseUJBQUE7QTVFKy9PRjtBNEU3L09DO0VBQ0MsaUJBQUE7RUFDQSxpQkFBQTtBNUUrL09GO0E0RTcvT0M7RUFDQyxlQUFBO0E1RSsvT0Y7O0E0RXIvT0E7O0VBQUE7QUFJQTtFQUF5Qix5QkFBQTtFQUFnQyxlQUFBLEVBQUEsNERBQUE7QTVFeS9PekQ7O0E0RXgvT0E7RUFBeUIseUJBQUE7RUFBZ0MsZUFBQSxFQUFBLDREQUFBO0E1RTYvT3pEOztBNEU1L09BO0VBQXlCLHlCQUFBO0VBQW1DLGVBQUE7QTVFaWdQNUQ7O0E0RWhnUEE7RUFBeUIseUJBQUE7RUFBMEIsZUFBQSxFQUFBLDBFQUFBO0E1RXFnUG5EOztBNEVwZ1BBO0VBQXlCLHlCQUFBO0VBQTZCLGVBQUEsRUFBQSwwRUFBQTtBNUV5Z1B0RDs7QTRFeGdQQTtFQUF5Qix5QkFBQTtFQUFpQyxlQUFBLEVBQUEsMEVBQUE7QTVFNmdQMUQ7O0E0RTVnUEE7RUFBeUIseUJBQUE7RUFBMEIsZUFBQSxFQUFBLDBFQUFBO0E1RWloUG5EOztBNEVoaFBBO0VBQXlCLHlCQUFBO0VBQTBCLGVBQUEsRUFBQSwwRUFBQTtBNUVxaFBuRDs7QXNCbjlQUTtFc0RpY1A7SUFDQyxjekVsaEJnQjtJeUVtaEJoQixxQkFBQTtJQUNBLGVBQUE7SUFDQSxtQnpEL2hCcUI7RW5CcWpRckI7RTRFcGhQQTtJQUNDLGN6RXhoQmU7SXlFeWhCZixVQUFBO0U1RXNoUEQ7QUFDRjtBNEVsaFBBOztFQUFBO0FBSUE7RUFBMEIsb0NBQUE7QTVFb2hQMUI7O0E0RW5oUEE7RUFBMEIsb0NBQUE7QTVFdWhQMUI7O0E0RXRoUEE7RUFBMEIsb0NBQUE7QTVFMGhQMUI7O0E0RXpoUEE7RUFBMEIsb0NBQUE7QTVFNmhQMUI7O0E0RTVoUEE7OztFQUEwQixvQ0FBQTtBNUVraVAxQjs7QTRFamlQQTtFQUEwQixvQ0FBQTtBNUVxaVAxQjs7QTRFcGlQQTtFQUEwQix3Q0FBQTtBNUV3aVAxQjs7QTRFdmlQQTtFQUEwQixvQ0FBQTtBNUUyaVAxQjs7QTRFMWlQQTtFQUEwQixvQ0FBQTtBNUU4aVAxQjs7QTRFN2lQQTtFQUEwQixvQ0FBQTtBNUVpalAxQjs7QTRFaGpQQTtFQUEwQixvQ0FBQTtBNUVvalAxQjs7QTRFbmpQQTtFQUEwQixvQ0FBQTtBNUV1alAxQjs7QTRFdGpQQTtFQUEwQixvQ0FBQTtBNUUwalAxQjs7QTRFempQQTtFQUEwQixvQ0FBQTtBNUU2alAxQjs7QTRFNWpQQTtFQUEwQixrREFBQTtFQUE4RCxxREFBQTtBNUVpa1B4Rjs7QTRFaGtQQTtFQUEwQix5QnpFcmhCRDtBSHlsUXpCOztBNEVua1BBO0VBQTBCLCtFQUFBO0VBQW1FLHFEQUFBO0E1RXdrUDdGOztBNEV2a1BBOztFQUEwQixvQ0FBQTtBNUU0a1AxQjs7QTRFM2tQQTtFQUEwQixvQ0FBQTtBNUUra1AxQjs7QTRFOWtQQTtFQUEwQixvQ0FBQTtBNUVrbFAxQjs7QTRFamxQQTtFQUEwQixvQ0FBQTtBNUVxbFAxQjs7QTRFcGxQQTtFQUFvQixvQ0FBQTtBNUV3bFBwQjs7QTRFdmxQQTtFQUEwQixvQ0FBQTtBNUUybFAxQjs7QTRFMWxQQTtFQUEwQixvQ0FBQTtBNUU4bFAxQjs7QTRFN2xQQTtFQUEwQixvQ0FBQTtBNUVpbVAxQjs7QTRFaG1QQTtFQUEwQixvQ0FBQTtBNUVvbVAxQjs7QTRFbm1QQTtFQUEwQixvQ0FBQTtBNUV1bVAxQjs7QTRFdG1QQTtFQUEwQixvQ0FBQTtBNUUwbVAxQjs7QTRFeG1QQTtFQUEwQixvQ0FBQTtBNUU0bVAxQjs7QTRFM21QQTtFQUEwQixvQ0FBQTtBNUUrbVAxQjs7QTRFOW1QQTtFQUEwQixvQ0FBQTtBNUVrblAxQjs7QTRFam5QQTtFQUEwQixvQ0FBQTtBNUVxblAxQjs7QTRFbm5QQTtFQUEwQixvQ0FBQTtBNUV1blAxQjs7QTRFdG5QQTtFQUEwQixvQ0FBQTtBNUUwblAxQjs7QTRFem5QQTtFQUEwQixvQ0FBQTtBNUU2blAxQjs7QTRFNW5QQTtFQUEwQixvQ0FBQTtBNUVnb1AxQjs7QTRFOW5QQTs7RUFBQTtBQUlBO0VBQW1CLCtDQUFBO0E1RWlvUG5COztBNEVob1BBO0VBQW1CLGdEQUFBO0E1RW9vUG5COztBNEVub1BBO0VBQW1CLGdEQUFBO0E1RXVvUG5COztBNEV0b1BBO0VBQW1CLGdEQUFBO0E1RTBvUG5COztBNEV6b1BBO0VBQW1CLCtDQUFBO0E1RTZvUG5COztBNEUzb1BBOztFQUFBO0FBSUE7RUFBZSxZQUFBO0E1RThvUGY7O0E0RTdvUEE7RUFBZSxhQUFBO0E1RWlwUGY7O0E0RS9vUEE7O0VBQUE7QUFJQTtFQUFhLDBCQUFBO0E1RWtwUGI7O0E0RWpwUEE7RUFBYSwwQkFBQTtBNUVxcFBiOztBNEVwcFBBO0VBQWEsMEJBQUE7QTVFd3BQYjs7QTRFdnBQQTtFQUFhLDBCQUFBO0E1RTJwUGI7O0E0RTFwUEE7RUFBYSwwQkFBQTtBNUU4cFBiOztBNEU3cFBBO0VBQWEsMEJBQUE7QTVFaXFQYjs7QTRFaHFQQTtFQUFhLDBCQUFBO0E1RW9xUGI7O0E0RW5xUEE7RUFBYSwwQkFBQTtBNUV1cVBiOztBNEV0cVBBO0VBQWEsMEJBQUE7QTVFMHFQYjs7QTRFenFQQTtFQUFhLDBCQUFBO0E1RTZxUGI7O0E0RTVxUEE7RUFBYSwwQkFBQTtBNUVnclBiOztBNEUvcVBBO0VBQWEsMEJBQUE7QTVFbXJQYjs7QTRFbHJQQTtFQUFhLDBCQUFBO0E1RXNyUGI7O0E0RXJyUEE7RUFBYSwwQkFBQTtBNUV5clBiOztBNEV4clBBO0VBQWEsMEJBQUE7QTVFNHJQYjs7QTRFM3JQQTtFQUFhLDBCQUFBO0E1RStyUGI7O0E0RTlyUEE7RUFBYSwwQkFBQTtBNUVrc1BiOztBNEVqc1BBO0VBQWEsMEJBQUE7QTVFcXNQYjs7QTRFcHNQQTtFQUNDO0lBQ0MsMEJBQUE7RTVFdXNQQTtBQUNGO0E0RXJzUEE7RUFDQztJQUNDLDBCQUFBO0U1RXVzUEE7RTRFcnNQRDtJQUNDLDBCQUFBO0U1RXVzUEE7RTRFcnNQRDtJQUNDLDBCQUFBO0U1RXVzUEE7RTRFcnNQRDtJQUNDLDBCQUFBO0U1RXVzUEE7QUFDRjtBNEVwc1BBOztFQUFBO0FBSUE7RUFBa0IsK0NBQUE7QTVFc3NQbEI7O0E0RXBzUEE7OztFQUFBO0FBS0E7RUFBbUIsNENBQUE7RUFBOEMsZ0JBQUE7QTVFd3NQakUsRTRFeHNQcUYsTUFBQTtBQUVyRjs7Q0FBQTtBQUdBO0VBQXNCLDRCQUFBO0E1RXlzUHRCOztBNEV4c1BBO0VBQXNCLDhCQUFBO0E1RTRzUHRCOztBNEUzc1BBO0VBQXNCLDhCQUFBO0E1RStzUHRCOztBNEU3c1BBOztFQUFBO0FBSUE7RUFBeUIseUJBQUE7QTVFZ3RQekI7O0E0RS9zUEE7RUFBeUIseUJBQUE7QTVFbXRQekI7O0E0RWx0UEE7RUFBeUIsNEJBQUE7QTVFc3RQekI7O0E0RXJ0UEE7RUFBeUIsMkJBQUE7QTVFeXRQekI7O0E0RXh0UEE7RUFBeUIsNEJBQUE7QTVFNHRQekI7O0E0RTN0UEE7RUFBeUIsMkJBQUE7QTVFK3RQekI7O0E0RTl0UEE7RUFBd0IsMkJBQUE7QTVFa3VQeEI7O0E0RWp1UEE7RUFBeUIsMkJBQUE7QTVFcXVQekI7O0E0RXB1UEE7RUFBeUIsNEJBQUE7QTVFd3VQekI7O0E0RXZ1UEE7RUFBeUIsNEJBQUE7QTVFMnVQekI7O0E0RTF1UEE7RUFBeUIsNEJBQUE7QTVFOHVQekI7O0E0RTd1UEE7RUFBeUIsNEJBQUE7QTVFaXZQekI7O0E0RWh2UEE7RUFBd0IsNEJBQUE7QTVFb3ZQeEI7O0E0RW52UEE7RUFBeUIsNEJBQUE7QTVFdXZQekI7O0E0RXR2UEE7RUFBd0IsNEJBQUE7QTVFMHZQeEI7O0E0RXp2UEE7RUFBeUIsNEJBQUE7QTVFNnZQekI7O0E0RTV2UEE7RUFBeUIsNEJBQUE7QTVFZ3dQekI7O0E0RTl2UEE7RUFDQztJQUNDLDRCQUFBO0U1RWl3UEE7RTRFL3ZQRDtJQUNDLDRCQUFBO0U1RWl3UEE7RTRFL3ZQRDtJQUNDLDRCQUFBO0U1RWl3UEE7QUFDRjtBNEU5dlBBOzs7O0VBQUE7QUFRQTtFQUNDO0l6Qy91QkMseUJBaEJRO0VuQzYvUVI7QUFDRjtBNEU1dlBBOztFQUFBO0FBSUE7RUFBbUMsaUNBQUE7QTVFOHZQbkM7O0E0RTd2UEE7RUFBbUMsOEJBQUE7QTVFaXdQbkM7O0E0RXR2UEE7O0VBQUE7QUFJQTtFQUF3RCx5QkFBQTtBNUV5dlB4RDs7QTRFeHZQQTtFQUF3RCxnQ0FBQTtBNUU0dlB4RDs7QTRFM3ZQQTtFQUF3RCwrQkFBQTtBNUUrdlB4RDs7QTRFOXZQQTtFQUF3RCx3QkFBQTtBNUVrd1B4RDs7QTRFandQQTtFQUF3RCwwQkFBQTtBNUVxd1B4RDs7QTRFcHdQQTtFQUF3RCx5QkFBQTtBNUV3d1B4RDs7QTRFdndQQTtFQUF3RCxvQ0FBQTtBNUUyd1B4RDs7QTRFMXdQQTtFQUF3RCw2QkFBQTtBNUU4d1B4RDs7QTRFN3dQQTtFQUF3RCw4QkFBQTtBNUVpeFB4RDs7QTRFaHhQQTtFQUF3RCx3QkFBQTtBNUVveFB4RDs7QTRFbnhQQTtFQUF3RCx3QkFBQTtFQUF5QixrQ0FBQTtFQUFtQyw4QkFBQTtBNUV5eFBwSDs7QTRFeHhQQTtFQUNDO0lBQWlELHlCQUFBO0U1RTR4UGhEO0U0RTN4UEQ7SUFBaUQsd0JBQUE7RTVFOHhQaEQ7QUFDRjtBc0J0N1FRO0VzRDBwQlA7SUFBbUQsd0JBQUE7RTVFZ3lQbEQ7QUFDRjtBNEUveFBBO0VBQ0M7SUFBd0UsZ0NBQUE7RTVFa3lQdkU7QUFDRjtBNEVoeVBBO0VBQWtCLDJCQUFBO0E1RW15UGxCOztBNEVseVBBO0VBQWtCLDhCQUFBO0E1RXN5UGxCOztBNEVyeVBBO0VBQWtCLGlDQUFBO0E1RXl5UGxCOztBNEV2eVBBO0VBQ0M7SUFBb0IsOEJBQUE7RTVFMnlQbkI7RTRFMXlQRDtJQUF1QixpQ0FBQTtFNUU2eVB0QjtBQUNGO0E0RTF5UEE7RUFBd0IsYUFBQTtBNUU2eVB4Qjs7QTRFM3lQQTtFQUFlLHNCQUFBO0E1RSt5UGY7O0E0RTd5UEE7RUFBVyxtQkFBQTtBNUVpelBYOztBNEVoelBBO0VBQVcsbUJBQUE7QTVFb3pQWDs7QTRFbnpQQTtFQUFXLG9CQUFBO0E1RXV6UFg7O0E0RXR6UEE7RUFBWSxvQkFBQTtBNUUwelBaOztBNEV6elBBO0VBQVkscUJBQUE7QTVFNnpQWjs7QTRFMXpQQTs7RUFBQTtBQUlBO0VBQTZDLGdDQUFBO0E1RTZ6UDdDOztBNEU1elBBO0VBQTZDLDZCQUFBO0E1RWcwUDdDOztBNEUvelBBO0VBQTZDLDBCQUFBO0E1RW0wUDdDOztBNEVsMFBBO0VBQTZDLDBCQUFBO0E1RXMwUDdDOztBNEVyMFBBO0VBQTZDLHFDQUFBO0E1RXkwUDdDOztBNEV4MFBBO0VBQTZDLHFDQUFBO0E1RTQwUDdDOztBNEUzMFBBO0VBQTZDLDJCQUFBO0E1RSswUDdDOztBNEU5MFBBO0VBQTZDLDJCQUFBO0E1RWsxUDdDOztBNEVqMVBBO0VBQTZDLGdDQUFBO0E1RXExUDdDOztBNEVwMVBBO0VBQTZDLGdDQUFBO0E1RXcxUDdDOztBNEV2MVBBO0VBQTZDLGdDQUFBO0E1RTIxUDdDOztBNEUxMVBBO0VBQTZDLG9CQUFBO0E1RTgxUDdDOztBNEU1MVBBO0VBQ0M7SUFBaUQsMkJBQUE7RTVFZzJQaEQ7QUFDRjtBc0JuaVJRO0VzRHFzQlI7SUFFRSxnQ0FBQTtFNUVnMlBBO0FBQ0Y7O0E0RTcxUEE7O0VBQUE7QUFJQTtFQUFZLDZCQUFBO0E1RWcyUFo7O0E0RS8xUEE7RUFBVSwyQkFBQTtBNUVtMlBWOztBNEVqMlBBOztFQUFBO0FBSUE7RUFDQyxnQkFBQTtBNUVtMlBEOztBNEVoMlBDO0VBQ0MsV0FBQTtFQUNBLFdBQUE7RUFDQSxjQUFBO0E1RW0yUEY7O0E0RS8xUEE7O0VBQUE7QUFHQTtFQUE4QyxvQ0FBQTtBNUVtMlA5Qzs7QTRFajJQQTs7RUFBQTtBQUdBO0VBQ0Msa0dBQUE7RUFDQSw2QkFBQTtBNUVvMlBEOztBNEVqMlBBO0VBQ0MsZ0JBQUE7QTVFbzJQRDs7QTRFajJQQTtFQUNDLGtHQUFBO0E1RW8yUEQ7O0E0RWoyUEE7Ozs7Ozs7RUFBQTtBQVFBO0VBQ0MsdUJBQUE7QTVFbzJQRDs7QTRFajJQQTs7eUNBQUE7QUFJQTs7Ozs7Ozs7RUFBQTtBQVVBO0VBQ0Msa0JBQUE7RUFDQSxvQkFBQTtFQUNBLFNBQUE7RUFDQSxnQkFBQTtBNUVrMlBEO0E0RWoyUEM7RUFDQyxrQkFBQTtFQUNBLE1BQUE7RUFDQSxPQUFBO0VBQ0Esc0JBQUE7RUFDQSx1QkFBQTtBNUVtMlBGOztBNEUvMVBBOztFQUFBO0FBSUE7RUFDQyw0QkFBQTtFQUNBLFVBQUE7RUFDQSx5QkFBQTtBNUVpMlBEOztBNEU5MVBBO0VBQ0MsVUFBQTtBNUVpMlBEOztBNEU5MVBBO0VBQ0MsVUFBQTtBNUVpMlBEOztBNEU5MVBBO0UxRWozQkMsZ0NBQUE7RUFDQSwrQkFBQTtFQUNBLDhCQUFBO0VBQ0EscUhBQUE7RUFFQSxhQUFBO0VBQ0EsbURBQUE7RUFDQSxxQkFBQTtBRmt0UkQ7QTRFcjJQQztFQUNDLFdBQUE7RUFDQSxzQ0FBQTtBNUV1MlBGO0E0RW4yUEU7RUFERDtJMUVqMkJHLGlCQUFBO0VGeXNSRjtBQUNGOztBNkV6MVJBOzt5Q0FBQTtBQUlBOzt5Q0FBQTtBQUlBO0VBQ0Msa0JBQUE7QTdFMDFSRDs7QTZFdjFSQTtFQUNDLGtCQUFBO0VBQ0EsNEJBQUE7RUFDQSxzQkFBQTtFQUVBLDhFQUFBO0VBQ0EsYUFBQTtBN0V5MVJEOztBNkV0MVJBO0VBQ0MsZ0JBQUE7QTdFeTFSRDtBNkV4MVJDO0VBQ0MsY0FBQTtFQUNBLFdBQUE7QTdFMDFSRjs7QTZFdDFSQztFQUNDLDhFQUFBO0VBQ0EsZUFBQTtFQUNBLFdBQUE7QTdFeTFSRjs7QTZFdDFSQztFQUNDO0lBQ0MsYUFBQTtFN0V5MVJEO0FBQ0Y7QTZFdDFSQztFQUNDO0lBQ0MsWUFBQTtJQUVBLDhGQUFBO0lBQ0EsaUJBQUE7SUFDQSxnQkFBQTtFN0V1MVJEO0U2RXAxUkM7SUFDQyxpQkFBQTtFN0VzMVJGO0U2RW4xUkM7SUFDQyxpQkFBQTtFN0VxMVJGO0U2RWwxUkE7SUFDQyxrQkFBQTtJQUNBLE9BQUE7SUFDQSxjQUFBO0lBQ0EsV0FBQTtJQUNBLFlBQUE7SUFDQSxzRUFBQTtFN0VvMVJEO0FBQ0Y7QTZFajFSQTtFQUNDLGVBQUE7RUFDQSxZQUFBO0VBQ0EsYUFBQTtFQUNBLHFDQUFBO0VBQ0EsY0FBQTtFQUNBLDBCQUFBO0E3RW0xUkQ7O0E2RWgxUkE7RUFDQyxjQUFBO0E3RW0xUkQ7O0E2RWgxUkE7RUFDQyxpQkFBQTtBN0VtMVJEOztBNkVoMVJBO0VBQ0MsaUJBQUE7QTdFbTFSRDs7QTZFaDFSQTtFQUNDLGtCQUFBO0VBQ0EsWUFBQTtFQUNBLFdBQUE7RUFDQSxnQjFEekJjO0FuQjQyUmY7QTZFbDFSQztFQUNDLG1CQUFBO0E3RW8xUkY7O0E2RWgxUkE7RUFDQyxrQkFBQTtFQUNBLFNBQUE7RUFDQSxXQUFBO0VBQ0EsYUFBQTtFQUNBLDJCQUFBO0VBQ0EsMkJBQUE7RUFDQSx3RUFBQTtFQUNBLDZIQUFBO0E3RW0xUkQ7O0E2RWgxUkE7RUFDQyxrQkFBQTtFQUNBLE9BQUE7RUFDQSxjQUFBO0VBQ0EsV0FBQTtFQUNBLFlBQUE7RUFDQSxvQ0FBQTtBN0VtMVJEOztBNkVoMVJBO0VBQ0MsZUFBQTtFQUNBLFlBQUE7RUFDQSxxQ0FBQTtFQUNBLGNBQUE7RUFDQSwwQkFBQTtBN0VtMVJEO0E2RWwxUkM7RUFDQyxjQUFBO0VBQ0EsMEJBQUE7QTdFbzFSRjs7QTZFajFSQztFQUNDLGVBQUE7RUFDQSxhQUFBO0E3RW8xUkY7O0E2RWoxUkE7RUFJQyxpQkFBQTtFQUNBLGNBQUE7RUFDQSxlQUFBO0VBQ0EsZ0JBQUE7QTdFaTFSRDs7QTZFOTBSQTs7RUFBQTtBQUlBO0VBQ0Msd0ZBQUE7QTdFZzFSRDtBNkUvMFJDO0VBRkQ7SUFHRSx1RkFBQTtFN0VrMVJBO0FBQ0Y7QTZFdDFSQTtFQUtDLHdCQUFBO0E3RW8xUkQ7O0E2RWoxUkE7RUFDQywwRkFBQTtBN0VvMVJEO0E2RW4xUkM7RUFGRDtJQUdFLHlGQUFBO0U3RXMxUkE7QUFDRjtBNkUxMVJBO0VBS0Msd0JBQUE7QTdFdzFSRDs7QTZFcjFSQTtFQUNDLGlHQUFBO0E3RXcxUkQ7QTZFdjFSQztFQUZEO0lBR0UsZ0dBQUE7RTdFMDFSQTtBQUNGO0E2RTkxUkE7RUFLQyx3QkFBQTtBN0U0MVJEOztBNkV6MVJBO0VBQ0MsaUdBQUE7QTdFNDFSRDtBNkUzMVJDO0VBRkQ7SUFHRSxnR0FBQTtFN0U4MVJBO0FBQ0Y7QTZFbDJSQTtFQUtDLHdCQUFBO0E3RWcyUkQ7O0E2RTcxUkE7RUFDQywwRkFBQTtBN0VnMlJEO0E2RS8xUkM7RUFGRDtJQUdFLHlGQUFBO0U3RWsyUkE7QUFDRjtBNkV0MlJBO0VBS0Msd0JBQUE7QTdFbzJSRDs7QTZFajJSQTtFQUNDLGdHQUFBO0VBQ0Esa0JBQUE7RUFDQSxXQUFBO0E3RW8yUkQ7QTZFbjJSQztFQUNDO0lBQ0Msa0JBQUE7SUFDQSxNQUFBO0lBQ0EsT0FBQTtJQUNBLFdBQUE7SUFDQSxZQUFBO0lBQ0EsV0FBQTtJQUNBLGNBQUE7SUFDQSxVQUFBO0lBQ0EscUNBQUE7RTdFcTJSRDtBQUNGO0E2RW4yUkM7RUFqQkQ7SUFrQkUsK0ZBQUE7RTdFczJSQTtBQUNGO0E2RXozUkE7RUFvQkMsd0JBQUE7QTdFdzJSRDs7QTZFcjJSQTtFQUNDLDhGQUFBO0E3RXcyUkQ7QTZFdjJSQztFQUZEO0lBR0UsNkZBQUE7RTdFMDJSQTtBQUNGO0E2RTkyUkE7RUFLQyx3QkFBQTtBN0U0MlJEOztBNkV6MlJBO0VBQ0MseUZBQUE7QTdFNDJSRDtBNkUzMlJDO0VBRkQ7SUFHRSx3RkFBQTtFN0U4MlJBO0FBQ0Y7O0E2RTMyUkE7RUFDQyw2RkFBQTtBN0U4MlJEO0E2RTcyUkM7RUFGRDtJQUdFLDRGQUFBO0U3RWczUkE7QUFDRjtBNkVwM1JBO0VBS0Msd0JBQUE7QTdFazNSRDs7QTZFLzJSQTtFQUNDLDJGQUFBO0E3RWszUkQ7QTZFajNSQztFQUZEO0lBR0UsMEZBQUE7RTdFbzNSQTtBQUNGO0E2RXgzUkE7RUFLQyx3QkFBQTtBN0VzM1JEOztBNkVuM1JBO0VBQ0MsMEZBQUE7QTdFczNSRDtBNkVyM1JDO0VBRkQ7SUFHRSx5RkFBQTtFN0V3M1JBO0FBQ0Y7QTZFNTNSQTtFQUtDLHdCQUFBO0E3RTAzUkQ7O0E2RXYzUkE7RUFDQyxpR0FBQTtFQUNBLHdCQUFBO0E3RTAzUkQ7O0E2RXYzUkE7RUFDQyxtR0FBQTtFQUNBLHdCQUFBO0E3RTAzUkQ7O0E2RXYzUkE7RUFDRSxrR0FBQTtFQUNBLHdCQUFBO0E3RTAzUkY7O0E2RXYzUkE7RUFDQyxxRkFBQTtFQUNBLHdCQUFBO0E3RTAzUkQ7O0E2RXYzUkE7RUFDQztJQUNDLGdHQUFBO0U3RTAzUkE7RTZFdjNSRDtJQUNDLDBGQUFBO0U3RXkzUkE7RTZFdDNSRDtJQUNDLHdGQUFBO0U3RXczUkE7RTZFcjNSRDtJQUNDLDhGQUFBO0U3RXUzUkE7RTZFcDNSRDtJQUNDLDhGQUFBO0U3RXMzUkE7RTZFbjNSRDtJQUNDLDJGQUFBO0U3RXEzUkE7RTZFbDNSRDtJQUNDLDZGQUFBO0U3RW8zUkE7RTZFajNSRDtJQUNDLDRGQUFBO0U3RW0zUkE7RTZFaDNSRDtJQUNDLDZGQUFBO0U3RWszUkE7RTZFLzJSRDtJQUNDLGtHQUFBO0U3RWkzUkE7RTZFOTJSRDtJQUNDLDRGQUFBO0U3RWczUkE7RTZFNzJSRDtJQUNDLDBGQUFBO0U3RSsyUkE7RTZFNTJSRDtJQUNDLDZGQUFBO0U3RTgyUkE7RTZFMzJSRDtJQUNDLG1HQUFBO0U3RTYyUkE7RTZFMTJSRDtJQUNDLG9HQUFBO0U3RTQyUkE7RTZFejJSRDtJQUNDLGlHQUFBO0U3RTIyUkE7RTZFeDJSRDtJQUNDLHdGQUFBO0U3RTAyUkE7RTZFdjJSRDtJQUNDLDhGQUFBO0U3RXkyUkE7RTZFdDJSRDtJQUNDLHFHQUFBO0U3RXcyUkE7RTZFcjJSRDtJQUNDLDhGQUFBO0U3RXUyUkE7RTZFcDJSRDtJQUNDLHVGQUFBO0U3RXMyUkE7RTZFbjJSRDtJQUNDLHVHQUFBO0U3RXEyUkE7RTZFbDJSRDtJQUNDLDRGQUFBO0U3RW8yUkE7RTZFajJSRDtJQUNDLHlGQUFBO0U3RW0yUkE7RTZFaDJSRDtJQUNDLHdGQUFBO0U3RWsyUkE7QUFDRjtBOEVwdFNBOzt5Q0FBQTtBQUlBOzs7RUFBQTtBQUtBO0VBQ0UsV0FBQTtFQUNBLHlCM0RzRU07RTJEckVOLHFCQUFBO0VBQ0EsWUFBQTtFQUNBLFdBQUE7RUFDQSx5QkFBQTtFQUNBLHNCQUFBO0E5RW90U0Y7QThFbnRTRTtFQUNFLHNDQUFBO0VBQ0Esa0JBQUE7RUFDQSxTQUFBO0VBQ0EsU0FBQTtFQUNBLHlCM0ViUztFMkVjVCxxQkFBQTtFQUNBLFlBQUE7RUFDQSxXQUFBO0E5RXF0U0o7O0E4RWx0U0E7RUFDRSxZQUFBO0VBQ0Esa0JBQUE7RUFDQSxpQkFBQTtBOUVxdFNGOztBOEVsdFNBO0VBQ0Usb0NBQUE7RUFDQSxlQUFBO0VBRUEscUJBQUE7RUFDQSxzQkFBQTtFQUNBLDJDQUFBO0VBQ0EsZ0JBQUE7RUFDQSxnQkFBQTtBOUVvdFNGOztBOEVqdFNBOzt5Q0FBQTtBQUlBOzs7RUFBQTtBQUtBO0VBQ0UsZ0JBQUE7QTlFa3RTRjs7QThFaHRTRTs7RUFFRSxrQkFBQTtBOUVtdFNKOztBOEVodFNBOztFQUVFLGlCQUFBLEVBQUEsNklBQUE7RUFDQSxtQjNFaUNpQixFMkVqQ2lCLDJDQUFBO0E5RW10U3BDOztBOEVqdFNFOztFQUVFLG1CQUFBLEVBQUEscUdBQUE7QTlFb3RTSjs7QThFanRTRSw0SkFBQTtBQUNBOztFQUVFLGtCQUFBO0VBQ0EsYUFBQTtFQUVBOzs7Ozs7T0FBQTtBOUV5dFNKOztBOEVodFNFLHlEQUFBO0FBQ0E7O0VBRUUsYUFBQTtFQUNBLGNBQUE7RUFDQSx5QkFBQTtFQUNBLHFCQUFBO0VBQ0Esc0JBQUE7RUFDQSxrQkFBQSxFQUFBLG9EQUFBO0VBQ0Esb0JBQUE7QTlFbXRTSjs7QThFaHRTRSw2Q0FBQTtBQUNBO0VBQ0Usa0JBQUEsRUFBQSwyREFBQTtBOUVtdFNKOztBOEVodFNFLDBDQUFBO0FBQ0E7RUFDRSxrQkFBQTtBOUVtdFNKOztBOEVodFNFLDhCQUFBO0FBRUEsdUlBQUE7QUFDQTs7RUFFRSxjQUFBO0E5RWt0U0o7QThFanRTSTs7RUFDRSxtQkFBQTtFQUNBLG1CQUFBO0E5RW90U047O0E4RWp0U0k7O0VBRUUsa0JBQUE7RUFDQSxRQUFBO0VBQ0EsZUFBQSxFQUFBLGdEQUFBO0E5RW90U047O0E4RWp0U0U7O0VBRUUscUJBQUEsRUFBQSw4RkFBQTtBOUVvdFNKOztBOEVqdFNFOztFQUVFLGdDQUFBLEVBQUEsbURBQUE7RUFDQSxlQUFBLEVBQUEsb0VBQUE7QTlFb3RTSjs7QThFbHRTSTtFQUNFLFlBQUE7RUFDQSxpQkFBQTtFQUNBLGtCQUFBO0VBQ0EsYUFBQTtFQUNBLGNBQUEsRUFBQSx3RkFBQTtFQUVBLHlDQUFBO0VBQ0Esa0JBQUE7RUFDQSxRQUFBO0VBQ0EsMkJBQUE7QTlFb3RTTjs7QThFbHRTSTtFQUNFLFdBQUEsRUFBQSxnRUFBQTtFQUNBLFlBQUE7RUFDQSxhQUFBO0VBQ0EseUJBQUEsRUFBQSx3RkFBQTtFQUNBLGtCQUFBO0VBRUEsd0RBQUE7RUFDQSxrQkFBQTtFQUNBLFFBQUE7RUFDQSxTQUFBO0VBQ0EsZ0NBQUE7QTlFb3RTTjs7QThFanRTRSxrSEFBQTtBQUNBOztFQUVFLDBCQUFBLEVBQUEsOEZBQUE7QTlFb3RTSjs7QThFanRTQSw0REFBQTtBQUVBLDRGQUFBO0FBQ0E7O0VBRUUsbUJBQUE7RUFDQSxnQjNEcEZtQjtFMkRxRm5CLGlCQUFBO0VBQ0Esb0JBQUE7RUFDQSxnQkFBQTtBOUVtdFNGOztBOEVqdFNBO0VBQ0UsY0FBQTtBOUVvdFNGOztBOEVqdFNBOztFQUFBO0FBSUE7O0VBRUUscUIzRXJMVztBSHc0U2I7O0ErRWo1U0E7O3lDQUFBO0FBSUE7O0VBQUE7QUFJQTs7OztFQUFBO0FBUUE7O0U3RXVHQyxnQ0FBQTtFQUNBLCtCQUFBO0VBQ0EsOEJBQUE7RUFDQSxxSEFBQTtFQUVBLGFBQUE7RUFDQSxtREFBQTtFQUNBLHFCQUFBO0FGeXlTRDtBK0VuNVNDOzs7O0VBRUMsV0FBQTtFQUNBLHNDQUFBO0VBQ0EsYUFBQSxFQUFBLE1BQUE7RUFDQSw4QkFBQSxFQUFBLE1BQUE7RUFDQSxjQUFBO0EvRXU1U0Y7O0ErRW41U0E7RUFDQyx5QkFBQTtFQUNBLGdDNUUyR3dCO0FIMnlTekI7QStFcDVTQztFQUpEO0lBS0UsYUFBQTtFL0V1NVNBO0FBQ0Y7QStFcjVTQztFQUNDLFlBQUE7RUFDQSxXQUFBO0VBQ0EsY0FBQTtFQUNBLGVBQUE7QS9FdTVTRjs7QStFbjVTQTs7OztFQUFBO0FBTUE7RUFDQyxhQUFBO0VBQ0EsbUJBQUEsRUFBQSxNQUFBO0EvRXE1U0Q7QStFbjVTQztFQUNDLGU1RXdIcUI7RTRFdkhyQixnQjVEcUZtQjtFNERwRm5CLGN4QndFb0I7RXdCdkVwQiwwR0FBQTtFQUFBLGtHQUFBO0VBQUEsMkhBQUE7RUFDQSx3REFBQTtFQUNBLDBCQUFBO0EvRXE1U0Y7QStFbjVTRTtFQUVDLHFCQUFBO0VBQ0EsYTVFOEZhO0FIc3pTaEI7QStFaDVTQztFQUNDLGtCQUFBO0VBQ0EsbUJBQUE7RUFDQSxhQUFBO0VBQ0EsbUJBQUE7QS9FazVTRjtBK0UvNFNDO0VBQ0Msa0JBQUE7QS9FaTVTRjtBK0UvNFNFO0VBQ0MsZUFBQSxFQUFBLE1BQUE7QS9FaTVTSDs7QStFNTRTQTtFQUNDLFVBQUE7RUFDQSxXQUFBO0VBQ0EsZ0JBQUE7RUFDQSxjeEJtQ21CO0V3QmxDbkIsb0NBQUE7QS9FKzRTRDtBK0U5NFNDO0VBQ0MseUJBQUE7QS9FZzVTRjtBK0U5NFNDO0VBQ0MseUJBQUE7QS9FZzVTRjs7QStFNTRTQTs7O0VBQUE7QUFJQTs7RUFFQyxXQUFBO0VBQ0EsWUFBQTtFQUNBLGFBQUEsRUFBQSxNQUFBO0VBQ0EsbUJBQUE7RUFDQSx1QkFBQTtFQUNBLGtCQUFBLEVBQUEsTUFBQTtFQUNBLHlCQUFBO0VBQ0EsbUJBQUE7QS9FKzRTRDtBK0U3NFNDOztFQUNDLG1CNUVuR1c7RTRFb0dYLHFCQUFBO0EvRWc1U0Y7QStFNzRTQzs7RUFDQyxXQUFBO0EvRWc1U0Y7O0ErRTU0U0E7O0VBQUE7QUFJQTs7RUFFQyxrQkFBQTtFQUNBLGFBQUE7RUFDQSx1QkFBQTtFQUNBLG1CQUFBO0VBQ0EsbUJBQUE7RUFDQSxXQUFBO0VBQ0EsWUFBQTtFQUNBLHlCNUUvSFk7RTRFZ0laLDBCQUFBO0VBQ0EsZUFBQTtFQUNBLGlCQUFBO0VBQ0EsbUI1RHREc0I7RTREdUR0QixjQUFBO0EvRTg0U0Q7O0ErRTM0U0U7O0VBQUE7QUFJQTtFQUNDLFNBQUE7RUFDQSxXQUFBO0EvRTY0U0g7O0ErRXY0U0c7Ozs7RUFBQTtBQU1BO0VBQ0MsU0FBQTtFQUNBLFdBQUE7RUFDQSx5QkFBQSxFQUFBLE1BQUE7RUFDQSwwQkFBQSxFQUFBLE1BQUE7RUFDQSxVQUFBLEVBQUEsTUFBQTtBL0V5NFNKO0ErRXg0U0k7RUFDQyx3QkFBQSxFQUFBLE1BQUE7RUFDQSxVQUFBLEVBQUEsTUFBQTtBL0UwNFNMOztBK0V0NFNBOzs7RUFBQTtBQUtBO0VBQ0MsWUFBQSxFQUFBLE1BQUE7RUFDQSxrQkFBQSxFQUFBLE1BQUE7RUFDQSxrQkEzSzRCO0VBNEs1Qiw4QjVFL0N3QjtFNEVnRHhCLCtCNUVoRHdCO0FIdzdTekI7O0ErRXI0U0E7Ozs7O0VBQUE7QUFPQTtFQUNDLFlBQUEsRUFBQSxNQUFBO0VBQ0EsU0FBQTtFQUNBLGtCQUFBO0VBQ0EsbUJBM0w0QjtFQTRMNUIsZUFBQTtFQUNBLGdCQUFBO0VBQ0Esa0JBQUE7QS9FdTRTRDtBK0V0NFNDO0VBRUMsWUFBQTtFQUNBLG1DQUFBO0VBQ0Esa0JBQUE7QS9FdTRTRjs7QStFbjRTQTtFQUNDLGtCQUFBO0VBQ0EsVUF6TTRCO0VBME01QixRQUFBO0VBQ0EsMkJBQUE7RUFDQSxZQUFBO0VBQ0EsV0FBQTtFQUNBLG9CQUFBO0EvRXM0U0Q7O0ErRW40U0E7O0VBQUE7QUFJQTtFQUNDLGFBQUE7RUFDQSxRQUFBO0VBQ0EsbUJBQUE7RUFDQSxrQkFBQSxFQUFBLE1BQUE7QS9FcTRTRDtBK0VuNFNDO0VBRUMscUJBQUE7QS9FbzRTRjtBK0VsNFNFO0VBQ0MsbUI1RTVOVTtBSGdtVGI7O0ErRTkzU0E7RUFDQyxrQkFBQTtFQUNBLFFBQUE7RUFDQSxVQUFBO0VBQ0EsV0FBQTtFQUNBLFlBQUE7RUFDQSwyRkFBQSxFQUFBLE1BQUE7RUFDQSx3QkFBQTtBL0VpNFNEOztBK0U5M1NBOztFQUFBO0FBSUE7RUFDQyxXQUFBO0VBQ0EsWUFBQTtFQUNBLGFBQUE7RUFDQSxtQkFBQTtFQUNBLHVCQUFBO0VBQ0EsWUFBQTtFQUNBLHlCQUFBO0VBQ0EsbUJBQUE7QS9FZzRTRDs7QStFNzNTQTs7eUNBQUE7QUFJQTs7Ozs7Ozs7Ozs7OztFQUFBO0FBa0JBO0VBQ0MsWUFBQTtFQUNBLHlCNUV0T3VCO0U0RXVPdkIsVUFBQSxFQUFBLE1BQUE7RUFDQSxnQzVFNUp3QjtFNEU2SnhCLHVGNUVwRW1CO0FIKzdTcEI7QStFejNTQztFQVBEO0lBUUUsYUFBQTtFL0U0M1NBO0FBQ0Y7QStFeDNTRTtFQUNDLGN4QjlLbUI7RXdCK0tuQixrQkFsQnlCO0VBbUJ6QixnQkFsQm1CLEVBa0JnQixNQUFBO0VBQ25DLG1CQW5CbUIsRUFtQm1CLE1BQUE7QS9FMDNTekM7QStFdjNTRTtFQUNDLFlBQUE7RUFDQSxXQUFBO0VBQ0EsY0FBQTtBL0V5M1NIOztBK0VwM1NBOztFQUFBO0FBR0E7RUFDQyxhQUFBO0VBQ0EsUUFBQTtFQUNBLG1CQUFBO0VBQ0Esa0JBQUE7QS9FdTNTRDtBK0VyM1NDO0VBQ0MsZUFBQSxFQUFBLE1BQUE7QS9FdTNTRjs7QStFbjNTQTs7O0VBQUE7QUFLQTtFQUNDLFlBQUEsRUFBQSxNQUFBO0EvRXEzU0Q7O0ErRWwzU0E7OztFQUFBO0FBS0E7RUFDQyxnQjVEN01vQjtFNEQ4TXBCLGU1RTVLc0I7QUhnaVR2QjtBK0VuM1NDO0VBR0MscUJBQUE7QS9FbTNTRjtBK0VoM1NDO0VBQ0MseUJBQUEsRUFBQSxNQUFBO0EvRWszU0Y7O0ErRTkyU0E7RUFDQyxVQUFBO0VBQ0EsV0FBQTtFQUNBLGdCQUFBO0VBQ0EsY3hCL09tQjtBdkRnbVRwQjs7QStFOTJTQTtFQUNDLGtCNUUvUWtCO0FIZ29UbkI7O0ErRTkyU0E7Ozs7Ozs7OztFQUFBO0FBVUE7OztFQUdDLGFBQUEsRUFBQSxNQUFBO0VBQ0Esa0JBQUEsRUFBQSxNQUFBO0VBQ0EsWUFsR3FCLEVBa0dVLE1BQUE7RUFDL0IsaUJBQUEsRUFBQSxNQUFBO0VBQ0EsV0FBQSxFQUFBLE1BQUE7QS9FaTNTRDtBK0UvMlNDOzs7RUFDQyxXQUFBO0EvRW0zU0Y7O0ErRS8yU0E7O0NBQUE7QUFJQTs7RUFFQyxrQkFBQTtFQUNBLE1BQUE7RUFDQSxRQUFBO0VBQ0EsYUFBQTtFQUNBLHVCQUFBO0VBQ0EsbUJBQUE7RUFDQSxtQkFBQTtFQUNBLFdBQUE7RUFDQSxZQUFBO0VBQ0EsaUJBQUE7RUFDQSx5QjVFaFpZO0U0RWlaWixjQUFBO0VBQ0EsbUI1RHJVc0I7RTREc1V0QixjNUQ5VU87QW5CK3JUUjs7QStFOTJTQTs7OztDQUFBO0FBTUE7RUFDQyx5QkFBQSxFQUFBLE1BQUE7RUFDQSwwQkFBQSxFQUFBLE1BQUE7RUFDQSxVQUFBLEVBQUEsTUFBQTtBL0VnM1NEO0ErRS8yU0M7RUFDQyx3QkFBQSxFQUFBLE1BQUE7RUFDQSxVQUFBLEVBQUEsTUFBQTtBL0VpM1NGOztBK0U3MlNBOzt5Q0FBQTtBQUlBOztFQUFBO0FBSUE7RUFDQyxhQUFBLEVBQUEsTUFBQTtBL0U4MlNEOztBK0UzMlNBO0VBQ0MseUI1RWhZdUI7RTRFaVl2QixzRjVFM051QjtFNEU0TnZCLDBCQUFBO0VBRUEsNkI1RXhUd0I7QUhxcVR6Qjs7QStFMTJTQTtFQUNDLGVBQUE7RUFDQSw2QjVFN1R3QjtBSDBxVHpCO0ErRTUyU0M7RUFDQyxhQUFBO0EvRTgyU0Y7QStFMzJTQztFQUNDLGtCQUFBO0VBQ0EsbUJBQUE7QS9FNjJTRjs7QStFejJTQTtFQUNDLGFBQUE7RUFDQSxtQkFBQTtFQUNBLGVBQUE7RUFDQSxlNUV0U3NCO0U0RXVTdEIscUI1RGxZZTtBbkI4dVRoQjs7QStFejJTQTtFQUNDLGtCQUFBO0VBQ0Esa0JBQUE7QS9FNDJTRDs7QStFejJTQTtFQUNDLGdCQUFBO0EvRTQyU0Q7QStFMTJTQztFQUNDLGU1RXhYMkI7RTRFeVgzQixlQUFBO0EvRTQyU0Y7QStFejJTQztFQUNDLG1CNURoWnFCO0U0RGlackIsZTVFelRxQjtFNEUwVHJCLGN4QjdXa0I7RXdCOFdsQixhQUFBO0VBQ0EsbUJBQUE7RUFDQSxpQkFBQTtFQUNBLGtCNUUxV2M7QUhxdFRoQjtBK0V6MlNFO0VBQ0Msa0I1RXZZdUI7RTRFd1l2QixXQUFBO0VBQ0EsWUFBQTtBL0UyMlNIO0ErRXgyU0U7RUFFQyxtQjVFdGVTO0U0RXVlVCxxQkFBQTtBL0V5MlNIO0ErRXQyU0U7RUFDQyxtQjVFNWVVO0FIbzFUYjs7QStFbjJTQTtFQUNDLGFBQUE7RUFDQSxlQUFBO0EvRXMyU0Q7QStFcjJTQztFQUNDLFVBQUE7QS9FdTJTRjs7QStFbjJTQTs7eUNBQUE7QUFJQTs7Ozs7RUFBQTtBQU9BO0VBQ0MsYUFBQTtFQUNBLHNCQUFBO0EvRW8yU0Q7QStFbDJTQztFQUNDLGFBQUEsRUFBQSxNQUFBO0EvRW8yU0Y7O0ErRWgyU0E7RUFDQyxlNUR6Y2dCO0FuQjR5VGpCOztBK0VoMlNBO0VBQ0MsZ0M1RXpad0I7RTRFMFp4QixpQkFBQTtBL0VtMlNEOztBK0VoMlNBOztFQUFBO0FBSUE7RUFDQyxlQUFBO0VBQ0EsY3hCaGJtQjtBdkRreFRwQjtBK0VqMlNDO0VBRUMsYTVFaFpjO0FIa3ZUaEI7O0ErRTkxU0E7RUFDQyxhQUFBO0VBQ0EsbUJBQUE7RUFDQSxlQUFBO0VBQ0EsZ0I1RDlkb0I7RTREK2RwQixrQkFBQTtBL0VpMlNEOztBK0U5MVNBO0VBQ0Msa0JBQUE7QS9FaTJTRDs7QStFOTFTQTs7RUFBQTtBQUlBO0VBQ0MsZUFBQTtFQUNBLFNBQUE7RUFDQSxVQUFBLEVBQUEsTUFBQTtFQUNBLGtCQUFBO0EvRWcyU0Q7QStFLzFTQztFQUNDLFNBQUE7RUFDQSxnQkFBQTtBL0VpMlNGOztBK0U3MVNBOztFQUFBO0FBSUE7RUFDQyxPQUFBO0VBQ0Esa0JBQUE7QS9FKzFTRDs7QStFNTFTQTs7eUNBQUE7QUFJQTs7RUFBQTtBQUlBO0VBQ0Msa0JBQUE7RUFFQSxtQjVEN2dCZ0I7RTREOGdCaEIsc0I1RDlnQmdCO0FuQjAyVGpCOztBK0V6MVNBOzt5Q0FBQTtBQUlBOzs7OztFQUFBO0FBT0E7RUFHQyxzRjVFalp1QjtBSHl1VHhCO0ErRXQxU0M7RUFDQyxjeEJ0Zm9CO0F2RDgwVHRCOztBK0VwMVNBO0VBQ0MsaUJBQUE7RUFDQSxtQkFBQTtFQUNBLGtCQUFBO0EvRXUxU0Q7QStFdDFTQztFQUNDLG1CNUR6aUJxQjtFNEQwaUJyQixZQUFBO0EvRXcxU0Y7QStFcjFTRTtFQUVDLHFCQUFBO0VBQ0EsVUFBQTtBL0VzMVNIO0ErRXAxU0c7RUFDQyxVQUFBO0EvRXMxU0o7QStFbjFTRztFQUNDLGN4QmxoQmdCO0F2RHUyVHBCO0ErRWgxU0M7RUFDQyxrQkFBQTtFQUNBLGM1RTlvQlc7QUhnK1RiOztBK0U5MFNBO0VBQ0MsWUFBQTtFQUNBLFdBQUE7QS9FaTFTRDs7QStFMTBTQTs7RUFBQTtBQUlBO0VBQ0MsU0FBQTtFQUNBLGVBQUEsRUFBQSxNQUFBO0VBQ0EsZ0M1RWhpQndCO0FINDJUekI7O0ErRXowU0E7O0VBQUE7QUFJQTtFQUNDLGFBQUE7RUFDQSxtQkFBQTtFQUNBLHVCQUFBO0VBQ0EsY0FBQTtFQUNBLGVBQUE7QS9FMjBTRDtBK0UxMFNDO0VBQ0MsY0FBQSxFQUFBLE1BQUE7RUFDQSxtQjVEam1CcUI7QW5CNjZUdkI7QStFMTBTQztFQUNDLGtCQS9xQjJCO0EvRTIvVDdCO0ErRTMwU0U7RUFDQyxlQUFBO0EvRTYwU0g7O0ErRXgwU0E7O3lDQUFBO0FBSUE7Ozs7O0VBQUE7QUFPQTtFQUNDLGdCQUFBLEVBQUEsTUFBQTtFQUNBLHlCNUVscEJ1QjtFNEVtcEJ2Qiw4QjVFN2tCZTtFNEU4a0JmLDZCNUV4a0J3QjtFNEV5a0J4QixzRjVFL2V1QjtBSHd6VHhCO0ErRXYwU0M7RUFQRDtJQVFFLCtCNUVsbEJjO0VINDVUZDtBQUNGO0ErRXgwU0M7RUFDQyxnQzVFaGxCdUI7RTRFaWxCdkIsU0FBQSxFQUFBLE1BQUE7QS9FMDBTRjs7QStFdDBTQTtFQUNDLGVBQUE7QS9FeTBTRDtBK0V2MFNDO0VBQ0Msa0JBQUE7RUFDQSxtQkFBQTtBL0V5MFNGO0ErRXQwU0M7RUFDQyxhQUFBO0VBQ0EsZTVFempCcUI7RTRFMGpCckIsbUI1RGxwQnFCO0U0RG1wQnJCLGN4QjltQmtCO0V3QittQmxCLGlCNUUzb0JpQjtFNEU0b0JqQixtQkFBQTtFQUNBLGlCQUFBO0VBQ0Esa0I1RTNtQmM7RTRFNG1CZCxVQUFBO0VBQ0EsMEJBQUE7QS9FdzBTRjtBK0V0MFNFO0VBQ0Msa0I1RTFvQnVCO0U0RTJvQnZCLFdBQUE7RUFDQSxZQUFBO0EvRXcwU0g7QStFcjBTRTtFQUVDLG1CNUV6dUJTO0FIK2lVWjtBK0VsMFNDO0VBQ0MsVUFBQTtFQUNBLFlBQUE7QS9FbzBTRjs7QStFaDBTQTs7O0VBQUE7QUFLQTtFQUNDLGdCQUFBO0EvRWswU0Q7QStFaDBTQztFQUNDLGtCNUUxb0JjO0U0RTJvQmQsZTVFcHFCMkI7RTRFcXFCM0IsZUFBQTtBL0VrMFNGO0ErRWgwU0U7RUFDQyxhQUFBLEVBQUEsTUFBQTtBL0VrMFNIO0ErRS96U0U7RUFDQyxtQjVFdHdCVTtFNEV1d0JWLGM1RWh4QlU7QUhpbFViOztBK0U1elNBO0VBQ0MsYUFBQTtFQUNBLHNCQUFBO0EvRSt6U0Q7O0ErRTV6U0E7RUFDQyxtQkFBQTtFQUNBLGdCQUFBO0VBQ0EsdUJBQUE7QS9FK3pTRDs7QTZFcm1VQTs7eUNBQUE7QUFJQTs7eUNBQUE7QUFJQTtFQUNDLGtCQUFBO0E3RXNtVUQ7O0E2RW5tVUE7RUFDQyxrQkFBQTtFQUNBLDRCQUFBO0VBQ0Esc0JBQUE7RUFFQSw4RUFBQTtFQUNBLGFBQUE7QTdFcW1VRDs7QTZFbG1VQTtFQUNDLGdCQUFBO0E3RXFtVUQ7QTZFcG1VQztFQUNDLGNBQUE7RUFDQSxXQUFBO0E3RXNtVUY7O0E2RWxtVUM7RUFDQyw4RUFBQTtFQUNBLGVBQUE7RUFDQSxXQUFBO0E3RXFtVUY7O0E2RWxtVUM7RUFDQztJQUNDLGFBQUE7RTdFcW1VRDtBQUNGO0E2RWxtVUM7RUFDQztJQUNDLFlBQUE7SUFFQSw4RkFBQTtJQUNBLGlCQUFBO0lBQ0EsZ0JBQUE7RTdFbW1VRDtFNkVobVVDO0lBQ0MsaUJBQUE7RTdFa21VRjtFNkUvbFVDO0lBQ0MsaUJBQUE7RTdFaW1VRjtFNkU5bFVBO0lBQ0Msa0JBQUE7SUFDQSxPQUFBO0lBQ0EsY0FBQTtJQUNBLFdBQUE7SUFDQSxZQUFBO0lBQ0Esc0VBQUE7RTdFZ21VRDtBQUNGO0E2RTdsVUE7RUFDQyxlQUFBO0VBQ0EsWUFBQTtFQUNBLGFBQUE7RUFDQSxxQ0FBQTtFQUNBLGNBQUE7RUFDQSwwQkFBQTtBN0UrbFVEOztBNkU1bFVBO0VBQ0MsY0FBQTtBN0UrbFVEOztBNkU1bFVBO0VBQ0MsaUJBQUE7QTdFK2xVRDs7QTZFNWxVQTtFQUNDLGlCQUFBO0E3RStsVUQ7O0E2RTVsVUE7RUFDQyxrQkFBQTtFQUNBLFlBQUE7RUFDQSxXQUFBO0VBQ0EsZ0IxRHpCYztBbkJ3blVmO0E2RTlsVUM7RUFDQyxtQkFBQTtBN0VnbVVGOztBNkU1bFVBO0VBQ0Msa0JBQUE7RUFDQSxTQUFBO0VBQ0EsV0FBQTtFQUNBLGFBQUE7RUFDQSwyQkFBQTtFQUNBLDJCQUFBO0VBQ0Esd0VBQUE7RUFDQSw2SEFBQTtBN0UrbFVEOztBNkU1bFVBO0VBQ0Msa0JBQUE7RUFDQSxPQUFBO0VBQ0EsY0FBQTtFQUNBLFdBQUE7RUFDQSxZQUFBO0VBQ0Esb0NBQUE7QTdFK2xVRDs7QTZFNWxVQTtFQUNDLGVBQUE7RUFDQSxZQUFBO0VBQ0EscUNBQUE7RUFDQSxjQUFBO0VBQ0EsMEJBQUE7QTdFK2xVRDtBNkU5bFVDO0VBQ0MsY0FBQTtFQUNBLDBCQUFBO0E3RWdtVUY7O0E2RTdsVUM7RUFDQyxlQUFBO0VBQ0EsYUFBQTtBN0VnbVVGOztBNkU3bFVBO0VBSUMsaUJBQUE7RUFDQSxjQUFBO0VBQ0EsZUFBQTtFQUNBLGdCQUFBO0E3RTZsVUQ7O0E2RTFsVUE7O0VBQUE7QUFJQTtFQUNDLHdGQUFBO0E3RTRsVUQ7QTZFM2xVQztFQUZEO0lBR0UsdUZBQUE7RTdFOGxVQTtBQUNGO0E2RWxtVUE7RUFLQyx3QkFBQTtBN0VnbVVEOztBNkU3bFVBO0VBQ0MsMEZBQUE7QTdFZ21VRDtBNkUvbFVDO0VBRkQ7SUFHRSx5RkFBQTtFN0VrbVVBO0FBQ0Y7QTZFdG1VQTtFQUtDLHdCQUFBO0E3RW9tVUQ7O0E2RWptVUE7RUFDQyxpR0FBQTtBN0VvbVVEO0E2RW5tVUM7RUFGRDtJQUdFLGdHQUFBO0U3RXNtVUE7QUFDRjtBNkUxbVVBO0VBS0Msd0JBQUE7QTdFd21VRDs7QTZFcm1VQTtFQUNDLGlHQUFBO0E3RXdtVUQ7QTZFdm1VQztFQUZEO0lBR0UsZ0dBQUE7RTdFMG1VQTtBQUNGO0E2RTltVUE7RUFLQyx3QkFBQTtBN0U0bVVEOztBNkV6bVVBO0VBQ0MsMEZBQUE7QTdFNG1VRDtBNkUzbVVDO0VBRkQ7SUFHRSx5RkFBQTtFN0U4bVVBO0FBQ0Y7QTZFbG5VQTtFQUtDLHdCQUFBO0E3RWduVUQ7O0E2RTdtVUE7RUFDQyxnR0FBQTtFQUNBLGtCQUFBO0VBQ0EsV0FBQTtBN0VnblVEO0E2RS9tVUM7RUFDQztJQUNDLGtCQUFBO0lBQ0EsTUFBQTtJQUNBLE9BQUE7SUFDQSxXQUFBO0lBQ0EsWUFBQTtJQUNBLFdBQUE7SUFDQSxjQUFBO0lBQ0EsVUFBQTtJQUNBLHFDQUFBO0U3RWluVUQ7QUFDRjtBNkUvbVVDO0VBakJEO0lBa0JFLCtGQUFBO0U3RWtuVUE7QUFDRjtBNkVyb1VBO0VBb0JDLHdCQUFBO0E3RW9uVUQ7O0E2RWpuVUE7RUFDQyw4RkFBQTtBN0VvblVEO0E2RW5uVUM7RUFGRDtJQUdFLDZGQUFBO0U3RXNuVUE7QUFDRjtBNkUxblVBO0VBS0Msd0JBQUE7QTdFd25VRDs7QTZFcm5VQTtFQUNDLHlGQUFBO0E3RXduVUQ7QTZFdm5VQztFQUZEO0lBR0Usd0ZBQUE7RTdFMG5VQTtBQUNGOztBNkV2blVBO0VBQ0MsNkZBQUE7QTdFMG5VRDtBNkV6blVDO0VBRkQ7SUFHRSw0RkFBQTtFN0U0blVBO0FBQ0Y7QTZFaG9VQTtFQUtDLHdCQUFBO0E3RThuVUQ7O0E2RTNuVUE7RUFDQywyRkFBQTtBN0U4blVEO0E2RTduVUM7RUFGRDtJQUdFLDBGQUFBO0U3RWdvVUE7QUFDRjtBNkVwb1VBO0VBS0Msd0JBQUE7QTdFa29VRDs7QTZFL25VQTtFQUNDLDBGQUFBO0E3RWtvVUQ7QTZFam9VQztFQUZEO0lBR0UseUZBQUE7RTdFb29VQTtBQUNGO0E2RXhvVUE7RUFLQyx3QkFBQTtBN0Vzb1VEOztBNkVub1VBO0VBQ0MsaUdBQUE7RUFDQSx3QkFBQTtBN0Vzb1VEOztBNkVub1VBO0VBQ0MsbUdBQUE7RUFDQSx3QkFBQTtBN0Vzb1VEOztBNkVub1VBO0VBQ0Usa0dBQUE7RUFDQSx3QkFBQTtBN0Vzb1VGOztBNkVub1VBO0VBQ0MscUZBQUE7RUFDQSx3QkFBQTtBN0Vzb1VEOztBNkVub1VBO0VBQ0M7SUFDQyxnR0FBQTtFN0Vzb1VBO0U2RW5vVUQ7SUFDQywwRkFBQTtFN0Vxb1VBO0U2RWxvVUQ7SUFDQyx3RkFBQTtFN0Vvb1VBO0U2RWpvVUQ7SUFDQyw4RkFBQTtFN0Vtb1VBO0U2RWhvVUQ7SUFDQyw4RkFBQTtFN0Vrb1VBO0U2RS9uVUQ7SUFDQywyRkFBQTtFN0Vpb1VBO0U2RTluVUQ7SUFDQyw2RkFBQTtFN0Vnb1VBO0U2RTduVUQ7SUFDQyw0RkFBQTtFN0UrblVBO0U2RTVuVUQ7SUFDQyw2RkFBQTtFN0U4blVBO0U2RTNuVUQ7SUFDQyxrR0FBQTtFN0U2blVBO0U2RTFuVUQ7SUFDQyw0RkFBQTtFN0U0blVBO0U2RXpuVUQ7SUFDQywwRkFBQTtFN0UyblVBO0U2RXhuVUQ7SUFDQyw2RkFBQTtFN0UwblVBO0U2RXZuVUQ7SUFDQyxtR0FBQTtFN0V5blVBO0U2RXRuVUQ7SUFDQyxvR0FBQTtFN0V3blVBO0U2RXJuVUQ7SUFDQyxpR0FBQTtFN0V1blVBO0U2RXBuVUQ7SUFDQyx3RkFBQTtFN0VzblVBO0U2RW5uVUQ7SUFDQyw4RkFBQTtFN0VxblVBO0U2RWxuVUQ7SUFDQyxxR0FBQTtFN0VvblVBO0U2RWpuVUQ7SUFDQyw4RkFBQTtFN0VtblVBO0U2RWhuVUQ7SUFDQyx1RkFBQTtFN0VrblVBO0U2RS9tVUQ7SUFDQyx1R0FBQTtFN0VpblVBO0U2RTltVUQ7SUFDQyw0RkFBQTtFN0VnblVBO0U2RTdtVUQ7SUFDQyx5RkFBQTtFN0UrbVVBO0U2RTVtVUQ7SUFDQyx3RkFBQTtFN0U4bVVBO0FBQ0Y7QWdGaCtVQTs7RUFBQTtBQUlBO0VBSUMsbUJBQUE7QWhGODlVRDs7QWlGdCtVQTs7eUNBQUE7QUFJQTtFL0VtSEMsZ0NBQUE7RUFDQSwrQkFBQTtFQUNBLDhCQUFBO0VBQ0EscUhBQUE7RUFFQSxhQUFBO0VBQ0EsbURBQUE7RUFDQSxxQkFBQTtFQUlBLHVCQUFBO0VBQ0EsK0JBQUE7QUZrM1VEO0FFaDNVQztFK0VqSUQ7SS9Fa0lFLHVCQUFBO0VGbTNVQTtBQUNGO0FFajNVQztFK0VySUQ7SS9Fc0lFLHVCQUFBO0VGbzNVQTtBQUNGO0FpRjMvVUE7RUFJQyx5QjlEeUVPO0U4RHhFUCxpQkFBQTtBakYwL1VEO0FpRngvVUM7RUFQRDtJQVFFLGlCQUFBO0VqRjIvVUE7QUFDRjtBaUZ6L1VDO0VBWEQ7SUFZRSxrQkFBQTtFakY0L1VBO0FBQ0Y7QWlGemdWQTtFQWVDLG9CQUFBO0FqRjYvVUQ7QWlGMy9VQztFQUNDLGdCQUFBO0FqRjYvVUY7QWlGMS9VQzs7O0VBR0MsVUFBQTtFQUNBLGM5RWxCVztBSDhnVmI7QWlGei9VQztFQUNDLHdCQUFBO0VBQ0Esd0RBQUE7RUFDQSwwQkFBQTtFQUNBLCtCQUFBO0VBQ0Esa0NBQUE7RUFDQSwwQkFBQTtBakYyL1VGO0FpRngvVUM7OztFQUdDLDhCOUVqQ1c7RThFa0NYLDBCQUFBO0FqRjAvVUY7O0FpRnQvVUE7O0VBRUMsV0FBQTtFQUNBLGdCOURnQmM7RThEZmQsY0FBQTtBakZ5L1VEOztBaUZ0L1VBO0VBQ0Msb0JBQUE7RUFDQSxhQUFBO0VBQ0Esc0JBQUE7RUFDQSwyQkFBQTtFQUNBLDhCQUFBO0FqRnkvVUQ7QWlGdi9VQztFQVBEO0lBUUUsbUJBQUE7SUFDQSxVQUFBO0VqRjAvVUE7QUFDRjtBaUZ4L1VDO0VBQ0MsZUFBQTtBakYwL1VGO0FpRnQvVUU7RUFERDtJQUVFLGdCQUFBO0VqRnkvVUQ7QUFDRjtBaUZ0L1VDO0VBQ0MsYUFBQTtFQUNBLFNBQUE7RUFDQSxZQUFBO0VBQ0EsZ0JBQUE7RUFDQSxnREFBQTtBakZ3L1VGO0FpRnQvVUU7RUFDQyxlQUFBO0VBQ0EsZ0JBQUE7QWpGdy9VSDtBaUZyL1VFO0VBQ0MsZ0JBQUE7QWpGdS9VSDtBaUZwL1VFO0VBQ0MsbUJBQUE7QWpGcy9VSDtBaUZwL1VHO0VBQ0MsYUFBQTtBakZzL1VKO0FpRmwvVUU7RUF4QkQ7SUF5QkUsZ0RBQUE7RWpGcS9VRDtBQUNGO0FpRm4vVUU7RUE1QkQ7SUE2QkUsYUFBQTtJQUNBLHFCQUFBO1NBQUEsZ0JBQUE7RWpGcy9VRDtBQUNGOztBaUZsL1VBO0VBQ0MsV0FBQTtFQUNBLDZCQUFBO0VBQ0EsaUJBQUE7RUFDQSxhQUFBO0VBQ0EsbURBQUE7QWpGcS9VRDs7QWlGbC9VQTtFQUNDLG9CQUFBO0VBQ0EsaUJBQUE7RUFDQSxhQUFBO0VBQ0Esc0JBQUE7RUFDQSxhQUFBO0VBQ0EsOEJBQUE7QWpGcS9VRDtBaUZuL1VDO0VBUkQ7SUFTRSxtQkFBQTtFakZzL1VBO0FBQ0Y7QWlGcC9VQztFQUNDLG1CQUFBO0FqRnMvVUY7QWlGbi9VQztFQUNDLGlCQUFBO0FqRnEvVUY7QWlGbi9VRTtFQUNDLGNBQUE7QWpGcS9VSDtBaUZqL1VDO0VBQ0MsZUFBQTtFQUNBLGNBQUE7RUFDQSxpQkFBQTtFQUNBLGM5RXZJVztFOEV3SVgsc0NBQUE7RUFDQSx3REFBQTtFQUNBLDBCQUFBO0FqRm0vVUY7QWlGaC9VQztFQUNDLFVBQUE7RUFDQSxjOUVqSlc7QUhtb1ZiO0FpRi8rVUM7RUFDQyw2QkFBQTtBakZpL1VGO0FpRjkrVUM7RUFDQyxjQUFBO0VBQ0EsYUFBQTtBakZnL1VGO0FpRjUrVUU7RUFERDtJQUVFLGlCQUFBO0VqRisrVUQ7QUFDRjtBaUY1K1VDO0VBQ0MsU0FBQTtBakY4K1VGO0FpRjcrVUU7RUFGRDtJQUdFLHlCQUFBO0VqRmcvVUQ7QUFDRjtBaUY3K1VDO0VBQ0MsbUJBQUE7QWpGKytVRjtBaUY1K1VDO0VBQ0MsbUJBQUE7QWpGOCtVRjtBaUYzK1VDO0VBQ0Msc0JBQUE7RUFDQSxnQkFBQTtFQUNBLFlBQUE7QWpGNitVRjtBaUYzK1VFO0VBTEQ7SUFNRSxtQkFBQTtJQUNBLGtCQUFBO0lBQ0EsU0FBQTtFakY4K1VEO0FBQ0Y7O0FrRnJyVkE7O3lDQUFBO0FBSUE7Ozs7O0VBQUE7QUFPQTtFaEY0R0MsZ0NBQUE7RUFDQSwrQkFBQTtFQUNBLDhCQUFBO0VBQ0EscUhBQUE7RUFFQSxhQUFBO0VBQ0EsbURBQUE7RUFDQSxxQkFBQTtFZ0ZqSEEseUIvRG9FTztFK0RsRVAseUJBQUE7RUFFQSx1Ri9FbU5tQjtBSHUrVXBCO0FrRnpyVkM7RUFQRCxXQU9vRSxNQUFBO0lBQ2xFLGFBQUE7RWxGNHJWQTtBQUNGOztBa0Z6clZDOzs7RUFBQTtBQUtBO0VBQ0MsV0FBQTtFQUNBLHNDQUFBO0VBQ0EsYUFBQTtFQUNBLDhCQUFBO0VBQ0EsbUJBQUE7RUFDQSxZQUFBO0VBS0EsbUJBQUEsRUFBQSxNQUFBO0VBQ0EsZ0IvRDRCYSxFK0Q1QmEsTUFBQTtFQUMxQixjQUFBLEVBQUEsTUFBQTtBbEZ1clZGOztBa0ZwclZFOztFQUFBO0FBSUE7RUFDQyxhQUFBO0FsRnNyVkg7QWtGcHJWRztFQUNDLGFBQUE7RUFDQSxtQkFBQTtFQUNBLHFCQUFBLEVBQUEsTUFBQTtBbEZzclZKO0FrRm5yVks7RUFDQyxnQkFBQTtBbEZxclZOO0FrRmpyVkk7RUFDQyxtQi9EMEJrQjtBbkJ5cFZ2QjtBa0ZsclZLO0VBRUMscUJBQUE7RUFDQSxhL0U4RlU7QUhxbFZoQjs7QWtGN3FWRzs7Ozs7OztFQUFBO0FBU0E7RUFDQyxhQUFBO0VBQ0EsbUJBQUE7RUFDQSxrQkFBQTtFQUNBLFlBQUEsRUFBQSxNQUFBO0VBQ0EsZUFBQSxFQUFBLE1BQUE7RUFDQSxjQUFBO0VBQ0EsYzNCMENrQjtFMkJ6Q2xCLGUvRXVGbUI7RStFdEZuQixpQkFBQTtBbEYrcVZKO0FzQnZsVlE7RTREakdMO0lBV0UsWUFBQTtJQUNBLGFBQUE7SUFDQSxrQkFBQTtJQUNBLDZCQUFBO0VsRmlyVkg7QUFDRjtBa0YvcVZJO0VBR0MsVUFBQSxFQUFBLE1BQUE7QWxGK3FWTDtBa0Y1cVZJO0VBQ0MsYy9FL0ZRO0FINndWYjtBa0Y1cVZLO0VBQ0MsV0FBQTtFQUNBLGtCQUFBO0VBQ0EsYUFBQSxFQUFBLE1BQUE7RUFDQSxPQUFBO0VBQ0EsV0FBQTtFQUNBLFdBQUE7RUFDQSx5Qi9FeEdPO0FIc3hWYjtBc0I5bVZRO0U0RHZFSDtJQVNFLGFBQUE7RWxGZ3JWTDtBQUNGOztBa0YzcVZBOzs7O0VBQUE7QUFNQTtFQUNDLGFBQUE7RUFDQSx1QkFBQTtFQUNBLG1CQUFBO0VBQ0Esa0JBQUEsRUFBQSxNQUFBO0VBQ0Esc0JBQUE7RUFDQSxrQkFBQSxFQUFBLE1BQUE7RUFDQSx5QkFBQTtFQUNBLGtCQUFBO0VBQ0EsWUFBQTtFQUNBLHVGL0V5Rm1CO0FIb2xWcEI7QWtGNXFWQztFQVhELGlCQVc4RCxNQUFBO0lBQzVELGFBQUE7RWxGK3FWQTtBQUNGOztBa0Y1cVZBOzs7Ozs7RUFBQTtBQVFBO0VBQ0MsYUFBQTtFQUNBLHNCQUFBO0FsRjhxVkQ7QXNCanBWUTtFNEQvQlI7SUFLRSxXQUFBO0VsRitxVkE7QUFDRjs7QWtGNXFWQztFQUNDLDRCQUFBO0VBQ0EsK0JBQUE7RUFDQSxnQkFBQTtBbEYrcVZGOztBa0Y1cVZFO0VBQ0MsMkJBQUE7RUFDQSw4QkFBQTtFQUNBLGdCQUFBO0FsRitxVkg7O0FrRjVxVkM7RUFDQyxlQUFBO0VBQ0EsY0FBQTtFQUNBLGMvRWhKUztFK0VpSlQsZUFBQTtBbEYrcVZGOztBbUZqeVZFO0VBQ0Usd0JBQUE7QW5Gb3lWSjs7QW1GanlWRTtFQUNFLGtCQUFBO0FuRm95Vko7O0FtRmx5VkU7RUFDRSxtQkFBQTtBbkZxeVZKOztBc0IxclZRO0U2RDVGSjtJQTdCQSx3QkFBQTtFbkZ3elZGO0FBQ0Y7O0FtRjUwVkk7RUFvREE7SUFuREUsd0JBQUE7RW5GZzFWSjtBQUNGOztBc0J0c1ZRO0U2RHJHRjtJQTVCRix3QkFBQTtFbkY0MFZGO0FBQ0Y7O0FzQnZzVlE7RTZEdEdGO0lBcEVGLHdCQUFBO0VuRnMzVkY7QUFDRjs7QXNCbHRWUTtFNkQ1Rko7SUE3QkEsd0JBQUE7RW5GZzFWRjtBQUNGOztBbUZwMlZJO0VBb0RBO0lBbkRFLHdCQUFBO0VuRncyVko7QUFDRjs7QXNCOXRWUTtFNkRyR0Y7SUE1QkYsd0JBQUE7RW5GbzJWRjtBQUNGOztBc0IvdFZRO0U2RHRHRjtJQXBFRix3QkFBQTtFbkY4NFZGO0FBQ0Y7O0FzQjF1VlE7RTZENUZKO0lBN0JBLHdCQUFBO0VuRncyVkY7QUFDRjs7QW1GNTNWSTtFQW9EQTtJQW5ERSx3QkFBQTtFbkZnNFZKO0FBQ0Y7O0FtRnYwVkU7O0UvRDJIQSw2QkFBQTtFQUNBLHFCQUFBO0VBQ0Esc0JBQUE7RUFDQSxxQkFBQTtFQUNBLDJCQUFBO0VBQ0EsaUNBQUE7RUFDQSw4QkFBQTtFQUNBLG9CQUFBO0FwQml0VkY7O0FtRjUwVkk7RS9EcUlGLDJCQUFBO0VBQ0Esc0JBQUE7RUFDQSx1QkFBQTtFQUNBLDRCQUFBO0VBQ0EscUJBQUE7RUFDQSw4QkFBQTtBcEIyc1ZGOztBbUY5MFZFOztFQUVFLHlCQUFBO0FuRmkxVko7QXNCM3dWUTtFNkR4RU47O0lBS0kseUJBQUE7RW5GbTFWSjtBQUNGO0FzQmp4VlE7RTZEeEVOOztJQVNJLHdCQUFBO0VuRnExVko7QUFDRjs7QW1GbDFWRTs7RUFFRSx3QkFBQTtBbkZxMVZKO0FzQjV4VlE7RTZEM0ROOztJQUtJLHdCQUFBO0VuRnUxVko7QUFDRjtBc0JseVZRO0U2RDNETjs7SUFTSSx5QkFBQTtFbkZ5MVZKO0FBQ0Y7O0FtRnIxVkU7RUFDRSxhQUFBO0FuRncxVko7O0FtRnQxVkU7RUFDRSxjQUFBO0FuRnkxVko7O0FtRnYxVkU7RUFDRTtJQUNFLHlCQUFBO0VuRjAxVko7RW1GeDFWRTtJQUNFLHdCQUFBO0VuRjAxVko7QUFDRjtBbUZ0MVZFO0VBQ0UsYUFBQTtBbkZ3MVZKOztBbUZ0MVZFO0VBQ0U7SUFDRSx5QkFBQTtFbkZ5MVZKO0VtRnYxVkU7SUFDRSx3QkFBQTtFbkZ5MVZKO0FBQ0Y7QW1GcjFWRTtFQUNFLGFBQUE7QW5GdTFWSjs7QW1GcjFWRTtFQUNFLGNBQUE7QW5GdzFWSjs7QW1GdDFWRTtFQUNFLGFBQUE7QW5GeTFWSjs7QW9GeGdXQTs7eUNBQUE7QUF5QkE7RUFSQyx1Q0FBQTtFQVlBLGtCQUFBO0VBQ0EsdUZqRnNNbUI7RWlGck1uQixrQmpGc0dlO0VpRnJHZix5QmpFaURPO0VpRWhEUCxlakZnRWdCO0VpRi9EaEIsaUJBQUE7RUFDQSxtQmpGK0RrQjtFaUY5RGxCLGtCQUFBO0VBQ0Esa0JBQUE7RUFHQSw4QkFBQTtFQUNBLGNqRmhDWTtBSGloV2I7QW9GaC9WQztFQUNDLGNqRmxDVztFaUZtQ1gsMEJBQUE7QXBGay9WRjtBb0YvK1ZDO0VBQ0Msc0ZBQUE7RUFDQSxrQkFBQTtFQUNBLFVBQUE7QXBGaS9WRjtBb0Y5K1ZDO0VBQ0MsYzdCa0ZrQjtFNkJqRmxCLDBCN0JpRmtCO0F2RCs1VnBCO0FvRi8rVkU7RUFDQyx5RkFBQTtBcEZpL1ZIO0FvRjkrVkU7RUFDQyxjN0IyRWlCO0F2RHE2VnBCO0FvRjUrVkM7RUFDQyxjN0JnRmdCO0U2Qi9FaEIsMEI3QitFZ0I7QXZEKzVWbEI7QW9GNytWRTtFQUNDLHFGQUFBO0FwRisrVkg7QW9GNStWRTtFQUNDLGM3QnlFZTtBdkRxNlZsQjtBb0YxK1ZDO0VBQ0MsY2pGcUJnQjtFaUZwQmhCLDBCakY3Q1M7QUh5aFdYO0FvRjMrVkU7RUFDQyw0RkFBQTtBcEY2K1ZIO0FvRnorVkM7RUFDQyxtQkFBQTtBcEYyK1ZGO0FvRngrVkM7RUFDQyxrQkFBQTtFQUNBLFFBQUE7RUFDQSxVQUFBO0VBQ0EsMkJBQUE7RUFDQSxlQUFBO0VBQ0EsZ0JBQUE7RUFDQSxZQUFBO0VBQ0EsY0FBQTtFQUNBLGVBQUE7QXBGMCtWRjtBb0Z6K1ZFO0VBRUMsWUFBQTtBcEYwK1ZIOztBcUYva1dBOzt5Q0FBQTtBQU9DOztFQUVDLG1CbEVnRnFCO0FuQjgvVnZCOztBcUYza1dDO0VBQ0Msa0JBQUE7RUFDQSxRQUFBO0VBQ0EsWUFBQTtFQUNBLHlCQUFBO0VBQ0EseUJBQUE7RUFDQSxlQUFBO0FyRjhrV0Y7O0FxRjNrV0U7RUFDQyxZQUFBO0VBQ0EsU0FBQTtFQUNBLGNBQUE7RUFDQSxjQUFBO0VBQ0EsaUJBQUE7RUFDQSxrQkFBQTtFQUNBLGlCQUFBO0VBQ0EseUI5QmlHaUI7QXZENitWcEI7O0FxRjNrV0M7RUFDQyxnQkFBQTtBckY4a1dGOztBcUYza1dFO0VBQ0MscUJBQUE7RUFDQSxxQkFBQTtFQUNBLGtCQUFBO0FyRjhrV0g7O0FxRjNrV0c7RUFDQyxXQUFBO0VBQ0EsWUFBQTtFQUNBLHNCQUFBO0VBQ0Esb0NBQUE7QXJGOGtXSjs7QXFGM2tXRztFQUNDLGNBQUE7RUFDQSxrQkFBQTtFQUNBLE1BQUE7RUFDQSxRQUFBO0VBQ0EsbUJBQUE7RUFDQSxZQUFBO0VBQ0EsZUFBQTtFQUNBLGNBQUE7RUFDQSxnQkFBQTtFQUNBLGVBQUE7QXJGOGtXSjtBcUY3a1dJO0VBQ0MsWUFBQTtBckYra1dMOztBcUYza1dBO0VBQ0MsYUFBQTtBckY4a1dEOztBc0Yzb1dBOzt5Q0FBQTtBQUdBO0VBQ0Msa0puRTJFa0I7RW1FMUVsQixjQVZvQjtFQVdwQixnQkFBQTtFQUNBLGNBQUE7RUFDQSxTQVhxQjtFQVlyQiwwQkFiNEI7RUFjNUIseUJBQUE7RUFDQSxhQUFBO0VBQ0EsYUFkeUI7RUFlekIsZ0RBQUE7QXRGOG9XRDtBc0Y3b1dDO0VBQ0MseUJBQUE7RUFDQSxTQUFBO0VBQ0EsMEJBckIyQjtBdEZvcVc3QjtBc0Y3b1dDO0VBQ0MsZUFBQTtFQUNBLGlCQUFBO0VBQ0EsaUJBQUE7RUFDQSxjQUFBO0VBQ0EsMEJBQUE7QXRGK29XRjtBc0Y3b1dFO0VBQ0MsYUFBQTtFQUNBLG1CQUFBO0F0RitvV0g7QXNGOW9XRztFQUNDLGNBQUE7RUFDQSxrQkFBQTtFQUNBLDZGbkY2TWM7QUhtOFZsQjtBc0Y3b1dFO0VBQ0MsaUJBQUE7QXRGK29XSDtBc0Y3b1dFO0VBRUMsZUFBQTtFQUNBLHFCQUFBO0F0RjhvV0g7QXNGNW9XRTtFQUNDLHlCbkY5QlM7RW1GK0JULGVBQUE7QXRGOG9XSDtBc0Yzb1dDO0VBQ0MsZ0JuRXFDbUI7QW5Cd21XckI7O0FzRnpvV0E7RUFDQyw0QkFBQTtFQUNBLDZCQUFBO0F0RjRvV0Q7O0FzRnpvV0E7Ozs7RUFBQTtBQU1BO0VBQ0MsYUFBQSxFQUFBLE1BQUE7RUFDQSxTQUFBO0VBQ0EsZ0JBQUE7RUFDQSx1Rm5GMkptQjtFbUYxSm5CLDZCbkZpRXdCO0FIMGtXekI7QXNGMW9XQztFQUNDLG1CQUFBO0VBQ0EsZ0JBQUE7QXRGNG9XRjtBc0Yxb1dDO0VBQ0MsZUFBQTtFQUNBLGlCQUFBO0VBQ0Esa0JBQUE7QXRGNG9XRjs7QXNGeG9XQTs7Ozs7Ozs7OztFQUFBO0FBWUE7RUFDQyxhQUFBLEVBQUEsTUFBQTtFQUNBLFNBQUE7RUFDQSxnQkFBQTtFQUNBLGtCQUFBLEVBQUEsTUFBQTtFQUNBLG1CQUFBLEVBQUEsTUFBQTtFQUNBLDZCQUFBLEVBQUEsTUFBQTtFQUNBLGdCQUFBO0F0RjBvV0Q7QXNGem9XQztFQUNDLG1CQUFBO0VBQ0EsZ0JBQUE7RUFDQSxnREFBQTtFQUNBLG1CQUFBLEVBQUEsTUFBQTtBdEYyb1dGO0FzRnpvV0M7RUFDQyxlQUFBO0VBQ0EsaUJBQUE7RUFDQSxrQkFBQTtBdEYyb1dGOztBc0Z2b1dBOzs7Ozs7RUFBQTtBQVFBO0VBQ0MsNkJBQUEsRUFBQSxNQUFBO0VBQ0EsaUJBQUEsRUFBQSxNQUFBO0VBQ0EsU0FBQTtFQUNBLGdCQUFBO0VBQ0EsZ0JuRmxDa0I7RW1GbUNsQixnQkFBQSxFQUFBLE1BQUE7QXRGeW9XRDtBc0Z4b1dDO0VBQ0MsbUJBQUE7RUFDQSxnQkFBQTtBdEYwb1dGO0FzRnhvV0M7RUFDQyxlQUFBO0VBQ0EsaUJBQUE7RUFDQSxrQkFBQTtBdEYwb1dGOztBc0Z0b1dBOzt5Q0FBQTtBQUlBOzs7RUFBQTtBQUtBOztFQUFBO0FBSUE7RUFDQyxnQkFBQSxFQUFBLE1BQUE7RUFDQSx5QkFBQTtFQUNBLGdCQS9KcUI7RUFnS3JCLGFBQUE7RUFDQSxhQWhLeUI7RUFpS3pCLGtKbkVoRmtCO0VtRWlGbEIsY0FyS29CO0F0RjJ5V3JCOztBc0Zub1dDO0VBQ0MsU0FBQTtFQUNBLGVBQUE7QXRGc29XRjtBc0Zyb1dFO0VBQ0MseUJuRnZJUTtBSDh3V1g7O0FzRm5vV0U7RUFDQyxlQUFBO0F0RnNvV0g7O0F1RnZ6V0E7O3lDQUFBO0FBSUE7O0VBQUE7QUFJQTtFQUNDLGtCQUFBLEVBQUEsTUFBQTtBdkZ3eldEO0F1RnR6V0M7RUFDQyxjaEN1SG9CO0F2RGlzV3RCOztBdUZweldDO0VBQ0MsZUFBQTtFQUNBLE1BQUE7RUFDQSxRQUFBO0VBQ0EsT0FBQTtFQUNBLFlBQUE7RUFDQSx5QkFBQTtFQUNBLDhDQUFBO0F2RnV6V0Y7O0F1RnB6V0U7O0VBQUE7QUFJQTtFQUNDLGFBQUEsRUFBQSxNQUFBO0VBQ0EsbUJBQUEsRUFBQSxNQUFBO0VBQ0EsZ0JBQUE7RUFDQSxtQkFBQTtFQUNBLGdCQUFBO0VBQ0EsbUJBQUE7RUFDQSxjaEN5RmlCO0F2RDZ0V3BCO0F1RnJ6V0c7RUFDQyxjaEN1RmdCO0F2RGd1V3BCOztBdUZueldHO0VBQ0MseUJBQUE7RUFDQSxpQkFBQTtFQUNBLGtCQUFBO0F2RnN6V0o7O0F1Rm56V0U7O0VBQUE7QUFJQTtFQUNDLGFBQUEsRUFBQSxNQUFBO0F2RnF6V0g7O0F1Rmx6V0U7RUFDQyxlQUFBO0VBQ0EsWUFBQTtFQUNBLGNoQ2tFaUI7RWdDakVqQixrQkFBQTtFQUNBLFFBQUE7RUFDQSxRQUFBO0VBQ0EsMkJBQUE7QXZGcXpXSDtBdUZueldHO0VBRUMsYXBGNkZZO0FIdXRXaEI7O0F1Rmh6V0M7RUFDQyxxQkFBQTtFQUNBLGVBQUE7RUFDQSxtQnBFY3FCO0VvRWJyQixpQnBGc0JpQjtFb0ZyQmpCLG1CQUFBO0F2Rm16V0Y7O0F1Rmh6V0M7RUFDQyxlQUFBO0VBQ0EsaUJwRmdCaUI7RW9GZmpCLG1CcEVNcUI7QW5CNnlXdkI7O0F1Rmh6V0M7RUFDQyx1Q0FBQTtBdkZteldGO0F1Rmx6V0U7RUFDQyxpQkFBQTtBdkZveldIOztBdUZoeldDOzs7O0VBQUE7QUM3RkQ7RUFDSSxlQUFBO0F4RnE1V0o7O0F5RnQ1V0E7O0VBQUE7QUFJQTs7OztFQUFBO0FBTUE7RUFDQyxnQkFBQSxFQUFBLE1BQUE7QXpGdTVXRDtBeUZ0NVdDO0VBRkQ7SUFHRSxjQUFBO0V6Rnk1V0E7QUFDRjs7QXNCcHZXUTtFbUVsS1A7SUFFRSxhQUFBO0V6Rnk1V0Q7QUFDRjs7QXlGdDVXRTtFQUNDLGtCQUFBO0F6Rnk1V0g7QXlGeDVXRztFQUNDLGVBQUE7RUFDQSxpQkFBQTtFQUNBLGdCQUFBO0F6RjA1V0o7QXlGdjVXRztFQUNDLDZCQUFBO0F6Rnk1V0o7O0F5RnI1V0U7Ozs7O0VBQUE7QUFPQztFQUNDLHVCQUFBLEVBQUEsTUFBQTtFQUNBLDZCQUFBLEVBQUEsTUFBQTtFQUNBLDBCQUFBLEVBQUEsTUFBQTtFQUNBLG1CQUFBO0VBQ0Esc0JBQUE7QXpGdTVXSjs7QXlGcDVXRTtFQUNDLGNBQUE7QXpGdTVXSDs7QXlGcDVXRTtFQUNDLGVBQUE7RUFDQSxlQUFBO0F6RnU1V0g7O0EwRmg5V0E7Ozs7Ozs7Ozs7Ozs7OztFQUFBO0FBaUJBOzs7Ozs7Ozs7Ozs7RUFBQTtBQWdCQTtFQUNFLGFBQUEsRUFBQSxNQUFBO0VBQ0EsaUJBQUEsRUFBQSxNQUFBO0VBQ0Esa0JBQUEsRUFBQSxNQUFBO0ExRis4V0Y7QTBGOThXRTtFQUNFLFNBQUEsRUFBQSxNQUFBO0ExRmc5V0o7QTBGOThXRSxzQ0FBQSxNQUFBO0VBQ0Usc0JBQUE7QTFGZzlXSjtBMEY5OFdFOztFQUVFLGdCdkVzYmdCO0V1RXJiaEIsaUJ2Rm9EZTtFdUZuRGYsZ0JBQUE7QTFGZzlXSjs7QTBGNThXRTs7Ozs7O0VBQUE7QUFRQTtFQUNFLG1CQUFBLEVBQUEsTUFBQTtBMUY4OFdKO0EwRjc4V0k7O0VBRUUsa0JBQUEsRUFBQSxNQUFBO0ExRis4V047QTBGOThXTTs7RUFDRSxlQUFBLEVBQUEsTUFBQTtBMUZpOVdSOztBc0IvMVdRO0VvRTdHTjtJQUVJLCtCQUFBO0UxRis4V0o7QUFDRjtBc0JyMldRO0VvRTdHTjtJQUtJLG1CQUFBO0lBQ0EsdUJBQUE7RTFGaTlXSjtFMEZoOVdJOztJQUVFLGtCQUFBO0UxRms5V047RTBGajlXTTs7SUFDRSxlQUFBO0UxRm85V1I7QUFDRjs7QTBGLzhXRTs7OztFQUFBO0FBTUE7RUFDRSx1QkFBQTtFQUNBLG1CQUFBO0ExRmk5V0o7O0EwRjk4V0U7OztFQUFBO0FBS0E7O0VBRUUsa0JBQUEsRUFBQSxNQUFBO0VBQ0EsYUFBQSxFQUFBLE1BQUE7RUFFQSw4SEFBQTtFQUVBOzs7O09BQUE7QTFGazlXSjtBMEY3OFdJOzs4RUFBQSxNQUFBO0VBQ0UsbUJBQUE7RUFDQSxZQUFBO0VBQ0EsbUJBQUE7RUFDQSx5QkFBQTtBMUZpOVdOOztBMEY3OFdFOzs7Ozs7Ozs7Ozs7Ozs7RUFBQTtBQWlCQTtFQUNFLG9CQUFBLEVBQUEsTUFBQTtFQUNBLGtCQUFBLEVBQUEsTUFBQTtFQUNBLFdBQUEsRUFBQSxNQUFBO0VBRUEsWUFBQSxFQUFBLE1BQUE7RUFDQSxXQUFBLEVBQUEsTUFBQTtFQUNBLHlCdkVsRUk7RXVFbUVKLHlCQUFBLEVBQUEsTUFBQTtFQUNBLGtCQUFBO0VBQ0EsY0FBQSxFQUFBLE1BQUE7RUFDQSxzQkFBQTtFQUNBLG9CQUFBO0VBQ0EsdUxBQ0U7QTFGNjhXTjs7QTBGdDhXRTs7Ozs7Ozs7RUFBQTtBQVlFOztFQUNFLDZDQUFBLEVBQUEsTUFBQTtBMUZ1OFdOO0EwRnI4V0k7O0VBQ0UseUJBQUE7QTFGdzhXTjtBMEZ0OFdJOztFQUNFLHFCbkN0RGMsRW1Dc0RnQixNQUFBO0ExRnk4V3BDO0EwRnY4V0k7O0VBQ0UsZUFBQSxFQUFBLE1BQUE7QTFGMDhXTjs7QTBGdDhXRTs7OztFQUFBO0FBTUE7RUFDRSxrQkFBQSxFQUFBLE1BQUE7QTFGdzhXSjtBMEZ0OFdJO0VBQ0Usa0JBQUE7QTFGdzhXTjs7QTBGcDhXRTs7RUFBQTtBQUlBO0VBQ0Usa0JBQUE7QTFGczhXSjs7QTBGbjhXRTs7RUFBQTtBQUtFO0VBQ0UseUJuQ3pGYyxFbUN5Rm9CLE1BQUE7QTFGbzhXeEM7O0EwRmg4V0k7Ozs7Ozs7Ozs7O0VBQUE7QUFhQTtFQUNFLDhFQUFBO0VBQ0Esa0JBQUEsRUFBQSxNQUFBO0VBQ0EsUUFBQSxFQUFBLE1BQUE7RUFDQSwyQkFBQSxFQUFBLE1BQUE7RUFDQSxVQUFBLEVBQUEsTUFBQTtFQUNBLGlCQUFBLEVBQUEsTUFBQTtFQUNBLG1CQUFBLEVBQUEsTUFBQTtFQUNBLGtCQUFBO0VBQ0EsV0FBQTtFQUNBLGtCQUFBLEVBQUEsTUFBQTtFQUNBLDBCQUFBLEVBQUEsTUFBQTtBMUZrOFdOOztBMEYvN1dJO0VBQ0UsV0FBQTtFQUNBLGtCQUFBO0VBQ0EsU0FBQTtFQUNBLG9CQUFBO0VBQ0Esa0JBQUE7RUFDQSxXQUFBO0VBQ0EsWUFBQTtBMUZrOFdOOztBMEYvN1dJO0VBQ0UsaUNBQUE7QTFGazhXTjs7QTBGLzdXSTtFQUNFLG1CbkN2SWM7RW1Dd0lkLGNBQUE7RUFDQSwyQ0FBQTtBMUZrOFdOOztBMEYvN1dJO0VBQ0UscUNBQUE7QTFGazhXTjs7QTBGLzdXSTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztFQUFBO0FBeUJFOztFQUVFLGFBQUE7QTFGZzhXUjtBMEY5N1dNO0VBQ0UsUUFBQSxFQUFBLE1BQUE7RUFDQSxvQkFBQSxFQUFBLE1BQUE7QTFGZzhXUjs7QTBGNTdXSTs7Ozs7Ozs7Ozs7Ozs7OztFQUFBO0FBbUJFOztFQUVFLG1CQUFBO0VBQ0EsYUFBQTtFQUNBLHlCdkV3SU87RXVFdklQLGdCdkU5T2E7RXVFK09iLGtCdkZyTVE7RXVGc01SLHlCQUFBO0ExRjY3V1I7QTBGMzdXUTs7RUFDRSxTQUFBLEVBQUEsTUFBQTtFQUNBLFlBQUEsRUFBQSxNQUFBO0ExRjg3V1Y7QTBGMzdXUTtnRUFBQSxNQUFBO0VBQ0UseUJ2RThIVztFdUU3SFgseUJ2RmpVRTtBSCt2WFo7QTBGMzdXUTs7RUFDRSw2QkFBQTtFQUNBLFlBQUE7RUFDQSxtQkFBQTtBMUY4N1dWO0EwRjM3V1E7Ozs7RUFFRSxnQkFBQTtBMUYrN1dWO0FzQjNtWFE7RW9FK0tBOztJQUVJLHNCQUFBLEVBQUEsTUFBQTtFMUYrN1dWO0FBQ0Y7O0EyRmh5WEE7RUFDQyxhQUFBO0VBQ0Esa0JBQUE7RUFDQSx5QnhGWVc7RXdGWFgsa0J4RjZIZTtFd0Y1SGYsK0JBQUE7RUFDQSxrQkFBQTtFQUNBLGtCQUFBO0VBQ0EsbUJ4RnNGa0I7QUg2c1huQjtBMkZseVhDO0VBQ0MsMkJBQUE7RUFDQSxlQUFBO0EzRm95WEY7QTJGL3lYQTtFQWFDLDBCQUFBO0EzRnF5WEQ7O0EyRm55WEM7RUFFQyxnQkFBQTtBM0ZxeVhGOztBMkZueVhDO0VBQ0MsZUFBQTtBM0ZzeVhGOztBMkZweVhDO0VBQ0MsYUFBQTtFQUNBLGN4RktTO0FIa3lYWDs7QTJGcnlYQztFQUNDLGVBQUE7QTNGd3lYRjs7QTJGdHlYQztFQUNDLGdCeEZnRWlCO0V3Ri9EakIsZUFBQTtBM0Z5eVhGOztBMkZ2eVhDO0VBQ0Msa0JBQUE7RUFDQSxXQUFBO0VBQ0EsVUFBQTtFQUNBLFlBQUE7RUFDQSxrQkFBQTtFQUNBLG1CQUFBO0VBQ0EsZUFBQTtBM0YweVhGOztBNEZsMVhBO0VBQ0MsYUFBQTtFQUNBLCtCQUFBO0VBQ0Esa0JBQUE7T0FBQSxhQUFBO0VBQ0EsdUZ6RjRObUI7RXlGM05uQix5QnpGa0l3QjtFeUZqSXhCLGtCekYySGU7RXlGMUhmLGNBQUE7RUFDQSxnQkFBQTtFQUNBLGdCQUFBO0E1RnExWEQ7QTRGbjFYQztFQUNDLGdCekYyRndCO0FIMHZYMUI7O0E0RmoxWEM7RUFDQyxrQkFBQTtFQUNBLFVBQUE7QTVGbzFYRjs7QTRGajFYQztFQUNDLGtCQUFBO0VBQ0EsZUFBQTtBNUZvMVhGO0E0Rm4xWEU7RUFDQyw4QkFBQTtBNUZxMVhIOztBNEZqMVhDOztFQUVDLGVBQUE7QTVGbzFYRjs7QTRGajFYQztFQUNDLGVBQUE7RUFDQSxhQUFBO0VBQ0EsVUFBQTtFQUNBLDhCQUFBO0E1Rm8xWEY7O0E0RmgxWEU7RUFDQyxrQkFBQTtFQUNBLGNBQUE7RUFDQSxpQkFBQTtFQUNBLFVBQUE7QTVGbTFYSDtBNEZoMVhFO0VBQ0MseUJBQUE7QTVGazFYSDs7QTZGeDRYQTs7eUNBQUE7QUFJQTs7O0VBQUE7QUFLQTtFQUNDLGFBQUEsRUFBQSxNQUFBO0E3Rnk0WEQ7O0E2RnQ0WEM7Ozs7RUFBQTtBQU1BO0VBQ0MsWUFBQSxFQUFBLE1BQUE7RUFDQSxlQUFBO0VBQ0EseUIxRTJETTtFMEUxRE4sNkIxRm9IdUI7RTBGbkh2Qiw4QjFGNkdjO0UwRjVHZCxzRjFGNE1zQjtBSDRyWHhCO0E2RnQ0WEU7RUFSRDtJQVNFLFNBQUEsRUFBQSxNQUFBO0lBQ0EsZ0JBQUE7RTdGeTRYRDtBQUNGO0E2RnY0WEU7RUFiRDtJQWNFLCtCMUZvR2E7RUhzeVhkO0FBQ0Y7QTZGeDRYRTtFQUNDLFdBQUE7RUFDQSxZQUFBO0VBQ0Esa0JBQUE7QTdGMDRYSDtBNkZ4NFhFO0VBQ0MsZUFBQTtFQUNBLGtCQUFBO0E3RjA0WEg7QTZGejRYRztFQUVDLDBCQUFBO0E3RjA0WEo7QTZGdjRYRTtFQUNDLFdBQUEsRUFBQSxNQUFBO0E3Rnk0WEg7QTZGeDRYRztFQUNDLGVBQUE7QTdGMDRYSjtBNkZ4NFhHO0VBQ0MsZUFBQTtBN0YwNFhKO0E2Rjk2WEM7RUF3Q0M7O0lBQUE7QTdGMjRYRjtBNkZ2NFhFO0VBQ0MsaUJBQUEsRUFBQSxNQUFBO0VBQ0Esa0JBQUEsRUFBQSxNQUFBO0E3Rnk0WEg7QTZGdDRYRTtFQUNDLGN0QzhEbUI7QXZEMDBYdEI7O0E2RnA0WEU7Ozs7RUFBQTtBQU1BO0VBQ0Msa0JBQUEsRUFBQSxNQUFBO0E3RnM0WEg7QTZGcDRYRztFQUhEO0lBSUUsYTFGZWUsRTBGZmEsTUFBQTtFN0Z1NFg5QjtBQUNGOztBNkZwNFhHOzs7RUFBQTtBQU1DO0VBRUMscUJBQUEsRUFBQSxNQUFBO0E3Rm80WEw7O0E4Rm4rWEE7OztFQUFBO0FBS0E7RUFDQyxxQkFBQTtBOUZxK1hEO0E4RnArWEM7RUFGRDtJQUdFLG1CM0YwRmlCO0VINjRYakI7QUFDRjs7QStGaC9YQTs7eUNBQUE7QUFJQTs7O0VBQUE7QUFLQTs7O0VBR0Msa0JBQUE7RUFDQSxZQUFBO0VBQ0EsYUFBQTtFQUNBLDBDQUFBO0VBQ0EseUJBQUE7QS9GaS9YRDs7QStGLytYQTtFQUNDLGM1RlZZO0U0RldaLGVBQUE7RUFDQSxpQkFBQTtFQUNBLGtCQUFBO0VBQ0Esb0JBQUE7RUFDQSx3QkFBQTtFQUNBLHdCQUFBO0VBQ0Esd0JBQUE7RUFDQSx1QkFBQTtBL0ZrL1hEOztBK0ZoL1hBOztFQUVDLFdBQUE7RUFDQSxrQkFBQTtFQUNBLE1BQUE7QS9GbS9YRDs7QStGai9YQTtFQUNDLFlBQUE7RUFDQSx1QkFBQTtBL0ZvL1hEOztBK0ZsL1hBO0VBQ0MsV0FBQTtBL0ZxL1hEOztBK0ZuL1hBO0VBQ0M7SUFHQyw0QkFBQTtFL0ZvL1hBO0UrRmwvWEQ7SUFDQyx1QkFBQTtFL0ZvL1hBO0FBQ0Y7QWdHdGlZQTs7RUFBQTtBQUlBO0VBQ0Msa0JBQUE7RUFDQSx5QkFBQTtFQUNBLGU3RWdGZ0I7RTZFL0VoQixrQjdGNkhlO0U2RjVIZixnQkFBQTtFQUNBLGNBQUE7QWhHdWlZRDs7QWdHcGlZQTtFQUNDLGdCQUFBO0FoR3VpWUQ7O0FzQmw0WFE7RTBFaktQO0lBQ0MsK0I3RndIdUI7STZGdkh2QixrQkFBQTtFaEd1aVlBO0VnR3JpWUE7SUFDQyxjQUFBO0lBQ0EsV0FBQTtJQUNBLGtCQUFBO0lBQ0EsWUFBQTtJQUNBLGVBQUE7SUFDQSx5QkFBQTtJQUNBLFFBQUE7SUFDQSwyQkFBQTtJQUNBLGVBQUE7SUFDQSxtQkFBQTtJQUNBLGlCQUFBO0lBQ0EsbUJBQUE7RWhHdWlZRDtFZ0duaVlBO0lBQ0MsYUFBQTtFaEdxaVlEO0FBQ0Y7QWlHN2tZQTs7eUNBQUE7QUFJQTtFQUNDLGdCQUFBO0VBQ0EsaUJBQUE7QWpHOGtZRDtBaUc3a1lDO0VBQ0MsYzlGQ1c7RThGQVgscUJBQUE7RUFDQSxzQkFBQTtFQUNBLHdCQUFBO0VBQ0EscUJBQUE7RUFDQSxrQjlGd0hjO0U4RnZIZCxpQkFBQTtBakcra1lGO0FpRzdrWUM7RUFDQztJQUNDLHNCQUFBO0VqRytrWUQ7RWlHN2tZQTtJQUNDLG1CQUFBO0VqRytrWUQ7QUFDRjtBaUc3a1lDOztFQUVDLGVBQUE7QWpHK2tZRjtBaUc3a1lDO0VBQ0MseUNBQUE7RUFDQSxVQUFBO0FqRytrWUY7QWlHNWtZQztFQUNDLHlDQUFBO0FqRzhrWUY7O0FrR2huWUE7O3lDQUFBO0FBR0E7RUFDQyxXQUFBO0VBQ0EseUJBQUE7QWxHbW5ZRDs7QWtHam5ZQztFQUNDLGdDL0ZtSXVCO0FIaS9YekI7O0FrR2puWUU7RUFDQywwQ0FBQTtBbEdvbllIOztBa0dqbllFO0VBQ0MsZUFBQTtFQUNBLGFBQUE7RUFDQSxrQkFBQTtFQUNBLGMvRmVRO0FIcW1ZWDtBa0dubllHO0VBQ0MsZ0IvRXNFaUI7RStFckVqQixjM0M2R2tCO0UyQzVHbEIsaUJBQUE7QWxHcW5ZSjs7QWtHbG5ZRTtFQUNDLGtCQUFBO0VBQ0EsZUFBQTtBbEdxbllIO0FrR3BuWUc7RUFDQyxjQUFBO0FsR3NuWUo7O0FrR25uWUU7RUFDQyxrQkFBQTtFQUNBLGdCL0V3RGtCO0UrRXZEbEIsZUFBQTtFQUNBLG1CQUFBO0VBQ0EseUJBQUE7QWxHc25ZSDs7QWtHcG5ZRTtFQUNDLGtCQUFBO0VBQ0EsZUFBQTtFQUNBLGlCQUFBO0VBQ0Esb0JBQUE7QWxHdW5ZSDs7QWtHcG5ZQTs7eUNBQUE7QUFHQTtFQUNDLGtCQUFBO0VBQ0EsZUFBQTtBbEd1bllEO0FrR3JuWUM7RUFDQyxlQUFBO0FsR3VuWUY7O0FrR3BuWUM7RUFDQyxxQkFBQTtFQUNBLFlBQUE7RUFDQSxjQUFBO0FsR3VuWUY7O0FrR3BuWUM7RUFDQyxlQUFBO0VBQ0EsZ0NBQUE7RUFDQSxrREFBQTtFQUNBLGlCQUFBO0FsR3VuWUY7QWtHdG5ZRTtFQUNDLGdCQUFBO0FsR3duWUg7O0FrR3JuWUM7RUFFQyxrQkFBQTtFQUNBLFNBQUE7RUFDQSxPQUFBO0VBQ0EseUJBQUE7RUFDQSxZQUFBO0VBQ0EsY0FBQTtFQUNBLHlCQUFBO0FsR3VuWUY7QWtHdG5ZRTtFQUNDLHFCQUFBO0FsR3duWUg7QWtHdG5ZRTtFQUNDLFdBQUE7RUFDQSxrQkFBQTtFQUNBLFNBQUE7RUFDQSxXQUFBO0VBQ0EsY0FBQTtFQUNBLHNCQUFBO0VBQ0Esd0JBQUE7RUFDQSxXQUFBO0VBQ0EseUJBQUE7RUFDQSw4QkFBQTtFQUNBLHNDQUFBO0FsR3duWUg7QWtHdG5ZRTtFQUNDLCtCQUFBO0FsR3duWUg7O0FrR3BuWUE7RUFDQyxrQkFBQTtFQUNBLG1CQUFBO0VBQ0EsYy9GUGlCO0UrRlFqQixhL0ZUa0I7RStGVWxCLG1CL0ZWa0I7QUhpb1luQjtBa0d0bllDO0VBQ0Msa0JBQUE7RUFDQSxVQUFBO0VBQ0EsU0FBQTtFQUNBLGNBQUE7RUFDQSxrQkFBQTtFQUNBLFFBQUE7RUFDQSxTQUFBO0VBQ0Esa0JBQUE7RUFDQSw2Q0FBQTtFQUNBLFdBQUE7RUFFQTs7O0lBQUE7RUFJQSwwQkFBQTtBbEd1bllGOztBa0dwbllDO0VBRUMsY0FBQTtFQUNBLGVBQUE7RUFDQSxtQkFBQTtBbEdzbllGOztBbUd2dllBO0VBR0M7SUFDQyxTQUFBO0VuR3d2WUE7RW1HdnZZQTtJQUNDLGFBQUE7RW5HeXZZRDtFbUd2dllBO0lBQ0MsbUJBQUE7SUFDQSxjQUFBO0lBQ0EsZ0NBQUE7RW5HeXZZRDtFbUd2dllBO0lBQ0MsY0FBQTtJQUNBLGlCQUFBO0lBQ0EsZUFBQTtJQUNBLGlDQUFBO0VuR3l2WUQ7RW1HeHZZQztJQUNDLGdCQUFBO0VuRzB2WUY7RW1HeHZZQztJQUNDLHlCQUFBO0lBQ0EsV0FBQTtJQUNBLHlCQUFBO0lBQ0EsZ0JoRitEaUI7RW5CMnJZbkI7QUFDRjtBb0d2eFlBOzt5Q0FBQTtBQUlBOztFQUFBO0FBSUE7RUFDQyw2QkFBQSxFQUFBLE1BQUE7QXBHdXhZRDs7QW9HcHhZQztFQUNDLGNqR2lCVztBSHN3WWI7O0FvR3B4WUE7O0VBQUE7QUFJQTtFQUNDLGtCQUFBO0VBQ0EsZ0JBQUE7QXBHc3hZRDs7QW9HbnhZQztFQUNDLHFCQUFBO0FwR3N4WUY7O0FvR254WUU7RUFDQyxlQUFBO0FwR3N4WUg7O0FvR254WUM7RUFDQyxxQkFBQTtFQUNBLGVBQUE7RUFDQSxlQUFBO0FwR3N4WUY7O0FvR254WUM7RUFDQyxrQkFBQTtFQUNBLG1CQUFBO0FwR3N4WUY7O0FvR254WUE7O0VBQUE7QUFJQTtFQUNDLG9CQUFBO0FwR3F4WUQ7O0FvR2x4WUM7RUFDQyxxQkFBQTtBcEdxeFlGOztBb0dseFlFO0VBQ0MsZUFBQTtBcEdxeFlIOztBb0dseFlDO0VBQ0MscUJBQUE7RUFDQSxlQUFBO0VBQ0EsZUFBQTtBcEdxeFlGOztBb0dseFlDO0VBQ0Msa0JBQUE7RUFDQSxtQkFBQTtBcEdxeFlGOztBcUd0MVlBO0VBR0Msa0JBQUE7RUFDQSxZQUFBO0VBQ0EseUJBQUE7RUFDQSxjQUFBO0VBQ0Esa0JBQUE7RUFDQSx5QkFBQTtFQUNBLGVBQUE7RUFDQSxpQkFBQTtFQUVBLFVBQUE7QXJHczFZRDtBcUdyMVlDO0VBQ0MsV0FBQTtFQUNBLGtCQUFBO0VBQ0EsU0FBQTtFQUNBLHFCQUFBO0VBQ0EsV0FBQTtFQUNBLGNBQUE7RUFDQSxzQkFBQTtFQUNBLHdCQUFBO0FyR3UxWUY7QXFHcjFZQztFQUNDLFdBQUE7RUFDQSx5QkFBQTtFQUNBLHlDQUFBO0VBQ0Esc0NBQUE7QXJHdTFZRjtBcUdyMVlDO0VBQ0MsWUFBQTtFQUNBLDBDQUFBO0VBQ0Esd0JBQUE7RUFDQSxzQ0FBQTtBckd1MVlGO0FxR3IxWUM7RUFDQyx5QkFBQTtBckd1MVlGO0FxR3QxWUU7RUFDQyxxQkFBQTtBckd3MVlIO0FxR3QxWUU7RUFDQyw4QkFBQTtBckd3MVlIO0FxR3QxWUU7RUFDQywrQkFBQTtBckd3MVlIO0FxR3IxWUM7RUFDQyx5QkFBQSxFQUFBLG9HQUFBO0FyR3UxWUY7QXFHdDFZRTtFQUNDLHFCQUFBO0FyR3cxWUg7O0FxR24xWUE7O3lDQUFBO0FBSUE7Ozs7RUFFQyxpQkFBQTtBckd1MVlEOztBcUdwMVlBO0VBR0Msa0JBQUE7RUFDQSxZQUFBO0VBQ0EsV0FBQTtFQUNBLGNBQUE7RUFDQSxrQkFBQTtFQUNBLHlCQUFBO0VBQ0EsZUFBQTtFQUNBLGlCQUFBO0VBRUEsVUFBQTtBckdvMVlEO0FxR24xWUM7RUFFQyxxQmxHekVXO0FINjVZYjtBcUdsMVlDO0VBQ0MseUNBQUE7QXJHbzFZRjtBcUdsMVlDO0VBQ0MsV0FBQTtFQUNBLGtCQUFBO0VBQ0EsU0FBQTtFQUNBLFdBQUE7RUFDQSxjQUFBO0VBQ0Esc0JBQUE7RUFDQSx3QkFBQTtFQUNBLFlBQUE7RUFDQSwwQ0FBQTtFQUNBLHdCQUFBO0VBQ0Esc0NBQUE7QXJHbzFZRjs7QXNHbDdZQTtFQUNDLGtCQUFBO0F0R3E3WUQ7O0FzR2w3WUM7RUFDQyxrQkFBQTtFQUNBLFVBQUE7RUFDQSxRQUFBO0VBQ0EsMkJBQUE7RUFDQSxZQUFBO0VBQ0EsV0FBQTtFQUNBLG9CQUFBO0F0R3E3WUY7O0FzR2w3WUM7RUFDQyxrQkFBQTtBdEdxN1lGOztBdUd4OFlBOzt5Q0FBQTtBQU9DOztFQUFBO0FBSUE7RUFDQyxrQkFBQSxFQUFBLE1BQUE7QXZHczhZRjtBdUdyOFlFO0VBQ0Msa0JBQUE7RUFDQSxXQUFBO0VBQ0EsV0FBQTtFbkYrQkQsY0FBQTtFQUNBLFFBQUE7RUFDQSxTQUFBO0VBRUEsbUJBQUE7RUFDQSxrQm1GbkN1QjtFbkZxQ3ZCLFdBQUE7RUFlRSxvQkFBQTtFQUNBLHlEQUFBO0FwQnk1WUo7QXVHNzhZRztFQUxEO0lBTUUsYUFBQTtFdkdnOVlGO0FBQ0Y7O0F1RzU4WUM7RUFDQyxhQUFBO0VBQ0EsbUJBQUE7RUFDQSxpQkFBQTtFQUNBLGtCQUFBO0F2Rys4WUY7O0F3RzMrWUE7O0VBQUE7QUFHQTtFQUNDLDREQUFBO0VBQ0EsZ0JBQUE7RUFDQSxZQUFBO0VBQ0EseUVBQUE7RUFDQSx5QkFBQTtFQUNBLHNCQUFBO0F4RzgrWUQ7O0F3RzMrWUE7RUFDQztJQUFLLDBCQUFBO0V4RysrWUo7RXdHOStZRDtJQUFPLCtCQUFBO0V4R2kvWU47QUFDRjtBd0cvK1lBO0VBQ0MsY0FBQTtBeEdpL1lEOztBeUduZ1pBOzt5Q0FBQTtBQUlBOztFQUFBO0FBSUE7RUFDQyxrQkFBQTtFQUNBLGdCQUFBO0VBQ0EsY0FBQTtFQUNBLGtCQUFBO0VBQ0EsaUJBQUE7RUFDQSxvQkFBQTtFQUNBLG1CQUFBO0VBQ0Esa0JBQUE7QXpHb2daRDtBc0JqMllRO0VtRjNLUjtJQVVFLG1CQUFBLEVBQUEsTUFBQTtJQUNBLGtCQUFBLEVBQUEsTUFBQTtFekdzZ1pBO0FBQ0Y7QXlHbGhaQTtFQWFDLHlCdEdUWTtFc0dVWixlQUFBO0F6R3dnWkQ7O0F5R3JnWkM7RUFDQyxnQkFBQTtFQUNBLHFCQUFBO0F6R3dnWkY7QXlHdmdaRTtFQUhEO0lBSUUsZUFBQTtJQUNBLGNBQUE7RXpHMGdaRDtBQUNGO0F5R3pnWkU7RUFQRDtJQVFFLGlCQUFBO0V6RzRnWkQ7QUFDRjs7QXlHemdaQztFQUNDLGtCQUFBO0VBQ0EsUUFBQTtFQUNBLFdBQUE7QXpHNGdaRjtBc0JqNFlRO0VtRjlJUDtJQUtFLFNBQUE7SUFDQSxXQUFBO0V6RzhnWkQ7QUFDRjtBeUdyaFpDO0VBUUMsZUFBQTtFQUNBLGNBQUE7RUFDQSxpQkFBQTtBekdnaFpGOztBMEcvalpBOzt5Q0FBQTtBQUlBOzs7OztFQUFBO0FBT0E7RUFDQyxvQkFBQTtFQUNBLGtCQUFBO0VBQ0EseUJ2R2dCWTtFdUdmWixvQkFBQTtFQUNBLHlCQUFBO0VBQ0EsY0FBQTtFQUNBLDBCQUFBO0VBQ0EsZUFBQTtFQUNBLGdCdkZ1RW9CO0V1RnRFcEIsbUJBQUE7QTFHZ2taRDtBMEcvalpDO0VBQ0MsZ0JBQUE7RUFDQSw2QkFBQTtFQUNBLGtCQUFBO0VBQ0EsUUFBQTtFQUNBLFVBQUE7RUFDQSxZQUFBO0VBQ0EsY3ZHQ1c7RXVHQVgseUJBQUE7RUFDQSxvQkFBQTtFQUNBLFdBQUE7RUFDQSxZQUFBO0VBQ0EsZ0JBQUE7QTFHaWtaRjs7QTJHbm1aQTs7eUNBQUE7QUFJQTs7RUFBQTtBQU1BOztFQUFBO0FBSUE7RUFDQyxhQUFBO0VBQ0EsZUFBQTtFQUNBLDZCQUFBO0VBQ0EsY0FBQTtBM0dpbVpEO0FzQjM3WVE7RXFGMUtSO0lBT0UsOEJBQUE7RTNHa21aQTtBQUNGOztBMkcvbFpBOzs7Ozs7OztFQUFBO0FBYUE7RUFDQyxhQUFBO0VBQ0Esc0JBQUE7RUFDQSxjQUFBO0VBQ0EsV0FBQSxFQUFBLE1BQUE7RUFDQSxnQkFSMEI7RUFTMUIsZUFBQTtFQUNBLG1CeEdxRGtCLEV3R3JEZ0IsTUFBQTtFQUNsQyxrQkFBQSxFQUFBLE1BQUE7RUFDQSx5QkFBQTtFQUNBLDBDQUFBO0VBQ0EsYUFBQTtFQUNBLGtCeEdtRmU7QUgyZ1poQjtBc0J4OVlRO0VxRmxKUjtJQWVFLGdCQWpCMEI7RTNHZ25aMUI7QUFDRjs7QTJHNWxaQzs7Ozs7Ozs7Ozs7O0VBQUE7QUFjQTtFQUNDLGtCQUFBO0VBQ0EsYUFBQTtFQUNBLHVCQUFBO0VBQ0EsV0FBQTtFQUNBLGNBQUEsRUFBQSxNQUFBO0VBQ0Esc0JBQUEsRUFBQSxNQUFBO0VBQ0Esa0J4R3VEYztFd0d0RGQsbUJBQUE7RUFDQSxnQkFBQSxFQUFBLE1BQUE7RUFDQSxVQUFBLEVBQUEsTUFBQTtBM0c4bFpGO0EyRzVsWkU7O0VBRUMsVUFBQSxFQUFBLE1BQUE7QTNHOGxaSDs7QTJHMWxaRTs7RUFBQTtBQUdBO0VBQ0MsYUFBQTtFQUNBLHNCQUFBO0VBQ0Esa0JBQUE7RUFDQSxZQUFBO0VBQ0EsV0FBQTtFQUNBLFVBQUEsRUFBQSxNQUFBO0EzRzZsWkg7O0EyRzFsWkc7RUFDQyxhQUFBO0VBQ0EsOEJBQUE7RUFDQSxtQkFBQTtFQUNBLGtDQUFBO0VBQ0Esb0JBQUE7RUFDQSxjQUFBO0VBQ0EsZUFBQTtFQUNBLGdCQUFBO0VBQ0EsY0FBQTtFQUNBLGVBQUE7QTNHNmxaSjtBMkc1bFpJLHdEQUFBLGtEQUFBO0VBQ0MsZUFBQTtBM0c4bFpMOztBMkcxbFpHO0VBQ0MsaUJBQUE7QTNHNmxaSjs7QTJHMWxaRTtFQUNDLGtCQUFBO0VBQ0EsUUFBQTtFQUNBLFVBQUE7RUFDQSxhQUFBO0VBQ0EsY0FBQTtFQUNBLGFBQUE7RUFDQSxlQUFBO0EzRzZsWkg7QTJHNWxaRztFQUNDLDhCQUFBO0EzRzhsWko7O0EyRzFsWkU7RUFDQyxrQkFBQTtBM0c2bFpIO0EyRzVsWkc7RUFDQyxhQUFBO0VBQ0EsZUFBQTtBM0c4bFpKOztBMkd2bFpFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztFQUFBO0FBNEJ5QixNQUFBO0FBQ0wsTUFBQTtBQUVwQjtFQUNDLGtCQUFBO0VBQ0EsTUFBQTtFQUNBLE9BQUE7RUFDQSxXQUFBLEVBQUEsTUFBQTtFQUNBLFdBQUE7RUFDQSxZQUFBO0EzR3dsWkg7QTJHdGxaRyw2Q0FBQSxNQUFBO0VBQ0Msa0JBQUE7RUFDQSxNQUFBO0VBQ0EsUUFBQTtFQUNBLFNBQUE7RUFDQSxPQUFBO0VBQ0Esd0NBQUEsRUFBQSxNQUFBO0VBQ0EsVUFBQTtFQUNBLFdBQUE7QTNHd2xaSjs7QTJHcGxaRyxpQ0FBQSxNQUFBO0VBQ0MsV0FBQTtFQUNBLFlBQUE7RUFDQSxvQkFBQTtLQUFBLGlCQUFBO0VBQ0EsaUJBQUEsRUFBQSxNQUFBO0VBQ0Esc0JBQUEsRUFBQSxNQUFBO0VBQ0EsYUFBQSxFQUFBLE1BQUE7QTNHdWxaSjtBMkd0bFpJO0VBUEQsaUNBT2tELE1BQUE7SUFDaEQsY0FBQTtFM0d5bFpIO0FBQ0Y7O0EyR3RsWkU7RUFDQyxrQkFBQTtFQUNBLE1BQUE7RUFDQSxTQUFBO0VBQ0EsMkJBQUE7RUFDQSxvQkFBQTtBM0d5bFpIOztBMkd0bFpDOzs7RUFBQTtBQUtBO0VBQ0MsYUFBQTtFQUNBLHNCQUFBO0VBQ0EsWUFBQSxFQUFBLE1BQUE7RUFDQSxnQkFBQSxFQUFBLE1BQUE7QTNHd2xaRjs7QTJHcmxaRTtFQUNDLGVBQUE7RUFDQSxpQkFBQTtFQUNBLGdCeEY1SWtCO0V3RjZJbEIsa0JBQUE7RXpHOUxGLG9CQUFBO0VBQ0EscUJ5RzhMc0I7RXpHNUx0Qiw4QkFBQSxFQUFBLE1BQUE7RUFDQSw0QkFBQTtFQUNBLGdCQUFBO0FGc3haRDs7QTJHemxaRTtFQUNDLGFBQUE7RUFDQSxlQUFBO0VBQ0EsZUFBQTtFQUNBLGlCQUFBO0VBQ0Esa0JBQUE7QTNHNGxaSDs7QTJHemxaRztFQUNDLGFBQUE7RUFDQSxtQkFBQTtBM0c0bFpKO0EyRzFsWkk7RUFDQyxXQUFBO0VBQ0EsWUFBQTtFQUNBLGlCQUFBO0EzRzRsWkw7O0EyR3hsWkk7RUFDQyxnQkFBQTtBM0cybFpMOztBMkd4bFpLO0VBQ0MsZ0J4RnpLZTtBbkJvd1pyQjs7QTJHeGxaRztFQUNDLGdCQUFBO0EzRzJsWko7O0EyR3hsWkU7Ozs7Ozs7O0VBQUE7QUFVQTtFQUNDLGFBQUE7RUFDQSxlQUFBO0VBQ0EsZ0JBQUE7RUFDQSxvQkFBQSxFQUFBLE1BQUEsRUFBQSxNQUFBO0EzRzBsWkg7O0EyR3ZsWkU7RUFDQyxzQkFBQTtFQUNBLHVCQUFBO0EzRzBsWkg7O0EyR3ZsWkc7Ozs7Ozs7O0VBQUE7QUFVQTtFQUNDLGFBQUE7RUFDQSxtQkFBQTtFQUNBLGNBQUE7RUFDQSxtQkFBQSxFQUFBLE1BQUE7RUFDQSxlQUFBO0VBQ0EsaUJBQUE7RUFDQSx5QkFBQTtFQUNBLGN4R2xSTztFd0dtUlAsbUJBQUE7RUFDQSxlQUFBLEVBQUEsTUFBQTtFQUNBLG1CQUFBLEVBQUEsTUFBQTtFQUNBLGdCQUFBLEVBQUEsTUFBQTtFQUNBLHVCQUFBLEVBQUEsTUFBQTtBM0d5bFpKOztBMkd0bFpJO0VBQ0MsY0FBQTtBM0d5bFpMOztBMkd0bFpFOztFQUFBO0FBSUE7RUFDQyxpQkFBQSxFQUFBLE1BQUE7RUFDQSw2QkFBQSxFQUFBLE1BQUE7QTNHd2xaSDtBMkd0bFpHO0VBQ0MsZUFBQTtFQUNBLGlCQUFBO0VBQ0EsY3hHelNPO0V3RzBTUCxtQnhHek9lO0VEeERsQixvQkFBQTtFQUNBLHFCeUdpU3VCO0V6Ry9SdkIsOEJBQUEsRUFBQSxNQUFBO0VBQ0EsNEJBQUE7RUFDQSxnQkFBQTtBRnkzWkQ7O0EyR3hsWkU7RUFDQyxnQkFBQTtBM0cybFpIOztBMkd4bFpHOzs7Ozs7RUFBQTtBQVFBO0VBQ0MsV0FBQTtFQUNBLHdCQUFBLEVBQUEsTUFBQTtFQUNBLGdCQUFBO0EzRzBsWko7O0EyR3ZsWkc7Ozs7OztFQUFBO0FyRi9LSztFcUZzTEw7SUFFRSxnQnhHelFjLEV3R3lRa0IsTUFBQTtFM0cwbFpuQztBQUNGO0EyRzdsWkc7RUFJQyxtQkFBQSxFQUFBLE1BQUE7QTNHNGxaSjs7QTRHejhaQTs7eUNBQUE7QUFJQTs7Ozs7RUFBQTtBQU9BO0VBQ0MsYUFBQTtFQUNBLGVBQUE7RUFDQSxnQnpGNkVvQjtFeUY1RXBCLGVBQUE7QTVHMDhaRDtBc0J0eVpRO0VzRmxLUDtJQUVFLHNCQUFBO0U1RzA4WkQ7QUFDRjs7QTRHdDhaQztFQUNDLGFBQUE7RUFDQSx3QkFBQTtPQUFBLG1CQUFBO0VBQ0EsbUJBQUE7RUFDQSxnQnpGK0RtQjtBbkIwNFpyQjtBNEd2OFpFO0VBQ0MsV0FBQTtFQUNBLFlBQUE7RUFDQSxpQkFBQTtBNUd5OFpIOztBNEdyOFpFO0VBQ0MsbUJ6Rm1Eb0I7QW5CcTVadkI7O0E0R3I4WkM7RUFDQyxhQUFBO0E1R3c4WkY7QTRHdjhaRTtFQUNDLGlCQUFBO0E1R3k4Wkg7QXNCbDBaUTtFc0YxSVA7SUFPRSxnQkFBQTtFNUd5OFpEO0FBQ0Y7QXNCdjBaUTtFc0YxSVA7SUFVRSxpQkFBQTtFNUcyOFpEO0FBQ0Y7O0E0R3g4WkM7RUFDQyxlQUFBO0VBQ0EsZ0JBQUE7RUFDQSxjQUFBO0VBQ0EsZ0JBQUE7QTVHMjhaRjs7QTZHdGdhQTs7eUNBQUE7QUFHQTtFQUdDLG1CQUFBO0VBQ0EscUJBQUE7RUFDQSw0QkFBQTtFQUNBLGtCQUFBO0E3R3VnYUQ7QTZHdGdhQztFQUNDLFVBQUE7QTdHd2dhRjtBNkdwZ2FFO0VBQ0MsWUFBQTtBN0dzZ2FIO0E2R25nYUc7RUFDQyxTQUFBO0VBQ0EsWUFBQTtBN0dxZ2FKO0E2R2xnYUU7RUFDQyxZQUFBO0VBQ0EsaUJBQUE7RUFDQSxnQkFBQTtFQUNBLGFBQUE7QTdHb2dhSDs7QTZHNy9aRTtFQUREO0lBRUUsZ0JBQUE7SUFDQSxpQkFBQTtJQUNBLGtCQUFBO0U3R2lnYUQ7QUFDRjtBNkd2Z2FBO0VBUUU7SUFDQyxZQUFBO0U3R2tnYUQ7RTZHaGdhQTtJQUNDLFVBQUE7RTdHa2dhRDtFNkcvL1pDO0lBQ0MsU0FBQTtJQUNBLFlBQUE7RTdHaWdhRjtFNkc5L1pBO0lBQ0MsWUFBQTtJQUNBLGlCQUFBO0lBQ0EsZ0JBQUE7SUFDQSxhQUFBO0U3R2dnYUQ7QUFDRjtBNkc3L1pDO0VBQ0MsVUFBQTtFQUdBLHdCQUFBO0VBQ0Esa0JBQUE7QTdHNi9aRjs7QTZHMS9aQztFQUNDLGtCQUFBO0VBQ0EsTUFBQTtFQUNBLE9BQUE7RUFDQSxXQUFBO0VBQ0EsYUFBQTtFQUNBLGlGQUFBO0VBQ0EsMkJBQUE7QTdHNi9aRjs7QTZHMS9aQztFQUNDLGtCQUFBO0VBQ0EsV0FBQTtFQUNBLFdBQUE7RUFDQSw0QkFBQTtFQUNBLGFBQUE7QTdHNi9aRjs7QTZHMS9aRTtFQUNDLGdCQUFBO0VBQ0EsU0FBQTtBN0c2L1pIOztBNkcxL1pDO0VBQ0MsU0FBQTtFQUNBLFdBQUE7RUFDQSxTQUFBO0VBQ0EsVUFBQTtBN0c2L1pGO0E2RzUvWkU7RTNHd0hELGNBQUE7RUFDQSxRQUFBO0VBQ0EsU0FBQTtFQUNBLFdBQUE7RUEwQkMsa0JBQUE7RUFDQSxVQUFBO0VBQ0EsU0FBQTtFQUNBLGtCQUFBO0VBQ0Esa0JBQUE7RUFDQSw2Q0FBQTtFQUNBLDJCQUFBO0UyR3pKQyxVQUFBO0VBQ0Esc0RBQUE7QTdHd2dhSDs7QTZHcGdhQztFQUNDLFVBQUE7RUFFQSxhQUFBO0VBQ0EsYUFBQTtFQUNBLHlCQUFBO0VBQ0EsZ0JBQUE7RUFHQSxlQUFBO0VBQ0Esc0RBQUE7QTdHb2dhRjtBNkdsZ2FFO0VBQ0MsZUFBQTtBN0dvZ2FIOztBNkdoZ2FFO0VBQ0MsbUJBQUE7QTdHbWdhSDs7QTZHaGdhRTtFQUNDLGVBQUE7RUFDQSxjdEREaUI7QXZEb2dhcEI7O0E2R2hnYUE7O0VBQUE7QUFHQTtFQUNDLHFCQUFBO0VBQ0Esc0JBQUE7QTdHbWdhRDs7QTZHaGdhQTtFQUNDO0lBQ0Msa0JBQUE7SUFDQSxTQUFBO0U3R21nYUE7QUFDRjtBNkdoZ2FBO0VBQ0Msa0JBQUE7RUFDQSxnQ0FBQTtFQUNBLFdBQUE7RUFDQSxjQUFBO0VBQ0EsWUFBQTtFQUNBLDJFQUFBO0VBQ0EsNEJBQUE7QTdHa2dhRDtBNkdqZ2FDO0VBQ0MsZUFBQTtBN0dtZ2FGOztBNkdoZ2FBO0VBQ0MsV0FBQTtFQUNBLDJCQUFBO0E3R21nYUQ7QTZHbGdhQztFQUNDLDRCQUFBO0E3R29nYUY7O0E2R2pnYUE7RUFDQyxXQUFBO0VBQ0EsK0JBQUE7QTdHb2dhRDtBNkduZ2FDO0VBQ0MsZ0NBQUE7QTdHcWdhRjs7QTZHbGdhQTtFQUNDLFdBQUE7RUFDQSxnQ0FBQTtBN0dxZ2FEO0E2R3BnYUM7RUFDQyxpQ0FBQTtBN0dzZ2FGOztBNkduZ2FBO0VBQ0MsV0FBQTtFQUNBLGdDQUFBO0E3R3NnYUQ7QTZHcmdhQztFQUNDLGlDQUFBO0E3R3VnYUY7O0E2R3BnYUE7RUFDQyxXQUFBO0VBQ0EsZ0NBQUE7QTdHdWdhRDtBNkd0Z2FDO0VBQ0MsaUNBQUE7QTdHd2dhRjs7QTZHcmdhQTtFQUNDLFdBQUE7RUFDQSxnQ0FBQTtBN0d3Z2FEO0E2R3ZnYUM7RUFDQyxpQ0FBQTtBN0d5Z2FGOztBNkd0Z2FBO0VBQ0MsV0FBQTtFQUNBLGdDQUFBO0E3R3lnYUQ7QTZHeGdhQztFQUNDLGlDQUFBO0E3RzBnYUY7O0E2R3ZnYUE7RUFDQyxXQUFBO0VBQ0EsZ0NBQUE7QTdHMGdhRDtBNkd6Z2FDO0VBQ0MsaUNBQUE7QTdHMmdhRjs7QTZHeGdhQTtFQUNDLFdBQUE7RUFDQSxnQ0FBQTtBN0cyZ2FEO0E2RzFnYUM7RUFDQyxpQ0FBQTtBN0c0Z2FGOztBNkd6Z2FBO0VBQ0MsWUFBQTtFQUNBLGdDQUFBO0E3RzRnYUQ7QTZHM2dhQztFQUNDLGlDQUFBO0E3RzZnYUY7O0E2RzFnYUE7RUFDQyxnQjFHbElrQjtFMEdtSWxCLGExR25Ja0I7RTBHb0lsQixlQUFBO0VBQ0EsbUJBQUE7RUFDQSxjQUFBO0VBQ0EsZUFBQTtFQUNBLGdCQUFBO0E3RzZnYUQ7O0E2R3pnYUM7RTNHckJBLGNBQUE7RUFDQSxRQUFBO0VBQ0EsU0FBQTtFQUNBLFdBQUE7RUFpQkMsa0JBQUE7RUFDQSxTQUFBO0VBQ0EsU0FBQTtFQUNBLGtCQUFBO0VBQ0Esa0JBQUE7RUFDQSw2Q0FBQTtFQUNBLDJCQUFBO0FGa2hhRjs7QThHcndhQTs7Ozs7O3lDQUFBO0FBU0M7RUFERDtJQUVFLGNBQUE7SUFDQSxrQkFBQTtJQUNBLHNCQUFBO0U5R3V3YUE7QUFDRjs7QThHcHdhQzs7RUFBQTtBQUdBO0VBQ0MscUJBQUE7RUFDQSxhQUFBO0VBQ0EscUJBQUE7RUFDQSxlQUFBO0VBQ0EseUIzRnlETTtFMkZ4RE4sYzNHMEVnQjtBSDZyYWxCO0E4R3R3YUU7RUFDQyxjM0d3RWUsRTJHeEVVLE1BQUE7QTlHd3dhNUI7QThHdHdhRTtFQVZEO0lBV0Usa0JBQUE7RTlHeXdhRDtBQUNGO0E4R3h3YUU7RUFiRDtJQWNFLGlCQUFBO0U5RzJ3YUQ7QUFDRjtBOEcxd2FFO0VBaEJEO0lBaUJFLGlCQUFBO0lBQ0EsWUFBQTtJQUNBLGVBQUE7RTlHNndhRDtBQUNGOztBOEczd2FDO0VBRUMsZUFBQTtFQUNBLHlCQUFBO0VBQ0EsbUJBQUE7RUFDQSxTQUFBO0E5RzZ3YUY7QThHNXdhRTtFQU5EO0lBT0UscUJBQUE7SUFDQSxlQUFBO0lBQ0EsZUFBQTtJQUNBLHNCQUFBO0U5Ryt3YUQ7QUFDRjs7QThHNXdhQTtFQUNDLDZCQUFBO0VBQ0EsU0FBQTtBOUcrd2FEOztBOEd4d2FBOztFQUFBO0FBSUE7RUFDQyxnQkFBQSxFQUFBLE1BQUE7QTlHMHdhRDs7QThHdndhQzs7OztFQUFBO0F4RmdITztFd0YxR1A7SUFFRSxrQkFBQTtJQUNBLFNBQUE7SUFDQSwyQkFBQTtJQUNBLGdCQUFBO0lBQ0Esb0JBQUE7SUFDQSxxQkFBQTtFOUd5d2FEO0FBQ0Y7QXNCdnFhUTtFd0YxR1A7SUFVRSxrQkFBQTtJQUNBLFFBQUE7SUFDQSxRQUFBO0lBQ0EsMkJBQUE7SUFDQSxZQUFBO0U5RzJ3YUQ7QUFDRjs7QThHeHdhQTs7eUNBQUE7QUFJQTtFQUNDLGdCM0ZWb0I7RTJGV3BCLGlCM0dPMkI7RTJHTjNCLGUzR3dDZ0I7QUhrdWFqQjs7QThHdndhQTtFQUNDLGFBQUE7RUFDQSxlQUFBO0VBQ0Esa0JBQUE7RUFDQSx1QkFBQTtBOUcwd2FEO0E4R3h3YUM7RUFORDtJQU9FLG9CM0dmaUI7STJHZ0JqQixtQjNHTDBCO0VIZ3hhMUI7QUFDRjs7QThHeHdhQTtFQUNDLG1DQUFBO0E5RzJ3YUQ7QThHMXdhQztFQUNDLGlCQUFBO0VBQ0Esa0JBQUE7QTlHNHdhRjtBOEd6d2FDO0VBQ0MsYUFBQTtFQUNBLHVCQUFBO0VBQ0EscUJBQUE7RUFDQSxnQjNHdEJ3QjtBSGl5YTFCO0E4R3h3YUM7RUFDQyxhQUFBO0E5RzB3YUY7QThHdndhQztFQUNDLGNBQUE7RUFDQSxVQUFBO0VBQ0EsV0FBQTtFQUNBLHlCQUFBO0VBQ0EsYUFBQTtFQUNBLG9CQUFBO0E5R3l3YUY7QThHdHdhQztFQUNDLHlCQUFBO0VBQ0EsWUFBQTtBOUd3d2FGOztBOEdwd2FBO0VBQ0Msa0IzR25CZTtFMkdvQmYsbUJBQUE7RUFDQSxZQUFBO0VBQ0Esa0JBQUE7RUFDQSx5QjNGM0VPO0UyRjRFUCx5Q0FBQTtBOUd1d2FEO0FzQmp2YVE7RXdGNUJSO0lBU0UsZ0JBQUE7RTlHd3dhQTtBQUNGOztBOEdyd2FBO0VBQ0MsYUFBQTtFQUNBLHFCQUFBO0VBQ0EsMEJBQUE7RUFDQSxhQUFBO0VBQ0EsV0FBQTtFQUNBLHNCQUFBO0VBQ0EsNEJBQUE7QTlHd3dhRDs7QThHcndhQTtFQUNDLGdCM0ZwRm9CO0UyRnFGcEIsZUFBQTtFQUNBLGlCM0cvRWtCO0UyR2dGbEIsZ0JBQUE7RUFDQSxjM0ZsR087RTJGbUdQLG9CQUFBO0VBQ0EsMENBQUE7QTlHd3dhRDs7QThHcndhQTtFQUNDLGFBQUE7RUFDQSxzQkFBQTtFQUNBLHVCQUFBO0VBQ0EsYTNHakZ5QjtBSHkxYTFCO0E4R3R3YUM7RUFDQyxvQkFBQTtFQUNBLHFCQUFBO0VBQ0EsNEJBQUE7RUFDQSxnQkFBQTtBOUd3d2FGO0FzQnZ4YVE7RXdGV1A7SUFPRSxvQkFBQTtJQUNBLHFCQUFBO0lBQ0EsNEJBQUE7SUFDQSxnQkFBQTtFOUd5d2FEO0FBQ0Y7O0E4R3J3YUE7RUFDQyxlQUFBO0VBQ0EsaUJBQUE7RUFDQSxjM0c5S1U7QUhzN2FYOztBOEdyd2FBO0VBQ0MsZTNHbkhnQjtFMkdvSGhCLGlCM0duSGtCO0UyR29IbEIsYzNHbkhpQjtFMkdvSGpCLGdCQUFBO0VBQ0EsV0FBQTtBOUd3d2FEOztBK0doK2FBOzt5Q0FBQTtBQ0FBOzt5Q0FBQTtBQU1BOztFQUFBO0FBSUE7RUFDQyxhQUFBO0VBQ0EsV0FBQTtBaEhrK2FEOztBZ0gvOWFBOztFQUFBO0FBSUE7RUFDQyxrQkFBQTtFQUNBLGFBQUE7RUFDQSxzQkFBQTtFQUNBLDhCQUFBO0VBR0EsZ0I3R3dFa0I7QUh1NWFuQjtBZ0g5OWFDO0VBQ0MsV0FBQTtBaEhnK2FGO0FnSDk5YUM7RUFYRDtJQVlFLGlCQUFBO0VoSGkrYUE7QUFDRjtBZ0hqOWFDOzs7Ozs7Ozs7OztFQUFBO0FBc0JBO0VBQ0M7SUFDQyxVQUFBO0VoSHk4YUQ7RWdIdjhhQTtJQUNDLFVBQUE7RWhIeThhRDtFZ0h2OGFBO0lBQ0MsVUFBQTtFaEh5OGFEO0VnSHY4YUE7SUFDQyxVQUFBO0VoSHk4YUQ7RWdIdjhhQTtJQUNDLFVBQUE7RWhIeThhRDtBQUNGO0FnSHQ4YUM7RUFDQyxrQkFBQTtBaEh3OGFGO0FnSHY4YUU7RUFGRDtJQUdFLGtCQUFBO0lBQ0EsU0FBQTtJQUNBLFNBQUE7SUFDQSxZQUFBO0lBQ0EsYUFBQTtJQUNBLDJCQUFBO0VoSDA4YUQ7QUFDRjtBZ0h4OGFFO0VBQ0Msa0JBQUE7RUFDQSxtQkFBQSxFQUFBLE1BQUE7QWhIMDhhSDtBZ0h6OGFHLHNDQUFBLE1BQUE7RUFDQyx1Q0FBQTtFQUNBLG1DQUFBO0VBQ0EsdUJBQUE7QWhIMjhhSjtBZ0h6OGFHO0VBUkQ7SUFTRSxXQUFBLEVBQUEsTUFBQTtJQUNBLFlBQUE7SUFDQSxnQkFBQTtFaEg0OGFGO0VnSDM4YUU7SUFDQyxrQkFBQSxFQUFBLE1BQUE7SUFDQSxTQUFBLEVBQUEsTUFBQTtFaEg2OGFIO0FBQ0Y7QWdIMzhhRztFQWpCRDtJQWtCRSxhQUFBLEVBQUEsTUFBQTtJQUNBLFVBQUEsRUFBQSxNQUFBO0lBQ0Esa0JBQUE7RWhIODhhRjtBQUNGO0FnSG4rYUU7RUF1QkM7Ozs7Ozs7Ozs7OztJQUFBO0FoSDI5YUg7QWdINThhSTtFQUNDLHNCQUFBO0FoSDg4YUw7QWdILzhhSTtFQUNDLG9CQUFBO0FoSGk5YUw7QWdIbDlhSTtFQUNDLHNCQUFBO0FoSG85YUw7QWdIcjlhSTtFQUNDLG9CQUFBO0FoSHU5YUw7QWdIeDlhSTtFQUNDLHFCQUFBO0FoSDA5YUw7QWdIMzlhSTtFQUNDLG1CQUFBO0FoSDY5YUw7QWdIOTlhSTtFQUNDLHFCQUFBO0FoSGcrYUw7QWdIaithSTtFQUNDLG1CQUFBO0FoSG0rYUw7O0FnSDc5YUU7O0VBQUE7QUFhQztFQUNDO0lBQ0MsVUFBQTtFaEhzOWFIO0VnSHA5YUU7SUFDQyxVQUFBO0VoSHM5YUg7RWdIcDlhRTtJQUNDLFVBQUE7RWhIczlhSDtFZ0hwOWFFO0lBQ0MsVUFBQTtFaEhzOWFIO0VnSHA5YUU7SUFDQyxVQUFBO0VoSHM5YUg7QUFDRjtBZ0huOWFHOzs7O0VBQUE7QUFRQztFQUNDLGVBQUEsRUFBQSxNQUFBO0VBRUEsbUNBQUE7RUFDQSx1QkFBQTtBaEhpOWFMO0FnSDc4YUs7RUFDQyxxQkFBQTtBaEgrOGFOO0FnSGg5YUs7RUFDQyxtQkFBQTtBaEhrOWFOO0FnSG45YUs7RUFDQyxxQkFBQTtBaEhxOWFOO0FnSHQ5YUs7RUFDQyxtQkFBQTtBaEh3OWFOOztBZ0hsOWFDOzs7OztFQUFBO0FBT0E7RUFDQyxrQkFBQTtBaEhvOWFGO0FnSG45YUU7RUFGRDtJQUdFLG9CQUFBLEVBQUEsTUFBQTtJQUNBLGtCQUFBO0VoSHM5YUQ7QUFDRjtBZ0hyOWFFO0VBTkQ7SUFPRSxvQkFBQTtJQUNBLFVBQUE7RWhIdzlhRDtBQUNGO0FnSHY5YUU7RUFWRDtJQVdFLG9CQUFBO0lBQ0EsVUFBQTtFaEgwOWFEO0FBQ0Y7O0FnSHY5YUU7Ozs7O0VBQUE7QUFPQTtFQUNDLG1CQUFBLEVBQUEsTUFBQTtFQUNBLGdCN0YzSWtCO0FuQm9tYnJCO0FnSHg5YUc7RUFIRDtJQUlFLGVBQUE7SUFDQSxnQkFBQSxFQUFBLE1BQUE7RWhIMjlhRjtBQUNGOztBZ0h4OWFFO0VBQ0MsV0FBQTtFQUNBLGVBQUE7QWhIMjlhSDtBZ0gxOWFHO0VBSEQ7SUFJRSxXQUFBO0lBQ0EsZUFBQTtFaEg2OWFGO0FBQ0Y7O0FnSDE5YUU7RUFDQyxnQkFBQTtBaEg2OWFIO0FnSDU5YUc7RUFGRDtJQUdFLGFBQUE7RWhIKzlhRjtBQUNGOztBZ0g1OWFDO0VBQ0MsYUFBQTtBaEgrOWFGO0FnSDk5YUU7RUFGRDtJQUdFLGNBQUE7RWhIaSthRDtBQUNGOztBZ0g5OWFDOztFQUFBO0FBSUE7RUFDQyxrQkFBQTtFQUNBLG1CQUFBO0FoSGcrYUY7O0FnSDc5YUU7OztFQUFBO0FBS0E7RUFDQyxrQkFBQTtFQUNBLFVBQUE7RUFDQSxRQUFBLEVBQUEsTUFBQTtFQUNBLDJCQUFBLEVBQUEsTUFBQTtFQUNBLFdBQUE7RUFDQSxZQUFBO0VBQ0EsZ0NBQUE7QWhIKzlhSDtBZ0g5OWFHO0VBQ0MsYzdHbFJTO0FIa3ZiYjs7QWdINTlhRTs7OztFQUFBO0FBTUE7RUFDQyxZQUFBO0VBQ0EsZUFBQTtFQUNBLGtCQUFBO0VBQ0EseUJBQUE7RUFFQSwwQ0FBQTtFQUNBLFNBQUE7QWhINjlhSDtBZ0g1OWFHO0VBQ0MsMENBQUE7QWhIODlhSjtBZ0g1OWFHO0VBQ0MsNEJBQUE7QWhIODlhSjtBZ0gvOWFHO0VBQ0MsNEJBQUE7QWhIODlhSjs7QWdIMTlhRTtFQUNDLGtCQUFBO0VBQ0EsVWpDelMwQjtFaUMwUzFCLFFBQUE7RUFDQSwyQkFBQTtFQUNBLFlBQUE7RUFDQSxXQUFBO0VBQ0Esb0JBQUE7RUFDQSw4RjdHMUVjO0FIdWliakI7O0FnSDE5YUU7O0VBQUE7QUFJQTtFQUNDLGtCQUFBO0VBQ0EsUUFBQSxFQUFBLE1BQUE7RUFDQSwyQkFBQSxFQUFBLE1BQUE7RUFDQSxXQUFBO0VBQ0EsZ0JBQUE7QWhINDlhSDs7QWdIejlhQTs7RUFBQTtBQUlBO0VBQ0MsbUJBQUE7RUFDQSw2QkFBQTtFQUNBLGE3R2pQa0I7QUg0c2JuQjtBZ0gxOWFDO0VBSkQ7SUFLRSxhQUFBO0VoSDY5YUE7QUFDRjs7QWdIMTlhQzs7O0VBQUE7QUFLQTtFQUNDLGtCQUFBO0FoSDQ5YUY7O0FnSHo5YUU7RUFDQyxZQUFBO0VBQ0EsZUFBQTtFQUVBLDBDQUFBO0FoSDI5YUg7O0FnSHg5YUc7RUFDQyxrQkFBQTtFQUNBLFVBQUE7RUFDQSxRQUFBO0VBQ0EsMkJBQUE7RUFDQSxZQUFBO0FoSDI5YUo7O0FnSHg5YUc7RUFDQyxrQkFBQTtFQUNBLFdBQUE7RUFDQSxRQUFBO0VBQ0EsMkJBQUE7RUFDQSw4RjdHbklhO0FIOGxiakI7O0FnSHg5YUE7O3lDQUFBO0FBSUE7OztFQUFBO0FBS0E7RUFDQyxlQUFBO0FoSHk5YUQ7O0FnSHQ5YUE7RUFDQyx5QjdHNVRZO0FIcXhiYjs7QWdIdDlhQTtFQUNDLGdCQUFBO0VBQ0EsY0FBQTtFQUNBLGtCQUFBO0FoSHk5YUQ7O0FnSHQ5YUE7O3lDQUFBO0FBSUE7Ozs7Ozs7OztFQUFBO0FBV0E7RUFLQyxhQUFBLEVBQUEsTUFBQTtFQUNBLGtCQUFBO0VBQ0EsZ0JBQUE7QWhIbTlhRDtBZ0hsOWFDLGtDQUFBLE1BQUE7RUFDQyxXQUFBO0VBQ0EseUI3RzlWVztFNkcrVlgsYUFBQTtFQUNBLGtCQUFBO0VBQ0EsU0FBQTtFQUNBLE9BQUE7RUFDQSxRQUFBO0FoSG85YUY7QWdIbDlhQyxpQ0FBQSxNQUFBO0VBQ0MsV0FBQTtFQUNBLGNBQUEsRUFBQSxNQUFBO0VBQ0Esc0ZBQUE7RUFDQSxxQkFBQTtFQUNBLDJCQUFBO0VBQ0EsMEJBQUE7RUFDQSxhQUFBO0VBQ0EsYUFBQTtFQUNBLHlEQUFBO0FoSG85YUY7O0FnSGg5YUE7Ozs7RUFBQTtBQU1BO0VBQ0M7SUFDQyx3QkFBQTtFaEhrOWFBO0VnSGg5YUQ7SUFDQyw4QkFBQSxFQUFBLE1BQUE7RWhIazlhQTtBQUNGO0FnSC84YUE7RUFDQyxhQUFBO0VBQ0Esc0ZBQUE7RUFDQSx3QkFBQTtFQUNBLDRCQUFBO0VBQ0EsMkJBQUE7QWhIaTlhRDs7QWdIOThhQTs7eUNBQUE7QUFJQTs7OztFQUFBO0FBUUE7RUFDQyxpQkFBQTtFQUNBLG9CQUFBO0VBQ0EseUI3R3haWTtBSHEyYmI7QWdIMzhhQztFQUNDLGE3R3BZaUI7QUhpMWJuQjtBZ0gxOGFFO0VBQ0MsY0FBQTtBaEg0OGFIO0FzQm53YlE7RTBGc1ROO0lBR0UsY0FBQTtFaEg4OGFGO0FBQ0Y7O0FnSDE4YUM7RUFDQyxrQkFBQTtBaEg2OGFGO0FnSDU4YUU7RUFDQyw4QkF0Qm9CO0FoSG8rYXZCO0FnSDE4YUc7RUFDQyxhekQzWGdCO0F2RHUwYnBCO0FnSHg4YUc7RUFDQyxhQUFBO0FoSDA4YUo7QWdIcjhhRztFQUNDLGF6RHRZZ0I7QXZENjBicEI7QWdIbjhhRztFQUNDLGFBQUE7QWhIcThhSjs7QWdIaDhhQzs7RUFBQTtBQUlBO0VBQ0Msa0JBQUE7RUFDQSxVQUFBLEVBQUEsTUFBQTtFQUNBLFVBQUE7RUFDQSx3Q0FBQTtFQUNBLFdBQUE7RUFDQSxZQUFBO0VBQ0EsY0FBQTtBaEhrOGFGO0FnSGo4YUU7RUFDQyx5Q0FBQTtBaEhtOGFIOztBZ0gvN2FDOztFQUVDLDhCQW5FcUI7QWhIcWdidkI7QWdIajhhRTs7RUFDQyxjekRyYWlCO0F2RHkyYnBCOztBZ0hoOGFBOzt5Q0FBQTtBQUlBO0VBQ0MsYUFBQTtFQUNBLGVBQUE7RUFDQSxtQkFBQTtFQUNBLDZCQUFBO0FoSGs4YUQ7O0FnSC83YUM7RUFDQyxhQUFBO0VBQ0EsZUFBQTtFQUNBLG1CQUFBO0VBQ0Esa0JBQUE7QWhIazhhRjtBc0JyMGJRO0UwRitYUDtJQU1FLGVBQUE7RWhIbzhhRDtBQUNGO0FnSG44YUU7RUFDQyxlQUFBO0FoSHE4YUg7QWdIbjhhRTtFQUNDLGdCQUFBO0FoSHE4YUg7O0FnSGo4YUE7O3lDQUFBO0ExRjFZUTtFMEZnWlI7SUFFRSxrQkFBQTtFaEhpOGFBO0VnSGg4YUE7SUFDQyxXQUFBO0lBQ0EsY0FBQTtJQUNBLHVGQUFBO0lBQ0EsNEJBQUE7SUFDQSwyQkFBQTtJQUNBLGtCQUFBO0lBQ0EsU0FBQTtJQUNBLFdBQUE7SUFDQSxhQUFBO0lBQ0EsYUFBQTtJQUNBLFdBQUE7RWhIazhhRDtBQUNGOztBZ0g5N2FBO0VBQ0MsYUFBQTtFQUNBLG1CQUFBO0VBQ0EsbUJBQUE7QWhIaThhRDs7QWdIOTdhQzs7RUFBQTtBQUlBO0VBQ0Msa0JBQUE7QWhIZzhhRjtBc0JuM2JRO0UwRmtiUDtJQU1FLG1CQUFBO0VoSCs3YUQ7QUFDRjs7QWdINTdhQztFQUNDLGtCQUFBO0VBQ0EsY0FBQTtBaEgrN2FGOztBZ0g1N2FDO0VBQ0Msa0JBQUE7QWhIKzdhRjs7QWdINTdhQTs7eUNBQUE7QUFJQTs7RUFBQTtBQUlBO0VBQ0MsZ0JBQUEsRUFBQSxNQUFBO0VBQ0Esa0JBQUE7RUFDQSxtQkFBQTtBaEg2N2FEOztBZ0gxN2FBO0VBQ0Msa0JBQUE7RUFDQSxtQjdHdGlCa0I7QUhtK2JuQjs7QWdIMTdhQTs7O0VBQUE7QUFLQTtFQUNDLGFBQUE7RUFDQSxlQUFBO0VBQ0EsZUFBQTtFQUVBLG1CQUFBO0VBQ0Esa0JBQUEsRUFBQSxNQUFBO0VBQ0EsbUJBQUE7QWhIMjdhRDtBc0IvNWJRO0UwRjZkUjtJQVNFLGtCQUFBLEVBQUEsTUFBQTtFaEg2N2FBO0FBQ0Y7O0FnSDE3YUM7O0VBRUMsa0JBQUE7RUFDQSxXQUFBO0VBQ0EsWUFBQTtFQUNBLGFBQUE7QWhINjdhRjtBZ0g1N2FFOzs7O0VBR0MsWUFBQTtFQUNBLGFBQUE7QWhIKzdhSDs7QWdIMzdhRTs7RUFBQTtBQUlBO0VBQ0MsV0FBQTtFQUNBLFFBQUEsRUFBQSxNQUFBO0VBQ0Esd0JBQUE7QWhINjdhSDtBc0J2N2JRO0UwRnVmTjtJQUtFLFFBQUE7RWhIKzdhRjtBQUNGO0FzQmo4YlE7RTBGNGZOO0lBUUUsV0FBQTtFaEhpOGFGO0FBQ0Y7O0FnSDk3YUU7RUFDQyxZQUFBO0VBQ0EsUUFBQSxFQUFBLE1BQUE7RUFDQSx5QkFBQTtBaEhpOGFIO0FzQnY4YlE7RTBGbWdCTjtJQUtFLFNBQUE7RWhIbThhRjtBQUNGO0FzQmo5YlE7RTBGd2dCTjtJQVFFLFlBQUE7RWhIcThhRjtBQUNGOztBZ0hsOGFDOzs7RUFBQTtBQUlBO0VBQ0MsaUJBQUE7QWhIcThhRjtBc0J6OWJRO0UwRnFoQk47SUFFRSxtQkFBQTtFaEhzOGFGO0FBQ0Y7QXNCOTliUTtFMEZxaEJOO0lBS0Usa0JBQUE7SUFDQSxtQkFBQTtFaEh3OGFGO0FBQ0Y7O0FnSHI4YUM7RUFDQyx1QkFBQTtFQUNBLHlCQUFBO0VBQ0EsYUFBQTtFQUNBLGtCN0d0bEJjO0U2R3VsQmQsaUJBQUE7RUFDQSxrQkFBQTtFQUNBLG1CQUFBO0FoSHc4YUY7QXNCOStiUTtFMEYraEJQO0lBV0UsYUFBQTtJQUNBLFlBQUE7RWhIdzhhRDtBQUNGO0FzQnAvYlE7RTBGK2hCUDtJQWdCRSxhQUFBO0lBQ0EsV0FBQTtFaEh5OGFEO0FBQ0Y7QXNCMS9iUTtFMEYraEJQO0lBcUJFLHNGQUFBO0lBQ0EsWUFBQTtFaEgwOGFEO0FBQ0Y7QWdIeDhhRTtFQUtDLGFBQUE7QWhIczhhSDtBZ0hsOGFHO0VBQ0MsMEJBQUE7QWhIbzhhSjtBZ0hoOGFJO0VBQ0MsMkJBQUE7QWhIazhhTDtBZ0g3N2FFO0VBQ0MsZUFBQTtFQUNBLGlCQUFBO0VBQ0EsY0FBQTtFQUNBLGdCQUFBO0FoSCs3YUg7QWdINTdhRTtFQUNDLGtCQUFBO0VBQ0EsVUFBQTtFQUNBLFNBQUE7RUFDQSxTQUFBO0VBQ0EsVUFBQTtFQUNBLGdCQUFBO0VBQ0EsU0FBQTtFQUNBLGVBQUE7QWhIODdhSDs7QWdIMTdhQztFQUNDLGtCQUFBO0VBQ0EsV0FBQTtFQUNBLFlBQUE7RUFDQSxlQUFBO0VBQ0EsZ0JBQUE7RUFDQSxrQkFBQTtFQUNBLDBCQUFBO0VBQ0EsNEJBQUE7QWhINjdhRjs7QWdIMTdhQztFQUNDLGtCQUFBO0VBQ0EsV0FBQTtFQUNBLFlBQUE7RUFDQSxlQUFBO0VBQ0EsZ0JBQUE7RUFDQSxnQkFBQTtFQUNBLDJCQUFBO0VBQ0Esa0JBQUE7RUFDQSxrQjdHdHFCYztBSG1tY2hCOztBZ0gxN2FDO0VBQ0MseUJBQUE7RUFDQSxjQUFBO0VBQ0EsZUFBQTtFQUNBLGtDQUFBO0VBQ0EsNEJBQUE7RUFDQSxzQkFBQTtFQUNBLGFBQUE7RUFDQSxzQkFBQTtFQUNBLHlCQUFBO0FoSDY3YUY7QWdIMzdhRTs7RUFFQyxjQUFBO0VBQ0EsZ0JBQUE7RUFDQSxTQUFBO0VBQ0EsVUFBQTtFQUNBLGlCQUFBO0VBQ0Esa0JBQUE7QWhINjdhSDtBZ0gxN2FFO0VBQ0MseUNBQUE7RUFDQSxlQUFBO0VBQ0EsZ0I3RjN1QmtCO0U2RjR1QmxCLGlCQUFBO0VBQ0Esa0JBQUE7QWhINDdhSDtBZ0h6N2FFO0VBQ0MsZUFBQTtFQUNBLGlCQUFBO0VBQ0EsbUJBQUE7QWhIMjdhSDs7QWdIeDdhQztFQUNDLGtGQUFBO0VBQ0Esa0I3RzlzQmM7RTZHK3NCZCxXQUFBO0VBQ0EsYUFBQTtFQUNBLHNCQUFBO0VBQ0EseUJBQUE7QWhIMjdhRjs7QWdIeDdhQztFQUNDLHlCQUFBO0VBQ0EsY0FBQSxFQUFBLDZGQUFBO0VBQ0EsMEJBQUE7QWhIMjdhRjtBZ0h6N2FFO0VBQ0MsZ0I3RnJ3QmtCO0U2RnN3QmxCLGVBQUE7RUFDQSxpQkFBQTtFQUNBLFVBQUE7RUFDQSxTQUFBO0VBQ0EsaUJBQUE7RUFDQSxrQkFBQTtFQUNBLGtCQUFBO0FoSDI3YUg7QWdIeDdhRTtFQUNDLGN6RDd1QmlCO0V5RDh1QmpCLGVBQUE7RUFDQSxpQkFBQTtBaEgwN2FIO0FnSHg3YUc7RUFDQyxjQUFBO0VBQ0EsY3pEbnZCZ0I7RXlEb3ZCaEIsZUFBQTtFQUNBLGdCN0Z4eEJpQjtFNkZ5eEJqQixpQkFBQTtFQUNBLGVBQUE7RUFDQSxrQkFBQTtBaEgwN2FKOztBZ0hyN2FDO0VBQ0MsYUFBQTtFQUNBLGlDQUFBO0VBQ0EsZ0JBQUE7RUFDQSxlQUFBO0VBQ0EseUJBQUE7QWhIdzdhRjs7QWdIcjdhQzs7O0VBQUE7QUFLQTtFQUNDLGtCQUFBO0VBQ0EsZ0JBQUE7RUFDQSxlQUFBO0VBQ0EsZ0JBQUE7RUFDQSxrQkFBQTtBaEh1N2FGO0FzQmpwY1E7RTBGcXRCUDtJQU9FLGtCQUFBLEVBQUEsTUFBQTtFaEh5N2FEO0FBQ0Y7O0FnSHQ3YUM7RUFDQyxtQkFBQTtBaEh5N2FGOztBZ0h0N2FDOzs7OztFQUFBO0FBTUE7RUFDQyxrQkFBQTtFQUNBLGFBQUE7RUFDQSxrQkFBQTtBaEh5N2FGO0FnSHY3YUU7RUFFQyxjQUFBO0FoSHc3YUg7QXNCenFjUTtFMEYwdUJQO0lBV0Usa0JBQUEsRUFBQSxNQUFBO0VoSHc3YUQ7QUFDRjs7QWdIcjdhRTtFQUNDLGtCQUFBO0VBR0EsZUFBQTtFQUNBLFlBQUE7QWhIczdhSDtBZ0hyN2FHO0VBQ0MsV0FBQTtFQUNBLGNBQUE7RUFDQSxrQkFBQTtFQUNBLE1BQUE7RUFDQSxXQUFBO0VBQ0EsWUFBQTtFQUNBLHVDQUFBO0FoSHU3YUo7O0FnSGo3YUc7RUFDQyxZQUFBO0VBQ0EsV0FBQTtBaEhvN2FKOztBZ0hqN2FFO0VBQ0MsY0FBQTtFQUNBLGtCQUFBO0VBQ0EsZ0JBQUE7RUFDQSxXQUFBO0VBQ0Esa0JBQUE7RUFDQSxRQUFBO0VBQ0EsMkJBQUE7QWhIbzdhSDs7QWdIajdhQzs7RUFFQyxXQUFBO0VBQ0EsWUFBQTtBaEhvN2FGOztBZ0hqN2FFO0VBQ0Msd0JBQUE7QWhIbzdhSDs7QWdIajdhRTtFQUNDLHlCQUFBO0FoSG83YUg7O0FpSDc0Y0E7O3lDQUFBO0FBSUE7O0VBQUE7QUFJQTtFQUNDLGFBQUE7RUFDQSxtQkFBQTtFQUNBLHlCQUFBO0VBQ0EsNkNBQUE7RUFDQSxtQjlHcUZrQjtFOEdwRmxCLGdCQUFBO0VBQ0EsTUFBQTtFQUNBLFVBQUEsRUFBQSxNQUFBO0FqSDg0Y0Q7QXNCM3VjUTtFMkYzS1I7SUFXRSxhQUFBO0VqSCs0Y0E7QUFDRjs7QWlINTRjQTs7eUNBQUE7QUFJQTs7Ozs7O0VBQUE7QUFRQTtFQUdDLG1COUc0RGtCO0U4RzNEbEIsZ0JBQUE7QWpIMjRjRDs7QWlIeDRjQTtFQUNDLGdCOUZnRG9CO0U4Ri9DcEIsa0JBQUE7QWpIMjRjRDs7QWlIeDRjQTtFQUNDLGFBQUE7RUFDQSxlQUFBO0VBQ0Esd0JBQUE7QWpIMjRjRDs7QWlIeDRjQztFQUNDLGNBQUE7QWpIMjRjRjs7QWlIeDRjQztFQUNDLGlCQUFBO0VBQ0Esa0I5R3VDaUI7QUhvMmNuQjs7QWtIdDhjQTs7eUNBQUE7QTVGbUxRO0U0RjNLUjtJQUVFLGFBQUE7RWxIbzhjQTtBQUNGOztBc0I1eGNRO0U0RnJLUjtJQUVFLGFBQUE7RWxIbzhjQTtBQUNGO0FzQmx5Y1E7RTRGcktSO0lBS0Usb0JBQUE7RWxIczhjQTtBQUNGOztBa0huOGNBO0VBQ0MscUJBQUE7RUFDQSxzQkFBQTtFQUNBLHdCQUFBO0VBQ0EsMkdBQUE7RUFDQSxxQkFBQTtBbEhzOGNEOztBa0huOGNBO0VBQ0MseUdBQUE7QWxIczhjRDs7QWtIbjhjQTtFQUNDLHNCQUFBO0VBQ0EsdUJBQUE7RUFDQSxrREFBQTtBbEhzOGNEO0FrSHI4Y0M7RUFDQyxzQkFBQTtBbEh1OGNGO0FrSHA4Y0M7RUFDQyx1QkFBQTtBbEhzOGNGOztBa0hsOGNBO0VBQ0Msb0JBQUE7RUFDQSxtQkFBQTtFQUNBLHFCQUFBO0VBQ0Esc0JBQUE7QWxIcThjRDs7QXNCdDBjUTtFNEY1SFI7SUFFRSxhQUFBO0VsSHE4Y0E7QUFDRjtBa0h4OGNBO0VBSUMsYUFBQTtFQUNBLG1CL0ZxQk87RStGcEJQLE1BQUE7RUFDQSxPQUFBO0VBQ0EsV0FBQTtFQUNBLFlBQUE7RUFDQSxVQUFBO0VBQ0EsZUFBQTtFQUNBLHFCQUFBO0VBQ0EsbUJBQUE7RUFDQSxjQUFBO0VBQ0EsbUJBQUE7RUFDQSwyRUFBQTtBbEh1OGNEOztBc0IzMWNRO0U0RnpHUDtJQUVFLG1CQUFBO0VsSHU4Y0Q7QUFDRjs7QWtIcDhjQztFQUNDLGVBQUE7RUFDQSxlL0dlZTtFK0dkZixpQi9HZWlCO0UrR2RqQiw0QkFBQTtBbEh1OGNGOztBa0hwOGNFO0VBQ0MsOEZBQUE7RUFDQSxtQkFBQTtFQUNBLHlCQUFBO0VBQ0EsaUJBQUE7QWxIdThjSDs7QWtIcDhjQTtFQUNDLG1CL0d2QmU7QUg4OWNoQjtBc0JuM2NRO0U0RnJGUjtJQUdFLGFBQUE7SUFDQSxrQkFBQTtJQUNBLFNBQUE7SUFDQSxVQUFBO0lBQ0EsV0FBQTtFbEh5OGNBO0FBQ0Y7QXNCNTNjUTtFNEZyRlI7SUFVRSxrQkFBQTtJQUNBLFdBQUE7SUFDQSxVQUFBO0lBQ0EsVUFBQTtFbEgyOGNBO0FBQ0Y7O0FrSHg4Y0M7RUFDQyxhQUFBO0VBQ0Esa0JBQUE7RUFDQSxTQUFBO0VBQ0EsVUFBQTtFQUNBLFdBQUE7QWxIMjhjRjs7QWtIeDhjQTtFQUNDLHFCQUFBO0VBQ0EsZS9HYjRCO0FIdzljN0I7O0FrSHg4Y0E7RUFDQyxrQkFBQTtFQUNBLFNBQUE7RUFDQSxXQUFBO0FsSDI4Y0Q7O0FrSHg4Y0E7RUFDQyxrQkFBQTtBbEgyOGNEOztBa0h4OGNBO0VBQ0Msb0JBQUE7S0FBQSxpQkFBQTtFQUNBLFdBQUE7QWxIMjhjRDtBc0JoNmNRO0U0RjdDUjtJQUlFLHlCQUFBO09BQUEsc0JBQUE7SUFDQSxhQUFBO0VsSDY4Y0E7QUFDRjtBc0J0NmNRO0U0RjdDUjtJQVNFLHlCQUFBO09BQUEsc0JBQUE7SUFDQSxpQkFBQTtFbEg4OGNBO0FBQ0Y7O0FrSDM4Y0E7RUFDQyxrQkFBQTtBbEg4OGNEO0FzQmg3Y1E7RTRGNUJOO0lBQ0Msa0JBQUE7SUFDQSxPQUFBO0lBQ0EsV0FBQTtJQUNBLFlBQUE7SUFDQSxXQUFBO0lBQ0EsaUZBQUE7RWxIKzhjRDtBQUNGOztBa0gzOGNBO0VBQ0MsbUIvRmxGTztFK0ZtRlAsa0IvRy9CZTtFK0dnQ2YsYS9HbkVrQjtBSGloZG5CO0FzQmg4Y1E7RTRGakJSO0lBS0Usa0JBQUE7SUFDQSw2QkFBQTtJQUNBLFVBQUE7SUFDQSxlQUFBO0VsSGc5Y0E7QUFDRjtBc0J4OGNRO0U0RmpCUjtJQVdFLGtCQUFBO0lBQ0EsWUFBQTtJQUNBLFlBQUE7SUFDQSx5Q0FBQTtFbEhrOWNBO0FBQ0Y7O0FzQmg5Y1E7RTRGQ1A7SUFFRSxrQkFBQTtJQUNBLFFBQUE7SUFDQSxPQUFBO0lBQ0EsUUFBQTtJQUNBLGlCQUFBO0lBQ0Esa0JBQUE7RWxIazljRDtBQUNGOztBa0gvOGNDO0VBQ0Msa0JBQUE7RUFDQSxlL0cvRmlCO0UrR2dHakIsaUJBQUE7RUFDQSxnQi9GeEdtQjtBbkIwamRyQjtBc0JsK2NRO0U0RllQO0lBTUUsa0JBQUE7SUFDQSxnQkFBQTtJQUNBLGdCQUFBO0lBQ0EsZS9HekRjO0krRzBEZCxjL0Z4SEs7SStGeUhMLGlCQUFBO0lBQ0EsMENBQUE7RWxIbzljRDtBQUNGOztBa0hqOWNDO0VBQ0MsaUIvRzlHaUI7RStHK0dqQixnQi9HL0dpQjtBSG1rZG5CO0FzQmwvY1E7RTRGNEJQO0lBSUUsZ0JBQUE7SUFDQSxtQi9HbEhnQjtFSHdrZGpCO0FBQ0Y7O0FrSG45Y0M7RUFDQyxpQkFBQTtFQUNBLGUvR3hIaUI7RStHeUhqQixnQi9GaEltQjtBbkJzbGRyQjs7QWtIbjljQztFQUNDLGFBQUE7QWxIczljRjs7QWtIbjljQTtFQUNDLFVBQUE7RUFDQSxlQUFBO0VBQ0EsU0FBQTtFQUNBLFdBQUE7RUFDQSxtQi9GdEpPO0UrRnVKUCwwQ0FBQTtFQUNBLFdBQUE7RUFDQSw4QkFBQTtBbEhzOWNEO0FzQjdnZFE7RTRGK0NSO0lBVUUsYUFBQTtFbEh3OWNBO0FBQ0Y7O0FrSHI5Y0M7RUFDQyxhQUFBO0VBQ0Esc0JBQUE7RUFDQSxnQi9HeEl3QjtBSGdtZDFCOztBa0hyOWNBO0VBQ0Msa0JBQUE7RUFDQSxlL0d0SmtCO0UrR3VKbEIsaUJBQUE7RUFDQSxnQi9GL0pvQjtFK0ZnS3BCLG1CQUFBO0FsSHc5Y0Q7QXNCaGlkUTtFNEZtRVI7SUFPRSxtQi9HM0ppQjtFSHFuZGpCO0FBQ0Y7O0FrSHY5Y0E7RUFDQyxvQkFBQTtBbEgwOWNEO0FzQnppZFE7RTRGOEVSO0lBR0Usb0IvR2xLaUI7RUg4bmRqQjtBQUNGOztBa0h6OWNBO0VBQ0MsY0FBQTtFQUNBLGtCQUFBO0VBQ0EsaUJBQUE7RUFDQSxXQUFBO0VBQ0EsWUFBQTtFQUNBLGdHQUFBO0VBQ0EsYy9HdFFZO0UrR3VRWixnQi9GckxvQjtFK0ZzTHBCLG9CQUFBO0FsSDQ5Y0Q7O0FrSHo5Y0E7RUFDQyxlQUFBO0VBQ0Esa0NBQUE7QWxINDljRDtBc0IvamRRO0U0RmlHUjtJQUlFLGVBQUE7RWxIODljQTtBQUNGOztBc0Jwa2RRO0U0RnlHUDtJQUVFLGVBQUE7RWxIODljRDtBQUNGOztBa0gzOWNDO0VBQ0MsbUIvRmxOTTtBbkJncmRSOztBa0gzOWNBO0VBQ0MsaUJBQUE7QWxIODljRDs7QXNCbGxkUTtFNEZ1SFI7SUFFRSx3QkFBQTtFbEg4OWNBO0FBQ0Y7O0FrSDM5Y0E7RUFDQyxjQUFBO0FsSDg5Y0Q7QXNCNWxkUTtFNEY2SFI7SUFHRSxpQkFBQTtFbEhnK2NBO0FBQ0Y7O0FzQmptZFE7RTRGb0lQO0lBRUUsYUFBQTtFbEhnK2NEO0FBQ0Y7O0FzQnZtZFE7RTRGMElQO0lBRUUsYUFBQTtFbEhnK2NEO0FBQ0Y7O0FzQjdtZFE7RTRGaUpQO0lBRUUsYUFBQTtFbEgrOWNEO0FBQ0Y7QXNCbm5kUTtFNEZpSlA7SUFLRSxhQUFBO0VsSGkrY0Q7QUFDRjs7QXNCeG5kUTtFNEYwSlA7SUFFRSxhQUFBO0VsSGkrY0Q7QUFDRjtBc0I5bmRRO0U0RjBKUDtJQUtFLGFBQUE7RWxIbStjRDtBQUNGOztBc0Jub2RRO0U0Rm1LUDtJQUVFLGFBQUE7SUFDQSx1QkFBQTtFbEhtK2NEO0VrSGwrY0M7SUFDQyxXQUFBO0VsSG8rY0Y7QUFDRjtBc0I3b2RRO0U0RjZLTDtJQUNDLG1CQUFBO0lBQ0EsYUFBQTtFbEhtK2NGO0FBQ0Y7O0FrSC85Y0E7RUFDQyxhQUFBO0VBQ0Esc0JBQUE7RUFDQSxrQkFBQTtFQUNBLGEvR2hReUI7RStHaVF6QixhQUFBO0VBQ0EsWUFBQTtFQUNBLHVDQUFBO0VBQ0Esc0JBQUE7RUFDQSx5Q0FBQTtFQUNBLGtCL0c1T2U7RStHNk9mLGlCQUFBO0VBQ0EsZS9HalJrQjtFK0drUmxCLGtCL0d6UXlCO0FIMnVkMUI7QXNCbnFkUTtFNEZvTFI7SUFlRSxhQUFBO0VsSG8rY0E7QUFDRjs7QWtIaitjQztFQUNDLGUvR3pSaUI7RStHMFJqQixpQkFBQTtBbEhvK2NGOztBa0hqK2NDO0VBQ0MsYUFBQTtFQUNBLGdCL0Z0U21CO0UrRnVTbkIsZUFBQTtFQUNBLGlCQUFBO0FsSG8rY0Y7O0FrSGorY0E7RUFDQyxZQUFBO0VBQ0EsYS9HdFNrQjtFK0d1U2xCLHlCQUFBO0VBQ0Esa0JBQUE7RUFDQSxrQi9HdFFlO0UrR3VRZix1Q0FBQTtFQUNBLHlDQUFBO0VBQ0Esa0IvR25TeUI7QUh1d2QxQjtBc0IvcmRRO0U0Rm1OUjtJQVVFLFlBQUE7SUFDQSxhQUFBO0VsSHMrY0E7QUFDRjs7QWtIbitjQztFQUNDLGUvR3BUaUI7RStHcVRqQixpQkFBQTtFQUNBLGdCL0Y3VG1CO0FuQm15ZHJCOztBa0huK2NDO0VBQ0MsYy9HelRnQjtFK0cwVGhCLGdCQUFBO0VBQ0EsU0FBQTtFQUNBLFdBQUE7RUFDQSw4QkFBQTtBbEhzK2NGO0FrSHIrY0U7RUFDQyxtQi9HdlR1QjtBSDh4ZDFCO0FrSHQrY0c7RUFDQyxnQkFBQTtBbEh3K2NKOztBa0hsK2NHO0VBQ0MsZ0dBQUE7RUFDQSxrQkFBQTtBbEhxK2NKOztBa0hqK2NBO0VBQ0Msa0JBQUE7RUFDQSxhQUFBO0VBQ0Esc0JBQUE7RUFDQSxtQi9GbldPO0UrRm9XUCx5Q0FBQTtFQUNBLHVDQUFBO0VBQ0Esa0IvR2xUZTtFK0dtVGYsWUFBQTtFQUNBLGtCL0c5VXlCO0FIa3pkMUI7QXNCMXVkUTtFNEY2UFI7SUFXRSxhQUFBO0VsSHMrY0E7QUFDRjs7QWtIbitjQztFQUNDLFdBQUE7QWxIcytjRjs7QWtIbitjQztFQUNDLGMvRm5YTTtFK0ZvWE4sZUFBQTtFQUNBLGdCL0YzV21CO0UrRjRXbkIsa0JBQUE7RUFDQSxVQUFBO0VBQ0EsVS9HOVZ3QjtBSG8wZDFCOztBa0huK2NDO0VBQ0MsYS9HbFd3QjtFK0dtV3hCLGUvRzdXZTtFK0c4V2YsaUIvRzdXaUI7QUhtMWRuQjs7QWtIbitjQztFQUNDLHFCQUFBO0VBQ0EsYS9Held3QjtFK0cwV3hCLGMvR25iUztFK0dvYlQsZS9HM1d3QjtFK0c0V3hCLGlCQUFBO0FsSHMrY0Y7QWtIcCtjRTtFQUNDLG1CQUFBO0FsSHMrY0g7QWtIcCtjRztFQUNDLGlCQUFBO0FsSHMrY0o7O0FrSGorY0M7RUFDQyxjL0doWWdCO0UrR2lZaEIsaUIvR2xZaUI7RStHbVlqQixlL0dwWWU7QUh3MmRqQjs7QWtIaitjQTtFQUNDLGtCQUFBO0VBQ0EsYUFBQTtFQUNBLHNCQUFBO0VBQ0EsbUIvRjNaTztFK0Y0WlAsaUJBQUE7RUFDQSxZQUFBO0VBQ0EsWUFBQTtFQUNBLGtCQUFBO0VBQ0EseUNBQUE7RUFDQSx1Q0FBQTtFQUNBLGtCL0c5V2U7RStHK1dmLGtCL0d6WXlCO0FINjJkMUI7QXNCcnlkUTtFNEZxVFI7SUFjRSxhQUFBO0VsSHMrY0E7QUFDRjs7QWtIbitjQztFQUNDLGtCQUFBO0VBQ0EsV0FBQTtBbEhzK2NGOztBa0huK2NFO0VBQ0MsU0FBQTtFQUNBLFUvR3RadUI7QUg0M2QxQjs7QWtIbitjRTtFQUNDLFlBQUE7RUFDQSxXL0czWnVCO0FIaTRkMUI7O0FrSG4rY0M7RUFDQyxXQUFBO0VBQ0EsWUFBQTtFQUNBLGlCL0doYTJCO0FIczRkN0I7O0FrSG4rY0M7RUFDQyxhQUFBO0VBQ0EsbUJBQUE7RUFDQSxlL0dqYmU7RStHa2JmLGlCQUFBO0VBQ0EsZ0IvRnpibUI7RStGMGJuQixtQi9HMWF3QjtBSGc1ZDFCOztBa0huK2NDO0VBQ0MsZ0JBQUE7RUFDQSxhQUFBO0VBQ0EscUJBQUE7QWxIcytjRjs7QWtIbitjRTtFQUNDLGdCQUFBO0FsSHMrY0g7O0FtSHJnZUE7O3lDQUFBO0FBSUE7RUFFQyxhQUFBO0FuSHNnZUQ7QW1IcmdlQztFQUhEO0lBSUUsYUFBQTtFbkh3Z2VBO0FBQ0Y7O0FtSHRnZUM7RUFDQyxlQUFBO0VBQ0EsaUJBQUE7QW5IeWdlRjtBbUh4Z2VFO0VBSEQ7SUFJRSxlQUFBO0VuSDJnZUQ7QUFDRjs7QW1IemdlQztFQUNDLGVBQUE7RUFDQSxnQkFBQTtFQUNBLG1CQUFBO0FuSDRnZUY7QW1IM2dlRTtFQUpEO0lBS0UsZUFBQTtFbkg4Z2VEO0FBQ0Y7O0FtSDVnZUM7RUFDQyxnQkFBQTtFQUNBLGNBQUE7QW5IK2dlRjs7QW1INWdlRTs7Ozs7OztFQUFBO0FBUUE7RUFDQyxlQUFBO0VBQ0EsWUFBQSxFQUFBLE1BQUE7RUFDQSxpQkFBQSxFQUFBLE1BQUE7RUFDQSxnQkFBQTtFQUNBLGdCQUFBO0VBQ0EsMENBQUE7QW5IK2dlSDtBbUg3Z2VHO0VBQ0MsMENBQUE7QW5IK2dlSjtBbUg3Z2VHO0VBQ0MsNEJBQUE7QW5IK2dlSjtBbUhoaGVHO0VBQ0MsNEJBQUE7QW5IK2dlSjs7QW1INWdlRTtFQUNDLGdCQUFBO0FuSCtnZUg7QW1IMWdlRztFQU5EO0lBT0UsV0FBQTtJQUNBLGdCQUFBO0VuSDZnZUY7QUFDRjs7QW1IMWdlQTtFQUVDLGFBQUE7QW5INGdlRDtBbUgzZ2VDO0VBSEQ7SUFJRSxZQUFBO0VuSDhnZUE7QUFDRjs7QW1INWdlQztFQUNDLDBCQUFBO0FuSCtnZUY7O0FtSDdnZUM7RUFDQyxlQUFBO0VBQ0EsZ0JBQUE7RUFDQSxtQkFBQTtBbkhnaGVGO0FtSC9nZUU7RUFKRDtJQUtFLGVBQUE7RW5Ia2hlRDtBQUNGOztBbUg5Z2VDO0VBQ0Msb0JBQUE7RUFDQSxpQkFBQTtBbkhpaGVGO0FtSDlnZUM7RUFDQyxnQkFBQTtFQUNBLGlCQUFBO0VBQ0EsY0FBQTtBbkhnaGVGO0FtSDdnZUM7O0VBRUMsZ0JBQUE7QW5IK2dlRjtBbUg5Z2VFO0VBSEQ7O0lBSUUsZ0JBQUE7RW5Ia2hlRDtBQUNGO0FtSC9nZUM7RUFDQyxlQUFBO0VBQ0EsZ0JoR2hCbUI7RWdHaUJuQixpQkFBQTtBbkhpaGVGO0FtSGhoZUU7RUFKRDtJQUtFLGVBQUE7SUFDQSxtQkFBQTtFbkhtaGVEO0FBQ0Y7QW1IaGhlQztFQUNDLGVBQUE7RUFDQSxpQkFBQTtBbkhraGVGO0FtSC9nZUM7RUFDQyxlQUFBO0FuSGloZUY7QW1IOWdlQztFQUNDLG1CQUFBO0FuSGdoZUY7QW1IN2dlQztFQUNDLGVBQUE7QW5IK2dlRjtBbUgzZ2VFO0VBQ0MsY2hIckdRO0FIa25lWDtBbUh6Z2VDO0VBQ0MseUJBQUE7QW5IMmdlRjtBbUh2Z2VFO0VBQ0MsaUJBQUE7RUFDQSxlQUFBO0VBQ0EsWUFBQTtBbkh5Z2VIO0FtSHRnZUU7RUFDQyxjQUFBO0VBQ0EsZUFBQTtFQUNBLGdCaEc3RGtCO0VnRzhEbEIsaUJBQUE7QW5Id2dlSDtBbUhyZ2VFO0VBQ0MsNEJBQUE7RUFDQSxlQUFBO0VBQ0EsZ0JoR3BFa0I7RWdHcUVsQixzQkFBQTtFQUNBLGlCQUFBO0VBQ0EsaUJBQUE7RUFDQSxrQkFBQTtFQUNBLGdCQUFBO0VBQ0EseUJBQUE7QW5IdWdlSDtBbUhwZ2VFO0VBQ0Msb0JBQUE7RUFDQSxpQkFBQTtBbkhzZ2VIO0FtSGpnZUU7RUFDQyxlQUFBO0VBQ0EsZ0JoR3RGa0I7RWdHdUZsQixpQkFBQTtFQUNBLG1CQUFBO0FuSG1nZUg7QW1IaGdlRTtFQUNDLDZCQUFBO0FuSGtnZUg7QXNCdGdlUTtFNkZHTjtJQUlFLGFBQUE7SUFDQSxtQkFBQTtJQUNBLDhCQUFBO0lBQ0EsaUJBQUE7SUFDQSxrQkFBQTtJQUNBLFlBQUE7RW5IbWdlRjtBQUNGO0FtSDkvZEk7RUFmRjtJQWdCRyw2QkFBQTtFbkhpZ2VIO0FBQ0Y7QXNCcmhlUTtFNkZHTjtJQXFCRSxrQkFBQTtJQUNBLG1CQUFBO0VuSGlnZUY7QUFDRjtBbUg5L2RFO0VBQ0MsbUJBQUE7RUFDQSw0Q0FBQTtFQUNBLGtCQUFBO0VBQ0EsbUJBQUE7QW5IZ2dlSDtBc0JqaWVRO0U2RjZCTjtJQU9FLGFBQUE7SUFDQSxZQUFBO0VuSGlnZUY7QUFDRjtBbUgvL2RHO0VBQ0MsZ0JoR2pJaUI7RWdHa0lqQixlQUFBO0VBQ0EsaUJBQUE7QW5IaWdlSjtBbUg5L2RHO0VBQ0MsZ0JoR3ZJaUI7RWdHd0lqQixlQUFBO0VBQ0EsaUJBQUE7QW5IZ2dlSjtBbUg3L2RHO0VBQ0MsZ0JoRzdJaUI7RWdHOElqQixlQUFBO0VBQ0EsaUJBQUE7QW5IKy9kSjtBbUg1L2RHO0VBQ0MsZUFBQTtFQUNBLGlCQUFBO0FuSDgvZEo7QXNCMWplUTtFNkZpRVA7SUFFRSxrQkFBQTtFbkgyL2REO0FBQ0Y7QW1IeC9kQztFQUNDO0lBQ0MsZ0JBQUE7RW5IMC9kRDtBQUNGOztBbUhyL2RDO0VBQ0M7SUFDQyxhQUFBO0VuSHcvZEQ7RW1Ici9kQTtJQUNDLHFCQUFBO0lBQ0EsaUJBQUE7RW5IdS9kRDtBQUNGO0FtSG4vZEU7RUFERDtJQUVFLG9CQUFBO0VuSHMvZEQ7QUFDRjtBbUhsL2RFO0VBQ0MsYUFBQTtFQUNBLHNCQUFBO0VBQ0EsZ0JBQUE7RUFDQSw4QkFBQTtBbkhvL2RIO0FzQnpsZVE7RTZGaUdOO0lBT0UsbUJBQUE7SUFDQSxnQkFBQTtJQUNBLGlCQUFBO0lBQ0Esa0JBQUE7RW5IcS9kRjtBQUNGO0FtSGwvZEU7RUFDQyx5QkFBQTtFQUNBLDRDQUFBO0VBQ0Esa0JBQUE7RUFDQSxZQUFBO0VBQ0EsYUFBQTtBbkhvL2RIO0FzQnhtZVE7RTZGK0dOO0lBUUUsaUJBQUE7SUFDQSxrQkFBQTtFbkhxL2RGO0VtSG4vZEU7SUFDQyxnQkFBQTtFbkhxL2RIO0FBQ0Y7QW1Iai9kRTtFQUNDLGdCQUFBO0FuSG0vZEg7QW1IaC9kRTtFQUNDLGVBQUE7RUFDQSxnQmhHOU5rQjtFZ0crTmxCLGlCQUFBO0FuSGsvZEg7QW1ILytkRTtFQUNDLGVBQUE7RUFDQSxnQmhHcE9rQjtFZ0dxT2xCLGlCQUFBO0FuSGkvZEg7QW1IOStkRTtFQUNDLGVBQUE7RUFDQSxpQkFBQTtFQUNBLGNoSHJTUTtBSHF4ZVg7QXNCbm9lUTtFNkZ1SlA7SUFFRSxrQkFBQTtFbkg4K2REO0FBQ0Y7QW1IMStkRTtFQUNDLGVBQUE7RUFDQSxnQmhHeFBrQjtFZ0d5UGxCLGlCQUFBO0VBQ0EsbUJBQUE7QW5INCtkSDs7QW9IN3plQTs7RUFBQTtBQUdBO0VBQ0Msb0NBQUE7RUFDQSwybkJBQUE7RUFDQSw0QkFBQTtFbEg2R0EsZ0NBQUE7RUFDQSwrQkFBQTtFQUNBLDhCQUFBO0VBQ0EscUhBQUE7RUFFQSxhQUFBO0VBQ0EsbURBQUE7RUFDQSxxQkFBQTtFa0hsSEEsbUJBQUE7QXBIczBlRDs7QW9IbjBlQTs7RUFBQTtBQUdBO0VBQ0Msa0JBQUE7RUFDQSxvQkFBQTtFQUNBLHlCQUFBO0VBQ0EsbUJBQUE7RUFDQSxxRkFBQTtFQUNBLGtCQUFBO0VBQ0EsZ0JBQUE7RUFDQSxjQUFBO0FwSHMwZUQ7QW9IcDBlQztFQVZEO0lBV0Usa0JBQUE7RXBIdTBlQTtBQUNGO0FvSHIwZUM7RUFDQywyQkFBQTtBcEh1MGVGO0FvSHAwZUM7RUFDQyxpQkFBQTtFQUNBLGtCQUFBO0FwSHMwZUY7O0FvSGwwZUE7O0VBQUE7QUFHQztFQUNBO0lBQ0MsU0FBQTtFcEhxMGVBO0FBQ0Y7QW9IbDBlQTtFQUNDLG9DQUFBO0VBQ0Esa0JBQUE7RUFDQSxtQkFBQTtFQUNBLHVEakg4QmlCO0VpSDdCakIsNkdBQUE7RUFDQSxnQkFBQTtBcEhvMGVEOztBb0hqMGVBO0VBQ0MsaUJBQUE7RUFDQSxrQkFBQTtFQUNBLGVBQUE7RUFDQSxtQmpIa0NrQjtBSGt5ZW5CO0FvSG4wZUM7RUFDQyxlQUFBO0FwSHEwZUY7O0FvSGwwZUM7RUFDQztJQUNDLFlBQUE7RXBIcTBlRDtBQUNGO0FvSG4wZUM7RUFDQywrQ0FBQTtFQUNBLGtEQUFBO0VBQ0EsY0FBQTtFQUNBLGVBQUE7RUFDQSxlQUFBO0VBQ0EsZ0JqR1dtQjtFaUdWbkIsa0JBQUE7RUFDQSx5QkFBQTtBcEhxMGVGOztBb0huMGVDO0VBQ0MscUJBQUE7RUFDQSxZQUFBO0VBQ0EsY0FBQTtBcEhzMGVGOztBb0hwMGVDO0VBQ0MsZUFBQTtFQUNBLGdDQUFBO0VBQ0Esa0RBQUE7RUFDQSxrQkFBQTtBcEh1MGVGO0FvSHQwZUU7RUFDQyxnQkFBQTtBcEh3MGVIOztBb0hyMGVDO0VBRUMsa0JBQUE7RUFDQSxTQUFBO0VBQ0EsT0FBQTtFQUNBLHlCQUFBO0VBQ0EsWUFBQTtFQUNBLG1CQUFBO0VBQ0EsZ0JqR2ZtQjtFaUdnQm5CLHlCQUFBO0FwSHUwZUY7QW9IdDBlRTtFQUNDLGtEQUFBO0VBQ0EscUJBQUE7QXBIdzBlSDtBb0h0MGVFO0VBQ0MsV0FBQTtFQUNBLGtCQUFBO0VBQ0EsU0FBQTtFQUNBLFdBQUE7RUFDQSxjQUFBO0VBQ0Esc0JBQUE7RUFDQSx3QkFBQSxFQUFBLG9EQUFBO0VBQ0EsV0FBQTtFQUNBLHlCQUFBO0VBQ0EsOEJBQUE7RUFDQSxzQ0FBQSxFQUFBLDRDQUFBO0FwSHcwZUg7QW9IdDBlRTtFQUNDLGtEQUFBO0VBQ0EsK0JBQUE7QXBIdzBlSDs7QW9IcjBlQTtFQUNDLGtCQUFBO0VBQ0EsbUJBQUE7RUFDQSxjakhsQ2lCO0VpSG1DakIsYWpIcENrQjtFaUhxQ2xCLG1CakhyQ2tCO0VpSHNDbEIsa0JBQUE7QXBIdzBlRDtBb0h2MGVDO0VBQ0MsV0FBQTtFQUNBLGtCQUFBO0VBQ0EsVUFBQTtFQUNBLFNBQUE7RUFDQSxjQUFBO0VBQ0Esa0JBQUE7RUFDQSxRQUFBO0VBQ0EsU0FBQTtFQUNBLGtCQUFBO0VBQ0EsNkNBQUE7RUFFQTs7O0lBQUE7RUFJQSwwQkFBQSxFQUFBLE1BQUE7QXBIdzBlRjs7QW9IcjBlQztFQUVDLGNBQUE7RUFDQSxlQUFBO0VBQ0EsbUJBQUE7QXBIdTBlRjs7QW9IcDBlQTs7RUFBQTtBQUdBO0VBQ0MsYUFBQTtFQUNBLG1CQUFBO0VBQ0EsYUFBQTtFQUNBLHlCQUFBO0VBQ0Esa0JqSHRDZTtFaUh1Q2YsK0pqRzBTa0I7QW5CNmhlbkI7QW9IcjBlQztFQUNDLHNCQUFBLEVBQUEsb0NBQUE7QXBIdTBlRjtBb0hwMGVDO0VBQ0MseUJBQUE7RUFDQSxxQmpIdEtXO0FINCtlYjs7QW9IbjBlQztFQUNDLHFCakg5SlU7QUhvK2VaO0FvSHAwZUU7RUFDQyxxQmpIbEtTO0FIdytlWjs7QW9IbDBlQztFQUNDLGVBQUE7RUFDQSxjQUFBO0FwSHEwZUY7QW9IcDBlRTtFQUNDLGVqSGpHZ0I7RWlIa0doQiw2QkFBQTtBcEhzMGVIOztBcUgxZ2ZBOzs7Ozt5Q0FBQTtBQU9BO0VBQ0MsMEdBQUE7QXJINGdmRDtBcUgzZ2ZDO0VBQ0MsbUJsSHdGaUI7QUhxN2VuQjs7QXFIMWdmQztFQUNDLCtFQUFBO0VBQ0E7O0tBQUE7QXJIK2dmRjs7QXFIMWdmQTtFQUNDLGdCQUFBO0VBQ0EsaUJBQUE7QXJINmdmRDtBcUg1Z2ZDO0VBQ0MscUJBQUE7QXJIOGdmRjtBcUg1Z2ZDOztFQUVDLGlCQUFBO0FySDhnZkY7O0FxSHpnZkM7RUFDQyxxQkFBQTtBckg0Z2ZGO0FxSDFnZkM7RUFDQyxnQkFBQTtFQUNBLGVBQUE7QXJINGdmRjs7QXFIemdmQztFQUNDLFdBQUE7RUFDQSxZQUFBO0VBQ0Esb0NBQUE7QXJINGdmRjs7QXFIMWdmQztFQUNDLGlCQUFBO0VBQ0EsZ0JBQUE7RUFDQSxpQkFBQTtBckg2Z2ZGOztBcUgxZ2ZBOztFQUVDLG9DQUFBO0VBQ0EsbUJBQUE7QXJINmdmRDs7QXFIMWdmQTtFQUNDLG9DQUFBO0VBQ0EsYUFBQTtFQUNBLFdBQUE7QXJINmdmRDs7QXFIMWdmQTs7O0VBQUE7QUFTRTtFbkhnSkQsY0FBQTtFQUNBLFFBQUE7RUFDQSxTQUFBO0VBQ0EsV0FBQTtFQThEQyxrQkFBQTtFQUNBLFVBQUE7RUFDQSxVQUFBO0VBQ0Esa0JBQUE7RUFDQSxpQkFBQTtFQUNBLHlEQUFBO0VBQ0EsMkJBQUE7QUY0emVGOztBcUg5Z2ZFO0VuSDJJRCxjQUFBO0VBQ0EsUUFBQTtFQUNBLFNBQUE7RUFDQSxXQUFBO0VBdUVDLGtCQUFBO0VBQ0EsVUFBQTtFQUNBLFVBQUE7RUFDQSxrQkFBQTtFQUNBLGlCQUFBO0VBQ0EseURBQUE7RUFDQSwyQkFBQTtBRmkwZUY7O0FzSDFtZkE7O3lDQUFBO0FBT0E7RUFDRSxpQkFBQTtFQUNBLGdDbkhrSXVCO0FIdStlekI7O0FzSHRtZkE7RUFDRSxnQkFBQTtBdEh5bWZGO0FzQm44ZVE7RWdHdktSO0lBR0ksZ0JuSG1GZTtFSHdoZmpCO0FBQ0Y7O0FzSHhtZkE7RUFDRSxlQUFBO0F0SDJtZkY7QXNCNThlUTtFZ0doS1I7SUFHSSxnQm5INEVlO0VIaWlmakI7QUFDRjs7QXNIMW1mQTs7OztFQUFBO0FBTUE7RUFDRSxxQkFBQTtFQUNBLGtCQUFBO0VBQ0EsZ0JBQUE7QXRING1mRjtBc0gxbWZFO0VBQ0UsVUFBQTtFQUNBLFdBQUE7RUFDQSxnQkFBQTtBdEg0bWZKO0FzSHhtZkk7RUFDRSx5QkFBQSxFQUFBLE1BQUE7QXRIMG1mTjtBc0h0bWZFO0VBQ0UsbUJBQUEsRUFBQSxNQUFBO0F0SHdtZko7O0FzSHBtZkE7RUFDRSxpQkFBQTtFQUNBLG9CQUFBO0F0SHVtZkY7O0FzSHBtZkE7RUFDRSxjQUFBO0F0SHVtZkY7O0FzSHBtZkE7RUFDRSxhQUFBO0VBQ0Esd0JBQUE7QXRIdW1mRjtBc0JyL2VRO0VnR3BIUjtJQUtJLHNCQUFBO0V0SHdtZkY7QUFDRjs7QXNCMS9lUTtFZ0czR1I7SUFFSSxrQkFBQTtFdEh3bWZGO0FBQ0Y7QXNCaGdmUTtFZ0czR1I7SUFLSSxZQUFBO0lBQ0EsbUJuSG9CZTtFSHNsZmpCO0FBQ0Y7O0FzQnRnZlE7RWdHakdSO0lBRUksZ0JBQUE7RXRIMG1mRjtBQUNGOztBc0h2bWZBOzs7O0lBQUE7QWhHMkZRO0VnR3JGUjtJQUVJLGdCQUFBO0lBQ0EsV0FBQSxFQUFBLE1BQUE7RXRIeW1mRjtBQUNGOztBc0h0bWZBO0VBQ0UsbUJuSEppQjtBSDZtZm5CO0FzQjVoZlE7RWdHOUVSO0lBR0ksZUFBQTtJQUNBLGlCbkhQZTtFSGtuZmpCO0FBQ0Y7O0FzQmxpZlE7RWdHdEVSO0lBRUksbUJBQUE7RXRIMm1mRjtBQUNGOztBc0h4bWZBOzt5Q0FBQTtBQU9BOztHQUFBO0FBSUE7RUFDRSxhQUFBO0VBQ0EsbUJBQUE7RUFDQSxrQkFBQTtFQUNBLFNuSGhDaUI7RW1IaUNqQixVbkhqQ2lCO0VtSGtDakIsZUFBQTtFQUNBLGMvREZvQjtBdkR3bWZ0QjtBc0J4amZRO0VnR3JEUjtJQVNJLE1BQUE7SUFDQSx1QkFBQTtJQUNBLE9BQUE7SUFDQSxXQUFBO0V0SHdtZkY7QUFDRjs7QXNIcm1mQTtFQUNFLFVBQUE7QXRId21mRjs7QXNIcm1mQTtFQUNFLGVBQUE7RUFDQSx3QkFBQTtFQUNBLGlCQUFBO0F0SHdtZkY7O0FzSHJtZkE7RUFDRSxhQUFBO0VBQ0EsbUJBQUE7RUFDQSxlQUFBO0VBQ0EsY0FBQTtFQUNBLHFCQUFBO0F0SHdtZkY7O0FzSHJtZkE7Ozs7R0FBQTtBQU1BO0VBQ0Usa0JBQUE7RUFDQSxhQUFBLEVBQUEsTUFBQTtFQUNBLG1CQUFBO0F0SHVtZkY7QXNCN2xmUTtFZ0dSSjtJQUNFLGdCbkgxRWEsRW1IMEVrQixNQUFBO0V0SHdtZm5DO0FBQ0Y7O0FzSHBtZkE7RUFDRSxtQkFBQTtBdEh1bWZGOztBc0hwbWZBOzt5Q0FBQTtBQUlBOzs7Ozs7RUFBQTtBQVFBO0VBQ0U7SUFDRSxnQ25IeERxQjtFSDZwZnZCO0VzSHBtZkU7SUFDRSxnQkFBQSxFQUFBLE1BQUE7RXRIc21mSjtBQUNGO0FzSGxtZkE7O0VBQUE7QUFJQTtFQUNFLGtCQUFBLEVBQUEsTUFBQTtBdEhtbWZGOztBc0hobWZBOztFQUFBO0FBR0E7RUFDRSxhQUFBO0VBQ0EsVUFBQTtFQUNBLGVBQUE7RUFDQSxTQUFBO0VBQ0EsV0FBQTtFQUNBLGNBQUEsRUFBQSxNQUFBO0VBQ0EsdUJBQUE7RUFDQSx5QkFBQTtFQUNBLGVBQUE7RUFDQSx1Rm5IS2tCO0VtSEpsQixrQ0FBQTtFQUNBLGtCQUFBO0F0SG1tZkY7QXNIam1mRTtFQUNFLFVBQUE7RUFDQSxrQ0FBQTtFQUNBLG1CQUFBO0F0SG1tZko7O0FzSC9sZkE7RUFDRSxXQUFBO0F0SGttZkY7QXNCMXBmUTtFZ0d1RFI7SUFHSSxnQkFBQTtJQUNBLGVBQUE7RXRIb21mRjtBQUNGOztBc0hqbWZBOzs7RUFBQTtBQUtBO0VBQ0UsZ0JBQUE7RUFDQSxNQUFBO0VBQ0EsZUFBQTtFQUNBLFdBQUE7RUFDQSxtQkFBQTtFQUNBLGNBQUEsRUFBQSxNQUFBO0VBQ0EseUJBQUE7RUFDQSxhbkg3SmlCO0VtSDhKakIsdUZuSDVCa0I7RW1INkJsQixlQUFBO0VBQ0EsZ0NuSHZIdUI7RW1Id0h2Qiw4QkFBQTtBdEhtbWZGO0FzSGxtZkU7RUFDRSxnQ0FBQTtBdEhvbWZKO0FzSGxtZkU7RUFDRSxtREFBQTtBdEhvbWZKO0FzSGptZkU7RUFDRSxjQUFBO0F0SG1tZko7QXNIeG5mQTtFQXdCRTs7O0dBQUE7QXRIc21mRjtBc0hqbWZFO0VBQ0UsZUFBQTtFQUNBLDJCQUFBO0F0SG1tZko7QXNIaG1mRTtFQUNFLHdCQUFBO0F0SGttZko7QXNIaG1mRTtFQUNFLDJCQUFBO0F0SGttZko7QXNIL2xmRTtFQUNFLGtCQUFBO0F0SGltZko7O0FzSDdsZkE7RUFDRSxhQUFBO0VBQ0EsbUJBQUE7QXRIZ21mRjtBc0g5bGZFO0VBQ0UsY0FBQTtBdEhnbWZKO0FzSDdsZkU7RUFDRSxpQkFBQTtBdEgrbGZKO0FzQjF0ZlE7RWdHMEhOO0lBR0ksaUJBQUE7RXRIaW1mSjtBQUNGO0FzSDlsZkU7RUFDRSw4QkFBQTtBdEhnbWZKO0FzSC9sZkk7RUFDRSxjL0RwTGdCO0F2RHF4ZnRCO0FzSC9sZkk7RUFDRSxjL0Q1TGM7RStENkxkLFVBQUE7QXRIaW1mTjtBc0J6dWZRO0VnR2tIUjtJQTJCSSx1QkFBQTtJQUVBOztLQUFBO0V0SGltZkY7RXNIN2xmRTtJQUNFLDZCQUFBLEVBQUEsTUFBQTtFdEgrbGZKO0VzSGpvZkY7SUFxQ0k7OztLQUFBO0V0SGttZkY7QUFDRjtBc0IxdmZRO0VnRzRKSjtJQUVJLDZCQUFBLEVBQUEsTUFBQTtJQUNBLDhCQUFBLEVBQUEsTUFBQTtFdEhnbWZOO0FBQ0Y7O0FzSDNsZkE7RUFDRSxxQkFBQTtBdEg4bGZGO0FzQnB3ZlE7RWdHcUtSO0lBR0ksNkJBQUE7RXRIZ21mRjtBQUNGOztBc0g3bGZBO0VBQ0Usb0JBQUE7QXRIZ21mRjs7QXNIN2xmQTs7OztFQUlFLFVBQUE7RUFDQSxrQ0FBQTtFQUNBLG9CQUFBO0F0SGdtZkY7QXNIOWxmRTs7OztFQUNFLFVBQUE7RUFDQSxvQkFBQTtBdEhtbWZKOztBc0gvbGZBOztJQUFBO0FoRzlMUTtFZ0drTVI7SUFFSSx5QkFBQSxFQUFBLE1BQUE7RXRIaW1mRjtBQUNGOztBc0g5bGZBOzs7Ozs7OztLQUFBO0FBVUE7RUFDRSxhQUFBO0VBQ0EsbUJBQUE7RUFDQSw0QkFBQSxFQUFBLE1BQUE7RUFDQSwrQkFBQSxFQUFBLE1BQUE7QXRIZ21mRjtBc0g5bGZFO0VBQ0UseUNBQUE7QXRIZ21mSjs7QXNINWxmQTs7OztNQUFBO0FBTUE7RUFDRSxXQUFBLEVBQUEsTUFBQTtFQUNBLFlBQUEsRUFBQSxNQUFBO0VBQ0EsY0FBQSxFQUFBLE1BQUE7RUFDQSxrQkFBQTtFQUNBLFFBQUE7QXRIOGxmRjs7QXNIM2xmQTs7OztNQUFBO0FBTUE7RUFDRSxnQkFBQSxFQUFBLE1BQUE7QXRINmxmRjs7QXNIMWxmQTs7Ozs7Ozs7Ozs7Ozs7SUFBQTtBQWlCRTtFQUNFLE1BQUE7RUFDQSxvQ0FBQTtFQUNBLGdDQUFBO0VBQ0EseUJBQUE7RUFDQSw0QkFBQSxFQUFBLE1BQUE7RUFDQSwrQkFBQSxFQUFBLE1BQUE7QXRIMmxmSjtBc0gxbGZJO0VBQ0UsZ0NBQUE7RUFDQSx5QkFBQTtFQUNBLG9EQUFBO0F0SDRsZk47O0FzSHZsZkE7O3lDQUFBO0FBSUE7RUFDRSxhQUFBO0VBQ0EscUJBQUE7RUFDQSxlQUFBO0F0SHlsZkY7O0FzSHRsZkE7RUFDRSxjQUFBO0F0SHlsZkY7QXNCejNmUTtFZ0crUlI7SUFHSSxjQUFBO0V0SDJsZkY7QUFDRjs7QXNIeGxmQTtFQUNFLGtCQUFBO0VBQ0EsYUFBQTtFQUNBLHVCQUFBO0VBQ0Esa0JuSHhWYztFbUh5VmQsZ0JBQUE7RUFDQSxVQUFBO0F0SDJsZkY7QXNCdjRmUTtFZ0dzU1I7SUFRSSxXQUFBO0lBQ0EsbUJBQUE7RXRINmxmRjtBQUNGO0FzQjc0ZlE7RWdHc1NSO0lBWUksa0JuSG5ZZTtFSGsrZmpCO0FBQ0Y7O0FzSDVsZkE7RUFDRSxpQkFBQTtFQUNBLGdCQUFBO0F0SCtsZkY7QXNCdjVmUTtFZ0dzVFI7SUFJSSxrQm5IeFdZO0ltSHlXWixpQkFBQTtJQUNBLGdCQUFBO0V0SGltZkY7QUFDRjs7QXNIOWxmQTtFQUNFLGtCQUFBO0VBQ0EsU0FBQTtFQUNBLFdBQUE7RUFDQSx3QkFBQTtBdEhpbWZGO0FzSGhtZkU7RUFDRSw4Qk4zQm1CO0FoSDZuZnZCOztBc0g3bGZFO0VBQ0UscUJBQUE7QXRIZ21mSjtBc0g5bGZFO0VBQ0UscUJBQUE7QXRIZ21mSjs7QXNIM2xmRTtFQUNFLGFBQUE7RUFDQSxlQUFBO0F0SDhsZko7O0FzSDFsZkE7RUFDRSxPQUFBO0F0SDZsZkY7O0FzSDFsZkE7RUFDRSxlQUFBO0VBQ0EsaUJBQUE7RUFDQSxnQm5HemJtQjtFbUcwYm5CLGtCQUFBO0F0SDZsZkY7O0FzSDFsZkE7RUFDRSxnQkFBQTtFQUNBLGlCbkh4YmlCO0VtSHliakIsZUFBQTtFQUNBLGNuSDNmUztBSHdsZ0JYO0FzQnQ4ZlE7RWdHcVdSO0lBTUksZUFBQTtFdEgrbGZGO0FBQ0Y7O0FzSDVsZkE7RUFDRSxhQUFBO0VBQ0EsbUJBQUE7RUFDQSxtQkFBQTtFQUNBLG1CQUFBO0VBQ0EsY0FBQTtFQUNBLG1CQUFBO0F0SCtsZkY7O0FzSDVsZkE7RUFDRSxtQkFBQTtBdEgrbGZGOztBc0J4OWZRO0VnRzRYUjtJQUVJLHVCQUFBO0V0SCtsZkY7QUFDRjs7QXNINWxmQTs7eUNBQUE7QUFJQTtFQUNFLGFBQUE7RUFDQSxzQkFBQTtFQUNBLG1CQUFBO0F0SDhsZkY7O0FzSDNsZkE7Ozs7R0FBQTtBQU1BO0VBQ0Usa0JBQUE7RUFDQSxhQUFBLEVBQUEsTUFBQTtFQUNBLFlBQUEsRUFBQSxNQUFBO0VBQ0Esa0JBQUE7RUFDQSxtQm5IeGVpQjtBSHFrZ0JuQjs7QXNIMWxmQTtFQUNFLG1CQUFBO0F0SDZsZkY7O0FzSDFsZkE7O0lBQUE7QUFJQTtFQUNFLGtCQUFBO0VBQ0EsVUFBQSxFQUFBLE1BQUE7RUFDQSxTQUFBO0VBQ0EsMkJBQUE7RUFDQSxtQkFBQTtBdEg0bGZGOztBc0h6bGZBOztJQUFBO0FBSUE7RUFDRSxrQkFBQTtFQUNBLGFBQUEsRUFBQSxNQUFBO0VBQ0EsU0FBQTtFQUNBLDJCQUFBO0F0SDJsZkY7O0FzSHhsZkE7Ozs7Ozs7R0FBQTtBQVNBO0VBQ0UsZUFBQTtFQUNBLGlCQUFBLEVBQUEsTUFBQTtFQUNBLGdCbkd6aEJtQjtFbUcwaEJuQixtQkFBQTtFQUNBLGtCQUFBLEVBQUEsTUFBQTtFcEgzakJELGlEQUFBO0VBQ0EseUJBQUE7RUFDQSxxQkFBQTtFQUNBLHlCQUFBO0VBRUEsc0VBQUE7RUFDQSxxQkFBQTtFQUVBLHVDQUFBO0VBQ0Esc0JBQUE7RUFHQyxpRUFBQTtFQUNBLGFBQUE7QUZrcGdCRjtBc0J2aWdCUTtFZ0c4YlI7SUFRSSxtQkFBQTtFdEhxbWZGO0FBQ0Y7O0FzSGxtZkE7RUFDRSxhQUFBO0VBQ0EsbUJBQUE7RUFDQSxlQUFBO0VBQ0EsZ0JBQUE7RUFDQSxjL0QvZm9CO0UrRGdnQnBCLG1CbkhqaUJpQjtBSHNvZ0JuQjs7QXNIbG1mQTtFQUNFLGlCQUFBO0F0SHFtZkY7O0FzSGxtZkE7RUFDRSxhQUFBO0VBQ0EsbUJBQUE7RUFDQSxrQkFBQTtFQUNBLFdBQUE7RUFDQSxpQkFBQTtBdEhxbWZGO0FzSHBtZkU7RUFDRSxpQkFBQTtBdEhzbWZKO0FzSHBtZkU7RUFDRSxpQkFBQTtFQUNBLFdBQUE7RUFDQSxZQUFBO0F0SHNtZko7O0FzSGxtZkE7Ozs7R0FBQTtBQU1BO0VBQ0UsYUFBQTtFQUNBLG1CQUFBO0VBQ0EsZUFBQTtFQUNBLDhCQUFBO0VBQ0EsZ0JBQUE7RUFDQSxtQm5IcGtCaUI7RW1IcWtCakIsZUFBQSxFQUFBLE1BQUE7QXRIb21mRjtBc0J4bGdCUTtFZ0c2ZVI7SUFVSSxjQUFBO0lBQ0EsdUJBQUE7RXRIcW1mRjtBQUNGO0FzSG5tZkU7RUFDRSxhQUFBO0VBQ0EsbUJBQUE7RUFDQSxVQUFBO0VBQ0EsY0FBQTtFQUNBLGdCbkd4bEJpQjtFbUd5bEJqQixnQkFBQTtFQUNBLG1CQUFBO0F0SHFtZko7QXNCdm1nQlE7RWdHMmZOO0lBU0ksdUJBQUE7SUFDQSxXQUFBO0V0SHVtZko7RXNIcm1mSTtJQUNFLGlCQUFBO0V0SHVtZk47QUFDRjtBc0JobmdCUTtFZ0c0Z0JGO0lBQ0Usa0JBQUE7RXRIdW1mTjtBQUNGO0FzSHBtZkk7RUFDRSxXbkhubUJhO0VtSG9tQmIsWW5IcG1CYTtFbUhxbUJiLGNBQUE7QXRIc21mTjs7QXNIam1mQTtFQUNFLGdCQUFBO0F0SG9tZkY7O0FzSGptZkE7RUFDRSx3QkFBQTtFQUNBLG1CQUFBO0VBQ0EsdUJBQUE7QXRIb21mRjtBc0hsbWZFO0VBQ0UseUNBQUE7QXRIb21mSjs7QXNIaG1mQTs7OztLQUFBO0FBTUE7RUFDRSxXQUFBLEVBQUEsTUFBQTtFQUNBLFlBQUEsRUFBQSxNQUFBO0VBQ0EsY0FBQSxFQUFBLE1BQUE7RUFDQSxpQkFBQTtFQUNBLGtCQUFBO0VBQ0EsUUFBQTtBdEhrbWZGOztBc0gvbGZBOzt5Q0FBQTtBQUlBO0VBQ0UsYUFBQTtBdEhpbWZGO0FzQjVwZ0JRO0VnRzBqQlI7SUFHSSxlQUFBO0lBQ0EsdUJBQUE7RXRIbW1mRjtBQUNGO0FzSHhtZkE7RUFPRTs7R0FBQTtBdEhzbWZGO0FzSGxtZkU7RUFDRSxnQkFBQTtFQUNBLGFBQUE7RUFDQSxzQkFBQTtFQUNBLG1CQUFBO0VBQ0EsZ0JuR2xxQmlCO0VtR21xQmpCLGtCQUFBO0VBQ0EsZ0JBQUEsRUFBQSxNQUFBO0F0SG9tZko7QXNCaHJnQlE7RWdHNmtCSjtJQUVJLGtCQUFBO0V0SHFtZk47QUFDRjtBc0JycmdCUTtFZ0c2a0JKO0lBS0ksa0JBQUE7RXRIdW1mTjtBQUNGO0FzQjFyZ0JRO0VnR3FrQk47SUFpQkksVUFBQTtJQUNBLG1CQUFBO0V0SHdtZko7QUFDRjtBc0hybWZFO0VBQ0Usa0JBQUE7QXRIdW1mSjs7QXNIbm1mQTtFQUNFLFdBQUE7RUFDQSxZQUFBO0F0SHNtZkY7O0FzSG5tZkE7RUFDRSxXQUFBO0VBQ0EsWUFBQTtBdEhzbWZGOztBc0hubWZBO0VBQ0UsV0FBQTtFQUNBLFlBQUE7QXRIc21mRjs7QXNIbm1mQTtFQUNFLFdBQUE7RUFDQSxZQUFBO0F0SHNtZkY7O0FzSG5tZkE7O3lDQUFBO0FBSUE7RUFDRSxtQm5IMXNCaUI7QUgreWdCbkI7O0FzSGxtZkE7OztHQUFBO0FBTUU7RUFFRSxnQkFBQSxFQUFBLE1BQUE7RUFDQSxpQkFBQSxFQUFBLE1BQUE7RUFDQSw2Qm5IOXFCcUIsRW1IOHFCTSxNQUFBO0F0SGttZi9COztBc0g5bGZBOztJQUFBO0FBSUE7RUFDRSxhQUFBO0VBQ0EsbUJBQUE7RUFDQSxlQUFBO0VBQ0EsaUJBQUEsRUFBQSxNQUFBO0VBQ0EsZ0JBQUE7RUFDQSxtQkFBQTtBdEhnbWZGOztBc0g3bGZBO0VBQ0Usa0JBQUE7RUFDQSxtQkFBQTtFQUNBLGNBQUE7QXRIZ21mRjs7QXNIN2xmQTtFQUNFLGVBQUE7RUFDQSxzQkFBQTtFQUNBLGlCQUFBO0F0SGdtZkY7QXNIL2xmRTtFQUNFLGlCQUFBO0F0SGltZko7O0FzSDdsZkE7RUFDRSxjQUFBO0F0SGdtZkY7O0FzSDdsZkE7RUFDRSxnQkFBQTtFQUNBLGlCQUFBO0F0SGdtZkY7O0FzSDdsZkE7RUFDRSxtQm5IandCaUI7QUhpMmdCbkI7O0FzSDdsZkE7RUFDRSxpQm5IcndCaUI7RW1Ic3dCakIsZ0JuRzd3Qm1CO0FuQjYyZ0JyQjs7QXNIN2xmQTtFQUNFLGdCQUFBO0VBQ0EsZ0JBQUE7QXRIZ21mRjs7QXNIN2xmQTs7eUNBQUE7QUFJQTtFQUNFLGtCQUFBO0F0SCtsZkY7O0FzSDVsZkE7Ozs7R0FBQTtBQU1BO0VBRUUseUJBQUE7RUFDQSxVQUFBLEVBQUEsTUFBQTtFQUNBLDJCQUFBLEVBQUEsTUFBQTtFQUNBLDhCQUFBLEVBQUEsTUFBQTtBdEg2bGZGO0FzSDVsZkU7RUFDRSxVQUFBLEVBQUEsTUFBQTtFQUNBLHdCQUFBLEVBQUEsTUFBQTtBdEg4bGZKO0FzSHRtZkE7RUFXRTs7Ozs7SUFBQTtBdEhtbWZGO0FzSDVsZkU7RUFDRSx5QkFBQTtBdEg4bGZKO0FzSDdsZkk7RUFDRSxhQUFBLEVBQUEsTUFBQTtBdEgrbGZOO0FzSDVsZkk7RUFDRSxzQkFBQTtLQUFBLG1CQUFBLEVBQUEsTUFBQTtFQUNBLFdBQUEsRUFBQSxNQUFBO0VBQ0EsWUFBQSxFQUFBLE1BQUE7QXRIOGxmTjs7QXNIemxmQTs7O0lBQUE7QUFPQTtFQUNFLGFBQUE7RUFDQSxtQkFBQTtFQUNBLHNCQUFBO0VBQ0EsYUFOYSxFQU1VLE1BQUE7RUFDdkIsa0JBQUEsRUFBQSxNQUFBO0VBQ0EsMEJBQUE7QXRIeWxmRjs7QXNIdGxmQTs7RUFFRSxhQWJhO0VBY2IsY0FBQTtBdEh5bGZGO0FzSC9rZkE7RUFDRSxrQkFBQTtFQUNBLFFBQUE7RUFDQSxTQUFBO0VBQ0EsZ0NBQUE7RUFDQSxhQUFBO0VBQ0EsbUJBQUE7RUFDQSwwQkFBQTtFQUNBLDRCQUFBO0F0SGlsZkY7O0FzSDlrZkE7RUFDRSxnQkFBQTtFQUNBLFdBQUE7QXRIaWxmRjs7QXNIOWtmQTtFQUNFLGtCQUFBO0VBQ0EsU0FBQTtFQUNBLE9BQUE7RUFDQSxrQkFBQTtFQUNBLFdBQUE7RUFDQSxhQUFBO0VBQ0EsZUFBQTtFQUNBLGlCQUFBO0VBQ0EsY0FBQTtFQUNBLHlGQUFBO0VBS0EsMEJBQUE7RUFDQSxVQUFBO0F0SDZrZkY7QXNIM2tmRTtFQUNFLFVBQUE7QXRINmtmSjs7QXNIemtmQTs7Ozs7O0lBQUE7QUFRQTtFQUNFLGtCQUFBO0VBQ0EsVUFBQTtFQUNBLGNBQUE7RUFDQSxhQUFBLEVBQUEsTUFBQTtFQUNBLGFBQUEsRUFBQSxNQUFBO0F0SDJrZkY7QXNIcmtmRTtFQUNFLGNBQUEsRUFBQSxNQUFBO0F0SHVrZko7QXNIcGtmRTtFQUNFLGFBQUEsRUFBQSxNQUFBO0F0SHNrZko7O0FzSGxrZkE7O0tBQUE7QUFJQTtFQUVFLFVBQUE7RUFDQSx5QkFBQTtFQUNBLHFEQUFBO0F0SG1rZkY7QXNCdDVnQlE7RWdHKzBCUjtJQVFJLFFBQUE7RXRIbWtmRjtBQUNGOztBc0hoa2ZBOztLQUFBO0FBSUE7RUFFRSxXQUFBO0VBQ0Esb0RBQUE7QXRIaWtmRjtBc0JuNmdCUTtFZ0crMUJSO0lBS0ksU0FBQTtFdEhta2ZGO0FBQ0Y7O0FzSGhrZkE7OztHQUFBO0FBS0E7RUFDRSxhQUFBO0VBRUEsZ0JBQUE7RUFDQSxtQm5IbDhCaUI7QUhtZ2hCbkI7QXNCbDdnQlE7RWdHNjJCUjtJQU1JLHVCQUFBO0lBQ0EsZ0JBQUE7RXRIbWtmRjtBQUNGO0FzSGprZkU7RUFDRSxjL0R4NkJrQjtBdkQyK2dCdEI7QXNIaGtmRTtFQUNFLGFBQUE7RUFFQSxtQkFBQTtFQUNBLGVBQUE7RUFDQSxpQm5IajlCZTtFbUhrOUJmLGdCbkd6OUJpQjtFbUcwOUJqQix5QkFBQTtFQUNBLG1CQUFBO0VBQ0EsVUFBQSxFQUFBLE1BQUE7RUFDQSwwQkFBQSxFQUFBLE1BQUE7QXRIaWtmSjtBc0hoa2ZJO0VBQ0UsYy9ENTdCYztFK0Q2N0JkLFVBQUE7QXRIa2tmTjtBc0gvamZJO0VBQ0Usa0JuSDc5QmE7QUg4aGhCbkI7QXNIOWpmSTtFQUNFLGlCQUFBO0F0SGdrZk47O0FzSDNqZkE7O0dBQUE7QUFJQTs7RUFFRSxXQUFBO0VBQ0EsWUFBQTtFQUNBLHlCQUFBO0VBQ0Esa0JBQUE7RUFDQSxnQkFBQTtBdEg2amZGO0FzQjU5Z0JRO0VnR3k1QlI7O0lBUUksYUFBQTtFdEhna2ZGO0FBQ0Y7QXNCbCtnQlE7RWdHeTVCUjs7SUFXSSxhQUFBO0V0SG1rZkY7QUFDRjtBc0hqa2ZFOztFQUNFLFdBQUE7RUFDQSxrQkFBQTtFQUNBLFNBQUE7RUFDQSxZQUFBO0VBQ0EsV0FBQTtFQUNBLDZFQUFBO0VBS0Esb0JBQUEsRUFBQSxNQUFBO0F0SGdrZko7O0FzSDNqZkU7RUFDRSxpQkFBQTtBdEg4amZKOztBc0gxamZBO0VBQ0Usb0JBQUE7RUFDQSxtQkFBQTtFQUNBLG1CQUFBO0F0SDZqZkY7O0FzSDFqZkE7O0tBQUE7QUFJQTtFQUNFLGNBQUE7RUFDQSxrQkFBQTtBdEg0amZGO0FzSDFqZkU7RUFDRSxhQUFBO0F0SDRqZko7O0FzSHhqZkE7OztNQUFBO0FBTUU7RUFDRSx3QkFBQSxFQUFBLE1BQUEsRUFBQSxNQUFBO0F0SHlqZko7O0FzSHJqZkE7O01BQUE7QUFJQTtFQUNFLHdCQUFBLEVBQUEsTUFBQTtBdEh1amZGO0FzSHRqZkU7RUFDRSx5QkFBQSxFQUFBLE1BQUEsRUFBQSxNQUFBO0F0SHdqZko7O0FzSHBqZkE7RUFDRSxlQUFBO0VBQ0EsZ0JuRy9qQ21CO0FuQnNuaEJyQjs7QXNIcGpmQTtFQUNFLGVBQUE7RUFDQSxnQkFBQTtFQUNBLGVBQUE7QXRIdWpmRjs7QXNIcGpmQTs7OztJQUFBO0FBTUE7O0VBRUUscUJBQUE7RUFDQSxlQUFBO0VBQ0EsZ0JBQUEsRUFBQSxNQUFBO0VBQ0EsZ0JBQUEsRUFBQSxNQUFBO0VBQ0Esb0JBQUEsRUFBQSxNQUFBO0VBRUE7O0tBQUE7QXRIdWpmRjtBc0huamZFOztFQUNFLGNBQUEsRUFBQSxNQUFBO0F0SHNqZko7QXNIcmpmSTs7RUFDRSx5QkFBQTtBdEh3amZOOztBc0huamZBOztFQUVFLGFBQUE7RUFDQSxtQkFBQTtFQUNBLGdCQUFBO0VBQ0EsbUJuR3ptQ3FCO0VtRzBtQ3JCLGlCbkhqbUNpQjtFbUhrbUNqQixjL0Rqa0NvQjtFK0Rra0NwQixtQkFBQTtFQUNBLGdCQUFBO0VBQ0EsdUJBQUE7QXRIc2pmRjtBc0hwamZFOzs7RUFFRSxnQm5HaG5DaUI7QW5CdXFoQnJCO0FzSHBqZkU7O0VBQ0UsYUFBQTtBdEh1amZKO0FzSHBqZkU7O0VBQ0UsaUJBQUE7QXRIdWpmSjs7QXNIbmpmQTs7eUNBQUE7QUFJQTs7O0VBQUE7QUFLQTtFQUNFLHFCQUFBO0VBQ0EsYUFBQTtFQUNBLHVCQUFBO0VBQ0EsZUFBQTtFQUNBLG1Cbkhub0NpQjtFbUhvb0NqQixvQm5IcG9DaUI7QUh3cmhCbkI7QXNCdm1oQlE7RWdHcWpDTjtJQUVJLHFCQUFBO0V0SG9qZko7QUFDRjtBc0hqamZFO0VBQ0Usa0JBQUE7QXRIbWpmSjtBc0hoamZFO0VBQ0UsYy9EaG5Da0I7RStEaW5DbEIsWUFBQTtFQUNBLGNBQUE7QXRIa2pmSjtBc0hoamZJO0VBRUUsVUFBQTtBdEhpamZOO0FzSDlpZkk7RUFDRSxXQUFBO0VBQ0EsY0FBQTtFQUNBLFFBQUE7RUFDQSxXQUFBO0VBQ0Esa0JBQUE7RUFDQSxRQUFBO0VBQ0EsbUIvRHJvQ2M7RStEc29DZCxnQ0FBQTtBdEhnamZOO0FzSDdpZkk7RUFDRSxVQUFBO0F0SCtpZk47QXNIOWlmTTtFQUNFLFdBQUE7QXRIZ2pmUjtBc0J2b2hCUTtFZ0c2aUNSO0lBZ0RJLE1BQUE7SUFDQSxnQkFBQTtJQUNBLGtCQUFBO0lBQ0Esd0JBQUE7RXRIOGlmRjtFc0g1aWZFO0lBQ0UsY0FBQTtFdEg4aWZKO0VzSDdpZkk7SUFDRSxrQkFBQTtFdEgraWZOO0VzSDdpZkk7SUFDRSxtQkFBQSxFQUFBLE1BQUE7RXRIK2lmTjtBQUNGOztBc0gxaWZBOzs7OztFQUFBO0FBT0E7RUFDRSxrQkFBQTtBdEg0aWZGO0FzSDFpZkU7RUFDRSxXQUFBO0VBQ0Esa0JBQUE7RUFDQSxNQUFBO0VBQ0EsUUFBQTtFQUNBLFdBQUE7RUFDQSxZbkgvc0NlO0VtSGd0Q2YsNEVBQUE7QXRINGlmSjs7QXNIcGlmQTs7RUFBQTtBQUtFO0VBQ0UsZ0JBQUEsRUFBQSxNQUFBO0VBQ0EsaUJBQUEsRUFBQSxNQUFBO0VBQ0EsNkJuSHZyQ3FCLEVtSHVyQ00sTUFBQTtBdEhxaWYvQjs7QXNIaGlmRTtFQUNFLGdCbkh0dUNlO0FIeXdoQm5COztBc0g1aGZBO0VBQ0UsYUFBQTtBdEgraGZGOztBc0g1aGZBO0VBQ0UsZ0JBQUE7RUFDQSxpQkFBQTtFQUNBLGVBQUE7QXRIK2hmRjs7QXNINWhmQTtFQUNFLGFBQUE7RUFDQSxxQkFBQTtBdEgraGZGO0FzSDdoZkU7Ozs7RUFJRSxlQUFBO0VBQ0Esa0JBQUE7RUFDQSxhQUFBO0VBQ0EsY0FBQTtBdEgraGZKO0FzSDVoZkU7RUFDRSxtQkFBQTtBdEg4aGZKO0FzSDVoZkU7RUFDRSxtQkFBQTtBdEg4aGZKO0FzSDVoZkU7RUFDRSxtQkFBQTtBdEg4aGZKO0FzSDVoZkU7RUFDRSxtQkFBQTtBdEg4aGZKO0FzSDNoZkU7RUFDRSxlQUFBO0F0SDZoZko7QXNIMWhmRTtFQUNFO0lBQ0UsbUJBQUE7RXRINGhmSjtFc0gzaGZJO0lBQ0UsZ0JBQUE7RXRINmhmTjtBQUNGOztBc0h4aGZBOzt5Q0FBQTtBQUlBO0VBQ0Usa0JBQUE7RUFDQSxnQkFBQTtBdEgwaGZGOztBc0h2aGZBOzt5Q0FBQTtBQUlBOzs7RUFBQTtBQU9BO0VBQ0UsY0FBQTtFQUNBLFdBQUE7QXRIc2hmRjs7QXNIcGhmQTtFQUNFLGtCQUFBO0VBQ0EsY0FBQTtFQUVBLFdBQUE7RUFJQSxxQkFBQTtFQUNBLGVBQUE7RUFDQSx5QkFBQTtFQUNBLG1CQUFBO0F0SG1oZkY7QXNIbGhmRTtFQUVFLDBDQUFBO0F0SG1oZko7O0FzSGhoZkE7RUFDRSxXQUFBO0VBQ0Esa0JBQUE7RUFDQSxpQkFBQTtFQUNBLHlCbkh6NUNTO0VtSDA1Q1QsZUFBQTtFQUNBLGNBQUE7QXRIbWhmRjtBc0hsaGZFO0VBQ0UsY0FBQTtBdEhvaGZKO0FzSGpoZkU7RUFDSSxhQUFBO0VBQ0EsY0FBQTtFQUNBLDZZQUFBO0F0SG1oZk47QXNIaGhmRTtFQUNJLGlYQUFBO0F0SGtoZk47O0FzSC9nZkE7RUFDRSxtQkFBQTtFQUNBLHNCQUFBO0VBQ0EsV0FBQTtFQUNBLGlCbkhsMkNpQjtFbUhtMkNqQixtQkFBQTtBdEhraGZGOztBc0hoaGZBO0VBQ0UsZUFBQTtFQUVBLGNBQUE7QXRIa2hmRjs7QXNIaGhmQTtFQUVFLGtCQUFBO0VBQ0EsU0FBQTtFQUNBLFdBQUE7RUFDQSxVQUFBO0F0SGtoZkY7O0FzSC9nZkE7OztFQUFBO0FBS0E7RUFDRSxrQkFBQSxFQUFBLG9DQUFBO0VBQ0EscUJBQUEsRUFBQSx1RUFBQTtFQUNBLHVCQUFBLEVBQUEsaUZBQUE7RUFDQSxxQkFBQTtFQUNBLGNBQUEsRUFBQSxpRUFBQTtFQUNBLGdCQUFBO0F0SGloZkY7O0FzSC9nZkE7RUFDRSxxQkFBQTtFQUNBLGtCQUFBLEVBQUEsa0ZBQUE7RUFDQSxrQkFBQTtFQUNBLHlCQUFBO0F0SGtoZkY7O0FzSC9nZkE7OztFQUFBO0FBS0E7RUFDRSxhQUFBO0F0SGloZkY7O0FzSDlnZkEsc0RBQUE7QUFDQTtFQUNFLGVBQUE7RUFDQSxjQUFBO0F0SGloZkY7QXNIaGhmRTtFQUNFLGNBQUE7QXRIa2hmSjs7QXVIeGdpQkE7K0VBQUE7QUFHQTtFQUNDLG1CcEg4RmtCO0FINDZoQm5COztBdUh2Z2lCQTtFQUNDLG9CQUFBO0F2SDBnaUJEOztBdUh2Z2lCQTs7RUFFQyxrQkFBQTtFQUNBLDZCQUFBO0VBQ0EsZ0JBQUE7RUFDQSxjQUFBO0F2SDBnaUJEO0F1SHhnaUJDOzs7O0VBRUMsa0JBQUE7QXZINGdpQkY7QXVIemdpQkM7Ozs7OztFQUdDLDhCQUFBO0F2SDhnaUJGO0F1SDNnaUJDOztFQUNDLDhCQUFBO0VBQ0EsaUJBQUE7RUFDQSxpQkFBQTtFQUNBLGVBQUE7RUFDQSxjQUFBO0F2SDhnaUJGO0F1SHJpaUJBOztFQTBCQzs7SUFBQTtBdkhpaGlCRDtBdUg5Z2lCQzs7RUFDQyxvQkFBQTtFQUNBLGNBQUE7QXZIaWhpQkY7QXVIOWdpQkM7O0VBQ0MsdUJBQUE7RUFDQSxtQkFBQTtBdkhpaGlCRjtBdUgvZ2lCRTs7RUFDQyxnQkFBQTtBdkhraGlCSDtBdUg3Z2lCRTs7RUFDQyxXQUFBO0F2SGdoaUJIO0F1SDVnaUJDOztFQUNDLHlCQUFBO0VBQ0Esa0JwSHVFYztBSHc4aEJoQjtBdUg1Z2lCQzs7RUFDQyxrQnBIbUVjO0FINDhoQmhCO0F1SDVnaUJDOztFQUNDLGVBQUE7RUFDQSxpQkFBQTtFQUNBLG1CQUFBO0VBQ0EsdUJBQUE7QXZIK2dpQkY7QXVIN2dpQkU7O0VBQ0MsYUFBQTtBdkhnaGlCSDtBdUhqbGlCQTs7RUFxRUM7Ozs7Ozs7SUFBQTtBdkh1aGlCRDtBdUg5Z2lCQzs7RUFDQyx1QkFBQSxFQUFBLE1BQUE7QXZIaWhpQkY7QXVIL2dpQkU7cURBQUEsTUFBQTtFQUNDLG1CcEdvV29CO0VvR25XcEIsY0FBQTtFQUNBLHVCQUFBO0VBQ0EsaUJBQUE7QXZIa2hpQkg7QXVIOWdpQkc7O0VBQ0MsbUJBQUE7QXZIaWhpQko7QXVIOWdpQkc7O0VBQ0MsUUFBQSxFQUFBLE1BQUE7QXZIaWhpQko7QXVIN2dpQkU7O0VBQ0MsY0FBQTtFQUNBLGVBQUE7T0FBQSxVQUFBO0F2SGdoaUJIO0FzQjU4aEJRO0VpR2pFSjs7SUFDQyxlQUFBO1NBQUEsVUFBQTtFdkhpaGlCSDtFdUgvZ2lCRTs7SUFDQyxlQUFBO1NBQUEsVUFBQTtFdkhraGlCSDtBQUNGO0F1SC9naUJHOztFQUNDLCtCQUFBO09BQUEsbUJBQUE7QXZIa2hpQko7QXVIN2dpQkM7O0VBQ0MsdUJBQUE7RUFDQSxXQUFBO0F2SGdoaUJGO0F1SDlnaUJFOztFQUNDLGNBQUE7QXZIaWhpQkg7QXVIN2dpQkM7O0VBQ0MsY0FBQTtFQUNBLGNBQUE7RUFDQSxVQUFBO0F2SGdoaUJGO0F1SDdnaUJDOztFQUNDLHlCQUFBO0F2SGdoaUJGO0F1SDdnaUJDOztFQUNDLHFCQUFBO0F2SGdoaUJGO0F1SDdnaUJDOztFQUNDLHFCQUFBO0VBQ0EsWUFBQTtFQUNBLFdBQUE7RUFDQSxtQkFBQTtBdkhnaGlCRjtBdUg3Z2lCQzs7RUFDQyxxQkFBQTtFQUNBLFdBQUE7RUFDQSxXQUFBO0VBQ0Esa0JBQUE7RUFDQSxVQUFBO0F2SGdoaUJGO0F1SDdnaUJDOztFQUNDLGtCQUFBO0VBQ0EsU0FBQTtFQUNBLFFBQUE7RUFDQSxhQUFBO0VBQ0EsWUFBQTtFQUNBLGNBQUE7QXZIZ2hpQkY7QXVIN2dpQkM7O0VBQ0Msa0JBQUE7QXZIZ2hpQkY7QXVIOWdpQkU7O0VBQ0Msa0JBQUE7RUFDQSxRQUFBO0VBQ0EsV0FBQTtBdkhpaGlCSDtBdUg5Z2lCQzs7RUFDQyxrQkFBQTtFQUNBLE1BQUE7RUFDQSxXQUFBO0F2SGloaUJGO0F1SC9naUJFOztFQUNDLGVBQUE7RUFDQSxhQUFBO0VBQ0EsWUFBQTtFQUNBLGNBQUE7QXZIa2hpQkg7QXVIeHNpQkE7O0VBOExDOzs7SUFBQTtBdkhpaGlCRDtBdUg1Z2lCQzs7RUFDQyxpQkFBQTtFQUNBLGdCQUFBO0VBQ0EsbUJBQUE7RUFDQSxnQkFBQTtBdkgrZ2lCRjtBc0I5aWlCUTtFaUcyQlA7O0lBT0UsaUJBQUE7RXZIaWhpQkQ7QUFDRjs7QXdIdnVpQkE7O3lDQUFBO0FBSUE7O0VBQUE7QUFJQTs7O0VBQUE7QUFLQTtFQUNDLGlCQUFBO0VBQ0EseUJBQUE7RUFDQSwyQkFBQTtFQUNBLDZCckgwSHdCO0FINm1pQnpCOztBd0hwdWlCQTs7O0VBQUE7QUFNQztFQUNDLGdCQUFBLEVBQUEsTUFBQTtBeEhxdWlCRjs7QXdIanVpQkE7Ozs7R0FBQTtBQU1BO0VBQ0MsTUFBQTtFQUNBLGVBQUE7QXhIbXVpQkQ7O0F3SGh1aUJBO0VBRUMsZUFBQTtBeEhrdWlCRDtBc0IzbGlCUTtFa0d6SVI7SUFJRSxlQUFBO0lBQ0EsYUFBQTtJQUNBLHNCQUFBO0V4SG91aUJBO0FBQ0Y7QXdIbHVpQkM7RUFDQyxjakUrRW9CO0VpRTlFcEIsYUFBQTtBeEhvdWlCRjs7QXdIaHVpQkE7O0VBRUMsZUFBQTtFQUNBLG1CckhzQ2tCO0FINnJpQm5COztBc0I1bWlCUTtFa0dwSFI7SUFFRSxnQkFBQTtFeEhtdWlCQTtBQUNGOztBd0hodWlCQTs7S0FBQTtBQUlBOztFQUVDLGdDQUFBO0VBQ0EsbUJBQUEsRUFBQSxNQUFBO0VBQ0EsaUNBQUEsRUFBQSxNQUFBO0VBQ0EsNEJBQUEsRUFBQSxNQUFBO0F4SGt1aUJEO0F3SGp1aUJDOzs7O0VBR0MscUJBQUE7RUFDQSxxQkFBQTtBeEhvdWlCRjs7QXdIaHVpQkE7RUFDQyw2RkFBQTtBeEhtdWlCRDs7QXdIaHVpQkE7RUFDQywwRkFBQTtBeEhtdWlCRDs7QXdIaHVpQkE7RUFDQyxlQUFBO0VBQ0EsZ0JBQUE7RUFDQSxtQkFBQTtBeEhtdWlCRDs7QXdIaHVpQkE7RUFDQyxhQUFBO0VBQ0EsbUJBQUE7RUFDQSx1QkFBQTtFQUNBLGtCQUFBO0VBQ0EsZUFBQTtBeEhtdWlCRDtBc0JycGlCUTtFa0c1RU47SUFDQyxpQkFBQTtJQUNBLGtCQUFBO0V4SG91aUJEO0FBQ0Y7QXNCM3BpQlE7RWtHdEVOO0lBQ0MsaUJySGpCZ0I7SXFIa0JoQixrQnJIbEJnQjtFSHN2aUJqQjtBQUNGOztBd0hodWlCQTtFQUNDLGFBQUE7RUFDQSxzQkFBQTtFQUNBLHVCQUFBO0VBQ0EsbUJBQUE7RUFDQSxrQkFBQTtFQUNBLFlBQUE7RUFDQSxXQUFBO0VBQ0EseUJySHREWTtBSHl4aUJiOztBd0hodWlCQTs7O0VBQUE7QUFLQTtFQUNDLGFBQUE7RUFDQSx1QkFBQTtBeEhrdWlCRDs7QXdIL3RpQkE7RUFDQyx5QmpFakJtQjtFaUVrQm5CLGNBQUE7RUFDQSxhQUFBO0VBQ0EsWUFBQTtBeEhrdWlCRDs7QXdIL3RpQkE7RUFDQyxlQUFBO0VBQ0EsY0FBQTtFQUNBLGtCQUFBO0F4SGt1aUJEO0F3SGp1aUJDO0VBQ0MsZUFBQTtBeEhtdWlCRjs7QXdIL3RpQkE7RUFDQyxlQUFBO0F4SGt1aUJEO0F3SGp1aUJDO0VBQ0MsZUFBQTtBeEhtdWlCRjs7QXdIL3RpQkE7O0VBQUE7QUFJQTtFQUNDLHlCckgvQndCO0VxSGdDeEIseUJBQUE7RUFDQSxhckgxRWtCO0VxSDJFbEIsbUJySDNFa0I7RXFINEVsQixrQkFBQTtBeEhpdWlCRDtBc0I1dGlCUTtFa0dWUjtJQU9FLG9CQUFBO0V4SG11aUJBO0FBQ0Y7QXdIanVpQkM7RUFDQyxjckhqRmdCO0FIb3ppQmxCOztBd0gvdGlCQTtFQUNDLGVBQUE7RUFDQSxnQnJHL0ZvQjtBbkJpMGlCckI7O0F3SC90aUJBO0VBQ0MsZ0JBQUE7RUFDQSxtQkFBQTtBeEhrdWlCRDs7QXdIL3RpQkE7RUFDQyxnQkFBQTtFQUNBLG1CQUFBO0F4SGt1aUJEOztBd0gvdGlCQTtFQUNDLGVBQUE7RUFDQSxtQkFBQTtFQUNBLGdCQUFBO0F4SGt1aUJEOztBd0gvdGlCQTs7RUFBQTtBQUlBOztFQUVDLGNySGpMVSxFcUhpTGdCLE1BQUE7QXhIaXVpQjNCOztBd0g5dGlCQTs7O0VBQUE7QUFNQztFQUNDLFdBQUE7RUFDQSxZQUFBO0F4SCt0aUJGOztBd0gzdGlCQTs7RUFBQTtBQUlBO0VBQ0MsYUFBQTtFQUNBLGVBQUE7RUFDQSxtQkFBQTtFQUNBLHVCQUFBO0F4SDZ0aUJEOztBd0gxdGlCQzs7O0VBQUE7QUFJQTtFQUNDLGFBQUE7RUFDQSxzQkFBQTtFQUNBLG1CQUFBO0VBQ0Esa0JBQUEsRUFBQSxNQUFBO0VBQ0EsV0FBQTtFQUNBLGdCQUFBO0VBQ0EsYUFBQTtFQUNBLHlCQUFBO0VBQ0EseUJySC9HdUI7RXFIZ0h2QixtQkFBQTtBeEg2dGlCRjs7QXdIMXRpQkU7RUFDQyxtQnJIN0pnQjtBSDAzaUJuQjs7QXdIMXRpQkU7RUFDQyxlQUFBO0VBQ0EsZ0JyR3pLa0I7RXFHMEtsQixpQkFBQTtFQUNBLGtCQUFBO0F4SDZ0aUJIOztBd0gxdGlCRTs7OztFQUFBO0FBS0E7RUFDQyxjckg5T1E7RXFIK09SLGtCQUFBO0VBQ0EsV0FBQSxFQUFBLE1BQUE7QXhINnRpQkg7O0F3SDF0aUJBO0VBQ0MsV0FBQTtFQUNBLGtCQUFBO0VBQ0EscUJBQUE7RUFDQSx5QnJIN0l3QjtFcUg4SXhCLHlCQUFBO0VBQ0EsYXJIeExrQjtFcUh5TGxCLG1CQUFBO0F4SDZ0aUJEO0F3SDN0aUJDO0VBQ0MsZ0JBQUE7QXhINnRpQkY7O0F3SHp0aUJDO0VBQ0MsZUFBQTtFQUNBLGdCckd6TW1CO0FuQnE2aUJyQjs7QXdIeHRpQkM7RUFDQyxtQkFBQTtFQUNBLG1Cckh4TWlCO0FIbTZpQm5COztBd0h4dGlCQztFQUNDLGFBQUE7RUFDQSxlQUFBO0F4SDJ0aUJGOztBd0h4dGlCRTtFQUNDLFdBQUE7RUFDQSxxQkFBQTtFQUNBLG1CQUFBO0F4SDJ0aUJIO0FzQjcxaUJRO0VrRytITjtJQU1FLFVBQUE7SUFDQSxpQkFBQTtJQUNBLGtCQUFBO0V4SDR0aUJGO0FBQ0Y7QXdIMXRpQkc7RUFDQyxnQkFBQTtBeEg0dGlCSjs7QXdIeHRpQkc7RUFDQyxXQUFBO0F4SDJ0aUJKOztBd0h4dGlCRztFQUNDLGVBQUE7RUFDQSxnQnJHN09pQjtBbkJ3OGlCckI7O0F3SHh0aUJHO0VBQ0MsYUFBQTtBeEgydGlCSjs7QXdIdnRpQkE7O0VBQUE7QWxHN0pRO0VrR2lLUjtJQUVFLGFBQUE7RXhIeXRpQkE7QUFDRjtBd0h4dGlCQztFQUNDLGFBQUEsRUFBQSxNQUFBO0F4SDB0aUJGOztBc0JoNGlCUTtFa0cwS1I7O0lBR0UsZUFBQTtFeEh5dGlCQTtBQUNGO0FzQnY0aUJRO0VrRzBLUjs7SUFNRSxlQUFBO0V4SDR0aUJBO0FBQ0Y7O0F3SHp0aUJBO0VBQ0MsaUJBQUE7RUFDQSxvQkFBQTtBeEg0dGlCRDtBd0gzdGlCQztFQUNDLGNqRXhPb0I7QXZEcThpQnRCOztBd0h6dGlCQTs7RUFFQyxlQUFBO0VBQ0EsbUJBQUE7QXhINHRpQkQ7O0FzQjM1aUJRO0VrR2tNUjtJQUVFLG1CQUFBO0V4SDR0aUJBO0FBQ0Y7O0F3SHp0aUJBOztLQUFBO0FBSUE7O0VBRUMsZ0NBQUE7RUFDQSxtQkFBQSxFQUFBLE1BQUE7RUFDQSxpQ0FBQSxFQUFBLE1BQUE7RUFDQSw0QkFBQSxFQUFBLE1BQUE7QXhIMnRpQkQ7QXdIMXRpQkM7Ozs7RUFHQyxxQkFBQTtFQUNBLHFCQUFBO0F4SDZ0aUJGOztBd0h6dGlCQTtFQUNDLDZGQUFBO0F4SDR0aUJEOztBd0h6dGlCQTtFQUNDLDBGQUFBO0F4SDR0aUJEOztBd0h6dGlCQTtFQUNDLGFBQUE7RUFDQSxzQkFBQTtFQUNBLHVCQUFBO0VBQ0EsWUFBQTtFQUNBLDJCQUFBO0VBQ0EsV0FBQTtFQUNBLGNBQUE7QXhINHRpQkQ7QXNCcjhpQlE7RWtHa09SO0lBU0Usa0JBQUE7RXhIOHRpQkE7QUFDRjs7QXdIM3RpQkE7RUFDQyxnQkFBQTtFQUNBLGVBQUE7RUFFQSxpQnJIcFVrQjtBSGlpakJuQjtBc0JoOWlCUTtFa0crT1I7SUFNRSxzQkFBQTtFeEgrdGlCQTtBQUNGOztBd0g1dGlCQTtFQUNDLGFBQUE7RUFDQSxtQkFBQTtFQUNBLGdCckdwVm9CO0FuQm1qakJyQjtBc0IzOWlCUTtFa0d5UFI7SUFLRSxtQkFBQTtFeEhpdWlCQTtBQUNGO0FzQmgraUJRO0VrR2lRTjtJQUNDLGlCQUFBO0V4SGt1aUJEO0FBQ0Y7O0F3SDl0aUJBO0VBQ0MsV0FBQTtFQUNBLFlBQUE7RUFDQSxpQkFBQTtFQUNBLGNqRWhVbUI7QXZEaWlqQnBCOztBd0g5dGlCQTtFQUNDLHdCQUFBO0F4SGl1aUJEOztBd0g5dGlCQTtFQUNDLFdBQUE7RUFDQSxZQUFBO0VBQ0EsaUJBQUE7QXhIaXVpQkQ7O0F3SDl0aUJBOzs7RUFBQTtBQUtBO0VBQ0MsYUFBQTtFQUNBLHNCQUFBO0VBQ0EsZUFBQTtFQUNBLGlCQUFBO0VBQ0Esa0JBQUE7RUFDQSxtQnJIcFhrQjtBSG9sakJuQjtBc0JuZ2pCUTtFa0c2UlI7SUFRRSxtQkFBQTtJQUNBLHVCQUFBO0V4SGt1aUJBO0FBQ0Y7QXNCemdqQlE7RWtHNlJSO0lBWUUseUJBQUE7SUFDQSxvQkFBQTtFeEhvdWlCQTtBQUNGO0F3SGx1aUJDO0VBQ0MsY2pFOVZvQjtBdkRra2pCdEI7O0F3SGh1aUJBOztFQUdDLGVBQUE7RUFDQSxtQnJIdllrQjtBSHltakJuQjtBc0J4aGpCUTtFa0drVFI7O0lBTUUsa0JBQUE7RXhIcXVpQkE7QUFDRjs7QXNCOWhqQlE7RWtHNFRSO0lBRUUsbUJBQUE7RXhIcXVpQkE7QUFDRjs7QXdIbHVpQkE7O0lBQUE7QUFJQTs7RUFFQyxlQUFBO0VBQ0EsZUFBQTtFQUNBLGdDQUFBO0VBQ0EsbUJBQUEsRUFBQSxNQUFBO0VBQ0EsaUNBQUEsRUFBQSxNQUFBO0VBQ0EsNEJBQUEsRUFBQSxNQUFBO0VBQ0EsV0FBQTtBeEhvdWlCRDtBd0hudWlCQzs7OztFQUdDLHFCQUFBO0VBQ0EscUJBQUE7QXhIc3VpQkY7O0F3SGx1aUJBO0VBQ0MsNkZBQUE7QXhIcXVpQkQ7O0F3SGx1aUJBO0VBQ0MsMEZBQUE7QXhIcXVpQkQ7O0F3SGx1aUJBLDJDQUFBO0FBTUE7RUFDQyxhQUFBO0VBQ0EsV0FBQTtFQUNBLGtCQUFBO0VBQ0Esc0JBQUE7RUFDQSw0Q0FBQTtFQUNBLG1DQUFBO0VBQ0EsYUFBQTtFQUNBLGlCQUFBO0F4SGd1aUJEOztBeUhod2pCQTtFQUNDLDZCQUFBO0VBQ0Esa0JBQUE7RUFDQSxnQkFBQTtFQUNBLFVBQUE7RUFDQSwrQkFBQTtBekhtd2pCRDtBeUhsd2pCQztFQU5EO0lBV0UsaUJBQUE7RXpIaXdqQkE7QUFDRjtBeUgvdmpCQztFQUNDLGlCQUFBO0F6SGl3akJGO0F5SDl2akJDO0VBQ0MsNEJBQUE7QXpIZ3dqQkY7QXlIOXZqQkU7RUFDQyxlQUFBO0F6SGd3akJIO0F5SDd2akJFO0VBQ0MsYUFBQTtBekgrdmpCSDtBeUgzdmpCRztFQUNDLGFBQUE7RUFDQSw0QkFBQTtFQUNBLDBCQUFBO0F6SDZ2akJKO0FzQjNtakJRO0VtR3JKTDtJQUtFLCtCQUFBO0V6SCt2akJIO0FBQ0Y7QXlINXZqQkc7RUFDQyxnQnRIMERlO0FIb3NqQm5CO0F5SDN2akJHO0VBQ0MseUJBQUE7RUFDQSxnQkFBQTtFQUNBLG1CQUFBO0VBQ0EsV0FBQTtBekg2dmpCSjtBeUgzdmpCSTtFQUNDLGdCdEd5Q2dCO0FuQm90akJyQjtBeUgxdmpCSTs7RUFFQyxnQkFBQTtBekg0dmpCTDtBeUh6dmpCSTtFQUNDLGVsRW1FZTtBdkR3cmpCcEI7QXlIeHZqQkk7RUFDQyxlQUFBO0F6SDB2akJMO0F5SHZ2akJJO0VBQ0MsaUJBQUE7QXpIeXZqQkw7QXlIdHZqQkc7RUFDQyxXQUFBO0F6SHd2akJKO0F5SHR2akJJO0VBQ0MsWUFBQTtBekh3dmpCTDtBeUh0dmpCSztFQUNDLFlBQUE7QXpId3ZqQk47QXNCbHBqQlE7RW1HbEdKO0lBSUUsaUJBQUE7RXpIb3ZqQko7QUFDRjtBeUhqdmpCSTtFQUNDLGFBQUE7RUFDQSxnQkFBQTtFQUNBLDRCQUFBO0VBQ0EsMEJBQUE7QXpIbXZqQkw7QXNCN3BqQlE7RW1HMUZKO0lBT0UsK0JBQUE7RXpIb3ZqQko7QUFDRjtBeUhsdmpCSztFQUNDLFdBQUE7RUFDQSxvQkFBQTtFQUNBLFdBQUE7QXpIb3ZqQk47QXlIanZqQks7RUFDQyxXQUFBO0VBQ0Esb0JBQUE7QXpIbXZqQk47QXlIOXVqQkc7RUFDQyxxQ0FBQTtBekhndmpCSjtBeUg5dWpCSTtFQUNDLGFBQUE7QXpIZ3ZqQkw7QXlIMXVqQks7RUFDQyxhQUFBO0VBQ0EsZ0NBQUE7RUFDQSw2QkFBQTtBekg0dWpCTjtBeUh4dWpCSTtFQUNDLG1CQUFBO0F6SDB1akJMO0F5SHZ1akJJO0VBQ0MsbUJBQUE7QXpIeXVqQkw7QXlIcnVqQkc7RUFDQyxvQkFBQTtBekh1dWpCSjtBeUhudWpCRTtFQUNDLDJCQUFBO0VBQ0EsMEJBQUE7QXpIcXVqQkg7QXlIbHVqQkU7RUFDQyxhQUFBO0F6SG91akJIO0F5SGp1akJFO0VBQ0MsV0FBQTtFQUNBLHVCQUFBO0VBQ0EsY0FBQTtBekhtdWpCSDtBeUg5dGpCRTtFQUNDLGFBQUE7RUFDQSw0QkFBQTtFQUNBLDBCQUFBO0VBQ0EsV0FBQTtBekhndWpCSDtBeUg3dGpCRTtFQUNDLFdBQUE7QXpIK3RqQkg7QXlIN3RqQkc7RUFDQyxnQkFBQTtFQUNBLFdBQUE7QXpIK3RqQko7QXlIM3RqQkU7RUFDQyxXQUFBO0F6SDZ0akJIO0F5SDN0akJHO0VBQ0MsZUFBQTtFQUNBLDRCQUFBO0F6SDZ0akJKO0F5SHh0akJDO0VBQ0MsY0FBQTtBekgwdGpCRjtBeUh2dGpCQztFQUNDLGtCQUFBO0VBQ0EsVUFBQTtFQUNBLDRCQUFBO0VBQ0EsNkJBQUE7RUFDQSxnQ0FBQTtBekh5dGpCRjtBeUh2dGpCRTtFQUNDLGFBQUE7QXpIeXRqQkg7QXlIcnRqQkM7O0VBRUMsa0JBQUE7QXpIdXRqQkY7QXlIcHRqQkM7RUFDQyxrQkFBQTtBekhzdGpCRjtBeUhudGpCQztFQUNDLGNBQUE7QXpIcXRqQkY7QXlIbnRqQkU7RUFDQyxhQUFBO0F6SHF0akJIO0F5SGp0akJDO0VBQ0MsMENBQUE7QXpIbXRqQkY7QXlIaHRqQkM7RUFDQyx1QkFBQTtFQUNBLG1CQUFBO0F6SGt0akJGO0F5SC9zakJDO0VBQ0Msa0JBQUE7RUFDQSxZQUFBO0VBQ0EsaUJBQUE7RUFDQSxhQUFBO0VBQ0EsNEJBQUE7RUFDQSwwQkFBQTtFQUNBLDZCQUFBO0F6SGl0akJGO0F5SDlzakJDO0VBQ0MsYUFBQTtBekhndGpCRjtBeUg3c2pCQztFQUNDLGFBQUE7RUFDQSxXQUFBO0VBQ0EsbUNBQUE7RUFDQSxtQ0FBQTtFQUNBLGdCQUFBO0F6SCtzakJGO0F5SDVzakJDO0VBQ0MsVUFBQTtBekg4c2pCRjtBeUgzc2pCQzs7RUFFQyxhQUFBO0VBQ0EscUJBQUE7RUFDQSx1QkFBQTtFQUNBLFNBQUE7QXpINnNqQkY7QXlIM3NqQkU7O0VBQ0MsZ0J0RzNLa0I7RXNHNEtsQixTQUFBO0F6SDhzakJIO0F5SDNzakJDO0VBQ0MsaUJBQUE7RUFDQSxrQkFBQTtFQUNBLFdBQUE7RUFDQSxjQUFBO0VBRUEsMkJBQUE7QXpINHNqQkY7QXlIMXNqQkU7RUFDQyxlQUFBO0VBQ0EsaUJBQUE7RUFDQSx1QkFBQTtBekg0c2pCSDtBeUh4c2pCQztFQUNDLFdBQUE7RUFDQSxjQUFBO0VBQ0EsZUFBQTtBekgwc2pCRjtBeUh4c2pCRTtFQUNDLGNsRWpLaUI7RWtFa0tqQixlQUFBO0VBQ0EsaUJBQUE7RUFDQSxrQkFBQTtBekgwc2pCSDtBeUh2c2pCQzs7RUFFQyxTQUFBO0F6SHlzakJGO0F5SHRzakJDO0VBQ0Msc0JBQUE7RUFDQSxnQkFBQTtBekh3c2pCRjtBeUhyc2pCQztFQUNDLG9HQUFBO0VBQ0EsbUJBQUE7RUFDQSxvQkFBQTtFQUNBLDhCQUFBO0F6SHVzakJGO0F5SHBzakJDO0VBQ0Msb0JBQUE7QXpIc3NqQkY7QXlIaHNqQkU7RUFFRSxhQUFBO0VBQ0EsZ0JBQUE7QXpIaXNqQko7QXlIN3JqQkU7RUFDQyxnQkFBQTtBekgrcmpCSDtBeUg1cmpCRTtFQUNDLGdCQUFBO0F6SDhyakJIO0F5SDFyakJDO0VBQ0MsYUFBQTtFQUNBLHFDQUFBO0VBQ0EsbUJBQUE7RUFDQSxxQkFBQTtFQUNBLG1CQUFBO0F6SDRyakJGO0F5SDNyakJFO0VBTkQ7SUFPRSxxQkFBQTtFekg4cmpCRDtBQUNGO0F5SDFyakJFO0VBQ0MsY0FBQTtFQUNBLGVBQUE7RUFDQSxnQkFBQTtFQUNBLGlCQUFBO0VBQ0Esb0JBQUE7RUFDQSx3QkFBQTtFQUNBLG9CQUFBO0VBQ0EsdUJBQUE7QXpINHJqQkg7QXlIM3JqQkc7RUFURDtJQVVFLGVBQUE7RXpIOHJqQkY7QUFDRjtBeUg3cmpCRztFQUNDLGNBQUE7QXpIK3JqQko7QXlINXJqQkc7RUFDQyxnQkFBQTtFQUNBLGNBQUE7QXpIOHJqQko7QXlIN3JqQkk7RUFIRDtJQUlFLGNBQUE7RXpIZ3NqQkg7QUFDRjtBeUg3cmpCRzs7RUFFQyx1QkFBQTtFQUNBLHVCQUFBO0F6SCtyakJKO0F5SDlyakJJO0VBSkQ7O0lBS0UsV0FBQTtFekhrc2pCSDtBQUNGO0F5SDdyakJDO0VBQ0Msc0JBQUE7QXpIK3JqQkY7O0F5SDNyakJBO0VBR0MscUJBQUE7RUFDQSwwQ0FBQTtFQUNBLGtCdEhqUWU7RXNIa1FmLGNBQUE7QXpINHJqQkQ7O0F3SDloakJBO0VBQ0MsZ0JBQUE7QXhIaWlqQkQ7O0F3SDloakJBOzs7O0VBQUE7QWxHdFhRO0VrR2dZUjtJQUVFLGlCQUFBO0lBSUEsZUFBQTtJQUNBLG9CQUFBO0V4SHloakJBO0FBQ0Y7QXdIOWhqQkU7RUFIRjtJQUlHLGlCQUFBO0V4SGlpakJEO0FBQ0Y7QXNCdDZqQlE7RWtHeVlOO0lBQ0MsNkNBZmlDO0V4SCtpakJsQztFd0g3aGpCQTtJQUNDLFdBQUE7SUFDQSxTQUFBO0lBQ0EsZ0JBQUE7RXhIK2hqQkQ7RXdINWhqQkE7SUFDQyxXQUFBO0V4SDhoakJEO0V3SHpoakJFO0lBQ0MsMkJBQUE7RXhIMmhqQkg7RXdIeGhqQkc7SUFDQywyQkFBQTtFeEgwaGpCSjtBQUNGO0FzQnA3akJRO0VrRzhaTDtJQUVFLDZDQTFDK0I7RXhIa2tqQmxDO0FBQ0Y7O0EwSGpua0JBOzt5Q0FBQTtBcEdtTFE7RW9HL0tSO0lBRUUsaUJBQUE7RTFIbW5rQkE7QUFDRjs7QXNCdjhqQlE7RW9HektSO0lBRUUsaUJBQUE7RTFIbW5rQkE7QUFDRjs7QXNCNzhqQlE7RW9HbktSO0lBRUUsY0FBQTtJQUNBLGtCQUFBO0UxSG1ua0JBO0UwSGpua0JBO0lBQ0MsY3ZIV1E7SXVIVlIsZUFBQTtJQUNBLGlCQUFBO0UxSG1ua0JEO0UwSGxua0JDO0lBQ0MsbUJ2RytEbUI7RW5CcWprQnJCO0UwSGpua0JDO0lBQ0MsYUFBQTtFMUhtbmtCRjtBQUNGOztBMEg5bWtCQTtFQUNDLG9CQUFBO0VBQ0EsbUJBQUE7RUFDQSxnQkFBQTtFQUNBLFlBQUE7RUFDQSxlQUFBO0VBQ0EseUJ2SGlHd0I7RXVIaEd4QixrQnZIMEZlO0V1SHpGZix1RnZId0xtQjtBSHk3akJwQjs7QTBIOW1rQkE7RUFDQyxjQUFBO0ExSGlua0JEOztBMEg5bWtCQTtFQUNDLGVBQUE7RUFDQSxpQkFBQTtFQUNBLGdCdkdxQ29CO0FuQjRra0JyQjs7QTBIOW1rQkE7RUFDQyxlQUFBO0VBQ0EsaUJBQUE7RUFDQSxnQnZHK0JvQjtBbkJrbGtCckI7QTBIL21rQkM7RUFDQyxtQnZHMEJxQjtFdUd6QnJCLGN2SDlCUztBSCtva0JYOztBMEg3bWtCQTtFQUNDLG1CdkhNWTtFdUhMWixpQkFBQTtFQUNBLFlBQUE7RUFDQSxlQUFBO0VBQ0EsZUFBQTtFQUNBLDBCQUFBO0VBQ0EsY3ZId0JpQjtBSHdsa0JsQjtBMEg5bWtCQztFQUVDLDZCQUFBO0ExSCtta0JGOztBMEgzbWtCQTtFQUNDLGtCQUFBO0ExSDhta0JEOztBMEgzbWtCQTtFQUNDLFlBQUE7RUFDQSxVQUFBO0VBQ0EsY0FBQTtFQUNBLGtCQUFBO0VBQ0EsWUFBQTtFQUNBLE1BQUE7RUFDQSxPQUFBO0VBQ0EsUUFBQTtFQUNBLDJDQUFBO0ExSDhta0JEOztBMEgzbWtCQTtFQUNDLGtCQUFBO0VBQ0EsVUFBQTtFQUNBLFFBQUE7RUFDQSxTQUFBO0VBQ0EsT0FBQTtFQUNBLFVBQUE7QTFIOG1rQkQ7O0EwSDNta0JBO0VBQ0Msa0JBQUE7QTFIOG1rQkQ7O0EySDN0a0JBOzs7Ozs7O0VBQUE7QUFTQTs7eUNBQUE7QUFJQTtFQUNDLGtCQUFBO0VBQ0EsUUFBQTtFQUNBLGVBQUE7RUFDQSxpQkFBQTtFQUNBLHVCQUFBO0VBQ0EsU0FBQTtFQUNBLGVBQUE7QTNINHRrQkQ7QTJIM3RrQkM7RUFFQyx1QkFBQTtBM0g0dGtCRjs7QTJIeHRrQkE7O3lDQUFBO0FBS0M7RUFDQyxrQkFBQTtFQUNBLFNBQUE7RUFDQSxlQUFBO0EzSHl0a0JGOztBMkhydGtCQTs7eUNBQUE7QUFJQTs7OztFQUFBO0FyRzZJUTtFcUd2SVI7SUFFRSxnQ0FBQSxFQUFBLE1BQUE7RTNIc3RrQkE7QUFDRiIsImZpbGUiOiJnaWdzYWxhZC5jc3MiLCJzb3VyY2VSb290IjoiL2NzcyJ9 */
