@font-face {
  font-family: "Noto Serif";
  src: url("/assets/fonts/8a9235008bbdad6a.woff2") format("woff2");
  font-style: normal;
  font-weight: 100 900;
  font-stretch: 100%;
  font-display: swap;
}

@font-face {
  font-family: "Noto Serif";
  src: url("/assets/fonts/7d2e87eee4b7afb3.woff2") format("woff2");
  font-style: italic;
  font-weight: 100 900;
  font-stretch: 100%;
  font-display: swap;
}

@font-face {
  font-family: Mulish;
  src: url("/assets/fonts/5892343011d6adfc.woff2") format("woff2");
  font-style: normal;
  font-weight: 200 1000;
  font-display: swap;
}

@font-face {
  font-family: Mulish;
  src: url("/assets/fonts/2078c0071f5ad4d4.woff2") format("woff2");
  font-style: italic;
  font-weight: 200 1000;
  font-display: swap;
}

@font-face {
  font-family: FontAwesome;
  src:
    url("/assets/fonts/b5c70154f6c80cb1.woff") format("woff"),
    url("/assets/fonts/47664a4c9885aa3e.ttf") format("truetype");
  font-style: normal;
  font-weight: 400;
  font-display: block;
}

@font-face {
  font-family: dm-font;
  src:
    url("/assets/fonts/c5116de1680fd86b.woff") format("woff"),
    url("/assets/fonts/85b62d45ba62300a.ttf") format("truetype");
  font-style: normal;
  font-weight: 400;
  font-display: block;
}

:root {
  /* Original source compatibility variables. */
  --color_1: rgba(255, 255, 255, 1);
  --color_2: rgba(51, 51, 51, 1);
  --color_3: rgba(42, 47, 79, 1);
  --color_4: rgba(153, 0, 2, 1);
  --color_5: rgba(248, 248, 248, 1);

  --btn-text-font-size: 17px;
  --btn-text-direction: ltr;
  --btn-border-width: 0px;
  --btn-border-t-width: 0px;
  --btn-border-r-width: 0px;
  --btn-border-b-width: 0px;
  --btn-border-l-width: 0px;
  --btn-border-radius: 6px;
  --btn-border-tl-radius: 6px;
  --btn-border-tr-radius: 6px;
  --btn-border-br-radius: 6px;
  --btn-border-bl-radius: 6px;
  --btn-border-color: rgba(0, 0, 0, 0);
  --btn-border-t-color: rgba(0, 0, 0, 0);
  --btn-border-r-color: rgba(0, 0, 0, 0);
  --btn-border-b-color: rgba(0, 0, 0, 0);
  --btn-border-l-color: rgba(0, 0, 0, 0);
  --btn-bg-color: rgba(153, 0, 2, 1);
  --btn-bg-image: none;
  --btn-text-align: center;
  --btn-text-color: rgb(255, 255, 255);
  --btn-text-decoration: none;
  --btn-text-font-weight: 700;
  --btn-text-font-family: Mulish, "Mulish Fallback", Arial, sans-serif;
  --btn-icon-color: rgb(247, 247, 247);
  --btn-icon-fill: rgb(247, 247, 247);
  --btn-icon-wrpr-display: none;
  --btn-hover-bg: rgba(51, 51, 51, 1);
  --btn-hover-border-color: rgba(0, 0, 0, 0);
  --btn-hover-border-t-color: rgba(0, 0, 0, 0);
  --btn-hover-border-r-color: rgba(0, 0, 0, 0);
  --btn-hover-border-b-color: rgba(0, 0, 0, 0);
  --btn-hover-border-l-color: rgba(0, 0, 0, 0);
  --btn-hover-text-color: rgb(255, 255, 255);
  --btn-hover-text-font-weight: 700;
  --btn-hover-text-decoration: none;
  --btn-hover-text-font-style: unset;

  /* Semantic colors. */
  --surface-primary: #ffffff;
  --text-primary: #333333;
  --brand-navy: #2a2f4f;
  --brand-red: #990002;
  --surface-muted: #f8f8f8;
  --page-shell: #eeeeee;
  --text-secondary: #666666;
  --text-disabled: #999999;
  --surface-footer: #f7f7f7;
  --accent-blue: #464f81;
  --social-neutral: #463939;
  --placeholder: #757575;
  --overlay: rgba(0, 0, 0, 0.4);
  --overlay-strong: rgba(0, 0, 0, 0.5);
  --selection: #ffffff;

  /* Measured ancillary gradients. */
  --grad-instagram: radial-gradient(
    circle at 30% 107%,
    #fdf497 0%,
    #fdf497 5%,
    #fd5949 45%,
    #d6249f 60%,
    #285aeb 90%
  );
  --grad-widget-sheen: linear-gradient(
    135deg,
    rgba(255, 255, 255, 0) 0%,
    rgba(255, 255, 255, 0.13) 48%,
    rgba(255, 255, 255, 0.5) 57%,
    rgba(255, 255, 255, 0) 64%,
    rgba(255, 255, 255, 0) 100%
  );
  --grad-widget-neutral: linear-gradient(to bottom, #eeeeee 0%, #dddddd 100%);

  /* Typography. */
  --font-heading: "Noto Serif", "Noto Serif Fallback", Georgia, serif;
  --font-body: Mulish, "Mulish Fallback", Arial, sans-serif;
  --font-icon: FontAwesome;
  --font-dm-icon: dm-font;
  --font-size-display: 72px;
  --font-size-h2: 42px;
  --font-size-h3: 30px;
  --font-size-h4: 24px;
  --font-size-body: 17px;
  --font-size-body-lead: 18px;
  --font-size-subnav: 15px;
  --font-size-caption: 14px;
  --font-weight-normal: 400;
  --font-weight-medium: 500;
  --font-weight-semibold: 600;
  --font-weight-bold: 700;
  --line-height-display: 93.6px;
  --line-height-h2: 54.6px;
  --line-height-h3: 39px;
  --line-height-h4: 31.2px;
  --line-height-body: 34px;
  --line-height-body-compact: 23.46px;
  --line-height-body-lead: 27px;
  --line-height-button: 22px;
  --line-height-caption: 28px;
  --letter-spacing-nav: 0.51px;
  --letter-spacing-subnav: 0.45px;
  --letter-spacing-lead: 0.9px;

  /* Spacing scale. */
  --space-hairline: 1px;
  --space-1: 2px;
  --space-2: 4px;
  --space-3: 8px;
  --space-4: 10px;
  --space-5: 15px;
  --space-6: 16px;
  --space-7: 20px;
  --space-8: 24px;
  --space-9: 30px;
  --space-10: 40px;
  --space-11: 50px;
  --space-section: 80px;

  /* Radius scale. */
  --radius-xs: 2px;
  --radius-sm: 4px;
  --radius-input: 5px;
  --radius-md: 6px;
  --radius-lg: 15px;
  --radius-xl: 25px;
  --radius-circle: 50%;

  /* Shadows. */
  --shadow-menu: rgba(0, 0, 0, 0.1) 0 3px 11px 0;
  --shadow-card: rgba(0, 0, 0, 0.25) 0 3px 11px 0;
  --shadow-tooltip: rgba(0, 0, 0, 0.25) 0 2px 5px 0;
  --shadow-brand: rgb(42, 47, 79) 0 3px 11px 0;
  --shadow-control:
    rgba(24, 39, 75, 0.3) 0 0 2px 0,
    rgba(24, 39, 75, 0.04) 0 0 3px 0;
  --text-shadow-display: rgb(42, 47, 79) 4px 4px 0;
  --text-shadow-overlay: rgb(0, 0, 0) 2px 2px 2px;

  /* Effects and overlays. */
  --filter-gallery-muted: grayscale(1);
  --backdrop-none: none;
  --overlay-dark-40: rgba(0, 0, 0, 0.4);
  --overlay-navy-45: rgba(42, 47, 79, 0.45);
  --overlay-navy-75: rgba(42, 47, 79, 0.75);

  /* Motion. */
  --ease-out: cubic-bezier(0, 0, 0.58, 1);
  --ease-in-out: cubic-bezier(0.42, 0, 0.58, 1);
  --t-fast: 200ms cubic-bezier(0, 0, 0.58, 1);
  --t-standard: 300ms cubic-bezier(0.42, 0, 0.58, 1);
  --t-accordion: 500ms cubic-bezier(0.42, 0, 0.58, 1);
  --t-menu-transform: 400ms cubic-bezier(0, 0, 0.58, 1);
  --t-menu-opacity: 100ms cubic-bezier(0, 0, 0.58, 1);
  --t-reveal: 1000ms cubic-bezier(0.42, 0, 0.58, 1);

  /* Layout measurements. */
  --content-max: 1200px;
  --section-wide: 1840px;
  --blog-grid-region: 1110px;
  --breakpoint-mobile-max: 767px;
  --breakpoint-tablet-min: 768px;
  --breakpoint-tablet-max: 1024px;
  --breakpoint-desktop-min: 1025px;
  --breakpoint-wide-min: 1400px;
  --modal-z: 1000009999;
}

::placeholder {
  color: var(--placeholder);
  opacity: 1;
}

/* Keep the Services caret and label together at every desktop width. */
.main-navigation.unifiednav .unifiednav__item,
.main-navigation.unifiednav .unifiednav__item-wrap {
  white-space: nowrap;
}

a,
button,
input[type="button"],
input[type="submit"],
[role="button"],
[tabindex]:not([tabindex="-1"]) {
  cursor: pointer;
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible,
[role="button"]:focus-visible,
[tabindex]:not([tabindex="-1"]):focus-visible {
  outline: 3px solid var(--surface-primary) !important;
  outline-offset: 3px !important;
  box-shadow: 0 0 0 2px var(--brand-navy) !important;
}

.dmform input:focus-visible,
.dmform textarea:focus-visible,
.dmform select:focus-visible {
  outline: 2px solid var(--brand-navy) !important;
  outline-offset: 1px !important;
}

a[data-element-type="dButtonLinkId"],
.dmformsubmit input[type="submit"] {
  transition:
    background-color var(--t-fast),
    color var(--t-fast);
}

a[data-element-type="dButtonLinkId"]:hover,
.dmformsubmit input[type="submit"]:hover {
  background-color: var(--btn-hover-bg) !important;
  color: var(--btn-hover-text-color) !important;
}

.main-navigation.unifiednav
  .unifiednav__item-wrap:focus-within
  > .unifiednav__container_sub-nav {
  opacity: 1;
  pointer-events: auto;
  visibility: visible;
}

.layout-drawer-hamburger:focus-visible {
  outline: 3px solid var(--surface-primary) !important;
  outline-offset: 3px !important;
}

.runtime-module-container.psw-drawer-fallback.layout-drawer_open.layout-drawer_push-content {
  transform: translateX(40vw);
}

.runtime-module-container.layout-drawer_open #layout-drawer-overlay {
  display: block;
  opacity: 1;
  pointer-events: auto;
}

.runtime-module-container #hamburger-drawer,
.runtime-module-container #layout-drawer-overlay {
  transition:
    transform var(--t-standard),
    opacity var(--t-fast);
}

.accordion-title,
.accordion-title button {
  cursor: pointer;
}

.accordion-title .arrow,
.accordion-title::before,
.accordion-title::after {
  transition: transform var(--t-accordion);
}

.photoGalleryThumbs .caption-container,
.pswp__button,
.flex-direction-nav a {
  transition: opacity var(--t-fast);
}

.pswp__button:focus-visible,
.flex-direction-nav a:focus-visible {
  outline-color: var(--surface-primary) !important;
}

.psw-foundation-honeypot {
  position: absolute !important;
  left: -10000px !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
}

.dmform.psw-is-submitting {
  cursor: wait;
}

.dmform.psw-is-submitting input[type="submit"] {
  opacity: 0.7;
  pointer-events: none;
}

.dmform .dmform-success,
.dmform .dmform-error {
  font-family: var(--font-body);
}

@keyframes pulse {
  0% {
    transform: scale3d(1, 1, 1);
  }
  50% {
    transform: scale3d(1.05, 1.05, 1.05);
  }
  100% {
    transform: scale3d(1, 1, 1);
  }
}

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

@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translate3d(0, 100%, 0);
  }
  to {
    opacity: 1;
    transform: none;
  }
}

@keyframes slideInUp {
  from {
    transform: translateY(100%);
    visibility: visible;
  }
  to {
    transform: translateY(0);
  }
}

@keyframes spin {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(359deg);
  }
}

@media (max-width: 767px) {
  :root {
    --space-section: 40px;
  }
}

@media (min-width: 768px) and (max-width: 1024px) {
  :root {
    --space-section: 50px;
  }
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}
