@charset "UTF-8";
html {
  box-sizing: border-box; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

/**
 * Prevent `sub` and `sup` affecting `line-height` in all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline; }

sup {
  top: -0.5em; }

sub {
  bottom: -0.25em; }

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

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

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

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

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

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

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

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

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

/**
 * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
 *    and `video` controls.
 * 2. Correct inability to style clickable `input` types in iOS.
 * 3. Improve usability and consistency of cursor style between image-type
 *    `input` and others.
 */
button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
  -webkit-appearance: button;
  /* 2 */
  cursor: pointer;
  /* 3 */ }

/**
 * Re-set default cursor for disabled elements.
 */
button[disabled],
html input[disabled] {
  cursor: default; }

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

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

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

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

/**
 * 1. Address `appearance` set to `searchfield` in Safari and Chrome.
 * 2. Address `box-sizing` set to `border-box` in Safari and Chrome
 *    (include `-moz` to future-proof).
 */
input[type="search"] {
  -webkit-appearance: textfield;
  /* 1 */
  -moz-box-sizing: content-box;
  -webkit-box-sizing: content-box;
  /* 2 */
  box-sizing: content-box; }

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

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

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

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

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

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

td,
th {
  padding: 0; }

/*
This class is supposed to be assigned to the parent of items you need organized. Example below:
<div class="rows-of-2">
  <div>Item</div>
  <div>Item</div>
  <div>Item</div>
  <div>Item</div>
</div>
This would give you 2 rows with 2 columns.
*/
.rows-of-2 {
  display: block; }
  .rows-of-2::after {
    clear: both;
    content: "";
    display: table; }
  .rows-of-2 > * {
    margin-bottom: 1.5em;
    display: block;
    position: relative; }
    .rows-of-2 > * > *:first-child {
      margin-top: 0; }
    @media (min-width: 40em) {
      .rows-of-2 > * {
        float: left;
        display: block;
        margin-right: 2.35765%;
        width: 48.82117%; }
        .rows-of-2 > *:last-child {
          margin-right: 0; }
        .rows-of-2 > *:nth-child(2n) {
          margin-right: 0; }
        .rows-of-2 > *:nth-child(2n+1) {
          clear: left; }
        .rows-of-2 > *:nth-last-child(2):last-child {
          margin-bottom: 0 !important; }
        .rows-of-2 > *:nth-last-child(1):last-child {
          margin-bottom: 0 !important; } }

.lt-ie9 .rows-of-2 {
  display: block; }
  .lt-ie9 .rows-of-2::after {
    clear: both;
    content: "";
    display: table; }
  .lt-ie9 .rows-of-2 > * {
    margin-bottom: 1.5em;
    display: block;
    position: relative; }
    .lt-ie9 .rows-of-2 > * > *:first-child {
      margin-top: 0; }
    @media (min-width: 40em) {
      .lt-ie9 .rows-of-2 > * {
        float: left;
        width: 50% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        padding-left: 1em;
        padding-right: 1em;
        display: inline-block !important;
        clear: none !important; } }

.rows-of-3 {
  display: block; }
  .rows-of-3::after {
    clear: both;
    content: "";
    display: table; }
  .rows-of-3 > * {
    margin-bottom: 1.5em;
    display: block;
    position: relative; }
    .rows-of-3 > * > *:first-child {
      margin-top: 0; }
    @media (min-width: 40em) {
      .rows-of-3 > * {
        float: left;
        display: block;
        margin-right: 2.35765%;
        width: 31.76157%; }
        .rows-of-3 > *:last-child {
          margin-right: 0; }
        .rows-of-3 > *:nth-child(3n) {
          margin-right: 0; }
        .rows-of-3 > *:nth-child(3n+1) {
          clear: left; } }

.lt-ie9 .rows-of-3 {
  display: block; }
  .lt-ie9 .rows-of-3::after {
    clear: both;
    content: "";
    display: table; }
  .lt-ie9 .rows-of-3 > * {
    margin-bottom: 1.5em;
    display: block;
    position: relative; }
    .lt-ie9 .rows-of-3 > * > *:first-child {
      margin-top: 0; }
    @media (min-width: 40em) {
      .lt-ie9 .rows-of-3 > * {
        float: left;
        width: 33.3% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        padding-left: 1em;
        padding-right: 1em; } }

.rows-of-4 {
  display: block; }
  .rows-of-4::after {
    clear: both;
    content: "";
    display: table; }
  .rows-of-4 > * {
    margin-bottom: 1.5em;
    display: block;
    position: relative; }
    .rows-of-4 > * > *:first-child {
      margin-top: 0; }
    @media (min-width: 40em) {
      .rows-of-4 > * {
        float: left;
        display: block;
        margin-right: 2.35765%;
        width: 23.23176%; }
        .rows-of-4 > *:last-child {
          margin-right: 0; }
        .rows-of-4 > *:nth-child(4n) {
          margin-right: 0; }
        .rows-of-4 > *:nth-child(4n+1) {
          clear: left; } }

.lt-ie9 .rows-of-4 {
  display: block; }
  .lt-ie9 .rows-of-4::after {
    clear: both;
    content: "";
    display: table; }
  .lt-ie9 .rows-of-4 > * {
    margin-bottom: 1.5em;
    display: block;
    position: relative; }
    .lt-ie9 .rows-of-4 > * > *:first-child {
      margin-top: 0; }
    @media (min-width: 40em) {
      .lt-ie9 .rows-of-4 > * {
        float: left;
        width: 25% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        padding-left: 1em;
        padding-right: 1em; } }

@media (max-width: 40em) {
  .mobile-rows-of-2 {
    display: block; }
    .mobile-rows-of-2::after {
      clear: both;
      content: "";
      display: table; }
    .mobile-rows-of-2 > * {
      margin-bottom: 1.5em;
      display: block;
      position: relative;
      float: left;
      display: block;
      margin-right: 7.42297%;
      width: 46.28851%; }
      .mobile-rows-of-2 > * > *:first-child {
        margin-top: 0; }
      .mobile-rows-of-2 > *:nth-last-child(1) {
        background-color: red;
        margin-bottom: 0; }
      .mobile-rows-of-2 > *:nth-last-child(2) {
        background-color: green;
        margin-bottom: 0; }
      .mobile-rows-of-2 > *:last-child {
        margin-right: 0; }
      .mobile-rows-of-2 > *:nth-child(2n) {
        margin-right: 0; }
      .mobile-rows-of-2 > *:nth-child(2n+1) {
        clear: left; } }

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

@media (min-width: 40em) {
  .col-1 {
    float: left;
    display: block;
    margin-right: 2.35765%;
    width: 6.17215%; }
    .col-1:last-child {
      margin-right: 0; }
  .col-2 {
    float: left;
    display: block;
    margin-right: 2.35765%;
    width: 14.70196%; }
    .col-2:last-child {
      margin-right: 0; }
  .col-3 {
    float: left;
    display: block;
    margin-right: 2.35765%;
    width: 23.23176%; }
    .col-3:last-child {
      margin-right: 0; }
  .col-4 {
    float: left;
    display: block;
    margin-right: 2.35765%;
    width: 31.76157%; }
    .col-4:last-child {
      margin-right: 0; }
  .col-5 {
    float: left;
    display: block;
    margin-right: 2.35765%;
    width: 40.29137%; }
    .col-5:last-child {
      margin-right: 0; }
  .col-6 {
    float: left;
    display: block;
    margin-right: 2.35765%;
    width: 48.82117%; }
    .col-6:last-child {
      margin-right: 0; }
  .col-7 {
    float: left;
    display: block;
    margin-right: 2.35765%;
    width: 57.35098%; }
    .col-7:last-child {
      margin-right: 0; }
  .col-8 {
    float: left;
    display: block;
    margin-right: 2.35765%;
    width: 65.88078%; }
    .col-8:last-child {
      margin-right: 0; }
  .col-9 {
    float: left;
    display: block;
    margin-right: 2.35765%;
    width: 74.41059%; }
    .col-9:last-child {
      margin-right: 0; }
  .col-10 {
    float: left;
    display: block;
    margin-right: 2.35765%;
    width: 82.94039%; }
    .col-10:last-child {
      margin-right: 0; }
  .col-11 {
    float: left;
    display: block;
    margin-right: 2.35765%;
    width: 91.4702%; }
    .col-11:last-child {
      margin-right: 0; }
  .col-12 {
    float: left;
    display: block;
    margin-right: 2.35765%;
    width: 100%; }
    .col-12:last-child {
      margin-right: 0; }
  .col-last {
    margin-right: 0;
    margin-right: 0 !important; } }

/**
 * @license
 * MyFonts Webfont Build ID 3313719, 2016-11-25T18:08:30-0500
 * 
 * The fonts listed in this notice are subject to the End User License
 * Agreement(s) entered into by the website owner. All other parties are 
 * explicitly restricted from using the Licensed Webfonts(s).
 * 
 * You may obtain a valid license at the URLs below.
 * 
 * Webfont: ProximaNova-Semibold by Mark Simonson
 * URL: http://www.myfonts.com/fonts/marksimonson/proxima-nova/semibold/
 * 
 * Webfont: ProximaNova-Light by Mark Simonson
 * URL: http://www.myfonts.com/fonts/marksimonson/proxima-nova/light/
 * 
 * Webfont: ProximaNova-LightIt by Mark Simonson
 * URL: http://www.myfonts.com/fonts/marksimonson/proxima-nova/light-it/
 * 
 * 
 * License: http://www.myfonts.com/viewlicense?type=web&buildid=3313719
 * Licensed pageviews: 1,000,000
 * Webfonts copyright: Copyright (c) Mark Simonson, 2005. All rights reserved.
 * 
 * © 2016 MyFonts Inc
*/
@font-face {
  font-family: "ProximaNova";
  font-weight: bold;
  src: url("fonts/proxima-nova/329037_0_0.eot");
  src: url("fonts/proxima-nova/329037_0_0.eot?#iefix") format("embedded-opentype"), url("fonts/proxima-nova/329037_0_0.woff2") format("woff2"), url("fonts/proxima-nova/329037_0_0.woff") format("woff"), url("fonts/proxima-nova/329037_0_0.ttf") format("truetype"); }

@font-face {
  font-family: "ProximaNova";
  font-weight: normal;
  src: url("fonts/proxima-nova/329037_1_0.eot");
  src: url("fonts/proxima-nova/329037_1_0.eot?#iefix") format("embedded-opentype"), url("fonts/proxima-nova/329037_1_0.woff2") format("woff2"), url("fonts/proxima-nova/329037_1_0.woff") format("woff"), url("fonts/proxima-nova/329037_1_0.ttf") format("truetype"); }

@font-face {
  font-family: "ProximaNova";
  font-weight: normal;
  font-style: italic;
  src: url("fonts/proxima-nova/329037_2_0.eot");
  src: url("fonts/proxima-nova/329037_2_0.eot?#iefix") format("embedded-opentype"), url("fonts/proxima-nova/329037_2_0.woff2") format("woff2"), url("fonts/proxima-nova/329037_2_0.woff") format("woff"), url("fonts/proxima-nova/329037_2_0.ttf") format("truetype"); }

body {
  height: 100%;
  -webkit-font-smoothing: antialiased;
  background-color: #23507a;
  color: #333;
  font-family: "ProximaNova", sans-serif;
  font-size: 1rem;
  font-weight: normal;
  line-height: 1.5; }
  @media (max-height: 46em) and (min-width: 60em) {
    body {
      font-size: 0.875rem; } }
  @media (max-height: 40em) and (min-width: 60em) {
    body {
      font-size: 0.75rem; } }

.display-font-size {
  font-size: 2.34375rem; }
  @media (min-width: 40em) {
    .display-font-size {
      font-size: 2.8125rem; } }
  @media (min-width: 60em) {
    .display-font-size {
      font-size: 3.125rem; } }

.xlarge-font-size {
  font-size: 1.875rem; }
  @media (min-width: 40em) {
    .xlarge-font-size {
      font-size: 2.25rem; } }
  @media (min-width: 60em) {
    .xlarge-font-size {
      font-size: 2.5rem; } }

.large-font-size {
  font-size: 1.5rem; }
  @media (min-width: 40em) {
    .large-font-size {
      font-size: 1.8rem; } }
  @media (min-width: 60em) {
    .large-font-size {
      font-size: 2rem; } }

.medium-font-size {
  font-size: 1.3125rem;
  margin-bottom: 2em;
  margin-top: 1.75em; }
  @media (min-width: 40em) {
    .medium-font-size {
      font-size: 1.5rem; } }
  @media (min-width: 60em) {
    .medium-font-size {
      font-size: 1.5rem; } }

.base-font-size {
  font-size: 1.0625rem; }
  @media (min-width: 40em) {
    .base-font-size {
      font-size: 1.0625rem; } }
  @media (min-width: 60em) {
    .base-font-size {
      font-size: 1.3125rem; } }

.small-font-size {
  font-size: 0.875rem; }
  @media (min-width: 40em) {
    .small-font-size {
      font-size: 0.875rem; } }
  @media (min-width: 60em) {
    .small-font-size {
      font-size: 1.0625rem; } }

h1,
h2,
.site-logo figcaption,
h3,
h4,
h5,
h6 {
  font-family: "ProximaNova", sans-serif;
  line-height: 1.25;
  margin: 0;
  color: #23507a; }
  h1 span,
  h2 span, .site-logo figcaption span,
  h3 span,
  h4 span,
  h5 span,
  h6 span {
    font-family: Georgia, Times, "Times New Roman", serif;
    font-style: italic;
    font-size: 0.5em;
    display: block;
    color: #5e7289; }
  h1 a:focus,
  h2 a:focus, .site-logo figcaption a:focus,
  h3 a:focus,
  h4 a:focus,
  h5 a:focus,
  h6 a:focus {
    background-color: #eeeeee; }
  h1 .link-style-inverted:focus, h1 .resume-container--dark-mode a:focus, .resume-container--dark-mode h1 a:focus, h1 .resume-container--half-mode .resume-header a:focus, .resume-container--half-mode .resume-header h1 a:focus, h1
  .resume-container--half-mode .resume-contact a:focus,
  .resume-container--half-mode .resume-contact h1 a:focus, h1
  .resume-container--half-mode .resume-summary a:focus,
  .resume-container--half-mode .resume-summary h1 a:focus, h1
  .resume-container--half-mode .resume-competencies a:focus,
  .resume-container--half-mode .resume-competencies h1 a:focus, h1
  .resume-container--half-mode .resume-highlights a:focus,
  .resume-container--half-mode .resume-highlights h1 a:focus, h1
  .resume-container--half-mode .resume-education a:focus,
  .resume-container--half-mode .resume-education h1 a:focus, h1 .site-footer a:focus, .site-footer h1 a:focus,
  h2 .link-style-inverted:focus, .site-logo figcaption .link-style-inverted:focus,
  h2 .resume-container--dark-mode a:focus, .resume-container--dark-mode
  h2 a:focus, .site-logo figcaption .resume-container--dark-mode a:focus, .resume-container--dark-mode .site-logo figcaption a:focus,
  h2 .resume-container--half-mode .resume-header a:focus, .resume-container--half-mode .resume-header
  h2 a:focus, .site-logo figcaption .resume-container--half-mode .resume-header a:focus, .resume-container--half-mode .resume-header .site-logo figcaption a:focus,
  h2
  .resume-container--half-mode .resume-contact a:focus,
  .resume-container--half-mode .resume-contact
  h2 a:focus, .site-logo figcaption
  .resume-container--half-mode .resume-contact a:focus,
  .resume-container--half-mode .resume-contact .site-logo figcaption a:focus,
  h2
  .resume-container--half-mode .resume-summary a:focus,
  .resume-container--half-mode .resume-summary
  h2 a:focus, .site-logo figcaption
  .resume-container--half-mode .resume-summary a:focus,
  .resume-container--half-mode .resume-summary .site-logo figcaption a:focus,
  h2
  .resume-container--half-mode .resume-competencies a:focus,
  .resume-container--half-mode .resume-competencies
  h2 a:focus, .site-logo figcaption
  .resume-container--half-mode .resume-competencies a:focus,
  .resume-container--half-mode .resume-competencies .site-logo figcaption a:focus,
  h2
  .resume-container--half-mode .resume-highlights a:focus,
  .resume-container--half-mode .resume-highlights
  h2 a:focus, .site-logo figcaption
  .resume-container--half-mode .resume-highlights a:focus,
  .resume-container--half-mode .resume-highlights .site-logo figcaption a:focus,
  h2
  .resume-container--half-mode .resume-education a:focus,
  .resume-container--half-mode .resume-education
  h2 a:focus, .site-logo figcaption
  .resume-container--half-mode .resume-education a:focus,
  .resume-container--half-mode .resume-education .site-logo figcaption a:focus,
  h2 .site-footer a:focus, .site-footer
  h2 a:focus, .site-logo figcaption .site-footer a:focus, .site-footer .site-logo figcaption a:focus,
  h3 .link-style-inverted:focus,
  h3 .resume-container--dark-mode a:focus, .resume-container--dark-mode
  h3 a:focus,
  h3 .resume-container--half-mode .resume-header a:focus, .resume-container--half-mode .resume-header
  h3 a:focus,
  h3
  .resume-container--half-mode .resume-contact a:focus,
  .resume-container--half-mode .resume-contact
  h3 a:focus,
  h3
  .resume-container--half-mode .resume-summary a:focus,
  .resume-container--half-mode .resume-summary
  h3 a:focus,
  h3
  .resume-container--half-mode .resume-competencies a:focus,
  .resume-container--half-mode .resume-competencies
  h3 a:focus,
  h3
  .resume-container--half-mode .resume-highlights a:focus,
  .resume-container--half-mode .resume-highlights
  h3 a:focus,
  h3
  .resume-container--half-mode .resume-education a:focus,
  .resume-container--half-mode .resume-education
  h3 a:focus,
  h3 .site-footer a:focus, .site-footer
  h3 a:focus,
  h4 .link-style-inverted:focus,
  h4 .resume-container--dark-mode a:focus, .resume-container--dark-mode
  h4 a:focus,
  h4 .resume-container--half-mode .resume-header a:focus, .resume-container--half-mode .resume-header
  h4 a:focus,
  h4
  .resume-container--half-mode .resume-contact a:focus,
  .resume-container--half-mode .resume-contact
  h4 a:focus,
  h4
  .resume-container--half-mode .resume-summary a:focus,
  .resume-container--half-mode .resume-summary
  h4 a:focus,
  h4
  .resume-container--half-mode .resume-competencies a:focus,
  .resume-container--half-mode .resume-competencies
  h4 a:focus,
  h4
  .resume-container--half-mode .resume-highlights a:focus,
  .resume-container--half-mode .resume-highlights
  h4 a:focus,
  h4
  .resume-container--half-mode .resume-education a:focus,
  .resume-container--half-mode .resume-education
  h4 a:focus,
  h4 .site-footer a:focus, .site-footer
  h4 a:focus,
  h5 .link-style-inverted:focus,
  h5 .resume-container--dark-mode a:focus, .resume-container--dark-mode
  h5 a:focus,
  h5 .resume-container--half-mode .resume-header a:focus, .resume-container--half-mode .resume-header
  h5 a:focus,
  h5
  .resume-container--half-mode .resume-contact a:focus,
  .resume-container--half-mode .resume-contact
  h5 a:focus,
  h5
  .resume-container--half-mode .resume-summary a:focus,
  .resume-container--half-mode .resume-summary
  h5 a:focus,
  h5
  .resume-container--half-mode .resume-competencies a:focus,
  .resume-container--half-mode .resume-competencies
  h5 a:focus,
  h5
  .resume-container--half-mode .resume-highlights a:focus,
  .resume-container--half-mode .resume-highlights
  h5 a:focus,
  h5
  .resume-container--half-mode .resume-education a:focus,
  .resume-container--half-mode .resume-education
  h5 a:focus,
  h5 .site-footer a:focus, .site-footer
  h5 a:focus,
  h6 .link-style-inverted:focus,
  h6 .resume-container--dark-mode a:focus, .resume-container--dark-mode
  h6 a:focus,
  h6 .resume-container--half-mode .resume-header a:focus, .resume-container--half-mode .resume-header
  h6 a:focus,
  h6
  .resume-container--half-mode .resume-contact a:focus,
  .resume-container--half-mode .resume-contact
  h6 a:focus,
  h6
  .resume-container--half-mode .resume-summary a:focus,
  .resume-container--half-mode .resume-summary
  h6 a:focus,
  h6
  .resume-container--half-mode .resume-competencies a:focus,
  .resume-container--half-mode .resume-competencies
  h6 a:focus,
  h6
  .resume-container--half-mode .resume-highlights a:focus,
  .resume-container--half-mode .resume-highlights
  h6 a:focus,
  h6
  .resume-container--half-mode .resume-education a:focus,
  .resume-container--half-mode .resume-education
  h6 a:focus,
  h6 .site-footer a:focus, .site-footer
  h6 a:focus {
    background-color: #5e7289; }

h1 {
  font-size: 2.34375rem;
  margin-top: 0;
  margin-bottom: 0.3em;
  color: #23507a;
  text-align: center;
  color: #5e7289;
  font-family: "ProximaNova", sans-serif;
  font-weight: 300; }
  @media (min-width: 40em) {
    h1 {
      font-size: 2.8125rem; } }
  @media (min-width: 60em) {
    h1 {
      font-size: 3.125rem; } }

h2, .site-logo figcaption {
  font-size: 1.875rem;
  margin-top: 24px;
  margin-bottom: 16px;
  font-weight: 300; }
  @media (min-width: 40em) {
    h2, .site-logo figcaption {
      font-size: 2.25rem; } }
  @media (min-width: 60em) {
    h2, .site-logo figcaption {
      font-size: 2.5rem; } }

h3 {
  font-size: 1.3125rem;
  margin-top: 24px;
  margin-bottom: 16px; }
  @media (min-width: 40em) {
    h3 {
      font-size: 1.5rem; } }
  @media (min-width: 60em) {
    h3 {
      font-size: 1.5rem; } }

h4 {
  font-size: 1.0625rem;
  margin-top: 16px;
  margin-bottom: 0;
  margin-bottom: 16px;
  color: #5e7289; }
  @media (min-width: 40em) {
    h4 {
      font-size: 1.0625rem; } }
  @media (min-width: 60em) {
    h4 {
      font-size: 1.3125rem; } }
  h4 span {
    display: block;
    font-size: 1em;
    font-weight: normal;
    font-family: "ProximaNova", sans-serif;
    font-style: normal; }

h5 {
  font-size: 1.3125rem;
  margin-top: 16px;
  margin-bottom: 16px; }

h6 {
  font-size: 1.3125rem;
  margin-top: 16px;
  margin-bottom: 16px; }

p {
  margin: 0 0 16px 0;
  font-size: 1.0625rem;
  font-weight: 300; }
  @media (min-width: 40em) {
    p {
      font-size: 1.0625rem; } }
  @media (min-width: 60em) {
    p {
      font-size: 1.3125rem; } }
  p code {
    font-size: 0.875em; }

.emph, .section-header-wrap p, .page-intro p {
  font-size: 1.3125rem;
  font-weight: normal; }
  @media (min-width: 40em) {
    .emph, .section-header-wrap p, .page-intro p {
      font-size: 1.5rem; } }
  @media (min-width: 60em) {
    .emph, .section-header-wrap p, .page-intro p {
      font-size: 1.5rem; } }

a {
  -webkit-transition: all 0.1s linear;
  -moz-transition: all 0.1s linear;
  transition: all 0.1s linear;
  color: #23507a;
  text-decoration: none; }
  a:hover {
    color: #3f4c5c; }
  a:active, a:focus {
    color: #3f4c5c;
    outline: none;
    background-color: #eeeeee; }

p a:focus {
  background-color: #eeeeee; }

.site-content a,
.site-intro a {
  border-bottom: 3px solid #ddd; }
  .site-content a:hover,
  .site-intro a:hover {
    border-bottom: 3px solid #23507a; }

.link-style a, .post-tags a {
  border-bottom: 3px solid #ddd; }
  .link-style a:hover, .post-tags a:hover {
    border-bottom: 3px solid #23507a; }

.link-style-inverted, .resume-container--dark-mode a, .resume-container--half-mode .resume-header a,
.resume-container--half-mode .resume-contact a,
.resume-container--half-mode .resume-summary a,
.resume-container--half-mode .resume-competencies a,
.resume-container--half-mode .resume-highlights a,
.resume-container--half-mode .resume-education a, .site-footer a {
  border-bottom: 3px solid #5e7289; }
  .link-style-inverted:hover, .resume-container--dark-mode a:hover, .resume-container--half-mode .resume-header a:hover,
  .resume-container--half-mode .resume-contact a:hover,
  .resume-container--half-mode .resume-summary a:hover,
  .resume-container--half-mode .resume-competencies a:hover,
  .resume-container--half-mode .resume-highlights a:hover,
  .resume-container--half-mode .resume-education a:hover, .site-footer a:hover {
    border-bottom: 3px solid #ddd; }
  .link-style-inverted:focus, .resume-container--dark-mode a:focus, .resume-container--half-mode .resume-header a:focus,
  .resume-container--half-mode .resume-contact a:focus,
  .resume-container--half-mode .resume-summary a:focus,
  .resume-container--half-mode .resume-competencies a:focus,
  .resume-container--half-mode .resume-highlights a:focus,
  .resume-container--half-mode .resume-education a:focus, .site-footer a:focus {
    background-color: #5e7289; }

hr {
  border-bottom: 1px solid #eeeeee;
  border-left: none;
  border-right: none;
  border-top: none;
  margin: 1.5em 0; }

img,
picture {
  margin: 0;
  max-width: 100%; }

blockquote {
  padding: 0;
  margin: 0; }

cite {
  color: #737373;
  font-style: italic; }
  cite:before {
    content: "\2014 \00A0"; }

b,
strong {
  font-family: "ProximaNova"; }

/* 
Forms
Lists
Tables 
*/
/* Forms */
fieldset {
  background: white;
  border: 1px solid #eeeeee;
  margin: 0 0 0.75em 0;
  padding: 1.5em; }

input,
label,
select {
  display: block;
  font-family: "ProximaNova", sans-serif;
  font-size: 1.3125rem; }

label {
  font-weight: bold;
  margin-bottom: 0.375em; }
  label.required:after {
    content: "*"; }
  label abbr {
    display: none; }

textarea,
input[type="color"], input[type="date"], input[type="datetime"], input[type="datetime-local"], input[type="email"], input[type="month"], input[type="number"], input[type="password"], input[type="search"], input[type="tel"], input[type="text"], input[type="time"], input[type="url"], input[type="week"], textarea,
select[multiple="multiple"],
select {
  box-sizing: border-box;
  -webkit-transition: border-color;
  -moz-transition: border-color;
  transition: border-color;
  background-color: white;
  border-radius: 0;
  border: 1px solid #eeeeee;
  box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.06);
  font-family: "ProximaNova", sans-serif;
  font-size: 1.3125rem;
  margin-bottom: 0.75em;
  padding: 0.5em 0.5em;
  width: 100%; }
  textarea:hover,
  input[type="color"]:hover, input[type="date"]:hover, input[type="datetime"]:hover, input[type="datetime-local"]:hover, input[type="email"]:hover, input[type="month"]:hover, input[type="number"]:hover, input[type="password"]:hover, input[type="search"]:hover, input[type="tel"]:hover, input[type="text"]:hover, input[type="time"]:hover, input[type="url"]:hover, input[type="week"]:hover, textarea:hover,
  select[multiple="multiple"]:hover,
  select:hover {
    border-color: #d5d5d5; }
  textarea:focus,
  input[type="color"]:focus, input[type="date"]:focus, input[type="datetime"]:focus, input[type="datetime-local"]:focus, input[type="email"]:focus, input[type="month"]:focus, input[type="number"]:focus, input[type="password"]:focus, input[type="search"]:focus, input[type="tel"]:focus, input[type="text"]:focus, input[type="time"]:focus, input[type="url"]:focus, input[type="week"]:focus, textarea:focus,
  select[multiple="multiple"]:focus,
  select:focus {
    border-color: #5e7289;
    box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.06), 0 0 5px rgba(84, 101, 122, 0.7);
    outline: none; }

textarea {
  resize: vertical; }

input[type="search"] {
  -webkit-appearance: none;
  -moz-appearance: none;
  -ms-appearance: none;
  -o-appearance: none;
  appearance: none; }

input[type="checkbox"],
input[type="radio"] {
  display: inline;
  margin-right: 0.375em; }

input[type="file"] {
  padding-bottom: 0.75em;
  width: 100%; }

select {
  margin-bottom: 1.5em;
  max-width: 100%;
  height: 2.3em !important;
  width: 100%; }

.hs-form fieldset {
  max-width: 100% !important;
  background-color: transparent !important; }

.hs-form fieldset.form-columns-1 .hs-input {
  width: 100% !important; }

.hs-error-msgs {
  color: red; }

/* Lists */
ul,
ol {
  margin: 0;
  padding: 0;
  list-style-type: none; }

dl {
  margin-bottom: 0.75em; }
  dl dt {
    font-weight: bold;
    margin-top: 0.75em; }
  dl dd {
    margin: 0; }

.article__main ol:not([class]), main ol:not([class]) {
  clear: left;
  margin-bottom: 0.75em;
  padding-left: 1.5em; }
  .article__main ol:not([class]) li:not([class]), main ol:not([class]) li:not([class]) {
    list-style-type: none;
    counter-increment: item;
    position: relative;
    margin-bottom: 0.5em;
    font-size: 1.0625rem;
    line-height: 1.5em; }
    .article__main ol:not([class]) li:not([class]):before, main ol:not([class]) li:not([class]):before {
      font-weight: bold;
      text-align: right;
      content: counter(item) ".";
      width: 1.5em;
      display: inline-block;
      padding-right: 0.25em;
      color: #5e7289;
      position: absolute;
      left: -2.20rem; }
    @media (min-width: 40em) {
      .article__main ol:not([class]) li:not([class]), main ol:not([class]) li:not([class]) {
        font-size: 1.0625rem; } }
    @media (min-width: 60em) {
      .article__main ol:not([class]) li:not([class]), main ol:not([class]) li:not([class]) {
        font-size: 1.3125rem; } }
    .article__main ol:not([class]) li:not([class]) a, main ol:not([class]) li:not([class]) a {
      text-decoration: none;
      font-weight: normal; }
    .article__main ol:not([class]) li:not([class]) li, main ol:not([class]) li:not([class]) li {
      font-size: 1.3125rem; }

.article__main ul:not([class]), .article__main .list, main ul:not([class]), main .list {
  clear: left;
  list-style-type: none;
  margin-bottom: 0.75em;
  padding-left: 1.5em; }
  .article__main ul:not([class]) li:not([class]), .article__main ul:not([class]) li, .article__main .list li:not([class]), .article__main .list li, main ul:not([class]) li:not([class]), main ul:not([class]) li, main .list li:not([class]), main .list li {
    position: relative;
    margin-bottom: 0.5em;
    font-size: 1.0625rem;
    line-height: 1.5em; }
    @media (min-width: 40em) {
      .article__main ul:not([class]) li:not([class]), .article__main ul:not([class]) li, .article__main .list li:not([class]), .article__main .list li, main ul:not([class]) li:not([class]), main ul:not([class]) li, main .list li:not([class]), main .list li {
        font-size: 1.0625rem; } }
    @media (min-width: 60em) {
      .article__main ul:not([class]) li:not([class]), .article__main ul:not([class]) li, .article__main .list li:not([class]), .article__main .list li, main ul:not([class]) li:not([class]), main ul:not([class]) li, main .list li:not([class]), main .list li {
        font-size: 1.3125rem; } }
    .article__main ul:not([class]) li:not([class]) a, .article__main ul:not([class]) li a, .article__main .list li:not([class]) a, .article__main .list li a, main ul:not([class]) li:not([class]) a, main ul:not([class]) li a, main .list li:not([class]) a, main .list li a {
      text-decoration: none;
      font-weight: normal; }
    .article__main ul:not([class]) li:not([class]):after, .article__main ul:not([class]) li:after, .article__main .list li:not([class]):after, .article__main .list li:after, main ul:not([class]) li:not([class]):after, main ul:not([class]) li:after, main .list li:not([class]):after, main .list li:after {
      content: "";
      width: 1.5em;
      height: 1.5em;
      display: block;
      position: absolute;
      top: 0;
      left: -1.5em;
      background-image: url(img/ico-bullet.svg);
      background-position: center center;
      background-size: 0.45em;
      background-repeat: no-repeat; }
    .article__main ul:not([class]) li:not([class]) li, .article__main ul:not([class]) li li, .article__main .list li:not([class]) li, .article__main .list li li, main ul:not([class]) li:not([class]) li, main ul:not([class]) li li, main .list li:not([class]) li, main .list li li {
      font-size: 1.3125rem; }

.list {
  clear: left;
  list-style-type: none;
  margin-bottom: 0.75em;
  padding-left: 1.5em; }
  .list li {
    position: relative;
    margin-bottom: 0.5em;
    font-size: 1.0625rem;
    line-height: 1.5em; }
    @media (min-width: 40em) {
      .list li {
        font-size: 1.0625rem; } }
    @media (min-width: 60em) {
      .list li {
        font-size: 1.3125rem; } }
    .list li a {
      text-decoration: none;
      font-weight: normal; }
    .list li:after {
      content: "";
      width: 1.5em;
      height: 1.5em;
      display: block;
      position: absolute;
      top: 0;
      left: -1.5em;
      background-image: url(img/ico-bullet.svg);
      background-position: center center;
      background-size: 0.45em;
      background-repeat: no-repeat; }

.bullet-style {
  clear: left;
  list-style-type: none;
  margin-bottom: 0.75em;
  padding-left: 1.5em; }
  .bullet-style li {
    position: relative;
    margin-bottom: 0.5em;
    font-size: 1.3125rem;
    line-height: 1.5em; }
    .bullet-style li a {
      text-decoration: none;
      font-weight: normal; }
    .bullet-style li:after {
      content: "";
      width: 1.5em;
      height: 1.5em;
      display: block;
      position: absolute;
      top: 0;
      left: -1.5em;
      background-image: url(img/ico-bullet.svg);
      background-position: center center;
      background-size: 0.45em;
      background-repeat: no-repeat; }

ol {
  clear: left;
  list-style-type: decimal;
  list-style-position: inside;
  margin-bottom: 0.75em;
  padding-left: 1.5em; }
  ol li {
    position: relative;
    margin-bottom: 0.5em;
    font-size: 1.0625rem;
    line-height: 1.5em; }
    ol li a {
      text-decoration: none;
      font-weight: normal; }

/* Tables */
table {
  border-collapse: collapse;
  margin: 0.75em 0;
  table-layout: fixed;
  width: 100%; }

th {
  border-bottom: 1px solid #c8c8c8;
  font-weight: bold;
  padding: 0.75em 0;
  text-align: left; }

td {
  border-bottom: 1px solid #eeeeee;
  padding: 0.75em 0; }

tr,
td,
th {
  vertical-align: middle; }

/* Images */
figure {
  max-width: 50em;
  margin: 0 auto;
  padding: 0;
  margin-top: 2em;
  margin-bottom: 2em;
  text-align: center; }
  figure.figure-fullwidth {
    max-width: 100%; }
  figure .figcaption h4, figure figcaption,
  figure figcaption h4 {
    font-size: 0.875rem;
    font-weight: normal;
    margin-top: 0;
    color: #333;
    margin-top: 0.5em; }
    @media (min-width: 40em) {
      figure .figcaption h4, figure figcaption,
      figure figcaption h4 {
        font-size: 0.875rem; } }
    @media (min-width: 60em) {
      figure .figcaption h4, figure figcaption,
      figure figcaption h4 {
        font-size: 1.0625rem; } }

.figcaption {
  text-align: center;
  margin-top: 1rem; }
  .figcaption h4 {
    font-size: 0.875rem;
    font-weight: normal;
    margin-top: 0;
    color: #333;
    margin-top: 0.5em; }
    @media (min-width: 40em) {
      .figcaption h4 {
        font-size: 0.875rem; } }
    @media (min-width: 60em) {
      .figcaption h4 {
        font-size: 1.0625rem; } }

.btn, button,
input[type="submit"], .btn-download, .btn-arrow, .product-grid-item-link, .btn-alt, .btn-alt-download, .btn-alt-arrow {
  position: relative;
  -webkit-font-smoothing: antialiased;
  border-radius: 0;
  color: white;
  display: inline-block;
  font-weight: bold;
  line-height: 1;
  padding: 0.75em 1em;
  text-decoration: none;
  -webkit-transition: background 0.1s linear;
  -moz-transition: background 0.1s linear;
  transition: background 0.1s linear; }
  .btn:hover, button:hover,
  input[type="submit"]:hover, .btn-download:hover, .btn-arrow:hover, .product-grid-item-link:hover, .btn-alt:hover, .btn-alt-download:hover, .btn-alt-arrow:hover {
    color: white; }
  .btn:disabled, button:disabled,
  input[type="submit"]:disabled, .btn-download:disabled, .btn-arrow:disabled, .product-grid-item-link:disabled, .btn-alt:disabled, .btn-alt-download:disabled, .btn-alt-arrow:disabled {
    cursor: not-allowed;
    opacity: 0.5; }
  .btn:after, button:after,
  input[type="submit"]:after, .btn-download:after, .btn-arrow:after, .product-grid-item-link:after, .btn-alt:after, .btn-alt-download:after, .btn-alt-arrow:after {
    content: ''; }

.btn, button,
input[type="submit"], .btn-download, .btn-arrow, .product-grid-item-link {
  background-color: #5e7289; }
  .btn:hover, button:hover,
  input[type="submit"]:hover, .btn-download:hover, .btn-arrow:hover, .product-grid-item-link:hover {
    background-color: #49596b; }
  .btn:after, button:after,
  input[type="submit"]:after, .btn-download:after, .btn-arrow:after, .product-grid-item-link:after {
    background-color: #49596b; }

.btn-alt, .btn-alt-download, .btn-alt-arrow {
  background-color: #23507a; }
  .btn-alt:hover, .btn-alt-download:hover, .btn-alt-arrow:hover {
    background-color: #183652; }
  .btn-alt:after, .btn-alt-download:after, .btn-alt-arrow:after {
    background-color: #183652; }

button,
input[type="submit"] {
  -webkit-appearance: none;
  -moz-appearance: none;
  -ms-appearance: none;
  -o-appearance: none;
  appearance: none;
  border: none;
  cursor: pointer;
  user-select: none;
  vertical-align: middle;
  white-space: nowrap; }

.btn-download, .btn-alt-download, .btn-arrow, .btn-alt-arrow {
  padding-right: 4em; }
  .btn-download:after, .btn-alt-download:after, .btn-arrow:after, .btn-alt-arrow:after {
    content: '';
    display: block;
    right: 0;
    top: 0;
    bottom: 0;
    width: 3em;
    position: absolute;
    background-position: center center;
    background-size: 1.5em;
    background-repeat: no-repeat;
    -webkit-transition: background 0.1s linear;
    -moz-transition: background 0.1s linear;
    transition: background 0.1s linear; }
  .btn-download:hover:after, .btn-alt-download:hover:after, .btn-arrow:hover:after, .btn-alt-arrow:hover:after {
    background-size: 2em; }

.btn-download:after {
  background-image: url(img/ico-download.svg); }

.btn-alt-download:after {
  background-image: url(img/ico-download.svg); }

.btn-arrow:after {
  background-image: url(img/ico-white-arrow-right.svg); }

.btn-alt-arrow:after {
  background-image: url(img/ico-white-arrow-right.svg); }

.site-nav,
#hs_menu_wrapper_primary_nav {
  background-color: #ffffff; }
  .site-nav span,
  #hs_menu_wrapper_primary_nav span {
    white-space: nowrap; }
  @media (min-width: 40em) {
    .site-nav,
    #hs_menu_wrapper_primary_nav {
      display: block;
      position: relative;
      top: 0;
      left: 0;
      background-color: transparent; } }

.sn-level-1,
#hs_menu_wrapper_primary_nav > ul {
  margin: 0;
  padding: 0; }
  @media (min-width: 40em) {
    .sn-level-1,
    #hs_menu_wrapper_primary_nav > ul {
      height: 5.0625em; } }

.sn-li-l1,
.hs-menu-depth-1 {
  display: block;
  border-bottom: 1px solid #eeeeee;
  background-color: transparent;
  position: relative;
  text-align: center;
  -webkit-transition: background-color 0.2s ease-in-out;
  -moz-transition: background-color 0.2s ease-in-out;
  transition: background-color 0.2s ease-in-out; }
  .sn-li-l1:first-child,
  .hs-menu-depth-1:first-child {
    border-top: 1px solid #eeeeee; }
  .sn-li-l1 a.active,
  .hs-menu-depth-1 a.active {
    background-color: transparent; }
  .sn-li-l1 span,
  .hs-menu-depth-1 span {
    font-size: 1.3125em; }
  .sn-li-l1.has-subnav .m-subnav-arrow, .sn-li-l1.menu-item-has-children .m-subnav-arrow, .sn-li-l1.hs-item-has-children .m-subnav-arrow,
  .hs-menu-depth-1.has-subnav .m-subnav-arrow,
  .hs-menu-depth-1.menu-item-has-children .m-subnav-arrow,
  .hs-menu-depth-1.hs-item-has-children .m-subnav-arrow {
    cursor: pointer;
    display: none; }
    @media (max-width: 40em) {
      .sn-li-l1.has-subnav .m-subnav-arrow, .sn-li-l1.menu-item-has-children .m-subnav-arrow, .sn-li-l1.hs-item-has-children .m-subnav-arrow,
      .hs-menu-depth-1.has-subnav .m-subnav-arrow,
      .hs-menu-depth-1.menu-item-has-children .m-subnav-arrow,
      .hs-menu-depth-1.hs-item-has-children .m-subnav-arrow {
        padding-right: 0em;
        background-image: url(img/ico-arrow-down.svg);
        background-repeat: no-repeat;
        background-position: center;
        background-size: 0.75em;
        display: block;
        width: 40px;
        height: 5.0625em;
        position: absolute;
        background-color: #f7f7f7;
        right: 0;
        top: 0px; }
        .sn-li-l1.has-subnav .m-subnav-arrow.active, .sn-li-l1.menu-item-has-children .m-subnav-arrow.active, .sn-li-l1.hs-item-has-children .m-subnav-arrow.active,
        .hs-menu-depth-1.has-subnav .m-subnav-arrow.active,
        .hs-menu-depth-1.menu-item-has-children .m-subnav-arrow.active,
        .hs-menu-depth-1.hs-item-has-children .m-subnav-arrow.active {
          background-image: url(img/ico-arrow-up.svg); } }
  .sn-li-l1.has-subnav > a span, .sn-li-l1.menu-item-has-children > a span, .sn-li-l1.hs-item-has-children > a span,
  .hs-menu-depth-1.has-subnav > a span,
  .hs-menu-depth-1.menu-item-has-children > a span,
  .hs-menu-depth-1.hs-item-has-children > a span {
    padding-right: 0em;
    background-image: url(img/ico-arrow-down.svg);
    background-repeat: no-repeat;
    background-position: right center;
    background-size: 0.75em;
    display: block; }
  .sn-li-l1.has-subnav > a.active span, .sn-li-l1.menu-item-has-children > a.active span, .sn-li-l1.hs-item-has-children > a.active span,
  .hs-menu-depth-1.has-subnav > a.active span,
  .hs-menu-depth-1.menu-item-has-children > a.active span,
  .hs-menu-depth-1.hs-item-has-children > a.active span {
    background-image: url(img/ico-arrow-up.svg); }
  .sn-li-l1 > a,
  .hs-menu-depth-1 > a {
    display: block;
    height: 5.0625em;
    line-height: 5.0625em;
    color: #23507a;
    text-decoration: none;
    padding: 0 1em; }
    .sn-li-l1 > a:visited,
    .hs-menu-depth-1 > a:visited {
      color: #23507a; }
    .sn-li-l1 > a:hover,
    .hs-menu-depth-1 > a:hover {
      color: #23507a; }
  .sn-li-l1:hover,
  .hs-menu-depth-1:hover {
    background-color: #eeeeee; }
  @media (min-width: 40em) {
    .sn-li-l1,
    .hs-menu-depth-1 {
      height: 5.0625em;
      float: left;
      border-bottom: 0;
      border-right: 1px solid rgba(13, 13, 13, 0);
      text-align: center;
      font-weight: bold; }
      .sn-li-l1:first-child,
      .hs-menu-depth-1:first-child {
        border-top: 0; }
      .sn-li-l1 span,
      .hs-menu-depth-1 span {
        font-size: 1em; }
      .sn-li-l1:nth-child(1n),
      .hs-menu-depth-1:nth-child(1n) {
        width: 33.3%; }
      .sn-li-l1:nth-child(2n),
      .hs-menu-depth-1:nth-child(2n) {
        width: 33.3%; }
      .sn-li-l1:nth-child(3n),
      .hs-menu-depth-1:nth-child(3n) {
        width: 33.3%; }
      .sn-li-l1:nth-child(4n),
      .hs-menu-depth-1:nth-child(4n) {
        width: 25%; }
      .sn-li-l1:nth-child(5n),
      .hs-menu-depth-1:nth-child(5n) {
        width: 20%; }
      .sn-li-l1:hover .sn-level-2,
      .sn-li-l1:hover .hs-menu-children-wrapper,
      .hs-menu-depth-1:hover .sn-level-2,
      .hs-menu-depth-1:hover .hs-menu-children-wrapper {
        display: block; }
      .sn-li-l1.has-subnav > a span, .sn-li-l1.menu-item-has-children > a span, .sn-li-l1.hs-item-has-children > a span,
      .hs-menu-depth-1.has-subnav > a span,
      .hs-menu-depth-1.menu-item-has-children > a span,
      .hs-menu-depth-1.hs-item-has-children > a span {
        padding-right: 1em;
        background-size: 0.625em;
        display: inline; }
      .sn-li-l1.has-subnav > a.active span, .sn-li-l1.menu-item-has-children > a.active span, .sn-li-l1.hs-item-has-children > a.active span,
      .hs-menu-depth-1.has-subnav > a.active span,
      .hs-menu-depth-1.menu-item-has-children > a.active span,
      .hs-menu-depth-1.hs-item-has-children > a.active span {
        background-image: url(img/ico-arrow-down.svg); }
      .sn-li-l1 > a,
      .hs-menu-depth-1 > a {
        padding: 0 0em; } }
  @media (min-width: 60em) {
    .sn-li-l1 span,
    .hs-menu-depth-1 span {
      font-size: 1em; }
    .sn-li-l1 > a,
    .hs-menu-depth-1 > a {
      padding: 0 0em; } }
  @media (min-width: 80em) {
    .sn-li-l1 > a,
    .hs-menu-depth-1 > a {
      padding: 0 0em; } }

.sn-level-2,
.hs-menu-children-wrapper {
  padding: 0;
  margin: 0;
  display: none;
  position: relative; }
  .sn-level-2.active,
  .hs-menu-children-wrapper.active {
    display: block; }
  @media (min-width: 40em) {
    .sn-level-2,
    .hs-menu-children-wrapper {
      position: absolute; }
      .sn-level-2.active,
      .hs-menu-children-wrapper.active {
        display: none; } }

.sn-li-l2, .sn-li-l3,
.hs-menu-depth-2 {
  background-color: #eeeeee; }
  .sn-li-l2 > a, .sn-li-l3 > a,
  .hs-menu-depth-2 > a {
    padding: 0 1em;
    color: #23507a;
    border-top: 1px solid white;
    display: block;
    text-decoration: none;
    line-height: 3.125em; }
    .sn-li-l2 > a span, .sn-li-l3 > a span,
    .hs-menu-depth-2 > a span {
      font-size: 1em;
      line-height: 1.25em;
      display: inline-block;
      vertical-align: middle; }
  .sn-li-l2:last-child > a, .sn-li-l3:last-child > a,
  .hs-menu-depth-2:last-child > a {
    border-bottom: 0; }
  .sn-li-l2:hover, .sn-li-l3:hover,
  .hs-menu-depth-2:hover {
    background-color: #d5d5d5; }
  @media (min-width: 40em) {
    .sn-li-l2:hover .sn-level-3, .sn-li-l3:hover .sn-level-3,
    .hs-menu-depth-2:hover .sn-level-3 {
      display: block; }
    .sn-li-l2 > a, .sn-li-l3 > a,
    .hs-menu-depth-2 > a {
      padding: 0 0em; } }
  @media (min-width: 60em) {
    .sn-li-l2 > a, .sn-li-l3 > a,
    .hs-menu-depth-2 > a {
      padding: 0 0em; } }
  @media (min-width: 80em) {
    .sn-li-l2 > a, .sn-li-l3 > a,
    .hs-menu-depth-2 > a {
      padding: 0 0em; } }

.sn-level-3 {
  padding: 0;
  margin: 0;
  padding-top: 1px;
  display: none;
  position: relative;
  border-left: 1px solid white; }
  .sn-level-3.active {
    display: block; }
  @media (min-width: 40em) {
    .sn-level-3 {
      position: absolute;
      top: 5.0625em;
      left: 100%; }
      .sn-level-3.active {
        display: none; } }

.site-nav-container {
  background-color: #ffffff;
  width: 17em;
  height: 100%;
  right: -17em;
  top: 0;
  bottom: 0;
  z-index: 1000;
  position: absolute;
  transition: right .5s, box-shadow .5s, ease-in-out; }
  .site-nav-container.active {
    right: 0;
    box-shadow: -2px 0px 10px rgba(0, 0, 0, 0.25); }
  @media (min-width: 40em) {
    .site-nav-container {
      width: auto;
      height: auto;
      right: auto;
      bottom: auto;
      top: auto;
      position: static;
      background-color: transparent;
      box-shadow: none !important; } }

.site-nav-container-screen {
  position: fixed;
  display: none;
  z-index: 999;
  left: 0;
  right: 0;
  bottom: 0;
  top: 0;
  background-color: rgba(0, 0, 0, 0.5);
  opacity: 0;
  -webkit-transition: all 0.5s ease-in-out;
  -moz-transition: all 0.5s ease-in-out;
  transition: all 0.5s ease-in-out; }
  .site-nav-container-screen.active {
    display: block;
    opacity: 0; }
  @media (min-width: 40em) {
    .site-nav-container-screen {
      display: none !important; } }

.close-menu {
  display: inline-block;
  clear: both;
  position: relative;
  text-align: center;
  color: #23507a !important;
  font-family: "ProximaNova", sans-serif;
  padding: 0.25em 1em;
  padding-right: 1.5625em;
  margin: 0 auto;
  font-size: 0.875em;
  background-color: #ffffff;
  border-radius: 0.1875em; }
  .close-menu:visited {
    color: #ffffff; }
  .close-menu:hover {
    color: #ffffff; }
  .close-menu:after {
    content: '';
    background-color: transparent;
    background-image: url(img/ico-exit.svg);
    background-size: 0.8125em 0.8125em;
    background-position: center center;
    background-repeat: no-repeat;
    display: block;
    width: 1.5625em;
    top: 0;
    bottom: 0;
    right: 0;
    position: absolute; }
  @media (min-width: 40em) {
    .close-menu {
      display: none; } }

.snc-header {
  text-align: center;
  padding: 0.3em 1em;
  overflow: hidden; }
  @media (min-width: 40em) {
    .snc-header {
      padding: 0; } }

.sh-icons .sh-ico-info {
  position: fixed;
  bottom: 0.5em;
  right: 0.5em; }

.site-nav-container .sh-ico-info {
  position: absolute;
  bottom: 0.5em;
  right: 0.5em; }

.site-nav-container.active {
  position: fixed;
  z-index: 3147483647; }

/*
This is used to separate sections/modules of the website while still keeping a consistent max-width. Example below:
<section class="about-module">
  <div class="inner-wrap">
    Content here...
  </div>
</section>
*/
.inner-wrap, .container--sm, .inner-wrap-narrow, .container, .inner-wrap-wide, .container--lg, .inner-wrap-fullwidth {
  max-width: 68.75em;
  margin-left: auto;
  margin-right: auto;
  padding: 1.5em 1em 1.5em 1em; }
  .inner-wrap::after, .container--sm::after, .inner-wrap-narrow::after, .container::after, .inner-wrap-wide::after, .container--lg::after, .inner-wrap-fullwidth::after {
    clear: both;
    content: "";
    display: table; }
  .inner-wrap > *:first-child, .container--sm > *:first-child, .inner-wrap-narrow > *:first-child, .container > *:first-child, .inner-wrap-wide > *:first-child, .container--lg > *:first-child, .inner-wrap-fullwidth > *:first-child {
    margin-top: 0; }
  .inner-wrap > *:last-child, .container--sm > *:last-child, .inner-wrap-narrow > *:last-child, .container > *:last-child, .inner-wrap-wide > *:last-child, .container--lg > *:last-child, .inner-wrap-fullwidth > *:last-child {
    margin-bottom: 0; }
  @media (min-width: 40em) {
    .inner-wrap, .container--sm, .inner-wrap-narrow, .container, .inner-wrap-wide, .container--lg, .inner-wrap-fullwidth {
      padding: 1.5em 1.5em 1.5em 1.5em;
      padding: 2.5em constant(safe-area-inset-right) 2.5em constant(safe-area-inset-left); } }
  @media (min-width: 60em) {
    .inner-wrap, .container--sm, .inner-wrap-narrow, .container, .inner-wrap-wide, .container--lg, .inner-wrap-fullwidth {
      padding: 2em 1.5em 2em 1.5em;
      padding: 2.5em constant(safe-area-inset-right) 2.5em constant(safe-area-inset-left); } }

.container--sm {
  max-width: 48em; }

.inner-wrap-narrow, .container {
  max-width: 59.375em; }

.inner-wrap-wide, .container--lg {
  max-width: 87.5em; }

.inner-wrap-fullwidth {
  max-width: 100%; }

/*=============== Sections ===============*/
.section-header-wrap {
  background-color: #eeeeee; }
  .section-header-wrap .inner-wrap, .section-header-wrap .container--sm, .section-header-wrap .inner-wrap-narrow, .section-header-wrap .container, .section-header-wrap .inner-wrap-wide, .section-header-wrap .container--lg, .section-header-wrap .inner-wrap-fullwidth {
    padding-top: 1.5em;
    padding-bottom: 1.5em; }
  .section-header-wrap h1 {
    margin: 0; }
  .section-header-wrap p {
    margin: .5em 0 0 0; }

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

.section-header {
  text-align: left; }
  .section-header h1,
  .section-header h2,
  .section-header .site-logo figcaption, .site-logo
  .section-header figcaption,
  .section-header h3 {
    font-weight: normal; }

/*=============== Media Object ===============*/
.media-object {
  overflow: hidden; }

.mo-img {
  float: left;
  display: block;
  margin-right: 2.35765%;
  width: 16.83441%;
  margin-top: 0;
  margin-bottom: 0; }
  .mo-img:last-child {
    margin-right: 0; }
  .mo-img img {
    width: 100%;
    border-radius: 100%;
    overflow: hidden; }

.mo-body {
  float: left;
  display: block;
  margin-right: 2.35765%;
  width: 80.80794%; }
  .mo-body:last-child {
    margin-right: 0; }

.mo-header {
  margin-top: 0;
  margin-bottom: .15em; }

.media-grid-2 > * {
  margin-bottom: 1em; }

@media (min-width: 40em) {
  .media-grid-2 > * {
    float: left;
    display: block;
    margin-right: 3.16844%;
    width: 48.41578%;
    margin-bottom: 1.5em; }
    .media-grid-2 > *:last-child {
      margin-right: 0; }
    .media-grid-2 > *:nth-child(2n) {
      margin-right: 0; }
    .media-grid-2 > *:nth-child(2n+1) {
      clear: left; } }

/*=============== iFrame / YouTube Embed ===============*/
.iframe-container {
  position: relative;
  padding-bottom: 56.25%;
  padding-top: 30px;
  height: 0;
  overflow: hidden;
  margin-top: 1.8em; }

.iframe-container iframe,
.iframe-container object,
.iframe-container embed {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%; }

/*=============== Click to Expand ===============*/
.click-expand {
  border: 1px solid #eeeeee;
  clear: both;
  overflow: hidden;
  margin-bottom: 1.5em;
  -webkit-transition: all 0.2s ease-in-out;
  -moz-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out; }
  .click-expand.active:hover {
    background-color: #ffffff; }
  .click-expand.active .ce-header:after {
    content: '-'; }
  .click-expand.active .ce-body {
    display: block;
    opacity: 1;
    -webkit-animation: click-expand 0.5s 1;
    -moz-animation: click-expand 0.5s 1;
    animation: click-expand 0.5s 1;
    -webkit-animation-fill-mode: backwards;
    -moz-animation-fill-mode: backwards;
    animation-fill-mode: backwards;
    -webkit-animation-delay: 0.05s;
    -moz-animation-delay: 0.05s;
    animation-delay: 0.05s;
    padding: 0 12px 1.5em 12px;
    display: block; }
    .click-expand.active .ce-body > *:first-child {
      margin-top: 0; }
    .click-expand.active .ce-body > *:last-child {
      margin-bottom: 0; }
  .click-expand:hover {
    background-color: #eeeeee; }

.ce-header {
  position: relative;
  cursor: pointer;
  padding-left: 12px;
  padding-right: 12px;
  margin-top: 0.75em;
  margin-bottom: 0.75em; }
  .ce-header:after {
    content: '+';
    color: #5e7289;
    padding-left: 8px;
    position: absolute;
    right: 0.3125em; }

.ce-body {
  display: none;
  opacity: 0; }

@-webkit-keyframes click-expand {
  from {
    opacity: 0; }
  to {
    opacity: 1; } }

@-moz-keyframes click-expand {
  from {
    opacity: 0; }
  to {
    opacity: 1; } }

@keyframes click-expand {
  from {
    opacity: 0; }
  to {
    opacity: 1; } }

/*=============== Social Media Icons ===============*/
.social-wrap {
  overflow: hidden;
  width: 15em;
  margin: 0 auto;
  /*span {
    background-color:$white;
    border-radius:3px;
    display:inline-block;
    padding:.15em;
    img {
      display:block;
      margin:0 auto;
    }
  }*/ }
  .social-wrap a {
    display: block;
    float: left;
    width: 25%;
    text-align: center;
    position: relative;
    -webkit-transition: all 0.2s ease-in-out;
    -moz-transition: all 0.2s ease-in-out;
    transition: all 0.2s ease-in-out; }
    .social-wrap a:hover:nth-child(1n) {
      background-color: #c73b6f; }
    .social-wrap a:hover:nth-child(2n) {
      background-color: #171515; }
      .social-wrap a:hover:nth-child(2n) path {
        fill: #ffffff; }
    .social-wrap a:hover:nth-child(3n) {
      background-color: #4099FF; }
      .social-wrap a:hover:nth-child(3n) path {
        fill: #ffffff; }
    .social-wrap a:hover:nth-child(4n) {
      background-color: #4875B4; }
    .social-wrap a path {
      fill: #5e7289;
      -webkit-transition: all 0.1s linear;
      -moz-transition: all 0.1s linear;
      transition: all 0.1s linear; }
    .social-wrap a:hover path {
      fill: #ffffff; }
  .social-wrap img {
    display: inline-block;
    margin: 0 auto;
    width: 1em;
    height: auto;
    vertical-align: middle; }
  .social-wrap svg {
    display: inline-block;
    vertical-align: middle; }

/*=============== Slide Panel ===============*/
.slide-panel {
  display: none;
  position: fixed;
  background: #333;
  color: #fff;
  height: 100%;
  width: 21.25em;
  right: -21.25em;
  top: 14%;
  z-index: 10;
  -webkit-transition: right 0.4s ease-in-out;
  -moz-transition: right 0.4s ease-in-out;
  transition: right 0.4s ease-in-out; }
  .slide-panel h2, .slide-panel .site-logo figcaption, .site-logo .slide-panel figcaption {
    padding: .2em 1em; }
  .slide-panel p {
    background: #333;
    padding: .25px 2em; }
  .slide-panel label {
    color: #ffffff !important; }
  .slide-panel:hover {
    right: 0px; }
  @media (min-width: 40em) {
    .slide-panel {
      display: block; } }

.slide-panel-button {
  position: absolute;
  top: 50px;
  right: 340px;
  padding: 20px 20px;
  background: #333;
  min-width: 200px; }

/*=============== Slide Box ===============*/
#last {
  margin: 0;
  padding: 0; }

#slidebox {
  padding: 0.625em 0.625em 0.625em 1em;
  position: fixed;
  bottom: 0;
  right: -26.875em;
  z-index: 1000;
  width: 100%;
  background-color: #23507a; }
  @media (min-width: 40em) {
    #slidebox {
      width: auto; } }

a.close {
  background-color: white;
  color: #23507a;
  text-align: center;
  float: left;
  padding: 0 0.5em;
  font-size: 0.6875em;
  border-radius: 0.1875em;
  position: absolute;
  cursor: pointer;
  top: 1.5em;
  right: 2em; }

a.close:hover {
  background-color: rgba(255, 255, 255, 0.75); }

/*=============== Accordion Tabs ===============*/
.accordion-tabs {
  line-height: 1.5;
  margin-bottom: 1.5em;
  padding: 0 !important; }
  .accordion-tabs::after {
    clear: both;
    content: "";
    display: table; }
  @media screen and (max-width: 40em) {
    .accordion-tabs {
      border-radius: 0;
      border: 1px solid #eeeeee; } }
  .accordion-tabs .tab-header-and-content {
    list-style: none;
    margin-bottom: 0; }
    .accordion-tabs .tab-header-and-content:after {
      display: none; }
    @media screen and (min-width: 40em) {
      .accordion-tabs .tab-header-and-content {
        display: inline; } }
    .accordion-tabs .tab-header-and-content:first-child .tab-link {
      border-top-left-radius: 0;
      border-top-right-radius: 0; }
      @media screen and (max-width: 40em) {
        .accordion-tabs .tab-header-and-content:first-child .tab-link {
          border-top: 0; } }
    @media screen and (max-width: 40em) {
      .accordion-tabs .tab-header-and-content:last-child .tab-link {
        border-bottom-left-radius: 0;
        border-bottom-right-radius: 0; } }
  .accordion-tabs .tab-link {
    background-color: rgba(255, 255, 255, 0);
    border-top: 1px solid #eeeeee;
    color: #333;
    display: block;
    font-weight: bold;
    font-size: 1.5rem;
    padding: 0.75em 0.809em;
    text-decoration: none;
    font-family: "ProximaNova", sans-serif;
    border-bottom: 0; }
    @media screen and (min-width: 40em) {
      .accordion-tabs .tab-link {
        display: inline-block;
        border-top-left-radius: 0;
        border-top-right-radius: 0;
        border-top: 0; } }
    .accordion-tabs .tab-link:hover {
      color: #23507a;
      border-bottom: 0; }
    .accordion-tabs .tab-link:focus {
      outline: none; }
    .accordion-tabs .tab-link.is-active {
      background-color: white; }
      @media screen and (min-width: 40em) {
        .accordion-tabs .tab-link.is-active {
          background-color: white;
          border: 1px solid #eeeeee;
          border-bottom-color: white;
          margin-bottom: -1px; } }
  .accordion-tabs .tab-content {
    background: white;
    display: none;
    padding: 1.5em 1.618em;
    width: 100%; }
    .accordion-tabs .tab-content > *:first-child {
      margin-top: 0; }
    .accordion-tabs .tab-content > *:last-child {
      margin-bottom: 0; }
    @media screen and (min-width: 40em) {
      .accordion-tabs .tab-content {
        border-bottom-left-radius: 0;
        border-bottom-right-radius: 0;
        border-top-right-radius: 0;
        border: 1px solid #eeeeee;
        float: left; } }

/*=============== Misc ===============*/
hr {
  display: block;
  clear: both; }

.wp-pagenavi > * {
  margin-right: .75em; }

/*=============== Lightbox / Magnific Popup  ===============*/
.newsletter-popup.mfp-bg {
  background-color: #23507a; }

.newsletter-popup.mfp-close-btn-in .mfp-close {
  color: #ffffff; }

.np-logo img {
  max-width: 15em;
  display: block;
  margin: 0 auto; }

.white-popup {
  position: relative;
  background: transparent;
  max-width: 37.5em;
  margin: 20px auto; }
  .white-popup .mfp-close {
    color: #ffffff; }
  .white-popup h2, .white-popup .site-logo figcaption, .site-logo .white-popup figcaption, .white-popup p {
    color: #ffffff; }
  .white-popup > * {
    margin-top: 0; }
  .white-popup label {
    display: none; }
  .white-popup input[type=text] {
    color: #23507a; }

/* overlay at start */
.mfp-fade.mfp-bg {
  opacity: 0;
  -webkit-transition: all 0.5s ease-in-out;
  -moz-transition: all 0.5s ease-in-out;
  transition: all 0.5s ease-in-out; }

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

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

/* content at start */
.mfp-fade.mfp-wrap .mfp-content {
  opacity: 0;
  -webkit-transition: all 0.5s ease-in-out;
  -moz-transition: all 0.5s ease-in-out;
  transition: all 0.5s ease-in-out;
  -webkit-transform: translateY(100px);
  -moz-transform: translateY(100px);
  -ms-transform: translateY(100px);
  -o-transform: translateY(100px);
  transform: translateY(100px); }

/* content animate it */
.mfp-fade.mfp-wrap.mfp-ready .mfp-content {
  opacity: 1;
  -webkit-transform: translateY(0px);
  -moz-transform: translateY(0px);
  -ms-transform: translateY(0px);
  -o-transform: translateY(0px);
  transform: translateY(0px); }

/* content animate out */
.mfp-fade.mfp-wrap.mfp-removing .mfp-content {
  opacity: 0;
  -webkit-transform: translateY(100px);
  -moz-transform: translateY(100px);
  -ms-transform: translateY(100px);
  -o-transform: translateY(100px);
  transform: translateY(100px); }

/*=============== Layouts  ===============*/
.page-intro {
  background-color: #eeeeee; }
  .page-intro .inner-wrap, .page-intro .container--sm, .page-intro .inner-wrap-narrow, .page-intro .container, .page-intro .inner-wrap-wide, .page-intro .container--lg, .page-intro .inner-wrap-fullwidth {
    padding-top: 1.5em;
    padding-bottom: 1.5em; }
  .page-intro h1 {
    margin: 0; }
  .page-intro p {
    margin: .5em 0 0 0; }

.page-intro-wrap--inverted {
  background-image: linear-gradient(to bottom, #2a6398 0, #183754 100%);
  background-repeat: repeat-x;
  border-bottom: 1px solid #eeeeee; }
  @media (min-width: 40em) {
    .page-intro-wrap--inverted .site-header {
      position: static; } }

@media (min-width: 60em) {
  .site-content.one-column .site-content-primary {
    float: left;
    display: block;
    margin-right: 2.35765%;
    width: 100%;
    margin-right: 0; }
    .site-content.one-column .site-content-primary:last-child {
      margin-right: 0; }
  .site-content.one-column .site-content-secondary {
    float: left;
    display: block;
    margin-right: 2.35765%;
    width: 100%;
    margin-right: 0; }
    .site-content.one-column .site-content-secondary:last-child {
      margin-right: 0; }
  .site-content.two-column .site-content-primary {
    float: left;
    display: block;
    margin-right: 2.35765%;
    width: 74.41059%; }
    .site-content.two-column .site-content-primary:last-child {
      margin-right: 0; }
  .site-content.two-column .site-content-secondary {
    float: left;
    display: block;
    margin-right: 2.35765%;
    width: 23.23176%;
    margin-right: 0; }
    .site-content.two-column .site-content-secondary:last-child {
      margin-right: 0; }
  .site-content.three-column .site-content-primary {
    float: left;
    display: block;
    margin-right: 2.35765%;
    width: 31.76157%; }
    .site-content.three-column .site-content-primary:last-child {
      margin-right: 0; }
  .site-content.three-column .site-content-secondary {
    float: left;
    display: block;
    margin-right: 2.35765%;
    width: 31.76157%; }
    .site-content.three-column .site-content-secondary:last-child {
      margin-right: 0; }
  .site-content.three-column .additional-content {
    float: left;
    display: block;
    margin-right: 2.35765%;
    width: 31.76157%;
    margin-right: 0; }
    .site-content.three-column .additional-content:last-child {
      margin-right: 0; }
  .site-content.two-column-alt .site-content-primary {
    float: left;
    display: block;
    margin-right: 2.35765%;
    width: 65.88078%; }
    .site-content.two-column-alt .site-content-primary:last-child {
      margin-right: 0; }
  .site-content.two-column-alt .site-content-secondary {
    float: left;
    display: block;
    margin-right: 2.35765%;
    width: 31.76157%;
    margin-right: 0; }
    .site-content.two-column-alt .site-content-secondary:last-child {
      margin-right: 0; } }

/*=============== Product Grid ===============*/
.product-grid {
  clear: both; }

.product-grid-item {
  font-size: .875em;
  text-decoration: none;
  text-align: center;
  background-color: #ffffff;
  padding: 1em;
  border-bottom: 1px solid #eeeeee;
  border-right: 1px solid #eeeeee;
  overflow: hidden;
  display: block;
  -webkit-transition: all 0.15s ease-in-out;
  -moz-transition: all 0.15s ease-in-out;
  transition: all 0.15s ease-in-out; }
  .product-grid-item:hover {
    border-bottom: 1px solid #999;
    border-right: 1px solid #999; }
    .product-grid-item:hover .product-grid-item-img {
      -webkit-transform: scale(1.05);
      -moz-transform: scale(1.07);
      -o-transform: scale(1.07);
      transform: scale(1.07); }
  @media (min-width: 40em) {
    .product-grid-item {
      font-size: .75em;
      margin-bottom: 1.5em; } }
  @media (min-width: 60em) {
    .product-grid-item {
      font-size: 1em; } }

@media (min-width: 40em) {
  .product-grid-item-header-wrap {
    height: 4em;
    line-height: 4em;
    margin-bottom: 1em; }
    .product-grid-item-header-wrap .product-grid-item-header {
      display: inline-block;
      vertical-align: middle; } }

@media (min-width: 60em) {
  .product-grid-item-header-wrap {
    height: 4em;
    line-height: 4em; } }

.product-grid-item-header {
  font-size: 1.125em;
  color: #23507a;
  text-decoration: none;
  margin: 0 0 0 0;
  width: 70%;
  float: right;
  text-align: left;
  clear: none; }
  @media (min-width: 40em) {
    .product-grid-item-header {
      width: auto;
      float: none;
      text-align: center; } }

.product-grid-item-subheader {
  color: #000000;
  margin: 0 0 1em 0;
  width: 70%;
  float: right;
  text-align: left;
  clear: none;
  font-size: 0.9375em; }
  @media (min-width: 40em) {
    .product-grid-item-subheader {
      width: auto;
      float: none;
      text-align: center; } }
  @media (min-width: 60em) {
    .product-grid-item-subheader {
      min-height: 3em; } }

.product-grid-item-img {
  float: left;
  width: 25%;
  margin-top: -1em;
  display: block;
  margin: 0 auto;
  -webkit-transition: all 0.15s ease-in-out;
  -moz-transition: all 0.15s ease-in-out;
  transition: all 0.15s ease-in-out; }
  @media (min-width: 40em) {
    .product-grid-item-img {
      margin-top: 0;
      float: none;
      width: auto; } }

.product-grid-item-link {
  margin: 1em 0 0 0;
  float: right;
  text-align: left;
  clear: none;
  font-size: .75em; }
  @media (min-width: 40em) {
    .product-grid-item-link {
      width: auto;
      float: none;
      text-align: center; } }

/*=============== Product Carousel ===============*/
@media (max-width: 40em) {
  .product-item {
    float: left;
    display: block;
    margin-right: 4.82916%;
    width: 47.58542%; }
    .product-item:last-child {
      margin-right: 0; }
    .product-item:nth-child(2n) {
      margin-right: 0; }
    .product-item:nth-child(2n+1) {
      clear: left; } }

@media (min-width: 40em) {
  .product-item {
    float: left;
    display: block;
    margin-right: 2.35765%;
    width: 23.23176%; }
    .product-item:last-child {
      margin-right: 0; } }

/*=============== Resources Module ===============*/
.resources-module {
  background-color: #ffffff; }

.rm-item {
  text-align: center;
  background-color: #eeeeee;
  padding: 1em !important; }
  .rm-item:hover .rm-item-img {
    -webkit-transform: scale(1.05);
    -moz-transform: scale(1.05);
    -ms-transform: scale(1.05);
    -o-transform: scale(1.05);
    transform: scale(1.05); }
  @media (min-width: 40em) {
    .rm-item {
      margin-bottom: 0; } }

.rm-item-cta {
  font-size: .75em;
  font-weight: bold; }

.rm-item-img {
  -webkit-transition: all 0.15s ease-in-out;
  -moz-transition: all 0.15s ease-in-out;
  transition: all 0.15s ease-in-out;
  margin-bottom: 1em; }
  .rm-item-img img {
    max-width: 100%;
    object-fit: contain;
    height: 19.375em; }

.rm-item-title {
  text-decoration: none;
  text-align: center;
  margin-top: 0;
  margin-bottom: 0;
  position: relative;
  display: inline-block;
  text-align: center;
  height: 2.5em;
  line-height: 2.5em;
  color: #23507a;
  position: relative;
  z-index: 10; }
  .rm-item-title span {
    line-height: 1.25em;
    display: inline-block;
    color: #23507a; }

/*=============== Icon Links ===============*/
.ico-twitter, .ico-linkedin, .ico-facebook {
  background-position: center left;
  background-repeat: no-repeat;
  padding-left: 1em;
  background-size: .8em; }

.ico-twitter {
  background-image: url(img/ico-twitter.svg); }

.ico-linkedin {
  background-image: url(img/ico-linkedin.svg); }

.ico-facebook {
  background-image: url(img/ico-facebook.svg); }

.language-markup {
  background-color: #f8f8f8;
  border: 1px solid #eeeeee;
  padding: 1.5em;
  border-radius: 0.25em;
  margin: 2em 0 2em 0; }
  .language-markup code {
    font-family: Consolas, Monaco, 'Andale Mono', monospace;
    font-size: .95em;
    direction: ltr;
    text-align: left;
    white-space: pre;
    word-spacing: normal;
    -moz-tab-size: 4;
    -o-tab-size: 4;
    tab-size: 4;
    -webkit-hyphens: none;
    -ms-hyphens: none;
    hyphens: none;
    padding: 0;
    color: #333; }

.img-border {
  border: 1px solid #eeeeee; }

.emph-section {
  background-color: #eeeeee; }

/*=============== Testing ===============*/
.test-improvement {
  color: #00ad49;
  font-weight: bold; }

/*=============== Blockquotes ===============*/
blockquote {
  background-color: #f8f8f8;
  border: 1px solid #eeeeee;
  padding: 1.5em;
  border-radius: 0.25em;
  margin: 2em 0 2em 0;
  position: relative; }
  blockquote:before {
    font-size: 16em;
    z-index: 0;
    opacity: .15;
    color: #5e7289;
    content: '“';
    position: absolute;
    left: 0;
    top: 0;
    line-height: .475em; }
  blockquote *:last-child {
    margin-bottom: 0 !important; }
  blockquote ul {
    margin-bottom: 0 !important; }
    blockquote ul li:last-child {
      margin-bottom: 0 !important; }
  blockquote em {
    color: #737373;
    font-style: italic;
    font-size: 1.0625rem; }
    blockquote em:before {
      content: "\2014 \00A0"; }

/*=============== Progress Bar ===============*/
progress {
  z-index: 1000000000;
  /* Positioning */
  position: fixed;
  left: 0;
  top: 0;
  /* Dimensions */
  width: 100%;
  height: 0.1875em;
  /* Reset the appearance */
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  /* Get rid of the default border in Firefox/Opera. */
  border: none;
  /* Progress bar container for Firefox/IE10+ */
  background-color: transparent;
  /* Progress bar value for IE10+ */
  color: #23507a; }

progress::-webkit-progress-bar {
  background-color: transparent; }

progress::-webkit-progress-value {
  background-color: #23507a; }

progress::-moz-progress-bar {
  background-color: #23507a; }

.bf-item {
  margin-bottom: 2em; }

.bf-date {
  float: left;
  margin-right: 1em;
  background-color: #f8f8f8;
  display: block;
  height: 4em;
  width: 4em;
  border-radius: 100%;
  line-height: 4em;
  text-align: center;
  font-family: "ProximaNova", sans-serif;
  text-transform: uppercase;
  color: #23507a; }
  .bf-date span {
    display: inline-block;
    line-height: 1em;
    vertical-align: middle; }

.bf-content {
  display: block;
  overflow: hidden; }

.bf-title {
  margin-top: 0;
  font-size: 1.5rem; }
  @media (min-width: 40em) {
    .bf-title {
      font-size: 1.8rem; } }
  @media (min-width: 60em) {
    .bf-title {
      font-size: 2rem; } }

.bf-excerpt {
  margin-bottom: 0; }

.post-meta {
  text-align: center;
  text-transform: uppercase;
  font-size: 0.875rem; }
  @media (min-width: 40em) {
    .post-meta {
      font-size: 0.875rem; } }
  @media (min-width: 60em) {
    .post-meta {
      font-size: 1.0625rem; } }

.post-date, .post-reading-time {
  background-repeat: no-repeat;
  background-size: 0.875em;
  background-position: center left;
  padding-left: 1em;
  margin: 0 0.25em; }

.post-date {
  background-image: url(img/ico-calendar.svg); }

.post-reading-time {
  background-image: url(img/ico-time.svg); }

.share-btns {
  text-align: center; }
  .share-btns p {
    font-size: 1.3125rem; }

.share-btns-v2 {
  margin-top: 2em; }

.blog-feed {
  border-top: 1px solid #eeeeee; }

.blog-feed__wrap {
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: auto;
  grid-gap: 20px; }
  @media (min-width: 40em) {
    .blog-feed__wrap {
      grid-template-columns: 1fr 1fr; } }

.cf-item {
  background-color: #ffffff;
  padding: 1em;
  display: flex;
  flex-direction: column;
  position: relative;
  background-color: #f8f8f8; }

.cf-ico {
  width: 2.5em;
  margin-left: 1em;
  float: left;
  margin-top: 0;
  margin-bottom: 0.5em; }
  @media (min-width: 40em) {
    .cf-ico {
      width: 2.5em; } }

.cf-date {
  float: left;
  display: block;
  height: 4em;
  width: 4em;
  border-radius: 100%;
  line-height: 4em;
  text-align: right;
  font-family: "ProximaNova", sans-serif;
  text-transform: uppercase;
  color: #23507a;
  font-size: 0.75em;
  position: absolute;
  right: 1em;
  top: 1em; }
  .cf-date span {
    display: inline-block;
    line-height: 1em;
    vertical-align: middle; }
  .cf-date br {
    display: none; }

.cf-content {
  display: block;
  overflow: hidden; }

.cf-title {
  margin-top: 0;
  margin-bottom: 0.5em;
  grid-column: 3;
  font-size: 1.3125rem; }
  @media (min-width: 40em) {
    .cf-title {
      font-size: 1.5rem; } }
  @media (min-width: 60em) {
    .cf-title {
      font-size: 1.5rem; } }

.cf-excerpt {
  margin-bottom: 0;
  font-size: 0.875rem; }
  @media (min-width: 40em) {
    .cf-excerpt {
      font-size: 0.875rem; } }
  @media (min-width: 60em) {
    .cf-excerpt {
      font-size: 1.0625rem; } }

.site-wrap {
  background: #ffffff;
  position: relative;
  overflow: hidden;
  margin: 0 auto; }
  @media (min-width: 40em) {
    .site-wrap {
      overflow: visible; } }

/*=============== Site Content ===============*/
.site-content {
  background-color: #ffffff;
  position: relative;
  z-index: 2; }

/*=============== Search ===============*/
.search-table {
  display: table;
  width: 100%;
  float: right;
  padding: 0; }

.search-row {
  display: table-row;
  width: 100%; }

.search-cell1 {
  display: table-cell;
  padding-right: 0.4375em; }

.search-cell2 {
  display: table-cell;
  width: 2.1875em;
  border: 0; }

.search-text {
  font-size: .8em;
  width: 100%;
  height: 2.3em;
  border: 1px solid red;
  float: left;
  padding-left: .5em;
  margin-bottom: 0 !important; }

.search-submit {
  width: 100%;
  height: 2.3em;
  border: 0;
  float: right;
  background: url(img/ico-search.svg) no-repeat center center !important; }

.no-svg .search-submit {
  background: url(img/ico-search.png) no-repeat center center !important; }

@media (min-width: 40em) {
  .site-search {
    width: 100%; }
  .search-text {
    height: 2.3em; }
  .search-submit {
    height: 2.3em; } }

.search-module {
  background-color: #23507a;
  height: 6em;
  margin-top: -6em;
  border-bottom: 1px solid rgba(0, 0, 0, 0.47);
  position: fixed;
  left: 0;
  right: 0;
  z-index: 10000;
  -webkit-transition: all 0.2s ease-in-out;
  -moz-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out; }
  .search-module.active {
    margin-top: 0; }
  .search-module .inner-wrap, .search-module .container--sm, .search-module .inner-wrap-narrow, .search-module .container, .search-module .inner-wrap-wide, .search-module .container--lg, .search-module .inner-wrap-fullwidth {
    padding: 0.3em 1.5em 1em; }

.search-exit {
  float: right;
  margin-left: 10px;
  margin-bottom: 5px;
  top: 0;
  right: 0; }

/*=============== Portfolio Section ===============*/
.work-section {
  border-bottom: 1px solid #eeeeee; }

.ps-item {
  float: left;
  display: block;
  margin-right: 2.35765%;
  width: 100%;
  border-bottom: 0 !important;
  padding: 0.5em; }
  .ps-item:last-child {
    margin-right: 0; }
  @media (min-width: 40em) {
    .ps-item {
      float: left;
      display: block;
      margin-right: 2.35765%;
      width: 48.82117%; }
      .ps-item:last-child {
        margin-right: 0; }
      .ps-item:nth-child(2n) {
        margin-right: 0; } }
  .ps-item .section-header {
    background-color: #f9f9f9;
    padding: 1em;
    margin-bottom: 0;
    -webkit-transition: background 0.2s ease-in-out;
    -moz-transition: background 0.2s ease-in-out;
    transition: background 0.2s ease-in-out; }
  .ps-item:hover .section-header {
    background-color: #eeeeee; }

.section-header {
  text-align: center;
  margin-bottom: 2em; }
  .section-header a {
    text-decoration: none; }
  .section-header h1,
  .section-header h2,
  .section-header .site-logo figcaption, .site-logo
  .section-header figcaption {
    margin-top: 0;
    font-size: 1.5rem; }
    @media (min-width: 40em) {
      .section-header h1,
      .section-header h2,
      .section-header .site-logo figcaption, .site-logo
      .section-header figcaption {
        font-size: 1.8rem; } }
    @media (min-width: 60em) {
      .section-header h1,
      .section-header h2,
      .section-header .site-logo figcaption, .site-logo
      .section-header figcaption {
        font-size: 2rem; } }
  .section-header p {
    margin-bottom: 0; }

/*=============== Subscribe Module ===============*/
.subscribe-module h2, .subscribe-module .site-logo figcaption, .site-logo .subscribe-module figcaption,
.subscribe-module h3,
.subscribe-module p {
  color: #ffffff;
  margin-bottom: 0; }

.subscribe-module .mc-label {
  display: none; }

.subscribe-module .inner-wrap, .subscribe-module .container--sm, .subscribe-module .inner-wrap-narrow, .subscribe-module .container, .subscribe-module .inner-wrap-wide, .subscribe-module .container--lg, .subscribe-module .inner-wrap-fullwidth {
  border-bottom: 1px solid #5e7289;
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: auto;
  grid-gap: 20px; }

@media (min-width: 40em) {
  .subscribe-module .inner-wrap, .subscribe-module .container--sm, .subscribe-module .inner-wrap-narrow, .subscribe-module .container, .subscribe-module .inner-wrap-wide, .subscribe-module .container--lg, .subscribe-module .inner-wrap-fullwidth {
    grid-template-columns: 7fr 5fr; } }

.subscribe-module__header h2, .subscribe-module__header .site-logo figcaption, .site-logo .subscribe-module__header figcaption,
.subscribe-module__header h3 {
  margin-top: 0; }

.subscribe-module__header p {
  margin-bottom: 0; }

.subscribe-module__form {
  text-align: left; }
  @media (min-width: 40em) {
    .subscribe-module__form {
      text-align: right; } }

.clearfix:before,
.clearfix:after {
  content: " ";
  display: table; }

.clearfix:after {
  clear: both; }

.clearfix {
  *zoom: 1; }

.alignright {
  display: block;
  padding-bottom: 1.5em; }

.alignleft {
  display: block;
  padding-bottom: 1.5em; }

.aligncenter {
  display: block;
  margin: 0 auto; }

@media (min-width: 40em) {
  .alignright {
    display: block;
    float: right;
    padding-bottom: 1.5em;
    padding-left: 1.5em; }
  .alignleft {
    display: block;
    float: left;
    padding-bottom: 1.5em;
    padding-right: 1.5em; }
  .aligncenter {
    display: block;
    margin: 0 auto; } }

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

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

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

.clearboth {
  clear: both;
  display: block; }

.spacing-bottom {
  margin-bottom: 2em; }

.spacing-top {
  margin-top: 2em; }

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

.mb-1 {
  margin-bottom: 0.5em; }

.mb-2 {
  margin-bottom: 1em; }

.mb-3 {
  margin-bottom: 1.5em; }

.mb-4 {
  margin-bottom: 2em; }

.pb-0 {
  padding-bottom: 0; }

/*
 * jQuery FlexSlider v2.2.0
 * http://www.woothemes.com/flexslider/
 *
 * Copyright 2012 WooThemes
 * Free to use under the GPLv2 license.
 * http://www.gnu.org/licenses/gpl-2.0.html
 *
 * Contributing author: Tyler Smith (@mbmufffin)
 */
/* Browser Resets
*********************************/
.flex-container a:active,
.flexslider a:active,
.flex-container a:focus,
.flexslider a:focus {
  outline: none; }

.slides,
.flex-control-nav,
.flex-direction-nav {
  margin: 0;
  padding: 0;
  list-style: none; }

/* Icon Fonts - Removed
*********************************/
/* FlexSlider Necessary Styles
*********************************/
.flexslider {
  margin: 0;
  padding: 0; }

.flexslider .slides > li {
  display: none;
  -webkit-backface-visibility: hidden; }

/* Hide the slides before the JS is loaded. Avoids image jumping */
.flexslider .slides img {
  width: 100%;
  display: block; }

.flex-pauseplay span {
  text-transform: capitalize; }

/* Clearfix for the .slides element */
.slides:after {
  content: ".";
  display: block;
  clear: both;
  visibility: hidden;
  line-height: 0;
  height: 0; }

html[xmlns] .slides {
  display: block; }

* html .slides {
  height: 1%; }

/* No JavaScript Fallback */
/* If you are not using another script, such as Modernizr, make sure you
 * include js that eliminates this class on page load */
.no-js .slides > li:first-child {
  display: block; }

/* FlexSlider Default Theme
*********************************/
.flexslider {
  margin: 0;
  background: transparent;
  border: 0;
  position: relative;
  zoom: 1; }

.flex-viewport {
  max-height: 125em;
  -webkit-transition: all 1s ease;
  -moz-transition: all 1s ease;
  -o-transition: all 1s ease;
  transition: all 1s ease; }

.loading .flex-viewport {
  max-height: 300px; }

.flexslider .slides {
  zoom: 1; }

.carousel li {
  margin-right: 5px; }

/* Direction Nav */
.flex-direction-nav {
  *height: 0; }

.flex-direction-nav a {
  text-decoration: none;
  display: block;
  width: 40px;
  height: 40px;
  margin: -20px 0 0;
  position: absolute;
  top: 57%;
  z-index: 10;
  overflow: hidden;
  opacity: 0;
  cursor: pointer;
  color: rgba(0, 0, 0, 0.8);
  text-shadow: 1px 1px 0 rgba(255, 255, 255, 0.3);
  -webkit-transition: all .3s ease;
  -moz-transition: all .3s ease;
  transition: all .3s ease; }

.flex-direction-nav .flex-prev {
  left: -50px; }

.flex-direction-nav .flex-next {
  right: -50px;
  text-align: right; }

.flexslider:hover .flex-prev {
  left: 10px; }

.flexslider:hover .flex-next {
  right: 10px; }

.flexslider:hover .flex-next:hover,
.flexslider:hover .flex-prev:hover {
  opacity: 1; }

.flex-direction-nav .flex-disabled {
  opacity: 0 !important;
  filter: alpha(opacity=0);
  cursor: default; }

.flex-direction-nav a:before {
  display: block;
  content: '';
  height: 2.5em;
  background-size: 40px;
  background-repeat: no-repeat;
  background-image: url(img/ico-arrow-left.svg); }

/*{ font-family: "flexslider-icon"; font-size: 40px; line-height:1; display: inline-block; content: '\f001'; }*/
.flex-direction-nav a.flex-next:before {
  background-image: url(img/ico-arrow-right.svg); }

/*{ content: '\f002'; }*/
/* Pause/Play */
.flex-pauseplay a {
  display: block;
  width: 20px;
  height: 20px;
  position: absolute;
  bottom: 5px;
  left: 10px;
  opacity: 0.8;
  z-index: 10;
  overflow: hidden;
  cursor: pointer;
  color: #000; }

.flex-pauseplay a:before {
  font-family: "flexslider-icon";
  font-size: 20px;
  display: inline-block;
  content: '\f004'; }

.flex-pauseplay a:hover {
  opacity: 1; }

.flex-pauseplay a.flex-play:before {
  content: '\f003'; }

/* Control Nav */
.flex-control-nav {
  width: 100%;
  position: absolute;
  bottom: -40px;
  text-align: center; }

.flex-control-nav li {
  margin: 0 6px;
  display: inline-block;
  zoom: 1;
  *display: inline; }

.flex-control-paging li a {
  width: 11px;
  height: 11px;
  display: block;
  background: #666;
  background: rgba(0, 0, 0, 0.5);
  cursor: pointer;
  text-indent: -9999px;
  -webkit-border-radius: 20px;
  -moz-border-radius: 20px;
  -o-border-radius: 20px;
  border-radius: 20px;
  -webkit-box-shadow: inset 0 0 3px rgba(0, 0, 0, 0.3);
  -moz-box-shadow: inset 0 0 3px rgba(0, 0, 0, 0.3);
  -o-box-shadow: inset 0 0 3px rgba(0, 0, 0, 0.3);
  box-shadow: inset 0 0 3px rgba(0, 0, 0, 0.3); }

.flex-control-paging li a:hover {
  background: #333;
  background: rgba(0, 0, 0, 0.7); }

.flex-control-paging li a.flex-active {
  background: #000;
  background: rgba(0, 0, 0, 0.9);
  cursor: default; }

.flex-control-thumbs {
  margin: 5px 0 0;
  position: static;
  overflow: hidden; }

.flex-control-thumbs li {
  width: 25%;
  float: left;
  margin: 0; }

.flex-control-thumbs img {
  width: 100%;
  display: block;
  opacity: .7;
  cursor: pointer; }

.flex-control-thumbs img:hover {
  opacity: 1; }

.flex-control-thumbs .flex-active {
  opacity: 1;
  cursor: default; }

/*
@media screen and (max-width: 860px) {
  .flex-direction-nav .flex-prev { opacity: 1; left: 10px;}
  .flex-direction-nav .flex-next { opacity: 1; right: 10px;}
}
*/
.flex-direction-nav .flex-prev {
  opacity: .3;
  left: 10px; }

.flex-direction-nav .flex-next {
  opacity: .3;
  right: 10px; }

/* 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;
  filter: alpha(opacity=80); }

.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;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  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: -moz-zoom-out;
  cursor: -webkit-zoom-out;
  cursor: zoom-out; }

.mfp-zoom {
  cursor: pointer;
  cursor: -webkit-zoom-in;
  cursor: -moz-zoom-in;
  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;
  -webkit-box-shadow: none;
  box-shadow: none; }

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;
  filter: alpha(opacity=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;
  filter: alpha(opacity=100); }

.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;
  filter: alpha(opacity=65);
  margin: 0;
  top: 50%;
  margin-top: -55px;
  padding: 0;
  width: 90px;
  height: 110px;
  -webkit-tap-highlight-color: transparent; }

.mfp-arrow:active {
  margin-top: -54px; }

.mfp-arrow:hover,
.mfp-arrow:focus {
  opacity: 1;
  filter: alpha(opacity=100); }

.mfp-arrow:before,
.mfp-arrow:after,
.mfp-arrow .mfp-b,
.mfp-arrow .mfp-a {
  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,
.mfp-arrow .mfp-a {
  border-top-width: 13px;
  border-bottom-width: 13px;
  top: 8px; }

.mfp-arrow:before,
.mfp-arrow .mfp-b {
  border-top-width: 21px;
  border-bottom-width: 21px;
  opacity: 0.7; }

.mfp-arrow-left {
  left: 0; }

.mfp-arrow-left:after,
.mfp-arrow-left .mfp-a {
  border-right: 17px solid #FFF;
  margin-left: 31px; }

.mfp-arrow-left:before,
.mfp-arrow-left .mfp-b {
  margin-left: 25px;
  border-right: 27px solid #3F3F3F; }

.mfp-arrow-right {
  right: 0; }

.mfp-arrow-right:after,
.mfp-arrow-right .mfp-a {
  border-left: 17px solid #FFF;
  margin-left: 39px; }

.mfp-arrow-right:before,
.mfp-arrow-right .mfp-b {
  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;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  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;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    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 {
    -webkit-transform: scale(0.75);
    transform: scale(0.75); }
  .mfp-arrow-left {
    -webkit-transform-origin: 0;
    transform-origin: 0; }
  .mfp-arrow-right {
    -webkit-transform-origin: 100%;
    transform-origin: 100%; }
  .mfp-container {
    padding-left: 6px;
    padding-right: 6px; } }

.mfp-ie7 .mfp-img {
  padding: 0; }

.mfp-ie7 .mfp-bottom-bar {
  width: 600px;
  left: 50%;
  margin-left: -300px;
  margin-top: 5px;
  padding-bottom: 5px; }

.mfp-ie7 .mfp-container {
  padding: 0; }

.mfp-ie7 .mfp-content {
  padding-top: 44px; }

.mfp-ie7 .mfp-close {
  top: 0;
  right: 0;
  padding-top: 0; }

/*! Tablesaw - v1.0.2 - 2014-12-17
* https://github.com/filamentgroup/tablesaw
* Copyright (c) 2014 Filament Group; Licensed MIT */
table.tablesaw {
  empty-cells: show;
  max-width: 100%;
  width: 100%; }

.tablesaw {
  border-collapse: collapse;
  width: 100%; }

/* Structure */
.tablesaw {
  border: 0;
  padding: 0; }

.tablesaw th,
.tablesaw td {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  padding: .5em .7em; }

.tablesaw thead tr:first-child th {
  padding-top: .9em;
  padding-bottom: .7em; }

/* Table rows have a gray bottom stroke by default */
.tablesaw-stack tbody tr {
  border-bottom: 1px solid #dfdfdf; }

.tablesaw-stack td .tablesaw-cell-label,
.tablesaw-stack th .tablesaw-cell-label {
  display: none; }

/* Mobile first styles: Begin with the stacked presentation at narrow widths */
@media only all {
  /* Show the table cells as a block level element */
  .tablesaw-stack td,
  .tablesaw-stack th {
    text-align: left;
    display: block; }
  .tablesaw-stack tr {
    clear: both;
    display: table-row; }
  /* Make the label elements a percentage width */
  .tablesaw-stack td .tablesaw-cell-label,
  .tablesaw-stack th .tablesaw-cell-label {
    display: block;
    padding: 0 .6em 0 0;
    width: 30%;
    display: inline-block; }
  /* For grouped headers, have a different style to visually separate the levels by classing the first label in each col group */
  .tablesaw-stack th .tablesaw-cell-label-top,
  .tablesaw-stack td .tablesaw-cell-label-top {
    display: block;
    padding: .4em 0;
    margin: .4em 0; }
  .tablesaw-cell-label {
    display: block; }
  /* Avoid double strokes when stacked */
  .tablesaw-stack tbody th.group {
    margin-top: -1px; }
  /* Avoid double strokes when stacked */
  .tablesaw-stack th.group b.tablesaw-cell-label {
    display: none !important; } }

@media (max-width: 39.9375em) {
  .tablesaw-stack thead td,
  .tablesaw-stack thead th {
    display: none; }
  .tablesaw-stack tbody td,
  .tablesaw-stack tbody th {
    clear: left;
    float: left;
    width: 100%; }
  .tablesaw-cell-label {
    vertical-align: top; }
  .tablesaw-cell-content {
    max-width: 67%;
    display: inline-block; }
  .tablesaw-stack td:empty,
  .tablesaw-stack th:empty {
    display: none; } }

/* Media query to show as a standard table at 560px (35em x 16px) or wider */
@media (min-width: 40em) {
  .tablesaw-stack tr {
    display: table-row; }
  /* Show the table header rows */
  .tablesaw-stack td,
  .tablesaw-stack th,
  .tablesaw-stack thead td,
  .tablesaw-stack thead th {
    display: table-cell;
    margin: 0; }
  /* Hide the labels in each cell */
  .tablesaw-stack td .tablesaw-cell-label,
  .tablesaw-stack th .tablesaw-cell-label {
    display: none !important; } }

*,
*:before,
*:after {
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box; }

a:hover {
  cursor: pointer; }

a:focus {
  outline: none; }

img,
object,
embed {
  max-width: 100%;
  height: auto; }

object,
embed {
  height: 100%; }

img {
  -ms-interpolation-mode: bicubic; }

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

.left {
  float: left !important; }

.right {
  float: right !important; }

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

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

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

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

.hide {
  display: none; }

.antialiased {
  -webkit-font-smoothing: antialiased; }

img {
  display: inline-block;
  vertical-align: middle; }

textarea {
  height: auto;
  min-height: 50px; }

select {
  width: 100%; }

/* Grid HTML Classes */
.row {
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  margin-top: 0;
  margin-bottom: 0;
  max-width: 62.5em;
  *zoom: 1; }

.row:before, .row:after {
  content: " ";
  display: table; }

.row:after {
  clear: both; }

.row.collapse .column,
.row.collapse .columns {
  position: relative;
  padding-left: 0;
  padding-right: 0;
  float: left; }

.row .row {
  width: auto;
  margin-left: -0.9375em;
  margin-right: -0.9375em;
  margin-top: 0;
  margin-bottom: 0;
  max-width: none;
  *zoom: 1; }

.row .row:before, .row .row:after {
  content: " ";
  display: table; }

.row .row:after {
  clear: both; }

.row .row.collapse {
  width: auto;
  margin: 0;
  max-width: none;
  *zoom: 1; }

.row .row.collapse:before, .row .row.collapse:after {
  content: " ";
  display: table; }

.row .row.collapse:after {
  clear: both; }

.column,
.columns {
  position: relative;
  padding-left: 0.9375em;
  padding-right: 0.9375em;
  width: 100%;
  float: left; }

@media only screen {
  .column,
  .columns {
    position: relative;
    padding-left: 0.9375em;
    padding-right: 0.9375em;
    float: left; }
  .small-1 {
    position: relative;
    width: 8.33333%; }
  .small-2 {
    position: relative;
    width: 16.66667%; }
  .small-3 {
    position: relative;
    width: 25%; }
  .small-4 {
    position: relative;
    width: 33.33333%; }
  .small-5 {
    position: relative;
    width: 41.66667%; }
  .small-6 {
    position: relative;
    width: 50%; }
  .small-7 {
    position: relative;
    width: 58.33333%; }
  .small-8 {
    position: relative;
    width: 66.66667%; }
  .small-9 {
    position: relative;
    width: 75%; }
  .small-10 {
    position: relative;
    width: 83.33333%; }
  .small-11 {
    position: relative;
    width: 91.66667%; }
  .small-12 {
    position: relative;
    width: 100%; }
  .small-offset-0 {
    position: relative;
    margin-left: 0%; }
  .small-offset-1 {
    position: relative;
    margin-left: 8.33333%; }
  .small-offset-2 {
    position: relative;
    margin-left: 16.66667%; }
  .small-offset-3 {
    position: relative;
    margin-left: 25%; }
  .small-offset-4 {
    position: relative;
    margin-left: 33.33333%; }
  .small-offset-5 {
    position: relative;
    margin-left: 41.66667%; }
  .small-offset-6 {
    position: relative;
    margin-left: 50%; }
  .small-offset-7 {
    position: relative;
    margin-left: 58.33333%; }
  .small-offset-8 {
    position: relative;
    margin-left: 66.66667%; }
  .small-offset-9 {
    position: relative;
    margin-left: 75%; }
  .small-offset-10 {
    position: relative;
    margin-left: 83.33333%; }
  [class*="column"] + [class*="column"]:last-child {
    float: right; }
  [class*="column"] + [class*="column"].end {
    float: left; }
  .column.small-centered,
  .columns.small-centered {
    position: relative;
    margin-left: auto;
    margin-right: auto;
    float: none !important; } }

/* Styles for screens that are atleast 768px; */
@media only screen and (min-width: 768px) {
  .large-1 {
    position: relative;
    width: 8.33333%; }
  .large-2 {
    position: relative;
    width: 16.66667%; }
  .large-3 {
    position: relative;
    width: 25%; }
  .large-4 {
    position: relative;
    width: 33.33333%; }
  .large-5 {
    position: relative;
    width: 41.66667%; }
  .large-6 {
    position: relative;
    width: 50%; }
  .large-7 {
    position: relative;
    width: 58.33333%; }
  .large-8 {
    position: relative;
    width: 66.66667%; }
  .large-9 {
    position: relative;
    width: 75%; }
  .large-10 {
    position: relative;
    width: 83.33333%; }
  .large-11 {
    position: relative;
    width: 91.66667%; }
  .large-12 {
    position: relative;
    width: 100%; }
  .row .large-offset-0 {
    position: relative;
    margin-left: 0%; }
  .row .large-offset-1 {
    position: relative;
    margin-left: 8.33333%; }
  .row .large-offset-2 {
    position: relative;
    margin-left: 16.66667%; }
  .row .large-offset-3 {
    position: relative;
    margin-left: 25%; }
  .row .large-offset-4 {
    position: relative;
    margin-left: 33.33333%; }
  .row .large-offset-5 {
    position: relative;
    margin-left: 41.66667%; }
  .row .large-offset-6 {
    position: relative;
    margin-left: 50%; }
  .row .large-offset-7 {
    position: relative;
    margin-left: 58.33333%; }
  .row .large-offset-8 {
    position: relative;
    margin-left: 66.66667%; }
  .row .large-offset-9 {
    position: relative;
    margin-left: 75%; }
  .row .large-offset-10 {
    position: relative;
    margin-left: 83.33333%; }
  .row .large-offset-11 {
    position: relative;
    margin-left: 91.66667%; }
  .push-1 {
    position: relative;
    left: 8.33333%;
    right: auto; }
  .pull-1 {
    position: relative;
    right: 8.33333%;
    left: auto; }
  .push-2 {
    position: relative;
    left: 16.66667%;
    right: auto; }
  .pull-2 {
    position: relative;
    right: 16.66667%;
    left: auto; }
  .push-3 {
    position: relative;
    left: 25%;
    right: auto; }
  .pull-3 {
    position: relative;
    right: 25%;
    left: auto; }
  .push-4 {
    position: relative;
    left: 33.33333%;
    right: auto; }
  .pull-4 {
    position: relative;
    right: 33.33333%;
    left: auto; }
  .push-5 {
    position: relative;
    left: 41.66667%;
    right: auto; }
  .pull-5 {
    position: relative;
    right: 41.66667%;
    left: auto; }
  .push-6 {
    position: relative;
    left: 50%;
    right: auto; }
  .pull-6 {
    position: relative;
    right: 50%;
    left: auto; }
  .push-7 {
    position: relative;
    left: 58.33333%;
    right: auto; }
  .pull-7 {
    position: relative;
    right: 58.33333%;
    left: auto; }
  .push-8 {
    position: relative;
    left: 66.66667%;
    right: auto; }
  .pull-8 {
    position: relative;
    right: 66.66667%;
    left: auto; }
  .push-9 {
    position: relative;
    left: 75%;
    right: auto; }
  .pull-9 {
    position: relative;
    right: 75%;
    left: auto; }
  .push-10 {
    position: relative;
    left: 83.33333%;
    right: auto; }
  .pull-10 {
    position: relative;
    right: 83.33333%;
    left: auto; }
  .push-11 {
    position: relative;
    left: 91.66667%;
    right: auto; }
  .pull-11 {
    position: relative;
    right: 91.66667%;
    left: auto; }
  .column.large-centered,
  .columns.large-centered {
    position: relative;
    margin-left: auto;
    margin-right: auto;
    float: none !important; }
  .column.large-uncentered,
  .columns.large-uncentered {
    margin-left: 0;
    margin-right: 0;
    float: left !important; }
  .column.large-uncentered.opposite,
  .columns.large-uncentered.opposite {
    float: right !important; } }

.twentytwenty-horizontal .twentytwenty-handle:before, .twentytwenty-horizontal .twentytwenty-handle:after, .twentytwenty-vertical .twentytwenty-handle:before, .twentytwenty-vertical .twentytwenty-handle:after {
  content: " ";
  display: block;
  background: white;
  position: absolute;
  z-index: 30;
  -webkit-box-shadow: 0px 0px 12px rgba(51, 51, 51, 0.5);
  -moz-box-shadow: 0px 0px 12px rgba(51, 51, 51, 0.5);
  box-shadow: 0px 0px 12px rgba(51, 51, 51, 0.5); }

.twentytwenty-horizontal .twentytwenty-handle:before, .twentytwenty-horizontal .twentytwenty-handle:after {
  width: 3px;
  height: 9999px;
  left: 50%;
  margin-left: -1.5px; }

.twentytwenty-vertical .twentytwenty-handle:before, .twentytwenty-vertical .twentytwenty-handle:after {
  width: 9999px;
  height: 3px;
  top: 50%;
  margin-top: -1.5px; }

.twentytwenty-before-label, .twentytwenty-after-label, .twentytwenty-overlay {
  position: absolute;
  top: 0;
  width: 100%;
  height: 100%; }

.twentytwenty-before-label, .twentytwenty-after-label, .twentytwenty-overlay {
  -webkit-transition-duration: 0.5s;
  -moz-transition-duration: 0.5s;
  transition-duration: 0.5s; }

.twentytwenty-before-label, .twentytwenty-after-label {
  -webkit-transition-property: opacity;
  -moz-transition-property: opacity;
  transition-property: opacity; }

.twentytwenty-before-label:before, .twentytwenty-after-label:before {
  color: white;
  font-size: 13px;
  letter-spacing: 0.1em; }

.twentytwenty-before-label:before, .twentytwenty-after-label:before {
  position: absolute;
  background: rgba(255, 255, 255, 0.2);
  line-height: 38px;
  padding: 0 20px;
  -webkit-border-radius: 2px;
  -moz-border-radius: 2px;
  border-radius: 2px; }

.twentytwenty-horizontal .twentytwenty-before-label:before, .twentytwenty-horizontal .twentytwenty-after-label:before {
  top: 50%;
  margin-top: -19px; }

.twentytwenty-vertical .twentytwenty-before-label:before, .twentytwenty-vertical .twentytwenty-after-label:before {
  left: 50%;
  margin-left: -45px;
  text-align: center;
  width: 90px; }

.twentytwenty-left-arrow, .twentytwenty-right-arrow, .twentytwenty-up-arrow, .twentytwenty-down-arrow {
  width: 0;
  height: 0;
  border: 6px inset transparent;
  position: absolute; }

.twentytwenty-left-arrow, .twentytwenty-right-arrow {
  top: 50%;
  margin-top: -6px; }

.twentytwenty-up-arrow, .twentytwenty-down-arrow {
  left: 50%;
  margin-left: -6px; }

.twentytwenty-container {
  -webkit-box-sizing: content-box;
  -moz-box-sizing: content-box;
  box-sizing: content-box;
  z-index: 0;
  overflow: hidden;
  position: relative;
  -webkit-user-select: none;
  -moz-user-select: none; }

.twentytwenty-container img {
  max-width: 100%;
  position: absolute;
  top: 0;
  display: block; }

.twentytwenty-container.active .twentytwenty-overlay, .twentytwenty-container.active :hover.twentytwenty-overlay {
  background: transparent; }

.twentytwenty-container.active .twentytwenty-overlay .twentytwenty-before-label,
.twentytwenty-container.active .twentytwenty-overlay .twentytwenty-after-label, .twentytwenty-container.active :hover.twentytwenty-overlay .twentytwenty-before-label,
.twentytwenty-container.active :hover.twentytwenty-overlay .twentytwenty-after-label {
  opacity: 0; }

.twentytwenty-container * {
  -webkit-box-sizing: content-box;
  -moz-box-sizing: content-box;
  box-sizing: content-box; }

.twentytwenty-before-label {
  opacity: 0; }

.twentytwenty-before-label:before {
  content: "Before"; }

.twentytwenty-after-label {
  opacity: 0; }

.twentytwenty-after-label:before {
  content: "After"; }

.twentytwenty-horizontal .twentytwenty-before-label:before {
  left: 10px; }

.twentytwenty-horizontal .twentytwenty-after-label:before {
  right: 10px; }

.twentytwenty-vertical .twentytwenty-before-label:before {
  top: 10px; }

.twentytwenty-vertical .twentytwenty-after-label:before {
  bottom: 10px; }

.twentytwenty-overlay {
  -webkit-transition-property: background;
  -moz-transition-property: background;
  transition-property: background;
  background: transparent;
  z-index: 25; }

.twentytwenty-overlay:hover {
  background: rgba(0, 0, 0, 0.5); }

.twentytwenty-overlay:hover .twentytwenty-after-label {
  opacity: 1; }

.twentytwenty-overlay:hover .twentytwenty-before-label {
  opacity: 1; }

.twentytwenty-before {
  z-index: 20; }

.twentytwenty-after {
  z-index: 10; }

.twentytwenty-handle {
  height: 38px;
  width: 38px;
  position: absolute;
  left: 50%;
  top: 50%;
  margin-left: -22px;
  margin-top: -22px;
  border: 3px solid white;
  -webkit-border-radius: 1000px;
  -moz-border-radius: 1000px;
  border-radius: 1000px;
  -webkit-box-shadow: 0px 0px 12px rgba(51, 51, 51, 0.5);
  -moz-box-shadow: 0px 0px 12px rgba(51, 51, 51, 0.5);
  box-shadow: 0px 0px 12px rgba(51, 51, 51, 0.5);
  z-index: 40;
  cursor: pointer; }

.twentytwenty-horizontal .twentytwenty-handle:before {
  bottom: 50%;
  margin-bottom: 22px;
  -webkit-box-shadow: 0 3px 0 white, 0px 0px 12px rgba(51, 51, 51, 0.5);
  -moz-box-shadow: 0 3px 0 white, 0px 0px 12px rgba(51, 51, 51, 0.5);
  box-shadow: 0 3px 0 white, 0px 0px 12px rgba(51, 51, 51, 0.5); }

.twentytwenty-horizontal .twentytwenty-handle:after {
  top: 50%;
  margin-top: 22px;
  -webkit-box-shadow: 0 -3px 0 white, 0px 0px 12px rgba(51, 51, 51, 0.5);
  -moz-box-shadow: 0 -3px 0 white, 0px 0px 12px rgba(51, 51, 51, 0.5);
  box-shadow: 0 -3px 0 white, 0px 0px 12px rgba(51, 51, 51, 0.5); }

.twentytwenty-vertical .twentytwenty-handle:before {
  left: 50%;
  margin-left: 22px;
  -webkit-box-shadow: 3px 0 0 white, 0px 0px 12px rgba(51, 51, 51, 0.5);
  -moz-box-shadow: 3px 0 0 white, 0px 0px 12px rgba(51, 51, 51, 0.5);
  box-shadow: 3px 0 0 white, 0px 0px 12px rgba(51, 51, 51, 0.5); }

.twentytwenty-vertical .twentytwenty-handle:after {
  right: 50%;
  margin-right: 22px;
  -webkit-box-shadow: -3px 0 0 white, 0px 0px 12px rgba(51, 51, 51, 0.5);
  -moz-box-shadow: -3px 0 0 white, 0px 0px 12px rgba(51, 51, 51, 0.5);
  box-shadow: -3px 0 0 white, 0px 0px 12px rgba(51, 51, 51, 0.5); }

.twentytwenty-left-arrow {
  border-right: 6px solid white;
  left: 50%;
  margin-left: -17px; }

.twentytwenty-right-arrow {
  border-left: 6px solid white;
  right: 50%;
  margin-right: -17px; }

.twentytwenty-up-arrow {
  border-bottom: 6px solid white;
  top: 50%;
  margin-top: -17px; }

.twentytwenty-down-arrow {
  border-top: 6px solid white;
  bottom: 50%;
  margin-bottom: -17px; }

.view-all-link {
  text-align: center;
  font-weight: normal; }

@media (min-width: 60em) {
  .article-content .container {
    display: grid;
    grid-template-rows: auto;
    grid-gap: 0 1.5em;
    align-items: start;
    grid-template-rows: auto auto auto;
    grid-template-areas: "article-table-of-contents article-main article-head" "article-table-of-contents article-additional-info article-head";
    grid-template-columns: 12rem 4fr 12rem;
    max-width: 78rem; } }

.article__info {
  grid-area: article-info;
  position: sticky;
  position: -webkit-sticky;
  top: 6em; }

.article__main {
  grid-area: article-main;
  min-width: 0; }
  .article__main h2:target, .article__main .site-logo figcaption:target, .site-logo .article__main figcaption:target, .article__main h3:target, .article__main h4:target {
    background: #f6f6f6;
    box-shadow: -10px 0 0 12px #f6f6f6; }
    .article__main h2:target .article__header-target, .article__main .site-logo figcaption:target .article__header-target, .site-logo .article__main figcaption:target .article__header-target, .article__main h3:target .article__header-target, .article__main h4:target .article__header-target {
      opacity: 1; }
  .article__main h2:hover .article__header-target, .article__main .site-logo figcaption:hover .article__header-target, .site-logo .article__main figcaption:hover .article__header-target, .article__main h3:hover .article__header-target, .article__main h4:hover .article__header-target {
    opacity: 1; }

.article__table-of-contents {
  grid-area: article-table-of-contents;
  background-color: #f8f8f8;
  margin-bottom: 1em;
  padding: 0.5em 1.5em; }
  .article__table-of-contents ul {
    padding-left: 0 !important; }
    .article__table-of-contents ul li {
      font-size: 1em !important;
      margin-bottom: 0.75rem !important; }
      .article__table-of-contents ul li:after {
        background-image: none !important; }
    .article__table-of-contents ul ul {
      display: none; }
  @media (min-width: 40em) {
    .article__table-of-contents {
      float: right;
      max-width: 15rem;
      margin: 0 0 0.5em 0.5em; }
      .article__table-of-contents ul li {
        font-size: 1em !important; }
        .article__table-of-contents ul li a.entered {
          background-color: #eeeeee;
          border-bottom: 3px solid #eeeeee; }
        .article__table-of-contents ul li:before {
          position: absolute;
          left: -1.5rem; } }
  @media (min-width: 60em) {
    .article__table-of-contents {
      float: none;
      background-color: #ffffff;
      padding: 0;
      margin: 0;
      position: sticky;
      position: -webkit-sticky;
      top: 6em; } }

#TableOfContents > ul {
  padding-left: 0; }
  #TableOfContents > ul > li:after {
    display: none; }

.article__aside__header {
  font-size: 0.875rem;
  margin-top: 0.5rem;
  margin-bottom: 0.5em; }
  @media (min-width: 40em) {
    .article__aside__header {
      font-size: 0.875rem; } }
  @media (min-width: 60em) {
    .article__aside__header {
      font-size: 1.0625rem; } }

.article__additional-info {
  grid-area: article-additional-info; }

.article__header-target {
  font-size: .75em;
  color: #999;
  border-bottom: 0 !important;
  opacity: 1; }
  @media (min-width: 40em) {
    .article__header-target {
      opacity: 0; } }

.resume-header,
.resume-contact,
.resume-summary,
.resume-competencies,
.resume-highlights,
.resume-education {
  background-color: transparent !important; }

.resume-container--dark-mode, .resume-container--half-mode .resume-header,
.resume-container--half-mode .resume-contact,
.resume-container--half-mode .resume-summary,
.resume-container--half-mode .resume-competencies,
.resume-container--half-mode .resume-highlights,
.resume-container--half-mode .resume-education {
  color: #ffffff; }
  .resume-container--dark-mode a, .resume-container--half-mode .resume-header a,
  .resume-container--half-mode .resume-contact a,
  .resume-container--half-mode .resume-summary a,
  .resume-container--half-mode .resume-competencies a,
  .resume-container--half-mode .resume-highlights a,
  .resume-container--half-mode .resume-education a {
    color: #ffffff; }
  .resume-container--dark-mode h1, .resume-container--half-mode .resume-header h1,
  .resume-container--half-mode .resume-contact h1,
  .resume-container--half-mode .resume-summary h1,
  .resume-container--half-mode .resume-competencies h1,
  .resume-container--half-mode .resume-highlights h1,
  .resume-container--half-mode .resume-education h1, .resume-container--dark-mode h2, .resume-container--half-mode .resume-header h2,
  .resume-container--half-mode .resume-contact h2,
  .resume-container--half-mode .resume-summary h2,
  .resume-container--half-mode .resume-competencies h2,
  .resume-container--half-mode .resume-highlights h2,
  .resume-container--half-mode .resume-education h2, .resume-container--dark-mode .site-logo figcaption, .site-logo .resume-container--dark-mode figcaption, .resume-container--half-mode .resume-header .site-logo figcaption, .site-logo .resume-container--half-mode .resume-header figcaption,
  .resume-container--half-mode .resume-contact .site-logo figcaption, .site-logo
  .resume-container--half-mode .resume-contact figcaption,
  .resume-container--half-mode .resume-summary .site-logo figcaption, .site-logo
  .resume-container--half-mode .resume-summary figcaption,
  .resume-container--half-mode .resume-competencies .site-logo figcaption, .site-logo
  .resume-container--half-mode .resume-competencies figcaption,
  .resume-container--half-mode .resume-highlights .site-logo figcaption, .site-logo
  .resume-container--half-mode .resume-highlights figcaption,
  .resume-container--half-mode .resume-education .site-logo figcaption, .site-logo
  .resume-container--half-mode .resume-education figcaption, .resume-container--dark-mode h3, .resume-container--half-mode .resume-header h3,
  .resume-container--half-mode .resume-contact h3,
  .resume-container--half-mode .resume-summary h3,
  .resume-container--half-mode .resume-competencies h3,
  .resume-container--half-mode .resume-highlights h3,
  .resume-container--half-mode .resume-education h3, .resume-container--dark-mode h4, .resume-container--half-mode .resume-header h4,
  .resume-container--half-mode .resume-contact h4,
  .resume-container--half-mode .resume-summary h4,
  .resume-container--half-mode .resume-competencies h4,
  .resume-container--half-mode .resume-highlights h4,
  .resume-container--half-mode .resume-education h4, .resume-container--dark-mode p, .resume-container--half-mode .resume-header p,
  .resume-container--half-mode .resume-contact p,
  .resume-container--half-mode .resume-summary p,
  .resume-container--half-mode .resume-competencies p,
  .resume-container--half-mode .resume-highlights p,
  .resume-container--half-mode .resume-education p {
    color: #ffffff; }

.resume-wrap {
  background-color: #f8f8f8;
  z-index: 2;
  position: relative;
  padding: 0; }
  @media (min-width: 60em) {
    .resume-wrap {
      padding: 2rem 0; } }

.resume-container {
  background-color: #f8f8f8;
  z-index: 2;
  position: relative;
  margin: 0 auto;
  max-width: 11.05in;
  padding: 0;
  box-shadow: 0 0 9px #ccc;
  -webkit-print-color-adjust: exact !important; }
  @media (min-width: 60em) {
    .resume-container {
      display: grid;
      grid-template-columns: 4fr 9fr;
      grid-template-rows: auto auto auto auto auto auto auto auto;
      grid-gap: 0rem; } }

.resume-container--dark-mode {
  background-image: linear-gradient(to bottom, #2a6398 0, #183754 100%);
  background-repeat: repeat-x; }
  .resume-container--dark-mode .resume-section {
    background: transparent; }
  .resume-container--dark-mode .resume-experience .resume-section__title {
    background: #23507a; }

.resume-container--half-mode {
  background-image: linear-gradient(to bottom, #2a6398 0, #183754 100%);
  background-repeat: repeat-x; }

.resume-logo {
  float: none !important;
  margin-bottom: 0.5em; }
  .resume-logo a {
    border-bottom: 0; }
  .resume-logo figure {
    position: relative;
    overflow: hidden;
    background-color: #265886;
    display: block;
    height: 5em;
    width: 5em;
    line-height: 5em;
    border-radius: 100%;
    text-align: center;
    margin: 0;
    box-shadow: none;
    float: none;
    margin-bottom: 0; }
    .resume-logo figure img {
      vertical-align: middle;
      width: 85%; }

.resume-section {
  padding: 0.5rem 1.5rem; }
  .resume-section p {
    font-size: 1.0625rem;
    line-height: 1.35;
    margin-bottom: 0.5rem; }
  .resume-section .list {
    padding-left: 1.1rem; }
    .resume-section .list li {
      font-size: 1.0625rem;
      line-height: 1.35;
      margin-bottom: 0.5rem; }

.resume-header {
  grid-column: 1;
  grid-row: auto;
  background-color: #e8e8e8; }
  .resume-header h1 {
    text-align: left;
    margin: 0;
    font-size: 2.5rem; }
  .resume-header h2, .resume-header .site-logo figcaption, .site-logo .resume-header figcaption {
    margin-top: 0;
    margin-bottom: 0;
    font-size: 1.5rem; }

.resume-section__title {
  font-size: 1.2rem;
  font-weight: 600;
  margin: 0 0 0.3em 0; }
  .resume-section__title i {
    font-size: 1.0625rem;
    font-style: normal;
    color: #5e7289; }

.resume-section__title--alternative {
  margin: 0.5rem 0;
  margin-bottom: 0.5rem;
  background: #f6f6f6;
  padding: 0.25rem;
  display: inline-block;
  font-size: 1rem; }

.resume-contact {
  grid-column: 1;
  grid-row: auto;
  background-color: #dadada; }

.resume-summary {
  grid-column: 1;
  background-color: #d1d1d1; }

.resume-competencies {
  grid-column: 1;
  background-color: #c8c8c8; }

.resume-competencies__list li {
  display: inline-block;
  background-color: rgba(255, 255, 255, 0.15);
  border-radius: 3px;
  padding: 0.1rem 0.4rem;
  margin: 0 0.15rem 0.4rem 0; }

.resume-highlights {
  grid-column: 1;
  background-color: #bcbcbc; }

.resume-education {
  grid-column: 1;
  background-color: #b4b4b4; }

.resume-experience {
  padding: 1.75rem;
  grid-column: 2;
  grid-row: 1/-1;
  background-color: #cbcbcb;
  background-color: white; }

.resume-experience__list {
  padding-left: 0 !important; }

.resume-experience__item__title {
  font-size: 1.0625rem;
  font-weight: 600;
  margin: 0 0 0.3em 0; }
  .resume-experience__item__title i {
    font-size: 1.0625rem;
    font-size: 0.875em;
    font-style: normal;
    color: #5e7289; }

.resume-experience__item__company {
  margin: 0 0 0.5rem 0;
  font-size: 1.0625rem; }

@media print {
  @page {
    size: auto;
    margin: 0mm; }
  html {
    font-size: 11px; }
  body {
    margin-top: 0 !important; }
  a {
    border-bottom: 2px solid #5e7289 !important; }
  .resume-container {
    display: grid;
    grid-template-columns: 4fr 9fr;
    grid-template-rows: auto auto auto auto auto auto auto auto;
    grid-gap: 0rem;
    box-shadow: 0;
    width: 100vw;
    height: 100vh; }
  .resume-experience__item {
    break-inside: avoid; }
  .resume-experience__item__summary--list li {
    margin-bottom: 0.4rem !important; } }

.page-header--cl .inner-wrap, .page-header--cl .container--sm, .page-header--cl .inner-wrap-narrow, .page-header--cl .container, .page-header--cl .inner-wrap-wide, .page-header--cl .container--lg, .page-header--cl .inner-wrap-fullwidth {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center; }
  @media (min-width: 40em) {
    .page-header--cl .inner-wrap, .page-header--cl .container--sm, .page-header--cl .inner-wrap-narrow, .page-header--cl .container, .page-header--cl .inner-wrap-wide, .page-header--cl .container--lg, .page-header--cl .inner-wrap-fullwidth {
      flex-direction: row; } }

.cover-letter__logo {
  max-width: 16rem;
  height: auto;
  display: block; }

.cover-letter__plus {
  font-weight: bold;
  font-size: 1.5rem;
  padding: 0 .75rem; }

.icon {
  display: inline-block;
  width: 1em;
  height: 1em;
  vertical-align: -0.125em;
  fill: currentColor; }

.project-preview {
  margin-bottom: 2rem; }
  @media (min-width: 40em) {
    .project-preview {
      display: grid;
      grid-template-columns: 5fr 8fr;
      grid-template-rows: auto auto auto;
      grid-gap: 1rem;
      margin-bottom: 2rem; } }

.project-preview__featured-img {
  grid-column: 1;
  grid-row: 1/-1;
  margin: 0 0 1rem 0;
  position: relative;
  display: block;
  border-bottom: 0; }
  .project-preview__featured-img img {
    box-shadow: 0px 5px 10px 0px rgba(0, 0, 0, 0.25); }
  .project-preview__featured-img img {
    position: relative; }
  @media (min-width: 40em) {
    .project-preview__featured-img {
      padding: 0 1rem;
      margin: 0; } }

.project-preview__body {
  grid-column: 2;
  grid-row: auto; }

.project-preview__title {
  grid-column: 2;
  grid-row: auto;
  font-size: 1.3125rem;
  margin: 0 0 1rem 0; }
  @media (min-width: 40em) {
    .project-preview__title {
      font-size: 1.5rem; } }
  @media (min-width: 60em) {
    .project-preview__title {
      font-size: 1.5rem; } }
  @media (min-width: 40em) {
    .project-preview__title {
      margin: 0; } }

.project-preview__description {
  grid-column: 2;
  grid-row: auto;
  font-size: 0.875rem; }
  @media (min-width: 40em) {
    .project-preview__description {
      font-size: 0.875rem; } }
  @media (min-width: 60em) {
    .project-preview__description {
      font-size: 1.0625rem; } }

.project-preview__tags {
  grid-column: 2;
  grid-row: auto; }

.project-intro {
  border-top: 0;
  border-bottom: 0;
  position: relative;
  z-index: 2; }
  .project-intro h1, .project-intro h2, .project-intro .site-logo figcaption, .site-logo .project-intro figcaption, .project-intro h3, .project-intro p {
    color: white; }
  .project-intro .inner-wrap-narrow {
    padding-bottom: 0;
    overflow: visible; }

.project__subheader {
  margin-bottom: 1.5rem; }

.project__featured-image {
  max-width: 100%; }

.project__visual {
  max-width: 100%; }
  .project__visual img {
    border-radius: 0.3125rem;
    -webkit-box-shadow: 0px 5px 18px 0px rgba(0, 0, 0, 0.3);
    box-shadow: 0px 5px 18px 0px rgba(0, 0, 0, 0.3);
    overflow: hidden; }
  .project__visual figcaption {
    margin-top: 1rem; }

.project__multiple-visuals {
  max-width: 100%;
  overflow: scroll;
  white-space: nowrap; }
  .project__multiple-visuals figure {
    display: inline-block;
    vertical-align: top; }

.project__featured-asset-wrap {
  border-radius: 0.3125rem;
  -webkit-box-shadow: 0px 10px 18px 0px rgba(0, 0, 0, 0.5);
  box-shadow: 0px 10px 18px 0px rgba(0, 0, 0, 0.5); }
  .project__featured-asset-wrap img {
    display: block; }

.project__featured-video {
  max-width: 100%;
  display: block; }

.post-tags {
  color: #23507a;
  text-align: center;
  font-size: 0.875rem;
  position: relative;
  z-index: 2; }
  @media (min-width: 40em) {
    .post-tags {
      font-size: 0.875rem; } }
  @media (min-width: 60em) {
    .post-tags {
      font-size: 1.0625rem; } }
  .post-tags a {
    margin: 0 0.15em; }

.tags-list li {
  display: inline-block; }

.tag, a.tag {
  display: inline-block;
  background-color: #eeeeee;
  border-radius: 3px;
  padding: 0.1rem 0.4rem;
  margin: 0 0.15rem 0.4rem 0;
  border-bottom: 0; }
  .tag:hover, a.tag:hover {
    border-bottom: 0;
    background-color: #f6f6f6; }

.thank-you-list {
  text-align: center;
  display: grid;
  grid-template-rows: auto;
  grid-template-columns: repeat(4, 1fr);
  grid-gap: 2rem; }
  @media (min-width: 40em) {
    .thank-you-list {
      grid-template-columns: repeat(6, 1fr);
      grid-gap: 3rem; } }
  @media (min-width: 60em) {
    .thank-you-list {
      grid-template-columns: repeat(6, 1fr);
      grid-gap: 3rem; } }

.thank-you-list__item {
  display: inline-block; }
  .thank-you-list__item img {
    max-width: 100%;
    border-radius: 3px; }

.site-intro .inner-wrap-narrow, .site-intro .inner-wrap, .site-intro .container--sm, .site-intro .inner-wrap-narrow, .site-intro .container, .site-intro .inner-wrap-wide, .site-intro .container--lg, .site-intro .inner-wrap-fullwidth {
  padding-top: 2rem;
  padding-bottom: 2rem; }

@media (min-width: 40em) {
  .site-intro .inner-wrap-narrow, .site-intro .inner-wrap, .site-intro .container--sm, .site-intro .inner-wrap-narrow, .site-intro .container, .site-intro .inner-wrap-wide, .site-intro .container--lg, .site-intro .inner-wrap-fullwidth {
    padding-top: 2rem;
    padding-bottom: 2rem; } }

@media (min-width: 60em) {
  .site-intro .inner-wrap-narrow, .site-intro .inner-wrap, .site-intro .container--sm, .site-intro .inner-wrap-narrow, .site-intro .container, .site-intro .inner-wrap-wide, .site-intro .container--lg, .site-intro .inner-wrap-fullwidth {
    padding-top: 3.5rem;
    padding-bottom: 3.5rem; } }

.site-intro__h1 {
  font-size: 1.875rem;
  text-align: left;
  color: #23507a;
  position: relative;
  z-index: 2; }
  @media (min-width: 40em) {
    .site-intro__h1 {
      font-size: 2.25rem; } }
  @media (min-width: 60em) {
    .site-intro__h1 {
      font-size: 2.5rem; } }
  @media (min-width: 60em) {
    .site-intro__h1 {
      font-size: 2.65rem; } }

.site-intro__signature {
  max-width: 10rem;
  margin-bottom: 2rem; }

.site-header {
  height: 5.0625em;
  z-index: 1041;
  position: sticky;
  top: 0;
  background-color: rgba(255, 255, 255, 0.75); }
  .site-header .inner-wrap, .site-header .container--sm, .site-header .inner-wrap-narrow, .site-header .container, .site-header .inner-wrap-wide, .site-header .container--lg, .site-header .inner-wrap-fullwidth {
    padding-top: 0;
    padding-bottom: 0; }

@media (min-width: 40em) {
  .site-header-home .site-nav {
    -webkit-transition: opacity 0.5s ease-in-out;
    -moz-transition: opacity 0.5s ease-in-out;
    transition: opacity 0.5s ease-in-out; } }

.site-header-home .site-logo figure:after {
  content: '';
  background-image: url(img/julian-headshot.jpg);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center center;
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  border-radius: 100%;
  -webkit-transition: all 0.5s ease-in-out;
  -moz-transition: all 0.5s ease-in-out;
  transition: all 0.5s ease-in-out; }

.site-header-home .site-logo figcaption {
  opacity: 0;
  -webkit-transition: all 0.5s ease-in-out;
  -moz-transition: all 0.5s ease-in-out;
  transition: all 0.5s ease-in-out; }

.site-logo {
  overflow: hidden;
  display: block;
  text-decoration: none;
  font-size: 1em;
  float: left;
  height: 5.0625em;
  padding-top: .3em;
  padding-bottom: .3em; }
  .site-logo figure {
    position: relative;
    overflow: hidden;
    background-color: #23507a;
    background-image: linear-gradient(to bottom, #2a6398 0, #183754 100%);
    background-repeat: repeat-x;
    display: block;
    height: 4.5em;
    width: 4.5em;
    line-height: 4.5em;
    border-radius: 100%;
    text-align: center;
    margin: 0;
    box-shadow: none;
    float: left; }
    .site-logo figure img {
      vertical-align: middle;
      width: 90%; }
  .site-logo figcaption {
    line-height: 1;
    float: left;
    margin-left: .35em;
    font-size: 2.2em;
    margin-top: .20em;
    margin-bottom: 0; }

.sh-utility-nav {
  overflow: hidden;
  height: 3.375em;
  clear: both;
  margin-top: 2em; }
  .sh-utility-nav .social-wrap {
    width: 12em; }
    .sh-utility-nav .social-wrap a {
      height: 3.375em;
      line-height: 3.375em; }
  @media (min-width: 40em) {
    .sh-utility-nav {
      height: 5.0625em;
      clear: none;
      margin-top: 0;
      text-align: right;
      width: 12em;
      float: right; }
      .sh-utility-nav .social-wrap {
        width: 12em; }
      .sh-utility-nav .social-wrap {
        display: inline-block; }
        .sh-utility-nav .social-wrap a {
          height: 5.0625em;
          line-height: 5.0625em; } }
  @media (min-width: 60em) {
    .sh-utility-nav {
      width: 12em; }
      .sh-utility-nav .social-wrap {
        width: 12em; } }

.sh-icons {
  float: right;
  z-index: 2;
  position: relative;
  padding-top: .3em; }

.sh-ico-search, .sh-ico-menu {
  background-repeat: no-repeat;
  background-position: center top;
  display: inline-block;
  padding-top: 1.2em;
  width: 2em;
  margin-left: 1em;
  text-align: center;
  text-decoration: none; }
  .sh-ico-search span, .sh-ico-menu span {
    font-size: .75em; }

.sh-ph {
  margin: 0; }
  .sh-ph i {
    font-style: normal; }
  @media (min-width: 40em) {
    .sh-ph {
      font-size: 1.5rem; } }

.sh-ico-search {
  background-image: url(img/ico-search.svg); }

.sh-ico-menu {
  background-image: url(img/ico-nav.svg); }
  @media (min-width: 40em) {
    .sh-ico-menu {
      display: none; } }

.site-header--inverted {
  background-color: transparent; }
  @media (min-width: 40em) {
    .site-header--inverted .sn-li-l1 {
      background-color: transparent; }
    .site-header--inverted .sn-li-l1 a {
      color: #ffffff; }
      .site-header--inverted .sn-li-l1 a:hover {
        background-color: rgba(255, 255, 255, 0.1); }
    .site-header--inverted .social-wrap a path {
      fill: #ffffff !important; } }

.site-footer-wrap {
  background-color: #23507a;
  background-image: linear-gradient(to bottom, #2a6398 0, #183754 100%);
  background-repeat: repeat-x; }

.site-footer {
  text-align: center;
  color: #ffffff; }
  .site-footer a {
    color: #ffffff; }
  .site-footer p {
    font-size: 0.875rem; }
    @media (min-width: 40em) {
      .site-footer p {
        font-size: 0.875rem; } }
    @media (min-width: 60em) {
      .site-footer p {
        font-size: 1.0625rem; } }
  .site-footer .social-wrap {
    overflow: hidden;
    width: 15em;
    margin: 0 auto; }
    .site-footer .social-wrap a:hover {
      background-color: transparent !important; }

.sf-small {
  background-color: #999;
  text-align: center; }
  .sf-small .inner-wrap, .sf-small .container--sm, .sf-small .inner-wrap-narrow, .sf-small .container, .sf-small .inner-wrap-wide, .sf-small .container--lg, .sf-small .inner-wrap-fullwidth {
    padding-top: 1em;
    padding-bottom: 1em; }

.page-header {
  border-bottom: 1px solid #eeeeee; }
  @media (min-width: 40em) {
    .page-header {
      position: relative; } }
  .page-header.site-header-wrap__home {
    border-bottom: 0; }
  .page-header .inner-wrap, .page-header .container--sm, .page-header .inner-wrap-narrow, .page-header .container, .page-header .inner-wrap-wide, .page-header .container--lg, .page-header .inner-wrap-fullwidth {
    max-width: 78rem; }

.particles-js-canvas-el {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  top: 0;
  opacity: 0.5;
  z-index: -1; }
  @media (min-width: 40em) {
    .particles-js-canvas-el {
      z-index: 0; } }

/*=============== Site Intro ===============*/
.sh-ico-info {
  color: green;
  border: 1px solid #5e7289;
  z-index: 2;
  border-radius: 100%;
  height: 2.5em;
  width: 2.5em;
  display: inline-block;
  position: relative;
  float: right;
  -webkit-transition: all 0.2s ease-in-out;
  -moz-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out; }
  .sh-ico-info span {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    display: block;
    text-indent: -99999em;
    overflow: hidden;
    text-align: left;
    background-image: url(img/ico-nav.svg);
    background-repeat: no-repeat;
    background-size: 1em;
    background-position: center center;
    -webkit-transition: all 0.2s ease-in-out;
    -moz-transition: all 0.2s ease-in-out;
    transition: all 0.2s ease-in-out; }
  .sh-ico-info:hover {
    border: 1px solid #5e7289; }
    .sh-ico-info:hover span {
      -webkit-transform: rotate(-90deg);
      -moz-transform: rotate(-90deg);
      -ms-transform: rotate(-90deg);
      -o-transform: rotate(-90deg);
      transform: rotate(-90deg); }
  @media (min-width: 40em) {
    .sh-ico-info {
      display: none; } }

.site-nav-container .snc-header {
  overflow: hidden; }

.site-nav-container .sh-ico-info {
  clear: both; }
  .site-nav-container .sh-ico-info span {
    -webkit-transform: rotate(-90deg);
    -moz-transform: rotate(-90deg);
    -ms-transform: rotate(-90deg);
    -o-transform: rotate(-90deg);
    transform: rotate(-90deg); }
  .site-nav-container .sh-ico-info:hover span {
    -webkit-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg); }

@media (min-width: 40em) {
  .site-nav-container {
    width: auto;
    margin-right: 0;
    float: right;
    position: relative; }
    .site-nav-container .snc-header {
      float: right; }
    .site-nav-container .site-nav {
      float: right;
      width: 20em;
      margin-right: 1em; } }

@media (min-width: 60em) {
  .site-nav-container .site-nav {
    width: 20em;
    margin-right: 1em; } }

.pi-h1 {
  position: relative;
  z-index: 2; }
