@font-face {
  font-family: 'icomoon';
  src: url("/lucy-share/_fonts/icomoon.eot?cvvgxn");
  src: url("/lucy-share/_fonts/icomoon.eot?cvvgxn#iefix") format("embedded-opentype"), url("/lucy-share/_fonts/icomoon.ttf?cvvgxn") format("truetype"), url("/lucy-share/_fonts/icomoon.woff?cvvgxn") format("woff"), url("/lucy-share/_fonts/icomoon.svg?cvvgxn#icomoon") format("svg");
  font-weight: normal;
  font-style: normal;
  font-display: block; }

.icon-prefixes, :where(body.front) a.button-link:after, :where(#lucy-page-template-inner) a.button-link:after, #page-search .field-wrap:before, .expandable .expandable-button::after, [class^="icon-"], [class*=" icon-"] {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: 'icomoon' !important;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

.icon-search:before, #page-search .field-wrap:before {
  content: "\e900" !important; }

.icon-email:before {
  content: "\e901" !important; }

.icon-share:before {
  content: "\e902" !important; }

.icon-heart:before {
  content: "\e903" !important; }

.icon-alert:before {
  content: "\e904" !important; }

.icon-calendar:before {
  content: "\e905" !important; }

.icon-pin:before {
  content: "\e906" !important; }

.icon-cart-full:before {
  content: "\e907" !important; }

.icon-cart-empty:before {
  content: "\e908" !important; }

.icon-phone:before {
  content: "\e909" !important; }

.icon-music:before {
  content: "\e90a" !important; }

.icon-print:before {
  content: "\e90b" !important; }

.icon-gear:before {
  content: "\e90c" !important; }

.icon-video:before {
  content: "\e90d" !important; }

.icon-camera:before {
  content: "\e90e" !important; }

.icon-photo:before {
  content: "\e90f" !important; }

.icon-man:before {
  content: "\e910" !important; }

.icon-woman:before {
  content: "\e911" !important; }

.icon-link:before {
  content: "\e912" !important; }

.icon-attachment:before {
  content: "\e913" !important; }

.icon-check:before {
  content: "\e914" !important; }

.icon-menu:before {
  content: "\e915" !important; }

.icon-list:before {
  content: "\e916" !important; }

.icon-grid-small:before {
  content: "\e917" !important; }

.icon-grid-large:before {
  content: "\e918" !important; }

.icon-close:before {
  content: "\e919" !important; }

.icon-plus:before {
  content: "\e91a" !important; }

.icon-move:before {
  content: "\e91b" !important; }

.icon-expand:before {
  content: "\e91c" !important; }

.icon-expand-corner:before {
  content: "\e91d" !important; }

.icon-play:before {
  content: "\e91e" !important; }

.icon-minus:before {
  content: "\e91f" !important; }

.icon-arrow-right:before {
  content: "\e920" !important; }

.icon-arrow-up:before {
  content: "\e921" !important; }

.icon-arrow-left:before {
  content: "\e922" !important; }

.icon-arrow-down:before {
  content: "\e923" !important; }

.icon-left:before {
  content: "\e924" !important; }

.icon-up:before {
  content: "\e925" !important; }

.icon-right:before {
  content: "\e926" !important; }

.icon-down:before {
  content: "\e927" !important; }

.icon-up-down:before {
  content: "\e928" !important; }

.icon-right-left:before {
  content: "\e929" !important; }

.icon-big-arrow-right:before {
  content: "\e92a" !important; }

.icon-share-this:before {
  content: "\e92b" !important; }

.icon-twitter:before {
  content: "\e92c" !important; }

.icon-facebook:before {
  content: "\e92d" !important; }

.icon-instagram:before {
  content: "\e92e" !important; }

.icon-pinterest:before {
  content: "\e92f" !important; }

.icon-vimeo:before {
  content: "\e930" !important; }

.icon-linkedin:before {
  content: "\e931" !important; }

.icon-dribbble:before {
  content: "\e932" !important; }

.icon-youtube:before {
  content: "\e933" !important; }

.icon-previous:before {
  content: "\e934" !important; }

.icon-next:before {
  content: "\e935" !important; }

.icon-star:before {
  content: "\e936" !important; }

.icon-staggered-menu:before {
  content: "\e937" !important; }

.icon-arrow-left-stroke:before {
  content: "\e938"; }

.icon-arrow-right-stroke:before {
  content: "\e939" !important; }

.icon-design-by-form:before {
  content: "\e93a" !important; }

.icon-news:before {
  content: "\e93b" !important; }

.icon-medium:before {
  content: "\e93c" !important; }

.icon-arrow-up-stroke:before {
  content: "\e93d" !important; }

.icon-arrow-down-stroke:before {
  content: "\e93e" !important; }

.icon-design-by-form-short:before {
  content: "\e93f" !important; }

.icon-download-arrow:before {
  content: "\e940" !important; }

.icon-pencil:before {
  content: "\e941" !important; }

.icon-big-arrow-left:before {
  content: "\e942" !important; }

.icon-pdf:before {
  content: "\e943" !important; }

.icon-arrow-left-stem:before {
  content: "\e944" !important; }

.icon-arrow-right-stem:before {
  content: "\e945" !important; }

.icon-paper-plane:before {
  content: "\e946" !important; }

.icon-globe:before {
  content: "\e947" !important; }

.icon-flag:before {
  content: "\e948" !important; }

.icon-clock:before {
  content: "\e949" !important; }

.icon-cross:before {
  content: "\e94a" !important; }

.icon-home:before {
  content: "\e94b" !important; }

.icon-link-arrow:before {
  content: "\e94c" !important; }

.icon-snapchat:before {
  content: "\e94d" !important; }

.icon-marker:before {
  content: "\e94e" !important; }

.icon-phone-2:before {
  content: "\e94f" !important; }

.icon-small-arrow:before {
  content: "\e950" !important; }

.icon-menu-bold:before {
  content: "\e951" !important; }

.icon-download-page:before {
  content: "\e952" !important; }

.icon-calendar-2:before {
  content: "\e953" !important; }

.icon-flickr:before {
  content: "\e954" !important; }

.icon-customer-service:before {
  content: "\e955" !important; }

.icon-accounting-finance:before {
  content: "\e956"; }

.icon-information-technology:before {
  content: "\e957" !important; }

.icon-human-resources:before {
  content: "\e958" !important; }

.icon-marketing:before {
  content: "\e959" !important; }

.icon-legal:before {
  content: "\e95a" !important; }

.icon-sales:before {
  content: "\e95b" !important; }

.icon-office:before {
  content: "\e95c" !important; }

.icon-office-management:before {
  content: "\e95d" !important; }

.icon-education:before {
  content: "\e960" !important; }

.icon-community-relations:before {
  content: "\e961" !important; }

.icon-medical:before {
  content: "\e95e" !important; }

.icon-materialsparts:before {
  content: "\e95f" !important; }

.icon-hamburger-menu:before {
  content: "\e962" !important; }

.icon-share-arrow-up:before {
  content: "\e963" !important; }

.icon-twitter-square:before {
  content: "\e964" !important; }

.icon-arrow-right-stroke-long:before {
  content: "\e965" !important; }

.icon-trending:before {
  content: "\e966" !important; }

.icon-search-2:before {
  content: "\e967" !important; }

.icon-profile:before {
  content: "\e968" !important; }

.icon-youtube-square:before {
  content: "\e969" !important; }

.icon-star-unfilled:before {
  content: "\e96a" !important; }

.icon-amex:before {
  content: "\e96b" !important; }

.icon-discover:before {
  content: "\e96c" !important; }

.icon-mastercard:before {
  content: "\e96d" !important; }

.icon-visa:before {
  content: "\e96e" !important; }

.icon-shopping-bag:before {
  content: "\e96f" !important; }

.icon-instagram-round:before {
  content: "\e970" !important; }

.icon-facebook-round:before {
  content: "\e971" !important; }

.icon-tumblr-logo:before {
  content: "\e972" !important; }

.icon-media-audio:before {
  content: "\e973" !important; }

.icon-media-document:before {
  content: "\e974" !important; }

.icon-media-image:before {
  content: "\e975" !important; }

.icon-media-spreadsheet:before {
  content: "\e978" !important; }

.icon-media-pdf:before {
  content: "\e979" !important; }

.icon-media-presentation:before {
  content: "\e976" !important; }

.icon-media-video:before {
  content: "\e977" !important; }

.icon-media-link:before {
  content: "\e97a" !important; }

.icon-media-webpage:before {
  content: "\e97b" !important; }

.icon-phone-outline:before {
  content: "\e97c" !important; }

.icon-pin-outline:before {
  content: "\e97d" !important; }

.icon-ticket:before {
  content: "\e97e" !important; }

.icon-calendar-outline:before {
  content: "\e97f" !important; }

.icon-clock-outline:before {
  content: "\e980" !important; }

.icon-cloud-download:before {
  content: "\e981" !important; }

.icon-photo-lense:before {
  content: "\e982" !important; }

.icon-arrow-top-right-stem:before {
  content: "\e983" !important; }

.icon-arrow-top-left-stem:before {
  content: "\e984" !important; }

.icon-media-phone:before {
  content: "\e985" !important; }

.icon-media-request:before {
  content: "\e986" !important; }

.icon-info:before {
  content: "\e987" !important; }

.icon-computer:before {
  content: "\e988" !important; }

.icon-tik-tok:before {
  content: "\e989" !important; }

/* --- Configuration Functions & Mixins --- */
/* --- Declarations --- */
/* --- Grid Sizing --- */
/* --- Grid Mixins --- */
/* --- Transitions --- */
/* --- Other --- */
/* --- Grid Structure --- */
.clearfix {
  *zoom: 1; }

.clearfix:before,
.clearfix:after {
  display: table;
  content: "";
  line-height: 0; }

.clearfix:after {
  clear: both; }

.row {
  margin-left: -20px;
  *zoom: 1; }

.row:before,
.row:after {
  display: table;
  content: "";
  line-height: 0; }

.row:after {
  clear: both; }

[class*="span"] {
  position: relative;
  float: left;
  min-height: 1px; }

[class*="span"].border-left {
  margin-left: 19px;
  border-left: 1px solid #D8D8D8; }

[class*="span"].border-right {
  margin-left: 19px;
  border-right: 1px solid #D8D8D8; }

[class*="span"].right {
  text-align: right; }

/* --- Input Styles --- */
[class*='span'] input[type=text], [class*='span'] input[type=email], [class*='span'] input[type=phone], [class*='span'] input[type=tel], [class*='span'] input[type=password], [class*='span'] textarea, [class*='span'] select, .input-wrap input[type=text], .input-wrap input[type=email], .input-wrap input[type=phone], .input-wrap input[type=tel], .input-wrap input[type=password], .input-wrap textarea, .input-wrap select {
  width: 100% !important;
  margin: 0 0 10px 0 !important; }

/* --- Grid Styles --- */
.span1 {
  width: calc(4.16667% - 20px);
  margin-left: 20px; }

.offset1 {
  margin-left: calc(4.16667% + 20px) !important; }

.inset-l1 {
  padding-left: 4.16667% !important; }

.inset-r1 {
  padding-right: 4.16667% !important; }

.span2 {
  width: calc(8.33333% - 20px);
  margin-left: 20px; }

.offset2 {
  margin-left: calc(8.33333% + 20px) !important; }

.inset-l2 {
  padding-left: 8.33333% !important; }

.inset-r2 {
  padding-right: 8.33333% !important; }

.span3 {
  width: calc(12.5% - 20px);
  margin-left: 20px; }

.offset3 {
  margin-left: calc(12.5% + 20px) !important; }

.inset-l3 {
  padding-left: 12.5% !important; }

.inset-r3 {
  padding-right: 12.5% !important; }

.span4 {
  width: calc(16.66667% - 20px);
  margin-left: 20px; }

.offset4 {
  margin-left: calc(16.66667% + 20px) !important; }

.inset-l4 {
  padding-left: 16.66667% !important; }

.inset-r4 {
  padding-right: 16.66667% !important; }

.span5 {
  width: calc(20.83333% - 20px);
  margin-left: 20px; }

.offset5 {
  margin-left: calc(20.83333% + 20px) !important; }

.inset-l5 {
  padding-left: 20.83333% !important; }

.inset-r5 {
  padding-right: 20.83333% !important; }

.span6 {
  width: calc(25% - 20px);
  margin-left: 20px; }

.offset6 {
  margin-left: calc(25% + 20px) !important; }

.inset-l6 {
  padding-left: 25% !important; }

.inset-r6 {
  padding-right: 25% !important; }

.span7 {
  width: calc(29.16667% - 20px);
  margin-left: 20px; }

.offset7 {
  margin-left: calc(29.16667% + 20px) !important; }

.inset-l7 {
  padding-left: 29.16667% !important; }

.inset-r7 {
  padding-right: 29.16667% !important; }

.span8 {
  width: calc(33.33333% - 20px);
  margin-left: 20px; }

.offset8 {
  margin-left: calc(33.33333% + 20px) !important; }

.inset-l8 {
  padding-left: 33.33333% !important; }

.inset-r8 {
  padding-right: 33.33333% !important; }

.span9 {
  width: calc(37.5% - 20px);
  margin-left: 20px; }

.offset9 {
  margin-left: calc(37.5% + 20px) !important; }

.inset-l9 {
  padding-left: 37.5% !important; }

.inset-r9 {
  padding-right: 37.5% !important; }

.span10 {
  width: calc(41.66667% - 20px);
  margin-left: 20px; }

.offset10 {
  margin-left: calc(41.66667% + 20px) !important; }

.inset-l10 {
  padding-left: 41.66667% !important; }

.inset-r10 {
  padding-right: 41.66667% !important; }

.span11 {
  width: calc(45.83333% - 20px);
  margin-left: 20px; }

.offset11 {
  margin-left: calc(45.83333% + 20px) !important; }

.inset-l11 {
  padding-left: 45.83333% !important; }

.inset-r11 {
  padding-right: 45.83333% !important; }

.span12 {
  width: calc(50% - 20px);
  margin-left: 20px; }

.offset12 {
  margin-left: calc(50% + 20px) !important; }

.inset-l12 {
  padding-left: 50% !important; }

.inset-r12 {
  padding-right: 50% !important; }

.span13 {
  width: calc(54.16667% - 20px);
  margin-left: 20px; }

.offset13 {
  margin-left: calc(54.16667% + 20px) !important; }

.inset-l13 {
  padding-left: 54.16667% !important; }

.inset-r13 {
  padding-right: 54.16667% !important; }

.span14 {
  width: calc(58.33333% - 20px);
  margin-left: 20px; }

.offset14 {
  margin-left: calc(58.33333% + 20px) !important; }

.inset-l14 {
  padding-left: 58.33333% !important; }

.inset-r14 {
  padding-right: 58.33333% !important; }

.span15 {
  width: calc(62.5% - 20px);
  margin-left: 20px; }

.offset15 {
  margin-left: calc(62.5% + 20px) !important; }

.inset-l15 {
  padding-left: 62.5% !important; }

.inset-r15 {
  padding-right: 62.5% !important; }

.span16 {
  width: calc(66.66667% - 20px);
  margin-left: 20px; }

.offset16 {
  margin-left: calc(66.66667% + 20px) !important; }

.inset-l16 {
  padding-left: 66.66667% !important; }

.inset-r16 {
  padding-right: 66.66667% !important; }

.span17 {
  width: calc(70.83333% - 20px);
  margin-left: 20px; }

.offset17 {
  margin-left: calc(70.83333% + 20px) !important; }

.inset-l17 {
  padding-left: 70.83333% !important; }

.inset-r17 {
  padding-right: 70.83333% !important; }

.span18 {
  width: calc(75% - 20px);
  margin-left: 20px; }

.offset18 {
  margin-left: calc(75% + 20px) !important; }

.inset-l18 {
  padding-left: 75% !important; }

.inset-r18 {
  padding-right: 75% !important; }

.span19 {
  width: calc(79.16667% - 20px);
  margin-left: 20px; }

.offset19 {
  margin-left: calc(79.16667% + 20px) !important; }

.inset-l19 {
  padding-left: 79.16667% !important; }

.inset-r19 {
  padding-right: 79.16667% !important; }

.span20 {
  width: calc(83.33333% - 20px);
  margin-left: 20px; }

.offset20 {
  margin-left: calc(83.33333% + 20px) !important; }

.inset-l20 {
  padding-left: 83.33333% !important; }

.inset-r20 {
  padding-right: 83.33333% !important; }

.span21 {
  width: calc(87.5% - 20px);
  margin-left: 20px; }

.offset21 {
  margin-left: calc(87.5% + 20px) !important; }

.inset-l21 {
  padding-left: 87.5% !important; }

.inset-r21 {
  padding-right: 87.5% !important; }

.span22 {
  width: calc(91.66667% - 20px);
  margin-left: 20px; }

.offset22 {
  margin-left: calc(91.66667% + 20px) !important; }

.inset-l22 {
  padding-left: 91.66667% !important; }

.inset-r22 {
  padding-right: 91.66667% !important; }

.span23 {
  width: calc(95.83333% - 20px);
  margin-left: 20px; }

.offset23 {
  margin-left: calc(95.83333% + 20px) !important; }

.inset-l23 {
  padding-left: 95.83333% !important; }

.inset-r23 {
  padding-right: 95.83333% !important; }

.span24 {
  width: calc(100% - 20px);
  margin-left: 20px; }

.offset24 {
  margin-left: calc(100% + 20px) !important; }

.inset-l24 {
  padding-left: 100% !important; }

.inset-r24 {
  padding-right: 100% !important; }

@media only screen and (max-width: 525px) {
  .row {
    margin-left: 0 !important; }
  [class*="span"] {
    width: 100% !important;
    margin-left: 0 !important; }
    [class*='span'].inset-l1 {
      padding-left: calc((100% / 24) * 2) !important; }
    [class*='span'].inset-r1 {
      padding-right: calc((100% / 24) * 2) !important; } }

/* --- Breakpoint Displays --- */
#breakpoints {
  position: fixed;
  z-index: 99999;
  bottom: 0;
  right: 0;
  padding: 5px 10px;
  font-family: Courier, serif;
  font-size: 16px;
  color: #FFF;
  background: #000; }
  #breakpoints .breakpoint {
    display: none; }
  @media only screen and (max-width: 1920px) {
    #breakpoints .breakpoint.desktop-large {
      display: inline-block; }
    #breakpoints .breakpoint.desktop-medium {
      display: none; }
    #breakpoints .breakpoint.desktop {
      display: none; }
    #breakpoints .breakpoint.tablet {
      display: none; }
    #breakpoints .breakpoint.mobile {
      display: none; } }
  @media only screen and (max-width: 1440px) {
    #breakpoints .breakpoint.desktop-large {
      display: none; }
    #breakpoints .breakpoint.desktop-medium {
      display: inline-block; }
    #breakpoints .breakpoint.desktop {
      display: none; }
    #breakpoints .breakpoint.tablet {
      display: none; }
    #breakpoints .breakpoint.mobile {
      display: none; } }
  @media only screen and (max-width: 1125px) {
    #breakpoints .breakpoint.desktop-large {
      display: none; }
    #breakpoints .breakpoint.desktop-medium {
      display: none; }
    #breakpoints .breakpoint.desktop {
      display: inline-block; }
    #breakpoints .breakpoint.tablet {
      display: none; }
    #breakpoints .breakpoint.mobile {
      display: none; } }
  @media only screen and (max-width: 910px) {
    #breakpoints .breakpoint.desktop-large {
      display: none; }
    #breakpoints .breakpoint.desktop-medium {
      display: none; }
    #breakpoints .breakpoint.desktop {
      display: none; }
    #breakpoints .breakpoint.tablet {
      display: inline-block; }
    #breakpoints .breakpoint.mobile {
      display: none; } }
  @media only screen and (max-width: 525px) {
    #breakpoints .breakpoint.desktop-large {
      display: none; }
    #breakpoints .breakpoint.desktop-medium {
      display: none; }
    #breakpoints .breakpoint.desktop {
      display: none; }
    #breakpoints .breakpoint.tablet {
      display: none; }
    #breakpoints .breakpoint.mobile {
      display: inline-block; } }

:where(body.front), :where(#lucy-page-template-inner) {
  /* --- Buttons and Links --- */
  /* --- Table Styles --- */ }
  :where(body.front) a, :where(#lucy-page-template-inner) a {
    color: #972140;
    text-decoration: underline; }
    :where(body.front) a:hover, :where(#lucy-page-template-inner) a:hover {
      text-decoration: none; }
  :where(body.front) h1, :where(#lucy-page-template-inner) h1 {
    margin-bottom: 1em;
    font-family: le-monde-journal-std-2, Helvetica, Arial, sans-serif;
    font-weight: 400;
    font-size: 4rem;
    letter-spacing: -0.004rem;
    line-height: 1.07; }
  :where(body.front) h2, :where(#lucy-page-template-inner) h2 {
    margin-bottom: 1em;
    font-family: le-monde-journal-std-2, Helvetica, Arial, sans-serif;
    font-weight: 400;
    font-size: 3rem;
    letter-spacing: 0.0013rem;
    line-height: 1.03; }
  :where(body.front) h3, :where(#lucy-page-template-inner) h3 {
    margin-bottom: 1em;
    font-family: le-monde-journal-std-2, Helvetica, Arial, sans-serif;
    font-weight: 400;
    font-size: 2.4rem;
    letter-spacing: 0;
    line-height: 1.04; }
  :where(body.front) h4, :where(body.front) #lucy-checkout-fields h2, #lucy-checkout-fields :where(body.front) h2, :where(#lucy-page-template-inner) h4, :where(#lucy-page-template-inner) #lucy-checkout-fields h2, #lucy-checkout-fields :where(#lucy-page-template-inner) h2 {
    margin-bottom: 1em;
    font-family: le-monde-journal-std-2, Helvetica, Arial, sans-serif;
    font-weight: 400;
    font-size: 1.8rem;
    letter-spacing: 0;
    line-height: 1.16; }
  :where(body.front) h5, :where(body.front) .filter-bar h2, .filter-bar :where(body.front) h2, :where(#lucy-page-template-inner) h5, :where(#lucy-page-template-inner) .filter-bar h2, .filter-bar :where(#lucy-page-template-inner) h2 {
    margin-bottom: 1em;
    font-family: le-monde-journal-std-2, Helvetica, Arial, sans-serif;
    font-weight: 400;
    font-size: 1.2rem;
    letter-spacing: 0;
    line-height: 1.33; }
  :where(body.front) h6, :where(#lucy-page-template-inner) h6 {
    margin-bottom: 1em;
    font-family: le-monde-journal-std-2, Helvetica, Arial, sans-serif;
    font-weight: 400;
    font-size: 1.1rem;
    letter-spacing: 0;
    line-height: 1.3; }
  :where(body.front) .body-small, :where(#lucy-page-template-inner) .body-small {
    font-family: franklin-gothic-urw, Helvetica, Arial, sans-serif;
    font-size: 0.7rem;
    letter-spacing: 0.00187em;
    line-height: 1.85; }
  :where(body.front) blockquote, :where(#lucy-page-template-inner) blockquote {
    font-family: franklin-gothic-urw, Helvetica, Arial, sans-serif;
    font-size: 1.4rem;
    letter-spacing: 0;
    line-height: 1.42; }
  :where(body.front) .intro, :where(#lucy-page-template-inner) .intro {
    font-family: le-monde-journal-std-2, Helvetica, Arial, sans-serif;
    font-size: 1.4rem;
    letter-spacing: 0;
    line-height: 1.43; }
  :where(body.front) .caption, :where(#lucy-page-template-inner) .caption {
    font-family: franklin-gothic-urw, Helvetica, Arial, sans-serif;
    font-size: 0.65rem;
    letter-spacing: -0.005rem;
    line-height: 1.5; }
  :where(body.front) .button, :where(body.front) .pagination a, .pagination :where(body.front) a, :where(#lucy-page-template-inner) .button, :where(#lucy-page-template-inner) .pagination a, .pagination :where(#lucy-page-template-inner) a {
    display: inline-block;
    font-family: franklin-gothic-urw, Helvetica, Arial, sans-serif; }
  :where(body.front) .sub-header, :where(#lucy-page-template-inner) .sub-header {
    font-family: franklin-gothic-urw, Helvetica, Arial, sans-serif;
    font-size: 0.7rem;
    font-weight: bold;
    letter-spacing: 0.0635rem;
    line-height: 1.7;
    text-transform: uppercase; }
  :where(body.front) .heading, :where(#lucy-page-template-inner) .heading {
    margin-bottom: 1em;
    font-family: le-monde-journal-std-2, Helvetica, Arial, sans-serif;
    font-weight: 400; }
  :where(body.front) .h1, :where(#lucy-page-template-inner) .h1 {
    font-size: 4rem;
    letter-spacing: -0.004rem;
    line-height: 1.07; }
  :where(body.front) .h2, :where(#lucy-page-template-inner) .h2 {
    font-size: 3rem;
    letter-spacing: 0.0013rem;
    line-height: 1.03; }
  :where(body.front) .h3, :where(#lucy-page-template-inner) .h3 {
    font-size: 2.4rem;
    letter-spacing: 0;
    line-height: 1.04; }
  :where(body.front) .h4, :where(#lucy-page-template-inner) .h4 {
    font-size: 1.8rem;
    letter-spacing: 0;
    line-height: 1.16; }
  :where(body.front) .h5, :where(#lucy-page-template-inner) .h5 {
    font-size: 1.2rem;
    letter-spacing: 0;
    line-height: 1.33; }
  :where(body.front) .h6, :where(#lucy-page-template-inner) .h6 {
    font-size: 1.1rem;
    letter-spacing: 0;
    line-height: 1.3; }
  :where(body.front) p, :where(body.front) blockquote, :where(body.front) ul, :where(body.front) ol, :where(#lucy-page-template-inner) p, :where(#lucy-page-template-inner) blockquote, :where(#lucy-page-template-inner) ul, :where(#lucy-page-template-inner) ol {
    margin-bottom: 1rem;
    color: inherit; }
  :where(body.front) ul, :where(body.front) ol, :where(#lucy-page-template-inner) ul, :where(#lucy-page-template-inner) ol {
    padding-left: 2em; }
  :where(body.front) img, :where(#lucy-page-template-inner) img {
    display: block;
    max-width: 100%; }
  :where(body.front) .list-unstyled, :where(#lucy-page-template-inner) .list-unstyled {
    margin: 0;
    padding: 0;
    list-style: none; }
  :where(body.front) .text-primary, :where(#lucy-page-template-inner) .text-primary {
    color: #972140; }
  :where(body.front) .bg-primary, :where(#lucy-page-template-inner) .bg-primary {
    background-color: #972140; }
  :where(body.front) .text-secondary, :where(#lucy-page-template-inner) .text-secondary {
    color: #102E5A; }
  :where(body.front) .bg-secondary, :where(#lucy-page-template-inner) .bg-secondary {
    background-color: #102E5A; }
  :where(body.front) .text-dark, :where(#lucy-page-template-inner) .text-dark {
    color: #102E5A; }
  :where(body.front) .bg-dark, :where(#lucy-page-template-inner) .bg-dark {
    background-color: #102E5A; }
  :where(body.front) .text-light, :where(#lucy-page-template-inner) .text-light {
    color: #F0F7FC; }
  :where(body.front) .bg-light, :where(#lucy-page-template-inner) .bg-light {
    background-color: #F0F7FC; }
  :where(body.front) .text-error, :where(#lucy-page-template-inner) .text-error {
    color: #ED6A5A; }
  :where(body.front) .bg-error, :where(#lucy-page-template-inner) .bg-error {
    background-color: #ED6A5A; }
  :where(body.front) .text-success, :where(#lucy-page-template-inner) .text-success {
    color: #1A936F; }
  :where(body.front) .bg-success, :where(#lucy-page-template-inner) .bg-success {
    background-color: #1A936F; }
  :where(body.front) .text-warning, :where(#lucy-page-template-inner) .text-warning {
    color: #FFC857; }
  :where(body.front) .bg-warning, :where(#lucy-page-template-inner) .bg-warning {
    background-color: #FFC857; }
  :where(body.front) .text-border, :where(#lucy-page-template-inner) .text-border {
    color: #D8D8D8; }
  :where(body.front) .bg-border, :where(#lucy-page-template-inner) .bg-border {
    background-color: #D8D8D8; }
  :where(body.front) .text-white, :where(#lucy-page-template-inner) .text-white {
    color: #FFFFFF; }
  :where(body.front) .bg-white, :where(#lucy-page-template-inner) .bg-white {
    background-color: #FFFFFF; }
  :where(body.front) .text-text, :where(#lucy-page-template-inner) .text-text {
    color: #102E5A; }
  :where(body.front) .bg-text, :where(#lucy-page-template-inner) .bg-text {
    background-color: #102E5A; }
  :where(body.front) button, :where(#lucy-page-template-inner) button {
    font-size: inherit;
    font-family: inherit;
    font-weight: inherit;
    color: inherit;
    background: transparent;
    cursor: pointer; }
  :where(body.front) .progress-circle, :where(#lucy-page-template-inner) .progress-circle {
    --progress_color: #972140;
    --progress_percentage: 0;
    --progress_bg_color: transparent;
    display: grid;
    place-items: center;
    position: relative;
    width: 3rem;
    height: 3rem;
    padding: 2px;
    border-radius: 50%;
    background-image: radial-gradient(closest-side, white 90%, transparent 0 102%, white 0), conic-gradient(var(--progress_color) calc(var(--progress_percentage) * 1%), var(--progress_bg_color) 0);
    box-sizing: border-box; }
    :where(body.front) .progress-circle .circle-button, :where(#lucy-page-template-inner) .progress-circle .circle-button {
      width: 100%;
      height: 100%;
      border: none; }
  :where(body.front) .circle-button, :where(#lucy-page-template-inner) .circle-button {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 3rem;
    height: 3rem;
    color: #972140;
    border: 2px solid #972140;
    border-radius: 50%;
    background-color: inherit;
    box-sizing: border-box; }
  :where(body.front) .button, :where(body.front) .pagination a, .pagination :where(body.front) a, :where(#lucy-page-template-inner) .button, :where(#lucy-page-template-inner) .pagination a, .pagination :where(#lucy-page-template-inner) a {
    font-family: franklin-gothic-urw, Helvetica, Arial, sans-serif;
    font-size: 0.7rem;
    font-weight: bold;
    letter-spacing: 0.0635rem;
    line-height: 1.7;
    text-transform: uppercase;
    display: inline-block;
    padding: .85rem 2rem;
    text-align: center;
    text-decoration: none;
    color: #FFF;
    background-color: #972140;
    cursor: pointer;
    box-sizing: border-box;
    border-radius: 1.5rem;
    overflow: hidden; }
    :where(body.front) .button:focus-visible, :where(body.front) .pagination a:focus-visible, .pagination :where(body.front) a:focus-visible, :where(#lucy-page-template-inner) .button:focus-visible, :where(#lucy-page-template-inner) .pagination a:focus-visible, .pagination :where(#lucy-page-template-inner) a:focus-visible {
      outline: 2px dashed #FFF;
      outline-offset: -2px; }
    @media only screen and (max-width: 525px) {
      :where(body.front) .button, :where(body.front) .pagination a, .pagination :where(body.front) a, :where(#lucy-page-template-inner) .button, :where(#lucy-page-template-inner) .pagination a, .pagination :where(#lucy-page-template-inner) a {
        font-size: 12px; } }
    :where(body.front) .button:not(.login-button), :where(body.front) .pagination a:not(.login-button), .pagination :where(body.front) a:not(.login-button), :where(#lucy-page-template-inner) .button:not(.login-button), :where(#lucy-page-template-inner) .pagination a:not(.login-button), .pagination :where(#lucy-page-template-inner) a:not(.login-button) {
      --icon_space: .25rem;
      --translate_distance: -1.25rem; }
      :where(body.front) .button:not(.login-button)::before, :where(body.front) .pagination a:not(.login-button)::before, .pagination :where(body.front) a:not(.login-button)::before, :where(body.front) .button:not(.login-button)::after, :where(body.front) .pagination a:not(.login-button)::after, .pagination :where(body.front) a:not(.login-button)::after, :where(#lucy-page-template-inner) .button:not(.login-button)::before, :where(#lucy-page-template-inner) .pagination a:not(.login-button)::before, .pagination :where(#lucy-page-template-inner) a:not(.login-button)::before, :where(#lucy-page-template-inner) .button:not(.login-button)::after, :where(#lucy-page-template-inner) .pagination a:not(.login-button)::after, .pagination :where(#lucy-page-template-inner) a:not(.login-button)::after {
        display: inline-block;
        transition: .2s;
        pointer-events: none; }
      :where(body.front) .button:not(.login-button)::before, :where(body.front) .pagination a:not(.login-button)::before, .pagination :where(body.front) a:not(.login-button)::before, :where(#lucy-page-template-inner) .button:not(.login-button)::before, :where(#lucy-page-template-inner) .pagination a:not(.login-button)::before, .pagination :where(#lucy-page-template-inner) a:not(.login-button)::before {
        content: url(/images/icons/arrow-white.svg);
        width: 0;
        opacity: 0;
        margin-right: var(--icon_space);
        transform: translateX(var(--translate_distance)); }
      :where(body.front) .button:not(.login-button)::after, :where(body.front) .pagination a:not(.login-button)::after, .pagination :where(body.front) a:not(.login-button)::after, :where(#lucy-page-template-inner) .button:not(.login-button)::after, :where(#lucy-page-template-inner) .pagination a:not(.login-button)::after, .pagination :where(#lucy-page-template-inner) a:not(.login-button)::after {
        content: url(/images/icons/arrow-white.svg);
        width: 1rem;
        opacity: 1;
        margin-left: var(--icon_space);
        transform: translateX(0); }
      :where(body.front) .button:not(.login-button):hover::before, :where(body.front) .pagination a:not(.login-button):hover::before, .pagination :where(body.front) a:not(.login-button):hover::before, :where(body.front) .button:not(.login-button):focus::before, :where(body.front) .pagination a:not(.login-button):focus::before, .pagination :where(body.front) a:not(.login-button):focus::before, :where(#lucy-page-template-inner) .button:not(.login-button):hover::before, :where(#lucy-page-template-inner) .pagination a:not(.login-button):hover::before, .pagination :where(#lucy-page-template-inner) a:not(.login-button):hover::before, :where(#lucy-page-template-inner) .button:not(.login-button):focus::before, :where(#lucy-page-template-inner) .pagination a:not(.login-button):focus::before, .pagination :where(#lucy-page-template-inner) a:not(.login-button):focus::before {
        margin-right: var(--icon_space);
        opacity: 1;
        width: 1rem;
        transform: translateX(0rem); }
      :where(body.front) .button:not(.login-button):hover::after, :where(body.front) .pagination a:not(.login-button):hover::after, .pagination :where(body.front) a:not(.login-button):hover::after, :where(body.front) .button:not(.login-button):focus::after, :where(body.front) .pagination a:not(.login-button):focus::after, .pagination :where(body.front) a:not(.login-button):focus::after, :where(#lucy-page-template-inner) .button:not(.login-button):hover::after, :where(#lucy-page-template-inner) .pagination a:not(.login-button):hover::after, .pagination :where(#lucy-page-template-inner) a:not(.login-button):hover::after, :where(#lucy-page-template-inner) .button:not(.login-button):focus::after, :where(#lucy-page-template-inner) .pagination a:not(.login-button):focus::after, .pagination :where(#lucy-page-template-inner) a:not(.login-button):focus::after {
        width: 0;
        opacity: 0;
        margin-left: var(--icon_space);
        transform: translateX(calc(var(--translate_distance) * -1)); }
    :where(body.front) .button.small, :where(body.front) .pagination a.small, .pagination :where(body.front) a.small, :where(#lucy-page-template-inner) .button.small, :where(#lucy-page-template-inner) .pagination a.small, .pagination :where(#lucy-page-template-inner) a.small {
      padding: 0.6rem 1rem;
      box-sizing: border-box; }
    :where(body.front) .button.alt, :where(body.front) .pagination a.alt, .pagination :where(body.front) a.alt, :where(#lucy-page-template-inner) .button.alt, :where(#lucy-page-template-inner) .pagination a.alt, .pagination :where(#lucy-page-template-inner) a.alt {
      color: #102E5A;
      background-color: #F0F7FC; }
      :where(body.front) .button.alt:hover, :where(body.front) .pagination a.alt:hover, .pagination :where(body.front) a.alt:hover, :where(body.front) .button.alt.selected, :where(body.front) .pagination a.alt.selected, .pagination :where(body.front) a.alt.selected, :where(body.front) .button.alt.active, :where(body.front) .pagination a.alt.active, .pagination :where(body.front) a.alt.active, :where(#lucy-page-template-inner) .button.alt:hover, :where(#lucy-page-template-inner) .pagination a.alt:hover, .pagination :where(#lucy-page-template-inner) a.alt:hover, :where(#lucy-page-template-inner) .button.alt.selected, :where(#lucy-page-template-inner) .pagination a.alt.selected, .pagination :where(#lucy-page-template-inner) a.alt.selected, :where(#lucy-page-template-inner) .button.alt.active, :where(#lucy-page-template-inner) .pagination a.alt.active, .pagination :where(#lucy-page-template-inner) a.alt.active {
        color: #F0F7FC; }
    :where(body.front) .button.fluid, :where(body.front) .pagination a.fluid, .pagination :where(body.front) a.fluid, :where(#lucy-page-template-inner) .button.fluid, :where(#lucy-page-template-inner) .pagination a.fluid, .pagination :where(#lucy-page-template-inner) a.fluid {
      display: block;
      width: 100%;
      padding: 0;
      text-align: center; }
    :where(body.front) .button.disabled, :where(body.front) .pagination a.disabled, .pagination :where(body.front) a.disabled, :where(body.front) .button.disabled:hover, :where(body.front) .pagination a.disabled:hover, .pagination :where(body.front) a.disabled:hover, :where(#lucy-page-template-inner) .button.disabled, :where(#lucy-page-template-inner) .pagination a.disabled, .pagination :where(#lucy-page-template-inner) a.disabled, :where(#lucy-page-template-inner) .button.disabled:hover, :where(#lucy-page-template-inner) .pagination a.disabled:hover, .pagination :where(#lucy-page-template-inner) a.disabled:hover {
      cursor: not-allowed;
      opacity: .6; }
    :where(body.front) .button:hover, :where(body.front) .pagination a:hover, .pagination :where(body.front) a:hover, :where(body.front) .button.selected, :where(body.front) .pagination a.selected, .pagination :where(body.front) a.selected, :where(body.front) .button.active, :where(body.front) .pagination a.active, .pagination :where(body.front) a.active, :where(#lucy-page-template-inner) .button:hover, :where(#lucy-page-template-inner) .pagination a:hover, .pagination :where(#lucy-page-template-inner) a:hover, :where(#lucy-page-template-inner) .button.selected, :where(#lucy-page-template-inner) .pagination a.selected, .pagination :where(#lucy-page-template-inner) a.selected, :where(#lucy-page-template-inner) .button.active, :where(#lucy-page-template-inner) .pagination a.active, .pagination :where(#lucy-page-template-inner) a.active {
      background-color: #821c37; }
    @media only screen and (max-width: 1125px) {
      :where(body.front) .button span, :where(body.front) .pagination a span, .pagination :where(body.front) a span, :where(#lucy-page-template-inner) .button span, :where(#lucy-page-template-inner) .pagination a span, .pagination :where(#lucy-page-template-inner) a span {
        display: none; } }
  :where(body.front) .button-inner, :where(#lucy-page-template-inner) .button-inner {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.5rem; }
  :where(body.front) a.button-link, :where(#lucy-page-template-inner) a.button-link {
    position: relative;
    display: inline-block;
    margin-bottom: .5em;
    font-family: franklin-gothic-urw, Helvetica, Arial, sans-serif;
    font-size: .6875em;
    font-weight: bold;
    color: #102E5A;
    letter-spacing: .1em;
    line-height: 1;
    text-transform: uppercase;
    text-decoration: none; }
    :where(body.front) a.button-link:before, :where(#lucy-page-template-inner) a.button-link:before {
      position: absolute;
      top: 50%;
      right: -2.5em;
      display: block;
      width: 1.9em;
      height: 1.9em;
      background: #F0F7FC;
      content: '';
      transform: translate(0, -50%);
      perspective: 1000px;
      -moz-transform: translate(0, -50%);
      -moz-perspective: 1000;
      -webkit-transform: translate(0, -50%);
      -webkit-perspective: 1000;
      -o-transform: translate(0, -50%);
      -o-perspective: 1000;
      -ms-transform: translate(0, -50%);
      -ms-perspective: 1000;
      border-radius: 50%;
      -moz-border-radius: 50%;
      -webkit-border-radius: 50%;
      -o-border-radius: 50%;
      -ms-border-radius: 50%;
      -moz-background-clip: padding-box;
      -webkit-background-clip: padding-box;
      -o-background-clip: padding-box;
      -ms-background-clip: padding-box; }
    :where(body.front) a.button-link:after, :where(#lucy-page-template-inner) a.button-link:after {
      position: absolute;
      top: 50%;
      right: -2.85em;
      display: block;
      width: 2em;
      height: 2em;
      line-height: 2em;
      font-size: .9em;
      text-align: center;
      color: #972140;
      content: "\e939" !important;
      transform: translate(0, -45%);
      perspective: 1000px;
      -moz-transform: translate(0, -45%);
      -moz-perspective: 1000;
      -webkit-transform: translate(0, -45%);
      -webkit-perspective: 1000;
      -o-transform: translate(0, -45%);
      -o-perspective: 1000;
      -ms-transform: translate(0, -45%);
      -ms-perspective: 1000; }
    :where(body.front) a.button-link:hover, :where(#lucy-page-template-inner) a.button-link:hover {
      text-decoration: underline; }
      :where(body.front) a.button-link:hover:before, :where(#lucy-page-template-inner) a.button-link:hover:before {
        background: #972140; }
      :where(body.front) a.button-link:hover:after, :where(#lucy-page-template-inner) a.button-link:hover:after {
        color: #FFFFFF; }
  :where(body.front) .table-heading, :where(#lucy-page-template-inner) .table-heading {
    margin: 4rem 0 1.5rem;
    font-size: 1.8rem;
    letter-spacing: 0;
    line-height: 1.16; }
  :where(body.front) .table-wrapper, :where(#lucy-page-template-inner) .table-wrapper {
    display: block;
    width: 100%;
    box-sizing: border-box;
    overflow-x: auto; }
  :where(body.front) .table, :where(#lucy-page-template-inner) .table {
    width: 100%;
    border-collapse: collapse; }
  :where(body.front) .list-table, :where(#lucy-page-template-inner) .list-table {
    width: 100%;
    margin: 0 0 2.5rem;
    padding: 0;
    list-style: none; }
  :where(body.front) .table th, :where(body.front) .table td, :where(body.front) .table li, :where(body.front) .list-table th, :where(body.front) .list-table td, :where(body.front) .list-table li, :where(#lucy-page-template-inner) .table th, :where(#lucy-page-template-inner) .table td, :where(#lucy-page-template-inner) .table li, :where(#lucy-page-template-inner) .list-table th, :where(#lucy-page-template-inner) .list-table td, :where(#lucy-page-template-inner) .list-table li {
    margin-bottom: 1em;
    font-family: le-monde-journal-std-2, Helvetica, Arial, sans-serif;
    font-weight: 400;
    font-size: 1.2rem;
    margin-bottom: 0;
    padding: .75rem 1.5rem;
    vertical-align: top;
    border-bottom: 1px solid #D8D8D8;
    border-left: 1px solid #D8D8D8;
    min-width: 5rem; }
  :where(body.front) .table th, :where(body.front) .list-table th, :where(#lucy-page-template-inner) .table th, :where(#lucy-page-template-inner) .list-table th {
    font-family: franklin-gothic-urw, Helvetica, Arial, sans-serif;
    font-size: 0.7rem;
    font-weight: bold;
    letter-spacing: 0.0635rem;
    line-height: 1.7;
    text-transform: uppercase;
    text-align: left;
    color: #972140;
    font-family: franklin-gothic-urw, Helvetica, Arial, sans-serif;
    font-size: .6875em;
    text-transform: uppercase;
    background: #FFF; }
  :where(body.front) .table tr:nth-child(odd) td, :where(body.front) .table li:nth-child(odd), :where(body.front) .list-table tr:nth-child(odd) td, :where(body.front) .list-table li:nth-child(odd), :where(#lucy-page-template-inner) .table tr:nth-child(odd) td, :where(#lucy-page-template-inner) .table li:nth-child(odd), :where(#lucy-page-template-inner) .list-table tr:nth-child(odd) td, :where(#lucy-page-template-inner) .list-table li:nth-child(odd) {
    background: #F0F7FC; }
  :where(body.front) .table-text-small td, :where(body.front) .table-text-small li, :where(#lucy-page-template-inner) .table-text-small td, :where(#lucy-page-template-inner) .table-text-small li {
    font-size: .9rem; }
  :where(body.front) .table-text-small td, :where(body.front) .table-text-small li, :where(body.front) .table-text-small th, :where(#lucy-page-template-inner) .table-text-small td, :where(#lucy-page-template-inner) .table-text-small li, :where(#lucy-page-template-inner) .table-text-small th {
    padding: .75rem .75rem; }
  :where(body.front) .table-message, :where(#lucy-page-template-inner) .table-message {
    margin: .75rem 0 2rem;
    font-size: .8rem; }

/* --- Form + Label Styles --- */
:where(body.front) select, :where(#lucy-page-template-inner) select {
  background: #FFF url(../images/icons/dropdown-arrow.svg) no-repeat calc(100% - 10px) 50%;
  background-size: 10px 6px;
  -webkit-appearance: none;
  color: #102E5A; }
  :where(body.front) select.error, :where(#lucy-page-template-inner) select.error {
    background: #FFF url(../images/field-error.png) no-repeat calc(100% - 10px) 50%;
    background-size: 20px 20px; }

[class*='span'] input[type=text], [class*='span'] input[type=email], [class*='span'] input[type=url], [class*='span'] input[type=tel], [class*='span'] input[type=password], [class*='span'] input[type=date], [class*='span'] textarea, [class*='span'].select, [class*='span'] .check-group {
  margin-bottom: 2rem !important; }

[class*='span'] select {
  margin-bottom: 0 !important; }

.check-group.two-col {
  columns: 2; }
  @media only screen and (max-width: 525px) {
    .check-group.two-col {
      columns: 1; } }

.upload-field {
  margin-bottom: 2rem; }

:where(body.front) input[type=text], :where(body.front) input[type=number], :where(body.front) input[type=email], :where(body.front) input[type=url], :where(body.front) input[type=tel], :where(body.front) input[type=password], :where(body.front) input[type=date], :where(body.front) textarea, :where(body.front) select, :where(#lucy-page-template-inner) input[type=text], :where(#lucy-page-template-inner) input[type=number], :where(#lucy-page-template-inner) input[type=email], :where(#lucy-page-template-inner) input[type=url], :where(#lucy-page-template-inner) input[type=tel], :where(#lucy-page-template-inner) input[type=password], :where(#lucy-page-template-inner) input[type=date], :where(#lucy-page-template-inner) textarea, :where(#lucy-page-template-inner) select {
  margin-bottom: 2rem;
  padding: 0.8rem .75rem;
  font-size: clamp(16px, 1rem, 1rem);
  font-family: franklin-gothic-urw, Helvetica, Arial, sans-serif;
  border: 1px solid #D8D8D8;
  border-radius: .2rem;
  line-height: 1.2;
  box-sizing: border-box; }
  :where(body.front) input[type=text]:focus, :where(body.front) input[type=number]:focus, :where(body.front) input[type=email]:focus, :where(body.front) input[type=url]:focus, :where(body.front) input[type=tel]:focus, :where(body.front) input[type=password]:focus, :where(body.front) input[type=date]:focus, :where(body.front) textarea:focus, :where(body.front) select:focus, :where(#lucy-page-template-inner) input[type=text]:focus, :where(#lucy-page-template-inner) input[type=number]:focus, :where(#lucy-page-template-inner) input[type=email]:focus, :where(#lucy-page-template-inner) input[type=url]:focus, :where(#lucy-page-template-inner) input[type=tel]:focus, :where(#lucy-page-template-inner) input[type=password]:focus, :where(#lucy-page-template-inner) input[type=date]:focus, :where(#lucy-page-template-inner) textarea:focus, :where(#lucy-page-template-inner) select:focus {
    outline-color: #102E5A; }
  :where(body.front) input[type=text].error, :where(body.front) input[type=number].error, :where(body.front) input[type=email].error, :where(body.front) input[type=url].error, :where(body.front) input[type=tel].error, :where(body.front) input[type=password].error, :where(body.front) input[type=date].error, :where(body.front) textarea.error, :where(body.front) select.error, :where(#lucy-page-template-inner) input[type=text].error, :where(#lucy-page-template-inner) input[type=number].error, :where(#lucy-page-template-inner) input[type=email].error, :where(#lucy-page-template-inner) input[type=url].error, :where(#lucy-page-template-inner) input[type=tel].error, :where(#lucy-page-template-inner) input[type=password].error, :where(#lucy-page-template-inner) input[type=date].error, :where(#lucy-page-template-inner) textarea.error, :where(#lucy-page-template-inner) select.error {
    border-color: #ED6A5A; }
    :where(body.front) input[type=text].error::-webkit-input-placeholder, :where(body.front) input[type=number].error::-webkit-input-placeholder, :where(body.front) input[type=email].error::-webkit-input-placeholder, :where(body.front) input[type=url].error::-webkit-input-placeholder, :where(body.front) input[type=tel].error::-webkit-input-placeholder, :where(body.front) input[type=password].error::-webkit-input-placeholder, :where(body.front) input[type=date].error::-webkit-input-placeholder, :where(body.front) textarea.error::-webkit-input-placeholder, :where(body.front) select.error::-webkit-input-placeholder, :where(#lucy-page-template-inner) input[type=text].error::-webkit-input-placeholder, :where(#lucy-page-template-inner) input[type=number].error::-webkit-input-placeholder, :where(#lucy-page-template-inner) input[type=email].error::-webkit-input-placeholder, :where(#lucy-page-template-inner) input[type=url].error::-webkit-input-placeholder, :where(#lucy-page-template-inner) input[type=tel].error::-webkit-input-placeholder, :where(#lucy-page-template-inner) input[type=password].error::-webkit-input-placeholder, :where(#lucy-page-template-inner) input[type=date].error::-webkit-input-placeholder, :where(#lucy-page-template-inner) textarea.error::-webkit-input-placeholder, :where(#lucy-page-template-inner) select.error::-webkit-input-placeholder {
      color: #ED6A5A; }
    :where(body.front) input[type=text].error:-moz-placeholder, :where(body.front) input[type=number].error:-moz-placeholder, :where(body.front) input[type=email].error:-moz-placeholder, :where(body.front) input[type=url].error:-moz-placeholder, :where(body.front) input[type=tel].error:-moz-placeholder, :where(body.front) input[type=password].error:-moz-placeholder, :where(body.front) input[type=date].error:-moz-placeholder, :where(body.front) textarea.error:-moz-placeholder, :where(body.front) select.error:-moz-placeholder, :where(#lucy-page-template-inner) input[type=text].error:-moz-placeholder, :where(#lucy-page-template-inner) input[type=number].error:-moz-placeholder, :where(#lucy-page-template-inner) input[type=email].error:-moz-placeholder, :where(#lucy-page-template-inner) input[type=url].error:-moz-placeholder, :where(#lucy-page-template-inner) input[type=tel].error:-moz-placeholder, :where(#lucy-page-template-inner) input[type=password].error:-moz-placeholder, :where(#lucy-page-template-inner) input[type=date].error:-moz-placeholder, :where(#lucy-page-template-inner) textarea.error:-moz-placeholder, :where(#lucy-page-template-inner) select.error:-moz-placeholder {
      color: #ED6A5A; }
    :where(body.front) input[type=text].error::-moz-placeholder, :where(body.front) input[type=number].error::-moz-placeholder, :where(body.front) input[type=email].error::-moz-placeholder, :where(body.front) input[type=url].error::-moz-placeholder, :where(body.front) input[type=tel].error::-moz-placeholder, :where(body.front) input[type=password].error::-moz-placeholder, :where(body.front) input[type=date].error::-moz-placeholder, :where(body.front) textarea.error::-moz-placeholder, :where(body.front) select.error::-moz-placeholder, :where(#lucy-page-template-inner) input[type=text].error::-moz-placeholder, :where(#lucy-page-template-inner) input[type=number].error::-moz-placeholder, :where(#lucy-page-template-inner) input[type=email].error::-moz-placeholder, :where(#lucy-page-template-inner) input[type=url].error::-moz-placeholder, :where(#lucy-page-template-inner) input[type=tel].error::-moz-placeholder, :where(#lucy-page-template-inner) input[type=password].error::-moz-placeholder, :where(#lucy-page-template-inner) input[type=date].error::-moz-placeholder, :where(#lucy-page-template-inner) textarea.error::-moz-placeholder, :where(#lucy-page-template-inner) select.error::-moz-placeholder {
      color: #ED6A5A; }
    :where(body.front) input[type=text].error:-ms-input-placeholder, :where(body.front) input[type=number].error:-ms-input-placeholder, :where(body.front) input[type=email].error:-ms-input-placeholder, :where(body.front) input[type=url].error:-ms-input-placeholder, :where(body.front) input[type=tel].error:-ms-input-placeholder, :where(body.front) input[type=password].error:-ms-input-placeholder, :where(body.front) input[type=date].error:-ms-input-placeholder, :where(body.front) textarea.error:-ms-input-placeholder, :where(body.front) select.error:-ms-input-placeholder, :where(#lucy-page-template-inner) input[type=text].error:-ms-input-placeholder, :where(#lucy-page-template-inner) input[type=number].error:-ms-input-placeholder, :where(#lucy-page-template-inner) input[type=email].error:-ms-input-placeholder, :where(#lucy-page-template-inner) input[type=url].error:-ms-input-placeholder, :where(#lucy-page-template-inner) input[type=tel].error:-ms-input-placeholder, :where(#lucy-page-template-inner) input[type=password].error:-ms-input-placeholder, :where(#lucy-page-template-inner) input[type=date].error:-ms-input-placeholder, :where(#lucy-page-template-inner) textarea.error:-ms-input-placeholder, :where(#lucy-page-template-inner) select.error:-ms-input-placeholder {
      color: #ED6A5A; }
    :where(body.front) input[type=text].error:not(#card-number), :where(body.front) input[type=number].error:not(#card-number), :where(body.front) input[type=email].error:not(#card-number), :where(body.front) input[type=url].error:not(#card-number), :where(body.front) input[type=tel].error:not(#card-number), :where(body.front) input[type=password].error:not(#card-number), :where(body.front) input[type=date].error:not(#card-number), :where(body.front) textarea.error:not(#card-number), :where(body.front) select.error:not(#card-number), :where(#lucy-page-template-inner) input[type=text].error:not(#card-number), :where(#lucy-page-template-inner) input[type=number].error:not(#card-number), :where(#lucy-page-template-inner) input[type=email].error:not(#card-number), :where(#lucy-page-template-inner) input[type=url].error:not(#card-number), :where(#lucy-page-template-inner) input[type=tel].error:not(#card-number), :where(#lucy-page-template-inner) input[type=password].error:not(#card-number), :where(#lucy-page-template-inner) input[type=date].error:not(#card-number), :where(#lucy-page-template-inner) textarea.error:not(#card-number), :where(#lucy-page-template-inner) select.error:not(#card-number) {
      background: #FFF url(../images/field-error.png) no-repeat 0 0;
      background-position: calc(100% - 10px) 50%;
      background-size: 20px 20px; }

:where(body.front) input::placeholder, :where(body.front) textarea::placeholder, :where(#lucy-page-template-inner) input::placeholder, :where(#lucy-page-template-inner) textarea::placeholder {
  color: #102E5A;
  transition: all 0.1s ease-in-out;
  -moz-transition: all 0.1s ease-in-out;
  -webkit-transition: all 0.1s ease-in-out;
  -o-transition: all 0.1s ease-in-out;
  -ms-transition: all 0.1s ease-in-out; }

:where(body.front) input:focus::placeholder, :where(body.front) textarea:focus::placeholder, :where(#lucy-page-template-inner) input:focus::placeholder, :where(#lucy-page-template-inner) textarea:focus::placeholder {
  filter: alpha(opacity=0);
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
  -moz-opacity: 0;
  -khtml-opacity: 0;
  opacity: 0; }

:where(body.front) input[type="checkbox"], :where(body.front) input[type="radio"], :where(#lucy-page-template-inner) input[type="checkbox"], :where(#lucy-page-template-inner) input[type="radio"] {
  margin-right: .5rem;
  width: 1rem;
  height: 1rem; }
  :where(body.front) input[type="checkbox"] + label, :where(body.front) input[type="radio"] + label, :where(#lucy-page-template-inner) input[type="checkbox"] + label, :where(#lucy-page-template-inner) input[type="radio"] + label {
    display: inline;
    vertical-align: text-bottom; }

:where(body.front) input[type="date"], :where(#lucy-page-template-inner) input[type="date"] {
  height: 2.9rem; }

:where(body.front) input, :where(body.front) select, :where(body.front) textarea, :where(#lucy-page-template-inner) input, :where(#lucy-page-template-inner) select, :where(#lucy-page-template-inner) textarea {
  scroll-margin: 10rem;
  accent-color: #102E5A; }
  :where(body.front) input:focus, :where(body.front) select:focus, :where(body.front) textarea:focus, :where(#lucy-page-template-inner) input:focus, :where(#lucy-page-template-inner) select:focus, :where(#lucy-page-template-inner) textarea:focus {
    outline-color: #102E5A; }

:where(body.front) select, :where(#lucy-page-template-inner) select {
  padding-right: 1.5rem; }

:where(body.front) textarea, :where(#lucy-page-template-inner) textarea {
  resize: none; }

[class*='span'].select select, .input-wrap.select select {
  position: relative;
  z-index: 1; }

[class*='span'].select label, .input-wrap.select label {
  z-index: 0; }
  [class*='span'].select label.show, .input-wrap.select label.show {
    z-index: 2; }

[class*='span'].select span.error, .input-wrap.select span.error {
  top: 100% !important; }

[class*='span'].upload {
  margin-bottom: 20px !important; }
  [class*='span'].upload input {
    margin-top: 1.5em; }
  [class*='span'].upload label {
    top: .25em !important;
    left: -.25em !important;
    font-size: 1em !important;
    transform: translate(0, -50%);
    perspective: 1000px;
    -moz-transform: translate(0, -50%);
    -moz-perspective: 1000;
    -webkit-transform: translate(0, -50%);
    -webkit-perspective: 1000;
    -o-transform: translate(0, -50%);
    -o-perspective: 1000;
    -ms-transform: translate(0, -50%);
    -ms-perspective: 1000;
    filter: alpha(opacity=100);
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
    -moz-opacity: 1;
    -khtml-opacity: 1;
    opacity: 1; }
  [class*='span'].upload span.error {
    top: 100% !important; }
  [class*='span'].upload select {
    margin-bottom: 0 !important; }

[class*='span'] label, .field:not(.check-field) label:where(:not(.check-label)) {
  position: absolute;
  z-index: 1;
  top: .6em;
  left: .45em;
  display: block;
  margin-bottom: 0;
  padding: 0 .3em;
  cursor: text;
  background: #FFFFFF;
  transition: all 0.1s ease-in-out;
  -moz-transition: all 0.1s ease-in-out;
  -webkit-transition: all 0.1s ease-in-out;
  -o-transition: all 0.1s ease-in-out;
  -ms-transition: all 0.1s ease-in-out;
  filter: alpha(opacity=0);
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
  -moz-opacity: 0;
  -khtml-opacity: 0;
  opacity: 0; }
  [class*='span'] label.show, .field:not(.check-field) label:where(:not(.check-label)).show {
    top: 0;
    font-size: clamp(13px, 0.6em, 0.6em);
    transform: translate(0, -50%);
    perspective: 1000px;
    -moz-transform: translate(0, -50%);
    -moz-perspective: 1000;
    -webkit-transform: translate(0, -50%);
    -webkit-perspective: 1000;
    -o-transform: translate(0, -50%);
    -o-perspective: 1000;
    -ms-transform: translate(0, -50%);
    -ms-perspective: 1000;
    filter: alpha(opacity=100);
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
    -moz-opacity: 1;
    -khtml-opacity: 1;
    opacity: 1; }
  [class*='span'] label.error, .field:not(.check-field) label:where(:not(.check-label)).error {
    color: #ED6A5A !important; }
  [class*='span'] label.fixed, .field:not(.check-field) label:where(:not(.check-label)).fixed {
    position: relative;
    top: auto;
    left: auto;
    padding: 0;
    font-size: calc(1rem * .9);
    filter: alpha(opacity=100);
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
    -moz-opacity: 1;
    -khtml-opacity: 1;
    opacity: 1;
    transform: translate(0); }
    @media only screen and (max-width: 525px) {
      [class*='span'] label.fixed, .field:not(.check-field) label:where(:not(.check-label)).fixed {
        font-size: 1rem; } }
  [class*='span'] label:not(.fixed), .field:not(.check-field) label:where(:not(.check-label)):not(.fixed) {
    pointer-events: none; }

.editor-label {
  margin-bottom: .4rem;
  font-size: 1rem; }

span.error {
  position: absolute !important;
  top: calc(100% - 20px) !important;
  left: 0;
  width: 100%;
  font-size: .6em;
  color: #ED6A5A !important; }

/* --- Callouts --- */
.callout {
  display: block;
  margin-bottom: 3em;
  border: 1px solid #D8D8D8;
  border-radius: 8px;
  -moz-border-radius: 8px;
  -webkit-border-radius: 8px;
  -o-border-radius: 8px;
  -ms-border-radius: 8px;
  -moz-background-clip: padding-box;
  -webkit-background-clip: padding-box;
  -o-background-clip: padding-box;
  -ms-background-clip: padding-box; }
  .callout .image {
    display: block;
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center;
    border-top-left-radius: 8px;
    -moz-border-top-left-radius: 8px;
    -webkit-border-top-left-radius: 8px;
    -o-border-top-left-radius: 8px;
    -ms-border-top-left-radius: 8px;
    -moz-background-clip: "padding-box";
    -webkit-background-clip: "padding-box";
    -o-background-clip: "padding-box";
    -ms-background-clip: "padding-box";
    border-bottom-left-radius: 8px;
    -moz-border-bottom-left-radius: 8px;
    -webkit-border-bottom-left-radius: 8px;
    -o-border-bottom-left-radius: 8px;
    -ms-border-bottom-left-radius: 8px;
    -moz-background-clip: "padding-box";
    -webkit-background-clip: "padding-box";
    -o-background-clip: "padding-box";
    -ms-background-clip: "padding-box"; }
  .callout .title {
    margin-bottom: 1em;
    font-family: le-monde-journal-std-2, Helvetica, Arial, sans-serif;
    font-weight: 400;
    font-size: 1.2rem;
    letter-spacing: 0;
    line-height: 1.33; }
  .callout .details, .callout .action, .callout .image {
    padding-top: 40px;
    padding-bottom: 40px; }
  .callout .details p {
    position: relative;
    left: 20px; }
    @media only screen and (max-width: 525px) {
      .callout .details p {
        left: 0; } }
  .callout.no-image .outer, .callout.no-image .inner, .callout.no-image .wrap {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    display: block !important; }
  .callout :last-child {
    margin-bottom: 0; }
  @media only screen and (max-width: 525px) {
    .callout .image {
      height: 0;
      margin-bottom: 2em;
      padding-bottom: 50%;
      border-bottom-left-radius: 0;
      -moz-border-bottom-left-radius: 0;
      -webkit-border-bottom-left-radius: 0;
      -o-border-bottom-left-radius: 0;
      -ms-border-bottom-left-radius: 0;
      -moz-background-clip: "padding-box";
      -webkit-background-clip: "padding-box";
      -o-background-clip: "padding-box";
      -ms-background-clip: "padding-box";
      border-top-right-radius: 8px;
      -moz-border-top-right-radius: 8px;
      -webkit-border-top-right-radius: 8px;
      -o-border-top-right-radius: 8px;
      -ms-border-top-right-radius: 8px;
      -moz-background-clip: "padding-box";
      -webkit-background-clip: "padding-box";
      -o-background-clip: "padding-box";
      -ms-background-clip: "padding-box"; }
    .callout .outer, .callout .inner, .callout .wrap {
      position: relative !important;
      top: auto !important;
      left: auto !important;
      display: block !important; }
    .callout .outer {
      padding: 0 2em 2em 2em;
      box-sizing: border-box;
      -moz-box-sizing: border-box;
      -webkit-box-sizing: border-box;
      -o-box-sizing: border-box;
      -ms-box-sizing: border-box; }
    .callout .details, .callout .action {
      padding: 0; } }

/* --- Credit Card Icons --- */
.card-icons {
  position: absolute;
  top: 0.7rem;
  right: 10px;
  font-size: 0; }
  .card-icons span {
    display: inline-block;
    margin-left: .25em;
    font-size: 30px;
    color: #102E5A;
    filter: alpha(opacity=20);
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=20)";
    -moz-opacity: 0.2;
    -khtml-opacity: 0.2;
    opacity: 0.2;
    transition: all 0.2s ease-in-out;
    -moz-transition: all 0.2s ease-in-out;
    -webkit-transition: all 0.2s ease-in-out;
    -o-transition: all 0.2s ease-in-out;
    -ms-transition: all 0.2s ease-in-out; }
    .card-icons span.selected {
      filter: alpha(opacity=100);
      -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
      -moz-opacity: 1;
      -khtml-opacity: 1;
      opacity: 1; }
  @media only screen and (max-width: 525px) {
    .card-icons span {
      display: none; }
      .card-icons span.selected {
        display: inline-block; } }

/* --- Page Search --- */
#page-search {
  position: relative;
  margin-bottom: 3em;
  display: flex;
  flex-wrap: wrap;
  gap: 1.11rem; }
  #page-search > div {
    flex: 1; }
    #page-search > div.shrink {
      flex: .66; }
    @media only screen and (max-width: 910px) {
      #page-search > div {
        flex: auto; } }
  #page-search.isolated {
    margin: 3em 0; }
  #page-search h1, #page-search h2, #page-search h3, #page-search h4, #page-search #lucy-checkout-fields h2, #lucy-checkout-fields #page-search h2, #page-search h5, #page-search .filter-bar h2, .filter-bar #page-search h2, #page-search h6 {
    margin-bottom: 0;
    line-height: 60px; }
  #page-search .button, #page-search .pagination a, .pagination #page-search a {
    width: 100%;
    height: 100%;
    margin: 0; }
  #page-search .field-wrap {
    position: relative; }
    #page-search .field-wrap:before {
      position: absolute;
      z-index: 2;
      top: 50%;
      left: 1em;
      font-size: 1em;
      transform: translate(0, -50%);
      perspective: 1000px;
      -moz-transform: translate(0, -50%);
      -moz-perspective: 1000;
      -webkit-transform: translate(0, -50%);
      -webkit-perspective: 1000;
      -o-transform: translate(0, -50%);
      -o-perspective: 1000;
      -ms-transform: translate(0, -50%);
      -ms-perspective: 1000; }
  #page-search input[type=text] {
    width: 100%;
    margin-bottom: 0 !important;
    padding-left: 3em; }
  #page-search select {
    width: 100%;
    padding-right: calc(var(--field_padding) * 2);
    margin-bottom: 0 !important;
    background: #FFF url(../images/dropdown-arrow.png) no-repeat calc(100% - 10px) 50%;
    background-size: 10px 6px;
    -webkit-appearance: none; }
  #page-search .select {
    margin-bottom: 0 !important; }

#page-search-clear {
  position: absolute;
  z-index: 2;
  top: 50%;
  right: 1.5em;
  width: 3em;
  height: 3em;
  line-height: 3em;
  text-decoration: none;
  color: #102E5A;
  text-align: center;
  font-size: .6em;
  background: #F0F7FC;
  transform: translate(0, -50%);
  perspective: 1000px;
  -moz-transform: translate(0, -50%);
  -moz-perspective: 1000;
  -webkit-transform: translate(0, -50%);
  -webkit-perspective: 1000;
  -o-transform: translate(0, -50%);
  -o-perspective: 1000;
  -ms-transform: translate(0, -50%);
  -ms-perspective: 1000;
  border-radius: 50%;
  -moz-border-radius: 50%;
  -webkit-border-radius: 50%;
  -o-border-radius: 50%;
  -ms-border-radius: 50%;
  -moz-background-clip: padding-box;
  -webkit-background-clip: padding-box;
  -o-background-clip: padding-box;
  -ms-background-clip: padding-box; }
  #page-search-clear span {
    position: relative;
    top: 2px;
    margin-right: 0;
    color: #102E5A; }
  #page-search-clear:hover {
    color: #FFFFFF;
    background-color: #102E5A; }
    #page-search-clear:hover span {
      color: #FFFFFF; }

/* --- On Page Links/Filters --- */
.page-filter-links {
  margin: 3em 0 6em 0 !important;
  padding: 0 0 .5em 0 !important;
  font-family: franklin-gothic-urw, Helvetica, Arial, sans-serif;
  font-size: 0.7rem;
  font-weight: bold;
  letter-spacing: 0.0635rem;
  line-height: 1.7;
  text-transform: uppercase;
  list-style-type: none;
  border-bottom: 1px solid #D8D8D8; }
  .page-filter-links li {
    display: inline-block;
    margin-right: 2em;
    text-transform: uppercase; }
    .page-filter-links li a, .page-filter-links li a:active, .page-filter-links li a:visited {
      text-decoration: none;
      filter: alpha(opacity=40);
      -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=40)";
      -moz-opacity: 0.4;
      -khtml-opacity: 0.4;
      opacity: 0.4; }
      .page-filter-links li a:hover, .page-filter-links li a.active, .page-filter-links li a:active:hover, .page-filter-links li a:active.active, .page-filter-links li a:visited:hover, .page-filter-links li a:visited.active {
        filter: alpha(opacity=100);
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
        -moz-opacity: 1;
        -khtml-opacity: 1;
        opacity: 1; }

/* --- Vertical Alignment Wrappers --- */
.outer {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%; }
  .outer .inner {
    display: table;
    width: 100%;
    height: 100%; }
    .outer .inner .wrap {
      display: table-cell;
      vertical-align: middle; }

/* --- Visual Tag --- */
/* --- Skip To Content --- */
.skip {
  position: fixed;
  top: -100px;
  left: 10vw;
  z-index: 25;
  padding: .75em 1em;
  text-decoration: none;
  line-height: 1;
  font-size: .75em;
  font-weight: bold;
  text-transform: uppercase;
  color: #FFF !important;
  background: #102E5A;
  border-radius: 5px;
  -moz-border-radius: 5px;
  -webkit-border-radius: 5px;
  -o-border-radius: 5px;
  -ms-border-radius: 5px;
  -moz-background-clip: padding-box;
  -webkit-background-clip: padding-box;
  -o-background-clip: padding-box;
  -ms-background-clip: padding-box;
  -moz-font-smoothing: antialiased;
  -webkit-font-smoothing: antialiased;
  -o-font-smoothing: antialiased;
  -ms-font-smoothing: antialiased;
  transition: all 0.2s ease-in-out;
  -moz-transition: all 0.2s ease-in-out;
  -webkit-transition: all 0.2s ease-in-out;
  -o-transition: all 0.2s ease-in-out;
  -ms-transition: all 0.2s ease-in-out; }
  .skip:hover {
    color: #333 !important;
    background: #FFF; }
  .skip:focus {
    top: 7px;
    outline: none;
    -moz-outline: none; }

/* --- Wrap video and Preserve Ratio --- */
.video-wrapper {
  position: relative;
  margin-bottom: 2em;
  padding-bottom: 56.25%;
  /* 16:9 */
  padding-top: 25px;
  height: 0; }
  .video-wrapper iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }

/* --- Overlay --- */
#overlay {
  display: none;
  position: fixed;
  z-index: 100;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #FFF;
  background: rgba(255, 255, 255, 0.87); }

#overlay-close {
  display: none;
  position: fixed;
  z-index: 102;
  top: 20px;
  right: 20px;
  font-size: 1.4em;
  color: #000;
  cursor: pointer; }

#overlay-image {
  position: fixed;
  z-index: 101; }

#overlay-content {
  position: fixed;
  z-index: 101;
  top: 200%;
  left: 50%; }

/* --- Error Reporting --- */
.error {
  color: #ED6A5A; }

/* --- Pagination Styles --- */
.pagination {
  padding-top: 3em;
  text-align: center; }
  .pagination a {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    width: 2.5rem;
    height: 2.5rem;
    margin: 0 .5em;
    padding: 0 !important;
    border-radius: 50%; }
    .pagination a::before, .pagination a::after {
      content: none !important; }

/* --- Video Grid --- */
.video-gallery .title {
  font-size: 1.2rem;
  letter-spacing: 0;
  line-height: 1.33; }
  .video-gallery .title:last-child {
    margin-bottom: 0; }

.video-gallery .full {
  margin-bottom: 4em;
  padding-bottom: 4em;
  border-bottom: 1px solid #D8D8D8; }
  .video-gallery .full .title {
    font-size: 1.8rem;
    letter-spacing: 0;
    line-height: 1.16;
    margin-bottom: .5em; }
  .video-gallery .full :last-child {
    margin-bottom: 0; }

.video-gallery .span8 {
  margin-bottom: 1em; }
  .video-gallery .span8 .video-wrapper {
    margin-bottom: 0; }

/* --- Image Viewer --- */
.gallery .span6 {
  position: relative;
  margin-bottom: 20px;
  background-color: #102E5A;
  cursor: pointer; }
  .gallery .span6 img {
    float: left;
    width: 100%; }
  .gallery .span6:hover img {
    filter: alpha(opacity=75);
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=75)";
    -moz-opacity: 0.75;
    -khtml-opacity: 0.75;
    opacity: 0.75; }
  .gallery .span6.view-more {
    height: 0;
    padding-bottom: calc(25% - 20px);
    background: #972140; }
    .gallery .span6.view-more p {
      position: absolute;
      top: 50%;
      left: 0;
      width: 100%;
      font-family: franklin-gothic-urw, Helvetica, Arial, sans-serif;
      font-size: 0.7rem;
      font-weight: bold;
      letter-spacing: 0.0635rem;
      line-height: 1.7;
      text-transform: uppercase;
      text-align: center;
      color: #FFFFFF;
      transform: translate(0, -50%);
      perspective: 1000px;
      -moz-transform: translate(0, -50%);
      -moz-perspective: 1000;
      -webkit-transform: translate(0, -50%);
      -webkit-perspective: 1000;
      -o-transform: translate(0, -50%);
      -o-perspective: 1000;
      -ms-transform: translate(0, -50%);
      -ms-perspective: 1000; }
    .gallery .span6.view-more:hover {
      background: #102E5A; }
      .gallery .span6.view-more:hover:after {
        display: none; }

#viewer {
  position: fixed;
  z-index: 25;
  top: 100%;
  left: 0;
  width: 100%;
  height: 100%;
  background: #F5F5F5;
  transition: all 0.5s ease-in-out;
  -moz-transition: all 0.5s ease-in-out;
  -webkit-transition: all 0.5s ease-in-out;
  -o-transition: all 0.5s ease-in-out;
  -ms-transition: all 0.5s ease-in-out; }
  #viewer #viewer-header {
    position: relative;
    z-index: 1;
    height: 60px;
    background: #FFF;
    border-bottom: 1px solid #D8D8D8; }
    #viewer #viewer-header h2 {
      float: left;
      display: inline;
      margin: 0 1.5em 0 0;
      padding-left: 1em;
      line-height: 60px;
      font-size: 1.5em; }
    #viewer #viewer-header #viewer-close {
      float: right;
      display: inline;
      padding: 20px;
      cursor: pointer; }
      #viewer #viewer-header #viewer-close:before {
        font-family: 'icomoon';
        content: '\e919'; }
    #viewer #viewer-header p {
      float: right;
      display: inline;
      padding: 0 2em;
      line-height: 60px;
      font-weight: 800;
      font-size: .85em;
      border-left: 1px solid #D8D8D8;
      border-right: 1px solid #D8D8D8; }
    #viewer #viewer-header em {
      font-weight: 300;
      color: #777; }
  #viewer #viewer-previous, #viewer #viewer-next {
    position: absolute;
    z-index: 1;
    top: 50%;
    cursor: pointer;
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none; }
    #viewer #viewer-previous:before, #viewer #viewer-next:before {
      position: absolute;
      width: 70px;
      height: 70px;
      background: #FFF;
      content: '';
      border-radius: 50%;
      -moz-border-radius: 50%;
      -webkit-border-radius: 50%;
      -o-border-radius: 50%;
      -ms-border-radius: 50%;
      -moz-background-clip: padding-box;
      -webkit-background-clip: padding-box;
      -o-background-clip: padding-box;
      -ms-background-clip: padding-box; }
    #viewer #viewer-previous:after, #viewer #viewer-next:after {
      position: absolute;
      font-family: 'icomoon';
      font-size: 70px;
      color: #000;
      line-height: 1; }
  #viewer #viewer-previous {
    left: 0; }
    #viewer #viewer-previous:before {
      left: -50px; }
    #viewer #viewer-previous:after {
      content: '\e934'; }
  #viewer #viewer-next {
    right: 0; }
    #viewer #viewer-next:before {
      right: -50px; }
    #viewer #viewer-next:after {
      right: 0;
      content: '\e935'; }
  #viewer #viewer-image {
    position: absolute;
    z-index: 0;
    top: 60px;
    left: 0;
    width: 100%;
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    box-sizing: border-box;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box; }

/* --- Lucy Slideshow --- */
.lucy-slideshow {
  position: relative;
  width: 100%;
  height: 0;
  margin-bottom: 2em;
  padding-bottom: 58%;
  background: #F0F7FC;
  overflow: hidden; }
  .lucy-slideshow .slider {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    transition: all 0.4s ease-in-out;
    -moz-transition: all 0.4s ease-in-out;
    -webkit-transition: all 0.4s ease-in-out;
    -o-transition: all 0.4s ease-in-out;
    -ms-transition: all 0.4s ease-in-out; }
    .lucy-slideshow .slider .slide {
      position: relative;
      float: left;
      display: inline;
      height: 100%;
      line-height: 0; }
      .lucy-slideshow .slider .slide img {
        position: absolute;
        top: 50%;
        left: 50%;
        max-width: 100%;
        max-height: 100%;
        width: auto;
        transform: translate(-50%, -50%);
        perspective: 1000px;
        -moz-transform: translate(-50%, -50%);
        -moz-perspective: 1000;
        -webkit-transform: translate(-50%, -50%);
        -webkit-perspective: 1000;
        -o-transform: translate(-50%, -50%);
        -o-perspective: 1000;
        -ms-transform: translate(-50%, -50%);
        -ms-perspective: 1000; }
      .lucy-slideshow .slider .slide p {
        position: absolute;
        width: 100%;
        bottom: 0;
        left: 0;
        margin-bottom: 0;
        padding: 1.5em;
        line-height: 1.2;
        color: #FFF;
        font-size: .9em;
        text-align: center;
        box-sizing: border-box;
        -moz-box-sizing: border-box;
        -webkit-box-sizing: border-box;
        -o-box-sizing: border-box;
        -ms-box-sizing: border-box; }
      .lucy-slideshow .slider .slide.caption:before {
        position: absolute;
        z-index: 0;
        bottom: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: transparent url(../images/slideshow-gradient.png) repeat-x bottom left;
        content: ''; }
    .lucy-slideshow .slider.count1 {
      width: 100%; }
      .lucy-slideshow .slider.count1 .slide {
        width: 100%; }
    .lucy-slideshow .slider.count2 {
      width: 200%; }
      .lucy-slideshow .slider.count2 .slide {
        width: 50%; }
    .lucy-slideshow .slider.count3 {
      width: 300%; }
      .lucy-slideshow .slider.count3 .slide {
        width: 33.33333%; }
    .lucy-slideshow .slider.count4 {
      width: 400%; }
      .lucy-slideshow .slider.count4 .slide {
        width: 25%; }
    .lucy-slideshow .slider.count5 {
      width: 500%; }
      .lucy-slideshow .slider.count5 .slide {
        width: 20%; }
    .lucy-slideshow .slider.count6 {
      width: 600%; }
      .lucy-slideshow .slider.count6 .slide {
        width: 16.66667%; }
    .lucy-slideshow .slider.count7 {
      width: 700%; }
      .lucy-slideshow .slider.count7 .slide {
        width: 14.28571%; }
    .lucy-slideshow .slider.count8 {
      width: 800%; }
      .lucy-slideshow .slider.count8 .slide {
        width: 12.5%; }
    .lucy-slideshow .slider.count9 {
      width: 900%; }
      .lucy-slideshow .slider.count9 .slide {
        width: 11.11111%; }
    .lucy-slideshow .slider.count10 {
      width: 1000%; }
      .lucy-slideshow .slider.count10 .slide {
        width: 10%; }
    .lucy-slideshow .slider.count11 {
      width: 1100%; }
      .lucy-slideshow .slider.count11 .slide {
        width: 9.09091%; }
    .lucy-slideshow .slider.count12 {
      width: 1200%; }
      .lucy-slideshow .slider.count12 .slide {
        width: 8.33333%; }
    .lucy-slideshow .slider.count13 {
      width: 1300%; }
      .lucy-slideshow .slider.count13 .slide {
        width: 7.69231%; }
    .lucy-slideshow .slider.count14 {
      width: 1400%; }
      .lucy-slideshow .slider.count14 .slide {
        width: 7.14286%; }
    .lucy-slideshow .slider.count15 {
      width: 1500%; }
      .lucy-slideshow .slider.count15 .slide {
        width: 6.66667%; }
  .lucy-slideshow.position1 .slider {
    left: 0%; }
  .lucy-slideshow.position2 .slider {
    left: -100%; }
  .lucy-slideshow.position3 .slider {
    left: -200%; }
  .lucy-slideshow.position4 .slider {
    left: -300%; }
  .lucy-slideshow.position5 .slider {
    left: -400%; }
  .lucy-slideshow.position6 .slider {
    left: -500%; }
  .lucy-slideshow.position7 .slider {
    left: -600%; }
  .lucy-slideshow.position8 .slider {
    left: -700%; }
  .lucy-slideshow.position9 .slider {
    left: -800%; }
  .lucy-slideshow.position10 .slider {
    left: -900%; }
  .lucy-slideshow.position11 .slider {
    left: -1000%; }
  .lucy-slideshow.position12 .slider {
    left: -1100%; }
  .lucy-slideshow.position13 .slider {
    left: -1200%; }
  .lucy-slideshow.position14 .slider {
    left: -1300%; }
  .lucy-slideshow.position15 .slider {
    left: -1400%; }
  .lucy-slideshow .previous, .lucy-slideshow .next {
    position: absolute;
    top: 50%;
    left: 0;
    width: 2em;
    height: 4em;
    margin-top: -2em;
    text-indent: -9999px;
    background: #102E5A;
    cursor: pointer; }
    .lucy-slideshow .previous:after, .lucy-slideshow .next:after {
      content: '';
      position: absolute;
      top: 50%;
      left: 50%;
      width: 0;
      height: 0;
      margin: -4px 0 0 -3px;
      border-style: solid;
      border-width: 4px 5px 4px 0;
      border-color: transparent #FFF transparent transparent; }
    .lucy-slideshow .previous:hover, .lucy-slideshow .next:hover {
      background: #0c2344; }
  .lucy-slideshow .next {
    left: auto;
    right: 0; }
    .lucy-slideshow .next:after {
      border-width: 4px 0 4px 5px;
      border-color: transparent transparent transparent #FFF; }
  .lucy-slideshow:hover .thumbs {
    bottom: 0; }

/* --- Miscellaneous --- */
#recaptcha_widget_div {
  margin-bottom: 10px; }

a img {
  border: none; }

.separator {
  margin: 2em 0;
  border-bottom: 1px solid #D8D8D8; }

/* Interaction Cues
----------------------------------*/
.ui-state-disabled {
  cursor: default !important;
  pointer-events: none; }

.ui-datepicker {
  width: 17em;
  display: none;
  border: none !important; }

.ui-datepicker .ui-icon {
  width: 25px; }

.ui-datepicker .ui-datepicker-header {
  position: relative;
  padding: .5em 0; }

.ui-datepicker .ui-datepicker-prev,
.ui-datepicker .ui-datepicker-next {
  position: absolute;
  top: 35%;
  width: 3em;
  height: 2em;
  font-size: 1.35em;
  text-decoration: none; }

.ui-datepicker .ui-datepicker-prev {
  left: 2px; }

.ui-datepicker .ui-datepicker-next {
  right: 2px; }

.ui-datepicker .ui-datepicker-prev-hover {
  left: 1px; }

.ui-datepicker .ui-datepicker-next-hover {
  right: 1px; }

.ui-datepicker .ui-datepicker-prev span,
.ui-datepicker .ui-datepicker-next span {
  display: block;
  margin-top: 1px; }

.ui-datepicker .ui-datepicker-prev span,
.ui-datepicker .ui-datepicker-next span {
  font-family: 'icomoon' !important;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  text-indent: 0 !important;
  font-size: .8em;
  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  background-image: none; }

.ui-datepicker .ui-datepicker-prev span {
  content: "\e922"; }

.ui-datepicker .ui-datepicker-next span {
  content: "\e920";
  text-align: right; }

.ui-datepicker-next span {
  float: right; }

.ui-datepicker .ui-datepicker-title {
  margin: 0 2.3em;
  font-size: 1.5em;
  line-height: 1.5em;
  text-align: center; }

.ui-datepicker .ui-datepicker-title select {
  font-size: 1em;
  margin: 1px 0; }

.ui-datepicker select.ui-datepicker-month,
.ui-datepicker select.ui-datepicker-year {
  width: 45%; }

.ui-datepicker table {
  width: 100%;
  font-size: .9em;
  border-collapse: collapse;
  margin: 0 0 .4em; }

.ui-datepicker th {
  padding: .7em .3em;
  text-align: center;
  font-weight: bold;
  font-size: .85em;
  border: 0; }

.ui-datepicker td {
  border: none !important;
  padding: 1px; }

.ui-datepicker td span,
.ui-datepicker td a {
  display: block;
  padding: .5em;
  font-size: .85em;
  text-align: center;
  text-decoration: none;
  border: none !important; }

.ui-datepicker .ui-datepicker-buttonpane {
  background-image: none;
  margin: .7em 0 0 0;
  padding: 0 .2em;
  border-left: 0;
  border-right: 0;
  border-bottom: 0; }

.ui-datepicker .ui-datepicker-buttonpane button {
  float: right;
  margin: .5em .2em .4em;
  cursor: pointer;
  padding: .2em .6em .3em .6em;
  width: auto;
  overflow: visible; }

.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current {
  float: left; }

/* with multiple calendars */
.ui-datepicker.ui-datepicker-multi {
  width: auto; }

.ui-datepicker-multi .ui-datepicker-group {
  float: left; }

.ui-datepicker-multi .ui-datepicker-group table {
  width: 95%;
  margin: 0 auto .4em; }

.ui-datepicker-multi-2 .ui-datepicker-group {
  width: 50%; }

.ui-datepicker-multi-3 .ui-datepicker-group {
  width: 33.3%; }

.ui-datepicker-multi-4 .ui-datepicker-group {
  width: 25%; }

.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header,
.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header {
  border-left-width: 0; }

.ui-datepicker-multi .ui-datepicker-buttonpane {
  clear: left; }

.ui-datepicker-row-break {
  clear: both;
  width: 100%;
  font-size: 0; }

/* RTL support */
.ui-datepicker-rtl {
  direction: rtl; }

.ui-datepicker-rtl .ui-datepicker-prev {
  right: 2px;
  left: auto; }

.ui-datepicker-rtl .ui-datepicker-next {
  left: 2px;
  right: auto; }

.ui-datepicker-rtl .ui-datepicker-prev:hover {
  right: 1px;
  left: auto; }

.ui-datepicker-rtl .ui-datepicker-next:hover {
  left: 1px;
  right: auto; }

.ui-datepicker-rtl .ui-datepicker-buttonpane {
  clear: right; }

.ui-datepicker-rtl .ui-datepicker-buttonpane button {
  float: left; }

.ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current,
.ui-datepicker-rtl .ui-datepicker-group {
  float: right; }

.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header,
.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header {
  border-right-width: 0;
  border-left-width: 1px; }

/* Interaction states
----------------------------------*/
.ui-state-default,
.ui-widget-content .ui-state-default,
.ui-widget-header .ui-state-default,
.ui-button,
html .ui-button.ui-state-disabled:hover,
html .ui-button.ui-state-disabled:active {
  font-weight: bold;
  color: #102E5A; }

.ui-state-default a,
.ui-state-default a:link,
.ui-state-default a:visited,
a.ui-button,
a:link.ui-button,
a:visited.ui-button,
.ui-button {
  color: #454545;
  text-decoration: none; }

.ui-visual-focus {
  box-shadow: 0 0 3px 1px #5e9ed6; }

.ui-state-active,
.ui-widget-content .ui-state-active,
.ui-widget-header .ui-state-active,
a.ui-button:active,
.ui-button:active,
.ui-button.ui-state-active:hover {
  color: #FFFFFF !important;
  background: #972140 !important; }

.ui-state-active a,
.ui-state-active a:link,
.ui-state-active a:visited {
  color: #FFFFFF;
  text-decoration: none;
  background: #972140; }

/* --- Lucy Style Overrides --- */
.ui-widget {
  font-family: franklin-gothic-urw, Helvetica, Arial, sans-serif; }

.ui-datepicker a, .ui-datepicker a:active, .ui-datepicker a:visited {
  border: none !important; }

.ui-datepicker .ui-datepicker-header {
  margin: 1em 0 2em 0; }
  @media only screen and (max-width: 1125px) {
    .ui-datepicker .ui-datepicker-header {
      margin: 1em 0; } }
  .ui-datepicker .ui-datepicker-header .ui-datepicker-title {
    font-family: le-monde-journal-std-2, Helvetica, Arial, sans-serif;
    font-size: 1.1em;
    font-weight: 500;
    letter-spacing: .5px; }
    @media only screen and (max-width: 1125px) {
      .ui-datepicker .ui-datepicker-header .ui-datepicker-title {
        margin: 0;
        font-size: 1em; } }
  .ui-datepicker .ui-datepicker-header .ui-datepicker-prev, .ui-datepicker .ui-datepicker-header .ui-datepicker-next {
    text-decoration: none; }

.ui-datepicker .ui-datepicker-calendar {
  font-size: .75em; }
  .ui-datepicker .ui-datepicker-calendar thead {
    font-size: 1em;
    font-weight: 500; }
  .ui-datepicker .ui-datepicker-calendar td {
    text-align: center !important;
    filter: alpha(opacity=100);
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
    -moz-opacity: 1;
    -khtml-opacity: 1;
    opacity: 1; }
    .ui-datepicker .ui-datepicker-calendar td.active span, .ui-datepicker .ui-datepicker-calendar td a {
      background-color: #faf4f5; }
    .ui-datepicker .ui-datepicker-calendar td span, .ui-datepicker .ui-datepicker-calendar td a {
      display: inline-block;
      width: 32px;
      height: 32px;
      padding: 0;
      line-height: 32px;
      border-radius: 100%;
      -moz-border-radius: 100%;
      -webkit-border-radius: 100%;
      -o-border-radius: 100%;
      -ms-border-radius: 100%;
      -moz-background-clip: padding-box;
      -webkit-background-clip: padding-box;
      -o-background-clip: padding-box;
      -ms-background-clip: padding-box; }
      @media only screen and (max-width: 1440px) {
        .ui-datepicker .ui-datepicker-calendar td span, .ui-datepicker .ui-datepicker-calendar td a {
          width: 25px;
          height: 25px;
          line-height: 25px; } }
      @media only screen and (max-width: 1125px) {
        .ui-datepicker .ui-datepicker-calendar td span, .ui-datepicker .ui-datepicker-calendar td a {
          width: 15px;
          height: 15px;
          line-height: 15px; } }

/* --- Template Specific Includes --- */
:where(body.front), :where(#lucy-page-template-inner) {
  font-family: franklin-gothic-urw, Helvetica, Arial, sans-serif;
  font-size: 20px;
  letter-spacing: 0.002rem;
  line-height: 1.5;
  color: #102E5A; }

:root {
  --page_border_width: 1rem;
  --gutter_x: calc(.5rem + 6.5vw);
  --gutter_y: 5.5rem;
  --base_font_size: 1.25vw;
  --base_font_size: clamp(8px, 1.25vw, 22px);
  --offset-grid-cols: 18.5fr 42.2fr;
  --offset-grid-cols-reverse: 42.2fr 18.5fr;
  --offset-grid-gap: 2rem clamp(2.5rem, 8.8vw, 7rem); }
  @media only screen and (max-width: 1125px) {
    :root {
      --base_font_size: 1.5vw; } }
  @media only screen and (max-width: 910px) {
    :root {
      --base_font_size: calc(10px + 1vw);
      --gutter_y: 3rem;
      --header_height: 140px; } }
  @media only screen and (max-width: 525px) {
    :root {
      --base_font_size: clamp(14px, 3.33vw, 3.33vw);
      --header_height: 120px; } }

.home-section-heading {
  margin-bottom: 1em;
  font-family: le-monde-journal-std-2, Helvetica, Arial, sans-serif;
  font-weight: 400;
  font-size: 1.2rem;
  letter-spacing: 0;
  line-height: 1.33;
  margin: 0; }

.home-mission {
  margin-bottom: 1em;
  font-family: le-monde-journal-std-2, Helvetica, Arial, sans-serif;
  font-weight: 400;
  font-size: 1.8rem;
  letter-spacing: 0;
  line-height: 1.16; }

.lucy-callout {
  display: flex;
  margin-bottom: 2rem;
  align-items: center;
  color: #FFFFFF;
  text-decoration: none !important;
  background: #102E5A;
  overflow: hidden;
  border-radius: 5px;
  -moz-border-radius: 5px;
  -webkit-border-radius: 5px;
  -o-border-radius: 5px;
  -ms-border-radius: 5px;
  -moz-background-clip: padding-box;
  -webkit-background-clip: padding-box;
  -o-background-clip: padding-box;
  -ms-background-clip: padding-box; }
  .lucy-callout img {
    width: 28%;
    margin-right: 3rem; }
  .lucy-callout .wrap {
    display: flex;
    align-items: center;
    flex: 1 0 0; }
  .lucy-callout .content {
    margin-right: 3rem; }
    .lucy-callout .content h3, .lucy-callout .content p {
      color: #FFFFFF !important; }
    .lucy-callout .content h3 {
      margin-bottom: .35em !important; }
    .lucy-callout .content p {
      margin-bottom: 0 !important;
      line-height: 1.5; }
  .lucy-callout .button, .lucy-callout .pagination a, .pagination .lucy-callout a {
    margin-left: auto;
    margin-right: 3rem;
    white-space: nowrap; }
  .lucy-callout[max-width~="900px"] h3 {
    font-size: 1.5em; }
  .lucy-callout[max-width~="810px"] img {
    width: 50%; }
  .lucy-callout[max-width~="810px"] .wrap {
    flex-direction: column;
    align-items: flex-start; }
    .lucy-callout[max-width~="810px"] .wrap .content {
      margin-right: 1rem; }
    .lucy-callout[max-width~="810px"] .wrap .button, .lucy-callout[max-width~="810px"] .wrap .pagination a, .pagination .lucy-callout[max-width~="810px"] .wrap a {
      margin: 1rem 0 0 0 !important; }
  .lucy-callout[max-width~="700px"] {
    flex-wrap: wrap; }
    .lucy-callout[max-width~="700px"] img {
      width: 100%;
      margin: 0 0 2rem 0; }
    .lucy-callout[max-width~="700px"] .wrap .content {
      width: 100%;
      margin-bottom: 1rem;
      padding: 0 2rem;
      box-sizing: border-box;
      -moz-box-sizing: border-box;
      -webkit-box-sizing: border-box;
      -o-box-sizing: border-box;
      -ms-box-sizing: border-box; }
    .lucy-callout[max-width~="700px"] .wrap .button, .lucy-callout[max-width~="700px"] .wrap .pagination a, .pagination .lucy-callout[max-width~="700px"] .wrap a {
      margin: 0 2rem 2rem !important; }
  .lucy-callout:hover .button, .lucy-callout:hover .pagination a, .pagination .lucy-callout:hover a {
    color: #972140;
    background: #FFFFFF; }

.related-grid.listing-grid {
  --columns: 1fr 1fr; }
  .related-grid.listing-grid .gap-content {
    --gap: .6rem; }
  .related-grid.listing-grid .article {
    --margin-bottom: 4rem; }
  .related-grid.listing-grid .img-wrapper {
    position: relative;
    width: 100%;
    aspect-ratio: 1.4 / 1;
    border-radius: 0.4rem; }
    .related-grid.listing-grid .img-wrapper.blog-wrapper {
      aspect-ratio: 16 / 9; }
    .related-grid.listing-grid .img-wrapper img {
      position: absolute;
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: center;
      border-radius: 0.4rem; }
  @media only screen and (max-width: 525px) {
    .related-grid.listing-grid {
      --columns: 1fr; } }

#events-grid .article:first-child:last-child, .events-grid .article:first-child:last-child {
  grid-column: 1/-1; }

.related-events-section {
  padding: var(--gutter_y) 0 calc(var(--gutter_y) - 2.5rem);
  border-top: 1px solid #D8D8D8; }

.virtual-event {
  display: inline-block;
  width: .9rem;
  margin: .1rem .33rem .1rem 0;
  vertical-align: middle; }
  .virtual-event path {
    fill: #972140; }

.date-block-wrapper {
  display: flex;
  align-items: center; }
  .date-block-wrapper p {
    margin: 0;
    line-height: 1.3;
    font-size: .8em; }

.date-block {
  font-size: .8rem;
  text-align: center; }
  .date-block.border {
    margin-right: 1em;
    padding-right: 1em;
    border-right: 1px solid #D8D8D8; }
  .date-block .date-block-month {
    display: block;
    margin-bottom: 1em;
    font-family: le-monde-journal-std-2, Helvetica, Arial, sans-serif;
    font-weight: 400;
    font-family: franklin-gothic-urw, Helvetica, Arial, sans-serif;
    font-size: 0.7rem;
    font-weight: bold;
    letter-spacing: 0.0635rem;
    line-height: 1.7;
    text-transform: uppercase;
    margin: 0;
    color: #972140; }
  .date-block .date-block-day {
    margin-bottom: 1em;
    font-family: le-monde-journal-std-2, Helvetica, Arial, sans-serif;
    font-weight: 400;
    display: block;
    margin: -.1em 0 0;
    line-height: 1;
    font-size: 3em; }

/* --- Event Detail --- */
#event-detail #event-detail-header {
  padding: 3em 0;
  color: #FFFFFF;
  background: #102E5A; }
  #event-detail #event-detail-header h1, #event-detail #event-detail-header p {
    color: #FFFFFF; }
  #event-detail #event-detail-header h1 {
    margin-bottom: .25em; }
  #event-detail #event-detail-header .dates, #event-detail #event-detail-header .address {
    position: relative;
    margin-bottom: .5em;
    padding-left: 25px; }
    #event-detail #event-detail-header .dates a, #event-detail #event-detail-header .dates a:active, #event-detail #event-detail-header .dates a:visited, #event-detail #event-detail-header .address a, #event-detail #event-detail-header .address a:active, #event-detail #event-detail-header .address a:visited {
      color: #FFFFFF;
      text-decoration: none; }
      #event-detail #event-detail-header .dates a:hover, #event-detail #event-detail-header .dates a:active:hover, #event-detail #event-detail-header .dates a:visited:hover, #event-detail #event-detail-header .address a:hover, #event-detail #event-detail-header .address a:active:hover, #event-detail #event-detail-header .address a:visited:hover {
        text-decoration: underline; }
    #event-detail #event-detail-header .dates [class*='icon'], #event-detail #event-detail-header .address [class*='icon'] {
      position: absolute;
      top: 2px;
      left: 0; }
    #event-detail #event-detail-header .dates:last-child, #event-detail #event-detail-header .address:last-child {
      margin-bottom: 0; }
  #event-detail #event-detail-header .span10 img {
    width: 100%; }

#event-detail #event-detail-info.flow .outer, #event-detail #event-detail-info.flow .inner, #event-detail #event-detail-info.flow .wrap {
  position: relative;
  top: auto;
  left: auto;
  width: auto;
  height: auto; }

@media only screen and (max-width: 525px) {
  #event-detail #event-detail-info.flow {
    padding-bottom: 25px; } }

/* --- Filter Bar --- */
#event-ticket-add-button-mobile {
  display: none;
  flex-shrink: 0; }

@media only screen and (max-width: 910px) {
  #event-ticket-add-button {
    display: none; }
  #event-ticket-add-button-mobile {
    display: inline-block; } }

#event-tickets-placeholder {
  background: transparent; }

.event-tickets-datepicker {
  z-index: 4 !important;
  padding: 1.5em;
  background: #FFFFFF;
  border-radius: 6px;
  -moz-border-radius: 6px;
  -webkit-border-radius: 6px;
  -o-border-radius: 6px;
  -ms-border-radius: 6px;
  -moz-background-clip: padding-box;
  -webkit-background-clip: padding-box;
  -o-background-clip: padding-box;
  -ms-background-clip: padding-box;
  box-shadow: 0 12px 22px 0 rgba(0, 0, 0, 0.25);
  -moz-box-shadow: 0 12px 22px 0 rgba(0, 0, 0, 0.25);
  -webkit-box-shadow: 0 12px 22px 0 rgba(0, 0, 0, 0.25);
  -o-box-shadow: 0 12px 22px 0 rgba(0, 0, 0, 0.25);
  -ms-box-shadow: 0 12px 22px 0 rgba(0, 0, 0, 0.25); }

#ticket-price-display {
  display: flex;
  align-items: center; }

.filter-bar {
  width: 100%;
  margin-bottom: 4rem;
  background: #FFFFFF; }
  .filter-bar .inner {
    padding: 4rem 0;
    border-bottom: 1px solid #D8D8D8; }
  .filter-bar h2 {
    margin-bottom: .5rem; }
  .filter-bar h3 {
    margin-bottom: .5em !important;
    font-size: 20px !important; }
  .filter-bar .tickets-outer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem; }
    @media only screen and (max-width: 910px) {
      .filter-bar .tickets-outer {
        align-items: flex-start;
        flex-direction: column; } }
  .filter-bar .tickets-fields {
    display: flex;
    gap: 1rem 2rem; }
    @media only screen and (max-width: 910px) {
      .filter-bar .tickets-fields {
        flex-wrap: wrap;
        gap: 1rem; }
        .filter-bar .tickets-fields .field {
          flex: auto; } }

/* --- News Listing --- */
#news-listing {
  margin-top: 4em;
  border-top: 1px solid #D8D8D8; }
  #news-listing .news {
    padding: 3em 0;
    border-bottom: 1px solid #D8D8D8; }
    #news-listing .news .title {
      margin-bottom: 1em;
      font-family: le-monde-journal-std-2, Helvetica, Arial, sans-serif;
      font-weight: 400;
      font-size: 1.8rem;
      letter-spacing: 0;
      line-height: 1.16; }
      #news-listing .news .title a, #news-listing .news .title a:active, #news-listing .news .title a:visited {
        text-decoration: none; }
        #news-listing .news .title a:hover, #news-listing .news .title a:active:hover, #news-listing .news .title a:visited:hover {
          text-decoration: underline; }
    #news-listing .news img {
      width: 100%; }
    #news-listing .news .span16 p {
      padding-right: 2em; }
    #news-listing .news :last-child {
      margin-bottom: 0; }

.news-detail h1 {
  font-size: 3rem;
  letter-spacing: 0.0013rem;
  line-height: 1.03; }

.news-detail img {
  width: 100%; }

.news-detail .issuu-embed {
  margin-bottom: 2rem; }

/* --- News Grid --- */
#news-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(20rem, 1fr));
  gap: 1.11rem; }
  #news-grid .box.featured {
    grid-column: span 2; }
    #news-grid .box.featured img {
      width: 100%; }
    @media only screen and (max-width: 910px) {
      #news-grid .box.featured {
        grid-column: span 1; } }
  #news-grid .box .inner {
    display: flex;
    flex-direction: column;
    padding: 2em;
    height: 100%;
    border: 1px solid #D8D8D8;
    border-radius: 8px;
    -moz-border-radius: 8px;
    -webkit-border-radius: 8px;
    -o-border-radius: 8px;
    -ms-border-radius: 8px;
    -moz-background-clip: padding-box;
    -webkit-background-clip: padding-box;
    -o-background-clip: padding-box;
    -ms-background-clip: padding-box;
    box-sizing: border-box;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box; }
  #news-grid .box .title {
    margin-bottom: 1em;
    font-family: le-monde-journal-std-2, Helvetica, Arial, sans-serif;
    font-weight: 400;
    font-size: 1.2rem;
    letter-spacing: 0;
    line-height: 1.33; }
    #news-grid .box .title a, #news-grid .box .title a:active, #news-grid .box .title a:visited {
      text-decoration: none; }
      #news-grid .box .title a:hover, #news-grid .box .title a:active:hover, #news-grid .box .title a:visited:hover {
        text-decoration: underline; }
  #news-grid .box .video-wrapper, #news-grid .box .body {
    margin-bottom: 0; }
  #news-grid .box img {
    max-width: 100%; }
  #news-grid .box .bottom {
    margin-top: auto; }
    #news-grid .box .bottom .date {
      height: 1em;
      margin: 2em 0 0 0;
      padding-top: 1.5em;
      line-height: 1em;
      font-size: .8125em;
      border-top: 1px solid #D8D8D8;
      overflow: hidden; }

.news-logo {
  display: block;
  margin-bottom: 2.5rem;
  max-width: 350px; }

#staff-listing {
  margin-bottom: 4rem; }

.staff-category {
  margin: 2.66rem 0; }
  .staff-category + .staff {
    border-top: 1px solid #D8D8D8; }

.staff {
  display: grid;
  grid-template-columns: 1fr 12.77rem;
  border-bottom: 1px solid #D8D8D8; }
  .staff:first-of-type {
    border-top: 1px solid #D8D8D8; }
  .staff:not(:has(.staff-aside)) {
    grid-template-columns: 1fr; }
  .staff .staff-main, .staff .staff-aside {
    padding: 3.38rem 2.22rem; }
  .staff .staff-main {
    display: flex;
    align-items: flex-start;
    gap: 2.22rem;
    padding-left: 0;
    border-left: none; }
    .staff .staff-main > div {
      width: 100%; }
    @media only screen and (max-width: 1125px) {
      .staff .staff-main {
        flex-wrap: wrap;
        gap: 1rem; } }
    .staff .staff-main img {
      max-width: 11.66rem; }
      @media only screen and (max-width: 525px) {
        .staff .staff-main img {
          max-width: 100%; } }
    .staff .staff-main .staff-name {
      font-size: 1.2rem;
      letter-spacing: 0;
      line-height: 1.33;
      margin-bottom: .2rem; }
    .staff .staff-main .staff-subtitle {
      font-size: 1rem; }
    .staff .staff-main .staff-image {
      float: left;
      margin: 0 1.5rem 1rem 0;
      max-width: 7.5rem; }
    .staff .staff-main .staff-bio {
      font-size: 1rem; }
      .staff .staff-main .staff-bio :last-child {
        margin: 0; }
    .staff .staff-main .staff-bio-wrapper {
      text-align: left;
      display: block;
      min-height: 4.4rem;
      height: 4.4rem;
      overflow: hidden; }
      @supports (display: -webkit-line-clamp) {
        .staff .staff-main .staff-bio-wrapper {
          height: auto;
          display: -webkit-box;
          -webkit-line-clamp: 3;
          -webkit-box-orient: vertical; }
          .staff .staff-main .staff-bio-wrapper.show-all {
            display: block; } }
      .staff .staff-main .staff-bio-wrapper.show-all {
        height: auto;
        display: inline; }
    .staff .staff-main button[data-bio-toggle] {
      margin-top: 1rem !important;
      text-decoration: underline;
      font-weight: bold; }
  .staff .staff-aside {
    padding-right: 0;
    border-right: none;
    border-left: 1px solid #D8D8D8; }
    @media only screen and (max-width: 710px) {
      .staff .staff-aside {
        margin-top: 1.5rem; } }
  .staff .user-phone span {
    vertical-align: middle; }
  .staff .user-phone a {
    text-decoration: none; }
    .staff .user-phone a:hover {
      text-decoration: underline; }
  @media only screen and (max-width: 710px) {
    .staff {
      display: block;
      padding: 2rem 0; }
      .staff .staff-main {
        gap: 1.33rem;
        padding: 0; }
      .staff .staff-aside {
        margin-bottom: 0;
        padding-top: 0;
        padding-left: 0;
        padding-bottom: 0;
        border: none; }
        .staff .staff-aside p:last-child {
          margin-bottom: 0; } }

.faqs .question {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 1rem;
  padding: 1.75rem 0;
  text-align: left;
  border-bottom: 1px solid #D8D8D8;
  background-color: #FFF; }
  .faqs .question:first-child {
    border-top: 1px solid #D8D8D8; }
  .faqs .question button {
    margin-bottom: 1em;
    font-family: le-monde-journal-std-2, Helvetica, Arial, sans-serif;
    font-weight: 400;
    font-size: 1.2rem;
    letter-spacing: 0;
    line-height: 1.33;
    text-align: left;
    color: #102E5A;
    margin: .7rem 0 0 0; }
  .faqs .question[data-accordian-open=true] .question-marker {
    border-color: #972140; }
  .faqs .question[data-accordian-open=true] .question-marker::after {
    height: 0; }

.faqs .answer {
  height: 0;
  overflow: hidden; }

.faqs .question-content {
  padding-right: 4.75rem;
  box-sizing: border-box; }
  @media only screen and (max-width: 525px) {
    .faqs .question-content {
      padding-right: 1.5rem; } }

.faqs .question-marker {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  flex: 0 0 1.25rem;
  width: 3rem;
  height: 3rem;
  padding: 1.4rem;
  border: 1px solid #972140;
  border-radius: 50%;
  box-sizing: border-box; }
  .faqs .question-marker::before, .faqs .question-marker::after {
    position: absolute;
    background-color: #102E5A;
    content: ''; }
  .faqs .question-marker::before {
    width: 1.25rem;
    height: 2px; }
  .faqs .question-marker::after {
    width: 2px;
    height: 1.25rem;
    transition: .2s height; }

.faqs dd {
  margin: 1rem 0; }

/* --- Organizations & Jobs --- */
.job-desc-section, .wysiwyg-section {
  margin-bottom: var(--gutter_y); }
  .job-desc-section h2, .wysiwyg-section h2 {
    font-size: 1.8rem;
    letter-spacing: 0;
    line-height: 1.16;
    margin: 2em 0 1em; }
  .job-desc-section h3, .wysiwyg-section h3 {
    font-size: 1.2rem;
    letter-spacing: 0;
    line-height: 1.33;
    margin: 2em 0 1em; }
  .job-desc-section > :first-child:empty, .wysiwyg-section > :first-child:empty {
    display: none; }
    .job-desc-section > :first-child:empty + *, .wysiwyg-section > :first-child:empty + * {
      margin-top: 0 !important; }
  .job-desc-section li, .wysiwyg-section li {
    list-style-image: url(/images/icons/arrow.svg); }

#external-application-button {
  margin: 1.5rem 0; }

.organization-logo {
  display: block;
  margin-bottom: 2.4rem; }

.job-details p {
  margin-bottom: 0; }

.jobs-organizations section p:last-child {
  margin-bottom: 2.5rem; }

.jobs-organizations .section-heading {
  font-size: 1.8rem;
  letter-spacing: 0;
  line-height: 1.16;
  margin-bottom: 1.5rem; }
  .jobs-organizations .section-heading:not(:first-child) {
    margin-top: 2.5rem; }

.jobs-divider {
  margin-bottom: 2.25rem;
  border-bottom: 1px solid #D8D8D8; }

.job-post-form .fieldset:not(:last-of-type) {
  margin-bottom: 3rem;
  padding-bottom: 3rem;
  border-bottom: 1px solid #D8D8D8; }

.block-list .article.img-wrapper {
  display: flex;
  align-items: center;
  gap: 1rem 1.5rem; }
  .block-list .article.img-wrapper img {
    max-width: clamp(8rem, 14vw, 14rem); }
  @media only screen and (max-width: 525px) {
    .block-list .article.img-wrapper {
      flex-wrap: wrap; }
      .block-list .article.img-wrapper img {
        width: 100%;
        max-width: 100%; } }

.block-list .article.job-article-wrapper {
  position: relative;
  display: flex;
  align-items: center;
  gap: 1rem 1.5rem; }
  .block-list .article.job-article-wrapper img {
    max-width: clamp(8rem, 14vw, 14rem); }
  .block-list .article.job-article-wrapper .company-title {
    font-family: franklin-gothic-urw, Helvetica, Arial, sans-serif;
    font-size: 0.7rem;
    font-weight: bold;
    letter-spacing: 0.0635rem;
    line-height: 1.7;
    text-transform: uppercase;
    margin-bottom: .25rem; }
  .block-list .article.job-article-wrapper .job-info {
    margin: 0; }
  .block-list .article.job-article-wrapper .article-heading {
    margin-bottom: .75rem;
    font-size: 1.8rem; }
    .block-list .article.job-article-wrapper .article-heading a {
      color: #102E5A;
      text-decoration: none; }
      .block-list .article.job-article-wrapper .article-heading a:hover, .block-list .article.job-article-wrapper .article-heading a:focus {
        color: #972140;
        text-decoration: underline; }
  @media only screen and (max-width: 525px) {
    .block-list .article.job-article-wrapper {
      flex-wrap: wrap; }
      .block-list .article.job-article-wrapper:has(.featured-tag) {
        padding-top: 2.5rem; } }

.credit-price-callout {
  display: block;
  width: 100%;
  font-size: .8rem;
  color: #102E5A;
  padding: .25rem .5rem;
  font-weight: 800;
  border-radius: .4rem;
  background-color: #F0F7FC;
  box-sizing: border-box;
  text-decoration: none;
  border: 1px solid transparent; }
  .credit-price-callout:hover, .credit-price-callout:focus {
    background-color: #f6fafd;
    border: 1px solid #F0F7FC; }

.job-table-wrapper {
  padding: 8rem 0;
  margin: -8rem 0; }

.job-table-title {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: .25rem; }

.job-actions-button {
  flex-shrink: 0;
  display: inline-block;
  width: 1.5rem;
  height: 1.5rem;
  border-radius: 50%;
  color: #102E5A;
  background: #FFF;
  border: 1px solid #D8D8D8; }

.menu-open .job-actions-button {
  background: #f7f7f7; }

.job-actions-anchor {
  position: relative; }

.job-actions-menu {
  position: absolute;
  z-index: 100;
  bottom: -4.5rem;
  left: 2rem;
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  list-style: none;
  border-top: 1px solid #D8D8D8;
  border-right: 1px solid #D8D8D8;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05); }
  .job-actions-menu li {
    padding-top: .66rem;
    padding-bottom: .66rem;
    text-align: left;
    font-size: .8rem;
    white-space: nowrap;
    background: #FFF !important; }
    .job-actions-menu li a {
      text-decoration: none;
      color: inherit; }
    .job-actions-menu li a:hover, .job-actions-menu li a:focus-visible, .job-actions-menu li button:hover, .job-actions-menu li button:focus-visible {
      text-decoration: underline; }
  .job-actions-menu button {
    text-align: left; }

.resource {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  padding: 1.55rem 0 1.38rem;
  border-bottom: 1px solid #D8D8D8; }
  .resource p {
    font-size: 0.77rem; }
  .resource .resource-icon {
    color: #102E5A;
    font-size: 2.88rem;
    text-align: left;
    flex-shrink: 0; }
  .resource .resource-title {
    font-size: 1.2rem;
    letter-spacing: 0;
    line-height: 1.33;
    margin: 0; }
    .resource .resource-title + p {
      margin-top: .5rem; }
    @media only screen and (max-width: 525px) {
      .resource .resource-title {
        font-size: 1.5rem; } }
  .resource img {
    width: 6rem; }
  @media only screen and (max-width: 525px) {
    .resource {
      flex-wrap: wrap; }
      .resource p:last-child {
        margin-bottom: 0; } }

.resource-category {
  margin: 5.55rem 0 2.77rem; }
  .resource-category + .resource {
    border-top: 1px solid #D8D8D8; }

.resource-content-wrapper {
  display: flex;
  gap: 1.38rem;
  align-items: center; }

.resource-list {
  margin-bottom: 3rem; }

.resource-actions {
  flex-shrink: 0; }

.resource-video-wrapper {
  margin: 3rem 0; }

.timeline-block {
  display: grid;
  grid-template-columns: 5.56rem 1fr;
  gap: 3.77rem; }
  .timeline-block .year-block {
    position: relative; }
    .timeline-block .year-block::before {
      position: absolute;
      z-index: -1;
      top: 0;
      left: 2.5rem;
      width: 3px;
      height: 100%;
      border-right: 3px solid #D8D8D8;
      border-image-source: url(/images/dotted-border.png);
      border-image-width: 0 3px 0 0;
      border-image-slice: 5;
      border-image-repeat: round;
      content: ''; }
    .timeline-block .year-block p {
      margin-bottom: 1em;
      font-family: le-monde-journal-std-2, Helvetica, Arial, sans-serif;
      font-weight: 400;
      font-size: 3rem;
      letter-spacing: 0.0013rem;
      line-height: 1.03;
      font-weight: bold;
      background-color: #FFF; }
  .timeline-block .content-block {
    margin-top: .2rem;
    margin-bottom: 2.66rem; }
    .timeline-block .content-block h3 {
      font-size: 1.8rem;
      letter-spacing: 0;
      line-height: 1.16;
      margin-bottom: .88rem; }
    .timeline-block .content-block img {
      max-width: 100%;
      margin: 1.5rem 0; }

/* --- Donate --- */
#donate-page {
  position: relative;
  white-space: nowrap; }
  #donate-page .lucy-wrapper, #donate-page #layout-7030 {
    width: 100%;
    padding: 0; }
  #donate-page .donate-heading {
    font-size: 1.8rem;
    letter-spacing: 0;
    line-height: 1.16;
    margin-bottom: 1.5rem; }
  #donate-page input {
    accent-color: #972140; }

#donate-left, #donate-right {
  position: relative;
  display: inline-block;
  width: 50vw;
  font-size: 20px;
  vertical-align: top;
  white-space: normal;
  transition: all 0.2s ease-in-out;
  -moz-transition: all 0.2s ease-in-out;
  -webkit-transition: all 0.2s ease-in-out;
  -o-transition: all 0.2s ease-in-out;
  -ms-transition: all 0.2s ease-in-out; }
  body.alert #donate-left, body.alert #donate-right {
    height: calc(100vh - $header_height - $alert_height); }
  @media only screen and (max-width: 1125px) {
    #donate-left, #donate-right {
      width: 100% !important;
      padding: 0 !important; }
      #donate-left#donate-right, #donate-right#donate-right {
        position: relative;
        top: auto;
        left: auto;
        height: auto;
        background-image: none !important; }
        #donate-left#donate-right:before, #donate-right#donate-right:before {
          display: none; } }

#donate-left {
  width: 50vw; }
  #donate-left .inner {
    padding: 4rem var(--gutter_x) 4vw var(--gutter_x);
    background: #FFF;
    box-sizing: border-box;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box; }
    @media only screen and (max-width: 1125px) {
      #donate-left .inner {
        padding: 3rem 5vw 5vw 5vw; } }
    @media only screen and (max-width: 525px) {
      #donate-left .inner {
        padding: 2rem 25px 4rem; } }
  #donate-left #donate-intro {
    margin-bottom: 4em; }
  #donate-left .note {
    display: none;
    margin-top: -50px;
    margin-bottom: 50px;
    font-size: .8em;
    font-style: italic; }
    #donate-left .note #frequency-amount-wrap {
      display: none; }
  #donate-left #donate-amount, #donate-left #donate-frequency {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(7rem, auto));
    gap: 0.9rem;
    margin-bottom: 3em; }
    #donate-left #donate-amount #other-amount, #donate-left #donate-frequency #other-amount {
      grid-column: span 3; }
      #donate-left #donate-amount #other-amount input, #donate-left #donate-frequency #other-amount input {
        width: 100%; }
    #donate-left #donate-amount input[type=radio], #donate-left #donate-frequency input[type=radio] {
      margin: 0; }
    @media only screen and (max-width: 1125px) {
      #donate-left #donate-amount, #donate-left #donate-frequency {
        margin-bottom: 1.5em; } }
    #donate-left #donate-amount .option, #donate-left #donate-frequency .option {
      display: inline-block;
      padding: 1em 0;
      text-align: center;
      font-size: 1.1rem;
      line-height: 1.25;
      color: #972140;
      text-decoration: none;
      border: 1px solid #D8D8D8;
      cursor: pointer;
      box-sizing: border-box;
      border-radius: 4px;
      -moz-border-radius: 4px;
      -webkit-border-radius: 4px;
      -o-border-radius: 4px;
      -ms-border-radius: 4px;
      -moz-background-clip: padding-box;
      -webkit-background-clip: padding-box;
      -o-background-clip: padding-box;
      -ms-background-clip: padding-box; }
      #donate-left #donate-amount .option > div, #donate-left #donate-frequency .option > div {
        transform: translateY(0.5rem);
        margin-bottom: .2rem;
        transition: transform .2s; }
      #donate-left #donate-amount .option input, #donate-left #donate-frequency .option input {
        opacity: 0;
        transition: opacity .2s; }
      #donate-left #donate-amount .option:hover, #donate-left #donate-frequency .option:hover {
        border-color: #972140; }
      #donate-left #donate-amount .option.selected, #donate-left #donate-amount .option:focus-within, #donate-left #donate-frequency .option.selected, #donate-left #donate-frequency .option:focus-within {
        color: #FFF;
        border-color: #972140;
        background: #972140; }
        #donate-left #donate-amount .option.selected > div, #donate-left #donate-amount .option:focus-within > div, #donate-left #donate-frequency .option.selected > div, #donate-left #donate-frequency .option:focus-within > div {
          transform: translateY(0); }
        #donate-left #donate-amount .option.selected input, #donate-left #donate-amount .option:focus-within input, #donate-left #donate-frequency .option.selected input, #donate-left #donate-frequency .option:focus-within input {
          opacity: 1; }
      #donate-left #donate-amount .option:focus, #donate-left #donate-frequency .option:focus {
        outline: #972140; }
  #donate-left #other-amount {
    display: none; }
  #donate-left #donate-frequency {
    margin-bottom: 3em; }
  #donate-left #donate-honor {
    margin-bottom: 3em; }
    #donate-left #donate-honor #donate-honor-top {
      padding: 1.5em 0;
      border-top: 1px solid #D8D8D8;
      border-bottom: 1px solid #D8D8D8; }
    #donate-left #donate-honor #donate-honor-bottom {
      display: none;
      padding: 1.5em 0;
      border-bottom: 1px solid #D8D8D8; }
      #donate-left #donate-honor #donate-honor-bottom .row {
        margin-top: 1em; }
    #donate-left #donate-honor label {
      display: inline;
      vertical-align: bottom; }
      @media only screen and (max-width: 525px) {
        #donate-left #donate-honor label {
          width: 90%; } }
    #donate-left #donate-honor input[type=radio], #donate-left #donate-honor input[type=checkbox] {
      position: relative;
      margin: 0 5px 0 0; }
  #donate-left #personal-info, #donate-left #notification-info, #donate-left #payment-info {
    margin-top: 3em; }
    #donate-left #personal-info h3, #donate-left #notification-info h3, #donate-left #payment-info h3 {
      margin-bottom: .5em; }
    @media only screen and (max-width: 1125px) {
      #donate-left #personal-info, #donate-left #notification-info, #donate-left #payment-info {
        margin-top: 1em; } }
  #donate-left #notification-info, #donate-left #honor-fields {
    display: none; }
  #donate-left #donate-processing-fees {
    display: none;
    margin-bottom: 1.5rem; }

.donate-grid {
  display: grid;
  grid-template-columns: 1fr 1fr; }
  @media only screen and (max-width: 1125px) {
    .donate-grid {
      grid-template-columns: 1fr; } }

.donate-img-wrapper {
  --offset_y: 31rem;
  position: relative;
  top: calc(var(--offset_y) * -1);
  padding-right: var(--gutter_x);
  height: calc(100% + var(--offset_y)); }
  .donate-img-wrapper .inner {
    position: sticky;
    top: calc(var(--fixed_total_height) + 4.4rem);
    transition: .2s; }
  @media only screen and (max-width: 1125px) {
    .donate-img-wrapper {
      --offset_y: 0;
      order: -1;
      padding: 0; }
      .donate-img-wrapper .inner {
        position: static; }
      .donate-img-wrapper img {
        width: 100%;
        max-height: 60vh;
        object-fit: cover; } }

#donate-right {
  position: fixed;
  top: var(--fixed_total_height);
  left: calc(50% + var(--page_border_width));
  height: calc(100vh - 130px);
  background-position: center;
  background-size: 100% auto;
  background-size: cover;
  box-sizing: border-box; }
  #donate-right img {
    display: none;
    width: 100%; }
    @media only screen and (max-width: 1125px) {
      #donate-right img {
        display: block; } }
  #donate-right.unlock {
    position: absolute;
    bottom: 0;
    top: auto;
    left: 50vw; }
  #donate-right .left-inner {
    position: absolute;
    bottom: 5vw;
    left: 5vw;
    width: 40vw;
    color: #FFF; }
    #donate-right .left-inner .title {
      margin-bottom: .25em;
      font-size: 3.5em;
      font-weight: bold;
      line-height: 1; }
    #donate-right .left-inner p:last-child {
      margin-bottom: 0;
      font-size: .9em; }
    @media only screen and (max-width: 1125px) {
      #donate-right .left-inner {
        position: relative;
        bottom: auto;
        left: auto;
        width: 100%;
        padding: 7vw;
        background: transparent;
        background-attachment: fixed;
        box-sizing: border-box;
        -moz-box-sizing: border-box;
        -webkit-box-sizing: border-box;
        -o-box-sizing: border-box;
        -ms-box-sizing: border-box; }
        #donate-right .left-inner .title {
          font-size: 2.25em; }
        #donate-right .left-inner p:last-child {
          display: none; } }

#employer-match-fields {
  width: 100%; }

#cart-donate-pitch {
  display: block;
  overflow: hidden;
  margin-bottom: 1em;
  padding-top: 1em;
  border-top: 1px solid #D8D8D8;
  color: #102E5A; }
  #cart-donate-pitch p {
    margin-bottom: .75em;
    line-height: 1.3; }
  #cart-donate-pitch #cart-donate-check {
    padding-top: .5em; }
  #cart-donate-pitch #cart-donate-amount {
    height: 45px;
    margin-bottom: 0 !important; }

#lucy-checkout {
  margin: 2em 0 4em 0; }

#lucy-cart {
  margin: 2em 0 4em 0; }
  #lucy-cart .cart-table {
    margin-bottom: 3em; }
  #lucy-cart table tr.pitch td {
    background: #972140; }
  #lucy-cart #coupon-error {
    font-size: .75em;
    font-family: le-monde-journal-std-2, Helvetica, Arial, sans-serif;
    font-weight: bold; }
  #lucy-cart #cart-coupon, #lucy-cart #cart-coupon-mobile {
    margin-top: 1em; }
    #lucy-cart #cart-coupon input, #lucy-cart #cart-coupon-mobile input {
      margin-bottom: 0 !important; }
  #lucy-cart #cart-coupon-mobile {
    display: none; }
  #lucy-cart #cart-coupon-apply {
    text-align: center; }
  @media only screen and (max-width: 910px) {
    #lucy-cart #cart-coupon.desktop {
      display: none; }
    #lucy-cart #cart-coupon-mobile {
      display: block;
      margin-bottom: 1em;
      padding: 1em 0; }
      #lucy-cart #cart-coupon-mobile #cart-coupon-apply-mobile {
        display: block;
        text-align: center; } }

/* --- Cart Item Table --- */
.cart-table {
  margin-bottom: 2em; }
  .cart-table .header {
    margin-bottom: 1em;
    font-family: franklin-gothic-urw, Helvetica, Arial, sans-serif;
    font-size: 0.7rem;
    font-weight: bold;
    letter-spacing: 0.0635rem;
    line-height: 1.7;
    text-transform: uppercase; }
    @media only screen and (max-width: 910px) {
      .cart-table .header {
        display: none; } }
  .cart-table .item {
    position: relative;
    padding: 1.5em 0;
    border-top: 1px solid #D8D8D8; }
    .cart-table .item [class*='span'] {
      position: relative; }
    .cart-table .item .title {
      margin-bottom: 0;
      font-size: 1.2rem;
      letter-spacing: 0;
      line-height: 1.33; }
    .cart-table .item .desc {
      margin-bottom: 0;
      font-size: .75em;
      color: #102E5A !important; }
    .cart-table .item .quantity select {
      width: 100% !important;
      padding-left: 10px;
      -webkit-appearance: none;
      background: #FFF url(../images/dropdown-arrow.png) no-repeat calc(100% - 20px) 50%;
      background-size: 10px 6px; }
    .cart-table .item .price {
      color: #102E5A; }
    .cart-table .item input, .cart-table .item select {
      width: 75% !important;
      margin-bottom: 0 !important; }
    .cart-table .item:last-child {
      border-bottom: 1px solid #D8D8D8; }
    .cart-table .item.fixed .inner {
      position: absolute;
      top: 50%;
      left: 0;
      width: 100%;
      transform: translate(0, -50%);
      perspective: 1000px;
      -moz-transform: translate(0, -50%);
      -moz-perspective: 1000;
      -webkit-transform: translate(0, -50%);
      -webkit-perspective: 1000;
      -o-transform: translate(0, -50%);
      -o-perspective: 1000;
      -ms-transform: translate(0, -50%);
      -ms-perspective: 1000; }
    .cart-table .item .delete {
      font-family: franklin-gothic-urw, Helvetica, Arial, sans-serif;
      font-size: 0.65rem;
      letter-spacing: -0.005rem;
      line-height: 1.5;
      display: block;
      margin-top: .5em;
      text-decoration: none; }
      .cart-table .item .delete:hover {
        text-decoration: underline; }
    .cart-table .item .mobile.delete {
      position: absolute;
      top: 1.5em;
      right: 0;
      display: none;
      text-decoration: none;
      color: #C3CBCB; }
  @media only screen and (max-width: 910px) {
    .cart-table {
      margin-bottom: 1em !important; }
      .cart-table .item .span14 {
        width: 90% !important; }
      .cart-table .item .span4 {
        display: none; }
      .cart-table .item .mobile.delete {
        display: block; }
      .cart-table .item .quantity {
        display: inline-block; }
      .cart-table .item input {
        margin-top: .5em !important; }
      .cart-table .item .price {
        display: inline-block;
        width: 40% !important;
        line-height: 45px; } }
    @media only screen and (max-width: 910px) and (max-width: 910px) {
      .cart-table .item .price {
        width: 16% !important; } }
    @media only screen and (max-width: 910px) and (max-width: 525px) {
      .cart-table .item .price {
        width: auto !important; } }
  @media only screen and (max-width: 910px) {
      .cart-table .item:nth-child(2) {
        padding-top: 0;
        border-top: none; }
        .cart-table .item:nth-child(2) .mobile.delete {
          top: 0; } }
  @media only screen and (max-width: 525px) {
    .cart-table .quantity {
      margin-top: .5em !important; } }

.cart-totals {
  padding-top: 20px;
  border-top: 1px solid #D8D8D8; }
  .cart-totals .total span {
    float: right;
    font-size: 1.2rem;
    letter-spacing: 0;
    line-height: 1.33; }
  .cart-totals button {
    display: block;
    width: 100%;
    padding: 1.5em 0;
    text-align: center; }

/* --- Checkout --- */
#lucy-order-total {
  display: none;
  margin-bottom: 2em;
  padding: .75em 0;
  background: #972140; }
  #lucy-order-total .span12 {
    font-family: le-monde-journal-std-2, Helvetica, Arial, sans-serif;
    font-weight: bold;
    text-transform: uppercase; }
  @media only screen and (max-width: 1125px) {
    #lucy-order-total {
      display: block; } }
  @media only screen and (max-width: 910px) {
    #lucy-order-total .row {
      width: 100% !important;
      margin: 0 !important; }
    #lucy-order-total .span12 {
      width: 50% !important;
      margin: 0 !important; } }

#lucy-checkout-fields h2 {
  margin-top: 2em;
  margin-bottom: 1em !important; }
  #lucy-checkout-fields h2:first-child {
    margin-top: 0; }

#lucy-checkout-fields ul#cart-payments {
  display: table;
  width: 100%;
  margin: 0 0 2em 0;
  padding: 0; }
  #lucy-checkout-fields ul#cart-payments li {
    display: table-cell;
    padding: 1.25em 0;
    text-align: center;
    color: #102E5A;
    font-size: .7em;
    text-transform: uppercase;
    font-weight: bold;
    background: rgba(240, 247, 252, 0.2);
    letter-spacing: .8px;
    cursor: pointer;
    outline: 1px solid #D8D8D8 !important; }
    #lucy-checkout-fields ul#cart-payments li.selected {
      color: #FFF;
      background: #102E5A; }
    @media (pointer: fine) {
      #lucy-checkout-fields ul#cart-payments li:hover {
        color: #FFF;
        background: #102E5A; } }
    #lucy-checkout-fields ul#cart-payments li:last-child {
      border-right: none; }

#lucy-checkout-fields #create-account {
  margin-top: -1em;
  margin-bottom: 2em;
  font-size: .9em; }
  #lucy-checkout-fields #create-account input[type=checkbox] {
    position: relative;
    top: 1px; }

#lucy-checkout-fields #account-cancel {
  position: absolute;
  top: 12px;
  right: 15px;
  font-size: .8em; }

#lucy-checkout-fields #password-wrapper {
  display: none; }

@media only screen and (max-width: 1125px) {
  #lucy-checkout-fields {
    width: calc(100% - 20px) !important; } }

@media only screen and (max-width: 910px) {
  #lucy-checkout-fields .actions {
    margin: 1.5rem 0; }
    #lucy-checkout-fields .actions .row {
      width: 100% !important;
      margin: 0 !important; }
    #lucy-checkout-fields .actions .span12 {
      width: 50% !important;
      margin: 0 !important; } }
    @media only screen and (max-width: 910px) and (max-width: 470px) {
      #lucy-checkout-fields .actions .span12 {
        width: 100% !important; }
        #lucy-checkout-fields .actions .span12 .button, #lucy-checkout-fields .actions .span12 .pagination a, .pagination #lucy-checkout-fields .actions .span12 a {
          width: 100%;
          margin-bottom: 2rem; } }

@media only screen and (max-width: 525px) {
  #lucy-checkout-fields {
    width: 100% !important; } }

#lucy-checkout-details {
  padding: 25px;
  border: 1px solid #D8D8D8;
  background-color: #FFF;
  border-radius: 10px;
  -moz-border-radius: 10px;
  -webkit-border-radius: 10px;
  -o-border-radius: 10px;
  -ms-border-radius: 10px;
  -moz-background-clip: padding-box;
  -webkit-background-clip: padding-box;
  -o-background-clip: padding-box;
  -ms-background-clip: padding-box; }
  #lucy-checkout-details h5, #lucy-checkout-details .filter-bar h2, .filter-bar #lucy-checkout-details h2 {
    margin-bottom: 20px; }
  #lucy-checkout-details .count {
    margin-bottom: .75em;
    font-size: 1.3em;
    font-weight: bold; }
  #lucy-checkout-details .items {
    margin-bottom: 20px;
    border-top: 1px solid #D8D8D8;
    border-bottom: 1px solid #D8D8D8; }
    #lucy-checkout-details .items .item {
      padding: 15px 0;
      line-height: 1.3;
      font-size: .9em;
      border-bottom: 1px solid #D8D8D8; }
      #lucy-checkout-details .items .item .title {
        margin-bottom: 0;
        padding-right: 100px; }
      #lucy-checkout-details .items .item .desc {
        margin-bottom: 0;
        padding-right: 100px;
        font-size: .75em; }
      #lucy-checkout-details .items .item .price {
        float: right;
        margin-bottom: 0;
        font-weight: bold; }
      #lucy-checkout-details .items .item:last-child {
        margin-bottom: 0;
        border-bottom: none; }
  #lucy-checkout-details .totals .item {
    padding: 15px 0;
    line-height: 1.3; }
    #lucy-checkout-details .totals .item .title {
      margin-bottom: 0;
      padding-right: 100px; }
      #lucy-checkout-details .totals .item .title a {
        font-size: .8em; }
    #lucy-checkout-details .totals .item .price {
      float: right;
      margin-bottom: 0;
      font-weight: bold; }
    #lucy-checkout-details .totals .item :last-child {
      margin-bottom: 0; }
    #lucy-checkout-details .totals .item:last-child {
      margin-top: 0;
      padding: 15px 0 0 0;
      border-top: 1px solid #D8D8D8;
      font-size: 1.2rem;
      letter-spacing: 0;
      line-height: 1.33; }
  #lucy-checkout-details .actions {
    display: block;
    margin-top: 2em;
    text-align: center; }
  #lucy-checkout-details #coupon-error {
    font-size: .75em;
    font-weight: bold; }
  #lucy-checkout-details #cart-coupon input {
    margin-bottom: 0 !important; }

.grid-offset.cart-main {
  grid-template-columns: var(--offset-grid-cols-reverse); }
  @media only screen and (max-width: 950px) {
    .grid-offset.cart-main {
      grid-template-columns: 1fr; }
      .grid-offset.cart-main.cart-main-checkout {
        grid-auto-flow: reverse; }
        .grid-offset.cart-main.cart-main-checkout > div:first-child {
          order: 1; } }

#lucy-cart-thanks h2, #lucy-cart-thanks p.thanks {
  text-align: center; }

#lucy-cart-thanks #lucy-checkout-details .items {
  margin-bottom: 0;
  border-bottom: none; }

#lucy-cart-thanks .cart-thanks-inner {
  margin: 0 auto;
  max-width: 52rem;
  margin-bottom: 2.5rem;
  text-align: center; }

#lucy-cart-thanks .cart-share {
  display: flex;
  gap: 1.66rem;
  justify-content: center;
  align-items: center;
  margin: 0;
  padding: 0;
  list-style: none; }
  #lucy-cart-thanks .cart-share li span {
    color: #FFF;
    font-size: 1rem; }
  #lucy-cart-thanks .cart-share .icon-email {
    position: relative;
    top: .06rem;
    font-size: 1.3rem; }
  #lucy-cart-thanks .cart-share a {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 2.5rem;
    height: 2.5rem;
    background-color: #972140;
    border-radius: 50%;
    text-decoration: none; }
    #lucy-cart-thanks .cart-share a:hover, #lucy-cart-thanks .cart-share a:focus {
      background-color: #821c37; }

.cart-thanks-callouts, .h-callout {
  display: grid;
  grid-template-columns: 1fr;
  margin: 2.5rem 0;
  gap: 1.25rem; }
  .cart-thanks-callouts:has(> :nth-child(2)), .h-callout:has(> :nth-child(2)) {
    grid-template-columns: 1fr 1fr; }
    @media only screen and (max-width: 910px) {
      .cart-thanks-callouts:has(> :nth-child(2)), .h-callout:has(> :nth-child(2)) {
        grid-template-columns: 1fr; } }
  .cart-thanks-callouts .callout-content, .h-callout .callout-content {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    width: 100%;
    max-width: none !important;
    text-align: left !important; }
  .cart-thanks-callouts .callout-title, .h-callout .callout-title {
    margin-bottom: 0; }
  .cart-thanks-callouts .callout, .h-callout .callout {
    margin: 0; }

#cart-thanks-bottom {
  padding: 5.5rem 0;
  background: #FFF; }
  @media only screen and (max-width: 525px) {
    #cart-thanks-bottom {
      padding: 3rem 0; } }
  #cart-thanks-bottom p {
    margin: 0;
    font-size: 0.8rem; }
    @media only screen and (max-width: 525px) {
      #cart-thanks-bottom p {
        font-size: .9rem;
        text-align: center; } }
  #cart-thanks-bottom .inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1.5rem;
    flex-wrap: wrap; }
    @media only screen and (max-width: 525px) {
      #cart-thanks-bottom .inner {
        justify-content: center; } }
    #cart-thanks-bottom .inner a {
      display: block;
      color: #102E5A;
      text-decoration: none; }
      #cart-thanks-bottom .inner a:hover, #cart-thanks-bottom .inner a:focus {
        text-decoration: underline; }

#edit-membership {
  font-family: franklin-gothic-urw, Helvetica, Arial, sans-serif;
  font-size: 0.65rem;
  letter-spacing: -0.005rem;
  line-height: 1.5;
  display: inline-block;
  margin-top: .5em;
  text-decoration: none;
  text-align: right;
  color: #972140; }

#cart-edit-modal {
  position: fixed;
  z-index: 90;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  display: none;
  justify-content: center;
  background: rgba(0, 0, 0, 0.6); }
  #cart-edit-modal .inner {
    width: 90vw;
    margin: 2rem 0;
    padding: 2rem;
    border-radius: .4rem;
    background: #FFF;
    box-sizing: border-box;
    overflow-y: scroll; }

#renew-form #add-ons-wrapper {
  border-block-end: 1px solid #D8D8D8;
  padding-block-end: 2rem; }
  #renew-form #add-ons-wrapper .field:not(:last-of-type) .check-item {
    margin-block-end: 1rem; }
  #renew-form #add-ons-wrapper .check-item {
    display: grid;
    grid-template-columns: auto 1fr;
    align-items: baseline;
    gap: .5rem; }

#renew-form .add-on-title {
  font-size: 1.2rem;
  letter-spacing: 0;
  line-height: 1.33;
  font-weight: bold; }
  #renew-form .add-on-title span {
    font-weight: normal; }

#renew-form .add-on-desc {
  display: block; }

/* --- Blog Grid --- */
#blog-grid {
  --columns: 1fr 1fr; }
  #blog-grid .gap-content {
    --gap: 1.2rem; }
  #blog-grid .article {
    --margin-bottom: 4rem; }
  #blog-grid .img-wrapper {
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 9;
    border-radius: 0.4rem; }
    #blog-grid .img-wrapper img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: center;
      border-radius: 0.4rem; }
  #blog-grid .tag {
    position: relative;
    z-index: 20000; }
  @media only screen and (max-width: 525px) {
    #blog-grid {
      --columns: 1fr; } }

h1:has(+ .blog-category-links) {
  margin-bottom: 2rem; }

.blog-category-links {
  display: flex;
  align-items: center;
  gap: 1rem;
  flex-wrap: wrap; }
  .blog-category-links a {
    font-family: franklin-gothic-urw, Helvetica, Arial, sans-serif;
    font-size: 0.7rem;
    font-weight: bold;
    letter-spacing: 0.0635rem;
    line-height: 1.7;
    text-transform: uppercase;
    display: block;
    color: #102E5A;
    padding: 1rem 1.5rem;
    border-radius: 30px;
    text-decoration: none;
    background-color: #F0F7FC; }
    .blog-category-links a.active {
      color: #FFF;
      background-color: #102E5A; }
      .blog-category-links a.active:hover, .blog-category-links a.active:focus {
        background-color: #143970; }
    .blog-category-links a:hover, .blog-category-links a:focus {
      background-color: #e3f0f9; }

.author-container {
  display: flex;
  align-items: center;
  gap: 1rem 1rem; }
  .author-container:not(:nth-of-type(1)) {
    margin-top: 1rem; }
  .author-container img {
    order: -1;
    max-width: 3.8rem;
    flex-shrink: 1;
    border-radius: 50%; }

.author-subtitle {
  margin-bottom: 0; }

.blog-header-wrapper {
  display: grid;
  grid-template-columns: var(--offset-grid-cols-reverse);
  gap: 1.5rem 1.1rem; }
  @media only screen and (max-width: 910px) {
    .blog-header-wrapper {
      grid-template-columns: 1fr; } }
  .blog-header-wrapper .listing-terms.gap-content {
    --gap: 1rem; }

/* --- Featured News Entry --- */
#events-featured {
  display: block;
  margin-bottom: 5em;
  padding-top: 4em;
  padding-bottom: 4em;
  border: 1px solid #D8D8D8;
  overflow: hidden;
  border-radius: 8px;
  -moz-border-radius: 8px;
  -webkit-border-radius: 8px;
  -o-border-radius: 8px;
  -ms-border-radius: 8px;
  -moz-background-clip: padding-box;
  -webkit-background-clip: padding-box;
  -o-background-clip: padding-box;
  -ms-background-clip: padding-box; }
  #events-featured .title {
    margin-bottom: 1em;
    font-family: le-monde-journal-std-2, Helvetica, Arial, sans-serif;
    font-weight: 400;
    font-size: 2.4rem;
    letter-spacing: 0;
    line-height: 1.04;
    margin-bottom: .3em; }
    #events-featured .title a, #events-featured .title a:active, #events-featured .title a:visited {
      text-decoration: none; }
      #events-featured .title a:hover, #events-featured .title a:active:hover, #events-featured .title a:visited:hover {
        text-decoration: underline; }
  #events-featured .sub-title {
    margin-bottom: 1em;
    font-family: le-monde-journal-std-2, Helvetica, Arial, sans-serif;
    font-weight: 400;
    font-size: 1.2rem;
    letter-spacing: 0;
    line-height: 1.33;
    margin-bottom: .35em; }
  #events-featured .date {
    font-size: .8125em; }
  #events-featured:hover {
    border-color: #b2b2b2; }
    #events-featured:hover .title {
      text-decoration: underline; }
  #events-featured :last-child {
    margin-bottom: 0; }
  #events-featured .image {
    position: absolute;
    display: block;
    top: 0;
    right: 0;
    width: 50%;
    height: 100%;
    background-size: cover;
    background-position: center;
    overflow: hidden;
    border-top-right-radius: 8px;
    -moz-border-top-right-radius: 8px;
    -webkit-border-top-right-radius: 8px;
    -o-border-top-right-radius: 8px;
    -ms-border-top-right-radius: 8px;
    -moz-background-clip: "padding-box";
    -webkit-background-clip: "padding-box";
    -o-background-clip: "padding-box";
    -ms-background-clip: "padding-box";
    border-bottom-right-radius: 8px;
    -moz-border-bottom-right-radius: 8px;
    -webkit-border-bottom-right-radius: 8px;
    -o-border-bottom-right-radius: 8px;
    -ms-border-bottom-right-radius: 8px;
    -moz-background-clip: "padding-box";
    -webkit-background-clip: "padding-box";
    -o-background-clip: "padding-box";
    -ms-background-clip: "padding-box"; }
    #events-featured .image .date-wrap {
      position: absolute;
      top: 1em;
      right: 1em;
      width: 90px;
      background: #FFFFFF;
      border-radius: 3px;
      -moz-border-radius: 3px;
      -webkit-border-radius: 3px;
      -o-border-radius: 3px;
      -ms-border-radius: 3px;
      -moz-background-clip: padding-box;
      -webkit-background-clip: padding-box;
      -o-background-clip: padding-box;
      -ms-background-clip: padding-box; }
      #events-featured .image .date-wrap .date {
        display: block;
        padding: 1em 0;
        text-align: center;
        line-height: 1;
        box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.1);
        -moz-box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.1);
        -webkit-box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.1);
        -o-box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.1);
        -ms-box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.1); }
        #events-featured .image .date-wrap .date .month {
          font-family: franklin-gothic-urw, Helvetica, Arial, sans-serif;
          font-size: 0.7rem;
          font-weight: bold;
          letter-spacing: 0.0635rem;
          line-height: 1.7;
          text-transform: uppercase;
          margin-bottom: 0; }
        #events-featured .image .date-wrap .date .day {
          font-size: 3rem;
          letter-spacing: 0.0013rem;
          line-height: 1.03; }

/* --- Event Detail --- */
#event-detail #event-detail-header {
  padding: 3em 0;
  color: #FFFFFF;
  background: #102E5A; }
  #event-detail #event-detail-header h1, #event-detail #event-detail-header p {
    color: #FFFFFF; }
  #event-detail #event-detail-header h1 {
    margin-bottom: .25em; }
  #event-detail #event-detail-header .dates, #event-detail #event-detail-header .address {
    position: relative;
    margin-bottom: .5em;
    padding-left: 25px; }
    #event-detail #event-detail-header .dates a, #event-detail #event-detail-header .dates a:active, #event-detail #event-detail-header .dates a:visited, #event-detail #event-detail-header .address a, #event-detail #event-detail-header .address a:active, #event-detail #event-detail-header .address a:visited {
      color: #FFFFFF;
      text-decoration: none; }
      #event-detail #event-detail-header .dates a:hover, #event-detail #event-detail-header .dates a:active:hover, #event-detail #event-detail-header .dates a:visited:hover, #event-detail #event-detail-header .address a:hover, #event-detail #event-detail-header .address a:active:hover, #event-detail #event-detail-header .address a:visited:hover {
        text-decoration: underline; }
    #event-detail #event-detail-header .dates [class*='icon'], #event-detail #event-detail-header .address [class*='icon'] {
      position: absolute;
      top: 2px;
      left: 0; }
    #event-detail #event-detail-header .dates:last-child, #event-detail #event-detail-header .address:last-child {
      margin-bottom: 0; }
  #event-detail #event-detail-header .span10 img {
    width: 100%; }

#event-detail #event-detail-info.flow .outer, #event-detail #event-detail-info.flow .inner, #event-detail #event-detail-info.flow .wrap {
  position: relative;
  top: auto;
  left: auto;
  width: auto;
  height: auto; }

@media only screen and (max-width: 525px) {
  #event-detail #event-detail-info.flow {
    padding-bottom: 25px; } }

#event-tickets-placeholder {
  background: transparent; }

/* --- Sidebar Calendar --- */
#event-filters #upcoming-past {
  position: relative;
  display: table;
  width: 100%;
  margin-bottom: 2em;
  border-collapse: separate;
  overflow: hidden;
  border-radius: 3px;
  -moz-border-radius: 3px;
  -webkit-border-radius: 3px;
  -o-border-radius: 3px;
  -ms-border-radius: 3px;
  -moz-background-clip: padding-box;
  -webkit-background-clip: padding-box;
  -o-background-clip: padding-box;
  -ms-background-clip: padding-box; }
  #event-filters #upcoming-past .wrap {
    float: left;
    width: 50%;
    text-align: center; }
    @media only screen and (max-width: 1125px) {
      #event-filters #upcoming-past .wrap {
        float: none;
        width: 100% !important; } }
    @media only screen and (max-width: 910px) {
      #event-filters #upcoming-past .wrap {
        float: left;
        width: 50% !important; } }
    @media only screen and (max-width: 525px) {
      #event-filters #upcoming-past .wrap {
        float: none;
        width: 100% !important; } }
    #event-filters #upcoming-past .wrap .toggle {
      font-family: franklin-gothic-urw, Helvetica, Arial, sans-serif;
      font-size: 0.7rem;
      font-weight: bold;
      letter-spacing: 0.0635rem;
      line-height: 1.7;
      text-transform: uppercase;
      display: block;
      height: 4em;
      margin-bottom: 0;
      line-height: 4em;
      text-decoration: none;
      text-align: center;
      border: 1px solid #D8D8D8;
      -moz-font-smoothing: antialiased;
      -webkit-font-smoothing: antialiased;
      -o-font-smoothing: antialiased;
      -ms-font-smoothing: antialiased; }
      #event-filters #upcoming-past .wrap .toggle.selected {
        color: #FFFFFF;
        background: #102E5A;
        border-color: #102E5A; }
      #event-filters #upcoming-past .wrap .toggle:hover, #event-filters #upcoming-past .wrap .toggle:focus {
        text-decoration: underline; }
        #event-filters #upcoming-past .wrap .toggle:hover:after, #event-filters #upcoming-past .wrap .toggle:focus:after {
          width: calc(100% - 5em); }
    #event-filters #upcoming-past .wrap:last-child .toggle {
      border-left: none; }

@media only screen and (max-width: 910px) {
  #event-filters #datepicker {
    display: none; } }

#event-filters .ui-datepicker {
  width: 100%;
  margin-bottom: 1.5em;
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box; }

#event-filters .filter-bar .field {
  width: 100%;
  margin-bottom: 20px; }
  #event-filters .filter-bar .field select {
    width: 100%; }

/* --- Events Listing --- */
#layout-7030.event-hybrid aside {
  width: 20%; }

#layout-7030.event-hybrid #content-7030 {
  width: 70%; }

#event-listing-hybrid .event-group {
  margin-top: 5em; }
  #event-listing-hybrid .event-group:first-child {
    margin-top: 0; }

#event-listing-hybrid .event {
  position: relative;
  display: block;
  margin-bottom: 20px;
  text-decoration: none; }
  #event-listing-hybrid .event .content {
    padding: 3em 40% 3em 3em;
    border: 1px solid #D8D8D8;
    border-right: none;
    overflow: hidden;
    border-radius: 8px;
    -moz-border-radius: 8px;
    -webkit-border-radius: 8px;
    -o-border-radius: 8px;
    -ms-border-radius: 8px;
    -moz-background-clip: padding-box;
    -webkit-background-clip: padding-box;
    -o-background-clip: padding-box;
    -ms-background-clip: padding-box;
    box-sizing: border-box;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box; }
  #event-listing-hybrid .event.no-image .content {
    padding-right: 3em;
    border-right: 1px solid #D8D8D8; }
  #event-listing-hybrid .event .title {
    margin-bottom: 1em;
    font-family: le-monde-journal-std-2, Helvetica, Arial, sans-serif;
    font-weight: 400;
    font-size: 1.8rem;
    letter-spacing: 0;
    line-height: 1.16;
    margin-bottom: .3em; }
    #event-listing-hybrid .event .title a, #event-listing-hybrid .event .title a:active, #event-listing-hybrid .event .title a:visited {
      text-decoration: none; }
      #event-listing-hybrid .event .title a:hover, #event-listing-hybrid .event .title a:active:hover, #event-listing-hybrid .event .title a:visited:hover {
        text-decoration: underline; }
  #event-listing-hybrid .event .sub-title {
    margin-bottom: 1em;
    font-family: le-monde-journal-std-2, Helvetica, Arial, sans-serif;
    font-weight: 400;
    font-size: 1.2rem;
    letter-spacing: 0;
    line-height: 1.33;
    margin-bottom: .35em; }
  #event-listing-hybrid .event .date {
    font-size: .8125em; }
  #event-listing-hybrid .event:hover {
    border-color: #b2b2b2; }
    #event-listing-hybrid .event:hover .title {
      text-decoration: underline; }
  #event-listing-hybrid .event :last-child {
    margin-bottom: 0; }
  #event-listing-hybrid .event .image {
    position: absolute;
    display: block;
    top: 0;
    right: 0;
    width: 35%;
    height: 100%;
    background-size: cover;
    background-position: center;
    overflow: hidden;
    border-top-right-radius: 8px;
    -moz-border-top-right-radius: 8px;
    -webkit-border-top-right-radius: 8px;
    -o-border-top-right-radius: 8px;
    -ms-border-top-right-radius: 8px;
    -moz-background-clip: "padding-box";
    -webkit-background-clip: "padding-box";
    -o-background-clip: "padding-box";
    -ms-background-clip: "padding-box";
    border-bottom-right-radius: 8px;
    -moz-border-bottom-right-radius: 8px;
    -webkit-border-bottom-right-radius: 8px;
    -o-border-bottom-right-radius: 8px;
    -ms-border-bottom-right-radius: 8px;
    -moz-background-clip: "padding-box";
    -webkit-background-clip: "padding-box";
    -o-background-clip: "padding-box";
    -ms-background-clip: "padding-box"; }
    #event-listing-hybrid .event .image .date-wrap {
      position: absolute;
      top: 1em;
      right: 1em;
      width: 90px;
      background: #FFFFFF;
      border-radius: 3px;
      -moz-border-radius: 3px;
      -webkit-border-radius: 3px;
      -o-border-radius: 3px;
      -ms-border-radius: 3px;
      -moz-background-clip: padding-box;
      -webkit-background-clip: padding-box;
      -o-background-clip: padding-box;
      -ms-background-clip: padding-box; }
      #event-listing-hybrid .event .image .date-wrap .date {
        display: block;
        padding: 1em 0;
        text-align: center;
        line-height: 1;
        box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.1);
        -moz-box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.1);
        -webkit-box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.1);
        -o-box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.1);
        -ms-box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.1); }
        #event-listing-hybrid .event .image .date-wrap .date .month {
          font-family: franklin-gothic-urw, Helvetica, Arial, sans-serif;
          font-size: 0.7rem;
          font-weight: bold;
          letter-spacing: 0.0635rem;
          line-height: 1.7;
          text-transform: uppercase;
          margin-bottom: 0; }
        #event-listing-hybrid .event .image .date-wrap .date .day {
          font-size: 3rem;
          letter-spacing: 0.0013rem;
          line-height: 1.03; }
  #event-listing-hybrid .event:hover .title {
    text-decoration: underline; }

.account-nav li {
  margin-bottom: 1em;
  font-family: le-monde-journal-std-2, Helvetica, Arial, sans-serif;
  font-weight: 400;
  font-size: 1.2rem;
  letter-spacing: 0;
  line-height: 1.33;
  display: flex;
  gap: 1rem 1.5rem;
  align-items: center;
  min-height: 3.8rem;
  margin-bottom: 1.2rem;
  padding-bottom: 1.2rem;
  font-size: 1.8rem;
  border-bottom: 1px solid #D8D8D8; }
  @media only screen and (max-width: 525px) {
    .account-nav li {
      gap: 1rem;
      font-size: 1.25rem; }
      .account-nav li > svg:first-child {
        width: 2.5rem; } }

.account-nav a {
  color: #102E5A;
  text-decoration: none; }

.account-section {
  margin-bottom: 4rem; }

.account-side-gap.gap-content {
  --gap: 1rem; }

.membership-terms.gap-content {
  --gap: 1rem; }

.membership-terms dt {
  margin-bottom: .1rem;
  font-weight: 800; }

.membership-terms dd {
  margin-bottom: 1em;
  font-family: le-monde-journal-std-2, Helvetica, Arial, sans-serif;
  font-weight: 400;
  font-size: 1.2rem;
  letter-spacing: 0;
  line-height: 1.33; }

#renew-button {
  margin-top: 1rem; }

.account-form .field {
  width: 100%; }

.account-form .gap-content {
  --gap: 1rem; }

#view-resume-wrapper {
  display: flex;
  align-items: center;
  gap: 1rem;
  height: 100%;
  margin: 0; }
  #view-resume-wrapper .icon-close {
    font-size: .8rem; }

.upload-display-wrapper {
  position: relative; }
  .upload-display-wrapper button {
    position: absolute;
    top: 2px;
    right: 2px;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 1.5rem;
    height: 1.5rem;
    border-radius: 50%;
    background: #FFF;
    border: 1px solid #D8D8D8; }
    .upload-display-wrapper button span {
      font-size: .7rem; }
  .upload-display-wrapper:has(button:hover, button:focus) img {
    opacity: .8; }

#profile-contact-table {
  margin-bottom: 2rem; }

.contact-control {
  color: #972140;
  text-decoration: underline; }
  .contact-control:not(:last-child) {
    margin-right: .5rem; }

#search-results .sub-header {
  margin-bottom: 1rem; }

#search-results .result-container {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  padding: 2rem 0;
  border-top: 1px solid #D8D8D8; }
  #search-results .result-container > * {
    margin-bottom: 0; }
  #search-results .result-container p.result-title a:any-link {
    font-weight: 700; }
  #search-results .result-container:last-of-type {
    border-bottom: 1px solid #D8D8D8; }

/* --- Pagination Styles --- */
#lucy-pagination {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 2rem;
  width: 100%;
  padding-top: 2rem; }
  #lucy-pagination svg {
    color: #FFF; }
  #lucy-pagination .page-controls {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 1rem;
    font-size: .889rem; }
  #lucy-pagination .arrow {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 2rem;
    height: 2rem;
    background-color: #972140;
    border-radius: 50%; }
    #lucy-pagination .arrow.disabled {
      cursor: not-allowed;
      opacity: .5; }
  #lucy-pagination .pages {
    display: flex;
    gap: .5rem; }
    #lucy-pagination .pages a:any-link {
      display: flex;
      justify-content: center;
      align-items: center;
      width: 2.5rem;
      height: 2.5rem;
      font-size: .889rem;
      font-weight: 700;
      color: #102E5A;
      text-decoration: none;
      background-color: #F0F7FC;
      border-radius: 50%;
      transition: all .3s ease; }
      #lucy-pagination .pages a:any-link:hover, #lucy-pagination .pages a:any-link.selected {
        color: #FFF;
        background-color: #972140; }
  #lucy-pagination #page-selection {
    margin: 0 !important;
    min-width: 4rem;
    font-size: .889rem; }

.ticket-steps-wrap {
  display: grid;
  grid-template-columns: 2fr 1fr;
  margin-block: 2rem 6.1rem;
  padding-block-start: 1.2rem;
  gap: 2.35rem;
  border-block-start: 1px solid #DAE1E6; }
  @media only screen and (max-width: 688px) {
    .ticket-steps-wrap {
      grid-template-columns: 1fr; }
      .ticket-steps-wrap img {
        outline: 1px solid #DAE1E6; } }
  .ticket-steps-wrap ol {
    margin: 0;
    padding: 0;
    list-style: none; }
  .ticket-steps-wrap li {
    display: flex;
    align-items: center;
    gap: 2rem;
    padding-block: 1rem;
    border-block-end: 1px solid #DAE1E650; }
  .ticket-steps-wrap .step-block {
    text-align: left; }
  .ticket-steps-wrap .step-label {
    display: block;
    color: #972140;
    line-height: 1;
    font-size: 14px; }
  .ticket-steps-wrap .step-number {
    display: block;
    font-family: le-monde-journal-std-2, Helvetica, Arial, sans-serif;
    font-size: 2.4rem;
    letter-spacing: 0;
    line-height: 1.04;
    font-size: 2.4rem;
    line-height: 1; }

.help-desk-end {
  padding-block-start: 3rem;
  margin-block-end: 5rem;
  border-block-start: 1px solid #DAE1E6; }

.case-studies-wrapper {
  margin-block-start: 5rem; }
  .case-studies-wrapper .listing-grid {
    --columns: 1fr 1fr; }
    @media only screen and (max-width: 740px) {
      .case-studies-wrapper .listing-grid {
        --columns: 1fr; } }
  .case-studies-wrapper h3 {
    font-size: 1.2rem;
    letter-spacing: 0;
    line-height: 1.33;
    font-size: 1rem; }
    .case-studies-wrapper h3 a {
      text-decoration: none;
      color: #102E5A; }
      .case-studies-wrapper h3 a:hover, .case-studies-wrapper h3 a:focus-visible {
        text-decoration: underline; }

.jc-cards-outer {
  padding-block: 5rem; }
  @media only screen and (max-width: 525px) {
    .jc-cards-outer {
      padding-block: 3.5rem; } }

.jc-card-top-callout {
  margin-bottom: 20px; }

.jc-top-cards {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px; }
  @media only screen and (max-width: 910px) {
    .jc-top-cards {
      grid-template-columns: 1fr; } }

.jc-card {
  position: relative;
  padding-block: 3.375rem;
  padding-inline: 4.375rem;
  border-radius: .5rem;
  background-color: #FFF;
  box-shadow: 0 12px 22px #102E5A15;
  overflow: hidden; }
  .jc-card h2 {
    font-size: 1.8rem;
    letter-spacing: 0;
    line-height: 1.16;
    margin-block-end: .8rem; }
  .jc-card .decorative {
    position: absolute;
    bottom: -.2em;
    right: 0;
    font-family: le-monde-journal-std-2, Helvetica, Arial, sans-serif;
    font-size: 360px;
    -webkit-text-stroke: 2px #F0F7FC;
    color: #FFF;
    line-height: 1;
    user-select: none;
    pointer-events: none; }
  .jc-card .content {
    position: relative;
    z-index: 1; }

.job-post-section {
  padding-block: 5.5rem; }
  .job-post-section .job-section-layout {
    display: grid;
    grid-template-columns: 1fr 1.5fr;
    gap: 5rem 9.55rem; }
    @media only screen and (max-width: 910px) {
      .job-post-section .job-section-layout {
        grid-template-columns: 1fr; } }
  .job-post-section h2 {
    margin-block-end: 1.5rem; }
  .job-post-section .block {
    display: flex;
    align-items: flex-start;
    gap: 22px;
    margin-block-end: 3.4rem; }
    .job-post-section .block p {
      font-size: 1.8rem;
      line-height: 1.22; }
      @media only screen and (max-width: 525px) {
        .job-post-section .block p {
          font-size: 1.5rem; } }
    .job-post-section .block img {
      max-width: 8.2rem;
      flex-shrink: 0; }
    @media only screen and (max-width: 910px) {
      .job-post-section .block {
        margin-block-end: 2rem; } }
  @media only screen and (max-width: 525px) {
    .job-post-section {
      padding-block: 3.5rem; } }

.credit-package-section {
  padding-block: 5.75rem 7rem; }
  .credit-package-section h2 {
    margin-block-end: 4.25rem;
    text-align: center; }
    @media only screen and (max-width: 525px) {
      .credit-package-section h2 {
        margin-block-end: 2rem; } }
  .credit-package-section .package-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px; }
    @media only screen and (max-width: 910px) {
      .credit-package-section .package-grid {
        grid-template-columns: 1fr; } }
  .credit-package-section .package-article {
    padding-block: 3rem;
    padding-inline: 35px;
    background-color: #FFF;
    border-radius: .5rem;
    box-shadow: 0 12px 22px #102E5A15; }
    .credit-package-section .package-article h3 {
      font-size: 1.8rem;
      letter-spacing: 0;
      line-height: 1.16;
      margin-block-end: 2rem; }
      .credit-package-section .package-article h3 a {
        color: inherit;
        text-decoration: none; }
    .credit-package-section .package-article button {
      width: 100%; }
      .credit-package-section .package-article button[aria-expanded=true] svg {
        transform: rotate(180deg); }
    .credit-package-section .package-article [aria-expanded="false"] + dl {
      display: none; }
    .credit-package-section .package-article svg {
      width: 18px; }
    .credit-package-section .package-article .sub-header {
      display: flex;
      justify-content: space-between;
      align-items: center;
      gap: 2px;
      margin-block: 1.85rem .5rem;
      color: #972140; }
    .credit-package-section .package-article dl > div {
      display: flex;
      justify-content: space-between;
      margin-block-end: .25rem;
      padding-block-end: .25rem;
      border-block-end: 1px solid #DAE1E650; }
    .credit-package-section .package-article ul {
      padding-inline-start: 1rem; }
      .credit-package-section .package-article ul li {
        list-style-image: url(/images/icons/arrow.svg); }
  @media only screen and (max-width: 525px) {
    .credit-package-section {
      padding-block: 3.5rem; } }

.jc-callouts-section {
  padding-block: 5.875rem; }
  .jc-callouts-section h2 {
    text-align: center; }
    @media only screen and (max-width: 525px) {
      .jc-callouts-section h2 {
        margin-block-end: 2rem; } }
  .jc-callouts-section .callouts-layout {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px; }
    @media only screen and (max-width: 910px) {
      .jc-callouts-section .callouts-layout {
        grid-template-columns: 1fr; } }
  @media only screen and (max-width: 525px) {
    .jc-callouts-section {
      padding-block: 3.5rem; } }

.alt-callout {
  position: relative;
  padding-block: 2.2rem;
  padding-inline: 3rem;
  text-align: left;
  background-color: #102E5A;
  border-radius: 0.5rem;
  box-shadow: 0 12px 22px #102E5A15;
  color: #FFF;
  overflow: hidden; }
  .alt-callout::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: linear-gradient(180deg, rgba(16, 46, 90, 0) 0%, #102E5A 100%); }
  .alt-callout:has(img) {
    padding-block-start: 10rem; }
  .alt-callout:has(:focus-within, a:hover) img {
    transform: scale(1.05); }
  .alt-callout .content {
    position: relative;
    z-index: 1; }
  .alt-callout a {
    color: inherit;
    text-decoration: none; }
    .alt-callout a:focus, .alt-callout a:hover {
      text-decoration: underline; }
  .alt-callout h3 {
    font-size: 1.8rem;
    letter-spacing: 0;
    line-height: 1.16;
    margin-block-end: 1rem; }
  .alt-callout p:last-of-type {
    margin-block-end: 0; }
  .alt-callout img {
    position: absolute;
    inset: 0;
    object-fit: cover;
    object-position: center;
    width: 100%;
    height: 100%;
    opacity: .7;
    transition: transform .3s ease-in-out; }

:where(.plugin-output, .editor-content) h2 {
  font-size: 1.8rem;
  line-height: 1.4; }

:where(.plugin-output, .editor-content) h3 {
  font-size: 1.4rem;
  line-height: 1.4; }

:where(.plugin-output, .editor-content) h4, :where(.plugin-output, .editor-content) #lucy-checkout-fields h2, #lucy-checkout-fields :where(.plugin-output, .editor-content) h2 {
  font-size: 1.2rem;
  line-height: 1.4; }

:where(.plugin-output, .editor-content) h5, :where(.plugin-output, .editor-content) .filter-bar h2, .filter-bar :where(.plugin-output, .editor-content) h2 {
  font-size: 1rem;
  line-height: 1.4; }

.plugin-output h1, .plugin-output h2, .plugin-output h3, .plugin-output h3, .plugin-output h4, .plugin-output #lucy-checkout-fields h2, #lucy-checkout-fields .plugin-output h2, .plugin-output h5, .plugin-output .filter-bar h2, .filter-bar .plugin-output h2, .plugin-output h6, .editor-content h1, .editor-content h2, .editor-content h3, .editor-content h3, .editor-content h4, .editor-content #lucy-checkout-fields h2, #lucy-checkout-fields .editor-content h2, .editor-content h5, .editor-content .filter-bar h2, .filter-bar .editor-content h2, .editor-content h6 {
  margin-bottom: .5em; }

.plugin-output .table-heading, .editor-content .table-heading {
  margin: 4rem 0 1.5rem;
  font-size: 1.8rem;
  letter-spacing: 0;
  line-height: 1.16; }

.plugin-output table, .editor-content table {
  width: 100%;
  border-collapse: collapse; }

.plugin-output .list-table, .editor-content .list-table {
  width: 100%;
  margin: 0 0 2.5rem;
  padding: 0;
  list-style: none; }

.plugin-output table p, .plugin-output .list-table p, .editor-content table p, .editor-content .list-table p {
  margin: 0; }

.plugin-output table th, .plugin-output table td, .plugin-output table li, .plugin-output table dd, .plugin-output table dt, .plugin-output .list-table th, .plugin-output .list-table td, .plugin-output .list-table li, .plugin-output .list-table dd, .plugin-output .list-table dt, .editor-content table th, .editor-content table td, .editor-content table li, .editor-content table dd, .editor-content table dt, .editor-content .list-table th, .editor-content .list-table td, .editor-content .list-table li, .editor-content .list-table dd, .editor-content .list-table dt {
  margin-bottom: 1em;
  font-family: le-monde-journal-std-2, Helvetica, Arial, sans-serif;
  font-weight: 400;
  font-size: 1.2rem;
  margin-bottom: 0;
  padding: .75rem 1.5rem;
  vertical-align: top;
  background: #FFF;
  border-bottom: 1px solid #D8D8D8;
  border-left: 1px solid #D8D8D8; }

.plugin-output table tr:first-child td, .plugin-output .list-table tr:first-child td, .editor-content table tr:first-child td, .editor-content .list-table tr:first-child td {
  font-family: franklin-gothic-urw, Helvetica, Arial, sans-serif;
  font-size: 0.7rem;
  font-weight: bold;
  letter-spacing: 0.0635rem;
  line-height: 1.7;
  text-transform: uppercase;
  padding-top: 0;
  text-align: left;
  color: #972140;
  font-family: franklin-gothic-urw, Helvetica, Arial, sans-serif;
  font-size: .6875em;
  text-transform: uppercase;
  background: #FFF; }

.plugin-output table tr:nth-child(even) td, .plugin-output table li:nth-child(odd), .plugin-output .list-table tr:nth-child(even) td, .plugin-output .list-table li:nth-child(odd), .editor-content table tr:nth-child(even) td, .editor-content table li:nth-child(odd), .editor-content .list-table tr:nth-child(even) td, .editor-content .list-table li:nth-child(odd) {
  background: #F0F7FC; }

.plugin-output hr, .editor-content hr {
  margin: 3rem 0;
  border-top: 1px solid #D8D8D8; }
  @media only screen and (max-width: 525px) {
    .plugin-output hr, .editor-content hr {
      margin: 2.5rem 0; } }

:where(.lucy-bucket) .page-image {
  margin-bottom: 1.5rem; }

:where(.lucy-bucket)[data-border="1"] {
  margin-bottom: 3rem;
  padding-bottom: 2rem;
  border-bottom: 1px solid #D8D8D8; }
  @media only screen and (max-width: 525px) {
    :where(.lucy-bucket)[data-border="1"] {
      margin-bottom: 2rem;
      padding-bottom: 1rem; } }

form.custom legend {
  margin-bottom: .5rem; }

@media only screen and (max-width: 525px) {
  form.custom .check-item {
    margin-bottom: .66rem; } }

.gallery-plugin {
  margin: var(--gutter_y) 0; }
  .gallery-plugin .slider {
    gap: 2rem 2rem; }

.pages-list-container {
  margin: 2rem 0 0; }
  .pages-list-container > a {
    display: block;
    color: #102E5A;
    text-decoration: none; }
    .pages-list-container > a:hover .pages-heading, .pages-list-container > a:focus .pages-heading {
      color: #972140;
      text-decoration: underline; }

.pages-nav-container {
  display: flex;
  align-items: center;
  gap: 2.11rem;
  margin-bottom: 2.22rem;
  padding-bottom: 2.22rem;
  border-bottom: 1px solid #D8D8D8; }
  @media only screen and (max-width: 525px) {
    .pages-nav-container {
      flex-wrap: wrap;
      gap: 1rem; } }
  .pages-nav-container img {
    max-width: 14.88rem; }
    @media only screen and (max-width: 525px) {
      .pages-nav-container img {
        max-width: 100%; } }
  .pages-nav-container .pages-heading {
    font-size: 1.2rem;
    letter-spacing: 0;
    line-height: 1.33;
    margin-bottom: .33rem; }
  .pages-nav-container .pages-intro {
    margin: 0; }

.event-plugin {
  margin-block: 3rem; }

.navbar {
  --text_color: #102E5A;
  --text_color: hsl(216, 70%, 21%);
  --bg_color: #102E5A;
  --text_blend_mode: none;
  position: fixed;
  z-index: 10;
  top: var(--alert_height);
  left: var(--page_border_width);
  width: calc(100% - var(--page_border_width));
  height: var(--header_height);
  color: var(--text_color);
  box-sizing: border-box;
  transform: translateY(0);
  transition: all 0.2s ease-in-out;
  -moz-transition: all 0.2s ease-in-out;
  -webkit-transition: all 0.2s ease-in-out;
  -o-transition: all 0.2s ease-in-out;
  -ms-transition: all 0.2s ease-in-out;
  -moz-font-smoothing: antialiased;
  -webkit-font-smoothing: antialiased;
  -o-font-smoothing: antialiased;
  -ms-font-smoothing: antialiased; }
  .navbar.hide {
    opacity: 0;
    transform: translateY(calc(-1 * var(--header_height)));
    pointer-events: none; }
  .navbar .bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: var(--bg_color);
    filter: alpha(opacity=0);
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
    -moz-opacity: 0;
    -khtml-opacity: 0;
    opacity: 0; }
    @media only screen and (max-width: 525px) {
      .navbar .bg {
        filter: alpha(opacity=100);
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
        -moz-opacity: 1;
        -khtml-opacity: 1;
        opacity: 1; } }
  .navbar .lucy-wrapper, .navbar #layout-7030 {
    height: 100%; }
  .navbar .navbar-inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: 100%; }
    @media only screen and (max-width: 910px) {
      .navbar .navbar-inner .navbar-desktop {
        display: none; } }
    .navbar .navbar-inner .navbar-mobile {
      display: none; }
      @media only screen and (max-width: 910px) {
        .navbar .navbar-inner .navbar-mobile {
          display: block; } }
  .navbar #mobile-menu-button {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 1.75rem;
    height: 1.75rem; }
    .navbar #mobile-menu-button svg {
      width: 100%;
      height: 100%; }
  .navbar #logo {
    width: 13.6rem; }
    .navbar #logo img, .navbar #logo svg {
      display: block;
      max-width: 100%; }
  .navbar .lettering {
    fill: var(--text_color); }
  .navbar .navbar-nav > ul > li > a:not(.button), .navbar .navbar-nav > ul > li > button {
    color: var(--text_color); }
  .navbar .navbar-nav ul {
    display: flex;
    justify-content: flex-end;
    align-items: center; }
  .navbar .navbar-nav a:not(.button), .navbar .navbar-nav button {
    text-decoration: none; }
    .navbar .navbar-nav a:not(.button):hover, .navbar .navbar-nav a:not(.button):focus, .navbar .navbar-nav a:not(.button).active, .navbar .navbar-nav button:hover, .navbar .navbar-nav button:focus, .navbar .navbar-nav button.active {
      border-bottom: 2px solid #972140; }
      @supports (text-decoration: underline 2px #972140) {
        .navbar .navbar-nav a:not(.button):hover, .navbar .navbar-nav a:not(.button):focus, .navbar .navbar-nav a:not(.button).active, .navbar .navbar-nav button:hover, .navbar .navbar-nav button:focus, .navbar .navbar-nav button.active {
          text-underline-offset: .3rem;
          text-decoration: underline 2px #972140;
          border: none; } }
  .navbar .minor-nav {
    margin-bottom: .65rem; }
    .navbar .minor-nav ul {
      gap: 1.5rem; }
    .navbar .minor-nav li {
      font-family: franklin-gothic-urw, Helvetica, Arial, sans-serif;
      font-size: 0.7rem;
      font-weight: bold;
      letter-spacing: 0.0635rem;
      line-height: 1.7;
      text-transform: uppercase; }
  .navbar .major-nav ul {
    gap: 1.2rem; }
    .navbar .major-nav ul li {
      margin-bottom: 1em;
      font-family: le-monde-journal-std-2, Helvetica, Arial, sans-serif;
      font-weight: 400;
      position: relative;
      margin-bottom: 0;
      font-size: 1.1rem;
      font-weight: 600; }
  .navbar .icon-search, .navbar #page-search .field-wrap:before, #page-search .navbar .field-wrap:before {
    font-size: .7rem; }
  .navbar .icon-cart-empty {
    font-size: .8rem; }
  .navbar #search-icon, .navbar #cart-link {
    display: block;
    margin-inline: -.2rem;
    min-width: 24px;
    min-height: 24px; }
  .navbar .login-button {
    padding-left: 1rem;
    padding-right: 1rem; }
  .navbar .major-nav-menu {
    position: absolute;
    top: 3rem;
    left: 0;
    width: 19rem;
    padding: 1.3rem 1.85rem;
    background-color: #FFF;
    box-shadow: 0 12px 22px rgba(0, 0, 0, 0.24);
    border-radius: 0.4rem;
    transition: .2s;
    opacity: 0;
    pointer-events: none; }
    .navbar .major-nav-menu.open {
      opacity: 1;
      pointer-events: initial; }
    .navbar .major-nav-menu.two-col {
      left: -3.5rem;
      width: 26rem; }
      .navbar .major-nav-menu.two-col ul {
        column-count: 2; }
    .navbar .major-nav-menu a {
      display: block;
      font-family: franklin-gothic-urw, Helvetica, Arial, sans-serif;
      font-size: 20px;
      letter-spacing: 0.002rem;
      line-height: 1.5;
      color: #102E5A;
      font-size: 0.9rem;
      font-weight: 400;
      white-space: nowrap; }
      .navbar .major-nav-menu a::before {
        margin-left: -1rem;
        margin-right: .5rem;
        opacity: 0;
        transition: .2s;
        content: url(/images/icons/arrow.svg);
        pointer-events: none; }
      .navbar .major-nav-menu a:hover, .navbar .major-nav-menu a:focus {
        font-weight: 600;
        text-decoration: none !important;
        border-bottom: none !important; }
        .navbar .major-nav-menu a:hover::before, .navbar .major-nav-menu a:focus::before {
          margin-left: 0;
          opacity: 1;
          pointer-events: initial; }
    .navbar .major-nav-menu ul {
      display: block;
      margin: 0;
      padding: 0;
      list-style: none; }
    .navbar .major-nav-menu li {
      display: block;
      padding: .8rem 0;
      width: 100%;
      -webkit-margin-before: 0;
      -webkit-margin-after: 0;
      -webkit-column-break-inside: avoid;
      page-break-inside: avoid;
      break-inside: avoid;
      list-style-type: none;
      box-sizing: border-box;
      border-bottom: 1px solid transparent; }
      .navbar .major-nav-menu li:not(:last-child) {
        border-bottom: 1px solid #D8D8D8; }
      .navbar .major-nav-menu li:has(a:focus, a:hover) {
        border-bottom: 1px solid #972140; }

.mobile-menu {
  position: fixed;
  z-index: 10;
  top: var(--header_height);
  left: var(--page_border_width);
  display: none;
  width: calc(100% - var(--page_border_width));
  height: calc(100% - var(--header_height));
  padding: 2rem;
  color: #FFF;
  background: #102E5A;
  border-top: 1px solid #FFF;
  overflow-y: scroll;
  box-sizing: border-box; }
  .mobile-menu.open {
    display: block; }
  .mobile-menu ul {
    margin: 0;
    padding: 0;
    list-style: none;
    box-sizing: border-box; }
    .mobile-menu ul li.major, .mobile-menu ul li.major li {
      margin-bottom: 1em;
      font-family: le-monde-journal-std-2, Helvetica, Arial, sans-serif;
      font-weight: 400;
      font-size: 1.2rem;
      letter-spacing: 0;
      line-height: 1.33; }
    .mobile-menu ul li.major {
      margin-bottom: 0; }
      .mobile-menu ul li.major.last {
        margin-bottom: 2.5rem; }
    .mobile-menu ul li.minor {
      font-family: franklin-gothic-urw, Helvetica, Arial, sans-serif;
      font-size: 0.7rem;
      font-weight: bold;
      letter-spacing: 0.0635rem;
      line-height: 1.7;
      text-transform: uppercase;
      margin-bottom: 1rem; }
    .mobile-menu ul li .menu-button, .mobile-menu ul li.major > a {
      display: block;
      width: 100%;
      padding: 1.5rem 0;
      text-align: left;
      border-bottom: 1px solid #FFF; }
    .mobile-menu ul li .menu-button {
      display: flex;
      justify-content: space-between;
      align-items: center;
      gap: 1rem; }
    .mobile-menu ul li ul {
      position: fixed;
      z-index: 11;
      top: calc(var(--header_height) + 1px);
      right: -100%;
      width: calc(100% - var(--page_border_width));
      height: calc(100% - var(--header_height));
      padding: 2rem;
      background: #102E5A;
      transition: right .2s;
      overflow-y: scroll; }
      .mobile-menu ul li ul.open {
        display: block;
        right: 0; }
      .mobile-menu ul li ul li {
        margin-bottom: 1rem; }
    .mobile-menu ul a {
      color: #FFF;
      text-decoration: none; }
    .mobile-menu ul button[data-menu-back]::before {
      width: 1rem;
      opacity: 1;
      margin-left: var(--icon_space);
      transform: translateX(0) translateY(-0.1rem) rotate(180deg);
      transform-origin: center;
      vertical-align: middle; }
    .mobile-menu ul button[data-menu-back]:hover::before, .mobile-menu ul button[data-menu-back]:focus::before {
      transform: translateX(0) translateY(-0.1rem) rotate(180deg); }
    .mobile-menu ul button[data-menu-back]::after {
      width: 0;
      opacity: 0;
      margin-right: var(--icon_space); }
  .mobile-menu #search-form-mobile {
    width: 100%;
    margin-bottom: 2rem; }
  .mobile-menu .search-field {
    display: flex;
    align-items: center; }
    .mobile-menu .search-field .button, .mobile-menu .search-field .pagination a, .pagination .mobile-menu .search-field a {
      position: absolute;
      right: 0;
      height: 100%; }
    .mobile-menu .search-field input {
      border-top-right-radius: 1.5rem;
      border-bottom-right-radius: 1.5rem; }
  .mobile-menu .mobile-menu-bottom {
    margin-top: 2rem;
    padding-top: 2rem;
    border-top: 1px solid #FFF; }
    .mobile-menu .mobile-menu-bottom h2 {
      font-size: 1.8rem;
      letter-spacing: 0;
      line-height: 1.16;
      margin-bottom: 1.5rem; }
    .mobile-menu .mobile-menu-bottom h3 {
      font-size: 1.2rem;
      letter-spacing: 0;
      line-height: 1.33;
      margin-bottom: .5rem; }
    .mobile-menu .mobile-menu-bottom address {
      margin-bottom: 1rem; }
    .mobile-menu .mobile-menu-bottom a {
      color: #FFF; }

body.on-dark .navbar {
  --text_color: #FFF;
  --text_blend_mode: exclusion; }

body.front {
  border-left: #972140 solid var(--page_border_width);
  background: #FFF;
  box-sizing: border-box; }

#content-wrapper {
  background: #FFF; }
  #content-wrapper.cart-thanks {
    background: #F0F7FC; }

.lucy-wrapper, #layout-7030 {
  position: relative;
  width: 100%;
  margin: 0 auto;
  padding: 0 var(--gutter_x);
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box; }
  @media only screen and (max-width: 1125px) {
    .lucy-wrapper, #layout-7030 {
      padding: 0 5vw; } }
  @media only screen and (max-width: 525px) {
    .lucy-wrapper, #layout-7030 {
      padding: 0 25px; } }

#layout-7030 {
  display: grid;
  grid-template-columns: 16.65fr 42.2fr;
  gap: 2rem 9.5rem;
  gap: 2rem clamp(2rem, 11.8vw, 9.5rem);
  grid-template-areas: "aside main";
  padding-bottom: var(--gutter_y); }
  #layout-7030.one-col {
    grid-template-columns: 1fr;
    grid-template-areas: "main"; }
  #layout-7030.header-padding {
    padding-top: calc(var(--gutter_y) + var(--fixed_total_height)); }
  @media only screen and (max-width: 910px) {
    #layout-7030 {
      grid-template-columns: auto;
      grid-template-areas: "aside" "main"; } }

aside {
  position: relative;
  z-index: 2;
  display: inline-block;
  box-sizing: border-box; }
  aside .lucy-wrapper, aside #layout-7030 {
    width: 100%;
    margin: 0 !important;
    padding: 0 !important; }
  aside a, aside .hoverable {
    color: #102E5A;
    text-decoration: none; }
    aside a:hover, aside a:focus, aside .hoverable:hover, aside .hoverable:focus {
      border-bottom: 2px solid #972140; }
      @supports (text-decoration: underline 2px #972140) {
        aside a:hover, aside a:focus, aside .hoverable:hover, aside .hoverable:focus {
          text-underline-offset: .2rem;
          text-decoration: underline 2px #972140;
          border: none; } }
  aside .underlined-link {
    color: #972140;
    text-decoration: underline; }
    aside .underlined-link:focus, aside .underlined-link:hover {
      text-decoration: none; }
  aside .subtitle {
    margin-bottom: 1em;
    font-family: le-monde-journal-std-2, Helvetica, Arial, sans-serif;
    font-weight: 400;
    font-size: 1.2rem;
    letter-spacing: 0;
    line-height: 1.33;
    margin-bottom: 1.5rem;
    font-weight: 800; }
  aside .callout-container {
    margin-top: 3rem; }
    aside .callout-container h2 {
      margin-bottom: .5rem;
      font-size: 1.2rem; }

#content-full {
  grid-area: main;
  position: relative;
  z-index: 1; }

#content-7030 {
  grid-area: main;
  position: relative;
  z-index: 1;
  display: inline-block; }
  #content-7030 .lucy-wrapper, #content-7030 #layout-7030 {
    width: 100% !important;
    padding: 0 !important; }
  @media only screen and (max-width: 910px) {
    #content-7030 {
      margin-left: 0; } }

#vertical-nav-content {
  position: sticky;
  top: calc(var(--fixed_total_height) + 2rem);
  transition: top .2s;
  box-sizing: border-box; }
  #vertical-nav-content:has(.filter-form), #vertical-nav-content:has(dl) {
    max-height: calc(100vh - var(--fixed_total_height) + 2rem);
    overflow-y: scroll; }
  #vertical-nav-content li {
    margin-bottom: .75rem;
    font-size: 1rem; }
    #vertical-nav-content li.active {
      font-weight: 600; }
      #vertical-nav-content li.active a::before {
        margin-right: .5rem;
        content: url(/images/icons/arrow.svg); }
  @media only screen and (max-width: 910px) {
    #vertical-nav-content {
      display: none;
      padding: 1.25rem;
      border: 1px solid #D8D8D8;
      border-top: none; }
      #vertical-nav-content.show {
        display: block; } }

#mobile-nav-toggle {
  position: relative;
  display: none;
  padding: .75em 1em;
  color: #972140;
  font-weight: bold;
  border: 1px solid #D8D8D8;
  cursor: pointer;
  background: #F0F7FC;
  box-sizing: border-box; }
  @media only screen and (max-width: 910px) {
    #mobile-nav-toggle {
      display: block; } }
  #mobile-nav-toggle:after {
    position: absolute;
    top: 50%;
    right: 25px;
    font-family: 'icomoon' !important;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    font-size: 1em;
    text-transform: none;
    color: #102E5A;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    content: "\e91a" !important;
    transform: translate(0, -50%);
    perspective: 1000px;
    -moz-transform: translate(0, -50%);
    -moz-perspective: 1000;
    -webkit-transform: translate(0, -50%);
    -webkit-perspective: 1000;
    -o-transform: translate(0, -50%);
    -o-perspective: 1000;
    -ms-transform: translate(0, -50%);
    -ms-perspective: 1000; }
  #mobile-nav-toggle.open:after {
    font-size: .2em;
    content: "\e91f" !important; }
  #mobile-nav-toggle:hover, #mobile-nav-toggle:focus {
    background-color: #e8f2fa; }

.field {
  position: relative; }
  .field.has-icon-left input, .field.has-icon-left select {
    padding-left: 2.25rem; }
  .field.has-icon-left .field-icon {
    left: .75rem; }
  .field .field-icon {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    color: #972140;
    pointer-events: none; }
  .field input, .field textarea, .field select {
    margin-bottom: 0; }
  .field input[type=text], .field input[type=number], .field input[type=email], .field input[type=url], .field input[type=tel], .field input[type=password], .field input[type=date], .field textarea, .field select {
    width: 100%; }

.fields-grid {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: 2rem 20px;
  width: 100%; }
  .fields-grid .field {
    grid-column: span 6; }
  .fields-grid .field-full {
    grid-column: span 12; }
  .fields-grid .field-half {
    grid-column: span 6; }
  .fields-grid .field-third {
    grid-column: span 4; }
  .fields-grid .field-quarter {
    grid-column: span 3; }
  @media only screen and (max-width: 525px) {
    .fields-grid {
      grid-template-columns: 1fr; }
      .fields-grid .field, .fields-grid .field-full, .fields-grid .field-half, .fields-grid .field-third, .fields-grid .field-quarter {
        grid-column: span 1; } }
  .fields-grid .checkbox-visibility:has(:checked) ~ * {
    display: none; }

.legend {
  margin-bottom: 1em;
  font-family: le-monde-journal-std-2, Helvetica, Arial, sans-serif;
  font-weight: 400;
  font-size: 1.2rem;
  letter-spacing: 0;
  line-height: 1.33; }

.fieldset:not(:last-of-type) {
  margin-bottom: 3rem;
  padding-bottom: 3rem;
  border-bottom: 1px solid #D8D8D8; }

.field-space {
  margin-top: 2rem; }

.field-space-t {
  margin-top: 2rem; }

.field-space-b {
  margin-bottom: 2rem; }

.field-help {
  margin: .2rem 0;
  font-size: .7rem; }

* {
  margin: 0;
  padding: 0;
  border: 0; }

html, body {
  font-size: var(--base_font_size);
  -moz-font-smoothing: antialiased;
  -webkit-font-smoothing: antialiased;
  -o-font-smoothing: antialiased;
  -ms-font-smoothing: antialiased; }

body {
  --alert_height: 0px;
  --header_height: 172px;
  --header_space: 172px;
  --fixed_total_height: calc(var(--header_height) + var(--alert_height));
  --fixed_total_space: calc(var(--header_space) + var(--alert_height));
  min-height: 100vh; }
  @media only screen and (max-width: 910px) {
    body {
      --header_height: 140px;
      --header_space: 140px; } }
  @media only screen and (max-width: 525px) {
    body {
      --header_height: 120px;
      --header_space: 120px; } }

body.alert {
  --alert_height: 60px; }

/* --- Site Alerts --- */
#alert {
  position: fixed;
  z-index: 10;
  top: 0;
  left: var(--page_border_width);
  width: calc(100% - var(--page_border_width));
  height: var(--alert_height);
  text-align: center;
  background: #FFF;
  overflow: hidden;
  transition: .2s; }
  #alert .lucy-wrapper, #alert #layout-7030 {
    height: 100%; }
  #alert .alert-inner {
    display: flex;
    align-items: center;
    gap: 0 1rem;
    height: 100%; }
  #alert .icon-close {
    position: absolute;
    top: 50%;
    right: clamp(0.5rem, 1.5vw, 2rem);
    font-size: .7rem;
    color: #102E5A;
    cursor: pointer;
    transform: translate(0, -50%);
    perspective: 1000px;
    -moz-transform: translate(0, -50%);
    -moz-perspective: 1000;
    -webkit-transform: translate(0, -50%);
    -webkit-perspective: 1000;
    -o-transform: translate(0, -50%);
    -o-perspective: 1000;
    -ms-transform: translate(0, -50%);
    -ms-perspective: 1000; }
  #alert.hide {
    top: -60px; }
  #alert .title {
    flex-shrink: 0;
    padding-right: 1rem;
    font-weight: 600;
    line-height: 1.4;
    border-right: 1px solid #D8D8D8; }
  #alert .desc {
    font-size: 0.8rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis; }
  #alert p {
    text-align: left;
    margin: 0; }
  #alert .button, #alert .pagination a, .pagination #alert a {
    flex-shrink: 0; }
  @media only screen and (max-width: 910px) {
    #alert a.button, #alert .pagination a, .pagination #alert a {
      position: absolute;
      top: 0;
      left: 0;
      width: 95%;
      height: 100%;
      box-sizing: border-box;
      -moz-box-sizing: border-box;
      -webkit-box-sizing: border-box;
      -o-box-sizing: border-box;
      -ms-box-sizing: border-box;
      filter: alpha(opacity=0);
      -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
      -moz-opacity: 0;
      -khtml-opacity: 0;
      opacity: 0; } }

/* --- Shelf Navigation --- */
/* --- Search Form --- */
#search-form {
  position: fixed;
  z-index: 11;
  top: 0;
  left: var(--page_border_width);
  width: calc(100% - var(--page_border_width));
  background: #FFF;
  transition: all 0.2s ease-in-out;
  -moz-transition: all 0.2s ease-in-out;
  -webkit-transition: all 0.2s ease-in-out;
  -o-transition: all 0.2s ease-in-out;
  -ms-transition: all 0.2s ease-in-out;
  transform: translate(0, -100%);
  perspective: 1000px;
  -moz-transform: translate(0, -100%);
  -moz-perspective: 1000;
  -webkit-transform: translate(0, -100%);
  -webkit-perspective: 1000;
  -o-transform: translate(0, -100%);
  -o-perspective: 1000;
  -ms-transform: translate(0, -100%);
  -ms-perspective: 1000; }
  #search-form .lucy-wrapper .inner, #search-form #layout-7030 .inner {
    position: relative; }
  #search-form .lucy-wrapper input, #search-form #layout-7030 input {
    width: 100%;
    margin: 0;
    padding: .5em 0 .5em .5rem;
    font-size: 2em;
    border: none; }
  #search-form .lucy-wrapper label.show, #search-form #layout-7030 label.show {
    top: .6rem; }
  #search-form .lucy-wrapper button, #search-form #layout-7030 button, #search-form .lucy-wrapper .button, #search-form #layout-7030 .button, #search-form .lucy-wrapper .pagination a, .pagination #search-form .lucy-wrapper a, #search-form #layout-7030 .pagination a, .pagination #search-form #layout-7030 a {
    position: absolute;
    top: 50%;
    right: 0;
    transform: translate(0, -50%);
    perspective: 1000px;
    -moz-transform: translate(0, -50%);
    -moz-perspective: 1000;
    -webkit-transform: translate(0, -50%);
    -webkit-perspective: 1000;
    -o-transform: translate(0, -50%);
    -o-perspective: 1000;
    -ms-transform: translate(0, -50%);
    -ms-perspective: 1000; }
  #search-form.open {
    transform: translate(0, 0);
    perspective: 1000px;
    -moz-transform: translate(0, 0);
    -moz-perspective: 1000;
    -webkit-transform: translate(0, 0);
    -webkit-perspective: 1000;
    -o-transform: translate(0, 0);
    -o-perspective: 1000;
    -ms-transform: translate(0, 0);
    -ms-perspective: 1000; }
  #search-form #close-search-button {
    position: absolute;
    top: 50%;
    right: 1rem;
    transform: translateY(-50%); }
    @media only screen and (max-width: 910px) {
      #search-form #close-search-button {
        font-size: .9rem;
        right: .5rem; } }
  @media only screen and (max-width: 525px) {
    #search-form {
      display: none; } }

/* --- Mobile Menu --- */
#mobile-menu {
  position: fixed;
  z-index: 4;
  display: none;
  top: 100px;
  width: 100%;
  height: calc(100vh - 80px);
  overflow: scroll;
  background: #FFF; }
  #mobile-menu #search-form-mobile {
    width: 100%;
    background: #F0F7FC; }
    #mobile-menu #search-form-mobile input {
      width: 100%;
      padding: 25px;
      background: #F1F1F1;
      box-sizing: border-box;
      -moz-box-sizing: border-box;
      -webkit-box-sizing: border-box;
      -o-box-sizing: border-box;
      -ms-box-sizing: border-box; }
  #mobile-menu .inner {
    padding: 25px; }
    #mobile-menu .inner ul {
      margin: 0 0 1em 0 !important;
      padding: 0 !important;
      list-style-type: none; }
    #mobile-menu .inner .primary {
      font-size: 1.25em;
      font-weight: bold; }
      #mobile-menu .inner .primary a, #mobile-menu .inner .primary a:active, #mobile-menu .inner .primary a:visited, #mobile-menu .inner .primary a:hover {
        color: #102E5A;
        text-decoration: none; }
      #mobile-menu .inner .primary a.button, #mobile-menu .inner .primary .pagination a, .pagination #mobile-menu .inner .primary a, #mobile-menu .inner .primary a.button:active, #mobile-menu .inner .primary .pagination a:active, .pagination #mobile-menu .inner .primary a:active, #mobile-menu .inner .primary a.button:visited, #mobile-menu .inner .primary .pagination a:visited, .pagination #mobile-menu .inner .primary a:visited, #mobile-menu .inner .primary a.button:hover, #mobile-menu .inner .primary .pagination a:hover, .pagination #mobile-menu .inner .primary a:hover {
        display: block;
        width: 100%;
        padding-left: 0;
        padding-right: 0;
        text-align: center;
        font-size: .5em;
        color: #FFF; }
        #mobile-menu .inner .primary a.button:hover, #mobile-menu .inner .primary .pagination a:hover, .pagination #mobile-menu .inner .primary a:hover, #mobile-menu .inner .primary a.button:active:hover, #mobile-menu .inner .primary .pagination a:active:hover, .pagination #mobile-menu .inner .primary a:active:hover, #mobile-menu .inner .primary a.button:visited:hover, #mobile-menu .inner .primary .pagination a:visited:hover, .pagination #mobile-menu .inner .primary a:visited:hover, #mobile-menu .inner .primary a.button:hover:hover, #mobile-menu .inner .primary .pagination a:hover:hover, .pagination #mobile-menu .inner .primary a:hover:hover {
          color: #FFF;
          background: #102E5A; }
    #mobile-menu .inner .secondary a, #mobile-menu .inner .secondary a:active, #mobile-menu .inner .secondary a:visited, #mobile-menu .inner .secondary a:hover {
      color: #102E5A;
      text-decoration: none; }
  @media only screen and (max-width: 525px) {
    #mobile-menu {
      top: 80px; } }

/* --- Add to Cart Popup --- */
#cart-add-popup {
  position: fixed;
  z-index: 11;
  width: 400px;
  padding: 2em;
  background: #FFF;
  text-align: left;
  border-bottom: 3px solid #102E5A;
  border-bottom-left-radius: 5px;
  border-bottom-right-radius: 5px;
  box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.1);
  -moz-box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.1);
  -webkit-box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.1);
  -o-box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.1);
  -ms-box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.1);
  filter: alpha(opacity=0);
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
  -moz-opacity: 0;
  -khtml-opacity: 0;
  opacity: 0;
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box; }
  #cart-add-popup label {
    display: block;
    margin-bottom: .25em;
    font-weight: bold;
    font-size: .75em; }
  #cart-add-popup p {
    margin-bottom: 0;
    font-size: .8em;
    text-transform: none; }
    #cart-add-popup p.title {
      margin-bottom: 0; }
    #cart-add-popup p.subtitle {
      margin-bottom: 1em; }
    #cart-add-popup p.subtotal {
      margin-bottom: 1.5em;
      font-weight: bold;
      font-size: .9em; }
  #cart-add-popup .cart-add-buttons {
    display: flex;
    align-items: center;
    gap: .5rem; }
    #cart-add-popup .cart-add-buttons .button, #cart-add-popup .cart-add-buttons .pagination a, .pagination #cart-add-popup .cart-add-buttons a {
      font-size: .6rem; }
  @media only screen and (max-width: 472px) {
    #cart-add-popup {
      right: 0;
      max-width: 100vw; } }

/* --- Page Structure --- */
#page-header {
  position: relative;
  padding: calc(10vw + 130px) 0 10vw 0;
  background-color: #972140;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  -moz-font-smoothing: antialiased;
  -webkit-font-smoothing: antialiased;
  -o-font-smoothing: antialiased;
  -ms-font-smoothing: antialiased; }
  #page-header .lucy-wrapper, #page-header #layout-7030 {
    position: relative;
    z-index: 1; }
  #page-header h1 {
    margin-bottom: .25em;
    color: #FFF; }
  #page-header p {
    color: #FFF; }
    #page-header p:last-child {
      margin-bottom: 0; }
  #page-header:after {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 300px;
    background: transparent url(../images/page-header-gradient.png) repeat-x bottom left;
    background-size: auto 300px;
    content: ''; }
  @media only screen and (max-width: 1125px) {
    #page-header [class*='span'] {
      width: 75% !important; } }
  @media only screen and (max-width: 910px) {
    #page-header .row {
      margin: 0 !important; }
    #page-header [class*='span'] {
      width: 100% !important;
      margin: 0 !important; } }
  @media only screen and (max-width: 525px) {
    #page-header {
      padding: 100px 0 45px 0; } }

.page-header-wrapper {
  position: relative;
  z-index: 9;
  padding-top: .5rem;
  border-top: 1px solid #D8D8D8; }
  .page-header-wrapper .inner {
    display: flex;
    justify-content: space-between;
    font-size: clamp(10px, 0.65rem, 0.65rem); }

.trail ol {
  display: flex;
  align-items: center;
  gap: .5rem;
  margin: 0;
  padding: 0;
  list-style: none;
  max-width: calc(100vw - (var(--gutter_x) * 2) - 55px - var(--page_border_width));
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap; }

.trail li:not(:last-child)::after {
  display: inline-block;
  margin-left: .5rem;
  font-size: .3rem;
  content: "\e939";
  font-family: 'icomoon' !important;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  vertical-align: middle;
  transform: translateY(-0.06rem);
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

.trail a {
  text-decoration: none;
  color: #102E5A; }
  .trail a:hover, .trail a:focus {
    text-decoration: underline; }

.page-header-wrapper:has(.page-actions a) .trail ol {
  max-width: calc(100vw - (var(--gutter_x) * 2) - 170px - var(--page_border_width)); }

.page-actions {
  display: flex;
  gap: .75rem; }
  .page-actions .action-icon {
    margin-right: .2rem;
    font-size: .5rem; }
  .page-actions svg {
    width: .5rem;
    height: .5rem;
    margin-top: .2rem;
    margin-right: .2rem; }
    .page-actions svg g {
      fill: #102E5A; }
    @media only screen and (max-width: 910px) {
      .page-actions svg {
        margin-top: .25rem; } }
  .page-actions a {
    text-decoration: none;
    color: #102E5A; }

.hero-container.has-image .page-actions svg g {
  fill: #FFF; }

/* --- Support Callout --- */
#footer-support-callout {
  padding: 6em 0;
  background: #102E5A;
  -moz-font-smoothing: antialiased;
  -webkit-font-smoothing: antialiased;
  -o-font-smoothing: antialiased;
  -ms-font-smoothing: antialiased; }
  @media only screen and (max-width: 1125px) {
    #footer-support-callout {
      padding: 5em 0; } }
  @media only screen and (max-width: 910px) {
    #footer-support-callout {
      padding: 4em 0; } }
  @media only screen and (max-width: 525px) {
    #footer-support-callout {
      padding: 3em 0; } }
  #footer-support-callout h2, #footer-support-callout p, #footer-support-callout p.subtitle {
    color: #FFF; }
  #footer-support-callout h2 {
    margin-bottom: 0; }
  #footer-support-callout .span14 p {
    position: absolute;
    top: 50%;
    left: 1em;
    width: calc(100% - 1em);
    margin: 0;
    padding-right: 1em;
    box-sizing: border-box;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
    transform: translate(0, -50%);
    perspective: 1000px;
    -moz-transform: translate(0, -50%);
    -moz-perspective: 1000;
    -webkit-transform: translate(0, -50%);
    -webkit-perspective: 1000;
    -o-transform: translate(0, -50%);
    -o-perspective: 1000;
    -ms-transform: translate(0, -50%);
    -ms-perspective: 1000; }
  #footer-support-callout .button, #footer-support-callout .pagination a, .pagination #footer-support-callout a {
    display: block;
    width: 100%;
    margin-top: .5em;
    padding-left: 0;
    padding-right: 0;
    text-align: center;
    color: #102E5A;
    background-color: #FFF; }
    #footer-support-callout .button:hover, #footer-support-callout .pagination a:hover, .pagination #footer-support-callout a:hover {
      color: #FFF;
      background: #102E5A; }
  #footer-support-callout .border-right {
    border-color: rgba(255, 255, 255, 0.25); }
  @media only screen and (max-width: 1125px) {
    #footer-support-callout .border-right {
      border: none; }
    #footer-support-callout h2 {
      font-size: 2.5em; } }
  @media only screen and (max-width: 910px) {
    #footer-support-callout [class*='span'] {
      width: 100% !important; }
    #footer-support-callout h2 {
      margin-bottom: .5em; }
    #footer-support-callout .span14 p {
      position: relative;
      top: auto;
      left: auto;
      margin: 0 0 1em 0;
      transform: translate(0, 0);
      perspective: 1000px;
      -moz-transform: translate(0, 0);
      -moz-perspective: 1000;
      -webkit-transform: translate(0, 0);
      -webkit-perspective: 1000;
      -o-transform: translate(0, 0);
      -o-perspective: 1000;
      -ms-transform: translate(0, 0);
      -ms-perspective: 1000; } }

/* --- Footer Callouts --- */
.callout {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin: 2rem 0;
  color: #FFF;
  text-align: left;
  background-color: #102E5A;
  background-image: linear-gradient(rgba(16, 46, 90, 0.95), rgba(16, 46, 90, 0.85)), url(/images/callout-bg.svg);
  border-radius: .5rem; }
  .callout:hover, .callout:focus {
    background-image: linear-gradient(rgba(16, 46, 90, 0.9), rgba(16, 46, 90, 0.8)), url(/images/callout-bg.svg); }
  .callout.img-callout {
    justify-content: flex-start;
    align-items: stretch;
    padding: 0; }
    .callout.img-callout .img-wrapper {
      position: relative;
      width: 16rem;
      flex-shrink: 0; }
      .callout.img-callout .img-wrapper img {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: center; }
    .callout.img-callout .callout-content {
      max-width: none;
      box-sizing: border-box;
      padding: 2rem 4rem; }
    @media only screen and (max-width: 910px) {
      .callout.img-callout {
        flex-wrap: wrap; }
        .callout.img-callout .img-wrapper {
          width: 100%; }
          .callout.img-callout .img-wrapper img {
            position: static;
            max-height: 20rem; } }
  .callout .callout-content {
    max-width: 20rem;
    padding: 2rem; }
    .callout .callout-content + a {
      margin-right: 2rem; }
  .callout .callout-title {
    font-size: 1.2rem;
    letter-spacing: 0;
    line-height: 1.33;
    margin-bottom: .5rem; }
    .callout .callout-title + p {
      font-size: 0.9rem; }
  .callout.account-callout {
    width: 100%;
    box-sizing: border-box; }
    .callout.account-callout h2 {
      margin-bottom: 0; }
    .callout.account-callout .aside-actions {
      margin-block-start: 1rem; }
      .callout.account-callout .aside-actions a, .callout.account-callout .aside-actions button {
        display: block;
        margin-block-end: .5rem; }
    .callout.account-callout .callout-links {
      display: flex;
      justify-content: space-between;
      flex-wrap: wrap;
      gap: .25rem;
      width: 100%;
      padding: .25rem 0; }
      .callout.account-callout .callout-links a, .callout.account-callout .callout-links button {
        font-family: franklin-gothic-urw, Helvetica, Arial, sans-serif;
        font-size: 20px;
        letter-spacing: 0.002rem;
        line-height: 1.5;
        display: flex;
        align-items: center;
        gap: .25rem;
        color: #FFF;
        font-size: 1rem; }
  .callout.share-page-callout h2 {
    margin: 0; }
  .callout.share-page-callout .callout-content {
    max-width: none;
    width: 100%; }
  .callout.share-page-callout .callout-content-level {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%; }
    @media only screen and (max-width: 525px) {
      .callout.share-page-callout .callout-content-level {
        flex-wrap: wrap;
        gap: 1rem; } }
  .callout.share-page-callout .share-icons-wrapper {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 1rem;
    padding: 0;
    list-style: none; }
    .callout.share-page-callout .share-icons-wrapper li {
      transition: transform .2s; }
      .callout.share-page-callout .share-icons-wrapper li:hover, .callout.share-page-callout .share-icons-wrapper li:focus-within {
        transform: scale(1.1); }
    .callout.share-page-callout .share-icons-wrapper span {
      font-size: 1.3rem; }
    .callout.share-page-callout .share-icons-wrapper .icon-email {
      position: relative;
      top: -1px;
      font-size: 1rem; }
    @media only screen and (max-width: 525px) {
      .callout.share-page-callout .share-icons-wrapper {
        justify-content: start; } }
  .callout a {
    color: #FFF;
    text-decoration: none; }
  @media only screen and (max-width: 525px) {
    .callout {
      flex-wrap: wrap; }
      .callout .callout-content + a {
        margin: 0 2rem 2rem 2rem; } }

/* --- Footer --- */
.footer {
  font-size: 0.8rem; }
  .footer .home-section-heading {
    margin-bottom: 1rem; }
  .footer a {
    color: #FFF;
    text-decoration: none; }
    .footer a:hover, .footer a:focus {
      text-decoration: underline; }
  .footer ul {
    margin: 0;
    padding: 0;
    list-style: none; }

.footer-addr {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
  margin-bottom: 1.85rem; }
  .footer-addr h3 {
    font-family: franklin-gothic-urw, Helvetica, Arial, sans-serif;
    font-size: 20px;
    letter-spacing: 0.002rem;
    line-height: 1.5;
    font-size: 0.8rem;
    font-weight: 600; }

.footer-nav {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  background-color: #102E5A; }
  .footer-nav h2 {
    font-size: 1.2rem;
    letter-spacing: 0;
    line-height: 1.33;
    margin-bottom: 1rem; }
  .footer-nav ul {
    margin: 0 0 1.7rem; }
  @media only screen and (max-width: 870px) {
    .footer-nav {
      grid-template-columns: 1fr 1fr; } }
  @media only screen and (max-width: 525px) {
    .footer-nav {
      display: none; } }

.quick-nav-container {
  display: none; }
  @media only screen and (max-width: 525px) {
    .quick-nav-container {
      display: block; } }

.footer-copyright-wrapper {
  display: flex;
  align-items: center;
  gap: 2rem 4rem;
  padding: 2.6rem 0;
  font-size: 0.7rem; }
  .footer-copyright-wrapper p {
    margin: .2rem 0 0; }
  .footer-copyright-wrapper span {
    font-size: 1.1rem; }
  .footer-copyright-wrapper a:not(.button) {
    color: #102E5A; }
  .footer-copyright-wrapper .icon-design-by-form-short {
    display: block;
    margin-top: .1rem; }
  .footer-copyright-wrapper .button, .footer-copyright-wrapper .pagination a, .pagination .footer-copyright-wrapper a {
    margin-left: auto; }
    @media only screen and (max-width: 910px) {
      .footer-copyright-wrapper .button, .footer-copyright-wrapper .pagination a, .pagination .footer-copyright-wrapper a {
        margin-left: 0; } }
  @media only screen and (max-width: 910px) {
    .footer-copyright-wrapper {
      flex-wrap: wrap;
      justify-content: center;
      padding: 1.75rem 0;
      gap: 1.75rem; } }

.social-nav ul {
  display: flex;
  align-items: center;
  gap: .5rem 1rem; }
  .social-nav ul li {
    font-size: 1.1rem;
    color: #FFF; }
  .social-nav ul .rss {
    display: block;
    width: 1rem; }
    .social-nav ul .rss svg {
      width: 100%; }

.sign-up-section {
  padding: var(--gutter_y) 0;
  color: #FFF;
  background-image: linear-gradient(32deg, #00132E 26%, rgba(0, 19, 46, 0) 63%), url(/images/newsletter-bg.jpg);
  background-size: cover;
  background-position: center right; }
  .sign-up-section p {
    margin-bottom: 1em;
    font-family: le-monde-journal-std-2, Helvetica, Arial, sans-serif;
    font-weight: 400;
    font-size: 3rem;
    letter-spacing: 0.0013rem;
    line-height: 1.03;
    margin: 0;
    max-width: 25ch; }
    @media only screen and (max-width: 910px) {
      .sign-up-section p {
        font-size: 2.5rem; } }
    .sign-up-section p.body {
      font-size: 1rem;
      max-width: none; }

.explore-news {
  padding: var(--gutter_y) 0;
  border-top: 1px solid #D8D8D8; }
  .explore-news .category {
    font-family: franklin-gothic-urw, Helvetica, Arial, sans-serif;
    font-size: 0.7rem;
    font-weight: bold;
    letter-spacing: 0.0635rem;
    line-height: 1.7;
    text-transform: uppercase;
    display: block;
    color: #972140; }
  .explore-news h3 {
    font-size: 1.8rem;
    letter-spacing: 0;
    line-height: 1.16; }
  .explore-news a {
    text-decoration: none;
    font-weight: 600; }
  .explore-news .gap-content {
    --gap: 1rem; }
  .explore-news .listing-grid {
    gap: 1rem 1rem;
    --columns: 1fr 1fr; }
    .explore-news .listing-grid .article {
      border: none; }
      .explore-news .listing-grid .article:hover, .explore-news .listing-grid .article:focus-within {
        color: #972140; }
        .explore-news .listing-grid .article:hover h3, .explore-news .listing-grid .article:focus-within h3 {
          text-decoration: underline; }
    @media only screen and (max-width: 670px) {
      .explore-news .listing-grid {
        --columns: 1fr; } }

#fixed-callout, #email-signup-fixed {
  position: fixed;
  z-index: 10;
  bottom: 20px;
  right: 20px;
  width: clamp(380px, 19.5rem, 90vw);
  padding: 2.11rem 2.11rem 1rem;
  background: #FFF;
  box-sizing: border-box;
  box-shadow: 0 12px 22px rgba(0, 0, 0, 0.2);
  border-radius: 6px; }
  #fixed-callout[inert], #email-signup-fixed[inert] {
    opacity: 0; }
  #fixed-callout > div, #email-signup-fixed > div {
    position: relative; }
  #fixed-callout h2, #email-signup-fixed h2 {
    font-family: franklin-gothic-urw, Helvetica, Arial, sans-serif;
    font-size: 0.7rem;
    font-weight: bold;
    letter-spacing: 0.0635rem;
    line-height: 1.7;
    text-transform: uppercase;
    padding-right: 2rem;
    box-sizing: border-box; }
  #fixed-callout .fields-grid, #email-signup-fixed .fields-grid {
    gap: 20px; }
  #fixed-callout .centered, #email-signup-fixed .centered {
    text-align: center; }
  #fixed-callout .fixed-popup-close, #email-signup-fixed .fixed-popup-close {
    position: absolute;
    top: 0;
    right: 0; }
  #fixed-callout .button, #fixed-callout .pagination a, .pagination #fixed-callout a, #email-signup-fixed .button, #email-signup-fixed .pagination a, .pagination #email-signup-fixed a {
    width: 100%;
    margin-bottom: .5rem; }
  @media only screen and (max-width: 525px) {
    #fixed-callout, #email-signup-fixed {
      bottom: 0;
      right: 0; } }

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

.bg-contain {
  padding-top: 1px;
  padding-bottom: 1px; }

:where(:is(.front, #lucy-page-template)) .section {
  margin-top: var(--gutter_y);
  margin-bottom: var(--gutter_y); }

.grid-offset {
  display: grid;
  grid-template-columns: var(--offset-grid-cols);
  gap: var(--offset-grid-gap); }
  .grid-offset.v-center {
    align-items: center; }
  @media only screen and (max-width: 910px) {
    .grid-offset {
      --offset-grid-cols: 1fr; } }

.gap-content {
  --gap: 2rem;
  display: grid;
  gap: var(--gap);
  justify-items: start;
  align-content: baseline;
  width: 100%; }
  .gap-content > * {
    margin: 0; }
  @media only screen and (max-width: 525px) {
    .gap-content {
      --gap: 1.5rem; } }

.content-wrap {
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
  gap: 0.6rem; }
  .content-wrap.v-center {
    align-items: center; }

.hero-container {
  position: relative;
  width: 100%;
  margin-bottom: var(--gutter_y);
  padding-top: var(--fixed_total_space);
  color: #102E5A;
  box-sizing: border-box;
  background-color: #F0F7FC;
  -moz-font-smoothing: antialiased;
  -webkit-font-smoothing: antialiased;
  -o-font-smoothing: antialiased;
  -ms-font-smoothing: antialiased; }
  .hero-container.blog-detail .hero-heading {
    font-size: 3rem;
    max-width: 30ch; }
  .hero-container.marginless {
    margin: 0; }
  .hero-container.has-image {
    color: #FFF;
    background-color: #102E5A; }
    .hero-container.has-image::before {
      position: absolute;
      z-index: 1;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background-image: linear-gradient(180deg, rgba(0, 19, 46, 0.9) 1%, rgba(0, 19, 46, 0) 37%), linear-gradient(12deg, #00132E 12%, rgba(0, 19, 46, 0) 65%);
      content: ''; }
    .hero-container.has-image .page-header-wrapper a, .hero-container.has-image .back-link {
      color: #FFF; }
  .hero-container .hero-outer:has(.hero-small-image) {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 2rem; }
    .hero-container .hero-outer:has(.hero-small-image) .hero-small-image {
      z-index: 1;
      justify-self: end; }
    @media only screen and (max-width: 910px) {
      .hero-container .hero-outer:has(.hero-small-image) {
        grid-template-columns: 1fr; }
        .hero-container .hero-outer:has(.hero-small-image) .hero-small-image {
          justify-self: start; } }
  .hero-container .hero-inner {
    padding: 3rem 0 3.85rem;
    box-sizing: border-box; }
    @media only screen and (max-width: 525px) {
      .hero-container .hero-inner {
        padding: 3rem 0; } }
  .hero-container .gap-content {
    --gap: .5rem;
    position: relative;
    z-index: 1; }
  .hero-container.home {
    margin-bottom: 0;
    padding-top: 0; }
    .hero-container.home .hero-inner {
      padding-top: clamp(var(--header_height), 28.4rem, 40vh); }
      @media only screen and (max-width: 525px) {
        .hero-container.home .hero-inner {
          padding-top: clamp(calc(var(--header_height) + 20px), 28.4rem, 25vh); } }
    .hero-container.home .gap-content {
      --gap: 1rem; }

.back-link {
  margin-bottom: 1em;
  font-family: le-monde-journal-std-2, Helvetica, Arial, sans-serif;
  font-weight: 400;
  font-size: 1.2rem;
  letter-spacing: 0;
  line-height: 1.33;
  color: #102E5A;
  text-decoration: none;
  margin: 0; }
  .back-link svg {
    width: 16px;
    transform: rotate(180deg); }

.hero-img, .hero-video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover; }
  .hero-img.mobile-only, .hero-video.mobile-only {
    display: none; }
    @media only screen and (max-width: 525px) {
      .hero-img.mobile-only, .hero-video.mobile-only {
        display: block; } }

.hero-heading {
  max-width: 24ch; }
  @media only screen and (max-width: 910px) {
    .hero-heading {
      font-size: 3.5rem;
      max-width: none; } }
  @media only screen and (max-width: 525px) {
    .hero-heading {
      font-size: 3rem; } }

.hero-subheading {
  margin: .5rem 0 0;
  max-width: 50ch; }

.hero-section-heading {
  margin-bottom: 1em;
  font-family: le-monde-journal-std-2, Helvetica, Arial, sans-serif;
  font-weight: 400;
  font-size: 1.2rem;
  letter-spacing: 0;
  line-height: 1.33;
  margin: 0; }

.hero-body {
  max-width: 50ch; }

.hero-bottom {
  margin-top: 1rem; }

.slider {
  display: grid;
  gap: var(--offset-grid-gap);
  grid-template-columns: var(--offset-grid-cols);
  grid-template-rows: auto 1fr 3rem;
  grid-template-areas: "heading img" "content img" "controls img"; }
  @media only screen and (max-width: 910px) {
    .slider {
      --offset-grid-cols: 1fr;
      --offset-grid-gap: 1rem;
      grid-template-rows: auto;
      grid-template-areas: "heading" "img" "controls" "content"; } }

.slider-heading {
  grid-area: heading;
  font-size: 1.2rem;
  letter-spacing: 0;
  line-height: 1.33;
  margin: 0; }

.slider-images {
  grid-area: img;
  align-self: center;
  overflow-x: hidden;
  border-radius: 0.4rem; }
  .slider-images .slider-axis {
    display: grid;
    grid-auto-columns: 100%;
    grid-template-areas: "slide";
    align-items: center;
    transform: translateX(-50%); }
  .slider-images .slider-image {
    grid-area: slide;
    z-index: 2;
    transform: translateX(-50%);
    transition: 1s transform; }
    .slider-images .slider-image.current {
      transform: translateX(50%); }
      .slider-images .slider-image.current ~ .slider-image {
        transform: translateX(100%); }
    .slider-images .slider-image.current {
      z-index: 4; }
      .slider-images .slider-image.current + .slider-image {
        z-index: 3; }
    .slider-images .slider-image.scroll-out {
      z-index: 5; }

.slider-content {
  grid-area: content;
  align-self: center; }
  .slider-content .content-heading {
    font-size: 3rem;
    letter-spacing: 0.0013rem;
    line-height: 1.03;
    -moz-font-smoothing: antialiased;
    -webkit-font-smoothing: antialiased;
    -o-font-smoothing: antialiased;
    -ms-font-smoothing: antialiased; }
    @media only screen and (max-width: 910px) {
      .slider-content .content-heading {
        font-size: 2.4rem;
        letter-spacing: 0;
        line-height: 1.04; } }
  .slider-content > div {
    opacity: 1; }
  .slider-content > div:not(:first-child) {
    display: none;
    opacity: 0; }

.slider-controls {
  grid-area: controls;
  display: flex;
  gap: 1rem; }
  .slider-controls .circle-button span {
    font-size: .6rem; }

.listing-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  margin-bottom: 1.5rem; }
  .listing-header .listing-heading {
    font-size: 1.2rem;
    letter-spacing: 0;
    line-height: 1.33; }
  .listing-header > * {
    margin: 0; }
  .listing-header a {
    color: #972140;
    text-decoration: none;
    font-size: 0.9rem;
    line-height: 1.2;
    font-weight: 600; }

.listing-grid {
  --columns: 1fr 1fr 1fr 1fr;
  display: grid;
  grid-template-columns: var(--columns);
  margin-left: -2rem;
  margin-right: -2rem;
  overflow: hidden; }
  .listing-grid .article {
    --margin-bottom: 2rem;
    position: relative;
    right: -1px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.75rem;
    margin-bottom: var(--margin-bottom);
    padding: 0 2rem;
    border-right: 1px solid #D8D8D8;
    box-sizing: border-box; }
    .listing-grid .article:last-child {
      border: none; }
  @media only screen and (max-width: 718px) {
    .listing-grid {
      margin-left: -1rem;
      margin-right: -1rem; }
      .listing-grid .article {
        padding: 0 1rem; } }
  @media only screen and (max-width: 525px) {
    .listing-grid {
      --columns: 1fr; } }

.block-list .article {
  margin-bottom: 2rem;
  padding-bottom: 2rem;
  border-bottom: 1px solid #D8D8D8; }
  .block-list .article .article-heading {
    margin-bottom: 1em;
    font-family: le-monde-journal-std-2, Helvetica, Arial, sans-serif;
    font-weight: 400;
    font-size: 1.2rem;
    letter-spacing: 0;
    line-height: 1.33;
    font-weight: 600; }
    .block-list .article .article-heading.dark-link a {
      color: #102E5A;
      text-decoration: none; }
      .block-list .article .article-heading.dark-link a:hover, .block-list .article .article-heading.dark-link a:focus {
        color: #972140;
        text-decoration: underline; }
  .block-list .article :last-child {
    margin: 0; }

.listing-grid-featured {
  grid-template-columns: var(--offset-grid-cols-reverse);
  margin-bottom: 2rem; }
  .listing-grid-featured .article {
    margin-bottom: 0; }
  .listing-grid-featured img {
    aspect-ratio: 16 / 9;
    border-radius: 0.4rem; }
  @media only screen and (min-width: 760px) {
    .listing-grid-featured .article:first-child {
      grid-row: 1 / 4; }
      .listing-grid-featured .article:first-child .article-heading {
        font-size: 2.4rem;
        letter-spacing: 0;
        line-height: 1.04; }
      .listing-grid-featured .article:first-child p {
        margin: 0; } }
  .listing-grid-featured hr {
    margin: 0 2rem;
    border-top: 1px solid #D8D8D8; }
  @media only screen and (max-width: 760px) {
    .listing-grid-featured {
      grid-template-columns: 1fr; }
      .listing-grid-featured .article-heading {
        margin-bottom: 3rem; } }

.article-heading {
  margin: 0;
  line-height: 1.2;
  font-size: 1rem;
  font-weight: 800; }

.listing-terms dt, .aside-heading {
  margin-bottom: 1em;
  font-family: le-monde-journal-std-2, Helvetica, Arial, sans-serif;
  font-weight: 400;
  font-size: 1.2rem;
  letter-spacing: 0;
  line-height: 1.33;
  margin-bottom: .25rem; }

.listing-terms a {
  color: #972140; }

.filter-form {
  position: relative; }
  .filter-form .filter-submit-wrapper {
    position: fixed;
    bottom: 0;
    display: none;
    width: 17.278rem;
    padding: 1rem 0 1rem;
    background-image: linear-gradient(transparent, #FFF 25%, #FFF);
    opacity: 1;
    transition: .2s opacity; }
    .filter-form .filter-submit-wrapper:has(.filter-submit.visible) {
      display: block; }
    .filter-form .filter-submit-wrapper.fade-out {
      opacity: 0;
      pointer-events: none; }
    @media only screen and (max-width: 910px) {
      .filter-form .filter-submit-wrapper {
        position: static; } }
  .filter-form .filter-submit {
    opacity: 0;
    transition: opacity .2s;
    pointer-events: none; }
    .filter-form .filter-submit.visible {
      opacity: 1;
      pointer-events: initial; }

.login-button span {
  font-size: 1rem; }

.block-link {
  position: relative; }
  .block-link a[href]::after {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0; }
  .block-link a .tag {
    position: relative;
    z-index: 1; }

.tag {
  display: inline-block;
  padding: .3rem .5rem .25rem;
  color: #972140;
  font-size: 0.55rem;
  font-weight: 600;
  letter-spacing: 0.07rem;
  text-transform: uppercase;
  text-decoration: none;
  line-height: 1.2;
  border: 2px solid #972140;
  border-radius: 0.65rem;
  -moz-font-smoothing: antialiased;
  -webkit-font-smoothing: antialiased;
  -o-font-smoothing: antialiased;
  -ms-font-smoothing: antialiased; }

a .tag:hover, a .tag:focus {
  background-color: #972140;
  color: #FFF; }

.featured-tag {
  position: absolute;
  top: -.8rem;
  right: 0;
  display: flex;
  align-items: center;
  gap: .5rem;
  padding: .3rem .5rem .25rem;
  border: 2px solid #102E5A;
  line-height: 1.2;
  border-radius: 1.65rem;
  pointer-events: none; }
  .featured-tag .tag-icon {
    color: #972140; }
  .featured-tag .tag-label {
    font-family: franklin-gothic-urw, Helvetica, Arial, sans-serif;
    font-size: 0.7rem;
    font-weight: bold;
    letter-spacing: 0.0635rem;
    line-height: 1.7;
    text-transform: uppercase;
    line-height: 1; }

.expandable {
  width: 100%;
  border-top: 1px solid #D8D8D8; }
  .expandable .expandable-button {
    position: relative;
    margin-bottom: 1em;
    font-family: le-monde-journal-std-2, Helvetica, Arial, sans-serif;
    font-weight: 400;
    font-size: 1.2rem;
    letter-spacing: 0;
    line-height: 1.33;
    display: block;
    width: 100%;
    margin: 0;
    padding: 1.25rem 0;
    text-align: left;
    font-weight: 800; }
    .expandable .expandable-button::after {
      position: absolute;
      top: 50%;
      right: 0;
      font-size: .35rem;
      transform: translateY(-50%) rotate(-90deg);
      content: "\e93e"; }
  .expandable > div {
    height: 0;
    overflow: hidden;
    box-sizing: border-box; }
  .expandable.expanded {
    padding-bottom: 1.5rem; }
    .expandable.expanded .expandable-button::after {
      transform: translateY(-50%) rotate(0deg); }
  .expandable.expanded > div {
    padding-top: .2rem;
    padding-left: .2rem;
    height: auto; }
  .expandable input[type=text], .expandable input[type=email], .expandable input[type=tel], .expandable input[type=password], .expandable textarea, .expandable select, .expandable .field {
    width: 100%;
    margin: 0; }
  .expandable .gap-content {
    --gap: 0.75rem; }
  .expandable .check-item {
    display: flex;
    align-items: baseline;
    margin-bottom: .5rem; }
    .expandable .check-item label {
      position: relative;
      top: -.15rem;
      line-height: 1.2; }
    .expandable .check-item input {
      flex-shrink: 0; }

.heading {
  margin-bottom: 1em;
  font-family: le-monde-journal-std-2, Helvetica, Arial, sans-serif;
  font-weight: 400;
  margin: 0; }

.gutter-y {
  margin-top: var(--gutter_y);
  margin-bottom: var(--gutter_y); }

.gutter-y-t {
  margin-top: var(--gutter_y); }

.gutter-y-b {
  margin-bottom: var(--gutter_y); }

.animate-children-in > *, .animate-in {
  opacity: 0;
  transition: transform .6s ease-out, opacity .6s ease-out;
  transform: translateY(-3rem); }

.animate-children-in .visible, .animate-in.visible {
  opacity: 1;
  transform: translateY(0); }

#lucy-page-template-inner .animate-children-in > *, #lucy-page-template-inner .animate-in {
  opacity: 1;
  transform: translateY(0); }

.bg-letter-container {
  position: relative; }

.bg-letter {
  position: absolute; }
  .bg-letter:nth-child(even) {
    right: 0; }
  .bg-letter:nth-child(2) {
    top: calc(50% - 274px); }
  .bg-letter:nth-child(3) {
    bottom: 542px; }

.reverse-underline, .no-underline {
  text-decoration: none; }

.reverse-underline:hover {
  text-decoration: underline; }

.message-block {
  display: flex;
  align-items: center;
  gap: 1.25rem;
  width: 100%;
  padding: 1rem 1.1rem;
  color: #FFF;
  border-radius: 0.3rem;
  box-sizing: border-box; }
  .message-block .message-block-left {
    display: flex;
    align-items: center;
    gap: .5rem;
    flex-shrink: 0; }
    .message-block .message-block-left span {
      margin-bottom: 1em;
      font-family: le-monde-journal-std-2, Helvetica, Arial, sans-serif;
      font-weight: 400;
      font-family: franklin-gothic-urw, Helvetica, Arial, sans-serif;
      font-size: 0.7rem;
      font-weight: bold;
      letter-spacing: 0.0635rem;
      line-height: 1.7;
      text-transform: uppercase;
      margin: 0; }
  .message-block p {
    font-size: .8rem;
    margin-bottom: 0; }
  .message-block a {
    color: #FFF; }

.is-locked {
  display: inline-block;
  width: 1rem; }
  .is-locked svg {
    fill: #102E5A; }

#vertical-nav-content .is-locked, .footer .is-locked {
  width: .8rem; }

.footer .is-locked svg {
  width: .6rem;
  fill: #FFF; }

.job-credits-grid {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 1rem; }
  @media only screen and (max-width: 750px) {
    .job-credits-grid {
      grid-template-columns: 1fr; } }

.credit-container {
  padding: 2rem 1.8rem;
  border-radius: .4rem;
  border: 1px solid #D8D8D8; }
  .credit-container .credit-header {
    width: 100%;
    text-align: center; }
  .credit-container .credit-title {
    font-family: franklin-gothic-urw, Helvetica, Arial, sans-serif;
    font-size: 20px;
    letter-spacing: 0.002rem;
    line-height: 1.5;
    margin: 0;
    color: #972140;
    font-size: 1.1rem; }
  .credit-container .credit-price {
    font-size: 3rem;
    font-family: le-monde-journal-std-2, Helvetica, Arial, sans-serif; }
    .credit-container .credit-price .dollar {
      position: relative;
      top: 0.3rem;
      font-size: 1.1rem;
      vertical-align: text-top; }
  .credit-container .price-label {
    display: block;
    font-size: 0.7rem;
    font-family: franklin-gothic-urw, Helvetica, Arial, sans-serif; }
  .credit-container form, .credit-container .field, .credit-container .button, .credit-container .pagination a, .pagination .credit-container a {
    width: 100%; }
  .credit-container form {
    margin-top: auto; }
  .credit-container select {
    font-size: .8rem; }
  .credit-container .gap-content {
    display: flex;
    flex-direction: column;
    --gap: 1.8rem;
    height: 100%; }

.credit-benefits {
  margin: 0;
  font-size: 0.7rem;
  list-style: url("/images/icons/checkmark.svg"); }
  .credit-benefits li {
    margin-bottom: .33rem;
    font-size: 0.7rem;
    line-height: 1.5; }
    .credit-benefits li span {
      display: block;
      margin: .33rem 0;
      color: #972140;
      text-transform: uppercase;
      font-size: .5rem;
      font-weight: 600;
      letter-spacing: 1px; }

.membership-cards-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem; }
  .membership-cards-grid .member-card-container {
    padding: 2rem 1.8rem;
    border-radius: .4rem;
    border: 1px solid #D8D8D8; }
    .membership-cards-grid .member-card-container .card-header {
      width: 100%;
      text-align: center; }
    .membership-cards-grid .member-card-container .member-card-title {
      font-family: franklin-gothic-urw, Helvetica, Arial, sans-serif;
      font-size: 20px;
      letter-spacing: 0.002rem;
      line-height: 1.5;
      margin: 0;
      color: #972140;
      font-size: 1.1rem; }
    .membership-cards-grid .member-card-container .member-card-price {
      font-size: 3rem;
      font-family: le-monde-journal-std-2, Helvetica, Arial, sans-serif; }
      .membership-cards-grid .member-card-container .member-card-price .dollar {
        position: relative;
        top: 0.3rem;
        font-size: 1.1rem;
        vertical-align: text-top; }
    .membership-cards-grid .member-card-container .button, .membership-cards-grid .member-card-container .pagination a, .pagination .membership-cards-grid .member-card-container a {
      width: 100%; }
  .membership-cards-grid .member-card-benefits {
    margin: 0;
    font-size: 0.7rem;
    list-style: url("/images/icons/checkmark.svg"); }
    .membership-cards-grid .member-card-benefits li {
      margin-bottom: .33rem;
      font-size: 0.7rem;
      line-height: 1.5; }
      .membership-cards-grid .member-card-benefits li span {
        display: block;
        margin: .33rem 0;
        color: #972140;
        text-transform: uppercase;
        font-size: .5rem;
        font-weight: 600;
        letter-spacing: 1px; }
  .membership-cards-grid .member-cards-gap-content {
    display: flex;
    flex-direction: column;
    gap: 1.8rem;
    height: 100%; }
    @media only screen and (max-width: 800px) {
      .membership-cards-grid .member-cards-gap-content {
        gap: 1rem; } }
  @media only screen and (max-width: 800px) {
    .membership-cards-grid {
      grid-template-columns: 1fr; } }

#membership-form #operating-budget-message {
  display: none;
  text-wrap: balance; }

#membership-form .field:has(#operating-budget-select :last-child:checked) #operating-budget-message {
  display: block; }

#membership-form #add-ons-wrapper {
  border-block-end: 1px solid #D8D8D8;
  padding-block-end: 2rem; }
  #membership-form #add-ons-wrapper .field:not(:last-of-type) .check-item {
    margin-block-end: 1rem; }
  #membership-form #add-ons-wrapper .check-item {
    display: grid;
    grid-template-columns: auto 1fr;
    align-items: baseline;
    gap: .5rem; }

#membership-form .add-on-title {
  font-size: 1.2rem;
  letter-spacing: 0;
  line-height: 1.33;
  font-weight: bold; }
  #membership-form .add-on-title span {
    font-weight: normal; }

#membership-form .add-on-desc {
  display: block; }

#membership-form #total-wrapper {
  margin-block-end: -2rem; }
  #membership-form #total-wrapper p {
    display: block;
    margin: 0;
    font-weight: bold; }
  #membership-form #total-wrapper #total-display {
    font-weight: normal; }

#share-overlay {
  position: fixed;
  justify-content: center;
  align-items: center;
  z-index: 10;
  top: 0;
  left: 0;
  display: none;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.8);
  transition: .2s; }
  #share-overlay.open {
    display: flex; }
    #share-overlay.open #share-container {
      display: block; }

#share-container {
  position: relative;
  display: none;
  width: 22rem;
  padding: 2.5rem;
  color: #FFF;
  box-sizing: border-box;
  border-top-right-radius: 0.4rem;
  border-bottom-right-radius: .4rem;
  border-left: 10px solid #972140;
  background-color: #102E5A;
  transition: .2s; }
  #share-container #close-share-button {
    position: absolute;
    top: 1rem;
    right: 1rem;
    font-size: .8rem; }
  #share-container h2 {
    font-size: 1.2rem;
    letter-spacing: 0;
    line-height: 1.33;
    text-align: center; }
  #share-container ul {
    display: flex;
    gap: 1.66rem;
    justify-content: center;
    align-items: center;
    margin: 0;
    padding: 0;
    list-style: none; }
    #share-container ul li span {
      color: #FFF;
      font-size: 1.5rem; }
    #share-container ul .icon-email {
      position: relative;
      top: .06rem;
      font-size: 1.3rem; }
    #share-container ul a {
      text-decoration: none; }

.g-recaptcha {
  margin-bottom: 2rem; }

:target {
  scroll-margin-top: var(--fixed_total_space); }
