@charset "UTF-8";
/*
================================
  SITE SETTINGS
================================
*/
/*
150
300
450
600
750
900
1050
1200
1350
1500
1650
*/
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 */
  /* 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; }

/* 
 *  Owl Carousel - Animate Plugin
 */
.owl-carousel .animated {
  -webkit-animation-duration: 1000ms;
  animation-duration: 1000ms;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both; }

.owl-carousel .owl-animated-in {
  z-index: 0; }

.owl-carousel .owl-animated-out {
  z-index: 1; }

.owl-carousel .fadeOut {
  -webkit-animation-name: fadeOut;
  animation-name: fadeOut; }

@-webkit-keyframes fadeOut {
  0% {
    opacity: 1; }
  100% {
    opacity: 0; } }

@keyframes fadeOut {
  0% {
    opacity: 1; }
  100% {
    opacity: 0; } }

/* 
 * 	Owl Carousel - Auto Height Plugin
 */
.owl-height {
  transition: height 500ms ease-in-out; }

/* 
 *  Core Owl Carousel CSS File
 */
.owl-carousel {
  display: none;
  width: 100%;
  -webkit-tap-highlight-color: transparent;
  /* position relative and z-index fix webkit rendering fonts issue */
  position: relative;
  z-index: 1; }

.owl-carousel .owl-stage {
  position: relative;
  -ms-touch-action: pan-Y; }

.owl-carousel .owl-stage:after {
  content: ".";
  display: block;
  clear: both;
  visibility: hidden;
  line-height: 0;
  height: 0; }

.owl-carousel .owl-stage-outer {
  position: relative;
  overflow: hidden;
  /* fix for flashing background */
  -webkit-transform: translate3d(0px, 0px, 0px); }

.owl-carousel .owl-controls .owl-nav .owl-prev,
.owl-carousel .owl-controls .owl-nav .owl-next,
.owl-carousel .owl-controls .owl-dot {
  cursor: pointer;
  cursor: hand;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none; }

.owl-carousel.owl-loaded {
  display: block; }

.owl-carousel.owl-loading {
  opacity: 0;
  display: block; }

.owl-carousel.owl-hidden {
  opacity: 0; }

.owl-carousel .owl-refresh .owl-item {
  display: none; }

.owl-carousel .owl-item {
  position: relative;
  min-height: 1px;
  float: left;
  -webkit-backface-visibility: hidden;
  -webkit-tap-highlight-color: transparent;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none; }

.owl-carousel .owl-item img {
  display: block;
  width: 100%;
  -webkit-transform-style: preserve-3d; }

.owl-carousel.owl-text-select-on .owl-item {
  -webkit-user-select: auto;
  -moz-user-select: auto;
  -ms-user-select: auto;
  user-select: auto; }

.owl-carousel .owl-grab {
  cursor: move;
  cursor: -webkit-grab;
  cursor: -o-grab;
  cursor: -ms-grab;
  cursor: grab; }

.owl-carousel.owl-rtl {
  direction: rtl; }

.owl-carousel.owl-rtl .owl-item {
  float: right; }

/* No Js */
.no-js .owl-carousel {
  display: block; }

/* 
 * 	Owl Carousel - Lazy Load Plugin
 */
.owl-carousel .owl-item .owl-lazy {
  opacity: 0;
  transition: opacity 400ms ease; }

.owl-carousel .owl-item img {
  -webkit-transform-style: preserve-3d;
          transform-style: preserve-3d; }

/* 
 * 	Owl Carousel - Video Plugin
 */
.owl-carousel .owl-video-wrapper {
  position: relative;
  height: 100%;
  background: #000; }

.owl-carousel .owl-video-play-icon {
  position: absolute;
  height: 80px;
  width: 80px;
  left: 50%;
  top: 50%;
  margin-left: -40px;
  margin-top: -40px;
  background: url("owl.video.play.png") no-repeat;
  cursor: pointer;
  z-index: 1;
  -webkit-backface-visibility: hidden;
  transition: scale 100ms ease; }

.owl-carousel .owl-video-play-icon:hover {
  transition: scale(1.3, 1.3); }

.owl-carousel .owl-video-playing .owl-video-tn,
.owl-carousel .owl-video-playing .owl-video-play-icon {
  display: none; }

.owl-carousel .owl-video-tn {
  opacity: 0;
  height: 100%;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
  transition: opacity 400ms ease; }

.owl-carousel .owl-video-frame {
  position: relative;
  z-index: 1; }

/* MIXINS
------------------------------------------------------------------ */
/* TYPEFACES
------------------------------------------------------------------
  Unique declarations for each font – gives legacy support for IE8
------------------------------------------------------------------ */
body, .required {
  font-family: "ubuntu-n4", "ubuntu" ,sans-serif;
  font-style: normal;
  font-weight: 400; }

.content-region .enlargedred, .content-region .enlarged {
  font-family: ubuntu, sans-serif;
  font-weight: 300;
  font-style: normal; }

.team-title, .content-region figure figcaption, .content-region > blockquote > p, em,
i {
  font-family: "ubuntu-i4", "ubuntu" ,sans-serif;
  font-style: italic;
  font-weight: 400; }

.read-bio, .owl-theme .owl-nav [class*='owl-'], .icon-large--text, .post-snippet .post-snippet--title, .snippets--products > h3, .js-accordion-wrap.on-desktop > li > a {
  font-family: "ubuntu-n5", "ubuntu" ,sans-serif;
  font-style: normal;
  font-weight: 500; }

.team-name, .carousel-item--date, .content-region > blockquote > small, .content-region h4, .content-region h5, .content-region h6, .related-snippet--button, .post-snippet .post-snippet--date, [class*="product-snippet--"] span, .pagination > ul > li > a, strong,
b {
  font-family: "ubuntu-n7", "ubuntu" ,sans-serif;
  font-style: normal;
  font-weight: 700; }

[class*="image-list--"] > h2, .carousel-item--title, .timeline-wrap h2, .grid-item h3, .list--overview h3, .icon-list--small h2, .banner--title, .download-datasheet h2, .call-to-action h2, .content-region h1, .content-region h2, .content-region h3, .related-snippet--title, .snippets--news > h2, .snippets--products > h2, .footer--contact .contact-title, .footer--quicklinks .quicklinks-list > li > a, .page-title--heading h1, .js-accordion-trigger,
.js-accordion-wrap.on-mobile > li > a, .section-title, .mobile-menu > ul > li > a, .products-list--button, .page-title--button.linkedin-button a, .download-datasheet .download-btn, .cta-button, .page-title--button:not(.linkedin-button) a, [type="submit"], .banner-button {
  transition: opacity 0.1s linear;
  -webkit-font-smoothing: antialiased;
  font-family: "bebas-neue",sans-serif;
  letter-spacing: 0.5px;
  font-style: normal;
  line-height: 1.618034em;
  font-weight: 400; }
  .wf-loading [class*="image-list--"] > h2, .wf-loading .carousel-item--title, .wf-loading .timeline-wrap h2, .timeline-wrap .wf-loading h2, .wf-loading .grid-item h3, .grid-item .wf-loading h3, .wf-loading .list--overview h3, .list--overview .wf-loading h3, .wf-loading .icon-list--small h2, .icon-list--small .wf-loading h2, .wf-loading .banner--title, .wf-loading .download-datasheet h2, .download-datasheet .wf-loading h2, .wf-loading .call-to-action h2, .call-to-action .wf-loading h2, .wf-loading .content-region h1, .content-region .wf-loading h1, .wf-loading .content-region h2, .content-region .wf-loading h2, .wf-loading .content-region h3, .content-region .wf-loading h3, .wf-loading .related-snippet--title, .wf-loading .snippets--news > h2, .wf-loading .snippets--products > h2, .wf-loading .footer--contact .contact-title, .footer--contact .wf-loading .contact-title, .wf-loading .footer--quicklinks .quicklinks-list > li > a, .footer--quicklinks .wf-loading .quicklinks-list > li > a, .wf-loading .page-title--heading h1, .page-title--heading .wf-loading h1, .wf-loading .js-accordion-trigger,
  .wf-loading .js-accordion-wrap.on-mobile > li > a, .wf-loading .section-title, .wf-loading .mobile-menu > ul > li > a, .wf-loading .products-list--button, .wf-loading .page-title--button.linkedin-button a, .page-title--button.linkedin-button .wf-loading a, .wf-loading .download-datasheet .download-btn, .download-datasheet .wf-loading .download-btn, .wf-loading .cta-button, .wf-loading .page-title--button:not(.linkedin-button) a, .page-title--button:not(.linkedin-button) .wf-loading a, .wf-loading [type="submit"], .wf-loading .banner-button {
    opacity: 0;
    filter: alpha(opacity=0); }
  .wf-inactive [class*="image-list--"] > h2, .wf-inactive .carousel-item--title, .wf-inactive .timeline-wrap h2, .timeline-wrap .wf-inactive h2, .wf-inactive .grid-item h3, .grid-item .wf-inactive h3, .wf-inactive .list--overview h3, .list--overview .wf-inactive h3, .wf-inactive .icon-list--small h2, .icon-list--small .wf-inactive h2, .wf-inactive .banner--title, .wf-inactive .download-datasheet h2, .download-datasheet .wf-inactive h2, .wf-inactive .call-to-action h2, .call-to-action .wf-inactive h2, .wf-inactive .content-region h1, .content-region .wf-inactive h1, .wf-inactive .content-region h2, .content-region .wf-inactive h2, .wf-inactive .content-region h3, .content-region .wf-inactive h3, .wf-inactive .related-snippet--title, .wf-inactive .snippets--news > h2, .wf-inactive .snippets--products > h2, .wf-inactive .footer--contact .contact-title, .footer--contact .wf-inactive .contact-title, .wf-inactive .footer--quicklinks .quicklinks-list > li > a, .footer--quicklinks .wf-inactive .quicklinks-list > li > a, .wf-inactive .page-title--heading h1, .page-title--heading .wf-inactive h1, .wf-inactive .js-accordion-trigger,
  .wf-inactive .js-accordion-wrap.on-mobile > li > a, .wf-inactive .section-title, .wf-inactive .mobile-menu > ul > li > a, .wf-inactive .products-list--button, .wf-inactive .page-title--button.linkedin-button a, .page-title--button.linkedin-button .wf-inactive a, .wf-inactive .download-datasheet .download-btn, .download-datasheet .wf-inactive .download-btn, .wf-inactive .cta-button, .wf-inactive .page-title--button:not(.linkedin-button) a, .page-title--button:not(.linkedin-button) .wf-inactive a, .wf-inactive [type="submit"], .wf-inactive .banner-button {
    text-transform: uppercase;
    font-family: sans-serif;
    font-weight: bold;
    font-size: larger; }

/* PRIMARY COLOUR SCHEME
------------------------------------------------------------------ */
/* SECONDARY COLOUR SCHEME
------------------------------------------------------------------ */
/* SOCIAL COLOURS
------------------------------------------------------------------ */
/* BASE VARIABLES
------------------------------------------------------------------ */
/* EXTENDS
------------------------------------------------------------------ */
.red-bg, .vertical-nav {
  background-color: #d01e3c;
  background-image: linear-gradient(#d01e3c, #c31130); }

.icon-small--wrap img, .icon-large--img {
  border-radius: 50%; }

.icon-small--wrap img, .icon-large--img, [class*="product-snippet--"] img, .horizontal-navbar .navbar-wrap img, img {
  max-width: 100%;
  display: block;
  height: auto; }

#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; }

/* BUTTONS
-------------------------------------------------------
  Sitewide buttons
------------------------------------------------------- */
.products-list--button, .page-title--button.linkedin-button a, .download-datasheet .download-btn, .cta-button, .page-title--button:not(.linkedin-button) a, [type="submit"], .banner-button {
  transition: all 0.2s ease;
  font-size: 1.618034em;
  text-overflow: ellipsis;
  text-decoration: none;
  display: inline-block;
  white-space: nowrap;
  text-align: center;
  border-radius: 3em;
  line-height: 44px;
  overflow: hidden;
  padding: 0 1em;
  height: 48px;
  width: auto; }
  .products-list--button:active, .page-title--button.linkedin-button a:active, .download-datasheet .download-btn:active, .cta-button:active, .page-title--button:not(.linkedin-button) a:active, [type="submit"]:active, .banner-button:active {
    position: relative;
    top: 2px; }

.banner-button {
  box-shadow: inset 0 -1px 2px rgba(47, 39, 34, 0.25), inset 0 1px 2px rgba(255, 255, 255, 0.15), 0 0 1px 1px rgba(255, 255, 255, 0.2), 0 5px 10px rgba(47, 39, 34, 0.25);
  border: 2px solid #4a3d35;
  text-shadow: 0 2px 2px rgba(47, 39, 34, 0.25);
  background-color: #5b4d45;
  color: #FFFFFF; }
  .banner-button:hover, .banner-button:focus {
    background-color: #4a3d35; }

.download-datasheet .download-btn, .cta-button, .page-title--button:not(.linkedin-button) a, [type="submit"] {
  box-shadow: inset 0 -1px 2px rgba(47, 39, 34, 0.25), inset 0 1px 2px rgba(255, 255, 255, 0.15), 0 0 1px 1px rgba(255, 255, 255, 0.2), 0 5px 10px rgba(47, 39, 34, 0.25);
  border: 2px solid #b9102d;
  text-shadow: 0 2px 2px rgba(47, 39, 34, 0.25);
  background-color: #d01e3c;
  color: #FFFFFF; }
  .download-datasheet .download-btn:hover, .cta-button:hover, .page-title--button:not(.linkedin-button) a:hover, [type="submit"]:hover, .download-datasheet .download-btn:focus, .cta-button:focus, .page-title--button:not(.linkedin-button) a:focus, [type="submit"]:focus {
    background-color: #b9102d; }

.page-title--button.linkedin-button a {
  box-shadow: inset 0 -1px 2px rgba(47, 39, 34, 0.25), inset 0 1px 2px rgba(255, 255, 255, 0.15), 0 0 1px 1px rgba(255, 255, 255, 0.2), 0 5px 10px rgba(47, 39, 34, 0.25);
  border: 2px solid #006fa3;
  text-shadow: 0 2px 2px rgba(47, 39, 34, 0.25);
  background-color: #0d82b9;
  color: #FFFFFF; }
  .page-title--button.linkedin-button a:hover, .page-title--button.linkedin-button a:focus {
    background-color: #006fa3; }

.products-list--button {
  text-shadow: 1px 1px 1px #FFFFFF;
  box-shadow: 0 0.6180339845em 2.6180340252em rgba(47, 39, 34, 0.05);
  border: 2px solid #eae7e5;
  background-color: #FFFFFF;
  color: #69574c; }
  .products-list--button:hover, .products-list--button:focus {
    border-color: #CD1232;
    color: #CD1232; }

/*
%green-btn {
  @include button($green);
}

%orange-btn {
  @include button($orange);
}

%navy-btn {
  @include button($navy);
}

%purple-btn {
  @include button($purple);
}

%teal-btn {
  @include button($teal);
}

%blue-btn {
  @include button($blue);
}
*/
[class$="-icon"] {
  overflow: hidden;
  text-indent: 101%;
  white-space: nowrap;
  display: block;
  height: 50px;
  width: 50px; }

form#contactForm {
  box-shadow: 0 0.6180339845em 2.6180340252em rgba(47, 39, 34, 0.05);
  border: 1px solid #ddd7d4;
  background-color: #eae7e5;
  margin-bottom: 1.25em;
  padding: 1em; }
  @media screen and (min-width: 1050px) {
    form#contactForm {
      margin-bottom: 1.875em; } }
  @media screen and (min-width: 600px) {
    form#contactForm {
      padding: 1.618034em; } }
fieldset {
  background-color: transparent;
  border: 0;
  margin: 0;
  padding: 0; }

legend {
  font-weight: 600;
  margin-bottom: 0.375em;
  padding: 0; }

label {
  display: block;
  font-weight: 600;
  margin-bottom: 0.375em; }

input,
select,
textarea {
  display: block;
  font-family: "ubuntu-n4", "ubuntu", sans-serif;
  font-size: 1em;
  max-width: 42em; }

input[type="color"], input[type="date"], input[type="datetime"], input[type="datetime-local"], input[type="email"], input[type="month"], input[type="number"], input[type="password"], input[type="search"], input[type="tel"], input[type="text"], input[type="time"], input[type="url"], input[type="week"], input:not([type]), textarea {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background-color: #fff;
  border: 1px solid #ddd7d4;
  border-radius: 3px;
  box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.06);
  box-sizing: border-box;
  margin-bottom: 0.75em;
  padding: 0.5em;
  transition: border-color 150ms ease;
  width: 100%; }
  input[type="color"]:hover, input[type="date"]:hover, input[type="datetime"]:hover, input[type="datetime-local"]:hover, input[type="email"]:hover, input[type="month"]:hover, input[type="number"]:hover, input[type="password"]:hover, input[type="search"]:hover, input[type="tel"]:hover, input[type="text"]:hover, input[type="time"]:hover, input[type="url"]:hover, input[type="week"]:hover, input:not([type]):hover, textarea:hover {
    border-color: #b1acaa; }
  input[type="color"]:focus, input[type="date"]:focus, input[type="datetime"]:focus, input[type="datetime-local"]:focus, input[type="email"]:focus, input[type="month"]:focus, input[type="number"]:focus, input[type="password"]:focus, input[type="search"]:focus, input[type="tel"]:focus, input[type="text"]:focus, input[type="time"]:focus, input[type="url"]:focus, input[type="week"]:focus, input:not([type]):focus, textarea:focus {
    border-color: #CD1232;
    box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.06), 0 0 5px rgba(182, 16, 44, 0.7);
    outline: none; }
  input[type="color"]:disabled, input[type="date"]:disabled, input[type="datetime"]:disabled, input[type="datetime-local"]:disabled, input[type="email"]:disabled, input[type="month"]:disabled, input[type="number"]:disabled, input[type="password"]:disabled, input[type="search"]:disabled, input[type="tel"]:disabled, input[type="text"]:disabled, input[type="time"]:disabled, input[type="url"]:disabled, input[type="week"]:disabled, input:not([type]):disabled, textarea:disabled {
    background-color: #f2f2f2;
    cursor: not-allowed; }
    input[type="color"]:disabled:hover, input[type="date"]:disabled:hover, input[type="datetime"]:disabled:hover, input[type="datetime-local"]:disabled:hover, input[type="email"]:disabled:hover, input[type="month"]:disabled:hover, input[type="number"]:disabled:hover, input[type="password"]:disabled:hover, input[type="search"]:disabled:hover, input[type="tel"]:disabled:hover, input[type="text"]:disabled:hover, input[type="time"]:disabled:hover, input[type="url"]:disabled:hover, input[type="week"]:disabled:hover, input:not([type]):disabled:hover, textarea:disabled:hover {
      border: 1px solid #ddd7d4; }
  input[type="color"]::-webkit-input-placeholder, input[type="date"]::-webkit-input-placeholder, input[type="datetime"]::-webkit-input-placeholder, input[type="datetime-local"]::-webkit-input-placeholder, input[type="email"]::-webkit-input-placeholder, input[type="month"]::-webkit-input-placeholder, input[type="number"]::-webkit-input-placeholder, input[type="password"]::-webkit-input-placeholder, input[type="search"]::-webkit-input-placeholder, input[type="tel"]::-webkit-input-placeholder, input[type="text"]::-webkit-input-placeholder, input[type="time"]::-webkit-input-placeholder, input[type="url"]::-webkit-input-placeholder, input[type="week"]::-webkit-input-placeholder, input:not([type])::-webkit-input-placeholder, textarea::-webkit-input-placeholder {
    color: #aca098; }
  input[type="color"]::-moz-placeholder, input[type="date"]::-moz-placeholder, input[type="datetime"]::-moz-placeholder, input[type="datetime-local"]::-moz-placeholder, input[type="email"]::-moz-placeholder, input[type="month"]::-moz-placeholder, input[type="number"]::-moz-placeholder, input[type="password"]::-moz-placeholder, input[type="search"]::-moz-placeholder, input[type="tel"]::-moz-placeholder, input[type="text"]::-moz-placeholder, input[type="time"]::-moz-placeholder, input[type="url"]::-moz-placeholder, input[type="week"]::-moz-placeholder, input:not([type])::-moz-placeholder, textarea::-moz-placeholder {
    color: #aca098; }
  input[type="color"]:-ms-input-placeholder, input[type="date"]:-ms-input-placeholder, input[type="datetime"]:-ms-input-placeholder, input[type="datetime-local"]:-ms-input-placeholder, input[type="email"]:-ms-input-placeholder, input[type="month"]:-ms-input-placeholder, input[type="number"]:-ms-input-placeholder, input[type="password"]:-ms-input-placeholder, input[type="search"]:-ms-input-placeholder, input[type="tel"]:-ms-input-placeholder, input[type="text"]:-ms-input-placeholder, input[type="time"]:-ms-input-placeholder, input[type="url"]:-ms-input-placeholder, input[type="week"]:-ms-input-placeholder, input:not([type]):-ms-input-placeholder, textarea:-ms-input-placeholder {
    color: #aca098; }
  input[type="color"]::placeholder, input[type="date"]::placeholder, input[type="datetime"]::placeholder, input[type="datetime-local"]::placeholder, input[type="email"]::placeholder, input[type="month"]::placeholder, input[type="number"]::placeholder, input[type="password"]::placeholder, input[type="search"]::placeholder, input[type="tel"]::placeholder, input[type="text"]::placeholder, input[type="time"]::placeholder, input[type="url"]::placeholder, input[type="week"]::placeholder, input:not([type])::placeholder, textarea::placeholder {
    color: #aca098; }

textarea {
  resize: vertical; }

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

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

[type="submit"] {
  margin-top: 0.3819660059em; }

select {
  margin-bottom: 0.75em;
  width: 100%; }

.required {
  color: #CD1232; }

body {
  letter-spacing: 0.25px;
  line-height: 1.5;
  font-size: 100%;
  color: #69574c; }
  @media screen and (min-width: 825px) and (max-width: 1049px) {
    body .content-region {
      font-size: 106.25%; } }
  @media screen and (min-width: 1050px) and (max-width: 1199px) {
    body .content-region {
      font-size: 106.25%; } }
  @media screen and (min-width: 1200px) and (max-width: 1349px) {
    body .content-region {
      font-size: 106.25%; } }
  @media screen and (min-width: 1350px) {
    body .content-region {
      font-size: 106.25%; } }
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0; }

p {
  margin: 0 0 1em; }

a {
  color: inherit; }

hr {
  margin: 1.25em 0;
  display: block;
  border: none; }
  @media screen and (min-width: 1050px) {
    hr {
      margin: 1.875em 0; } }
h1 {
  font-size: 2.0113571875em; }
  @media (min-width: 30em) and (max-width: 80em) {
    h1 {
      font-size: calc( 2.0113571875em + 1.040400625 * ( ( 100vw - 30em) / 50 )); } }
  @media (min-width: 80em) {
    h1 {
      font-size: 3.0517578125em; } }
h2 {
  font-size: 1.74900625em; }
  @media (min-width: 30em) and (max-width: 80em) {
    h2 {
      font-size: calc( 1.74900625em + 0.6924 * ( ( 100vw - 30em) / 50 )); } }
  @media (min-width: 80em) {
    h2 {
      font-size: 2.44140625em; } }
h3 {
  font-size: 1.520875em; }
  @media (min-width: 30em) and (max-width: 80em) {
    h3 {
      font-size: calc( 1.520875em + 0.43225 * ( ( 100vw - 30em) / 50 )); } }
  @media (min-width: 80em) {
    h3 {
      font-size: 1.953125em; } }
h4 {
  font-size: 1.3225em; }
  @media (min-width: 30em) and (max-width: 80em) {
    h4 {
      font-size: calc( 1.3225em + 0.24 * ( ( 100vw - 30em) / 50 )); } }
  @media (min-width: 80em) {
    h4 {
      font-size: 1.5625em; } }
h5 {
  font-size: 1.15em; }
  @media (min-width: 30em) and (max-width: 80em) {
    h5 {
      font-size: calc( 1.15em + 0.1 * ( ( 100vw - 30em) / 50 )); } }
  @media (min-width: 80em) {
    h5 {
      font-size: 1.25em; } }
h6 {
  font-size: 1em;
  text-transform: uppercase;
  letter-spacing: 1px; }
  @media (min-width: 30em) and (max-width: 80em) {
    h6 {
      font-size: calc( 1em + 0 * ( ( 100vw - 30em) / 50 )); } }
  @media (min-width: 80em) {
    h6 {
      font-size: 1em; } }
/* PATTERN LIBRARY
--------------------------------------------------
  Remove from production.
-------------------------------------------------- */
.pattern-header {
  background-color: white;
  padding: 1.25em;
  margin: 5% 0; }
  .pattern-header:first-of-type {
    margin-top: 0; }

html,
body {
  min-height: 100%;
  height: 100%; }

body {
  /*
  &:before {
    @include ms-respond(font-size, -1);
    text-transform: uppercase;
    @extend %body-bold;
    display: block;
    padding: 1em;
    

    @include media($mobile-small) {
      background: yellow;
      content: 'Mobile - Small';
    }
    @include media($mobile-large) {
      background: aqua;
      content: 'Mobile - Large';   
    }
    @include media($tablet-small) {
      background: yellow;
      content: 'Tablet - Small';   
    }
    @include media($tablet-large) {
      background: aqua;
      content: 'Tablet - Large';    
    }
    @include media($desktop-small) {
      background: yellow;
      content: 'Desktop - Small';     
    }
    @include media($desktop-large) {
      background: aqua;
      content: 'Desktop - Large';    
    }
    @include media($cinema-up) {
      background: yellow;
      content: 'Cinema Display - XLarge';    
    }
  }
*/ }

.embed-wrapper {
  padding-bottom: 56.25%;
  position: relative;
  display: block;
  height: 0; }
  .embed-wrapper iframe {
    position: absolute;
    display: block;
    height: 100%;
    width: 100%;
    bottom: 0;
    right: 0;
    left: 0;
    top: 0; }

/* GLOBAL MAIN
--------------------------------------------------
  Wraps main page content (including vertical nav)
-------------------------------------------------- */
@media screen and (min-width: 1050px) {
  .wrapper {
    position: absolute;
    overflow: hidden;
    height: 100vh;
    right: 0;
    left: 0; } }

.global-main {
  background-color: #f8f7f6;
  height: 100%; }

.vertical-nav {
  text-shadow: 1px 1px 1px rgba(47, 39, 34, 0.1);
  -webkit-font-smoothing: antialiased;
  border: 1px solid #c31130;
  color: #FFFFFF;
  z-index: 1; }
  .vertical-nav .vertical-inner {
    padding: 6%; }
    @media screen and (min-width: 600px) and (max-width: 1049px) {
      .vertical-nav .vertical-inner {
        padding: 5%; } }
    @media screen and (min-width: 1050px) and (max-width: 1349px) {
      .vertical-nav .vertical-inner {
        padding: 1.953125em; } }
    @media screen and (min-width: 1350px) {
      .vertical-nav .vertical-inner {
        padding: 2.44140625em; } }
  @media screen and (min-width: 1050px) and (max-width: 1349px) {
    .vertical-nav {
      width: 21em; } }
  @media screen and (min-width: 1350px) {
    .vertical-nav {
      width: 24.15em; } }
@media screen and (min-width: 1050px) {
  .no-flexbox .global-main {
    display: table;
    width: 100%; }
  .no-flexbox .vertical-nav,
  .no-flexbox .min-content {
    display: table-cell;
    vertical-align: top; }
  .no-flexbox .vertical-nav {
    max-width: 400px; }
  .no-flexbox .vertical-inner {
    position: fixed; } }

@media screen and (min-width: 1050px) and (max-width: 1349px) {
  .no-flexbox .vertical-inner {
    max-width: 21em; } }

@media screen and (min-width: 1350px) {
  .no-flexbox .vertical-inner {
    max-width: 24.15em; } }

@media screen and (min-width: 1050px) {
  .flexbox .global-main {
    -webkit-justify-content: flex-start;
            justify-content: flex-start;
    display: -webkit-flex;
    display: flex; }
  .flexbox .main-content {
    overflow-y: scroll;
    height: 100%;
    -webkit-flex: 1;
            flex: 1; } }

/* CONSTRAIN WIDTH
--------------------------------------------------
  Prevents content area measure getting too wide
-------------------------------------------------- */
.constrain-width {
  padding: 6%;
  max-width: 1050px;
  margin: 0 auto; }
  @media screen and (min-width: 600px) and (max-width: 1049px) {
    .constrain-width {
      padding: 5%; } }
  @media screen and (min-width: 1050px) and (max-width: 1349px) {
    .constrain-width {
      padding: 1.953125em; } }
  @media screen and (min-width: 1350px) {
    .constrain-width {
      padding: 2.44140625em; } }
  .constrain-width + .light-bg {
    border-top: 1px solid #eae7e5; }

/* BACKGROUND
--------------------------------------------------
  Common background styles
-------------------------------------------------- */
.brown-bg {
  background-color: #69574c;
  background-image: linear-gradient(#69574c, #756154, #69574c); }

.mid-bg {
  border-top: 1px solid #ddd7d4;
  background-color: #eae7e5; }

.light-bg {
  background-color: #FFFFFF;
  background-image: linear-gradient(#FFFFFF, #f8f7f6); }
  @media screen and (min-width: 1050px) {
    .light-bg {
      background-image: url("../media/m-brown-center@1x.png");
      background-position: 125% center;
      background-repeat: no-repeat;
      background-size: contain;
      /* 1.5 dpr */ } }
  @media screen and (min-width: 1050px) and (-webkit-min-device-pixel-ratio: 1.5), screen and (min-width: 1050px) and (min-resolution: 144dpi) {
    .light-bg {
      background-image: url("../media/m-brown-center@1.5x.png"); } }
  @media screen and (min-width: 1050px) and (-webkit-min-device-pixel-ratio: 2), screen and (min-width: 1050px) and (min-resolution: 192dpi) {
    .light-bg {
      background-image: url("../media/m-brown-center@2x.png"); } }
/* LAYOUTS
--------------------------------------------------
  Common grid layouts
-------------------------------------------------- */
[class$="-up"] {
  list-style: none;
  display: block; }
  [class$="-up"]::after {
    clear: both;
    content: "";
    display: block; }
  [class$="-up"] > li {
    margin-bottom: 2.90381%; }

@media screen and (min-width: 600px) and (max-width: 1049px) {
  .two-up > li {
    float: left;
    display: block;
    margin-right: 2.9038112523%;
    width: 48.5480943739%; }
    .two-up > li:last-child {
      margin-right: 0; }
    .two-up > li:nth-child(2n) {
      margin-right: 0; }
    .two-up > li:nth-child(2n+1) {
      clear: left; }
    .two-up > li:last-child, .two-up > li:nth-last-child(2) {
      margin-bottom: 0; } }

@media screen and (min-width: 1050px) and (max-width: 1349px) {
  .two-up > li {
    float: left;
    display: block;
    margin-right: 2.9038112523%;
    width: 48.5480943739%; }
    .two-up > li:last-child {
      margin-right: 0; }
    .two-up > li:nth-child(2n) {
      margin-right: 0; }
    .two-up > li:nth-child(2n+1) {
      clear: left; }
    .two-up > li:last-child, .two-up > li:nth-last-child(2) {
      margin-bottom: 0; } }

@media screen and (min-width: 1350px) {
  .two-up > li {
    float: left;
    display: block;
    margin-right: 2.9038112523%;
    width: 48.5480943739%; }
    .two-up > li:last-child {
      margin-right: 0; }
    .two-up > li:nth-child(2n) {
      margin-right: 0; }
    .two-up > li:nth-child(2n+1) {
      clear: left; }
    .two-up > li:last-child, .two-up > li:nth-last-child(2) {
      margin-bottom: 0; } }

@media screen and (min-width: 600px) and (max-width: 824px) {
  .three-up > li {
    float: left;
    display: block;
    margin-right: 2.9038112523%;
    width: 48.5480943739%; }
    .three-up > li:last-child {
      margin-right: 0; }
    .three-up > li:nth-child(2n) {
      margin-right: 0; }
    .three-up > li:nth-child(2n+1) {
      clear: left; } }

@media screen and (min-width: 1050px) and (max-width: 1199px) {
  .three-up > li {
    float: left;
    display: block;
    margin-right: 2.9038112523%;
    width: 48.5480943739%; }
    .three-up > li:last-child {
      margin-right: 0; }
    .three-up > li:nth-child(2n) {
      margin-right: 0; }
    .three-up > li:nth-child(2n+1) {
      clear: left; } }

@media screen and (min-width: 825px) and (max-width: 1049px) {
  .three-up > li {
    float: left;
    display: block;
    margin-right: 2.9038112523%;
    width: 31.3974591652%; }
    .three-up > li:last-child {
      margin-right: 0; }
    .three-up > li:nth-child(3n) {
      margin-right: 0; }
    .three-up > li:nth-child(3n+1) {
      clear: left; } }

@media screen and (min-width: 1200px) and (max-width: 1349px) {
  .three-up > li {
    float: left;
    display: block;
    margin-right: 2.9038112523%;
    width: 31.3974591652%; }
    .three-up > li:last-child {
      margin-right: 0; }
    .three-up > li:nth-child(3n) {
      margin-right: 0; }
    .three-up > li:nth-child(3n+1) {
      clear: left; } }

@media screen and (min-width: 1350px) {
  .three-up > li {
    float: left;
    display: block;
    margin-right: 2.9038112523%;
    width: 31.3974591652%; }
    .three-up > li:last-child {
      margin-right: 0; }
    .three-up > li:nth-child(3n) {
      margin-right: 0; }
    .three-up > li:nth-child(3n+1) {
      clear: left; } }

@media screen and (min-width: 1050px) and (max-width: 1199px) {
  .four-up > li {
    float: left;
    display: block;
    margin-right: 2.9038112523%;
    width: 48.5480943739%; }
    .four-up > li:last-child {
      margin-right: 0; }
    .four-up > li:nth-child(2n) {
      margin-right: 0; }
    .four-up > li:nth-child(2n+1) {
      clear: left; } }

@media screen and (min-width: 600px) and (max-width: 824px) {
  .four-up > li {
    float: left;
    display: block;
    margin-right: 2.9038112523%;
    width: 48.5480943739%; }
    .four-up > li:last-child {
      margin-right: 0; }
    .four-up > li:nth-child(2n) {
      margin-right: 0; }
    .four-up > li:nth-child(2n+1) {
      clear: left; } }

@media screen and (min-width: 825px) and (max-width: 1049px) {
  .four-up > li {
    float: left;
    display: block;
    margin-right: 2.9038112523%;
    width: 22.8221415608%; }
    .four-up > li:last-child {
      margin-right: 0; }
    .four-up > li:nth-child(4n) {
      margin-right: 0; }
    .four-up > li:nth-child(4n+1) {
      clear: left; } }

@media screen and (min-width: 1200px) and (max-width: 1349px) {
  .four-up > li {
    float: left;
    display: block;
    margin-right: 2.9038112523%;
    width: 22.8221415608%; }
    .four-up > li:last-child {
      margin-right: 0; }
    .four-up > li:nth-child(4n) {
      margin-right: 0; }
    .four-up > li:nth-child(4n+1) {
      clear: left; } }

@media screen and (min-width: 1350px) {
  .four-up > li {
    float: left;
    display: block;
    margin-right: 2.9038112523%;
    width: 22.8221415608%; }
    .four-up > li:last-child {
      margin-right: 0; }
    .four-up > li:nth-child(4n) {
      margin-right: 0; }
    .four-up > li:nth-child(4n+1) {
      clear: left; } }

.pagination {
  margin: 1.25em 0; }
  .pagination > ul {
    list-style: none;
    display: block; }
    .pagination > ul::after {
      clear: both;
      content: "";
      display: block; }
    .pagination > ul > li {
      float: left;
      display: block;
      margin-right: 2.9038112523%;
      width: 48.5480943739%; }
      .pagination > ul > li:last-child {
        margin-right: 0; }
      .pagination > ul > li:nth-child(2n) {
        margin-right: 0; }
      .pagination > ul > li:nth-child(2n+1) {
        clear: left; }
      .pagination > ul > li:last-child {
        text-align: right; }
      .pagination > ul > li > a {
        transition: all 0.1s linear;
        border: 2px solid #69574c;
        text-transform: uppercase;
        text-decoration: none;
        display: inline-block;
        padding: 0.8em 1em;
        border-radius: 1.5625em;
        color: #52443b;
        font-size: 90%;
        line-height: 1; }
        .pagination > ul > li > a:not(.inactive):hover, .pagination > ul > li > a:not(.inactive):focus {
          border-color: #CD1232;
          color: #CD1232; }
        .pagination > ul > li > a.paginate-new:before {
          content: '← '; }
        .pagination > ul > li > a.paginate-old:after {
          content: ' →'; }
        .pagination > ul > li > a.inactive {
          opacity: 0.33;
          filter: alpha(opacity=33);
          cursor: default; }

/* HORIZONTAL NAVBAR
--------------------------------------------------
  Sitewide header – logo and horizontal nav
-------------------------------------------------- */
.horizontal-navbar {
  box-shadow: 0 1px 0 0 rgba(47, 39, 34, 0.05), 0 -100px 100px 100px rgba(47, 39, 34, 0.1);
  background-color: #FFFFFF;
  position: relative;
  z-index: 1000; }
  @media screen and (max-width: 1049px) {
    .no-children .horizontal-navbar {
      border-bottom: 3px solid #ddd7d4; } }
  .horizontal-navbar .navbar-wrap {
    font-size: 1em; }
    .horizontal-navbar .navbar-wrap .logo {
      display: block; }

.mobile-menu > ul > li > a {
  transition: all 0.2s ease;
  font-size: 1.3225em;
  text-transform: uppercase;
  letter-spacing: 0.25px;
  text-decoration: none;
  display: inline-block;
  color: #69574c;
  line-height: 1; }
  @media (min-width: 30em) and (max-width: 80em) {
    .mobile-menu > ul > li > a {
      font-size: calc( 1.3225em + 0.24 * ( ( 100vw - 30em) / 50 )); } }
  @media (min-width: 80em) {
    .mobile-menu > ul > li > a {
      font-size: 1.5625em; } }
  .mobile-menu > ul > li > a:visited {
    color: #756154; }
  .mobile-menu > ul > li > a:hover, .mobile-menu > ul > li > a:focus, .mobile-menu > ul > li > a.active {
    color: #CD1232; }

.mobile-button,
.mobile-menu,
.logo {
  padding: 5%; }
  @media screen and (min-width: 600px) and (max-width: 1049px) {
    .mobile-button,
    .mobile-menu,
    .logo {
      padding: 4%; } }
  @media screen and (min-width: 1050px) and (max-width: 1349px) {
    .mobile-button,
    .mobile-menu,
    .logo {
      padding: 1.953125em 2.44140625em; } }
  @media screen and (min-width: 1350px) {
    .mobile-button,
    .mobile-menu,
    .logo {
      padding: 2.44140625em 3.0517578125em; } }
.mobile-button {
  text-decoration: none;
  text-align: right;
  display: none;
  color: #CD1232; }
  .mobile-button::after {
    clear: both;
    content: "";
    display: block; }
  .mobile-button .menu-icon {
    background-image: url("../media/sprite@1x.png");
    background-position: -10px -10px;
    background-size: 250px 50px;
    /* 1.25 dpr up */
    /* 1.5 dpr */
    height: 30px;
    float: right;
    width: 30px; }
    @media (-webkit-min-device-pixel-ratio: 1.25), (min-resolution: 120dpi) {
      .mobile-button .menu-icon {
        background-image: url("../media/sprite@1.5x.png"); } }
    @media (-webkit-min-device-pixel-ratio: 1.5), (min-resolution: 144dpi) {
      .mobile-button .menu-icon {
        background-image: url("../media/sprite@2x.png"); } }
/* COLLAPSED MENU
--------------------------------------------------*/
@media screen and (max-width: 1049px) {
  .horizontal-navbar > div {
    display: table;
    width: 100%; }
  .horizontal-navbar .logo,
  .horizontal-navbar .mobile-button {
    vertical-align: middle;
    display: table-cell; }
  .horizontal-navbar .logo img {
    max-height: 70px; }
  .horizontal-navbar .mobile-menu {
    display: none;
    padding: 0; }
  .mobile-menu > ul > li + li {
    border-top: 1px solid #FFFFFF; }
  .mobile-menu > ul > li > a {
    background-color: #f8f7f6;
    text-align: center;
    padding: 1em;
    display: block; } }

/* OPEN MENU
--------------------------------------------------*/
@media screen and (min-width: 1050px) {
  .horizontal-navbar {
    display: table;
    width: 100%; }
    .horizontal-navbar .logo,
    .horizontal-navbar .mobile-menu {
      vertical-align: middle;
      display: table-cell; }
    .horizontal-navbar .logo {
      padding-right: 0; }
    .horizontal-navbar .mobile-menu {
      text-align: right;
      max-width: 70%; }
    .horizontal-navbar .mobile-menu > ul > li {
      display: inline-block;
      margin-left: 1em; }
    .horizontal-navbar .mobile-menu > ul > li > a {
      border-bottom: 1px solid transparent; }
      .horizontal-navbar .mobile-menu > ul > li > a:hover, .horizontal-navbar .mobile-menu > ul > li > a:focus {
        border-bottom-color: #CD1232;
        color: #CD1232; } }

@media screen and (min-width: 1050px) and (max-width: 1349px) {
  .logo {
    width: 21em; } }

@media screen and (min-width: 1350px) {
  .logo {
    width: 24.15em; } }

/* VERTICAL NAV
-------------------------------------------------- */
@media screen and (min-width: 1050px) {
  .vertical-nav {
    background-image: url("../media/m-white-left@1x.png");
    background-position: center 125%;
    background-repeat: no-repeat;
    background-size: 150% 50%;
    /* 1.5 dpr */ } }
  @media screen and (min-width: 1050px) and (-webkit-min-device-pixel-ratio: 1.5), screen and (min-width: 1050px) and (min-resolution: 144dpi) {
    .vertical-nav {
      background-image: url("../media/m-white-left@1.5x.png"); } }
  @media screen and (min-width: 1050px) and (-webkit-min-device-pixel-ratio: 2), screen and (min-width: 1050px) and (min-resolution: 192dpi) {
    .vertical-nav {
      background-image: url("../media/m-white-left@2x.png"); } }
@media screen and (max-width: 1049px) {
  .no-children .vertical-nav {
    display: none; } }

.section-title {
  font-size: 1.74900625em;
  line-height: 1; }
  @media (min-width: 30em) and (max-width: 80em) {
    .section-title {
      font-size: calc( 1.74900625em + 0.6924 * ( ( 100vw - 30em) / 50 )); } }
  @media (min-width: 80em) {
    .section-title {
      font-size: 2.44140625em; } }
  .section-title a {
    border-bottom: 1px solid transparent;
    text-decoration: none; }
    .section-title a:hover, .section-title a:focus {
      border-bottom-color: #FFFFFF;
      color: #FFFFFF; }

/*
.back-to-parent {
  @include ms-respond(font-size, -1);
  @include border-link(1px,$white);
  text-decoration: none;
  margin-top: $gutter/2;
  @extend %body-medium;
  display: inline-block;
  color: $red-1;
}
*/
.section-summary {
  margin: 0.64em 0 1.5625em; }

.js-accordion-trigger:after {
  transition: all 0.2s ease;
  font-size: 75%;
  color: #FFFFFF;
  content: '▾';
  height: auto; }
  .on-mobile .js-accordion-trigger:after {
    color: #7b0b1e; }

.js-accordion-trigger,
.js-accordion-wrap.on-mobile > li > a {
  font-size: 1.3225em;
  vertical-align: middle;
  text-decoration: none;
  display: inline-block;
  padding-right: 24px;
  position: relative;
  display: inline-block;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  word-wrap: normal;
  line-height: 24px;
  width: 100%; }
  @media (min-width: 30em) and (max-width: 80em) {
    .js-accordion-trigger,
    .js-accordion-wrap.on-mobile > li > a {
      font-size: calc( 1.3225em + 0.24 * ( ( 100vw - 30em) / 50 )); } }
  @media (min-width: 80em) {
    .js-accordion-trigger,
    .js-accordion-wrap.on-mobile > li > a {
      font-size: 1.5625em; } }
  .js-accordion-trigger:after,
  .js-accordion-wrap.on-mobile > li > a:after {
    position: absolute;
    text-align: center;
    line-height: 24px;
    display: block;
    width: auto;
    right: 0;
    top: 0; }

.active .js-accordion-trigger.on-mobile:after {
  -webkit-transform: rotate(180deg);
  transform: rotate(180deg); }

.js-accordion-wrap.on-mobile > li {
  border-top: 1px solid #a40e28;
  padding: 11px 0 12px; }
  @media screen and (min-width: 1050px) {
    .js-accordion-wrap.on-mobile > li:last-child {
      border-bottom: 1px solid #a40e28; } }
.js-accordion-wrap.on-mobile > li > a:not(.js-accordion-trigger):after {
  font-size: 85%;
  color: #7b0b1e;
  content: '▸'; }

.js-accordion-wrap.on-mobile > li > a:not(.js-accordion-trigger):hover:after, .js-accordion-wrap.on-mobile > li > a:not(.js-accordion-trigger):focus:after, .js-accordion-wrap.on-mobile > li > a:not(.js-accordion-trigger).active:after {
  /*
      visibility: visible;
      opacity: 1;
*/ }

.js-accordion-wrap.on-mobile > li > a:not(.js-accordion-trigger).active:after {
  color: #FFFFFF; }

.js-accordion-wrap.on-mobile > li > .js-accordion-trigger.active:after {
  color: #FFFFFF; }

.js-accordion-wrap.on-mobile > li > a:hover:after, .js-accordion-wrap.on-mobile > li > a:focus:after {
  color: #FFFFFF; }

.js-accordion-wrap.on-desktop {
  margin: 12px 0 0; }
  .js-accordion-wrap.on-desktop.out {
    max-height: 100%;
    opacity: 1;
    height: auto; }

.active.parent .js-accordion-trigger.on-desktop:after {
  -webkit-transform: rotate(180deg);
  transform: rotate(180deg); }

.active.child .js-accordion-trigger.on-desktop:after {
  -webkit-transform: rotate(180deg);
  transform: rotate(180deg); }

.js-accordion-wrap.on-desktop > li {
  border-top: 1px solid #b9102d;
  transition: all 0.2s ease;
  padding: 6px 0 7px;
  margin-top: -10px;
  line-height: 24px;
  opacity: 0; }
  .touch .js-accordion-wrap.on-desktop > li {
    padding: 8px 0 9px; }
  .active .js-accordion-wrap.on-desktop > li {
    opacity: 1;
    margin-top: 0px; }

.js-accordion-wrap.on-desktop > li > a {
  transition: all 0.2s ease;
  letter-spacing: 0.25px;
  vertical-align: middle;
  text-decoration: none;
  display: inline-block;
  display: inline-block;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  word-wrap: normal;
  font-size: 83%; }
  .js-accordion-wrap.on-desktop > li > a b {
    text-transform: uppercase; }
  .js-accordion-wrap.on-desktop > li > a:hover, .js-accordion-wrap.on-desktop > li > a:focus, .js-accordion-wrap.on-desktop > li > a.active {
    text-decoration: underline;
    color: #FFFFFF; }

/* MOBILE
-------------------------------------------------- */
@media screen and (max-width: 1049px) {
  .js-accordion-trigger.on-mobile {
    display: inline-block; }
  .js-accordion-wrap.on-mobile {
    transition: all 0.2s ease;
    opacity: 0;
    height: 0; }
    .js-accordion-wrap.on-mobile.active {
      margin-top: 12px;
      max-height: 100%;
      opacity: 1;
      height: auto; }
  .js-accordion-wrap.on-mobile > li {
    transition: all 0.2s ease;
    opacity: 0; }
    .active .js-accordion-wrap.on-mobile > li {
      opacity: 1;
      margin-top: 0px; }
  .section-summary,
  .section-title {
    display: none; }
    .active .section-summary, .active .section-title {
      display: block;
      opacity: 1; }
  .js-accordion-wrap.on-desktop {
    transition: all 0.2s ease;
    opacity: 0;
    height: 0; }
    .js-accordion-wrap.on-desktop.active {
      max-height: 100%;
      opacity: 1;
      height: auto; } }

/* DESKTOP
-------------------------------------------------- */
@media screen and (min-width: 1050px) {
  .js-accordion-trigger.on-mobile {
    opacity: 0;
    height: 0; }
  .js-accordion-wrap.on-desktop {
    opacity: 0;
    height: 0; } }

/* PAGE TITLE
-------------------------------------------------------
  Sitewide page title – title and call-to-action button
------------------------------------------------------- */
.page-title--block {
  box-shadow: inset 0 -1px 1px #FFFFFF, 0 1em 1em -1em #ecebea;
  border-bottom: 2px solid #eae7e5;
  padding-bottom: 1.25em;
  margin-bottom: 1.25em;
  position: relative;
  z-index: 100; }
  @media screen and (min-width: 1050px) {
    .page-title--block {
      margin-bottom: 1.875em; } }
  .page-title--block::after {
    clear: both;
    content: "";
    display: block; }
  @media screen and (min-width: 600px) {
    .page-title--block {
      display: block; }
      .page-title--block::after {
        clear: both;
        content: "";
        display: block; }
      .page-title--block .page-title--heading {
        float: left;
        display: block;
        margin-right: 2.9038112523%;
        width: 65.6987295826%; }
        .page-title--block .page-title--heading:last-child {
          margin-right: 0; }
      .page-title--block .page-title--button {
        float: left;
        display: block;
        margin-right: 2.9038112523%;
        width: 31.3974591652%;
        text-align: right;
        margin-right: 0; }
        .page-title--block .page-title--button:last-child {
          margin-right: 0; } }
.page-title--heading h1 {
  line-height: 1em;
  color: #69574c; }

.page-title--subheading,
.page-title--date {
  -webkit-font-smoothing: antialiased;
  font-size: 0.8695652174em;
  text-transform: uppercase;
  letter-spacing: 1px;
  display: block;
  color: #756154; }
  @media (min-width: 30em) and (max-width: 80em) {
    .page-title--subheading,
    .page-title--date {
      font-size: calc( 0.8695652174em + -0.0695652174 * ( ( 100vw - 30em) / 50 )); } }
  @media (min-width: 80em) {
    .page-title--subheading,
    .page-title--date {
      font-size: 0.8em; } }
  @media screen and (min-width: 825px) and (max-width: 1049px) {
    .page-title--subheading,
    .page-title--date {
      font-size: 1.15em; } }
  @media screen and (min-width: 825px) and (max-width: 1049px) and (min-width: 30em) and (max-width: 80em) {
    .page-title--subheading,
    .page-title--date {
      font-size: calc( 1.15em + 0.1 * ( ( 100vw - 30em) / 50 )); } }
  @media screen and (min-width: 825px) and (max-width: 1049px) and (min-width: 80em) {
    .page-title--subheading,
    .page-title--date {
      font-size: 1.25em; } }
  @media screen and (min-width: 1050px) {
    .page-title--subheading,
    .page-title--date {
      font-size: 1.15em; } }
  @media screen and (min-width: 1050px) and (min-width: 30em) and (max-width: 80em) {
    .page-title--subheading,
    .page-title--date {
      font-size: calc( 1.15em + 0.1 * ( ( 100vw - 30em) / 50 )); } }
  @media screen and (min-width: 1050px) and (min-width: 80em) {
    .page-title--subheading,
    .page-title--date {
      font-size: 1.25em; } }
@media screen and (max-width: 599px) {
  .page-title--button a,
  .page-title--button.linkedin-button a {
    display: none; } }

/* GLOBAL FOOTER
------------------------------------------------------- */
.global-footer {
  background-color: #FFFFFF;
  background-image: linear-gradient(#FFFFFF, #eae7e5);
  box-shadow: 0 0 100px rgba(47, 39, 34, 0.1);
  border-top: 1px solid #ddd7d4;
  padding: 6%; }
  @media screen and (min-width: 600px) and (max-width: 1049px) {
    .global-footer {
      padding: 5%; } }
  @media screen and (min-width: 1050px) and (max-width: 1349px) {
    .global-footer {
      padding: 1.953125em; } }
  @media screen and (min-width: 1350px) {
    .global-footer {
      padding: 2.44140625em; } }
  .global-footer ul {
    list-style: none; }
  .global-footer a {
    transition: all 0.2s ease; }

.home-icon {
  background-image: url("../media/sprite@1x.png");
  background-position: -55px 50px;
  background-size: 250px 50px;
  /* 1.25 dpr up */
  /* 1.5 dpr */
  margin: 0 auto;
  width: 45px; }
  @media (-webkit-min-device-pixel-ratio: 1.25), (min-resolution: 120dpi) {
    .home-icon {
      background-image: url("../media/sprite@1.5x.png"); } }
  @media (-webkit-min-device-pixel-ratio: 1.5), (min-resolution: 144dpi) {
    .home-icon {
      background-image: url("../media/sprite@2x.png"); } }
  @media screen and (min-width: 1200px) and (max-width: 1349px) {
    .home-icon {
      margin: 0; } }
.footer-row-a,
.footer-row-b {
  display: block; }
  .footer-row-a::after,
  .footer-row-b::after {
    clear: both;
    content: "";
    display: block; }
  @media screen and (max-width: 1049px) {
    .footer-row-a,
    .footer-row-b {
      text-align: center; } }
  @media screen and (min-width: 1050px) and (max-width: 1199px) {
    .footer-row-a,
    .footer-row-b {
      text-align: center; } }
.footer-row-a {
  color: #52443b; }

.footer-row-b {
  margin-top: 3.0517578125em;
  color: #756154; }

@media screen and (min-width: 1200px) and (max-width: 1349px) {
  .footer--quicklinks,
  .footer--copyright {
    float: left;
    display: block;
    margin-right: 2.9038112523%;
    width: 65.6987295826%; }
    .footer--quicklinks:last-child,
    .footer--copyright:last-child {
      margin-right: 0; } }

@media screen and (min-width: 1350px) {
  .footer--quicklinks,
  .footer--copyright {
    float: left;
    display: block;
    margin-right: 2.9038112523%;
    width: 65.6987295826%; }
    .footer--quicklinks:last-child,
    .footer--copyright:last-child {
      margin-right: 0; } }

@media screen and (min-width: 1200px) and (max-width: 1349px) {
  .footer--attribution,
  .footer--contact {
    float: left;
    display: block;
    margin-right: 2.9038112523%;
    width: 31.3974591652%;
    text-align: right;
    margin-right: 0; }
    .footer--attribution:last-child,
    .footer--contact:last-child {
      margin-right: 0; } }

@media screen and (min-width: 1350px) {
  .footer--attribution,
  .footer--contact {
    float: left;
    display: block;
    margin-right: 2.9038112523%;
    width: 31.3974591652%;
    text-align: right;
    margin-right: 0; }
    .footer--attribution:last-child,
    .footer--contact:last-child {
      margin-right: 0; } }

@media screen and (max-width: 599px) {
  .footer--quicklinks .quicklinks-list > li {
    margin: 0.64em 0; } }

@media screen and (min-width: 1050px) and (max-width: 1349px) {
  .footer--quicklinks .quicklinks-list > li {
    margin: 0.4096em 0; } }

@media screen and (min-width: 600px) and (max-width: 1049px) {
  .footer--quicklinks .quicklinks-list > li {
    vertical-align: middle;
    display: inline-block;
    margin-right: 0.4096em; } }

@media screen and (min-width: 1350px) {
  .footer--quicklinks .quicklinks-list > li {
    vertical-align: middle;
    display: inline-block;
    margin-right: 0.4096em; } }

@media screen and (min-width: 1050px) and (max-width: 1349px) {
  .home .footer--quicklinks .quicklinks-list > li {
    vertical-align: middle;
    display: inline-block;
    margin-right: 0.4096em; } }

.footer--quicklinks .quicklinks-list > li > a {
  transition: all 0.1s linear;
  font-size: 1.3225em;
  border-bottom: 1px solid transparent;
  text-transform: uppercase;
  text-decoration: none;
  line-height: 1; }
  @media (min-width: 30em) and (max-width: 80em) {
    .footer--quicklinks .quicklinks-list > li > a {
      font-size: calc( 1.3225em + 0.24 * ( ( 100vw - 30em) / 50 )); } }
  @media (min-width: 80em) {
    .footer--quicklinks .quicklinks-list > li > a {
      font-size: 1.5625em; } }
  .footer--quicklinks .quicklinks-list > li > a:hover, .footer--quicklinks .quicklinks-list > li > a:focus {
    border-bottom-color: #CD1232;
    color: #CD1232; }
  @media screen and (min-width: 1350px) {
    .footer--quicklinks .quicklinks-list > li > a {
      display: block; } }
.footer--quicklinks .quicklinks-list > li:first-child > a {
  border: none; }

@media screen and (max-width: 1049px) {
  .footer--quicklinks {
    margin-bottom: 1.5625em; }
    .footer--quicklinks img {
      margin: 0 auto; } }

@media screen and (min-width: 1050px) and (max-width: 1199px) {
  .footer--quicklinks {
    margin-bottom: 1.5625em; }
    .footer--quicklinks img {
      margin: 0 auto; } }

.footer--contact .contact-title {
  transition: border 0.1s linear;
  font-size: 1.3225em;
  max-height: 49px; }
  @media (min-width: 30em) and (max-width: 80em) {
    .footer--contact .contact-title {
      font-size: calc( 1.3225em + 0.24 * ( ( 100vw - 30em) / 50 )); } }
  @media (min-width: 80em) {
    .footer--contact .contact-title {
      font-size: 1.5625em; } }
  .footer--contact .contact-title a {
    border-bottom: 1px solid transparent;
    text-decoration: none; }
    .footer--contact .contact-title a:hover, .footer--contact .contact-title a:focus {
      border-bottom-color: #CD1232;
      color: #CD1232; }

.footer--contact .contact-list > li {
  background-image: radial-gradient(  at 50% 100%, white, rgba(255, 255, 255, 0) 75%);
  box-shadow: 0 1em 1em -1em rgba(47, 39, 34, 0.05);
  border-bottom: 1px solid #eae7e5;
  text-shadow: 0 1px 1px #FFFFFF;
  background-color: transparent;
  margin: 2px 0;
  padding: 0.512em 0; }

.footer--contact .contact-list > li > a {
  border-bottom: 1px solid transparent;
  text-overflow: ellipsis;
  text-decoration: none;
  white-space: nowrap;
  overflow: hidden; }
  .footer--contact .contact-list > li > a:hover, .footer--contact .contact-list > li > a:focus {
    border-bottom-color: #CD1232;
    color: #CD1232; }

.footer--contact .linked-in {
  text-shadow: 0 2px 2px #005882;
  -webkit-font-smoothing: antialiased;
  background-color: #007BB5;
  margin-right: 0.16777216em;
  border-radius: 3px;
  padding: 2px 4px;
  color: #FFFFFF; }

.footer--copyright p,
.footer--attribution p {
  max-width: 42em;
  font-size: 0.875em; }
  .footer--copyright p a,
  .footer--attribution p a {
    border-bottom: 1px solid transparent;
    text-decoration: none; }
    .footer--copyright p a:hover, .footer--copyright p a:focus,
    .footer--attribution p a:hover,
    .footer--attribution p a:focus {
      border-bottom-color: #CD1232;
      color: #CD1232; }
  @media screen and (min-width: 1050px) and (max-width: 1199px) {
    .footer--copyright p,
    .footer--attribution p {
      margin: 0 auto 1em; } }
  @media screen and (max-width: 1049px) {
    .footer--copyright p,
    .footer--attribution p {
      margin: 0 auto 1em; } }
  @media screen and (min-width: 1050px) and (max-width: 1199px) {
    .home .footer--copyright p, .home .footer--attribution p {
      margin: 0 auto 1em; } }
/* PRODUCT SNIPPETS
------------------------------------------------------------------ */
.products-list--button {
  margin-top: 0.262144em; }
  .products-list--button.primary {
    margin-right: 0.262144em; }

.snippets--products-list {
  margin-bottom: 1em;
  list-style: none; }
  .snippets--products-list li {
    display: inline-block; }
    @media screen and (max-width: 599px) {
      .snippets--products-list li {
        margin-bottom: 1em; } }
    @media screen and (min-width: 600px) and (max-width: 1049px) {
      .snippets--products-list li {
        max-width: calc(50% - 1em);
        margin-bottom: 1em; }
        .snippets--products-list li:nth-child(2n) {
          margin-left: 1em; } }
    @media screen and (min-width: 1050px) and (max-width: 1199px) {
      .snippets--products-list li {
        max-width: calc(50% - 1em);
        margin-bottom: 1em; }
        .snippets--products-list li:nth-child(2n) {
          margin-left: 1em; } }
    @media screen and (min-width: 1200px) and (max-width: 1349px) {
      .snippets--products-list li {
        max-width: calc(33.333% - 1em); }
        .snippets--products-list li:nth-child(2n) {
          margin: 0.5em 0.5em 0.3em; } }
    @media screen and (min-width: 1350px) {
      .snippets--products-list li {
        max-width: calc(33.333% - 1em); }
        .snippets--products-list li:nth-child(2n) {
          margin: 0.5em 0.5em 0.3em; } }
.snippets--products {
  margin-bottom: 1.25em;
  text-align: center; }
  @media screen and (min-width: 1050px) {
    .snippets--products {
      margin-bottom: 1.875em; } }
  .snippets--products > h2 {
    box-shadow: inset 0 -1px 1px white, 0 25px 50px -25px #dedbda;
    font-size: 2.0113571875em;
    border-bottom: 2px solid #eae7e5;
    padding: 0.32768em 0;
    margin: 0 0 0.8em 0;
    overflow: visible;
    line-height: 1; }
    @media (min-width: 30em) and (max-width: 80em) {
      .snippets--products > h2 {
        font-size: calc( 2.0113571875em + 1.040400625 * ( ( 100vw - 30em) / 50 )); } }
    @media (min-width: 80em) {
      .snippets--products > h2 {
        font-size: 3.0517578125em; } }
    .snippets--products > h2 > a {
      border-bottom: 1px solid transparent;
      text-decoration: none; }
      .snippets--products > h2 > a:hover, .snippets--products > h2 > a:focus {
        border-bottom-color: #CD1232;
        color: #CD1232; }
  .snippets--products > h3 {
    font-size: 0.8695652174em;
    border: 1px solid #edeae8;
    background-color: #f8f7f6;
    text-transform: uppercase;
    border-radius: 20px;
    display: inline-block;
    letter-spacing: 1.5px;
    margin: 0 0 1em;
    padding: 8px 20px 10px;
    line-height: 1;
    color: #756154; }
    @media (min-width: 30em) and (max-width: 80em) {
      .snippets--products > h3 {
        font-size: calc( 0.8695652174em + -0.0695652174 * ( ( 100vw - 30em) / 50 )); } }
    @media (min-width: 80em) {
      .snippets--products > h3 {
        font-size: 0.8em; } }
[class*="product-snippet--"] {
  transition: all 0.1s linear;
  border-radius: 3px;
  box-shadow: 0 0.6180339845em 2.6180340252em rgba(47, 39, 34, 0.05);
  border: 1px solid #eae7e5;
  background-color: #FFFFFF;
  text-decoration: none;
  display: block; }
  [class*="product-snippet--"] img {
    padding: 1.25em;
    margin: 0 auto; }
  [class*="product-snippet--"] span {
    border-radius: 0 0 3px 3px;
    text-shadow: 1px 1px 1px rgba(47, 39, 34, 0.1);
    -webkit-font-smoothing: antialiased;
    text-transform: uppercase;
    letter-spacing: 1px;
    text-align: center;
    position: relative;
    font-size: 12px;
    display: block;
    padding: 1em;
    color: #FFFFFF; }
    [class*="product-snippet--"] span:after {
      content: ' ▸'; }
  [class*="product-snippet--"]:hover, [class*="product-snippet--"]:focus {
    -webkit-transform: scale(1.05);
    transform: scale(1.05); }
  [class*="product-snippet--"]:active {
    position: relative;
    top: 2px; }

.product-snippet--green span {
  background-color: #70A038;
  background-image: linear-gradient(#70A038, #638d31);
  background-color: #70A038; }

.product-snippet--purple span {
  background-color: #7B2251;
  background-image: linear-gradient(#7B2251, #671c44);
  background-color: #7B2251; }

.product-snippet--navy span {
  background-color: #263358;
  background-image: linear-gradient(#263358, #1e2946);
  background-color: #263358; }

.product-snippet--blue span {
  background-color: #147CBA;
  background-image: linear-gradient(#147CBA, #126da3);
  background-color: #147CBA; }

.product-snippet--orange span {
  background-color: #DE4B23;
  background-image: linear-gradient(#DE4B23, #c9431e);
  background-color: #DE4B23; }

.product-snippet--teal span {
  background-color: #0B5E6E;
  background-image: linear-gradient(#0B5E6E, #094a57);
  background-color: #0B5E6E; }

/* NEWS SNIPPETS
------------------------------------------------------------------ */
.snippets--news > h2 {
  margin-bottom: 0.32768em;
  line-height: 1;
  margin-bottom: 0.4096em;
  color: #FFFFFF; }
  .snippets--news > h2 > a {
    text-decoration: none; }
    .home .snippets--news > h2 > a {
      border-bottom: 1px solid transparent;
      color: #FFFFFF; }
      .home .snippets--news > h2 > a:hover, .home .snippets--news > h2 > a:focus {
        border-bottom-color: #FFFFFF;
        color: #FFFFFF; }

.post-snippet {
  border-radius: 3px;
  box-shadow: 0 0.6180339845em 2.6180340252em rgba(47, 39, 34, 0.05);
  border: 1px solid #eae7e5;
  background-color: #FFFFFF;
  text-decoration: none;
  position: relative;
  display: block;
  padding: 1.25em; }
  .post-snippet .post-snippet--date {
    transition: background 0.1s linear;
    -webkit-font-smoothing: antialiased;
    box-shadow: 0 0.6180339845em 2.6180340252em rgba(47, 39, 34, 0.05);
    text-transform: uppercase;
    background-color: #52443b;
    letter-spacing: 1px;
    border-radius: 50%;
    position: absolute;
    text-align: center;
    padding-top: 10px;
    line-height: 1em;
    color: #FFFFFF;
    left: 0.64em;
    height: 60px;
    top: 0.64em;
    width: 60px;
    z-index: 1; }
  .post-snippet .post-snippet--image {
    margin-bottom: 1em; }
    .post-snippet .post-snippet--image img {
      border-radius: 3px; }
  .post-snippet .post-snippet--title {
    transition: color 0.1s linear;
    font-size: 1.15em;
    line-height: 1.5em;
    overflow: hidden;
    height: 3em; }
    @media (min-width: 30em) and (max-width: 80em) {
      .post-snippet .post-snippet--title {
        font-size: calc( 1.15em + 0.1 * ( ( 100vw - 30em) / 50 )); } }
    @media (min-width: 80em) {
      .post-snippet .post-snippet--title {
        font-size: 1.25em; } }
    .post-snippet .post-snippet--title span {
      transition: border 0.1s linear;
      border-bottom: 1px solid #ddd7d4; }
  .post-snippet .post-snippet--summary {
    margin: 0.64em 0 0 0;
    font-size: 0.9em;
    overflow: hidden;
    height: 4.5em; }
  .post-snippet:hover .post-snippet--date, .post-snippet:focus .post-snippet--date {
    background-color: #CD1232; }
  .post-snippet:hover .post-snippet--title, .post-snippet:focus .post-snippet--title {
    color: #CD1232; }
    .post-snippet:hover .post-snippet--title span, .post-snippet:focus .post-snippet--title span {
      border-bottom-color: #CD1232; }

.post-item--image {
  margin-bottom: 0.512em; }

/* RELATED SNIPPETS
------------------------------------------------------------------ */
.snippets--related {
  text-shadow: 0 1px 1px #FFFFFF; }
  @media screen and (max-width: 599px) {
    .snippets--related li:first-child {
      margin-bottom: 2.5em; } }
  @media screen and (min-width: 600px) {
    .snippets--related li {
      margin-bottom: 0; } }
.related-snippet--title {
  transition: color 0.1s linear;
  font-size: 1.520875em;
  border-bottom: 1px solid #ddd7d4;
  padding: 0 0 0.16777216em 0;
  margin-bottom: 0.4096em;
  color: #69574c;
  line-height: 1; }
  @media (min-width: 30em) and (max-width: 80em) {
    .related-snippet--title {
      font-size: calc( 1.520875em + 0.43225 * ( ( 100vw - 30em) / 50 )); } }
  @media (min-width: 80em) {
    .related-snippet--title {
      font-size: 1.953125em; } }
.related-snippet--summary {
  margin-bottom: 0.625em; }

.related-snippet--button {
  border-bottom: 1px solid transparent;
  text-transform: uppercase;
  letter-spacing: 1px;
  text-decoration: none;
  font-size: 0.9em;
  color: #69574c; }
  .related-snippet--button:hover, .related-snippet--button:focus {
    border-bottom-color: #CD1232;
    color: #CD1232; }
  .related-snippet--button:hover, .related-snippet--button:focus {
    color: #CD1232; }
  .related-snippet--button:after {
    content: ' →'; }

.split {
  margin-bottom: 2em; }
  .split h2 {
    color: #CD1232;
    font-size: 1.520875em; }
    @media (min-width: 30em) and (max-width: 80em) {
      .split h2 {
        font-size: calc( 1.520875em + 0.43225 * ( ( 100vw - 30em) / 50 )); } }
    @media (min-width: 80em) {
      .split h2 {
        font-size: 1.953125em; } }
  @media screen and (min-width: 600px) and (max-width: 1049px) {
    .split {
      display: -webkit-flex;
      display: flex; } }
  @media screen and (min-width: 1200px) and (max-width: 1349px) {
    .split {
      display: -webkit-flex;
      display: flex; } }
  @media screen and (min-width: 1350px) {
    .split {
      display: -webkit-flex;
      display: flex; } }
@media screen and (max-width: 599px) {
  .split-item {
    margin-bottom: 1em; } }

@media screen and (min-width: 600px) and (max-width: 1049px) {
  .split-item {
    width: 100%;
    margin: 0 2em 2em 0em; }
    .split-item:nth-child(2n) {
      margin-left: 1em; } }

@media screen and (min-width: 1050px) and (max-width: 1199px) {
  .split-item {
    width: 100%;
    margin: 0 2em 2em 0em; }
    .split-item:nth-child(2n) {
      margin-left: 1em; } }

@media screen and (min-width: 1200px) and (max-width: 1349px) {
  .split-item {
    width: 50%; }
    .split-item:nth-child(2n) {
      margin: 0 2em 2em 2em; } }

@media screen and (min-width: 1350px) {
  .split-item {
    width: 50%; }
    .split-item:nth-child(2n) {
      margin: 0 2em 2em 2em; } }

/* PAGE INTRO
------------------------------------------------------- */
.two-up--intro {
  margin-bottom: 1.25em;
  display: block; }
  @media screen and (min-width: 1050px) {
    .two-up--intro {
      margin-bottom: 1.875em; } }
  .two-up--intro::after {
    clear: both;
    content: "";
    display: block; }
  @media screen and (min-width: 825px) and (max-width: 1049px) {
    .two-up--intro .page-intro--media,
    .two-up--intro .page-intro--text {
      float: left;
      display: block;
      margin-right: 2.9038112523%;
      width: 48.5480943739%; }
      .two-up--intro .page-intro--media:last-child,
      .two-up--intro .page-intro--text:last-child {
        margin-right: 0; }
      .two-up--intro .page-intro--media:nth-child(2n),
      .two-up--intro .page-intro--text:nth-child(2n) {
        margin-right: 0; }
      .two-up--intro .page-intro--media:nth-child(2n+1),
      .two-up--intro .page-intro--text:nth-child(2n+1) {
        clear: left; } }
  @media screen and (min-width: 1200px) and (max-width: 1349px) {
    .two-up--intro .page-intro--media,
    .two-up--intro .page-intro--text {
      float: left;
      display: block;
      margin-right: 2.9038112523%;
      width: 48.5480943739%; }
      .two-up--intro .page-intro--media:last-child,
      .two-up--intro .page-intro--text:last-child {
        margin-right: 0; }
      .two-up--intro .page-intro--media:nth-child(2n),
      .two-up--intro .page-intro--text:nth-child(2n) {
        margin-right: 0; }
      .two-up--intro .page-intro--media:nth-child(2n+1),
      .two-up--intro .page-intro--text:nth-child(2n+1) {
        clear: left; } }
  @media screen and (min-width: 1350px) {
    .two-up--intro .page-intro--media,
    .two-up--intro .page-intro--text {
      float: left;
      display: block;
      margin-right: 2.9038112523%;
      width: 48.5480943739%; }
      .two-up--intro .page-intro--media:last-child,
      .two-up--intro .page-intro--text:last-child {
        margin-right: 0; }
      .two-up--intro .page-intro--media:nth-child(2n),
      .two-up--intro .page-intro--text:nth-child(2n) {
        margin-right: 0; }
      .two-up--intro .page-intro--media:nth-child(2n+1),
      .two-up--intro .page-intro--text:nth-child(2n+1) {
        clear: left; } }
@media screen and (max-width: 1049px) {
  .page-intro--media {
    margin-bottom: 1.25em; } }
  @media screen and (max-width: 1049px) and (min-width: 1050px) {
    .page-intro--media {
      margin-bottom: 1.875em; } }
@media screen and (min-width: 1050px) and (max-width: 1199px) {
  .page-intro--media {
    margin-bottom: 1.25em; } }
  @media screen and (min-width: 1050px) and (max-width: 1199px) and (min-width: 1050px) {
    .page-intro--media {
      margin-bottom: 1.875em; } }
.page-intro--media:before {
  padding-top: 50%;
  content: ''; }

.page-intro--media iframe,
.page-intro--media img {
  box-shadow: 0 0.6180339845em 2.6180340252em rgba(47, 39, 34, 0.05);
  border: 1px solid #FFFFFF;
  margin: 0 auto; }

.page-intro--lead {
  font-size: 1.15em;
  margin-bottom: 0.64em; }
  @media (min-width: 30em) and (max-width: 80em) {
    .page-intro--lead {
      font-size: calc( 1.15em + 0.1 * ( ( 100vw - 30em) / 50 )); } }
  @media (min-width: 80em) {
    .page-intro--lead {
      font-size: 1.25em; } }
.page-intro--list {
  margin-bottom: 1.25em;
  list-style: none;
  margin-bottom: 0; }
  @media screen and (min-width: 1050px) {
    .page-intro--list {
      margin-bottom: 1.875em; } }
  .page-intro--list > li {
    outline: 1px solid #ddd7d4;
    margin-top: 4px;
    text-shadow: 0 1px 1px #FFFFFF;
    background-color: white;
    padding: 10px;
    padding-left: 35px;
    text-indent: -35px; }
    .page-intro--list > li:before {
      background-image: url("../media/sprite@1x.png");
      background-position: -172px -17px;
      background-size: 250px 50px;
      /* 1.25 dpr up */
      /* 1.5 dpr */
      display: inline-block;
      position: relative;
      margin-left: 10px;
      content: ' ';
      height: 20px;
      width: 25px;
      top: 5px; }
      @media (-webkit-min-device-pixel-ratio: 1.25), (min-resolution: 120dpi) {
        .page-intro--list > li:before {
          background-image: url("../media/sprite@1.5x.png"); } }
      @media (-webkit-min-device-pixel-ratio: 1.5), (min-resolution: 144dpi) {
        .page-intro--list > li:before {
          background-image: url("../media/sprite@2x.png"); } }
    .page-intro--list > li:nth-child(even) {
      background-color: rgba(234, 231, 229, 0.5); }

.page-intro--c,
.page-intro--d {
  margin-bottom: 1.25em; }
  @media screen and (min-width: 1050px) {
    .page-intro--c,
    .page-intro--d {
      margin-bottom: 1.875em; } }
.page-intro--c > .page-intro--media,
.page-intro--d > .page-intro--media {
  position: relative;
  overflow: hidden; }
  .page-intro--c > .page-intro--media .page-intro--overlay,
  .page-intro--d > .page-intro--media .page-intro--overlay {
    font-size: 1.15em; }
    @media (min-width: 30em) and (max-width: 80em) {
      .page-intro--c > .page-intro--media .page-intro--overlay,
      .page-intro--d > .page-intro--media .page-intro--overlay {
        font-size: calc( 1.15em + 0.1 * ( ( 100vw - 30em) / 50 )); } }
    @media (min-width: 80em) {
      .page-intro--c > .page-intro--media .page-intro--overlay,
      .page-intro--d > .page-intro--media .page-intro--overlay {
        font-size: 1.25em; } }
    @media screen and (max-width: 599px) {
      .page-intro--c > .page-intro--media .page-intro--overlay,
      .page-intro--d > .page-intro--media .page-intro--overlay {
        margin-bottom: 1em; } }
    @media screen and (min-width: 600px) {
      .page-intro--c > .page-intro--media .page-intro--overlay,
      .page-intro--d > .page-intro--media .page-intro--overlay {
        background-color: rgba(47, 39, 34, 0);
        background-image: linear-gradient(to top,rgba(47, 39, 34, 0), rgba(47, 39, 34, 0.5));
        text-shadow: 0 1px 1px rgba(47, 39, 34, 0.1);
        -webkit-font-smoothing: antialiased;
        position: absolute;
        color: #FFFFFF;
        width: 100%;
        padding: 5%;
        bottom: 1px;
        right: 1px;
        left: 1px;
        top: 1px; } }
    @media screen and (min-width: 825px) and (max-width: 1049px) {
      .page-intro--c > .page-intro--media .page-intro--overlay,
      .page-intro--d > .page-intro--media .page-intro--overlay {
        font-size: 1.3225em; } }
  @media screen and (min-width: 825px) and (max-width: 1049px) and (min-width: 30em) and (max-width: 80em) {
    .page-intro--c > .page-intro--media .page-intro--overlay,
    .page-intro--d > .page-intro--media .page-intro--overlay {
      font-size: calc( 1.3225em + 0.24 * ( ( 100vw - 30em) / 50 )); } }
  @media screen and (min-width: 825px) and (max-width: 1049px) and (min-width: 80em) {
    .page-intro--c > .page-intro--media .page-intro--overlay,
    .page-intro--d > .page-intro--media .page-intro--overlay {
      font-size: 1.5625em; } }
    @media screen and (min-width: 1200px) and (max-width: 1349px) {
      .page-intro--c > .page-intro--media .page-intro--overlay,
      .page-intro--d > .page-intro--media .page-intro--overlay {
        font-size: 1.3225em; } }
  @media screen and (min-width: 1200px) and (max-width: 1349px) and (min-width: 30em) and (max-width: 80em) {
    .page-intro--c > .page-intro--media .page-intro--overlay,
    .page-intro--d > .page-intro--media .page-intro--overlay {
      font-size: calc( 1.3225em + 0.24 * ( ( 100vw - 30em) / 50 )); } }
  @media screen and (min-width: 1200px) and (max-width: 1349px) and (min-width: 80em) {
    .page-intro--c > .page-intro--media .page-intro--overlay,
    .page-intro--d > .page-intro--media .page-intro--overlay {
      font-size: 1.5625em; } }
    @media screen and (min-width: 1350px) {
      .page-intro--c > .page-intro--media .page-intro--overlay,
      .page-intro--d > .page-intro--media .page-intro--overlay {
        font-size: 1.3225em; } }
  @media screen and (min-width: 1350px) and (min-width: 30em) and (max-width: 80em) {
    .page-intro--c > .page-intro--media .page-intro--overlay,
    .page-intro--d > .page-intro--media .page-intro--overlay {
      font-size: calc( 1.3225em + 0.24 * ( ( 100vw - 30em) / 50 )); } }
  @media screen and (min-width: 1350px) and (min-width: 80em) {
    .page-intro--c > .page-intro--media .page-intro--overlay,
    .page-intro--d > .page-intro--media .page-intro--overlay {
      font-size: 1.5625em; } }
/* CONTENT REGION
------------------------------------------------------- */
.content-region {
  margin-bottom: 1.25em;
  /*
  @include multiple-media($tablet-large, $desktop-large, $cinema-up) {
    > p:not(.no-cols) {
      @include column-width($base-sidebar-width*1.15);
      @include column-rule(1px solid shade($brown-2,2.5%));
      @include column-gap(60px);
      @include column-count(2);
    }
  }
*/ }
  @media screen and (min-width: 1050px) {
    .content-region {
      margin-bottom: 1.875em; } }
  .content-region hr {
    border-top: 3px solid #eae7e5;
    box-shadow: 0 1em 1em -1em #ecebea, inset 0 1px 2px -1px #FFFFFF; }
  .content-region .enlarged {
    font-size: 1.3225em;
    line-height: 1.6; }
    @media (min-width: 30em) and (max-width: 80em) {
      .content-region .enlarged {
        font-size: calc( 1.3225em + 0.24 * ( ( 100vw - 30em) / 50 )); } }
    @media (min-width: 80em) {
      .content-region .enlarged {
        font-size: 1.5625em; } }
  .content-region .enlargedred {
    font-size: 1.3225em;
    color: #CD1232;
    line-height: 1.6; }
    @media (min-width: 30em) and (max-width: 80em) {
      .content-region .enlargedred {
        font-size: calc( 1.3225em + 0.24 * ( ( 100vw - 30em) / 50 )); } }
    @media (min-width: 80em) {
      .content-region .enlargedred {
        font-size: 1.5625em; } }
  .content-region h2 {
    color: #CD1232; }
  .content-region h1, .content-region h2, .content-region h3 {
    margin-bottom: 0.16777216em;
    line-height: 1; }
  .content-region > p > a {
    color: #CD1232; }
    .content-region > p > a:hover, .content-region > p > a:focus, .content-region > p > a:visited {
      color: #3b302a; }
  .content-region > ul,
  .content-region > ol {
    margin: 1em 1em 1em 19px; }
    .content-region > ul ul,
    .content-region > ul ol,
    .content-region > ol ul,
    .content-region > ol ol {
      margin: 0.262144em 1em; }
  .content-region h1 + ul,
  .content-region h1 + ol, .content-region h2 + ul,
  .content-region h2 + ol, .content-region h3 + ul,
  .content-region h3 + ol, .content-region h4 + ul,
  .content-region h4 + ol, .content-region h5 + ul,
  .content-region h5 + ol, .content-region h6 + ul,
  .content-region h6 + ol {
    margin-top: 0.16777216em; }
  .content-region > blockquote {
    margin: 1.25em auto;
    padding: 1.25em; }
    .content-region > blockquote > p {
      font-size: 1.15em;
      margin: 0 0 0.32768em; }
      @media (min-width: 30em) and (max-width: 80em) {
        .content-region > blockquote > p {
          font-size: calc( 1.15em + 0.1 * ( ( 100vw - 30em) / 50 )); } }
      @media (min-width: 80em) {
        .content-region > blockquote > p {
          font-size: 1.25em; } }
    .content-region > blockquote > small {
      font-size: 1em;
      text-transform: uppercase;
      letter-spacing: 1px; }
      @media (min-width: 30em) and (max-width: 80em) {
        .content-region > blockquote > small {
          font-size: calc( 1em + 0 * ( ( 100vw - 30em) / 50 )); } }
      @media (min-width: 80em) {
        .content-region > blockquote > small {
          font-size: 1em; } }
  .content-region figure {
    text-align: center;
    margin: 1.25em 0;
    height: auto; }
    .content-region figure img {
      max-height: 75vh; }
    .content-region figure iframe {
      background-color: #eae7e5;
      box-shadow: 0 0.6180339845em 2.6180340252em rgba(47, 39, 34, 0.05);
      border: 1px solid #FFFFFF; }
    .content-region figure figcaption {
      font-size: 0.8695652174em;
      max-width: 43.3125em;
      margin: 1.25em auto;
      color: #756154; }
      @media (min-width: 30em) and (max-width: 80em) {
        .content-region figure figcaption {
          font-size: calc( 0.8695652174em + -0.0695652174 * ( ( 100vw - 30em) / 50 )); } }
      @media (min-width: 80em) {
        .content-region figure figcaption {
          font-size: 0.8em; } }
.call-to-action {
  border-radius: 3px;
  box-shadow: 0 0.6180339845em 2.6180340252em rgba(47, 39, 34, 0.05);
  border: 2px solid #eae7e5;
  background-color: #FFFFFF;
  padding: 6%;
  margin-bottom: 1.25em; }
  @media screen and (min-width: 600px) and (max-width: 1049px) {
    .call-to-action {
      padding: 5%; } }
  @media screen and (min-width: 1050px) and (max-width: 1349px) {
    .call-to-action {
      padding: 1.953125em; } }
  @media screen and (min-width: 1350px) {
    .call-to-action {
      padding: 2.44140625em; } }
  @media screen and (min-width: 1050px) {
    .call-to-action {
      margin-bottom: 1.875em; } }
  .call-to-action h2 {
    font-size: 1.74900625em;
    margin-bottom: 0.16777216em;
    line-height: 1;
    color: #CD1232; }
    @media (min-width: 30em) and (max-width: 80em) {
      .call-to-action h2 {
        font-size: calc( 1.74900625em + 0.6924 * ( ( 100vw - 30em) / 50 )); } }
    @media (min-width: 80em) {
      .call-to-action h2 {
        font-size: 2.44140625em; } }
  .call-to-action p {
    font-size: 1.15em;
    max-width: 42em;
    margin-bottom: 0.8em;
    color: #52443b; }
    @media (min-width: 30em) and (max-width: 80em) {
      .call-to-action p {
        font-size: calc( 1.15em + 0.1 * ( ( 100vw - 30em) / 50 )); } }
    @media (min-width: 80em) {
      .call-to-action p {
        font-size: 1.25em; } }
.download-datasheet {
  border-radius: 3px;
  box-shadow: 0 0.6180339845em 2.6180340252em rgba(47, 39, 34, 0.05);
  border: 2px solid #eae7e5;
  background-color: #FFFFFF;
  padding: 6%;
  margin-bottom: 1.25em; }
  @media screen and (min-width: 600px) and (max-width: 1049px) {
    .download-datasheet {
      padding: 5%; } }
  @media screen and (min-width: 1050px) and (max-width: 1349px) {
    .download-datasheet {
      padding: 1.953125em; } }
  @media screen and (min-width: 1350px) {
    .download-datasheet {
      padding: 2.44140625em; } }
  @media screen and (min-width: 1050px) {
    .download-datasheet {
      margin-bottom: 1.875em; } }
  .download-datasheet h2,
  .download-datasheet .download-btn {
    margin-right: 0.262144em; }
    @media screen and (min-width: 1200px) and (max-width: 1349px) {
      .download-datasheet h2,
      .download-datasheet .download-btn {
        vertical-align: middle;
        display: inline-block; } }
    @media screen and (min-width: 1350px) {
      .download-datasheet h2,
      .download-datasheet .download-btn {
        vertical-align: middle;
        display: inline-block; } }
  .download-datasheet h2 {
    margin-bottom: 0.16777216em;
    line-height: 48px;
    color: #69574c; }

.red-bg .content-region {
  color: #FFFFFF; }

/* BANNER
------------------------------------------------------------------ */
.banner--schematic {
  box-shadow: inset 0 -50px 100px -50px #b9102d;
  border-bottom: 1px solid #d01e3c;
  background-color: transparent;
  position: relative;
  text-align: center;
  overflow: hidden;
  color: #FFFFFF;
  background-image: url("../media/m-white-left@1x.png");
  background-repeat: no-repeat;
  background-size: 650px auto;
  background-position: center;
  /* 1.5 dpr */
  /*
  img {
    @include opacity(0.66);
    position: absolute;
    margin: auto;
    z-index: 0;
    right: 0;
    left: 0;
    top: 0;
  }
*/ }
  @media screen and (min-width: 600px) {
    .banner--schematic {
      background-position: 80% center; } }
  @media (-webkit-min-device-pixel-ratio: 1.5), (min-resolution: 144dpi) {
    .banner--schematic {
      background-image: url("../media/m-white-left@1.5x.png"); } }
  @media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
    .banner--schematic {
      background-image: url("../media/m-white-left@2x.png"); } }
  .banner--schematic .banner-wrap {
    padding: 6%; }
    @media screen and (min-width: 600px) and (max-width: 1049px) {
      .banner--schematic .banner-wrap {
        padding: 5%; } }
    @media screen and (min-width: 1050px) and (max-width: 1349px) {
      .banner--schematic .banner-wrap {
        padding: 1.953125em; } }
    @media screen and (min-width: 1350px) {
      .banner--schematic .banner-wrap {
        padding: 2.44140625em; } }
    .banner--schematic .banner-wrap:first-child {
      padding-bottom: 1.5625em; }
  .banner--schematic .banner-content {
    background-color: rgba(195, 17, 48, 0.5);
    background-image: radial-gradient(  rgba(195, 17, 48, 0.5), rgba(205, 18, 50, 0) 75%);
    background-color: transparent;
    position: relative; }
  .banner--schematic img {
    margin: 0 auto; }
    @media screen and (max-width: 1049px) {
      .banner--schematic img {
        max-width: 75%; } }
  .banner--schematic .banner-img {
    margin: 0 auto; }
    .banner--schematic .banner-img img {
      max-width: 100%; }

.banner--title {
  text-shadow: 0 5px 10px rgba(47, 39, 34, 0.25);
  font-size: 2.0113571875em;
  margin: 0 auto 0.262144em;
  line-height: 1; }
  @media (min-width: 30em) and (max-width: 80em) {
    .banner--title {
      font-size: calc( 2.0113571875em + 1.040400625 * ( ( 100vw - 30em) / 50 )); } }
  @media (min-width: 80em) {
    .banner--title {
      font-size: 3.0517578125em; } }
.banner--lead {
  text-shadow: 0 5px 10px rgba(47, 39, 34, 0.25);
  -webkit-font-smoothing: antialiased;
  font-size: 1.15em;
  max-width: 35.7em;
  margin: 0 auto 1em; }
  @media (min-width: 30em) and (max-width: 80em) {
    .banner--lead {
      font-size: calc( 1.15em + 0.1 * ( ( 100vw - 30em) / 50 )); } }
  @media (min-width: 80em) {
    .banner--lead {
      font-size: 1.25em; } }
/* ICON LISTS
------------------------------------------------------- */
.three-up--icons {
  list-style: none; }
  .three-up--icons > li {
    display: inline-block;
    vertical-align: top;
    min-width: 200px;
    margin-top: 1.25em;
    max-width: 33%; }

.icon-list--large {
  text-align: center;
  color: #FFFFFF; }

.icon-large--img {
  box-shadow: 0 0.6180339845em 2.6180340252em rgba(47, 39, 34, 0.05);
  margin: 0 auto; }

.icon-large--text {
  -webkit-font-smoothing: antialiased;
  max-width: 21em;
  margin: 0.8em auto 1.25em;
  padding: 0 5%; }

.icon-list--small {
  margin-bottom: 1.25em; }
  @media screen and (min-width: 1050px) {
    .icon-list--small {
      margin-bottom: 1.875em; } }
  .icon-list--small h2 {
    margin-bottom: 0.32768em;
    line-height: 1; }
  .icon-list--small .bullet-icon {
    background-image: url("../media/sprite@1x.png");
    background-position: -100px 50px;
    background-size: 250px 50px;
    /* 1.25 dpr up */
    /* 1.5 dpr */ }
    @media (-webkit-min-device-pixel-ratio: 1.25), (min-resolution: 120dpi) {
      .icon-list--small .bullet-icon {
        background-image: url("../media/sprite@1.5x.png"); } }
    @media (-webkit-min-device-pixel-ratio: 1.5), (min-resolution: 144dpi) {
      .icon-list--small .bullet-icon {
        background-image: url("../media/sprite@2x.png"); } }
.icon-list--small li::after {
  clear: both;
  content: "";
  display: block; }

.icon-small--wrap {
  margin: 0 1.25em 1.25em 0;
  display: block;
  float: left;
  width: 50px; }

.icon-small--text {
  overflow: hidden;
  display: block;
  margin: 0; }

/* IMAGE LISTS
-------------------------------------------------- */
.list--offices .three-up > li + li,
.list--overview .three-up > li + li {
  margin-bottom: 1.25em; }
  @media screen and (min-width: 1050px) {
    .list--offices .three-up > li + li,
    .list--overview .three-up > li + li {
      margin-bottom: 1.875em; } }
.list--offices address {
  font-style: normal; }
  .list--offices address b {
    font-size: 1.15em; }
    @media (min-width: 30em) and (max-width: 80em) {
      .list--offices address b {
        font-size: calc( 1.15em + 0.1 * ( ( 100vw - 30em) / 50 )); } }
    @media (min-width: 80em) {
      .list--offices address b {
        font-size: 1.25em; } }
.list--offices .contact-details {
  margin-bottom: 1.25em;
  list-style: none; }
  @media screen and (min-width: 1050px) {
    .list--offices .contact-details {
      margin-bottom: 1.875em; } }
  .list--offices .contact-details > li {
    outline: 1px solid #ddd7d4;
    margin-top: 4px;
    text-shadow: 0 1px 1px #FFFFFF;
    background-color: white;
    padding: 10px;
    padding-left: 35px;
    text-indent: -35px; }
    .list--offices .contact-details > li:before {
      background-image: url("../media/sprite@1x.png");
      background-position: -172px -17px;
      background-size: 250px 50px;
      /* 1.25 dpr up */
      /* 1.5 dpr */
      display: inline-block;
      position: relative;
      margin-left: 10px;
      content: ' ';
      height: 20px;
      width: 25px;
      top: 5px; }
      @media (-webkit-min-device-pixel-ratio: 1.25), (min-resolution: 120dpi) {
        .list--offices .contact-details > li:before {
          background-image: url("../media/sprite@1.5x.png"); } }
      @media (-webkit-min-device-pixel-ratio: 1.5), (min-resolution: 144dpi) {
        .list--offices .contact-details > li:before {
          background-image: url("../media/sprite@2x.png"); } }
    .list--offices .contact-details > li:nth-child(even) {
      background-color: rgba(234, 231, 229, 0.5); }

.list--offices a {
  border-bottom: 1px solid transparent;
  text-decoration: none; }
  .list--offices a:hover, .list--offices a:focus {
    border-bottom-color: #CD1232;
    color: #CD1232; }

.list--overview h3 {
  text-transform: uppercase;
  letter-spacing: 1px;
  color: #69574c;
  color: #CD1232; }

.overview-list {
  margin-bottom: 1.25em;
  list-style: none; }
  @media screen and (min-width: 1050px) {
    .overview-list {
      margin-bottom: 1.875em; } }
  .overview-list > li {
    outline: 1px solid #ddd7d4;
    margin-top: 4px;
    text-shadow: 0 1px 1px #FFFFFF;
    background-color: white;
    padding: 10px;
    padding-left: 35px;
    text-indent: -35px; }
    .overview-list > li:before {
      background-image: url("../media/sprite@1x.png");
      background-position: -172px -17px;
      background-size: 250px 50px;
      /* 1.25 dpr up */
      /* 1.5 dpr */
      display: inline-block;
      position: relative;
      margin-left: 10px;
      content: ' ';
      height: 20px;
      width: 25px;
      top: 5px; }
      @media (-webkit-min-device-pixel-ratio: 1.25), (min-resolution: 120dpi) {
        .overview-list > li:before {
          background-image: url("../media/sprite@1.5x.png"); } }
      @media (-webkit-min-device-pixel-ratio: 1.5), (min-resolution: 144dpi) {
        .overview-list > li:before {
          background-image: url("../media/sprite@2x.png"); } }
    .overview-list > li:nth-child(even) {
      background-color: rgba(234, 231, 229, 0.5); }

.grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
  grid-auto-rows: minmax(200px, auto);
  margin-bottom: 1em; }
  @media screen and (min-width: 600px) and (max-width: 1049px) {
    .grid {
      grid-template-columns: repeat(3, 1fr);
      gap: 20px;
      grid-auto-rows: minmax(200px, auto);
      margin-right: 25%; } }
  @media screen and (min-width: 1200px) and (max-width: 1349px) {
    .grid {
      grid-template-columns: repeat(3, 1fr);
      gap: 20px;
      grid-auto-rows: minmax(200px, auto);
      margin-right: 25%; } }
  @media screen and (min-width: 1350px) {
    .grid {
      grid-template-columns: repeat(3, 1fr);
      gap: 20px;
      grid-auto-rows: minmax(200px, auto);
      margin-right: 25%; } }
.grid-item img {
  margin: 0 0 .5em 0; }

.grid-item h3 {
  font-size: 1.3225em;
  text-transform: uppercase;
  color: #CD1232; }
  @media (min-width: 30em) and (max-width: 80em) {
    .grid-item h3 {
      font-size: calc( 1.3225em + 0.24 * ( ( 100vw - 30em) / 50 )); } }
  @media (min-width: 80em) {
    .grid-item h3 {
      font-size: 1.5625em; } }
.grid-item p {
  font-size: 1em; }
  @media (min-width: 30em) and (max-width: 80em) {
    .grid-item p {
      font-size: calc( 1em + 0 * ( ( 100vw - 30em) / 50 )); } }
  @media (min-width: 80em) {
    .grid-item p {
      font-size: 1em; } }
/* CAROUSEL
------------------------------------------------------- */
/*
 * 	Default theme - Owl Carousel CSS File
 */
.owl-theme .owl-nav {
  -webkit-tap-highlight-color: transparent; }
  .owl-theme .owl-nav [class*='owl-'] {
    border-radius: 3px;
    text-transform: uppercase;
    letter-spacing: 1px;
    font-size: 14px;
    margin: 0 10px 10px 0;
    padding: 4px 7px;
    background: #d13546;
    display: inline-block;
    cursor: pointer;
    border-radius: 3px; }
    .owl-theme .owl-nav [class*='owl-']:hover {
      background: #c12c3c;
      color: #FFF;
      text-decoration: none; }
  .owl-theme .owl-nav .disabled {
    opacity: 0.5;
    cursor: default; }

.owl-theme .owl-nav.disabled + .owl-dots {
  margin-top: 10px; }

.owl-theme .owl-dots {
  -webkit-tap-highlight-color: transparent;
  position: relative;
  padding: 1em; }
  .owl-theme .owl-dots:after {
    background-color: #756154;
    position: absolute;
    display: block;
    height: 3px;
    content: '';
    bottom: 0;
    right: 0;
    left: 0;
    top: 50%; }
  .owl-theme .owl-dots .owl-dot {
    display: inline-block;
    position: relative;
    zoom: 1;
    *display: inline;
    z-index: 100; }
    .owl-theme .owl-dots .owl-dot span {
      width: 15px;
      height: 15px;
      margin: 10px 10px 0;
      background: #756154;
      border: 4px solid #756154;
      display: block;
      -webkit-backface-visibility: visible;
      transition: opacity 200ms ease;
      border-radius: 30px; }
    .owl-theme .owl-dots .owl-dot.active span, .owl-theme .owl-dots .owl-dot:hover span {
      background: #FFFFFF; }

.timeline-wrap {
  margin-bottom: 1.25em; }
  @media screen and (min-width: 1050px) {
    .timeline-wrap {
      margin-bottom: 1.875em; } }
  .timeline-wrap h2 {
    margin-bottom: 0.32768em;
    line-height: 1; }

.owl-carousel {
  -webkit-font-smoothing: antialiased;
  box-shadow: 0 0.6180339845em 2.6180340252em rgba(47, 39, 34, 0.05);
  border: 1px solid #eae7e5;
  background-color: #3b302a;
  text-align: center;
  overflow: hidden;
  color: #FFFFFF; }
  .owl-carousel .item {
    padding: 2em 1em 1em; }

.carousel-item--date {
  font-size: 0.8695652174em;
  color: #d13546;
  letter-spacing: 2px;
  display: block; }
  @media (min-width: 30em) and (max-width: 80em) {
    .carousel-item--date {
      font-size: calc( 0.8695652174em + -0.0695652174 * ( ( 100vw - 30em) / 50 )); } }
  @media (min-width: 80em) {
    .carousel-item--date {
      font-size: 0.8em; } }
.carousel-item--title {
  font-size: 1.3225em;
  max-width: 42em;
  line-height: 1;
  color: #FFFFFF;
  display: block; }
  @media (min-width: 30em) and (max-width: 80em) {
    .carousel-item--title {
      font-size: calc( 1.3225em + 0.24 * ( ( 100vw - 30em) / 50 )); } }
  @media (min-width: 80em) {
    .carousel-item--title {
      font-size: 1.5625em; } }
.carousel-item--text {
  font-size: 1.15em;
  max-width: 31.5em;
  margin: 0.64em auto; }
  @media (min-width: 30em) and (max-width: 80em) {
    .carousel-item--text {
      font-size: calc( 1.15em + 0.1 * ( ( 100vw - 30em) / 50 )); } }
  @media (min-width: 80em) {
    .carousel-item--text {
      font-size: 1.25em; } }
/* IMAGE LISTS
-------------------------------------------------- */
[class*="image-list--"] {
  margin-bottom: 1.25em; }
  @media screen and (min-width: 1050px) {
    [class*="image-list--"] {
      margin-bottom: 1.875em; } }
  [class*="image-list--"] > h2 {
    margin-bottom: 0.32768em;
    line-height: 1; }

.lightbox-trigger {
  text-decoration: none;
  display: block; }
  .lightbox-trigger img {
    box-shadow: 0 0.6180339845em 2.6180340252em rgba(47, 39, 34, 0.05);
    border: 1px solid #eae7e5;
    margin: 0 auto 1em; }
  .lightbox-trigger b {
    transition: all 0.1s linear;
    border-bottom: 1px solid transparent;
    font-size: 1.15em;
    color: #52443b; }
    @media (min-width: 30em) and (max-width: 80em) {
      .lightbox-trigger b {
        font-size: calc( 1.15em + 0.1 * ( ( 100vw - 30em) / 50 )); } }
    @media (min-width: 80em) {
      .lightbox-trigger b {
        font-size: 1.25em; } }
  .lightbox-trigger:hover b, .lightbox-trigger:focus b {
    border-bottom: 1px solid #CD1232;
    color: #CD1232; }

.team-name {
  font-size: 1.15em;
  color: #52443b; }
  @media (min-width: 30em) and (max-width: 80em) {
    .team-name {
      font-size: calc( 1.15em + 0.1 * ( ( 100vw - 30em) / 50 )); } }
  @media (min-width: 80em) {
    .team-name {
      font-size: 1.25em; } }
.team-title {
  -webkit-font-smoothing: antialiased;
  margin-bottom: 0.64em;
  color: #756154; }

.team-name,
.team-title {
  line-height: 1.3125; }

.read-bio {
  font-size: 0.8695652174em;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: #756154; }
  @media (min-width: 30em) and (max-width: 80em) {
    .read-bio {
      font-size: calc( 0.8695652174em + -0.0695652174 * ( ( 100vw - 30em) / 50 )); } }
  @media (min-width: 80em) {
    .read-bio {
      font-size: 0.8em; } }
.lightbox-trigger:hover .read-bio, .lightbox-trigger:focus .read-bio {
  text-decoration: underline; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.mfp-preloader a {
  color: #CCC; }

.mfp-preloader a:hover {
  color: #FFF; }

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

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

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

button::-moz-focus-inner {
  padding: 0;
  border: 0; }

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

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

.mfp-close:active {
  top: 1px; }

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

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

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

.mfp-arrow {
  position: absolute;
  opacity: 0.65;
  filter: alpha(opacity=65);
  margin: 0;
  top: 50%;
  margin-top: -55px;
  padding: 0;
  width: 90px;
  height: 110px;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0); }

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

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

.mfp-arrow:before, .mfp-arrow:after, .mfp-arrow .mfp-b, .mfp-arrow .mfp-a {
  content: '';
  display: block;
  width: 0;
  height: 0;
  position: absolute;
  left: 0;
  top: 0;
  margin-top: 35px;
  margin-left: 35px;
  border: medium inset transparent; }

.mfp-arrow:after, .mfp-arrow .mfp-a {
  border-top-width: 13px;
  border-bottom-width: 13px;
  top: 8px; }

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

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

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

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

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

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

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

.mfp-iframe-holder {
  padding-top: 40px;
  padding-bottom: 40px; }

.mfp-iframe-holder .mfp-content {
  line-height: 0;
  width: 100%;
  max-width: 900px; }

.mfp-iframe-holder .mfp-close {
  top: -40px; }

.mfp-iframe-scaler {
  width: 100%;
  height: 0;
  overflow: hidden;
  padding-top: 56.25%; }

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

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

/* The shadow behind the image */
.mfp-figure {
  line-height: 0; }

.mfp-figure:after {
  content: '';
  position: absolute;
  left: 0;
  top: 40px;
  bottom: 40px;
  display: block;
  right: 0;
  width: auto;
  height: auto;
  z-index: -1;
  box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
  background: #444; }

.mfp-figure small {
  color: #BDBDBD;
  display: block;
  font-size: 12px;
  line-height: 14px; }

.mfp-figure figure {
  margin: 0; }

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

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

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

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

@media screen and (max-width: 800px) and (orientation: landscape), screen and (max-height: 300px) {
  /**
       * Remove all paddings around the image on small screen
       */
  .mfp-img-mobile .mfp-image-holder {
    padding-left: 0;
    padding-right: 0; }
  .mfp-img-mobile img.mfp-img {
    padding: 0; }
  .mfp-img-mobile .mfp-figure:after {
    top: 0;
    bottom: 0; }
  .mfp-img-mobile .mfp-figure small {
    display: inline;
    margin-left: 5px; }
  .mfp-img-mobile .mfp-bottom-bar {
    background: rgba(0, 0, 0, 0.6);
    bottom: 0;
    margin: 0;
    top: auto;
    padding: 3px 5px;
    position: fixed;
    box-sizing: border-box; }
  .mfp-img-mobile .mfp-bottom-bar:empty {
    padding: 0; }
  .mfp-img-mobile .mfp-counter {
    right: 5px;
    top: 3px; }
  .mfp-img-mobile .mfp-close {
    top: 0;
    right: 0;
    width: 35px;
    height: 35px;
    line-height: 35px;
    background: rgba(0, 0, 0, 0.6);
    position: fixed;
    text-align: center;
    padding: 0; } }

@media all and (max-width: 900px) {
  .mfp-arrow {
    -webkit-transform: scale(0.75);
    transform: scale(0.75); }
  .mfp-arrow-left {
    -webkit-transform-origin: 0;
    transform-origin: 0; }
  .mfp-arrow-right {
    -webkit-transform-origin: 100%;
    transform-origin: 100%; }
  .mfp-container {
    padding-left: 6px;
    padding-right: 6px; } }

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

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

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

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

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

/* Styles for dialog window */
#small-dialog {
  background: white;
  padding: 20px 30px;
  text-align: left;
  max-width: 400px;
  margin: 40px auto;
  position: relative; }

.modal-box {
  background: white;
  padding: 1.953125em 1.5625em;
  text-align: left;
  max-width: 600px;
  margin: 40px auto;
  position: relative; }
  .modal-box .title {
    font-size: 1em;
    line-height: 1.15em;
    margin: 0 0 0.8em 0; }
    @media (min-width: 30em) and (max-width: 80em) {
      .modal-box .title {
        font-size: calc( 1em + 0 * ( ( 100vw - 30em) / 50 )); } }
    @media (min-width: 80em) {
      .modal-box .title {
        font-size: 1em; } }
    @media (min-width: 30em) and (max-width: 80em) {
      .modal-box .title {
        line-height: calc( 1.15em + 0.1 * ( ( 100vw - 30em) / 50 )); } }
    @media (min-width: 80em) {
      .modal-box .title {
        line-height: 1.25em; } }
  .modal-box h4 {
    font-size: 1.15em;
    margin: 0 0 1em 0; }
    @media (min-width: 30em) and (max-width: 80em) {
      .modal-box h4 {
        font-size: calc( 1.15em + 0.1 * ( ( 100vw - 30em) / 50 )); } }
    @media (min-width: 80em) {
      .modal-box h4 {
        font-size: 1.25em; } }
/**
 * Fade-zoom animation for first dialog
 */
/* start state */
.my-mfp-zoom-in .zoom-anim-dialog {
  opacity: 0;
  transition: all 0.2s ease-in-out;
  -webkit-transform: scale(0.8);
  transform: scale(0.8); }

/* animate in */
.my-mfp-zoom-in.mfp-ready .zoom-anim-dialog {
  opacity: 1;
  -webkit-transform: scale(1);
  transform: scale(1); }

/* animate out */
.my-mfp-zoom-in.mfp-removing .zoom-anim-dialog {
  -webkit-transform: scale(0.8);
  transform: scale(0.8);
  opacity: 0; }

/* Dark overlay, start state */
.my-mfp-zoom-in.mfp-bg {
  opacity: 0;
  transition: opacity 0.3s ease-out; }

/* animate in */
.my-mfp-zoom-in.mfp-ready.mfp-bg {
  opacity: 0.8; }

/* animate out */
.my-mfp-zoom-in.mfp-removing.mfp-bg {
  opacity: 0; }

/**
 * Fade-move animation for second dialog
 */
/* at start */
.my-mfp-slide-bottom .zoom-anim-dialog {
  opacity: 0;
  transition: all 0.2s ease-out;
  -webkit-transform: translateY(-20px) perspective(600px) rotateX(10deg);
  transform: translateY(-20px) perspective(600px) rotateX(10deg); }

/* animate in */
.my-mfp-slide-bottom.mfp-ready .zoom-anim-dialog {
  opacity: 1;
  -webkit-transform: translateY(0) perspective(600px) rotateX(0);
  transform: translateY(0) perspective(600px) rotateX(0); }

/* animate out */
.my-mfp-slide-bottom.mfp-removing .zoom-anim-dialog {
  opacity: 0;
  -webkit-transform: translateY(-10px) perspective(600px) rotateX(10deg);
  transform: translateY(-10px) perspective(600px) rotateX(10deg); }

/* Dark overlay, start state */
.my-mfp-slide-bottom.mfp-bg {
  opacity: 0;
  transition: opacity 0.3s ease-out; }

/* animate in */
.my-mfp-slide-bottom.mfp-ready.mfp-bg {
  opacity: 0.8; }

/* animate out */
.my-mfp-slide-bottom.mfp-removing.mfp-bg {
  opacity: 0; }

/*! PhotoSwipe main CSS by Dmitry Semenov | photoswipe.com | MIT license */
/*
	Styles for basic PhotoSwipe functionality (sliding area, open/close transitions)
*/
/* pswp = photoswipe */
.pswp {
  display: none;
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  overflow: hidden;
  touch-action: none;
  z-index: 1500;
  -webkit-text-size-adjust: 100%;
  /* create separate layer, to avoid paint on window.onscroll in webkit/blink */
  -webkit-backface-visibility: hidden;
  outline: none; }

.pswp * {
  box-sizing: border-box; }

.pswp img {
  max-width: none; }

/* style is added when JS option showHideOpacity is set to true */
.pswp--animate_opacity {
  /* 0.001, because opacity:0 doesn't trigger Paint action, which causes lag at start of transition */
  opacity: 0.001;
  will-change: opacity;
  /* for open/close transition */
  transition: opacity 333ms cubic-bezier(0.4, 0, 0.22, 1); }

.pswp--open {
  display: block; }

.pswp--zoom-allowed .pswp__img {
  /* autoprefixer: off */
  cursor: -webkit-zoom-in;
  cursor: -moz-zoom-in;
  cursor: zoom-in; }

.pswp--zoomed-in .pswp__img {
  /* autoprefixer: off */
  cursor: -webkit-grab;
  cursor: -moz-grab;
  cursor: grab; }

.pswp--dragging .pswp__img {
  /* autoprefixer: off */
  cursor: -webkit-grabbing;
  cursor: -moz-grabbing;
  cursor: grabbing; }

/*
	Background is added as a separate element.
	As animating opacity is much faster than animating rgba() background-color.
*/
.pswp__bg {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: #000;
  opacity: 0;
  -webkit-transform: translateZ(0);
          transform: translateZ(0);
  -webkit-backface-visibility: hidden;
  will-change: opacity; }

.pswp__scroll-wrap {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  overflow: hidden; }

.pswp__container,
.pswp__zoom-wrap {
  touch-action: none;
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0; }

/* Prevent selection and tap highlights */
.pswp__container,
.pswp__img {
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-tap-highlight-color: transparent;
  -webkit-touch-callout: none; }

.pswp__zoom-wrap {
  position: absolute;
  width: 100%;
  -webkit-transform-origin: left top;
  transform-origin: left top;
  /* for open/close transition */
  transition: -webkit-transform 333ms cubic-bezier(0.4, 0, 0.22, 1);
  transition: transform 333ms cubic-bezier(0.4, 0, 0.22, 1);
  transition: transform 333ms cubic-bezier(0.4, 0, 0.22, 1), -webkit-transform 333ms cubic-bezier(0.4, 0, 0.22, 1); }

.pswp__bg {
  will-change: opacity;
  /* for open/close transition */
  transition: opacity 333ms cubic-bezier(0.4, 0, 0.22, 1); }

.pswp--animated-in .pswp__bg,
.pswp--animated-in .pswp__zoom-wrap {
  transition: none; }

.pswp__container,
.pswp__zoom-wrap {
  -webkit-backface-visibility: hidden; }

.pswp__item {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  overflow: hidden; }

.pswp__img {
  position: absolute;
  width: auto;
  height: auto;
  top: 0;
  left: 0; }

/*
	stretched thumbnail or div placeholder element (see below)
	style is added to avoid flickering in webkit/blink when layers overlap
*/
.pswp__img--placeholder {
  -webkit-backface-visibility: hidden; }

/*
	div element that matches size of large image
	large image loads on top of it
*/
.pswp__img--placeholder--blank {
  background: #222; }

.pswp--ie .pswp__img {
  width: 100% !important;
  height: auto !important;
  left: 0;
  top: 0; }

/*
	Error message appears when image is not loaded
	(JS option errorMsg controls markup)
*/
.pswp__error-msg {
  position: absolute;
  left: 0;
  top: 50%;
  width: 100%;
  text-align: center;
  font-size: 14px;
  line-height: 16px;
  margin-top: -8px;
  color: #CCC; }

.pswp__error-msg a {
  color: #CCC;
  text-decoration: underline; }

@media print {
  /* Remove unwanted elements */
  footer,
  object,
  video,
  audio,
  embed,
  form,
  nav {
    display: none; }
  /* Change text colour to black (useful for light text on a dark background) */
  body {
    background-color: white;
    font: 13pt sans-serif;
    line-height: 1.25;
    text-align: left;
    color: #000; }
  /* Improve colour contrast of links */
  a {
    color: blue; }
  a:after {
    content: " (" attr(href) ")";
    font-style: italic;
    font-size: 11pt;
    display: block;
    color: blue; }
  h1, h2, h3, h4, h5, h6 {
    font-weight: bold; }
  h1 {
    font-size: 20pt; }
  h2 {
    font-size: 19pt; }
  h3 {
    font-size: 18pt; }
  h4 {
    font-size: 17pt; }
  h5 {
    font-size: 16pt; }
  h6 {
    font-size: 15pt; }
  /* Ensure the content spans the full width */
  .container {
    width: 100%;
    float: none;
    margin: 0; }
  /* Keep images small */
  img {
    max-width: 50%;
    display: block;
    height: auto; } }
