/* *
 * Main Stylesheet
 * Should not contain any rules, only imports for the various stylesheets in the project
 */
/* *
 * Mixins
 * Can contain actual LESS mixins or just classes that we commonly want to extend but still want available as a normal class.
 */
.clearfix::after {
  content: "";
  display: table;
  clear: both;
}
.Mixin__CenterHorizontal {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
}
.Mixin__CenterVertical {
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
}
.Mixin__Breakout {
  position: relative;
  display: table;
  width: 100vw;
  left: 50%;
}
.Mixin__Breakout > * {
  position: relative;
  margin-left: auto;
  margin-right: auto;
  left: -50%;
}
/*
 * CSS Reset
 * Based on Fix by Jayden Seric
 * https://github.com/jaydenseric/Fix
 */
/* stylelint-disable */
* {
  box-sizing: border-box;
}
/* stylelint-enable */
html {
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -webkit-tap-highlight-color: transparent;
}
body {
  margin: 0;
  line-height: 1;
  font-family: sans-serif;
}
iframe {
  border: 0;
}
ul,
ol {
  margin-top: 0;
  margin-bottom: 0;
  padding-left: 0;
}
li {
  display: block;
  list-style-type: none;
}
dl {
  margin-top: 0;
  margin-bottom: 0;
}
dd {
  margin-left: 0;
}
h1,
h2,
h3,
h4,
h5,
h6 {
  margin-top: 0;
  margin-bottom: 0;
  font-size: inherit;
}
blockquote {
  margin: 0;
  padding: 0;
}
p {
  margin-top: 0;
  margin-bottom: 0;
}
strong {
  font-weight: 400;
}
img {
  border: 0;
  max-width: 100%;
  height: auto;
  vertical-align: middle;
}
a {
  text-decoration: none;
  color: inherit;
}
button {
  border: 0;
  margin: 0;
  padding: 0;
  text-align: inherit;
  text-transform: inherit;
  font: inherit;
  -webkit-font-smoothing: inherit;
  letter-spacing: inherit;
  background: none;
  cursor: pointer;
  overflow: visible;
}
button:focus {
  outline: none;
}
::-moz-focus-inner {
  border: 0;
  padding: 0;
}
input[type="text"],
input[type="tel"],
input[type="email"],
input[type="submit"],
textarea {
  -webkit-appearance: none;
  margin: 0;
}
dialog {
  position: absolute;
  left: 0;
  right: 0;
  width: -moz-fit-content;
  width: -webkit-fit-content;
  width: fit-content;
  height: -moz-fit-content;
  height: -webkit-fit-content;
  height: fit-content;
  margin: auto;
  border: solid;
  padding: 1em;
  background: white;
  color: black;
  display: block;
}
dialog:not([open]) {
  display: none;
}
dialog + .backdrop {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: rgba(0, 0, 0, 0.5);
}
._dialog_overlay {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}
dialog.fixed {
  position: fixed;
  top: 50%;
  transform: translate(0, -50%);
}
/* *
 * Base Stylesheet
 * Establishes common global styles
 */
html,
body {
  overflow-x: hidden;
}
body {
  background-color: #fff;
  color: #000;
  font-family: "adobe-garamond-pro", "Times New Roman", Times, Georgia, serif;
}
html.HasSplash body {
  background-color: #000;
}
a svg {
  display: block;
}
strong {
  font-weight: 600;
}
/* *
 * Imported from 2-mixins.less
 *
 */
.hidden {
  display: none !important;
  visibility: hidden;
}
html.Fixed {
  position: fixed;
  width: 100%;
}
/* *
 * Button
 * Important element that appears on most sites and should be applied either to an A or Button element.
 * Uses pixel measurements for the most part to have an exact look
 */
.Button {
  background-color: #a39161;
  cursor: pointer;
  width: 100%;
  height: 40px;
  color: #fff;
  text-align: center;
  display: flex;
  justify-content: space-between;
  align-items: center;
  box-shadow: 0 2px 6px 0 rgba(0, 0, 0, 0.2);
  transition: all 0.2s ease;
}
@media (min-width: 44rem) {
}
.Button:focus {
  background-color: #b09d6a;
}
html.no-touchevents .Button:hover {
  background-color: #b09d6a;
  box-shadow: 0 2px 8px 0 rgba(0, 0, 0, 0.2);
}
@media (hover) {
  .Button:hover {
    background-color: #b09d6a;
    box-shadow: 0 2px 8px 0 rgba(0, 0, 0, 0.2);
  }
}
.Button--FlexWidth {
  width: 90%;
  min-width: 290px;
  margin: 0 auto;
}
@media (min-width: 64rem) {
  .Button--FlexWidth {
    width: 100%;
  }
}
.Button__Cell {
  padding: 0 1rem;
  flex: 2;
  text-transform: uppercase;
  line-height: 1;
}
@media (min-width: 44rem) {
}
.Button__Cell + .Button__Cell {
  line-height: 1;
  flex: 0.5;
  text-transform: none;
  position: relative;
}
@media (min-width: 24rem) {
  .Button__Cell + .Button__Cell {
    font-size: 0.75rem !important;
  }
}
.Button__Cell + .Button__Cell::after {
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  content: "";
  background-color: rgba(0, 0, 0, 0.05);
  height: 40px;
  width: 100%;
}
@media (min-width: 44rem) {
}
.Button--Offset .Button__Cell + .Button__Cell {
  margin-top: 1px;
}
.RoundedButton,
.Illumination__ViewDetails,
.SiteMenu__Site,
.Slider--Image .Slider__Nav__Cta,
.Slider--Image .Slider__Nav::before {
  font-size: 14px;
  font-family: "Gill Sans", "AppleGothic", helvetica, arial, sans-serif;
  padding: 4px 15px 3px;
  border-radius: 60px;
  transition: all 0.2s ease;
  min-width: 133px;
  color: #a39161;
  border: 1px solid rgba(163, 145, 97, 0.5);
  display: inline-block;
}
.RoundedButton:focus,
.Illumination__ViewDetails:focus,
.SiteMenu__Site:focus,
.Slider--Image .Slider__Nav__Cta:focus,
.Slider--Image .Slider__Nav::before:focus {
  color: rgba(163, 145, 97, 0.5);
}
html.no-touchevents .RoundedButton:hover,
html.no-touchevents .Illumination__ViewDetails:hover,
html.no-touchevents .SiteMenu__Site:hover,
html.no-touchevents .Slider--Image .Slider__Nav__Cta:hover,
html.no-touchevents .Slider--Image .Slider__Nav::before:hover {
  color: rgba(163, 145, 97, 0.5);
}
@media (hover) {
  .RoundedButton:hover,
  .Illumination__ViewDetails:hover,
  .SiteMenu__Site:hover,
  .Slider--Image .Slider__Nav__Cta:hover,
  .Slider--Image .Slider__Nav::before:hover {
    color: rgba(163, 145, 97, 0.5);
  }
}
.RoundedButton--ColorWhite,
.Illumination__ViewDetails,
.Slider--Image .Slider__Nav__Cta,
.Slider--Image .Slider__Nav::before {
  color: #ffffff;
  border: 1px solid rgba(255, 255, 255, 0.5);
}
.RoundedButton--ColorWhite:focus,
.Illumination__ViewDetails:focus,
.Slider--Image .Slider__Nav__Cta:focus,
.Slider--Image .Slider__Nav::before:focus {
  color: rgba(255, 255, 255, 0.5);
}
html.no-touchevents .RoundedButton--ColorWhite:hover,
html.no-touchevents .Illumination__ViewDetails:hover,
html.no-touchevents .Slider--Image .Slider__Nav__Cta:hover,
html.no-touchevents .Slider--Image .Slider__Nav::before:hover {
  color: rgba(255, 255, 255, 0.5);
}
@media (hover) {
  .RoundedButton--ColorWhite:hover,
  .Illumination__ViewDetails:hover,
  .Slider--Image .Slider__Nav__Cta:hover,
  .Slider--Image .Slider__Nav::before:hover {
    color: rgba(255, 255, 255, 0.5);
  }
}
/* *
 * Form Styles
 * Contextually defines styles for the common form elements, unifying their look
 */
.Form input[type="text"],
.Form input[type="email"],
.Form input[type="tel"],
.Form input[type="password"],
.Form select:focus,
.Form textarea {
  font-family: "Gill Sans", "AppleGothic", helvetica, arial, sans-serif;
  font-size: 16px;
  padding: 4px 8px;
  border: 0;
  width: 100%;
  height: 35px;
  border-radius: 0;
  outline: none;
}
.InputAddOn {
  display: flex;
}
@media (min-width: 64rem) {
  .InputAddOn--FlexWidth {
    width: 90%;
    margin: 0 auto;
  }
}
.InputAddOn__Field {
  flex: 1;
}
.InputAddOn__Button {
  border-radius: 0;
  outline: none;
  height: 35px;
  background-color: #a39161;
  border: 0 none;
  color: #fff;
  text-transform: uppercase;
  min-width: 75px;
  cursor: pointer;
  transition: all 0.2s ease;
}
.InputAddOn__Button:focus,
html.no-touchevents .InputAddOn__Button:hover {
  background-color: #b09d6a;
}
@media (hover) {
  .InputAddOn__Button:hover {
    background-color: #b09d6a;
  }
}
html.IsApp .Form--ConstantContact .InputAddOn {
  justify-content: center;
}
html.IsApp .Form--ConstantContact .InputAddOn__Field {
  display: none;
}
html.IsApp .Form--ConstantContact .InputAddOn__Button {
  flex: 1;
  max-width: 290px;
}
.Header {
  position: relative;
  z-index: 1;
  color: #fff;
  height: 40px;
  background-color: #000;
  padding: 0 1rem;
  justify-content: center;
  align-items: center;
  display: flex;
}
@media (min-width: 64rem) {
  .Header {
    height: 80px;
    display: flex;
    align-items: center;
    background-image: linear-gradient(rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0) 100%);
  }
  .Header + .Hero {
    top: -80px;
    padding-top: 80px;
  }
}
html.IsApp .Header {
  display: none !important;
}
.Header + .Layer--Main {
  margin-top: 1.5rem;
}
@media (min-width: 64rem) {
  .Header__Mobile {
    display: none;
  }
}
.Header--Transparent {
  background-color: transparent;
}
.Header__Logo {
  z-index: 1;
  color: currentColor;
  padding: 10px 0;
}
.Header__Logo svg {
  transition: all 0.2s ease;
  fill: currentColor;
  width: 165.6px;
}
@media (min-width: 24rem) {
  .Header__Logo svg {
    width: 270px;
  }
}
@media (min-width: 44rem) {
  .Header__Logo svg {
    width: 33.3333vw;
    max-width: 340px;
  }
}
@media (min-width: 44rem) {
  .Page__Home .Header__Logo svg {
    width: 50vw;
  }
}
.Header--Fixed {
  position: fixed;
  z-index: 1;
  width: 100%;
}
.Header__Desktop {
  display: none;
}
@media (min-width: 64rem) {
  .Header__Desktop {
    display: initial;
    max-width: 84rem;
    width: 100%;
    margin: 0 auto;
  }
}
@media (min-width: 95rem) {
  .Header__Desktop {
    display: initial;
    max-width: 90rem;
    width: 100%;
    margin: 0 auto;
  }
}
.Header__Desktop .Header__Logo svg:focus,
html.no-touchevents .Header__Desktop .Header__Logo svg:hover {
  fill: #a39161;
}
@media (hover) {
  .Header__Desktop .Header__Logo svg:hover {
    fill: #a39161;
  }
}
/* *
 * Heading
 * Instead of styling h(x) elements like normal, we use the .Heading class. This means that elements can have SEO weight that is disconnected from their visual appearance. It also means that non-heading elements can adopt the heading styles, like links or buttons, when helpful.
 * Calculate unitless line height from design assets
 * line-height: line-height / font-size
 */
.Heading,
.Button__Cell,
.Button__Cell + .Button__Cell,
.InputAddOn__Button,
.Nav__Item,
.PlayVideo__Close,
.ProductNav__Label,
.SiteMenu__Open,
.SiteMenu__Close,
.TextBlock h1,
.TextBlock h2,
.TextBlock h3,
.TextBlock h4,
.TextBlock h5 {
  font-family: "adobe-garamond-pro", "Times New Roman", Times, Georgia, serif;
  font-weight: 400;
}
.Heading--Primary,
.ProductNav__Label,
.TextBlock h1 {
  font-size: 1.5rem;
}
.Heading--Primary--FontSizeFlex {
  font-size: 1rem;
}
@media (min-width: 44rem) {
  .Heading--Primary--FontSizeFlex {
    font-size: 1.125rem;
  }
}
.Heading--Primary--FontSizeMedium,
.TextBlock h1 {
  font-size: 1.5rem;
}
@media (min-width: 44rem) {
  .Heading--Primary--FontSizeMedium,
  .TextBlock h1 {
    font-size: 2rem;
  }
}
.Heading--Primary--FontSizeLarge {
  font-size: 1.5rem;
}
@media (min-width: 44rem) {
  .Heading--Primary--FontSizeLarge {
    font-size: 2.25rem;
  }
}
.Heading--Secondary,
.Button__Cell,
.InputAddOn__Button,
.Nav__Item,
.PlayVideo__Close,
.SiteMenu__Open,
.SiteMenu__Close,
.TextBlock h4 {
  font-family: "Gill Sans", "AppleGothic", helvetica, arial, sans-serif;
  font-size: 0.75rem;
  line-height: 1.2;
}
.Heading--Secondary--FontSizeMedium,
.Nav__Item {
  font-size: 0.875rem;
}
.Heading--Secondary--FontSizeLarge {
  font-size: 0.75rem;
  line-height: 1.2;
}
@media (min-width: 44rem) {
  .Heading--Secondary--FontSizeLarge {
    font-size: 0.875rem;
  }
}
.Heading--Secondary--FontSizeSmall,
.PlayVideo__Close,
.SiteMenu__Open,
.SiteMenu__Close {
  font-size: 0.5rem;
}
.Heading--Tertiary,
.TextBlock h3 {
  letter-spacing: 4.67px;
  text-transform: uppercase;
  font-size: 0.875rem;
}
@media (min-width: 44rem) {
  .Heading--Tertiary,
  .TextBlock h3 {
    font-size: 1.5rem;
  }
}
.Heading--Emphasis,
.Button__Cell + .Button__Cell,
.TextBlock h5 {
  font-style: italic;
  font-size: 1.125rem;
  line-height: 1.333;
}
@media (min-width: 44rem) {
  .Heading--Emphasis,
  .Button__Cell + .Button__Cell,
  .TextBlock h5 {
    font-size: 1.5rem;
  }
}
@media (min-width: 44rem) {
  .Heading--Emphasis--FontSizeLarge {
    font-size: 1.75rem;
  }
}
.Heading--Emphasis--FontSizeSmall {
  font-size: 0.75rem;
  line-height: 1.5;
}
@media (min-width: 44rem) {
  .Heading--Emphasis--FontSizeMedium {
    font-size: 1.5rem;
    line-height: 1.25;
  }
}
.Heading--Emphasis--FontSizeTiny,
.Button__Cell + .Button__Cell {
  font-size: 0.625rem;
  line-height: 1;
}
.Heading--TextTransformUpperCase,
.ProductNav__Label {
  text-transform: uppercase;
}
.Heading--TextShadow {
  text-shadow: 0 2px 6px rgba(0, 0, 0, 0.2);
}
.Heading--HasPrefix {
  text-transform: uppercase;
}
.Heading--HasPrefix em {
  text-transform: lowercase;
}
.Heading--Author::before {
  content: "– ";
}
.Hero {
  color: #fff;
  background-color: #000;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  background-image: url("/assets/images/Background--Hero.jpg");
  position: relative;
  top: -40px;
  padding-top: 40px;
}
html.IsApp .Hero {
  top: 0;
  padding-top: 0;
  margin-bottom: 40px;
}
@media (min-width: 24rem) {
  .Hero {
    background-image: url("/assets/images/Background--Hero--Large.jpg");
  }
}
@media (min-width: 64rem) {
  .Hero {
    background-image: url("/assets/images/Background--Hero--Desktop.jpg");
  }
}
@media (min-width: 64rem) and (max-resolution: 300dpi) {
  .Hero {
    background-image: url("/assets/images/Background--Hero--Desktop@2x.jpg");
  }
}
.Hero__Inner {
  display: flex;
  flex-direction: column;
  position: relative;
  justify-content: flex-end;
  padding: 1.5rem 1rem;
  height: calc(100vh - 40px);
  margin: auto;
}
@media (min-width: 44rem) {
  .Hero__Inner {
    padding-left: 5rem;
    padding-right: 5rem;
  }
}
@media (min-width: 64rem) {
  .Hero__Inner {
    height: 600px;
  }
}
html.IsApp .Hero__Inner {
  height: 100vh;
}
@media (min-width: 64rem) {
  html.IsApp .Hero__Inner {
    height: 600px;
  }
}
.Hero .PlayVideo {
  margin: auto;
  text-align: center;
}
@media (min-width: 64rem) {
  .Hero__Quote {
    margin: 0 auto;
    width: 700px;
  }
}
.Hero__NativeVideo {
  position: fixed;
  left: -99999px;
  width: 100vw;
  top: 50%;
  transform: translateY(-50%);
}
.Illumination__Item {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  color: #fff;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  position: relative;
  height: 80vh;
  text-shadow: 0 2px 6px rgba(0, 0, 0, 0.2);
  transition: all 0.2s ease;
}
.Illumination__Item:focus,
html.no-touchevents .Illumination__Item:hover {
  opacity: 0.9;
}
@media (min-width: 64rem) {
  .Illumination__Item:focus .Illumination__ViewDetails,
  html.no-touchevents .Illumination__Item:hover .Illumination__ViewDetails {
    opacity: 1;
  }
}
@media (hover) {
  .Illumination__Item:hover {
    opacity: 0.9;
  }
}
@media (hover) and (min-width: 64rem) {
  .Illumination__Item:hover .Illumination__ViewDetails {
    opacity: 1;
  }
}
@media (min-width: 24rem) {
  .Illumination__Item {
    height: 545px;
  }
}
.Illumination__Item .Heading + .Heading,
.Illumination__Item .Button__Cell + .Button__Cell,
.Illumination__Item .Button__Cell + .Button__Cell + .Button__Cell + .Button__Cell,
.Illumination__Item .Nav__Item + .Nav__Item,
.Illumination__Item .PlayVideo__Close + .PlayVideo__Close,
.Illumination__Item .ProductNav__Label + .ProductNav__Label,
.Illumination__Item .SiteMenu__Open + .SiteMenu__Open,
.Illumination__Item .SiteMenu__Close + .SiteMenu__Close,
.Illumination__Item .TextBlock h1 + .TextBlock h1,
.Illumination__Item .TextBlock h2 + .TextBlock h2,
.Illumination__Item .TextBlock h3 + .TextBlock h3,
.Illumination__Item .TextBlock h4 + .TextBlock h4,
.Illumination__Item .TextBlock h5 + .TextBlock h5 {
  padding-top: 0.25rem;
}
.Illumination__Item--TextShadowDarker {
  text-shadow: 0 2px 18px rgba(0, 0, 0, 0.6);
}
.Illumination__BuyButton {
  position: relative;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 90%;
  min-width: 290px;
}
@media (min-width: 44rem) {
  .Illumination__BuyButton {
    min-width: none;
  }
}
.Illumination__ViewDetails {
  transition: all 0.2s ease;
  text-transform: uppercase;
  margin-top: 2.125rem;
}
@media (min-width: 64rem) {
  .Illumination__ViewDetails {
    opacity: 0;
  }
}
.Image--Block {
  display: block;
  max-width: 100%;
  height: auto;
}
.Image--Cover {
  width: 100%;
  object-fit: cover;
}
.Link--Image {
  display: block;
}
.Nav--Header {
  display: flex;
  justify-content: space-between;
}
.Nav__Item {
  position: relative;
  text-decoration: none;
  color: rgba(255, 255, 255, 0.6);
  text-transform: uppercase;
  transition: color 0.3s ease-in-out;
}
.Nav__Item:focus,
.Nav__Item.Nav__Item--Active,
html.no-touchevents .Nav__Item:hover {
  color: #a39161;
}
@media (hover) {
  .Nav__Item:hover {
    color: #a39161;
  }
}
.Nav__Item + .Nav__Item {
  margin-left: 0.5rem;
}
@media (min-width: 44rem) {
  .Nav__Item + .Nav__Item {
    margin-left: 1.6rem;
  }
}
/**
 * See:
 * https://webkit.org/blog/6784/new-video-policies-for-ios/
 * https://webkit.org/blog/7734/auto-play-policy-changes-for-macos/
 */
.PlayVideo__Button svg {
  display: inline-block;
  padding: 2rem;
  width: 25px;
  height: 38px;
  fill: rgba(255, 255, 255, 0.5);
  box-sizing: content-box;
  transition: all 0.2s ease;
}
@media (min-width: 44rem) {
  .PlayVideo__Button svg {
    width: 37.5px;
    height: 57px;
  }
}
html.no-touchevents .PlayVideo__Button:hover svg {
  fill: rgba(255, 255, 255, 0.75);
}
@media (hover) {
  .PlayVideo__Button:hover svg {
    fill: rgba(255, 255, 255, 0.75);
  }
}
/**
 * Make sure custom styles win over the polyfill defaults
 */
dialog.PlayVideo__Dialog {
  top: 0;
  left: -1000vw;
  border: 0;
  padding: 0 !important;
  position: fixed;
  background-color: transparent !important;
}
dialog.PlayVideo__Dialog::backdrop {
  background: rgba(0, 0, 0, 0.5);
}
dialog.PlayVideo__Dialog--Visible {
  left: 0;
}
.PlayVideo__Dialog__Inner {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100vh;
  width: 100vw;
}
.PlayVideo__Control {
  width: 100%;
}
.PlayVideo__Close {
  color: #fff;
  text-transform: uppercase;
  position: absolute;
  width: auto;
  z-index: 1;
  outline: none;
  padding: 11px 0.9rem;
  right: 0;
  top: 0;
}
@media (min-width: 64rem) {
  .PlayVideo__Close {
    font-size: 1rem;
  }
}
.ProductNav {
  height: 57px;
  color: #a39161;
  text-align: center;
  background-color: #fff;
  padding: 1.5rem 1rem;
  align-items: center;
  display: flex;
  position: relative;
  z-index: 0;
  justify-content: space-between;
}
@media (min-width: 64rem) {
  .ProductNav {
    justify-content: center;
  }
}
.ProductNav__Item {
  padding: 5px;
}
.ProductNav__Item svg {
  height: 17.24px;
  width: 10.96px;
  fill: rgba(163, 145, 97, 0.3);
  box-sizing: content-box;
  transition: all 0.2s ease;
}
html.no-touchevents .ProductNav__Item svg:hover {
  fill: rgba(163, 145, 97, 0.6);
}
@media (hover) {
  .ProductNav__Item svg:hover {
    fill: rgba(163, 145, 97, 0.6);
  }
}
.ProductNav__Item__Prev {
  margin-left: -5px;
}
.ProductNav__Item__Next {
  margin-right: -5px;
}
@media (min-width: 64rem) {
  .ProductNav__Label {
    padding: 0 2.43rem;
  }
}
.SiteMenu {
  border: 0;
  position: fixed;
  top: 0;
  padding: 0;
  background: none;
  color: #fff;
}
@media (min-width: 64rem) {
  .SiteMenu {
    height: auto;
  }
}
.SiteMenu__Inner {
  background-color: #000;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  background-image: url("/assets/images/Background--SiteMenu.jpg");
  height: 100vh;
  width: 100vw;
  padding: 1.5rem 1rem;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  position: relative;
  flex-direction: column;
}
@media (max-height: 440px) {
  .SiteMenu__GroupItem {
    display: none;
  }
}
.SiteMenu__GroupItem + .SiteMenu__Item,
.SiteMenu__Item + .SiteMenu__Item {
  margin-top: 1.5rem;
}
@media (min-width: 24rem) {
  .SiteMenu__GroupItem + .SiteMenu__Item,
  .SiteMenu__Item + .SiteMenu__Item {
    margin-top: 2.125rem;
  }
}
.SiteMenu__Item + .SiteMenu__GroupItem,
.SiteMenu__GroupItem + .SiteMenu__GroupItem {
  margin-top: 0.75rem;
}
@media (min-width: 24rem) {
  .SiteMenu__Item + .SiteMenu__GroupItem,
  .SiteMenu__GroupItem + .SiteMenu__GroupItem {
    margin-top: 1rem;
  }
}
.SiteMenu__Site {
  position: absolute;
  text-align: center;
  display: block;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
}
@media (min-height: 320px) {
  .SiteMenu__Site {
    bottom: 25px;
  }
}
@media (min-height: 481px) {
  .SiteMenu__Site {
    bottom: 60px;
  }
}
.SiteMenu__Open,
.SiteMenu__Close {
  color: currentColor;
  text-transform: uppercase;
  position: fixed;
  right: 0;
  top: 4px;
  width: auto;
  opacity: 0.6;
  z-index: 1;
  padding: 11px 0.9rem;
  outline: none;
  text-shadow: 0 2px 6px rgba(0, 0, 0, 0.2);
}
@media (min-width: 64rem) {
  .SiteMenu__Open,
  .SiteMenu__Close {
    display: none;
  }
}
.SiteMenu__Wrapper {
  display: inherit;
}
.Slider {
  height: 284px;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  position: relative;
}
@media (min-width: 64rem) {
  .Slider {
    height: 244px;
  }
}
.Slider__Content {
  position: relative;
  flex: 1;
  height: 190px;
  overflow: hidden;
}
.Slider__Content__Wrapper {
  position: absolute;
  height: 100%;
  width: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
@media (min-width: 64rem) {
  .Slider__Content__Head,
  .Slider__Content__Row {
    margin: 0 auto;
  }
}
.Slider__Content__Head {
  text-align: center;
}
.Slider__Content__Head + .Slider__Content__Row {
  padding-top: 1.25rem;
  text-align: center;
}
@media (min-width: 64rem) {
  .Slider__Content__Head + .Slider__Content__Row {
    padding-top: 1rem;
  }
}
.Slider__Content__Head + .Slider__Content__Foot {
  padding-top: 1rem;
}
.Slider__Content__Row + .Slider__Row {
  padding-top: 1rem;
}
.Slider__Nav {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  align-items: center;
  justify-content: center;
  margin: auto;
  padding-top: 0.5rem;
  bottom: 0;
  flex-wrap: wrap;
}
@media (min-width: 64rem) {
  .Slider__Nav {
    padding-top: 0.875rem;
  }
}
.Slider__Nav__Item {
  display: block;
  padding: 3px;
  border-radius: 50%;
  background-color: #a39161;
  transition: all 0.2s ease;
  opacity: 0.3;
}
.Slider__Nav__Item:focus,
html.no-touchevents .Slider__Nav__Item:hover {
  opacity: 0.6;
}
@media (hover) {
  .Slider__Nav__Item:hover {
    opacity: 0.6;
  }
}
@media (min-width: 64rem) {
  .Slider__Nav__Item {
    padding: 5px;
  }
}
.Slider__Nav__Item + .Slider__Nav__Item {
  margin-left: 0.5rem;
}
.Slider__Nav__Item--Active {
  opacity: 1;
}
@media (min-width: 24rem) {
  .Slider--Image {
    height: 304px;
  }
}
@media (min-width: 64rem) {
  .Slider--Image {
    height: 39.75rem;
  }
}
.Slider--Image .Slider__Content {
  height: auto;
  overflow: visible;
}
@media (min-width: 64rem) {
  .Slider--Image .Slider__Content__Wrapper {
    width: 100%;
  }
}
.Slider--Image .Slider__Image {
  object-fit: cover;
  height: 100%;
}
.Slider--Image .Slider__Nav {
  min-width: 62px;
  z-index: 1;
  margin-bottom: 0.5rem;
}
.Slider--Image .Slider__Nav__Cta,
.Slider--Image .Slider__Nav::before {
  text-transform: uppercase;
  color: #fff;
  text-align: center;
  display: block;
  margin: 0 30% 1rem;
}
@media (min-width: 64rem) {
  .Slider--Image .Slider__Nav__Cta,
  .Slider--Image .Slider__Nav::before {
    display: none;
  }
}
.Slider--Image .Slider__Nav__Item {
  background-color: #fff;
}
@media (min-width: 64rem) {
  .Slider--Image .Slider__Content__Head,
  .Slider--Image .Slider__Content__Row {
    width: 100%;
  }
}
.Splash {
  background-size: cover;
  background-position: center;
  background-image: url("/assets/images/Background--Splash--Mobile.jpg");
}
@media (min-width: 64rem) {
  .Splash {
    background-image: url("/assets/images/Background--Splash.jpg");
  }
}
@media (min-width: 64rem) and (max-resolution: 300dpi) {
  .Splash {
    background-image: url("/assets/images/Background--Splash@2x.jpg");
  }
}
html.IsApp .Splash {
  display: none;
}
.Splash + .Page__Home {
  position: absolute;
  top: 0;
  left: 0;
  display: none;
}
.Splash__Inner {
  color: #fff;
  fill: currentColor;
  height: inherit;
}
.Splash__Inner .Splash__Head + .Splash__Row {
  padding-top: 2.8125rem;
}
@media (min-width: 64rem) {
  .Splash__Inner .Splash__Head + .Splash__Row {
    padding-top: 1.5rem;
  }
}
.Splash__Inner .Splash__Row + .Splash__Row {
  padding-top: 1.5rem;
}
@media (min-width: 64rem) {
  .Splash__Inner {
    width: 600px;
  }
}
.Splash__Head {
  width: inherit;
}
.Splash__Logo svg {
  width: 80vw;
  max-width: 270px;
}
@media (min-width: 44rem) {
  .Splash__Logo svg {
    width: 100%;
    max-width: none;
  }
}
/*
 * Text Block
 * The Text Block object provides special styles for running copy, including neighbor margins for common text elements. It should be adapted to whatever content source the site has, so content editors can make content in a natural way and have it appear attractive on the frontend.
 * Most of the time our Text Block element also
 */
.TextBlock p {
  line-height: 1.4;
  font-size: 0.875rem;
}
@media (min-width: 24rem) {
  .TextBlock p {
    font-size: 1.125rem;
  }
}
.TextBlock p + h2,
.TextBlock p + h3,
.TextBlock p + h4,
.TextBlock p + h5,
.TextBlock p + h6 {
  margin-top: 2rem;
}
.TextBlock p + h1 {
  margin-top: 3.1rem;
}
.TextBlock a {
  color: #a39161;
  font-family: "Gill Sans", "AppleGothic", helvetica, arial, sans-serif;
  text-decoration: underline;
  transition: all 0.2s ease;
}
.TextBlock a:focus,
html.no-touchevents .TextBlock a:hover {
  color: #bda971;
}
@media (hover) {
  .TextBlock a:hover {
    color: #bda971;
  }
}
.TextBlock h2 {
  font-family: "adobe-garamond-pro", "Times New Roman", Times, Georgia, serif;
  font-size: 0.875rem;
  line-height: 1.4;
  font-weight: 600;
}
@media (min-width: 24rem) {
  .TextBlock h2 {
    font-size: 1.125rem;
  }
}
.TextBlock p + p {
  margin-top: 1.5rem;
}
.TextBlock h1 + p,
.TextBlock h3 + p,
.TextBlock h4 + p,
.TextBlock h5 + p,
.TextBlock h6 + p,
.TextBlock h1 + h1,
.TextBlock h3 + h1,
.TextBlock h4 + h1,
.TextBlock h5 + h1,
.TextBlock h6 + h1,
.TextBlock h1 + h2,
.TextBlock h3 + h2,
.TextBlock h4 + h2,
.TextBlock h5 + h2,
.TextBlock h6 + h2,
.TextBlock h1 + h3,
.TextBlock h3 + h3,
.TextBlock h4 + h3,
.TextBlock h5 + h3,
.TextBlock h6 + h3,
.TextBlock h1 + h4,
.TextBlock h3 + h4,
.TextBlock h4 + h4,
.TextBlock h5 + h4,
.TextBlock h6 + h4,
.TextBlock h1 + h5,
.TextBlock h3 + h5,
.TextBlock h4 + h5,
.TextBlock h5 + h5,
.TextBlock h6 + h5,
.TextBlock h1 + h6,
.TextBlock h3 + h6,
.TextBlock h4 + h6,
.TextBlock h5 + h6,
.TextBlock h6 + h6 {
  margin-top: 1.5rem;
}
.TextBlock img {
  max-width: 100%;
  height: auto;
  margin: 1rem auto;
}
.TextBlock--FontSizeSmall--Flex p {
  font-size: 0.75rem;
  line-height: 1.5;
}
@media (min-width: 24rem) {
  .TextBlock--FontSizeSmall--Flex p {
    font-size: 0.875rem;
  }
}
@media (min-width: 44rem) {
  .TextBlock--FontSizeSmall--Flex p {
    font-size: 1rem;
  }
}
@media (min-width: 64rem) {
  .TextBlock--FontSizeSmall--Flex p {
    font-size: 1.125rem;
    line-height: 1.333;
  }
}
.TextBlock--FontSizeSmall p {
  font-size: 1rem;
}
.TextBlock--FontFamilyMono {
  font-family: "Gill Sans", "AppleGothic", helvetica, arial, sans-serif;
}
.TextBlock--Column {
  column-width: 1rem;
}
.TextBlock--ColumnMX2 {
  column-count: 1;
}
@media (min-width: 44rem) {
  .TextBlock--ColumnMX2 {
    column-count: 2;
  }
}
.TextBlock--Emphasis {
  font-style: italic;
}
.TextBlock--Centered p,
.TextBlock--Centered h1,
.TextBlock--Centered h2,
.TextBlock--Centered h3,
.TextBlock--Centered h4,
.TextBlock--Centered h5,
.TextBlock--Centered h6 {
  text-align: center;
}
@media (max-width: 44rem) {
  .TextBlock--CenteredUnderMedium p,
  .TextBlock--CenteredUnderMedium h1,
  .TextBlock--CenteredUnderMedium h2,
  .TextBlock--CenteredUnderMedium h3,
  .TextBlock--CenteredUnderMedium h4,
  .TextBlock--CenteredUnderMedium h5,
  .TextBlock--CenteredUnderMedium h6 {
    text-align: center;
  }
}
.Video {
  width: 100%;
  height: auto;
}
/* *
 * Grid
 * Fundamental layout element that provides page structure. Grids should be nestable and highly modifiable. This grid uses flexbox; others may use floats, absolute positioning, whatever.
 */
.Grid {
  display: flex;
  flex-wrap: wrap;
  margin: -1rem 0 0 -1rem;
}
.Grid > .Grid__Cell {
  padding: 1rem 0 0 1rem;
}
.Grid--JustifyContentCentered {
  justify-content: center;
}
.Grid--JustifyContentFlexEnd {
  justify-content: flex-end;
}
/* *
 * Extensions: Spacing
 */
.Grid--NoFlexCells > .Grid__Cell {
  flex-basis: auto;
  width: auto;
}
.Grid--SpacingZero {
  margin: 0;
}
.Grid--SpacingZero > .Grid__Cell {
  padding: 0;
}
.Grid--SpacingSmall {
  margin: -0.25rem 0 0 -0.25rem;
}
.Grid--SpacingSmall > .Grid__Cell {
  padding: 0.25rem 0 0 0.25rem;
}
.Grid--SpacingMedium {
  margin: -1.5rem 0 0 -1.5rem;
}
.Grid--SpacingMedium > .Grid__Cell {
  padding: 1.5rem 0 0 1.5rem;
}
.Grid--SpacingLarge {
  margin: -2rem 0 0 -2rem;
}
.Grid--SpacingLarge > .Grid__Cell {
  padding: 2rem 0 0 2rem;
}
.Grid--SpacingLarger {
  margin: -3rem 0 0 -3rem;
}
.Grid--SpacingLarger > .Grid__Cell {
  padding: 3rem 0 0 3rem;
}
.Grid--SpacingFlexSmall {
  margin: -0.5rem 0 0 -0.5rem;
}
.Grid--SpacingFlexSmall > .Grid__Cell {
  padding: 0.5rem 0 0 0.5rem;
}
@media (min-width: 44rem) {
  .Grid--SpacingFlexSmall {
    margin: -1rem 0 0 -1rem;
  }
  .Grid--SpacingFlexSmall > .Grid__Cell {
    padding: 1rem 0 0 1rem;
  }
}
@media (min-width: 64rem) {
  .Grid--SpacingFlexSmall {
    margin: -1.2rem 0 0 -1.2rem;
  }
  .Grid--SpacingFlexSmall > .Grid__Cell {
    padding: 1.2rem 0 0 1.2rem;
  }
}
.Grid--SpacingFlex {
  margin: -1rem 0 0 -1rem;
}
.Grid--SpacingFlex > .Grid__Cell {
  padding: 1rem 0 0 1rem;
}
@media (min-width: 44rem) {
  .Grid--SpacingFlex {
    margin: -1.5rem 0 0 -1.5rem;
  }
  .Grid--SpacingFlex > .Grid__Cell {
    padding: 1.5rem 0 0 1.5rem;
  }
}
@media (min-width: 64rem) {
  .Grid--SpacingFlex {
    margin: -2rem 0 0 -2rem;
  }
  .Grid--SpacingFlex > .Grid__Cell {
    padding: 2rem 0 0 2rem;
  }
}
.Grid--SpacingFlexLarge {
  margin: -1.5rem 0 0 -1.5rem;
}
.Grid--SpacingFlexLarge > .Grid__Cell {
  padding: 1.5rem 0 0 1.5rem;
}
@media (min-width: 44rem) {
  .Grid--SpacingFlexLarge {
    margin: -2rem 0 0 -2rem;
  }
  .Grid--SpacingFlexLarge > .Grid__Cell {
    padding: 2rem 0 0 2rem;
  }
}
@media (min-width: 64rem) {
  .Grid--SpacingFlexLarge {
    margin: -3.1rem 0 0 -3.1rem;
  }
  .Grid--SpacingFlexLarge > .Grid__Cell {
    padding: 3.1rem 0 0 3.1rem;
  }
}
.Grid__Cell {
  flex: 1;
}
.Grid__Cell--AlignItemsCenter {
  display: flex;
  align-items: center;
}
.Grid__Cell--JustifyContentCenter {
  display: flex;
  justify-content: center;
}
.Grid__Cell--JustifyContentFlexEnd {
  display: flex;
  justify-content: flex-end;
}
.Grid__Cell--1of1 {
  flex: 0 0 100%;
  width: 100%;
  max-width: 100%;
}
.Grid__Cell--1of2 {
  flex: 0 0 50%;
  width: 50%;
  max-width: 50%;
}
.Grid__Cell--1of3 {
  flex: 0 0 33.333%;
  width: 33.333%;
  max-width: 33.333%;
}
.Grid__Cell--2of3 {
  flex: 0 0 66.666%;
  width: 66.666%;
  max-width: 66.666%;
}
.Grid__Cell--1of4 {
  flex: 0 0 25%;
  width: 25%;
  max-width: 25%;
}
.Grid__Cell--3of4 {
  flex: 0 0 75%;
  width: 75%;
  max-width: 75%;
}
@media (min-width: 24rem) {
  .Grid__Cell--S1of1 {
    flex: 0 0 100%;
    width: 100%;
    max-width: 100%;
  }
  .Grid__Cell--S1of2 {
    flex: 0 0 50%;
    width: 50%;
    max-width: 50%;
  }
  .Grid__Cell--S1of3 {
    flex: 0 0 33.333%;
    width: 33.333%;
    max-width: 33.333%;
  }
  .Grid__Cell--S2of3 {
    flex: 0 0 66.666%;
    width: 66.666%;
    max-width: 66.666%;
  }
  .Grid__Cell--S1of4 {
    flex: 0 0 25%;
    width: 25%;
    max-width: 25%;
  }
  .Grid__Cell--S3of4 {
    flex: 0 0 75%;
    width: 75%;
    max-width: 75%;
  }
}
@media (min-width: 44rem) {
  .Grid__Cell--M1of1 {
    flex: 0 0 100%;
    width: 100%;
    max-width: 100%;
  }
  .Grid__Cell--M1of2 {
    flex: 0 0 50%;
    width: 50%;
    max-width: 50%;
  }
  .Grid__Cell--M1of3 {
    flex: 0 0 33.333%;
    width: 33.333%;
    max-width: 33.333%;
  }
  .Grid__Cell--M2of3 {
    flex: 0 0 66.666%;
    width: 66.666%;
    max-width: 66.666%;
  }
  .Grid__Cell--M1of4 {
    flex: 0 0 25%;
    width: 25%;
    max-width: 25%;
  }
  .Grid__Cell--M3of4 {
    flex: 0 0 75%;
    width: 75%;
    max-width: 75%;
  }
}
@media (min-width: 64rem) {
  .Grid__Cell--L1of1 {
    flex: 0 0 100%;
    width: 100%;
    max-width: 100%;
  }
  .Grid__Cell--L1of2 {
    flex: 0 0 50%;
    width: 50%;
    max-width: 50%;
  }
  .Grid__Cell--L1of3 {
    flex: 0 0 33.333%;
    width: 33.333%;
    max-width: 33.333%;
  }
  .Grid__Cell--L2of3 {
    flex: 0 0 66.666%;
    width: 66.666%;
    max-width: 66.666%;
  }
  .Grid__Cell--L1of4 {
    flex: 0 0 25%;
    width: 25%;
    max-width: 25%;
  }
  .Grid__Cell--L3of4 {
    flex: 0 0 75%;
    width: 75%;
    max-width: 75%;
  }
}
/* *
 * Layers
 * Layers are basic strips that extend across the width of the page.
 * Their .Layer__Inner elements are typically centered with some maximum width that kicks in at larger screen sizes.
 * Layers can be extended to add background color or texture to the page.
 */
.Layer__Inner,
.Splash__Inner {
  max-width: 44rem;
  margin: 0 auto;
  padding: 1.5rem 1rem;
}
@media (min-width: 64rem) {
  .Layer__Inner,
  .Splash__Inner {
    padding: 2.125rem;
    max-width: 84rem;
  }
}
@media (min-width: 95rem) {
  .Layer__Inner,
  .Splash__Inner {
    padding: 2.125rem;
    max-width: 90rem;
  }
}
@media (max-width: 64rem) {
  .Layer--FullUnderLarge .Layer__Inner,
  .Layer--FullUnderLarge .Splash__Inner {
    padding: 0;
  }
}
.Layer--VerticalSpacingSmall .Layer__Inner,
.Layer--VerticalSpacingSmall .Splash__Inner {
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
}
.Layer--VerticalSpacingZero .Layer__Inner,
.Layer--VerticalSpacingZero .Splash__Inner {
  padding-top: 0;
  padding-bottom: 0;
}
.Layer--VerticalSpacingLarge .Layer__Inner,
.Layer--VerticalSpacingLarge .Splash__Inner {
  padding-top: 1.125rem;
  padding-bottom: 1.125rem;
}
@media (min-width: 64rem) {
  .Layer--VerticalSpacingLarge .Layer__Inner,
  .Layer--VerticalSpacingLarge .Splash__Inner {
    padding-top: 2.8rem;
    padding-bottom: 2.8rem;
  }
}
.Layer--VerticalSpacingTopLarge .Layer__Inner,
.Layer--VerticalSpacingTopLarge .Splash__Inner {
  padding-top: 1.125rem;
  padding-bottom: 0;
}
@media (min-width: 64rem) {
  .Layer--VerticalSpacingTopLarge .Layer__Inner,
  .Layer--VerticalSpacingTopLarge .Splash__Inner {
    padding-top: 2.8rem;
  }
}
.Layer--VerticalSpacingLarger .Layer__Inner,
.Layer--VerticalSpacingLarger .Splash__Inner {
  padding-top: 2.8125rem;
  padding-bottom: 2.8125rem;
}
@media (min-width: 64rem) {
  .Layer--VerticalSpacingLarger .Layer__Inner,
  .Layer--VerticalSpacingLarger .Splash__Inner {
    padding-top: 3.5rem;
    padding-bottom: 3.5rem;
  }
}
.Layer--VerticalSpacingLargest .Layer__Inner,
.Layer--VerticalSpacingLargest .Splash__Inner {
  padding-top: 2.625rem;
  padding-bottom: 2.625rem;
}
@media (min-width: 64rem) {
  .Layer--VerticalSpacingLargest .Layer__Inner,
  .Layer--VerticalSpacingLargest .Splash__Inner {
    padding-top: 7.5rem;
    padding-bottom: 7.5rem;
  }
}
.Layer--BottomSpacingLarge .Layer__Inner,
.Layer--BottomSpacingLarge .Splash__Inner {
  padding-bottom: 3rem;
}
.Layer--BottomSpacingLarger .Layer__Inner,
.Layer--BottomSpacingLarger .Splash__Inner {
  padding-bottom: 3.5rem;
}
.Layer--TopSpacingSmall .Layer__Inner,
.Layer--TopSpacingSmall .Splash__Inner {
  padding-top: 1.6rem;
}
.Layer--TopSpacingZero .Layer__Inner,
.Layer--TopSpacingZero .Splash__Inner {
  padding-top: 0;
}
.Layer--TopSpacingLarge .Layer__Inner,
.Layer--TopSpacingLarge .Splash__Inner {
  padding-top: 0;
}
@media (min-width: 64rem) {
  .Layer--TopSpacingLarge .Layer__Inner,
  .Layer--TopSpacingLarge .Splash__Inner {
    padding-top: 3.75rem;
  }
}
@media (min-width: 44rem) {
  .Layer--HorizontalPaddingLarge .Layer__Inner,
  .Layer--HorizontalPaddingLarge .Splash__Inner {
    padding-left: 5rem;
    padding-right: 5rem;
  }
}
@media (min-width: 64rem) {
  .Layer--Narrow .Layer__Inner,
  .Layer--Narrow .Splash__Inner {
    width: 75%;
    max-width: 66.25rem;
  }
}
@media (min-width: 64rem) {
  .Layer--Narrower .Layer__Inner,
  .Layer--Narrower .Splash__Inner {
    max-width: 47.5rem;
  }
}
@media (min-width: 44rem) {
  .Layer--Narrowest .Layer__Inner,
  .Layer--Narrowest .Splash__Inner {
    padding-left: 5rem;
    padding-right: 5rem;
  }
}
@media (min-width: 64rem) {
  .Layer--Narrowest .Layer__Inner,
  .Layer--Narrowest .Splash__Inner {
    max-width: 41.25rem;
  }
}
.Layer--BackgroundImage {
  background-size: cover;
  background-position: center;
}
.Layer--BackgroundColor__Grey {
  background-color: #222226;
}
.Layer--BackgroundColor__GreyLight {
  background-color: #fafafa;
}
.Layer--CenterContent,
.Splash {
  height: 100vh;
}
.Layer--CenterContent .Layer__Inner,
.Splash .Layer__Inner,
.Layer--CenterContent .Splash__Inner,
.Splash__Inner {
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  position: relative;
  height: 100%;
  flex-direction: column;
}
/* *
 * Modules
 * Modules are containers that give content a basic structure.
 * They are typically used inside grid cells to group sets of content on the page.
 * Common usage is to wrap the header, copy, and CTAs for given article or post.
 * A module can contain any number of Module__Row elements and can have a single .Module__Head element at the start and/or a .Module__Foot element at the end.
 * Any valid configuration should have sensible spacing.
 * It should be noted that it is fair to have Modules inside of Modules or Grids inside of Modules. They are flexible and reliable enough to accommodate.
 */
.Module__Head + .Module__Head {
  padding-top: 0.25rem;
}
.Module__Head + .Module__Head + .Module__Head {
  padding-top: 0.5rem;
}
.Module__Row + .Module__Row {
  padding-top: 0.625rem;
}
.Module__Head + .Module__Row,
.Module__Foot {
  padding-top: 1.5rem;
}
.Module--SpacingSmall .Module__Head + .Module__Row {
  padding-top: 0.5rem;
}
.Module--SpacingSmall .Module__Row + .Module__Row {
  padding-top: 0.5rem;
}
.Module--SpacingSmall .Module__Foot {
  padding-top: 0.5rem;
}
.Module--SpacingLarge .Module__Row + .Module__Row {
  padding-top: 1.5rem;
}
.Module--SpacingLarge .Module__Foot {
  padding-top: 1.5rem;
}
.Module--ProductHero .Module__Head + .Module__Row {
  padding-top: 0;
}
@media (min-width: 64rem) {
  .Module--ProductHero .Module__Head + .Module__Row {
    padding-top: 0.625rem;
  }
}
@media (max-width: 64rem) {
  .Module--ProductHero {
    position: relative;
    display: table;
    width: 100vw;
    left: 50%;
  }
  .Module--ProductHero > * {
    position: relative;
    margin-left: auto;
    margin-right: auto;
    left: -50%;
  }
}
@media (min-width: 64rem) {
  .Module--ProductHero--Art {
    width: 440px;
    display: inline-block;
  }
}
@media (max-width: 44rem) {
  .Module__Row--FullWidthUnderMedium {
    position: relative;
    display: table;
    width: 100vw;
    left: 50%;
  }
  .Module__Row--FullWidthUnderMedium > * {
    position: relative;
    margin-left: auto;
    margin-right: auto;
    left: -50%;
  }
}
@media (min-width: 64rem) {
  .Module__Row--NarrowAboveLarge {
    width: 37.5rem;
    margin: 0 auto;
  }
}
/* *
 * Special Styles
 * Add any hacky stuff, vendor CSS, or other yucky crap here
 */
.Placeholder {
  width: 100%;
  height: 20rem;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
}
pre {
  margin-top: 0;
  background: #000;
  padding: 1rem;
  color: #ff0;
  width: 100%;
  overflow: scroll;
}
/*
 * Text Alignment
 */
.Util__TextAlignRight {
  text-align: right;
}
@media (min-width: 64rem) {
  .Util__TextAlignRightAtLarge {
    text-align: right;
  }
}
.Util__TextAlignCenter {
  text-align: center;
}
.Util__TextAlignLeft {
  text-align: left;
}
.Util__ColorWhite {
  color: #fff;
  fill: currentColor;
}
.Util__ColorGreyFade {
  color: rgba(34, 34, 38, 0.4);
}
.Util__ColorGrey {
  color: #222226;
}
.Util__ColorGoldish {
  color: #a39161;
}
.Util__MarginTopSmall {
  margin-top: 0.4rem;
}
.Util__MarginTop {
  margin-top: 1.5rem;
}
.Util__MarginTopLarge {
  margin-top: 6.25rem;
}
.Util__MarginBottom {
  margin-bottom: 1.5rem;
}
.Util__TextUnderline {
  text-decoration: underline;
}
.Util__PaddingTopBottom {
  padding: 0.875rem 0;
}
.Util__EndOfCopy::after {
  content: "";
  width: 100%;
  height: 5.75rem;
  display: block;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 20px;
  background-image: url("/assets/images/icon-end-small.png");
}
.Util__PositionFixed {
  position: fixed;
  top: 1rem;
}
/*# sourceMappingURL=global.css.map */