/*
================================
  SITE SETTINGS
================================
*/
html {
  box-sizing: border-box; }

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

/*! normalize.css http://github.com/necolas/normalize.css */
/* =============================================================================
   HTML5 display definitions
   ========================================================================== */
/*
 * Corrects block display not defined in IE6/7/8/9 & FF3
 */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
nav,
section,
summary {
  display: block; }

/*
 * Corrects inline-block display not defined in IE6/7/8/9 & FF3
 */
audio,
canvas,
video {
  display: inline-block;
  *display: inline;
  *zoom: 1; }

/*
 * Prevents modern browsers from displaying 'audio' without controls
 */
audio:not([controls]) {
  display: none; }

/*
 * Addresses styling for 'hidden' attribute not present in IE7/8/9, FF3, S4
 * Known issue: no IE6 support
 */
[hidden] {
  display: none; }

/* =============================================================================
   Base
   ========================================================================== */
/*
 * 1. Corrects text resizing oddly in IE6/7 when body font-size is set using em units
 *  http://clagnut.com/blog/348/#c790
 * 2. Prevents iOS text size adjust after orientation change, without disabling user zoom
 *  www.456bereastreet.com/archive/201012/controlling_text_size_in_safari_for_ios_without_disabling_user_zoom/
 */
html {
  font-size: 100%;
  /* 1 */
  -webkit-text-size-adjust: 100%;
  /* 2 */
  -ms-text-size-adjust: 100%;
  /* 2 */ }

/*
 * Addresses font-family inconsistency between 'textarea' and other form elements.
 */
html,
button,
input,
select,
textarea {
  font-family: sans-serif; }

/*
 * Addresses margins handled incorrectly in IE6/7
 */
body {
  margin: 0; }

/* =============================================================================
   Links
   ========================================================================== */
/*
 * Addresses outline displayed oddly in Chrome
 */
a:focus {
  outline: thin dotted; }

/*
 * Improves readability when focused and also mouse hovered in all browsers
 * people.opera.com/patrickl/experiments/keyboard/test
 */
a:hover,
a:active {
  outline: 0; }

/* =============================================================================
   Typography
   ========================================================================== */
/*
 * Addresses font sizes and margins set differently in IE6/7
 * Addresses font sizes within 'section' and 'article' in FF4+, Chrome, S5
 */
h1, h2, h3, h4, h5, h6 {
  font-size: 1em;
  margin: 0; }

/*
 * Addresses styling not present in IE7/8/9, S5, Chrome
 */
abbr[title] {
  border-bottom: 1px dotted; }

/*
 * Addresses style set to 'bolder' in FF3+, S4/5, Chrome
*/
b,
strong {
  font-weight: bold; }

blockquote {
  margin: 0; }

/*
 * Addresses styling not present in S5, Chrome
 */
dfn {
  font-style: italic; }

/*
 * Addresses styling not present in IE6/7/8/9
 */
mark {
  background: #ff0;
  color: #000; }

/*
 * Addresses margins set differently in IE6/7
 */
p,
pre {
  margin: 0; }

/*
 * Corrects font family set oddly in IE6, S4/5, Chrome
 * en.wikipedia.org/wiki/User:Davidgothberg/Test59
 */
pre,
code,
kbd,
samp {
  font-family: monospace, serif;
  _font-family: 'courier new', monospace;
  font-size: 1em; }

/*
 * Improves readability of pre-formatted text in all browsers
 */
pre {
  white-space: pre;
  white-space: pre-wrap;
  word-wrap: break-word; }

/*
 * 1. Addresses CSS quotes not supported in IE6/7
 * 2. Addresses quote property not supported in S4
 */
/* 1 */
q {
  quotes: none; }

/* 2 */
q:before,
q:after {
  content: '';
  content: none; }

small {
  font-size: 75%; }

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

sup {
  top: -0.5em; }

sub {
  bottom: -0.25em; }

/* =============================================================================
   Lists
   ========================================================================== */
/*
 * Addresses margins set differently in IE6/7
 */
dl,
menu,
ol,
ul {
  margin: 0; }

dd {
  margin: 0; }

/*
 * Addresses paddings set differently in IE6/7
 */
menu,
ol,
ul {
  padding: 0; }

/*
 * Corrects list images handled incorrectly in IE7
 */
nav ul,
nav ol {
  list-style: none;
  list-style-image: none; }

/* =============================================================================
   Embedded content
   ========================================================================== */
/*
 * 1. Removes border when inside 'a' element in IE6/7/8/9, FF3
 * 2. Improves image quality when scaled in IE7
 *  code.flickr.com/blog/2008/11/12/on-ui-quality-the-little-things-client-side-image-resizing/
 */
img {
  border: 0;
  /* 1 */
  -ms-interpolation-mode: bicubic;
  /* 2 */ }

/*
 * Corrects overflow displayed oddly in IE9
 */
svg:not(:root) {
  overflow: hidden; }

/* =============================================================================
   Figures
   ========================================================================== */
/*
 * Addresses margin not present in IE6/7/8/9, S5, O11
 */
figure {
  margin: 0; }

/* =============================================================================
   Forms
   ========================================================================== */
/*
 * Corrects margin displayed oddly in IE6/7
 */
form {
  margin: 0; }

/*
 * Define consistent border, margin, and padding
 */
fieldset {
  border: none;
  padding: 0;
  margin: 0; }

/*
 * 1. Corrects color not being inherited in IE6/7/8/9
 * 2. Corrects text not wrapping in FF3 
 * 3. Corrects alignment displayed oddly in IE6/7
 */
legend {
  border: 0;
  /* 1 */
  padding: 0;
  white-space: normal;
  /* 2 */
  *margin-left: -7px;
  /* 3 */ }

/*
 * 1. Corrects font size not being inherited in all browsers
 * 2. Addresses margins set differently in IE6/7, FF3+, S5, Chrome
 * 3. Improves appearance and consistency in all browsers
 */
button,
input,
select,
textarea {
  font-size: 100%;
  /* 1 */
  margin: 0;
  /* 2 */
  vertical-align: baseline;
  /* 3 */
  *vertical-align: middle;
  /* 3 */ }

/*
 * Addresses FF3/4 setting line-height on 'input' using !important in the UA stylesheet
 */
button,
input {
  line-height: normal;
  /* 1 */ }

/*
 * 1. Improves usability and consistency of cursor style between image-type 'input' and others
 * 2. Corrects inability to style clickable 'input' types in iOS
 * 3. Removes inner spacing in IE7 without affecting normal text inputs
 *  Known issue: inner spacing remains in IE6
 */
button,
input[type="button"],
input[type="reset"],
input[type="submit"] {
  cursor: pointer;
  /* 1 */
  -webkit-appearance: button;
  /* 2 */
  *overflow: visible;
  /* 3 */ }

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

/*
 * 1. Addresses box sizing set to content-box in IE8/9
 * 2. Removes excess padding in IE8/9
 * 3. Removes excess padding in IE7
    Known issue: excess padding remains in IE6
 */
input[type="checkbox"],
input[type="radio"] {
  box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */
  *height: 13px;
  /* 3 */
  *width: 13px;
  /* 3 */ }

/*
 * 1. Addresses appearance set to searchfield in S5, Chrome
 * 2. Addresses box-sizing set to border-box in S5, 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; }

/*
 * Removes inner padding and search cancel button in S5, Chrome on OS X
 */
input[type="search"]::-webkit-search-decoration,
input[type="search"]::-webkit-search-cancel-button {
  -webkit-appearance: none; }

/*
 * Removes inner padding and border in FF3+
 * www.sitepen.com/blog/2008/05/14/the-devils-in-the-details-fixing-dojos-toolbar-buttons/
 */
button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0; }

/*
 * 1. Removes default vertical scrollbar in IE6/7/8/9
 * 2. Improves readability and alignment in all browsers
 */
textarea {
  overflow: auto;
  /* 1 */
  vertical-align: top;
  /* 2 */ }

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

section img, .content-region figure img, .hero-image img, .hero .logo img, .grid-item .grid-profile {
  max-width: 100%;
  display: block;
  height: auto; }

body, .hero-content p {
  font-family: 'halyard-display', sans-serif;
  font-weight: 400;
  -webkit-font-smoothing: antialiased; }

.profile-position {
  font-family: 'aviano-sans', sans-serif;
  font-weight: 400;
  font-variant: all-small-caps; }

.mobile-button, h1, h2, h3, h4, h5, h6, .hero-heading, .hero #main-navigation li, #sticky-navigation li {
  font-family: 'aviano-sans', sans-serif;
  font-weight: 700;
  font-variant: all-small-caps; }

body {
  background: #1c252d;
  line-height: 1.5rem;
  font-size: 100%; }

p {
  margin: 0 0 1rem; }
  p.lead {
    font-size: 1.125em; }
    @media (min-width: 25em) and (max-width: 50em) {
      p.lead {
        font-size: calc( 1.125em + 0.075 * ( ( 100vw - 25em) / 25 )); } }
    @media (min-width: 50em) and (max-width: 75em) {
      p.lead {
        font-size: calc( 1.2em + 0.05 * ( ( 100vw - 50em) / 25 )); } }
    @media (min-width: 75em) {
      p.lead {
        font-size: 1.25em; } }

a {
  color: #0075cf; }

.content-region h1 {
  font-size: 2.0272865295em; }
  @media (min-width: 25em) and (max-width: 50em) {
    .content-region h1 {
      font-size: calc( 2.0272865295em + 0.9586974705 * ( ( 100vw - 25em) / 25 )); } }
  @media (min-width: 50em) and (max-width: 75em) {
    .content-region h1 {
      font-size: calc( 2.985984em + 0.8287132656 * ( ( 100vw - 50em) / 25 )); } }
  @media (min-width: 75em) {
    .content-region h1 {
      font-size: 3.8146972656em; } }

.section-heading, .content-region h2 {
  font-size: 1.8020324707em; }
  @media (min-width: 25em) and (max-width: 50em) {
    .section-heading, .content-region h2 {
      font-size: calc( 1.8020324707em + 0.6862875293 * ( ( 100vw - 25em) / 25 )); } }
  @media (min-width: 50em) and (max-width: 75em) {
    .section-heading, .content-region h2 {
      font-size: calc( 2.48832em + 0.5634378125 * ( ( 100vw - 50em) / 25 )); } }
  @media (min-width: 75em) {
    .section-heading, .content-region h2 {
      font-size: 3.0517578125em; } }

.content-region h3 {
  font-size: 1.6018066406em; }
  @media (min-width: 25em) and (max-width: 50em) {
    .content-region h3 {
      font-size: calc( 1.6018066406em + 0.4717933594 * ( ( 100vw - 25em) / 25 )); } }
  @media (min-width: 50em) and (max-width: 75em) {
    .content-region h3 {
      font-size: calc( 2.0736em + 0.36780625 * ( ( 100vw - 50em) / 25 )); } }
  @media (min-width: 75em) {
    .content-region h3 {
      font-size: 2.44140625em; } }

.content-region h4 {
  font-size: 1.423828125em; }
  @media (min-width: 25em) and (max-width: 50em) {
    .content-region h4 {
      font-size: calc( 1.423828125em + 0.304171875 * ( ( 100vw - 25em) / 25 )); } }
  @media (min-width: 50em) and (max-width: 75em) {
    .content-region h4 {
      font-size: calc( 1.728em + 0.225125 * ( ( 100vw - 50em) / 25 )); } }
  @media (min-width: 75em) {
    .content-region h4 {
      font-size: 1.953125em; } }

.content-region h5 {
  font-size: 1.265625em; }
  @media (min-width: 25em) and (max-width: 50em) {
    .content-region h5 {
      font-size: calc( 1.265625em + 0.174375 * ( ( 100vw - 25em) / 25 )); } }
  @media (min-width: 50em) and (max-width: 75em) {
    .content-region h5 {
      font-size: calc( 1.44em + 0.1225 * ( ( 100vw - 50em) / 25 )); } }
  @media (min-width: 75em) {
    .content-region h5 {
      font-size: 1.5625em; } }

.content-region h6 {
  font-size: 1.125em; }
  @media (min-width: 25em) and (max-width: 50em) {
    .content-region h6 {
      font-size: calc( 1.125em + 0.075 * ( ( 100vw - 25em) / 25 )); } }
  @media (min-width: 50em) and (max-width: 75em) {
    .content-region h6 {
      font-size: calc( 1.2em + 0.05 * ( ( 100vw - 50em) / 25 )); } }
  @media (min-width: 75em) {
    .content-region h6 {
      font-size: 1.25em; } }

.content-region h1 + h1, .content-region h1 + h2, .content-region h1 + h3, .content-region h1 + h4, .content-region h1 + h5, .content-region h1 + h6, .content-region h2 + h1, .content-region h2 + h2, .content-region h2 + h3, .content-region h2 + h4, .content-region h2 + h5, .content-region h2 + h6, .content-region h3 + h1, .content-region h3 + h2, .content-region h3 + h3, .content-region h3 + h4, .content-region h3 + h5, .content-region h3 + h6, .content-region h4 + h1, .content-region h4 + h2, .content-region h4 + h3, .content-region h4 + h4, .content-region h4 + h5, .content-region h4 + h6, .content-region h5 + h1, .content-region h5 + h2, .content-region h5 + h3, .content-region h5 + h4, .content-region h5 + h5, .content-region h5 + h6, .content-region h6 + h1, .content-region h6 + h2, .content-region h6 + h3, .content-region h6 + h4, .content-region h6 + h5, .content-region h6 + h6 {
  font-size: 1.125em;
  font-weight: normal;
  opacity: 0.75; }
  @media (min-width: 25em) and (max-width: 50em) {
    .content-region h1 + h1, .content-region h1 + h2, .content-region h1 + h3, .content-region h1 + h4, .content-region h1 + h5, .content-region h1 + h6, .content-region h2 + h1, .content-region h2 + h2, .content-region h2 + h3, .content-region h2 + h4, .content-region h2 + h5, .content-region h2 + h6, .content-region h3 + h1, .content-region h3 + h2, .content-region h3 + h3, .content-region h3 + h4, .content-region h3 + h5, .content-region h3 + h6, .content-region h4 + h1, .content-region h4 + h2, .content-region h4 + h3, .content-region h4 + h4, .content-region h4 + h5, .content-region h4 + h6, .content-region h5 + h1, .content-region h5 + h2, .content-region h5 + h3, .content-region h5 + h4, .content-region h5 + h5, .content-region h5 + h6, .content-region h6 + h1, .content-region h6 + h2, .content-region h6 + h3, .content-region h6 + h4, .content-region h6 + h5, .content-region h6 + h6 {
      font-size: calc( 1.125em + 0.075 * ( ( 100vw - 25em) / 25 )); } }
  @media (min-width: 50em) and (max-width: 75em) {
    .content-region h1 + h1, .content-region h1 + h2, .content-region h1 + h3, .content-region h1 + h4, .content-region h1 + h5, .content-region h1 + h6, .content-region h2 + h1, .content-region h2 + h2, .content-region h2 + h3, .content-region h2 + h4, .content-region h2 + h5, .content-region h2 + h6, .content-region h3 + h1, .content-region h3 + h2, .content-region h3 + h3, .content-region h3 + h4, .content-region h3 + h5, .content-region h3 + h6, .content-region h4 + h1, .content-region h4 + h2, .content-region h4 + h3, .content-region h4 + h4, .content-region h4 + h5, .content-region h4 + h6, .content-region h5 + h1, .content-region h5 + h2, .content-region h5 + h3, .content-region h5 + h4, .content-region h5 + h5, .content-region h5 + h6, .content-region h6 + h1, .content-region h6 + h2, .content-region h6 + h3, .content-region h6 + h4, .content-region h6 + h5, .content-region h6 + h6 {
      font-size: calc( 1.2em + 0.05 * ( ( 100vw - 50em) / 25 )); } }
  @media (min-width: 75em) {
    .content-region h1 + h1, .content-region h1 + h2, .content-region h1 + h3, .content-region h1 + h4, .content-region h1 + h5, .content-region h1 + h6, .content-region h2 + h1, .content-region h2 + h2, .content-region h2 + h3, .content-region h2 + h4, .content-region h2 + h5, .content-region h2 + h6, .content-region h3 + h1, .content-region h3 + h2, .content-region h3 + h3, .content-region h3 + h4, .content-region h3 + h5, .content-region h3 + h6, .content-region h4 + h1, .content-region h4 + h2, .content-region h4 + h3, .content-region h4 + h4, .content-region h4 + h5, .content-region h4 + h6, .content-region h5 + h1, .content-region h5 + h2, .content-region h5 + h3, .content-region h5 + h4, .content-region h5 + h5, .content-region h5 + h6, .content-region h6 + h1, .content-region h6 + h2, .content-region h6 + h3, .content-region h6 + h4, .content-region h6 + h5, .content-region h6 + h6 {
      font-size: 1.25em; } }

blockquote {
  margin: 0 0 1rem; }
  blockquote p {
    margin: 0 0 0.5rem; }
  blockquote small {
    margin: 0.5rem 0 0;
    display: block; }

@media screen and (min-width: 640px) {
  .align-right {
    text-align: right; } }

.section-heading {
  margin-bottom: 1.25rem;
  line-height: .8em; }

.increase-text p {
  font-size: 1.125em;
  line-height: 1.3em; }
  @media (min-width: 25em) and (max-width: 50em) {
    .increase-text p {
      font-size: calc( 1.125em + 0.075 * ( ( 100vw - 25em) / 25 )); } }
  @media (min-width: 50em) and (max-width: 75em) {
    .increase-text p {
      font-size: calc( 1.2em + 0.05 * ( ( 100vw - 50em) / 25 )); } }
  @media (min-width: 75em) {
    .increase-text p {
      font-size: 1.25em; } }

.centered {
  text-align: center;
  margin-left: auto;
  margin-right: auto; }

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0; }

.sr-only-focusable:active, .sr-only-focusable:focus {
  position: static;
  width: auto;
  height: auto;
  margin: 0;
  overflow: visible;
  clip: auto; }

.hide-text {
  overflow: hidden;
  text-indent: 101%;
  white-space: nowrap; }

.column-left p:first-of-type, .column-right p:first-of-type {
  font-size: 1.125em;
  line-height: 1.3em; }
  @media (min-width: 25em) and (max-width: 50em) {
    .column-left p:first-of-type, .column-right p:first-of-type {
      font-size: calc( 1.125em + 0.075 * ( ( 100vw - 25em) / 25 )); } }
  @media (min-width: 50em) and (max-width: 75em) {
    .column-left p:first-of-type, .column-right p:first-of-type {
      font-size: calc( 1.2em + 0.05 * ( ( 100vw - 50em) / 25 )); } }
  @media (min-width: 75em) {
    .column-left p:first-of-type, .column-right p:first-of-type {
      font-size: 1.25em; } }

/*
### EXAMPLE

.social-icon {
  @include hide-text;
  display: block;
  height: 50px;
  width: 50px;
}

.social-icon--twitter {
  @include sprite(-105px,-50px);
}

*/
.mobile-button {
  font-size: 1.265625em;
  padding-right: 95px;
  color: #fff;
  position: absolute;
  right: calc(3vw + 1em);
  top: 0;
  background: none;
  border: 0;
  width: 42px;
  height: 42px; }
  @media (min-width: 25em) and (max-width: 50em) {
    .mobile-button {
      font-size: calc( 1.265625em + 0.174375 * ( ( 100vw - 25em) / 25 )); } }
  @media (min-width: 50em) and (max-width: 75em) {
    .mobile-button {
      font-size: calc( 1.44em + 0.1225 * ( ( 100vw - 50em) / 25 )); } }
  @media (min-width: 75em) {
    .mobile-button {
      font-size: 1.5625em; } }
  .mobile-button svg {
    position: absolute;
    top: 4px;
    right: 0px;
    width: 32px;
    height: 32px; }
  @media screen and (min-width: 853.333333333px) {
    .mobile-button {
      display: none; } }

[type='color'], [type='date'], [type='datetime'], [type='datetime-local'], [type='email'], [type='month'], [type='number'], [type='password'], [type='search'], [type='tel'], [type='text'], [type='time'], [type='url'], [type='week'], input:not([type]), textarea {
  border: 1px solid #f00; }

[type='color']:focus, [type='date']:focus, [type='datetime']:focus, [type='datetime-local']:focus, [type='email']:focus, [type='month']:focus, [type='number']:focus, [type='password']:focus, [type='search']:focus, [type='tel']:focus, [type='text']:focus, [type='time']:focus, [type='url']:focus, [type='week']:focus, input:not([type]):focus, textarea:focus,
[type='color']:hover, [type='date']:hover, [type='datetime']:hover, [type='datetime-local']:hover, [type='email']:hover, [type='month']:hover, [type='number']:hover, [type='password']:hover, [type='search']:hover, [type='tel']:hover, [type='text']:hover, [type='time']:hover, [type='url']:hover, [type='week']:hover, input:not([type]):hover, textarea:hover {
  border: 1px solid #0f0; }

[type='color']:active, [type='date']:active, [type='datetime']:active, [type='datetime-local']:active, [type='email']:active, [type='month']:active, [type='number']:active, [type='password']:active, [type='search']:active, [type='tel']:active, [type='text']:active, [type='time']:active, [type='url']:active, [type='week']:active, input:not([type]):active, textarea:active {
  border: 1px solid #00f; }

#oldbrowser span,
noscript span {
  background-color: darkred;
  text-align: center;
  display: block;
  color: white;
  padding: 1em; }
  #oldbrowser span a:hover,
  #oldbrowser span a:focus,
  noscript span a:hover,
  noscript span a:focus {
    color: #c58080; }

.container {
  max-width: 1280px;
  margin-left: auto;
  margin-right: auto; }
  .container::after {
    clear: both;
    content: "";
    display: block; }

main {
  background: #fff; }

.pattern-header {
  background-color: #efefef;
  padding: calc(3vw + 1em); }

.pattern-wrapper {
  padding: calc(3vw + 1em); }

section {
  padding: calc(3vw + 1em);
  overflow-x: hidden; }

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

.column-left {
  position: relative;
  z-index: 1; }
  @media screen and (min-width: 853.333333333px) {
    .column-left {
      float: left;
      display: block;
      margin-right: 4.0178793146%;
      width: 47.9910603427%; }
      .column-left:last-child {
        margin-right: 0; } }

.column-right {
  position: relative;
  z-index: 1;
  margin: 0 auto; }
  @media screen and (min-width: 853.333333333px) {
    .column-right {
      float: left;
      display: block;
      margin-right: 4.0178793146%;
      width: 47.9910603427%; }
      .column-right:last-child {
        margin-right: 0; } }
  .column-right img {
    margin: 0 auto;
    box-shadow: 1px 1px 10px rgba(0, 0, 0, 0.2); }

.contain {
  max-width: 720px;
  margin-left: auto;
  margin-right: auto; }

@keyframes wiggle {
  20% {
    transform: translateX(4px); }
  40% {
    transform: translateX(-4px); }
  60% {
    transform: translateX(2px); }
  80% {
    transform: translateX(-1px); }
  100% {
    transform: translateX(0); } }

@keyframes fadein {
  from {
    opacity: 0; }
  to {
    opacity: 1; } }

.dark-blue-bg {
  background: #003252;
  background: -webkit-linear-gradient(legacy-direction(45deg), #003252 0%, #00426b 50%, #00426b 100%);
  background: linear-gradient(45deg, #003252 0%, #00426b 50%, #00426b 100%);
  color: #fff; }

.grey-bg {
  background: #f7f7f7;
  background: -webkit-linear-gradient(legacy-direction(45deg), #f7f7f7 0%, #f7f7f7 50%, #f7f7f7 100%);
  background: linear-gradient(45deg, #f7f7f7 0%, #f7f7f7 50%, #f7f7f7 100%); }

.black-bg {
  background: #12181d;
  background: -webkit-linear-gradient(legacy-direction(45deg), #12181d 0%, #1c252d 50%, #1c252d 100%);
  background: linear-gradient(45deg, #12181d 0%, #1c252d 50%, #1c252d 100%);
  color: #fff; }

.emblem-cut-off-bg {
  position: relative; }
  .emblem-cut-off-bg:before {
    position: absolute;
    content: "";
    right: 0%;
    top: 0;
    width: 100%;
    height: 100%;
    transform: translateX(50%);
    background: url("../media/emblem.svg") no-repeat;
    background-position: right center;
    background-size: 100% 100%;
    background-attachment: fixed;
    opacity: .2; }
    @media screen and (min-width: 853.333333333px) {
      .emblem-cut-off-bg:before {
        opacity: 1; } }

.dots-white-bg {
  position: relative; }
  .dots-white-bg:before {
    position: absolute;
    content: "";
    left: 0;
    top: 0;
    width: 25%;
    height: 100%;
    background: url("../media/dots-white-bg.svg") no-repeat; }

h1, h2, h3, h4, h5, h6 {
  line-height: 1.25rem;
  margin: 0 0 0.5rem; }

.content-region {
  max-width: 50em; }
  .content-region h1, .content-region h2, .content-region h3, .content-region h4, .content-region h5, .content-region h6 {
    line-height: 1.25rem;
    margin: 0 0 0.5rem; }
  .content-region ul,
  .content-region ol {
    margin: 1rem; }
    .content-region ul ul,
    .content-region ul ol,
    .content-region ol ul,
    .content-region ol ol {
      margin: 0 1rem; }
  .content-region figure {
    margin: 1.5rem 0 3rem; }
    .content-region figure figcaption {
      margin: 0.75rem 0 0;
      font-size: 90%; }

.video-wrapper {
  position: relative;
  padding-bottom: 56.25%;
  /* 16:9 */
  height: 0; }
  .video-wrapper .play-icon {
    background: url("http://placehold.it/100x100/969696/CCCCCC/&text=PLAY");
    left: calc(50% - 50px);
    top: calc(50% - 50px);
    position: absolute;
    height: 100px;
    width: 100px;
    bottom: 0;
    right: 0; }
  .video-wrapper iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }

.hero {
  position: relative;
  padding: calc(1vw + 1em) 0;
  overflow: hidden; }
  @media screen and (min-width: 853.333333333px) {
    .hero {
      padding: calc(1vw + 1em) calc(3vw + 1em); } }

.hero .container {
  position: relative;
  z-index: 2; }

.hero-content {
  margin: 0 auto;
  max-width: 46em;
  padding: calc(3vw + 1em) calc(3vw + 1em);
  text-align: center;
  color: #fff; }
  @media screen and (min-width: 853.333333333px) {
    .hero-content {
      padding: calc(6vw + 3em) 0; } }

.hero-content p {
  opacity: 0;
  animation: fadein 2s;
  animation-delay: 1s;
  animation-fill-mode: forwards; }
  @media screen and (min-width: 853.333333333px) {
    .hero-content p {
      font-size: 1.265625em;
      line-height: 1.3em; } }
  @media screen and (min-width: 853.333333333px) and (min-width: 25em) and (max-width: 50em) {
    .hero-content p {
      font-size: calc( 1.265625em + 0.174375 * ( ( 100vw - 25em) / 25 )); } }
  @media screen and (min-width: 853.333333333px) and (min-width: 50em) and (max-width: 75em) {
    .hero-content p {
      font-size: calc( 1.44em + 0.1225 * ( ( 100vw - 50em) / 25 )); } }
  @media screen and (min-width: 853.333333333px) and (min-width: 75em) {
    .hero-content p {
      font-size: 1.5625em; } }

.hero-image {
  position: absolute;
  right: 0;
  top: 0%;
  min-width: 101%;
  min-height: 101%;
  width: auto;
  height: auto;
  z-index: 1;
  will-change: transform;
  opacity: 0;
  transition: opacity .2s ease-in; }
  .hero-image.fade-in {
    opacity: 1; }
  .hero-image img {
    position: absolute;
    width: 120%;
    height: 120%;
    object-fit: cover;
    object-position: bottom; }
  .hero-image:before {
    position: absolute;
    content: "";
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0.6) 0%, rgba(0, 0, 0, 0.2) 50%, rgba(0, 0, 0, 0) 100%);
    /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */ }
  .hero-image:after {
    position: absolute;
    background: url("../media/texture-screen-256.svg") repeat;
    background-size: 256px 256px;
    content: "";
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1; }

/* Navigation & Logo */
.logo-nav-wrap::after {
  clear: both;
  content: "";
  display: block; }

.hero .logo {
  width: 52%;
  padding: 0 calc(3vw + 1em); }
  @media screen and (min-width: 853.333333333px) {
    .hero .logo {
      padding: 0;
      float: left;
      display: block;
      margin-right: 4.0178793146%;
      width: 21.986590514%; }
      .hero .logo:last-child {
        margin-right: 0; } }
  .hero .logo a {
    display: block; }

.hero-heading {
  font-size: 2.0272865295em;
  text-transform: uppercase;
  line-height: .8em;
  animation: fadein 2s; }
  @media (min-width: 25em) and (max-width: 50em) {
    .hero-heading {
      font-size: calc( 2.0272865295em + 0.9586974705 * ( ( 100vw - 25em) / 25 )); } }
  @media (min-width: 50em) and (max-width: 75em) {
    .hero-heading {
      font-size: calc( 2.985984em + 0.8287132656 * ( ( 100vw - 50em) / 25 )); } }
  @media (min-width: 75em) {
    .hero-heading {
      font-size: 3.8146972656em; } }

.hero #main-navigation {
  display: none;
  margin-top: calc(1vw + 1em); }
  @media screen and (min-width: 853.333333333px) {
    .hero #main-navigation {
      display: block;
      float: left;
      display: block;
      margin-right: 4.0178793146%;
      width: 73.9955301713%; }
      .hero #main-navigation:last-child {
        margin-right: 0; } }
  .hero #main-navigation.is-active {
    display: block; }

@media screen and (min-width: 853.333333333px) {
  .hero #main-navigation ul {
    text-align: right; } }

.hero #main-navigation li {
  display: block;
  font-size: 1.265625em;
  text-transform: uppercase; }
  @media (min-width: 25em) and (max-width: 50em) {
    .hero #main-navigation li {
      font-size: calc( 1.265625em + 0.174375 * ( ( 100vw - 25em) / 25 )); } }
  @media (min-width: 50em) and (max-width: 75em) {
    .hero #main-navigation li {
      font-size: calc( 1.44em + 0.1225 * ( ( 100vw - 50em) / 25 )); } }
  @media (min-width: 75em) {
    .hero #main-navigation li {
      font-size: 1.5625em; } }
  @media screen and (min-width: 853.333333333px) {
    .hero #main-navigation li {
      display: inline-block;
      padding: 0 1rem; } }

.hero #main-navigation li a {
  display: block;
  color: #fff;
  text-decoration: none;
  text-align: center;
  transition: color .2s ease-in; }
  .hero #main-navigation li a:hover, .hero #main-navigation li a:focus {
    color: #0075cf; }
  @media screen and (max-width: 852.333333333px) {
    .hero #main-navigation li a {
      padding: 1rem 0;
      background: rgba(0, 0, 0, 0.08);
      box-shadow: inset 0px 1px 1px rgba(255, 255, 255, 0.2); } }

#sticky-navigation {
  position: fixed;
  width: 100%;
  top: 0;
  left: 0;
  background: #fff;
  transform: translateY(-100%);
  z-index: 2;
  transition: transform .2s ease-in; }
  #sticky-navigation ul {
    max-width: 1280px;
    margin-left: auto;
    margin-right: auto;
    text-align: center; }
    #sticky-navigation ul::after {
      clear: both;
      content: "";
      display: block; }
  #sticky-navigation li {
    display: inline-block;
    font-size: 1.125em;
    text-transform: uppercase;
    padding: 0 1rem .8rem; }
    @media (min-width: 25em) and (max-width: 50em) {
      #sticky-navigation li {
        font-size: calc( 1.125em + 0.075 * ( ( 100vw - 25em) / 25 )); } }
    @media (min-width: 50em) and (max-width: 75em) {
      #sticky-navigation li {
        font-size: calc( 1.2em + 0.05 * ( ( 100vw - 50em) / 25 )); } }
    @media (min-width: 75em) {
      #sticky-navigation li {
        font-size: 1.25em; } }
    #sticky-navigation li a {
      position: relative;
      display: inline-block;
      text-decoration: none;
      color: #1c252d;
      padding: .5rem 0 0; }
      #sticky-navigation li a:after {
        position: absolute;
        content: "";
        left: 0;
        bottom: -2px;
        width: 100%;
        height: 3px;
        background: #0075cf; }
    #sticky-navigation li:nth-child(1) a:after {
      background: #0075cf; }
    #sticky-navigation li:nth-child(2) a:after {
      background: #009b5c; }
    #sticky-navigation li:nth-child(3) a:after {
      background: #90c715; }
    #sticky-navigation li:nth-child(4) a:after {
      background: #0075cf; }
  @media screen and (min-width: 853.333333333px) {
    #sticky-navigation.sticky--show {
      transform: translateY(0%); } }
  @media screen and (min-width: 853.333333333px) {
    #sticky-navigation.sticky--hide {
      transform: translateY(-100%); } }

.grid-container {
  padding: calc(3vw + 1em) 0 0; }
  .grid-container::after {
    clear: both;
    content: "";
    display: block; }

.four-columns .grid-item {
  float: left;
  display: block;
  margin-right: 4.0178793146%;
  width: 21.986590514%; }
  .four-columns .grid-item:last-child {
    margin-right: 0; }

.grid-item .grid-profile {
  margin-bottom: calc(1vh + 1em);
  border-radius: 100%;
  overflow: hidden;
  transition: transform .2s ease-in; }

.grid-item .grid-heading {
  display: none;
  font-size: 1.265625em;
  text-align: center;
  margin: 0 auto; }
  @media (min-width: 25em) and (max-width: 50em) {
    .grid-item .grid-heading {
      font-size: calc( 1.265625em + 0.174375 * ( ( 100vw - 25em) / 25 )); } }
  @media (min-width: 50em) and (max-width: 75em) {
    .grid-item .grid-heading {
      font-size: calc( 1.44em + 0.1225 * ( ( 100vw - 50em) / 25 )); } }
  @media (min-width: 75em) {
    .grid-item .grid-heading {
      font-size: 1.5625em; } }
  @media screen and (min-width: 640px) {
    .grid-item .grid-heading {
      display: block; } }

.grid-item.is-active:after {
  bottom: calc(-3vw + -1em);
  margin-left: -22px;
  border-left: 22px solid transparent;
  border-right: 22px solid transparent;
  border-bottom: 22px solid #f2f2f2;
  transition: all .2s ease-in; }

.grid-item.is-active:after {
  position: absolute;
  bottom: calc(-3vw + -1em);
  left: 50%;
  content: '';
  width: 0;
  height: 0; }

.grid-item.is-active .grid-profile {
  transform: scale(1.1);
  border: 5px solid #d6d7d5; }

.profile {
  display: none;
  transition: all .2s ease-in; }
  .profile .container {
    position: relative; }
  .profile.is-active {
    display: block;
    padding: calc(3vw + 1em); }

.profile p:first-of-type {
  font-size: 1.125em;
  line-height: 1.3em; }
  @media (min-width: 25em) and (max-width: 50em) {
    .profile p:first-of-type {
      font-size: calc( 1.125em + 0.075 * ( ( 100vw - 25em) / 25 )); } }
  @media (min-width: 50em) and (max-width: 75em) {
    .profile p:first-of-type {
      font-size: calc( 1.2em + 0.05 * ( ( 100vw - 50em) / 25 )); } }
  @media (min-width: 75em) {
    .profile p:first-of-type {
      font-size: 1.25em; } }

.profile li {
  font-size: 1.125em;
  line-height: 1.3em;
  margin-bottom: .5rem; }
  @media (min-width: 25em) and (max-width: 50em) {
    .profile li {
      font-size: calc( 1.125em + 0.075 * ( ( 100vw - 25em) / 25 )); } }
  @media (min-width: 50em) and (max-width: 75em) {
    .profile li {
      font-size: calc( 1.2em + 0.05 * ( ( 100vw - 50em) / 25 )); } }
  @media (min-width: 75em) {
    .profile li {
      font-size: 1.25em; } }

.profile ul {
  margin: 0 0 2em 1em; }

.profile-heading {
  font-size: 1.8020324707em;
  text-align: center;
  margin: 0 auto;
  margin-bottom: 0.3125rem; }
  @media (min-width: 25em) and (max-width: 50em) {
    .profile-heading {
      font-size: calc( 1.8020324707em + 0.6862875293 * ( ( 100vw - 25em) / 25 )); } }
  @media (min-width: 50em) and (max-width: 75em) {
    .profile-heading {
      font-size: calc( 2.48832em + 0.5634378125 * ( ( 100vw - 50em) / 25 )); } }
  @media (min-width: 75em) {
    .profile-heading {
      font-size: 3.0517578125em; } }

.profile-position {
  display: block;
  font-size: 1.265625em;
  text-align: center;
  margin: 0 auto;
  margin-bottom: 1.25rem; }
  @media (min-width: 25em) and (max-width: 50em) {
    .profile-position {
      font-size: calc( 1.265625em + 0.174375 * ( ( 100vw - 25em) / 25 )); } }
  @media (min-width: 50em) and (max-width: 75em) {
    .profile-position {
      font-size: calc( 1.44em + 0.1225 * ( ( 100vw - 50em) / 25 )); } }
  @media (min-width: 75em) {
    .profile-position {
      font-size: 1.5625em; } }

.grid-item {
  position: relative; }
  .grid-item:hover .grid-profile, .grid-item:focus .grid-profile {
    transform: scale(1.1); }

.service-wrap {
  position: relative;
  display: table;
  width: 100%;
  text-align: left;
  margin-bottom: calc(3vh + 2em);
  color: #fff; }
  .service-wrap:before {
    position: absolute;
    content: "";
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background: url("../media/texture-screen-256.svg") repeat;
    background-size: 256px 256px;
    opacity: 0.5;
    z-index: 1; }
  @media screen and (min-width: 640px) {
    .service-wrap:after {
      position: absolute;
      content: "";
      left: 0;
      top: 0;
      width: 100%;
      height: 100%;
      background: linear-gradient(to right, rgba(0, 0, 0, 0.8) 0%, rgba(0, 0, 0, 0.2) 50%, rgba(0, 0, 0, 0) 100%); } }

.service-content {
  position: relative;
  padding: calc(3vh + 1em) calc(3vh + 1em) calc(3vh + 1em);
  background: #fafafa;
  color: #1c252d;
  text-align: center;
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1);
  z-index: 1; }
  @media screen and (min-width: 853.333333333px) {
    .service-content {
      display: table-cell;
      vertical-align: middle;
      float: left;
      display: block;
      margin-right: 4.0178793146%;
      width: 47.9910603427%;
      text-align: left;
      box-shadow: none;
      background: transparent;
      color: #fff;
      padding: calc(20vh + 3em) calc(5vh + 2em) calc(3vh + 2em); }
      .service-content:last-child {
        margin-right: 0; }
      .service-content.right {
        float: right;
        margin-right: 0; } }

.service-content p {
  font-size: 1.125em;
  line-height: 1.3em; }
  @media (min-width: 25em) and (max-width: 50em) {
    .service-content p {
      font-size: calc( 1.125em + 0.075 * ( ( 100vw - 25em) / 25 )); } }
  @media (min-width: 50em) and (max-width: 75em) {
    .service-content p {
      font-size: calc( 1.2em + 0.05 * ( ( 100vw - 50em) / 25 )); } }
  @media (min-width: 75em) {
    .service-content p {
      font-size: 1.25em; } }

.service-icon {
  margin-bottom: 1em; }
  @media screen and (max-width: 852.333333333px) {
    .service-icon {
      display: inline-block;
      margin: 0 auto;
      margin-top: calc(-3vh + -65px);
      text-align: center;
      background: #0075cf;
      padding: 10px;
      border-radius: 50%; }
      .service-icon img {
        margin: 0 auto;
        transform: scale(0.7);
        background: #0075cf; } }

.service-wrap .service-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 0; }
  @media screen and (min-width: 853.333333333px) {
    .service-wrap .service-img {
      position: absolute;
      top: 0;
      left: 0; } }

.service-heading {
  font-size: 1.8020324707em;
  margin: 0 auto;
  margin-bottom: 1.25rem; }
  @media (min-width: 25em) and (max-width: 50em) {
    .service-heading {
      font-size: calc( 1.8020324707em + 0.6862875293 * ( ( 100vw - 25em) / 25 )); } }
  @media (min-width: 50em) and (max-width: 75em) {
    .service-heading {
      font-size: calc( 2.48832em + 0.5634378125 * ( ( 100vw - 50em) / 25 )); } }
  @media (min-width: 75em) {
    .service-heading {
      font-size: 3.0517578125em; } }

.footer {
  padding: calc(3vw + 1em) calc(3vw + 1em);
  min-height: 30vh;
  color: #fff;
  background-image: url("data:image/svg+xml,%3Csvg width='6' height='6' viewBox='0 0 6 6' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23000000' fill-opacity='0.15' fill-rule='evenodd'%3E%3Cpath d='M5 0h1L0 6V5zM6 5v1H5z'/%3E%3C/g%3E%3C/svg%3E"); }

.footer a {
  color: #0075cf; }

.footer address {
  padding: 0 0 2rem 0;
  font-size: 1.125em;
  line-height: 1.3em;
  font-style: normal; }
  @media (min-width: 25em) and (max-width: 50em) {
    .footer address {
      font-size: calc( 1.125em + 0.075 * ( ( 100vw - 25em) / 25 )); } }
  @media (min-width: 50em) and (max-width: 75em) {
    .footer address {
      font-size: calc( 1.2em + 0.05 * ( ( 100vw - 50em) / 25 )); } }
  @media (min-width: 75em) {
    .footer address {
      font-size: 1.25em; } }

.footer p {
  font-size: 1.265625em;
  line-height: 1.3em; }
  @media (min-width: 25em) and (max-width: 50em) {
    .footer p {
      font-size: calc( 1.265625em + 0.174375 * ( ( 100vw - 25em) / 25 )); } }
  @media (min-width: 50em) and (max-width: 75em) {
    .footer p {
      font-size: calc( 1.44em + 0.1225 * ( ( 100vw - 50em) / 25 )); } }
  @media (min-width: 75em) {
    .footer p {
      font-size: 1.5625em; } }

.footer-wrap::after {
  clear: both;
  content: "";
  display: block; }

@media screen and (min-width: 640px) {
  .footer-left {
    float: left;
    display: block;
    margin-right: 4.0178793146%;
    width: 47.9910603427%; }
    .footer-left:last-child {
      margin-right: 0; } }

@media screen and (min-width: 640px) {
  .footer-right {
    float: left;
    display: block;
    margin-right: 4.0178793146%;
    width: 47.9910603427%;
    margin-right: 0; }
    .footer-right:last-child {
      margin-right: 0; } }

.copyright p {
  font-size: 90%;
  line-height: 1.3em; }

.ham-logo svg {
  margin-top: -10px; }
  .ham-logo svg:hover, .ham-logo svg:focus {
    animation: wiggle 1s ease;
    animation-iteration-count: 1; }

.omega-grid {
  display: block;
  padding: 5%; }
  .omega-grid::after {
    clear: both;
    content: "";
    display: block; }

.omega-item {
  float: left;
  display: block;
  margin-right: 4.0178793146%;
  width: 21.986590514%; }
  .omega-item:last-child {
    margin-right: 0; }
  .omega-item:nth-child(3n) {
    margin-right: 0; }

.omega-item {
  float: left;
  display: block;
  margin-right: 4.0178793146%;
  width: 21.986590514%; }
  .omega-item:last-child {
    margin-right: 0; }
  .omega-item:nth-child(3n) {
    margin-right: 0; }
  .omega-item:nth-child(3n+1) {
    clear: left; }
