/* !== Screen */
/* NOTE: Master SASS file for screen display. Only add @import statements. No SASS/CSS code please */
/*

DEPENDENCIES
============

The following Tools are required to process this Sass framework correctly:

* Sass 3.3
* Autoprefixer

*/
/* Framework - Variables, Mixins, Functions, Resets, Placeholders */
/* != Framework - ALL */
/*
NOTE: Imports all other files in the /framework folder
      Files should be imported in the order indicated
*/
/* !== Global Settings */
/* != Framework - Global Typography Settings */
/* !== Typography */
/* ! Font Families */
/* ! Font Weights */
/* ! Base Font Values - used as the default for things like basic paragraphs, lists, etc. */
/* != Framework - Global Colour Settings */
/*

HOW TO USE COLOUR VARIABLES IN THIS SASS PROJECT
------------------------------------------------

There are a couple of options available to you:

================
1-STEP SYSTEM
================

1. Define your colour palette as a set of COLOUR-DESCRIPTIVE VARIABLES (e.g. $clrPaleBlue)
2. Use these COLOUR-DESCRIPTIVE VARIABLES directly, throughout the project's other .scss files

RESULT: Colours are presented in the code in a much more readable and meaningful format

BEST FOR: Projects with one theme


================
2-STEP SYSTEM
================

1. Define your colour palette as a set of COLOUR-DESCRIPTIVE VARIABLES (e.g. $clrPaleBlue)
2. Define a set of SEMANTIC-STRUCTURAL VARIABLES to use throughout your Sass files (e.g. $clrPageHeaderBackground)
3. Set the SEMANTIC VARIABLES using the COLOUR-DESCRIPTIVE VARIABLES in this file only

RESULT: Colours are managed in one location and colour changes will not require renaming variables throughout the set of Sass files

BEST FOR: Projects that involve multiple themes or skins

*/
/* !== COLOUR-DESCRIPTIVE VARIABLES */
/* ! Black to White */
/* != Global - Media Queries */
/* !== Breakpoints */
/*
What are the parameter values for each Media Query?
- Set these values without units, these'll be added in the mixin
*/
/*

MQ Names - Star Wars Theme
==========================

Use the A-List names for main breakpoints and the B-List names for BPs for more specific rules and edge cases

Small
------------

- A-List
$bpYoda
$bpArtoo

- B-List
$bpEwok
$bpJawa

Medium
------------

- A-List
$bpLeia
$bpLuke
$bpHan
$bpThreepio

- B-List
$bpLando
$bpBoba
$bpLobot


Large
------------

- A-List
$bpVader
$bpChewie

- B-List
$bpJabba
$bpWampa
$bpRancor
$bpSarlacc


Very Large
------------

- A-List
$bpATAT
$bpStarDestroyer
$bpDeathStar

*/
/* != Global Animation Variables etc. */
/* !== Resets */
/**
 * Eric Meyer's Reset CSS v2.0 (http://meyerweb.com/eric/tools/css/reset/)
 * http://cssreset.com
 */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline; }

sub {
  vertical-align: sub; }

sup {
  vertical-align: super; }

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block; }

body {
  line-height: 1; }

ol, ul {
  list-style: none; }

blockquote, q {
  quotes: none; }

blockquote:before, blockquote:after,
q:before, q:after {
  content: '';
  content: none; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

/* ----------------------------------------------------------------------------------------------------

Super Form Reset

A couple of things to watch out for:

- IE8: If a text input doesn't have padding on all sides or none the text won't be centered.
- The default border sizes on text inputs in all UAs seem to be slightly different. You're better off using custom borders.
- You NEED to set the font-size and family on all form elements
- Search inputs need to have their appearance reset and the box-sizing set to content-box to match other UAs
- You can style the upload button in webkit using ::-webkit-file-upload-button
- ::-webkit-file-upload-button selectors can't be used in the same selector as normal ones. FF and IE freak out.
- IE: You don't need to fake inline-block with labels and form controls in IE. They function as inline-block.
- By turning off ::-webkit-search-decoration, it removes the extra whitespace on the left on search inputs

----------------------------------------------------------------------------------------------------*/
input,
label,
select,
button,
textarea {
  margin: 0;
  border: 0;
  padding: 0;
  display: inline-block;
  vertical-align: middle;
  white-space: normal;
  background: none;
  line-height: 1;
  /* Browsers have different default form fonts */
  font-size: 16px;
  font-family: inherit; }

/* Remove the stupid outer glow in Webkit */
input:focus {
  outline: 0; }

/* Box Sizing Reset
-----------------------------------------------*/
/* All of our custom controls should be what we expect them to be */
/* These elements are usually rendered a certain way by the browser */
/* Text Inputs
-----------------------------------------------*/
/* Button Controls
-----------------------------------------------*/
input[type=checkbox],
input[type=radio] {
  width: 13px;
  height: 13px; }

/* File Uploads
-----------------------------------------------*/
/* Search Input
-----------------------------------------------*/
/* Make webkit render the search input like a normal text field */
input[type=search] {
  -webkit-appearance: textfield;
  -webkit-box-sizing: content-box; }

/* Turn off the recent search for webkit. It adds about 15px padding on the left */
::-webkit-search-decoration {
  display: none; }

/* Buttons
-----------------------------------------------*/
button,
input[type="reset"],
input[type="button"],
input[type="submit"] {
  /* Fix IE7 display bug */
  overflow: visible;
  width: auto; }

/* IE8 and FF freak out if this rule is within another selector */
::-webkit-file-upload-button {
  padding: 0;
  border: 0;
  background: none; }

/* Textarea
-----------------------------------------------*/
textarea {
  /* Move the label to the top */
  vertical-align: top;
  /* Turn off scroll bars in IE unless needed */
  overflow: auto; }

/* Selects
-----------------------------------------------*/
select[multiple] {
  /* Move the label to the top */
  vertical-align: top; }

/* != Drupal Reset */
/* NOTE: Styles for resetting the Drupal system CSS */
/* !== Navigation */
ul.menu {
  margin: 0;
  padding: 0;
  list-style: none; }
  ul.menu li, ul.menu li.leaf {
    padding: 0;
    margin: 0;
    background: none;
    list-style: none; }

/* !== Forms */
.resizable-textarea .grippie {
  display: none; }

/* !== Modules */
/* != Base Module - UNITS */
/* CONVERT PIXELS TO EMS */
/*
Parameters: @pixels value (no units), optional @context value (no units) e.g. if you are calculating padding on an element that has a font size applied already.
*/
/* != Base Module - MATHS */
/* !== Add 1 to a number */
/* !== Subtract 1 from a number */
/* != Framework Module - MEDIA QUERIES */
/*
 * @mixins
 */
/* !== Media Query mixin - includes Retina display */
/* ! Framework Module - TYPOGRAPHY */
/*
 * @mixins
 */
/* !== Hide Text */
/* != Framework Module - LAYOUT */
/*  !== Fixed Width Layout */
/* !== Absolute Positing - Full Cover */
/* !== Set opacity with legacy browser fallbacks */
/* != Placeholders - Layout - CLEARFIX */
/* !== Modern Version - IE8+ */
/*
 * Placeholder version of the modern clearfix mixin
 */
/* !== Legacy Version - IE6/7+ */
/*
 * Legacy support for inline-block in IE7 (maybe IE6)
 */
/* !== Grid Width Calculator */
/* != Framework Module - Grid */
/* != Framework Module - BUTTONS */
/* !== Basic Button Style */
/* Placeholder for buttonBase @extend */
input[type="submit"],
button {
  font: 700 16px/normal "Roboto", sans-serif;
  text-transform: uppercase;
  text-align: center;
  display: inline-block;
  padding: 0.8125em 1.875em;
  text-decoration: none;
  transition: all 0.1s ease-in-out;
  cursor: pointer;
  border: 1px solid #68fcbc;
  border-color: var(--buttonTint);
  border-radius: 1.5625em;
  background: #fff;
  color: #373737;
  /* !== Breakpoint */
  /* If media queries are supported... */
  /* !== Breakpoint */
  /* If media queries are supported... */ }
  input[type="submit"]:hover,
  button:hover, input[type="submit"]:focus,
  button:focus, input[type="submit"]:active,
  button:active {
    background-color: #68fcbc;
    background-color: var(--buttonTint);
    box-shadow: 1px 2px 1px rgba(55, 55, 55, 0.1); }
  input[type="submit"]:active,
  button:active {
    box-shadow: none; }
  @media screen and (max-width: 30em) {
    input[type="submit"],
    button {
      padding: 0.625em 1.5em; } }
  @media screen and (max-width: 25em) {
    input[type="submit"],
    button {
      font-size: 14px; } }
/* != Framework Module - Media */
/* != Framework Module - Sprites */
/*
 * @variables
 */
/* Define the @1x and @2x Sprite files to use */
/* Define the Sprite size - this is the @1x version's dimensions */
/*
 * @mixins
 */
/* Add basic Sprite CSS */
/* Add CSS for sprite image as :before/:after content */
/*
 * @placeholders
 */
/* Provide a placeholder version of the Sprite File @mixin */
/* Provide a placeholder version of the Sprite Base @mixin */
.ct_Sprite:before, .ct_Sprite:after {
  background-image: url(img/good_sprite.png);
  background-size: 450px 450px;
  /* If media queries are supported... */
  content: " ";
  display: block;
  position: absolute;
  background-repeat: no-repeat; }
  @media (-webkit-min-device-pixel-ratio: 1.3), (min-resolution: 124.8dpi) {
    .ct_Sprite:before, .ct_Sprite:after {
      background-image: url(good_sprite.svg); } }
/* !== Framework Module - STATES */
/*
 * @placeholders
 */
/* !== Hidden */
/* !== Visible */
/* != Module - Design Elements - reusable design elements that many components share */
/* !== Vertical Hairline Divider */
/* !== Base 64 encoded images */
/* != Standard CSS-Generated Content */
.ct_Pseudo {
  position: relative; }
  .ct_Pseudo:before, .ct_Pseudo:after {
    content: "";
    display: block;
    position: absolute; }

.ct_Divider:after {
  width: 60px;
  height: 1px;
  background: #53565A;
  bottom: 0;
  left: calc(50% - 30px); }

.ct_Sprite {
  position: relative; }

/* != Links - Base Styles */
a {
  transition: color 0.1s ease-in-out; }

/* != Base Form Styles */
.form-item {
  margin-bottom: 15px; }

label {
  font-family: "Roboto", sans-serif;
  color: #373737; }
  label.error {
    padding: 10px;
    margin: 5px 0 10px;
    border-radius: 8px;
    display: block;
    color: #fff;
    background: #dc4c33; }

input,
select,
textarea {
  font-family: "Roboto", sans-serif;
  line-height: 1.1;
  border: none;
  border: 1px solid #e6e6e6;
  padding: 12px 30px 12px;
  border-radius: 16px;
  width: 100%;
  -webkit-appearance: none; }
  input.error,
  select.error,
  textarea.error {
    margin-bottom: 5px; }

select {
  display: block;
  padding-right: 50px;
  background: #fff url(../img/icon_chevron_down.svg) calc(100% - 20px) 50% no-repeat;
  /* If media queries are supported... */ }
  @media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
    select {
      padding-right: 30px;
      background-image: none; } }
::placeholder {
  color: #969696; }

input[type="submit"],
button {
  text-transform: none;
  margin-top: 15px; }

.st_PageContent .ajax-progress {
  display: none; }

/* !== Layout */
/* !== Flexbox-based w/ legacy fallbacks */
[class*="fx_"] {
  display: flex; }

.fx_List {
  flex-wrap: wrap;
  align-items: stretch; }

.fx_Group {
  align-items: stretch; }

.fx_Content {
  flex-direction: column; }

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

/* !== Global Rules */
/* != Document */
/* Rules for <html> and <body> go here */
body {
  color: #373737;
  background: #fff;
  font-size: 100%;
  font-family: "Roboto", sans-serif;
  font-weight: 400;
  line-height: 1.5;
  font-feature-settings: "kern" 1, "dlig" 0;
  overflow-x: hidden; }

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

.js body > .wrapper {
  transition: all 0.3s ease-in-out;
  opacity: 0; }

.js body.pageLoaded > .wrapper {
  opacity: 1; }

.js body > img {
  display: none; }

.wrapper {
  width: 100vw;
  margin: 0 auto;
  position: relative; }

/* !== Typography */
/* != Typography - Basic Styles */
p, li, dt, dd {
  font-size: 1.125em;
  font-weight: 400;
  line-height: 1.4; }

/* !== Breakpoint */
/* If media queries are supported... */
@media screen and (max-width: 45em) {
  p, li, dt, dd {
    font-size: 1em; } }

.hd_DeathStar {
  font-size: 3.75em;
  font-weight: 700;
  line-height: 1.1; }

.hd_Jabba {
  font-size: 3em;
  font-weight: 700;
  line-height: 1.1; }

.hd_Chewie {
  font-size: 2.375em;
  font-weight: 700;
  line-height: 1.1;
  color: #00A3E0; }

.hd_Han,
.hd_Lando,
.tx_Prose h2 {
  font-size: 1.75em;
  font-weight: 700;
  line-height: 1.2;
  color: #003B5C; }

.hd_Lando {
  font-weight: 300; }

.hd_Luke {
  font-size: 1.125em; }

/* !== Breakpoint */
/* If media queries are supported... */
@media screen and (max-width: 40em) {
  .hd_DeathStar {
    font-size: 3.125em; }
  .hd_Jabba {
    font-size: 2.5em; }
  .hd_Chewie {
    font-size: 1.875em; }
  .hd_Han,
  .hd_Lando,
  .tx_Prose h2 {
    font-size: 1.5em; } }

/* !== Breakpoint */
/* If media queries are supported... */
@media screen and (max-width: 30em) {
  .hd_DeathStar {
    font-size: 2.25em; }
  .hd_Jabba {
    font-size: 2em; }
  .hd_Chewie {
    font-size: 1.6875em; }
  .hd_Han,
  .hd_Lando,
  .tx_Prose h2 {
    font-size: 1.5em; } }

.tx_Intro h2 {
  margin: 0 0 1em; }

.tx_Intro p,
.tx_Intro li {
  font-size: 1.25em;
  font-weight: 300; }

.tx_Intro p {
  margin: 0 0 1.25em; }
  .tx_Intro p:last-child {
    margin-bottom: 0; }

/* !== Breakpoint */
/* If media queries are supported... */
@media screen and (max-width: 40em) {
  .tx_Intro p,
  .tx_Intro li {
    font-size: 1.125em; } }

.tx_Media p {
  font-size: 1em;
  font-weight: 300;
  max-width: 25em;
  margin-right: auto;
  margin: 0 0 1.25em; }
  .tx_Media p:last-child {
    margin-bottom: 0; }
  .tx_Media p sub {
    font-size: 0.6em; }

.tx_Media strong {
  font-weight: 700; }

.tx_Media--wide h3,
.tx_Media--wide p {
  max-width: 550px;
  margin-left: auto;
  margin-right: auto;
  text-align: center; }

.tx_Prose h2 {
  margin: 0 0 1em; }
  .tx_Prose h2 span {
    display: block; }

.tx_Prose h3 {
  font-size: 1.25em;
  line-height: 1.1;
  font-weight: 500;
  position: relative;
  margin: 0 0 0.25em; }

.tx_Prose h3,
.tx_Prose h2 + p,
.tx_Prose .tx_Prose__figure + p {
  position: relative; }
  .tx_Prose h3:before,
  .tx_Prose h2 + p:before,
  .tx_Prose .tx_Prose__figure + p:before {
    content: "";
    display: block;
    position: absolute;
    top: 5px;
    left: -80px;
    width: 30px;
    height: 1px;
    background: #00A3E0; }

.tx_Prose p, .tx_Prose li {
  font-size: 1.25em;
  font-weight: 300; }

.tx_Prose p {
  margin: 0 0 1em; }

.tx_Prose li {
  margin-bottom: 0.4em; }

.tx_Prose ul,
.tx_Prose ol {
  margin: 0 0 1.5em;
  padding-left: 25px;
  list-style: none; }
  .tx_Prose ul li,
  .tx_Prose ol li {
    position: relative; }
    .tx_Prose ul li:before,
    .tx_Prose ol li:before {
      position: absolute; }
    .tx_Prose ul li li,
    .tx_Prose ol li li {
      font-size: 1em; }

.tx_Prose ul ul {
  margin: 0.5em 0 0; }

.tx_Prose ul li:before {
  content: "";
  display: block;
  width: 8px;
  height: 8px;
  background: #00A3E0;
  border-radius: 4px;
  top: 0.5em;
  left: -24px; }

.tx_Prose ol {
  counter-reset: section; }
  .tx_Prose ol ol {
    margin: 0.5em 0 0; }
  .tx_Prose ol li {
    position: relative; }
    .tx_Prose ol li:before {
      font-weight: 500;
      text-align: right;
      color: #00A3E0;
      counter-increment: section;
      content: counter(section) ".";
      left: -40px;
      width: 30px; }

.tx_Prose strong {
  font-weight: 700; }

.tx_Prose em {
  font-style: italic; }

.tx_Prose__figure {
  position: relative;
  margin: 2.5em 0 2.5em -80px;
  width: 1100px; }
  .tx_Prose__figure--double {
    justify-content: space-between; }
  .tx_Prose__figure:last-child {
    margin-bottom: 7.5em; }
  .tx_Prose__figure--noCaption {
    margin-bottom: 2.5em !important; }

.tx_Prose__figImage {
  flex: 0 0 calc(50% - 10px);
  position: relative; }

.tx_Prose__figCaption {
  color: #003B5C;
  line-height: 1;
  max-width: 13.4375em;
  position: absolute;
  bottom: -20px;
  right: 0;
  transform: translate(0, 100%);
  padding: 1.875em 0 0;
  background: url(../img/icon_arrow_up.svg) top left no-repeat; }
  .tx_Prose__figCaption h4 {
    font-size: 0.875em;
    font-weight: 400;
    margin: 0 0 0.25em; }
  .tx_Prose__figCaption p {
    font-size: 0.875em; }

.tx_Prose a {
  color: #00A3E0; }
  .tx_Prose a:hover, .tx_Prose a:focus, .tx_Prose a:active {
    color: #C3563E; }

.tx_Prose--auto a {
  color: #fff; }
  .tx_Prose--auto a:hover, .tx_Prose--auto a:focus, .tx_Prose--auto a:active {
    color: #C3563E; }

/* !== Breakpoint */
/* If media queries are supported... */
@media screen and (max-width: 71.25em) {
  .tx_Prose__figure {
    width: calc(100vw - 40px); } }

/* !== Breakpoint */
/* If media queries are supported... */
@media screen and (max-width: 56.25em) {
  .tx_Prose__figure:last-child {
    margin-bottom: 0; }
  .tx_Prose__figCaption {
    position: static;
    transform: none;
    margin: 20px 0 0 80px;
    padding: 0 0 0 1.875em;
    max-width: calc(100vw - 100px);
    background-position: 0px 2px; } }

/* !== Breakpoint */
/* If media queries are supported... */
@media screen and (max-width: 40em) {
  .tx_Prose p, .tx_Prose li {
    font-size: 1em; }
  .tx_Prose__figure {
    margin-top: 6.25vw;
    margin-bottom: 6.25vw; }
    .tx_Prose__figure:last-child {
      margin-bottom: 0 !important; }
  .tx_Prose__figCaption p {
    font-size: 0.875em; } }

/* !== Breakpoint */
/* If media queries are supported... */
@media screen and (max-width: 30em) {
  .tx_Prose h3:after,
  .tx_Prose h2 + p:after,
  .tx_Prose .tx_Prose__figure + p:after {
    content: none;
    display: none; }
  .tx_Prose__figure, .tx_Prose__figCaption {
    margin-left: 0; }
  .tx_Prose__figCaption {
    max-width: 100%; }
  .tx_Prose__figImage {
    flex: 0 0 100%; }
    .tx_Prose__figImage:first-child {
      padding-bottom: 20px; } }

/* !== Object Components */
.ob_Section {
  padding: 3.125em 0; }
  .ob_Section--list {
    padding: 3.125em 0 1.875em; }
  .ob_Section--feature {
    padding: 0; }
  .ob_Section__inner {
    max-width: 71.25em;
    margin: 0 auto; }
  .ob_Section--banner {
    background: #203244; }
  .ob_Section--altBlue {
    background: #163A59; }
  .ob_Section--white {
    background: #fff; }
  .ob_Section--offWhite {
    background: #F2F2F2; }
  .ob_Section--grey {
    background: #D8D8D9; }
  .ob_Section--autoGrey {
    background: #B0B0B1; }
  .ob_Section--darkGrey {
    background: #B4B4B4; }
  .ob_Section--autoDarkGrey {
    background: #808080; }
  .ob_Section--railGrey {
    background: #e2e2e2; }
  .ob_Section--black {
    background: #000; }

/* !== Breakpoint */
/* If media queries are supported... */
@media screen and (max-width: 40em) {
  .ob_Section {
    padding: 7.8125vw 0; }
    .ob_Section--list {
      padding: 7.8125vw 0 4.6875vw; } }

.ob_Button,
form .mktoButtonWrap.mktoPaperMashup button.mktoButton {
  font-size: 14px !important;
  background: #C3563E !important;
  padding: 0.75em 0.625em !important;
  margin: 0 16px;
  color: #fff;
  display: inline-block;
  position: relative;
  height: 43px !important;
  text-decoration: none; }
  .ob_Button:before, .ob_Button:after,
  form .mktoButtonWrap.mktoPaperMashup button.mktoButton:before,
  form .mktoButtonWrap.mktoPaperMashup button.mktoButton:after {
    content: "";
    display: block;
    position: absolute;
    width: 43px;
    height: 0;
    transition: border-width .3s linear;
    top: 0;
    z-index: 3;
    border-bottom: 17px solid #C3563E;
    border-left: 14px solid transparent;
    border-right: 0 solid transparent; }
  .ob_Button:before,
  form .mktoButtonWrap.mktoPaperMashup button.mktoButton:before {
    right: 100%;
    transform: rotate(270deg) translate(-13px, 14px); }
  .ob_Button:after,
  form .mktoButtonWrap.mktoPaperMashup button.mktoButton:after {
    left: 100%;
    transform: rotate(-270deg) translate(13px, 14px); }
  .ob_Button:hover:before, .ob_Button:hover:after, .ob_Button:focus:before, .ob_Button:focus:after, .ob_Button:active:before, .ob_Button:active:after,
  form .mktoButtonWrap.mktoPaperMashup button.mktoButton:hover:before,
  form .mktoButtonWrap.mktoPaperMashup button.mktoButton:hover:after,
  form .mktoButtonWrap.mktoPaperMashup button.mktoButton:focus:before,
  form .mktoButtonWrap.mktoPaperMashup button.mktoButton:focus:after,
  form .mktoButtonWrap.mktoPaperMashup button.mktoButton:active:before,
  form .mktoButtonWrap.mktoPaperMashup button.mktoButton:active:after {
    border-left: 0 solid transparent;
    border-right: 14px solid transparent; }

.ob_Button--simple,
.cp_Form--aero .cp_Form__formHolder form .mktoButtonWrap.mktoPaperMashup button.mktoButton {
  margin: 0 !important;
  padding: 0.75em 1.5em 0.75em !important;
  height: auto !important;
  border-radius: 3px !important;
  transition: background-color 0.1s ease-in-out; }
  .ob_Button--simple:before, .ob_Button--simple:after,
  .cp_Form--aero .cp_Form__formHolder form .mktoButtonWrap.mktoPaperMashup button.mktoButton:before,
  .cp_Form--aero .cp_Form__formHolder form .mktoButtonWrap.mktoPaperMashup button.mktoButton:after {
    content: none;
    display: none; }
  .ob_Button--simple:hover, .ob_Button--simple:focus, .ob_Button--simple:active,
  .cp_Form--aero .cp_Form__formHolder form .mktoButtonWrap.mktoPaperMashup button.mktoButton:hover,
  .cp_Form--aero .cp_Form__formHolder form .mktoButtonWrap.mktoPaperMashup button.mktoButton:focus,
  .cp_Form--aero .cp_Form__formHolder form .mktoButtonWrap.mktoPaperMashup button.mktoButton:active {
    background: #8a3c2b !important; }

.ob_Button--small {
  padding: 0.3125em 0.625em !important;
  height: auto !important;
  margin: 0;
  text-align: center; }
  .ob_Button--small:before, .ob_Button--small:after {
    display: none; }
  .ob_Button--small:hover, .ob_Button--small:focus, .ob_Button--small:active {
    background: #8a3c2b !important; }

.ob_Link {
  font-size: 16px;
  font-weight: 700;
  color: #00A3E0;
  text-decoration: none;
  display: inline-block;
  transition: color 0.1s ease-in-out; }
  .ob_Link:after {
    content: ">>";
    transition: transform 0.1s ease-in-out;
    font-size: 1.15em;
    font-weight: 700;
    margin-left: 3px;
    display: inline-block; }
  .ob_Link:hover, .ob_Link:focus, .ob_Link:active {
    color: #C3563E; }
    .ob_Link:hover:after, .ob_Link:focus:after, .ob_Link:active:after {
      transform: translateX(7px); }
  .ob_Link--case {
    color: #fff; }
  .ob_Link--caseAlt {
    color: #003B5C; }
    .ob_Link--caseAlt:hover, .ob_Link--caseAlt:focus, .ob_Link--caseAlt:active {
      color: #fff; }
  .ob_Link--caseLight {
    color: #00A3E0; }
    .ob_Link--caseLight:hover, .ob_Link--caseLight:focus, .ob_Link--caseLight:active {
      color: #C3563E; }
  .ob_Link--section {
    font-size: 1.125rem;
    color: #00A3E0; }

.ob_BackLink {
  text-decoration: none;
  line-height: 1.2;
  margin-top: 30px !important;
  display: flex;
  align-items: center; }
  .ob_BackLink__icon {
    width: 12px;
    height: auto;
    margin-right: 8px; }
  .ob_BackLink__iconFill {
    transition: fill 0.1s ease-in-out; }
  .ob_BackLink__text {
    padding-bottom: 2px; }
  .ob_BackLink:hover .ob_BackLink__iconFill, .ob_BackLink:focus .ob_BackLink__iconFill, .ob_BackLink:active .ob_BackLink__iconFill {
    fill: #C3563E !important; }
  .ob_BackLink strong {
    font-weight: 500; }

.tx_Prose--auto .ob_BackLink__iconFill {
  fill: #fff !important; }

.tx_Prose--auto .ob_BackLink:hover .tx_Prose--auto .ob_BackLink__iconFill, .tx_Prose--auto .ob_BackLink:focus .tx_Prose--auto .ob_BackLink__iconFill, .tx_Prose--auto .ob_BackLink:active .tx_Prose--auto .ob_BackLink__iconFill {
  fill: #C3563E !important; }

/* !== Breakpoint */
/* If media queries are supported... */
@media screen and (max-width: 40em) {
  .ob_BackLink__text {
    padding-bottom: 0; } }

.ob_RoundelLink {
  display: block;
  text-indent: -9999px;
  width: 30px;
  height: 30px;
  background: #00A3E0 url(../img/icon_cross_thin.svg) center center no-repeat;
  border-radius: 50%;
  transition: background-color 0.1s ease-in-out; }
  .ob_RoundelLink--panorama {
    background-image: url(../img/icon_magnify.svg);
    position: absolute;
    top: 10px;
    right: 10px; }
  .ob_RoundelLink--zoom {
    background-image: url(../img/icon_zoom.svg);
    position: absolute;
    top: 10px;
    right: 10px; }

.is_Zoomed .ob_RoundelLink--panorama {
  background-image: url(../img/icon_cross_thin.svg); }

.ob_Image {
  line-height: 0; }
  .ob_Image img,
  .ob_Image svg {
    max-width: 100%;
    height: auto; }

.ob_Media--pair {
  max-width: 71.25em;
  padding: 0 1.25em;
  margin: 0 auto; }
  .ob_Media--pair .ob_Media__media,
  .ob_Media--pair .ob_Media__details {
    flex: 0 0 50%; }

.ob_Media__inner {
  background: #fff; }
  .ob_Media__inner--dark {
    background: #000; }

.ob_Media__banner {
  flex: 0 0 100%;
  line-height: 0; }

.ob_Media__image--banner {
  padding: 0; }

@supports (object-fit: cover) {
  .ob_Media__image--cover {
    width: 100%;
    height: 100%;
    padding: 0; }
    .ob_Media__image--cover img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: 50% 50%; } }

.ob_Media__details {
  padding: 3.125em; }

/* !== Breakpoint */
/* If media queries are supported... */
@media screen and (max-width: 71.25em) {
  .ob_Media__details {
    padding: 4.3859649123vw; } }

/* !== Breakpoint */
/* If media queries are supported... */
@media screen and (max-width: 40em) {
  .ob_Media__inner--pair {
    flex-direction: column; }
    .ob_Media__inner--pair .ob_Media__media,
    .ob_Media__inner--pair .ob_Media__details {
      flex: 1 1 auto;
      width: 100%;
      order: 2; }
    .ob_Media__inner--pair .ob_Media__media {
      order: 1; }
  .ob_Media__image {
    padding: 0; } }

/* != Flip Icon Object */
.ob_FlipIcon {
  position: absolute;
  width: 30px;
  height: 30px;
  display: block;
  overflow: visible;
  transform-style: preserve-3d;
  transform-origin: center center;
  perspective: 800px; }
  .ob_FlipIcon__state {
    width: 100%;
    height: 100%;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    border-radius: 50%;
    transition: all 0.1s ease-in-out;
    backface-visibility: hidden;
    border: 2px solid #00A3E0;
    background: #00A3E0;
    background-repeat: no-repeat;
    background-position: center center;
    display: block;
    text-indent: -9999px; }
    .ob_FlipIcon__state--play {
      transform: rotateY(180deg) translateZ(0px);
      background-image: url(../img/icon_play_white.svg);
      background-position: 8px center; }
    .ob_FlipIcon__state--pause {
      transform: rotateY(0deg) translateZ(0px);
      background-image: url(../img/icon_pause_white.svg); }

.is_Paused .ob_FlipIcon__state--play {
  transform: rotateY(0deg) translateZ(0px); }

.is_Paused .ob_FlipIcon__state--pause {
  transform: rotateY(180deg) translateZ(0px); }

.ob_Table {
  width: 100%;
  overflow: scroll; }
  .ob_Table table {
    min-width: 800px; }

.st_PageHeader {
  background: #003B5C;
  position: relative;
  z-index: 400;
  position: sticky;
  top: 0; }
  .st_PageHeader--aero, .st_PageHeader--dental {
    background: #F7F6F5;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1); }
  .st_PageHeader--rail {
    background: #ECEBEA;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1); }
  .st_PageHeader__inner {
    padding: 1.25em;
    align-items: center; }

/* !== Breakpoint */
/* If media queries are supported... */
@media screen and (max-width: 56.25em) {
  .st_PageHeader__inner {
    padding: 0.625em 1.25em; } }

.st_PreFooter {
  background: #003B5C;
  padding: 1.25em 0; }

.st_PageFooter {
  background: #203244; }
  .st_PageFooter__inner {
    padding: 1.875em 0.625em 0.625em; }

.gp_LegalInfo {
  padding: 1.875em 0;
  align-items: center; }

.cp_Brand {
  order: 2; }
  .cp_Brand--footer {
    order: initial;
    padding: 0 0.625em; }
  .cp_Brand--main, .cp_Brand--form {
    text-align: center;
    padding: 0 0 1.875em;
    order: 1; }
  .cp_Brand--form {
    text-align: left; }
  .cp_Brand__link {
    line-height: 0;
    display: block; }
    .cp_Brand__link--main, .cp_Brand__link--form {
      display: inline-block; }
  .cp_Brand__logo--main, .cp_Brand__logo--form {
    width: 220px;
    max-width: 60vw; }

/* !== Breakpoint */
/* If media queries are supported... */
@media screen and (max-width: 56.25em) {
  .cp_Brand--header {
    flex-grow: 1; } }

/* !== Breakpoint */
/* If media queries are supported... */
@media screen and (max-width: 45em) {
  .cp_Brand--footer {
    order: 3;
    flex: 0 0 100%;
    padding: 1.25em 0.625em; } }

.cp_MainNav {
  order: 2;
  flex-grow: 1;
  z-index: 10; }
  .cp_MainNav__toggle {
    display: none;
    width: 30px;
    height: 30px;
    position: relative;
    margin-left: 15px; }
  .cp_MainNav__toggleLabel {
    display: none; }
  .cp_MainNav__toggleBar, .cp_MainNav__toggleBar:before, .cp_MainNav__toggleBar:after {
    width: 25px;
    height: 4px;
    border-radius: 2px;
    background: #fff; }
  .cp_MainNav__toggleBar--dark, .cp_MainNav__toggleBar--dark:before, .cp_MainNav__toggleBar--dark:after {
    background: #00A3E0; }
  .cp_MainNav__toggleBar {
    position: absolute;
    left: 2px;
    top: calc(50% - 2px); }
    .cp_MainNav__toggleBar:before {
      top: -9px; }
    .cp_MainNav__toggleBar:after {
      bottom: -9px; }
  .cp_MainNav__menu {
    justify-content: flex-end;
    align-items: center; }
  .cp_MainNav__item {
    font-size: 0.875em;
    font-weight: 400; }
    .cp_MainNav__item--section {
      position: relative; }
      .cp_MainNav__item--section:before {
        height: 20px;
        width: 1px;
        left: 0;
        top: calc(50% - 10px);
        background: #fff; }
    .cp_MainNav__item--button {
      margin-left: 0.625rem; }
  .cp_MainNav__link {
    display: block;
    padding: 0 0.9375em;
    color: #fff;
    text-decoration: none; }
    .cp_MainNav__link--normal:hover, .cp_MainNav__link--normal:focus, .cp_MainNav__link--normal:active, .cp_MainNav__link--normal.is_Active {
      text-decoration: underline;
      color: #53a5ce; }
    .cp_MainNav__link--dark {
      color: #003B5C; }
      .cp_MainNav__link--dark:hover, .cp_MainNav__link--dark:focus, .cp_MainNav__link--dark:active, .cp_MainNav__link--dark.is_Active {
        text-decoration: underline;
        color: #53a5ce; }
    .cp_MainNav__link--button {
      margin-left: 1.25rem;
      display: inline-block;
      padding: 0.625rem 1.25rem;
      border: 1px solid #003B5C;
      color: #003B5C;
      border-radius: 0.3125rem;
      transition: all 0.1s ease-in-out; }
      .cp_MainNav__link--button:hover, .cp_MainNav__link--button:focus, .cp_MainNav__link--button:active {
        border-color: #00A3E0;
        background: #00A3E0;
        color: #fff; }

/* !== Breakpoint */
/* If media queries are supported... */
@media screen and (max-width: 56.25em) {
  .cp_MainNav {
    flex-grow: 0; }
    .cp_MainNav__toggle {
      display: block;
      margin-left: 10px; }
    .cp_MainNav__menu {
      display: none;
      position: fixed;
      top: 0;
      left: 0;
      width: 100vw;
      height: 100vh;
      overflow: scroll;
      background: #fff;
      background: rgba(255, 255, 255, 0.95); }
    .cp_MainNav__item {
      font-size: 1.125em;
      text-align: center; }
      .cp_MainNav__item--button {
        font-size: 0.875em;
        padding: 0.7142857143em; }
      .cp_MainNav__item--section:after {
        content: none; }
    .cp_MainNav__link--dark, .cp_MainNav__link--normal {
      padding: 0.5555555556em 0;
      text-transform: uppercase; }
    .cp_MainNav__link--normal {
      color: #000; }
  .navVisible .cp_MainNav__toggle {
    z-index: 10; }
  .navVisible .cp_MainNav__toggleBar {
    background: transparent; }
    .navVisible .cp_MainNav__toggleBar:before {
      top: 0;
      transform: rotate(-45deg);
      background: #203244; }
    .navVisible .cp_MainNav__toggleBar:after {
      bottom: 0;
      transform: rotate(45deg);
      background: #203244; }
  .navVisible .cp_MainNav__menu {
    display: block;
    padding-top: 50px; } }

.cp_PageBanner {
  background: #000;
  position: relative;
  overflow: hidden; }
  .cp_PageBanner--alt {
    background: #8CAFCE; }
  .cp_PageBanner--light {
    background: #fff; }
  .cp_PageBanner--video {
    min-height: 56.25vw; }
  .cp_PageBanner__video, .cp_PageBanner__image {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }
  .cp_PageBanner__image {
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center; }
    .cp_PageBanner__image--inline {
      position: relative;
      line-height: 0; }
      .cp_PageBanner__image--inline img {
        width: 100%; }
    .cp_PageBanner__image.is_Hidden {
      background-image: none !important; }
  .cp_PageBanner__video video {
    position: relative;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    object-fit: cover;
    object-position: center top; }
  .cp_PageBanner__details {
    max-width: 61.25em;
    margin: 0 auto;
    padding: 5em 1.25em;
    min-height: 30vw;
    justify-content: center;
    position: relative;
    z-index: 10; }
    .cp_PageBanner__details--wide {
      max-width: 71.25em; }
    .cp_PageBanner__details--auto {
      min-height: 41.17vw; }
    .cp_PageBanner__details--rail {
      min-height: 40vw; }
    .cp_PageBanner__details--onVideo {
      min-height: 0;
      width: 100%; }
    .cp_PageBanner__details--dental {
      min-height: 37.25vw; }
  .cp_PageBanner__title {
    color: #00A3E0;
    max-width: 750px;
    margin: 0 auto 0.625em 0;
    padding-bottom: 0.625em; }
    .cp_PageBanner__title:after {
      width: 60px;
      height: 1px;
      background: #fff;
      bottom: 0;
      left: 0; }
    .cp_PageBanner__title--darker {
      color: #003B5C; }
    .cp_PageBanner__title--narrow {
      max-width: 550px; }
    .cp_PageBanner__title--large {
      max-width: 450px; }
    .cp_PageBanner__title--form {
      max-width: 50%; }
    .cp_PageBanner__title--rail {
      padding-bottom: 0; }
    .cp_PageBanner__title em {
      display: block;
      color: #fff; }
    .cp_PageBanner__title--dark {
      color: #00A3E0; }
      .cp_PageBanner__title--dark em {
        color: #203244; }
      .cp_PageBanner__title--dark:after {
        background: #003B5C; }
    .cp_PageBanner__title span {
      white-space: nowrap; }
    .cp_PageBanner__title:last-child {
      margin-bottom: 0;
      padding-bottom: 15px; }
    .cp_PageBanner__title--alt {
      color: #003B5C; }
  .cp_PageBanner__control {
    position: absolute;
    width: 30px;
    height: 30px;
    bottom: 20px;
    right: 20px;
    z-index: 350; }

/* !== Breakpoint */
/* If media queries are supported... */
@media screen and (max-width: 45em) {
  .cp_PageBanner__details {
    padding: 1.25em; }
  .cp_PageBanner__title--form {
    max-width: 100%; } }

.cp_SectionIntro {
  max-width: 34.375em;
  margin: 0 auto;
  padding: 0 1.25em 3.125em;
  text-align: center;
  color: #666565; }
  .cp_SectionIntro--auto {
    color: #53565A; }
  .cp_SectionIntro--wide {
    max-width: 46.875em; }
  .cp_SectionIntro:last-child {
    padding-bottom: 0; }
  .cp_SectionIntro__inner.ct_Divider {
    padding-bottom: 2.8125em; }
  .cp_SectionIntro__title--dark {
    color: #003B5C; }

/* !== Breakpoint */
/* If media queries are supported... */
@media screen and (max-width: 40em) {
  .cp_SectionIntro {
    padding: 0 1.25em 7.8125vw; }
    .cp_SectionIntro:last-child {
      padding-bottom: 0; }
    .cp_SectionIntro__inner {
      padding-bottom: 7.03125vw; } }

.cp_SimpleGallery {
  max-width: 71.25em;
  margin: 2.5em auto 0;
  padding-bottom: 3.125em; }
  .cp_SimpleGallery--tight {
    margin-top: 0; }
  .cp_SimpleGallery:last-child {
    padding-bottom: 0; }
  .cp_SimpleGallery__title {
    max-width: 25em;
    padding: 0 1.25em;
    margin: 0 auto 1em;
    text-align: center; }
  .cp_SimpleGallery__pics {
    padding: 0 0.625em;
    justify-content: center; }
  .cp_SimpleGallery__pic {
    flex: 0 0 33.333%;
    padding: 0 0.625em 1.25em;
    position: relative;
    overflow: hidden; }
  .cp_SimpleGallery__video {
    position: relative;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    object-fit: cover;
    object-position: center right; }
  .cp_SimpleGallery__control {
    position: absolute;
    width: 30px;
    height: 30px;
    left: calc(50% - 15px);
    bottom: 5px;
    z-index: 100; }
  .cp_SimpleGallery__desc {
    text-align: center;
    padding: 1.25em 1.25em 3.125em;
    max-width: 43.75em;
    margin: 0 auto; }

/* !== Breakpoint */
/* If media queries are supported... */
@media screen and (max-width: 40em) {
  .cp_SimpleGallery {
    padding-bottom: 7.03125vw; }
    .cp_SimpleGallery:last-child {
      padding-bottom: 0; }
    .cp_SimpleGallery__desc {
      padding: 0 1.25em 7.8125vw; } }

.cp_Feature {
  position: relative; }
  .cp_Feature--carousel {
    padding: 0; }
  .cp_Feature--inGroup {
    background: #fff;
    margin: 0 0 40px;
    flex: 0 0 50%; }
    .cp_Feature--inGroup:nth-child(2n+1) {
      margin-right: 20px; }
    .cp_Feature--inGroup:nth-child(2n) {
      margin-left: 20px; }
    @supports (display: grid) {
      .cp_Feature--inGroup {
        grid-column: span 1;
        margin: 0 !important; } }
  .cp_Feature--section {
    background: #000;
    width: 100%; }
  .cp_Feature--lonely {
    margin: 1.875rem auto; }
  .cp_Feature + .cp_Feature,
  .cp_Feature + .cp_FeatureGroup {
    margin-top: 1.5625em; }
    .cp_Feature + .cp_Feature--tight,
    .cp_Feature + .cp_FeatureGroup--tight {
      margin-top: 0; }
  .cp_Feature__inner--dark {
    background: #000; }
  .cp_Feature__details--carousel {
    padding: 2.5em 5em 5em 5em; }
  .cp_Feature__details--wideCarousel {
    padding: 2.5em 5em 5em; }
  .cp_Feature__details--case {
    padding: 5em calc(5em + 50%) 5em 5em;
    background: #1E1E1E center center no-repeat;
    background-size: cover;
    color: #fff;
    text-align: center;
    position: relative;
    z-index: 20;
    flex: 0 0 100% !important; }
    .cp_Feature__details--case .cp_Feature__heading {
      color: #00A3E0; }
      .cp_Feature__details--case .cp_Feature__heading:after {
        left: 50%;
        transform: translateX(-50%);
        background: #fff; }
    .cp_Feature__details--case > * {
      margin-left: auto !important;
      margin-right: auto !important; }
  .cp_Feature__details--dark {
    background-color: #000;
    color: #fff; }
    .cp_Feature__details--dark .cp_Feature__heading {
      color: #fff; }
      .cp_Feature__details--dark .cp_Feature__heading:after {
        background: #fff; }
  .cp_Feature__details--caseAlt {
    background-color: #8CAFCE;
    color: #003B5C; }
    .cp_Feature__details--caseAlt .cp_Feature__heading {
      color: #fff; }
      .cp_Feature__details--caseAlt .cp_Feature__heading:after {
        background: #003B5C; }
  .cp_Feature__details--caseLight {
    background-color: #F2F2F2;
    color: #666565; }
    .cp_Feature__details--caseLight .cp_Feature__heading {
      color: #00A3E0; }
      .cp_Feature__details--caseLight .cp_Feature__heading:after {
        background: #00A3E0; }
  .cp_Feature__details--section {
    margin: 0 auto;
    padding: 4.6875rem 3.125rem 35vw;
    width: 100%;
    max-width: 40.625rem;
    text-align: center;
    position: relative;
    z-index: 10;
    background: none; }
  .cp_Feature__media {
    position: relative; }
    .cp_Feature__media--case {
      display: none; }
    .cp_Feature__media--section {
      position: absolute;
      bottom: 0;
      left: 0;
      width: 100%; }
    .cp_Feature__media img {
      width: 100%; }
  .cp_Feature__heading {
    padding-bottom: 1.0714285714em;
    margin-bottom: 1.0714285714em; }
    .cp_Feature__heading:after {
      width: 60px;
      height: 1px;
      background: #53565A;
      bottom: 0;
      left: 0; }
    .cp_Feature__heading--simple {
      padding-bottom: 0;
      color: #003B5C;
      font-weight: 700; }
    .cp_Feature__heading--wide:after {
      left: calc(50% - 30px); }
    .cp_Feature__heading--wide:last-child {
      padding-bottom: 0;
      margin-bottom: 0;
      max-width: 750px; }
      .cp_Feature__heading--wide:last-child:after {
        content: none; }
    .cp_Feature__heading--section {
      padding-bottom: 0; }
    .cp_Feature__heading span {
      display: block; }
  .cp_Feature__download {
    display: block;
    color: #00A3E0;
    text-decoration: none;
    line-height: 1.4;
    padding-left: 3.4375em;
    min-height: 50px; }
    .cp_Feature__download:after {
      width: 43px;
      height: 43px;
      background: #00A3E0 url(../img/icon_download.svg) center center no-repeat;
      top: 0;
      left: 0;
      transition: background-color 0.1s ease-in-out; }
    .cp_Feature__download strong {
      display: block;
      font-weight: 700; }
    .cp_Feature__download:hover, .cp_Feature__download:focus, .cp_Feature__download:active {
      color: #C3563E; }
      .cp_Feature__download:hover:after, .cp_Feature__download:focus:after, .cp_Feature__download:active:after {
        background-color: #C3563E; }
  .cp_Feature__actions {
    justify-content: space-around;
    align-items: center; }
    .cp_Feature__actions--case {
      margin-top: 3.125rem; }
    .cp_Feature__actions--section {
      margin-top: 2.5rem; }
  .cp_Feature__control {
    position: absolute;
    width: 30px;
    height: 30px;
    right: 15px;
    bottom: 15px;
    z-index: 100; }

/* !== Breakpoint */
/* If media queries are supported... */
@media screen and (min-width: 71.3125em) {
  .cp_Feature__details--innerSection {
    padding-bottom: 25rem; } }

/* !== Breakpoint */
/* If media queries are supported... */
@media screen and (max-width: 50em) {
  .cp_Feature__details--carousel {
    padding: 2.5em 3.75em 5em; }
  .cp_Feature__details--wideCarousel {
    padding-left: 60px;
    padding-right: 60px; }
  .cp_Feature__details--case {
    padding: 40px calc(40px + 50%) 40px 40px; }
  .cp_Feature__details--section {
    padding: 1.875rem 1.25rem 35vw; } }

/* !== Breakpoint */
/* If media queries are supported... */
@media screen and (max-width: 40em) {
  .cp_Feature__details--carousel, .cp_Feature__details--wideCarousel {
    padding-top: 6.25vw;
    padding-bottom: 3.75em; }
  .cp_Feature__details--case {
    padding: 40px;
    background-image: none !important; }
  .cp_Feature--inGroup {
    flex: 0 0 100%; }
    @supports (display: grid) {
      .cp_Feature--inGroup {
        grid-column: span 2; } }
  .cp_Feature__media--case {
    display: block; } }

/* !== Breakpoint */
/* If media queries are supported... */
@media screen and (max-width: 30em) {
  .cp_Feature__details--carousel, .cp_Feature__details--wideCarousel, .cp_Feature__details--case {
    padding-left: 1.25em;
    padding-right: 1.25em; } }

.cp_FeatureGroup {
  max-width: 71.25em;
  padding: 0 1.25em;
  margin: 0 auto; }
  @supports (display: grid) {
    .cp_FeatureGroup {
      display: grid;
      grid-template-columns: 1fr 1fr;
      grid-gap: 25px;
      padding-bottom: 25px; }
      .cp_FeatureGroup:last-child {
        padding-bottom: 0; } }
  .cp_FeatureGroup--tight {
    grid-gap: 0; }
  .cp_FeatureGroup .cp_Feature--section,
  .cp_FeatureGroup .cp_Feature--tight {
    grid-column: 1 / -1; }
  .cp_FeatureGroup .cp_Feature--tight {
    padding: 0;
    margin: 0; }

/* !== Breakpoint */
/* If media queries are supported... */
@media screen and (max-width: 40em) {
  @supports (display: grid) {
    .cp_FeatureGroup {
      grid-gap: 20px;
      padding-bottom: 20px; } } }

.cp_Quote {
  padding: 4.375em 1.25em;
  overflow: hidden; }
  .cp_Quote__inner {
    max-width: 38.125em;
    padding: 2.5em 1.875em;
    margin: 0 auto; }
    .cp_Quote__inner:before, .cp_Quote__inner:after {
      width: 190px;
      height: 1px;
      background: #53565A;
      left: calc(50% - 95px); }
    .cp_Quote__inner:before {
      top: 0; }
    .cp_Quote__inner:after {
      bottom: 0; }
  .cp_Quote__details {
    text-align: center; }
  .cp_Quote__text {
    margin-bottom: 0.25em;
    font-size: 1.25em;
    font-weight: 700;
    color: #53565A; }
  .cp_Quote__cite {
    max-width: 21.4285714286em;
    margin: 2em  auto 0;
    font-size: 0.875em; }
    .cp_Quote__cite strong {
      color: #00A3E0;
      font-weight: 700;
      display: block; }
    .cp_Quote__cite span {
      display: block; }

/* !== Breakpoint */
/* If media queries are supported... */
@media screen and (max-width: 45em) {
  .cp_Quote {
    padding: 9.7222222222vw 1.25em; }
    .cp_Quote__inner {
      padding: 5.5555555556vw 4.1666666667vw; } }

/* !== Breakpoint */
/* If media queries are supported... */
@media screen and (max-width: 30em) {
  .cp_Quote__inner:before, .cp_Quote__inner:after {
    display: none; }
  .cp_Quote__details {
    padding-top: 2.8125em; } }

.cp_LogoList {
  max-width: 58.75em;
  margin: 0 auto;
  padding: 0 1.25em;
  align-items: center; }
  .cp_LogoList__logo {
    flex: 0 0 33.333%;
    text-align: center; }
  .cp_LogoList__link {
    display: block;
    padding: 0.9375em 0.625em;
    transition: all 0.3s ease-in-out; }
    .cp_LogoList__link:hover, .cp_LogoList__link:focus, .cp_LogoList__link:active {
      opacity: 0.8;
      transform: scale(1.1); }
  .cp_LogoList__image {
    max-width: 100%; }

.cp_GridList {
  max-width: 71.25em;
  margin: 0 auto; }
  .cp_GridList__inner {
    padding: 0 0.625em;
    align-items: stretch;
    justify-content: center; }
  .cp_GridList__item {
    padding: 0 0.625em 1.25em;
    flex: 0 0 33.333%; }

/* !== Breakpoint */
/* If media queries are supported... */
@media screen and (max-width: 56.25em) {
  .cp_GridList__item {
    flex: 0 0 50%; } }

/* !== Breakpoint */
/* If media queries are supported... */
@media screen and (max-width: 45em) {
  .cp_GridList__inner {
    max-width: 500px;
    margin: 0 auto; }
  .cp_GridList__item {
    flex: 0 0 100%; } }

.cp_CardCTA__details, .cp_CardCTA__action {
  padding: 1.25em;
  background: #fff; }

.cp_CardCTA__details {
  padding-bottom: 0;
  flex-grow: 1; }
  .cp_CardCTA__details p {
    font-size: 1em;
    line-height: 1.2;
    color: #003B5C; }

.cp_CardCTA__heading {
  padding-bottom: 0.5357142857em;
  margin-bottom: 0.5357142857em; }
  .cp_CardCTA__heading:after {
    width: 60px;
    height: 1px;
    background: #53565A;
    bottom: 0;
    left: 0; }

.cp_CardCTA__image img {
  width: 100%; }

.cp_CardCTA__action {
  padding: 1.25em; }

.cp_SimpleCTA {
  padding: 0 2.5em 1.25em; }
  .cp_SimpleCTA__title, .cp_SimpleCTA__link {
    font-size: 1em; }
  .cp_SimpleCTA__title {
    font-weight: 300;
    margin: 0 0 3px;
    line-height: 1.2; }
    .cp_SimpleCTA__title span {
      display: block; }

/* != Cell - Modal Styles */
body.modalDisplayed {
  overflow: hidden; }

.cp_ModalScreen {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 460;
  background: url(img/black_tile_transparent_70.png) top left repeat;
  background: rgba(0, 0, 0, 0.7);
  display: block; }

.cp_Modal {
  display: none;
  position: relative;
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 470;
  display: none;
  width: calc(100% - 20px);
  max-width: 1200px; }
  .cp_Modal.imageModal {
    max-width: calc(100% - 20px); }
    .cp_Modal.imageModal img {
      width: 100%; }
  .cp_Modal.displayed {
    display: block; }
  .cp_Modal__inner {
    margin: 0;
    padding: 0; }
  .cp_Modal__content {
    border-radius: 5px; }
  .cp_Modal__contentHolder {
    position: relative;
    width: 100%;
    max-height: calc(100vh - 60px);
    height: 735px;
    padding: 50px 0 0; }
    .cp_Modal__contentHolder iframe {
      position: absolute;
      bottom: 0;
      left: 0;
      width: 100%;
      height: calc(100% - 60px);
      background: #000; }
  .cp_Modal__close {
    position: absolute;
    top: 10px;
    right: 0;
    text-align: right;
    display: block;
    text-align: left;
    text-indent: -9999px;
    z-index: 10; }
  .cp_Modal iframe {
    width: 100%;
    border-radius: 5px; }
  .cp_Modal.imageModal .cp_Modal__content {
    opacity: 0;
    transition: opacity 0.4s ease-out; }
  .cp_Modal.imageModal .cp_Modal__contentHolder {
    height: auto; }
  .cp_Modal.imageModal .image {
    width: 1000px;
    max-width: 100%;
    height: 0;
    padding-top: 75%;
    position: relative;
    overflow: hidden;
    margin-bottom: 0;
    /* If media queries are supported... */ }
    @media screen and (max-width: 75.625em) {
      .cp_Modal.imageModal .image {
        width: 800px; } }
    .cp_Modal.imageModal .image.imageLoaded {
      height: auto;
      padding-top: 0; }
  .cp_Modal.imageLoaded .cp_Modal__content {
    opacity: 1; }
  .cp_Modal.imageLoaded .image {
    height: auto;
    padding-top: 0; }
    .cp_Modal.imageLoaded .image img {
      width: 100%; }

/* !== Breakpoint */
/* If media queries are supported... */
@media screen and (max-width: 87.5em) {
  .cp_Modal__contentHolder {
    width: 100%;
    height: calc((100vw * 0.5625) + 50px);
    max-height: calc(100vh - 80px); } }

.cp_Article {
  max-width: 71.25em;
  margin: 0 auto;
  padding: 3.125em 1.25em; }
  .cp_Article--tight {
    padding: 0 1.25em; }
  .cp_Article:last-child {
    padding-bottom: 0; }
  .cp_Article__inner {
    max-width: 39.375em;
    padding-left: 5em; }

/* !== Breakpoint */
/* If media queries are supported... */
@media screen and (max-width: 45em) {
  .cp_Article {
    padding: 6.9444444444vw 1.25em; }
    .cp_Article--tight {
      padding: 0 1.25em; } }

/* !== Breakpoint */
/* If media queries are supported... */
@media screen and (max-width: 30em) {
  .cp_Article__inner {
    max-width: 100%;
    padding-left: 0; } }

/* != Scrolling Carousel component */
.cp_Carousel {
  max-width: 71.25em;
  margin: 1.25em auto;
  padding: 0 1.25em; }
  .cp_Carousel:first-child {
    margin-top: 0; }
  .cp_Carousel:last-child {
    margin-bottom: 0; }
  .cp_Carousel--tight {
    margin: 0 auto; }
  .cp_Carousel__inner {
    position: relative; }
    .cp_Carousel__inner--text {
      padding: 0 1.875em; }
  .cp_Carousel__slidesHolder {
    overflow: hidden;
    background: #fff; }
  .cp_Carousel__slides {
    transition: all 0.5s ease-in-out;
    align-items: flex-start; }
    .cp_Carousel__slides--flex {
      align-items: flex-start; }
  .cp_Carousel__slide {
    flex: 0 0 100%;
    position: relative;
    overflow: hidden;
    /* Extend Grid */
    align-items: stretch; }
    .cp_Carousel__slide:nth-child(2n+1) .cp_Carousel__slideDetails {
      order: 3; }
  .cp_Carousel__slideDetails {
    order: 1;
    flex: 0 0 25em;
    align-self: flex-start; }
  .cp_Carousel__slideTitle {
    margin: 0 0 1em; }
  .cp_Carousel__control {
    position: absolute;
    bottom: 0;
    width: 80px;
    height: 100%;
    z-index: 100;
    text-indent: -9999px;
    transition: height 0.3s ease-in-out; }
    .cp_Carousel__control:after {
      width: 30px;
      height: 30px;
      background: url(../img/icon_chevron_blue.svg) center center no-repeat;
      top: calc(50% - 15px);
      transition: all 0.3s ease-in-out; }
    .cp_Carousel__control:hover:after, .cp_Carousel__control:focus:after, .cp_Carousel__control:active:after {
      transform: scale(1.2); }
    .cp_Carousel__control--prev {
      left: 0; }
      .cp_Carousel__control--prev:after {
        left: 25px; }
    .cp_Carousel__control--next {
      right: 0; }
      .cp_Carousel__control--next:after {
        right: 25px;
        transform: rotate(180deg); }
      .cp_Carousel__control--next:hover:after, .cp_Carousel__control--next:focus:after, .cp_Carousel__control--next:active:after {
        transform: rotate(180deg) scale(1.2); }
  .cp_Carousel__index {
    position: absolute;
    bottom: 35px;
    left: 0;
    width: 50%;
    justify-content: center;
    z-index: 20; }
    .cp_Carousel__index--wide {
      width: 100%; }
    .cp_Carousel__index .indexItem {
      display: block;
      text-indent: -9999px;
      width: 14px;
      height: 14px;
      background: #D8D8D9;
      margin: 0 10px;
      transform: rotate(45deg);
      transition: background-color 0.3s ease-in-out; }
      .cp_Carousel__index .indexItem:first-child {
        margin-left: 0; }
      .cp_Carousel__index .indexItem:last-child {
        margin-right: 0; }
      .cp_Carousel__index .indexItem.current {
        background: #00A3E0; }
  .cp_Carousel__indexInner {
    width: auto;
    margin: 0 auto; }
    .cp_Carousel__indexInner:after {
      width: calc(100% - 10px);
      height: 2px;
      background: #D8D8D9;
      top: calc(50% - 1px);
      left: 5px;
      z-index: -1; }
  .cp_Carousel__controls--small .cp_Carousel__control--next {
    right: 50%; }

/* !== Breakpoint */
/* If media queries are supported... */
@media screen and (max-width: 50em) {
  .cp_Carousel__control {
    width: 50px; }
    .cp_Carousel__control--prev:after {
      left: calc(50% - 15px); }
    .cp_Carousel__control--next:after {
      right: calc(50% - 15px); } }

/* !== Breakpoint */
/* If media queries are supported... */
@media screen and (max-width: 40em) {
  .cp_Carousel__index {
    width: 100%;
    bottom: 22px; }
  .cp_Carousel__controls--small .cp_Carousel__control--next {
    right: 0; } }

/* !== Breakpoint */
/* If media queries are supported... */
@media screen and (max-width: 30em) {
  .cp_Carousel__control:after {
    top: auto;
    bottom: 12px; } }

.cp_VideoPlayer {
  max-width: 71.25em;
  margin: 0 auto;
  padding: 0 1.25em; }
  .cp_VideoPlayer:first-child {
    margin-top: 1.875em; }
  .cp_VideoPlayer:last-child {
    margin-bottom: 1.875em; }
  .cp_VideoPlayer--single {
    padding: 1.5625em 1.25em; }
  .cp_VideoPlayer--embedded {
    padding: 0;
    margin: 0 !important; }
  .cp_VideoPlayer__title {
    max-width: 34.375em;
    margin: 0 auto;
    padding: 0 0 1.25em;
    text-align: center; }
  .cp_VideoPlayer__inner {
    background: #000; }
  .cp_VideoPlayer__link {
    position: relative;
    display: block; }
    .cp_VideoPlayer__link:after {
      width: 70px;
      height: 70px;
      background: #000 url(../img/icon_play_large.svg) no-repeat;
      background-position: 26px center;
      border: 2px solid #00A3E0;
      border-radius: 50%;
      top: calc(50% - 35px);
      left: calc(50% - 35px);
      z-index: 10;
      transition: all 0.3s ease-in-out; }
    .cp_VideoPlayer__link:hover:after, .cp_VideoPlayer__link:focus:after, .cp_VideoPlayer__link:active:after {
      transform: scale(1.5); }
    .cp_VideoPlayer__link--single:after {
      width: 120px;
      height: 120px;
      background-position: 43px center;
      background-size: 40px auto;
      top: calc(50% - 60px);
      left: calc(50% - 60px); }
    .cp_VideoPlayer__link--single:hover:after, .cp_VideoPlayer__link--single:focus:after, .cp_VideoPlayer__link--single:active:after {
      transform: scale(1.3); }
  .cp_VideoPlayer--loaded .cp_VideoPlayer__link {
    display: none; }
  .cp_VideoPlayer--loaded .cp_VideoPlayer__inner {
    position: relative;
    padding-top: 56.25%;
    width: 100%; }
  .cp_VideoPlayer--loaded .cp_VideoPlayer__iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }
  .cp_VideoPlayer--loaded.cp_VideoPlayer--embedded .cp_VideoPlayer__link {
    display: block; }
    .cp_VideoPlayer--loaded.cp_VideoPlayer--embedded .cp_VideoPlayer__link:after {
      content: none; }
  .cp_VideoPlayer--loaded.cp_VideoPlayer--embedded .cp_VideoPlayer__inner {
    padding-top: 0; }

/* !== Breakpoint */
/* If media queries are supported... */
@media screen and (max-width: 40em) {
  .cp_VideoPlayer:first-child {
    margin-top: 12.5vw; }
  .cp_VideoPlayer:last-child {
    margin-bottom: 12.5vw; } }

.cp_Form {
  max-width: 71.25em;
  margin: 0 auto;
  padding: 0 1.25em;
  justify-content: space-between; }
  .cp_Form__intro {
    overflow: hidden;
    padding-right: 2.5em;
    width: calc(100% - 420px);
    max-width: 34.375em; }
  .cp_Form__formHolder {
    width: 420px;
    position: relative;
    margin-top: calc(-1 * (80px + (37.26vw / 2))); }
    .cp_Form__formHolder form {
      font-family: "Roboto", sans-serif !important;
      font-size: 1em !important;
      padding: 20px 40px 0;
      margin: 56px 0;
      background: #fff;
      width: 100% !important; }
      .cp_Form__formHolder form:before, .cp_Form__formHolder form:after {
        width: 100%;
        height: 0;
        z-index: 3;
        display: block;
        border-bottom: 56px solid #fff;
        border-left: 70px solid transparent;
        border-right: 0 solid transparent; }
      .cp_Form__formHolder form:before {
        top: -56px;
        left: 0; }
      .cp_Form__formHolder form:after {
        bottom: -56px;
        left: 0;
        transform: rotate(180deg); }
      .cp_Form__formHolder form input,
      .cp_Form__formHolder form select,
      .cp_Form__formHolder form textarea {
        font-size: 15px !important;
        min-height: 40px !important;
        border: 1px solid #dedfdf !important;
        background-color: #f6f7f7 !important;
        padding: 10px !important;
        color: #666565 !important;
        border-radius: 0 !important;
        -webkit-appearance: none !important;
        width: 100% !important; }
        .cp_Form__formHolder form input.mktoInvalid,
        .cp_Form__formHolder form select.mktoInvalid,
        .cp_Form__formHolder form textarea.mktoInvalid {
          border-color: #dc4c33 !important; }
      .cp_Form__formHolder form textarea {
        min-height: 150px !important; }
      .cp_Form__formHolder form ::placeholder {
        color: #666565 !important; }
      .cp_Form__formHolder form .mktoFieldWrap,
      .cp_Form__formHolder form .mktoFormCol,
      .cp_Form__formHolder form .mktoField,
      .cp_Form__formHolder form textarea.mktoField {
        float: none !important; }
      .cp_Form__formHolder form .mktoFormCol {
        margin: 0.3125em 0 1.5625em !important; }
      .cp_Form__formHolder form .mktoButtonWrap.mktoPaperMashup button.mktoButton {
        margin: 0 16px !important; }
      .cp_Form__formHolder form .mktoError {
        position: static;
        bottom: 0;
        right: 0; }
        .cp_Form__formHolder form .mktoError .mktoErrorArrowWrap {
          display: none; }
        .cp_Form__formHolder form .mktoError .mktoErrorMsg {
          border: none;
          background: none;
          color: #dc4c33;
          padding: 0;
          text-shadow: none;
          box-shadow: none; }
      .cp_Form__formHolder form .mktoHtmlText {
        color: #666565;
        width: 100% !important; }
        .cp_Form__formHolder form .mktoHtmlText a {
          color: #00A3E0; }
          .cp_Form__formHolder form .mktoHtmlText a:hover, .cp_Form__formHolder form .mktoHtmlText a:focus, .cp_Form__formHolder form .mktoHtmlText a:active {
            color: #C3563E; }
      .cp_Form__formHolder form .mktoLabel,
      .cp_Form__formHolder form .mktoOffset {
        display: none; }
  .cp_Form__title {
    margin-bottom: 1em;
    padding: 0 !important; }

/* !== Breakpoint */
/* If media queries are supported... */
@media screen and (max-width: 45em) {
  .cp_Form__intro, .cp_Form__formHolder {
    flex: 0 0 100%; }
  .cp_Form__intro {
    padding-right: 0;
    padding-bottom: 1.25em; }
  .cp_Form__formHolder {
    margin-top: 0;
    width: 100%; }
    .cp_Form__formHolder form {
      margin: 26px auto !important;
      padding: 20px; }
      .cp_Form__formHolder form:before, .cp_Form__formHolder form:after {
        border-bottom: 26px solid #fff;
        border-left: 40px solid transparent; }
      .cp_Form__formHolder form:before {
        top: -26px; }
      .cp_Form__formHolder form:after {
        bottom: -26px; }
  .cp_Form__form {
    max-width: 30em;
    margin: 56px auto !important; } }

/* != Panorama Image component */
.cp_Panorama {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  position: relative; }
  .cp_Panorama__imageHolder {
    width: 100%;
    height: 100%;
    overflow: hidden;
    line-height: 0;
    padding: 0;
    position: relative;
    transition: box-shadow 0.3s ease-in-out, transform 0.3s ease-in-out;
    /* Extend Grid */
    /*justify-content:center;
    align-items:center;*/ }
    .cp_Panorama__imageHolder--portrait {
      max-height: 80vh; }
    .cp_Panorama__imageHolder.is_Zoomed {
      max-width: none; }
  .cp_Panorama__image {
    /*position: absolute;
    top: 0;
    left: 0;*/ }
  .cp_Panorama__toggle {
    position: absolute;
    top: 15px;
    right: 15px;
    z-index: 110;
    transition: all 0.3s ease-in-out; }
  .cp_Panorama__toggleExpand {
    display: block; }
  .cp_Panorama__toggleContract {
    display: none; }
  .cp_Panorama.is_NotZoomed .cp_Panorama__image {
    max-width: 100%;
    height: auto !important;
    transform: none !important; }
  .cp_Panorama.is_Zoomed .cp_Panorama__imageHolder {
    background: #fff;
    z-index: 100;
    transform: scale(1.05);
    box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.1), 0 5px 30px rgba(0, 0, 0, 0.2); }
  .cp_Panorama.is_Zoomed .cp_Panorama__image {
    max-width: none !important;
    position: absolute;
    top: 0;
    left: 0;
    cursor: all-scroll;
    transition: all 0.3s ease-out; }
  .cp_Panorama.is_Zoomed .cp_Panorama__toggle {
    top: 5px;
    right: 5px; }

.cp_FooterMenus__group {
  flex: 0 0 20%;
  padding: 0 0.625em; }

.cp_FooterMenus__cat {
  padding-top: 1.25em; }

.cp_FooterMenus__groupLink {
  color: #fff;
  text-decoration: none;
  cursor: default; }

.cp_FooterMenus__groupTitle, .cp_FooterMenus__menuItem {
  font-size: 0.875em;
  font-weight: 500; }

.cp_FooterMenus__groupTitle {
  color: #fff;
  text-transform: uppercase;
  letter-spacing: 0.1428571429em;
  line-height: 1.2;
  margin: 0 0 0.5714285714em; }

.cp_FooterMenus__menuItem {
  margin: 0 0 0.4285714286em; }

.cp_FooterMenus__itemLink {
  color: #53a5ce;
  text-decoration: none; }
  .cp_FooterMenus__itemLink:hover, .cp_FooterMenus__itemLink:focus, .cp_FooterMenus__itemLink:active {
    color: #a2cfe5; }

/* !== Breakpoint */
/* If media queries are supported... */
@media screen and (max-width: 56.25em) {
  .cp_FooterMenus__group {
    flex: 0 0 33.333%; } }

/* !== Breakpoint */
/* If media queries are supported... */
@media screen and (max-width: 45em) {
  .cp_FooterMenus__group {
    flex: 0 0 50%; } }

/* !== Breakpoint */
/* If media queries are supported... */
@media screen and (max-width: 30em) {
  .cp_FooterMenus__group {
    flex: 0 0 100%; }
  .cp_FooterMenus__groupLink {
    display: inline-block;
    padding-right: 15px;
    background: url(../img/chevron_down_white.svg) center right no-repeat;
    cursor: pointer; }
  .cp_FooterMenus__cat.is_Closed .cp_FooterMenus__menu {
    display: none; } }

.cp_Copyright {
  color: #fff;
  font-size: 0.875em;
  padding: 0 0 0 2.1428571429em; }

/* !== Breakpoint */
/* If media queries are supported... */
@media screen and (max-width: 45em) {
  .cp_Copyright {
    flex: 0 0 100%;
    order: 2;
    padding: 1.25em 0 0 0.7142857143em; } }

.cp_LegalNav {
  padding-left: 0.625em; }
  .cp_LegalNav__item {
    font-size: 0.875em;
    font-weight: 500;
    border-left: 1px solid #fff; }
  .cp_LegalNav__itemLink {
    color: #53a5ce;
    text-decoration: none;
    padding: 0.3571428571em 0.8571428571em; }
    .cp_LegalNav__itemLink:hover, .cp_LegalNav__itemLink:focus, .cp_LegalNav__itemLink:active {
      color: #a2cfe5; }

/* !== Breakpoint */
/* If media queries are supported... */
@media screen and (max-width: 45em) {
  .cp_LegalNav__item:first-child {
    border: none; }
    .cp_LegalNav__item:first-child .cp_LegalNav__itemLink {
      padding-left: 0; } }

.cp_InfoGroup {
  max-width: 71.25em;
  padding: 0 1.25em 3.125em;
  margin: 0 auto; }
  .cp_InfoGroup--last {
    padding: 1.5625em 1.25em 0; }
  .cp_InfoGroup--middle {
    padding: 1.5625em 1.25em; }
  .cp_InfoGroup__inner {
    background: #043B5B url(../img/background_crosses.svg) center calc(100% - 35px) repeat-x;
    color: #fff;
    position: relative; }
  .cp_InfoGroup__panel {
    display: none; }
    .cp_InfoGroup__panel.current, .cp_InfoGroup__panel--single {
      display: block; }
  .cp_InfoGroup__tabs {
    flex: 1 1 0; }
  .cp_InfoGroup__advance, .cp_InfoGroup__tabLink {
    color: #fff;
    flex: 1 1 0; }
  .cp_InfoGroup__tabLink {
    padding: 25px 15px 15px;
    font-weight: 700;
    text-decoration: none;
    text-align: center;
    border-bottom: 10px solid transparent; }
    .cp_InfoGroup__tabLink.current {
      border-color: #00A3E0; }
  .cp_InfoGroup__advance {
    display: none; }

/* !== Breakpoint */
/* If media queries are supported... */
@media screen and (max-width: 40em) {
  .cp_InfoGroup {
    padding: 0 1.25em 7.8125vw; } }

.cp_InfoGraphic__intro {
  padding: 2.5em; }

.cp_InfoGraphic__introText {
  flex: 0 0 40%;
  padding-right: 1.25em; }

.cp_InfoGraphic__introMenuContainer {
  flex: 0 0 60%;
  padding: 0.625em 0 1.875em 1.25em; }

.cp_InfoGraphic__title {
  color: #fff;
  padding-bottom: 1.0714285714em;
  margin-bottom: 1.0714285714em; }
  .cp_InfoGraphic__title:after {
    width: 60px;
    height: 1px;
    background: #fff;
    bottom: 0;
    left: 0; }

.cp_InfoGraphic__image {
  text-align: center;
  padding: 1.25em 1.25em 3.125em;
  position: relative; }
  .cp_InfoGraphic__image--plane {
    margin-top: -130px; }
  .cp_InfoGraphic__image--aircraftAssembly {
    margin-top: -50px; }
  .cp_InfoGraphic__image--uav {
    margin-top: -50px; }
  .cp_InfoGraphic__image--factory {
    margin-top: -50px; }

.cp_InfoGraphic__frame {
  position: relative;
  display: inline-block;
  margin: 0 auto; }

.cp_InfoGraphic__hotspot {
  position: absolute;
  width: 40px;
  height: 40px;
  display: block;
  opacity: 0;
  transform: translate(-50%, -50%);
  transition: opacity 0.3s ease-in-out;
  z-index: 10; }
  .cp_InfoGraphic__hotspot:hover, .cp_InfoGraphic__hotspot.current {
    opacity: 1;
    z-index: 30; }
    .cp_InfoGraphic__hotspot:hover .cp_InfoGraphic__hotspotMarker, .cp_InfoGraphic__hotspot.current .cp_InfoGraphic__hotspotMarker {
      animation: hotspotPulseBase 1.2s infinite; }

.cp_InfoGraphic__hotspotMarker {
  position: absolute;
  width: 100%;
  height: 100%;
  background: #E84D1C;
  display: block;
  border-radius: 50%;
  transition: opacity 0.1s ease-in-out;
  text-decoration: none;
  color: #fff;
  font-weight: 700;
  line-height: 1;
  z-index: 20; }

.cp_InfoGraphic__hotspotLabel {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, 10px);
  display: block;
  font-size: 12px;
  text-align: center;
  padding: 20px 5px 5px;
  border-radius: 3px;
  color: #fff;
  min-width: 100px;
  line-height: 1.1; }

.cp_InfoGraphic__cards {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: none;
  z-index: 50;
  padding: 1.25em;
  justify-content: center;
  align-items: center; }

.cp_InfoGraphic__cardDeck {
  position: relative; }

.cp_InfoGraphic__card {
  display: none;
  width: 350px;
  max-width: calc(100vw - 60px);
  background: #fff;
  border-radius: 10px;
  padding: 1.25em;
  color: #373737; }
  .cp_InfoGraphic__card.is_Current {
    display: block; }
  .cp_InfoGraphic__card--large {
    width: 745px;
    padding: 0;
    text-align: center; }
    .cp_InfoGraphic__card--large .cp_InfoGraphic__cardTitle {
      font-size: 1.5em; }
    .cp_InfoGraphic__card--large .cp_InfoGraphic__cardText {
      font-weight: 300; }

.cp_InfoGraphic__cardMain {
  padding: 2.8125em 1.25em 1.25em; }

.cp_InfoGraphic__cardImage {
  line-height: 0; }
  .cp_InfoGraphic__cardImage img {
    margin-bottom: 0.9375em; }

.cp_InfoGraphic__cardTitle {
  padding-right: 40px; }

.cp_InfoGraphic__cardInfo {
  margin-top: 0.625em; }

.cp_InfoGraphic__cardText {
  margin: 1em auto;
  font-size: 0.875em;
  max-width: 34.0625em; }
  .cp_InfoGraphic__cardText strong {
    font-weight: 700; }
  .cp_InfoGraphic__cardText em {
    font-style: italic; }

.cp_InfoGraphic__cardInfoLabel, .cp_InfoGraphic__cardInfoFact {
  font-size: 1em;
  margin-top: 0.625em; }

.cp_InfoGraphic__cardInfoLabel {
  flex: 0 0 40%; }

.cp_InfoGraphic__cardInfoFact {
  font-weight: 700;
  flex: 0 0 60%; }

.cp_InfoGraphic__cardExtra {
  background: #E8F9FF;
  border-radius: 0 0 10px 10px;
  padding: 1.5625em 1.5625em 0.3125em;
  text-align: left; }

.cp_InfoGraphic__extraItem {
  padding: 0 0.9375em 1.5625em;
  flex: 0 0 50%; }

.cp_InfoGraphic__extraTitle, .cp_InfoGraphic__extraText {
  font-size: 0.875rem;
  color: #003B5C; }

.cp_InfoGraphic__extraTitle {
  font-weight: 700; }

.cp_InfoGraphic__extraText {
  font-weight: 300; }

.cp_InfoGraphic__extraLink {
  font-size: 0.875rem; }

.cp_InfoGraphic__close {
  width: 40px;
  height: 40px;
  text-indent: -9999px;
  position: absolute;
  top: 10px;
  right: 10px;
  z-index: 100;
  line-height: 0;
  border-radius: 6px;
  transition: background-color 0.1s ease-in-out; }
  .cp_InfoGraphic__close:before, .cp_InfoGraphic__close:after {
    width: 26px;
    height: 2px;
    background: #203244;
    top: calc(50% - 1px);
    left: calc(50% - 13px); }
  .cp_InfoGraphic__close:before {
    transform: rotate(-45deg); }
  .cp_InfoGraphic__close:after {
    transform: rotate(45deg); }
  .cp_InfoGraphic__close:hover, .cp_InfoGraphic__close:focus, .cp_InfoGraphic__close:active {
    background-color: rgba(32, 50, 68, 0.1); }

.cp_InfoGraphic__introMenu {
  align-items: stretch; }

.cp_InfoGraphic__menuItemLink {
  flex: 0 0 100%;
  padding: 8px 10px;
  text-decoration: none;
  border-bottom: 1px dotted #E84D1C;
  color: #fff;
  display: block;
  transition: background 0.1s ease-in-out; }
  .cp_InfoGraphic__menuItemLink:hover, .cp_InfoGraphic__menuItemLink.current {
    background: #E84D1C; }

.cp_InfoGraphic__menuItem {
  font-size: 1em;
  flex: 0 0 50%;
  display: flex;
  align-items: stretch; }
  .cp_InfoGraphic__menuItem:nth-child(2n+1) {
    padding-right: 15px; }
  .cp_InfoGraphic__menuItem:nth-child(2n) {
    padding-left: 15px; }
  .cp_InfoGraphic__menuItem:nth-child(-n+2) .cp_InfoGraphic__menuItemLink {
    border-top: 1px dotted #E84D1C; }

.cp_InfoGraphic.is_Active .cp_InfoGraphic__cards {
  display: flex;
  background: rgba(4, 59, 91, 0.8); }

.cp_InfoGraphic__instructions--mobile {
  display: none; }

@keyframes hotspotPulseBase {
  0% {
    box-shadow: 0 0 0 3px #043b5b, 0 0 0 4px rgba(232, 77, 28, 0), 0 0 5px rgba(232, 77, 28, 0); }
  30% {
    box-shadow: 0 0 0 3px #043b5b, 0 0 0 5px #e84d1c, 0 0 7px rgba(232, 77, 28, 0); }
  100% {
    box-shadow: 0 0 0 3px #043b5b, 0 0 0 8px rgba(232, 77, 28, 0), 0 0 10px rgba(232, 77, 28, 0.8); } }

/* !== Breakpoint */
/* If media queries are supported... */
@media screen and (max-width: 56.25em) {
  .cp_InfoGraphic__introText, .cp_InfoGraphic__introMenuContainer {
    flex: 0 0 100%; }
  .cp_InfoGraphic__introMenuContainer {
    padding: 1.875em 0 0; }
  .cp_InfoGraphic__image--aircraftAssembly {
    margin-top: 0; } }

/* !== Breakpoint */
/* If media queries are supported... */
@media screen and (max-width: 50em) {
  .cp_InfoGraphic__extraItem {
    padding: 0 0.9375em 1.5625em;
    flex: 0 0 50%; } }

/* !== Breakpoint */
/* If media queries are supported... */
@media screen and (max-width: 45em) {
  .cp_InfoGraphic__introMenu {
    display: none !important; }
  .cp_InfoGraphic__image {
    margin-top: 0; }
    .cp_InfoGraphic__image--plane {
      margin-top: -30px; }
  .cp_InfoGraphic__cards {
    position: static;
    display: block;
    padding: 0 20px 30px;
    width: 100%; }
  .cp_InfoGraphic__cardDeck {
    display: flex;
    align-items: flex-start;
    overflow: scroll;
    -webkit-overflow-scrolling: touch;
    scroll-snap-type: x mandatory; }
  .cp_InfoGraphic__card {
    display: block;
    flex: 0 0 calc(100% - 10px);
    max-width: calc(100% - 10px);
    margin: 0 5px;
    border: 0 solid transparent;
    scroll-snap-align: center;
    scroll-snap-stop: always; }
  .cp_InfoGraphic__cardExtra {
    padding: 0.9375em; }
  .cp_InfoGraphic__close {
    display: none; }
  .cp_InfoGraphic__hotspotLabel {
    display: none; }
  .cp_InfoGraphic__instructions--mobile {
    display: block; }
  .cp_InfoGraphic__instructions--desktop {
    display: none; } }

/* !== Breakpoint */
/* If media queries are supported... */
@media screen and (max-width: 40em) {
  .cp_InfoGraphic__extraItem {
    flex: 0 0 100%; }
    .cp_InfoGraphic__extraItem:last-child {
      margin-bottom: 0; } }

.cp_Showcase {
  max-width: 71.25em;
  padding: 0 1.25em;
  margin: 0 auto 1.5625em; }
  .cp_Showcase--single {
    margin: 1.5625em auto; }
  .cp_Showcase--last {
    margin-bottom: 0; }
  .cp_Showcase__inner {
    background: linear-gradient(90deg, #004067 0%, #0072a7 50%, #0096d1 100%);
    color: #fff;
    justify-content: center; }
  .cp_Showcase__details {
    flex: 0 0 50%;
    align-self: flex-start; }
  .cp_Showcase__title {
    padding-bottom: 1.0714285714em;
    margin-bottom: 1.0714285714em;
    color: #fff; }
    .cp_Showcase__title:after {
      width: 60px;
      height: 1px;
      background: #fff;
      bottom: 0;
      left: 0; }
  .cp_Showcase__image {
    flex: 0 0 50%;
    line-height: 0;
    align-self: flex-end;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    padding: 2.5em 1.25em 0; }

/* !== Breakpoint */
/* If media queries are supported... */
@media screen and (max-width: 40em) {
  .cp_Showcase__inner {
    display: block; }
  .cp_Showcase__details {
    margin: 0 auto; }
  .cp_Showcase__image {
    padding-top: 0; } }
