/* WordPress compatibility layer for the directly ported Escape Velocity CSS. */
:root { --pdwc-paper: #f4efdf; }
html { background: #222835; }
body { min-height: 100%; position: relative; }
body::after {
  position: absolute; inset: 0; z-index: 9999; pointer-events: none; content: "";
  opacity: .12; mix-blend-mode: multiply;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.72' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.17'/%3E%3C/svg%3E");
}
.wp-site-blocks { overflow: clip; }
.wp-site-blocks > * { margin-block-start: 0; }
.wrapper { margin-block-start: 0; }
.wrapper > .container,
.wrapper > .wp-block-group__inner-container > .container { max-width: none !important; margin-inline: auto; }
.wrapper > .container > *,
.wrapper > .wp-block-group__inner-container > .container > * { max-width: none !important; }
.wrapper > .title,
.wrapper > .wp-block-group__inner-container > .title {
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  transform: translateX(-50%);
}

/* Interior pages need more room inside the compact masthead for the custom
   logo. Extend its background, keeping the first title tab attached to the
   masthead/content boundary instead of introducing a blank page-level gap. */
body:not(.homepage) #header {
  box-sizing: content-box;
  padding-bottom: 4rem;
}
#header .wp-block-site-title,
#header .site-title { margin: 0; font-size: inherit; line-height: inherit; }
#header .wp-block-site-title a,
#header .site-title a { color: #fff; text-decoration: none; }
#header #nav { top: 2.5em; }
#header #nav a { color: inherit; text-decoration: none; }
.menu-toggle { display: none; }
#nav li { position: relative; }
@media screen and (min-width: 981px) {
  #nav li > ul {
    position: absolute; top: 100%; left: 0; z-index: 1000; display: none;
    min-width: 14em; margin: 0; padding: 1.25em 1em;
    list-style: none; text-align: left;
    background: rgba(44,50,63,.96) url("../vendor/escape-velocity/css/images/overlay.png");
    border-radius: 0 0 .35em .35em;
    box-shadow: inset 0 0 1px 1px rgba(255,255,255,.25);
  }
  #nav li:hover > ul,
  #nav li:focus-within > ul { display: block; }
  #nav li > ul ul { top: 0; left: 100%; border-radius: .35em; }
  #nav li > ul li { padding: 0; }
  #nav li > ul a {
    display: block; padding: .65em .5em; color: rgba(255,255,255,.75);
    border-top: 1px solid rgba(255,255,255,.15);
    font-size: .7em; letter-spacing: .2em; line-height: 1.5;
    text-transform: uppercase; white-space: nowrap;
  }
  #nav li > ul li:first-child > a { border-top: 0; }
  #nav li > ul li:hover > a,
  #nav li > ul li:focus-within > a { color: #fff; }
}
.wrapper h1, .wrapper h2, .wrapper h3, .wrapper h4, .wrapper h5, .wrapper h6,
.wrapper .wp-block-site-title { font-family: "Source Sans Pro", sans-serif; }
.feature-list .row { row-gap: 3rem; }
.feature-list .row > * { margin-block-start: 0; }
#features .wp-block-buttons.actions { margin-top: 5em; }
.wp-block-button.button {
  min-width: 0; height: auto; padding: 0; border: 0;
  background: none; box-shadow: none; line-height: normal;
}
.wp-block-button.button > .wp-block-button__link {
  display: inline-block; min-width: 12em; height: 4em; padding: 0 2.25em; border: 0; border-radius: .35em;
  color: #fff; background: #e97770; box-shadow: inset 0 -2px 0 0 rgba(0,0,0,.1);
  font-family: "Source Sans Pro", sans-serif; font-size: .9em; font-weight: 700;
  letter-spacing: .25em; line-height: 4em; text-align: center; text-decoration: none; text-transform: uppercase;
}
.wp-block-button.button.style2 > .wp-block-button__link { color: #484d55; background: #fff; box-shadow: inset 0 0 2px 0 rgba(0,0,0,.5); }
.wp-block-button.button.style3 > .wp-block-button__link { color: #fff; background: #2f333b url("../vendor/escape-velocity/css/images/overlay.png"); }
.wp-block-button.button.large > .wp-block-button__link { min-width: 14em; font-size: 1em; }
.highlight .wp-block-post-featured-image img { display: block; width: 100%; }
.highlight .wp-block-post-title a { color: inherit; text-decoration: none; }
.highlight .wp-block-post-excerpt__more-link { margin-top: 1rem; }
#highlights .wp-block-post-template { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 3rem; }
.pdwc-card-grid,
.pdwc-profile-grid,
.pdwc-resource-grid,
.pdwc-fact-grid { display: grid; gap: 3rem; }
.pdwc-card-grid,
.pdwc-resource-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.pdwc-profile-grid,
.pdwc-fact-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.pdwc-card-grid > *,
.pdwc-profile-grid > *,
.pdwc-resource-grid > *,
.pdwc-fact-grid > * { min-width: 0; margin-block-start: 0; }
.pdwc-card-grid .highlight,
.pdwc-profile-grid .highlight,
.pdwc-resource-grid .highlight { height: 100%; }
.pdwc-profile-grid .wp-block-image img,
.pdwc-card-grid .wp-block-image img { display: block; width: 100%; aspect-ratio: 3 / 2; object-fit: cover; }
.pdwc-section-heading { margin-bottom: 4em; text-align: center; }
.pdwc-section-heading > :last-child { margin-bottom: 0; }
.pdwc-fact-grid section { padding-left: 5.5em; position: relative; }
.pdwc-fact-grid section > h3:first-child::before {
  content: ""; position: absolute; top: -.15em; left: 0; width: 3.5em; height: 3.5em;
  border-radius: 100%; background: #2f333b;
}
.pdwc-steps { counter-reset: pdwc-step; }
.pdwc-steps > * { counter-increment: pdwc-step; }
.pdwc-steps > * section > h3:first-child::before {
  content: counter(pdwc-step); display: inline-grid; place-items: center;
  width: 2.75em; height: 2.75em; margin-right: 1em; border-radius: 100%;
  color: #fff; background: #e97770;
}
.pdwc-gallery .wp-block-image img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.pdwc-cta-band { text-align: center; }
.pdwc-cta-band .wp-block-buttons { justify-content: center; }
#footer .wp-block-social-links { justify-content: flex-start; }
#footer .wp-block-social-link { background: transparent; }
#footer .wp-block-social-link a { padding: 0; }
#footer .feature-list.small > section {
  padding-top: 0;
  border-top: 0;
}
#copyright p { display: inline-block; margin: 0; padding: 0 1em; border-left: solid 1px rgba(255,255,255,.05); }
#copyright p:first-child { border-left: 0; }
.editor-styles-wrapper .wp-block { max-width: 1200px; }
@media screen and (max-width: 980px) {
  #header { padding-top: 3.75rem; }
  body.menu-open { overflow: hidden; }
  body.menu-open::before {
    position: fixed; inset: 0; z-index: 10000; content: "";
    background: rgba(16, 13, 22, .62); backdrop-filter: blur(2px);
  }
  .menu-toggle {
    position: fixed; top: 8px; left: 8px; z-index: 10002; display: grid; place-items: center;
    width: 44px; min-width: 0; max-width: none; height: 44px; padding: 0; color: #484d55;
    background: rgba(255,255,255,.88); border: 1px solid rgba(72,77,85,.22); border-radius: .3em;
    box-shadow: 0 .2rem .7rem rgba(0,0,0,.2); font-size: 0; line-height: 1;
  }
  .menu-toggle::before { content: "\f0c9"; font-family: "Font Awesome 5 Free"; font-size: 15px; font-weight: 900; }
  .menu-toggle[aria-expanded="true"]::before { content: "\f00d"; }
  #header #nav.is-open {
    position: fixed; top: 0; left: 0; z-index: 10001; display: block;
    width: min(88vw, 340px); height: 100vh; padding: 72px 1rem 2rem;
    overflow-y: auto; color: rgba(255,255,255,.8); background: #222835 url("../vendor/escape-velocity/css/images/overlay.png");
    border-right: 3px solid rgba(255,255,255,.35); box-shadow: .65rem 0 2rem rgba(0,0,0,.4);
    text-align: left; overscroll-behavior: contain;
  }
  #header #nav.is-open::before {
    content: "Menu"; display: block; margin: 0 .85rem 1rem; padding-bottom: .8rem;
    border-bottom: 1px solid rgba(255,255,255,.3); color: #fff;
    font-size: .72rem; font-weight: 700; letter-spacing: .28em; text-transform: uppercase;
  }
  #header #nav.is-open ul { margin: 0; list-style: none; }
  #header #nav.is-open > ul { display: block; padding: 0; box-shadow: none; }
  #header #nav.is-open > ul > li { display: block; margin: .35rem 0; padding: 0; border: 0; text-align: left; }
  #header #nav.is-open a {
    display: flex; align-items: center; width: 100%; height: auto; min-height: 3.25rem;
    padding: .8rem 1rem; border: 0; border-left: 3px solid transparent; border-radius: .3rem;
    font-size: .78rem; font-weight: 700; letter-spacing: .14em; line-height: 1.35;
    text-transform: uppercase;
  }
  #header #nav.is-open > ul > li > a { background: rgba(255,255,255,.08); }
  #header #nav.is-open li.menu-item-has-children > a::after {
    content: "\f078"; margin-left: auto; padding-left: .75rem;
    font-family: "Font Awesome 5 Free"; font-size: .7em; font-weight: 900; opacity: .72;
  }
  #header #nav.is-open ul ul {
    display: block; margin: .3rem 0 .7rem .8rem; padding: .15rem 0 .15rem .7rem;
    border-left: 2px solid rgba(255,255,255,.25);
  }
  #header #nav.is-open ul ul li { display: block; margin: .15rem 0; padding: 0; }
  #header #nav.is-open ul ul a { min-height: 2.65rem; padding: .6rem .8rem; font-size: .69rem; }
  #header #nav.is-open ul ul ul { margin-left: .65rem; }
  #highlights .wp-block-post-template { grid-template-columns: 1fr; }
  .pdwc-card-grid,
  .pdwc-profile-grid,
  .pdwc-resource-grid,
  .pdwc-fact-grid { grid-template-columns: 1fr; }
}
@media screen and (max-width: 736px) {
  /* The source theme floats title tabs into the preceding section. Reserve a
     mobile boundary so those tabs never cover the previous section's content. */
  #page-wrapper > .wrapper:not(#header),
  #primary > .wrapper,
  #footer.wrapper { margin-top: 3.5rem; }
  .feature-list .row { row-gap: 1.5rem; }
}
@media (prefers-reduced-transparency: reduce) { body::after { display: none; } }
