/**
*
* *		Setup Document Model Vars / Breakpoints
*
*/
/* 
	because the block may or may not be loaded when we call this in (the posts grid just calls it in for now)
*/
/**
 * Clearfix
 *
 */
.visuallyhidden {
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
}

@keyframes text-in {
  0% {
    opacity: 0;
    transform: translateY(2rem);
  }
  100% {
    opacity: 1;
  }
}
@keyframes fade-in-up {
  0% {
    opacity: 0;
    transform: translate(0, 2rem);
  }
  100% {
    opacity: 1;
    transform: translate(0, 0);
  }
}
@keyframes image-in {
  0% {
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  100% {
    transform: scale(1.15);
  }
}
@keyframes image-out {
  0% {
    transform: scale(1.15);
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  100% {
    transform: scale(1);
  }
}
@keyframes border-in {
  0% {
    box-shadow: inset 0 0 0 0 var(--wp--preset--color--black);
  }
  100% {
    box-shadow: inset 0 0 0 32px var(--wp--preset--color--black);
  }
}
@keyframes border-out {
  0% {
    box-shadow: inset 0 0 0 32px var(--wp--preset--color--black);
  }
  100% {
    box-shadow: inset 0 0 0 0 var(--wp--preset--color--black);
  }
}
@keyframes tall-hero-becomes-narrow {
  0% {
    height: 400px;
  }
  100% {
    height: 0px;
  }
}
@keyframes content-after-hero-fades-in {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
/* 
	Mills requires these additional touchups
	- this is pixel-perfection, and may clash with later changes to the parent theme more than normal
*/
@media (max-width: 1279px) {
  .temp--opportunities--grid-of-blurbs-and-callouts .wp-block-columns:last-child {
    flex-flow: row wrap !important;
  }
  .temp--opportunities--grid-of-blurbs-and-callouts .wp-block-columns:last-child > .wp-block-column {
    flex-basis: 45%;
  }
}

div.mapouter {
  width: 100%;
  max-width: 100%;
  text-align: left;
  margin: 52px 0 80px 0;
}
div.mapouter > div.gmap_canvas {
  width: 100%;
  max-width: 100%;
}
div.mapouter > div.gmap_canvas > iframe {
  width: 100%;
}

.jump-nav {
  background-color: var(--wp--preset--color--light);
}
.jump-nav.is-sticky-on-scroll {
  padding: 32px 0 0 0;
  top: 64px;
  z-index: 1;
}
@media (max-width: 780px) {
  .jump-nav {
    display: none;
    position: static;
  }
}

.wp-block-nu-blocks-accordion .wp-block-nu-blocks-accordion-item {
  border-bottom: 1px solid var(--wp--preset--color--neutral-3);
}
.wp-block-nu-blocks-accordion .wp-block-nu-blocks-accordion-item .wp-block-nublocks-accordion-item__title {
  padding: 16px 64px;
  border: unset;
  background-color: var(--wp--preset--color--neutral-1);
  font-size: var(--wp--preset--font-size--18-28);
  line-height: var(--wp--custom--line-height--rfs-28);
}
.wp-block-nu-blocks-accordion .wp-block-nu-blocks-accordion-item .wp-block-nublocks-accordion-item__title:after {
  right: auto;
  left: 16px;
}
.wp-block-nu-blocks-accordion .wp-block-nu-blocks-accordion-item .wp-block-nublocks-accordion-item__content {
  padding: 32px 64px;
  border: unset;
  background-color: var(--wp--preset--color--white);
}
.wp-block-nu-blocks-accordion .wp-block-nu-blocks-accordion-item .wp-block-nublocks-accordion-item__content > :first-child {
  margin-top: 0;
}
.wp-block-nu-blocks-accordion .wp-block-nu-blocks-accordion-item details[open] > .wp-block-nublocks-accordion-item__title {
  background-color: var(--wp--preset--color--white);
}
.wp-block-nu-blocks-accordion .wp-block-nu-blocks-accordion-item + .wp-block-nu-blocks-accordion-item {
  margin-top: 0;
}

.acf-block.cards.is-style-popped-out {
  overflow: visible;
  padding-top: 16px;
  padding-left: 16px;
}
.acf-block.cards.is-style-popped-out:after, .acf-block.cards.is-style-popped-out:before {
  content: "";
  background-color: var(--wp--preset--color--black);
  position: absolute;
  left: 0;
  top: 0;
  display: block;
}
.acf-block.cards.is-style-popped-out:before {
  width: 16px;
  height: calc(100% - 16px);
}
.acf-block.cards.is-style-popped-out:after {
  height: 16px;
  width: calc(100% - 16px);
}

.wp-block-button__link[href*="tel:"],
.wp-block-button__link[href*="mailto:"] {
  word-break: break-all;
}

.acf-block.cards .wp-block-buttons:last-child {
  margin-top: 48px;
}

/* 
	Mills color palette is using "light" instead of "white" as a background color
	- various elements need to switch between --light and --white vars
*/
main {
  background-color: var(--wp--preset--color--light);
  --spillover--background--height: var(--wp--custom--spacing--small);
  --spillover--background--color: var(--wp--preset--color--light);
}
main .blocks--wrapper h2 {
  font-family: Arial, Helvetica, sans-serif;
}
main .blocks--wrapper .wp-block-group.patterns--blurbs--basic-section-headline p:only-child:after,
main .blocks--wrapper .wp-block-group.patterns--blurbs--basic-section-headline h1:after,
main .blocks--wrapper .wp-block-group.patterns--blurbs--basic-section-headline h2:after {
  border-bottom: 4px solid var(--wp--preset--color--nu-red);
  max-width: 64px;
}
@media (max-width: 779px) {
  main .blocks--wrapper .acf-block.cards {
    --acf--cards--padding: 32px;
  }
}
main .blocks--wrapper .wp-block-nu-blocks-accordion > .wp-block-nu-blocks-accordion-item > details:not([open]) > .wp-block-nublocks-accordion-item__title:after {
  font: var(--fa-font-duotone);
  content: "\f055\f055";
  color: var(--wp--preset--color--neutral-5);
}
main .blocks--wrapper .posts-grid .grid-item .grid-item-content {
  background-color: var(--wp--preset--color--white);
}
main .blocks--wrapper .wp-block-navigation.is-vertical .wp-block-navigation-item.current-menu-ancestor > .wp-block-navigation-item__content,
main .blocks--wrapper .wp-block-navigation.is-vertical .wp-block-navigation-item.current-menu-item > .wp-block-navigation-item__content,
main .blocks--wrapper .wp-block-navigation.is-vertical .wp-block-navigation-item.current-menu-parent > .wp-block-navigation-item__content,
main .blocks--wrapper .wp-block-navigation.is-vertical .wp-block-navigation-item.current-page-ancestor > .wp-block-navigation-item__content,
main .blocks--wrapper .wp-block-navigation.is-vertical .wp-block-navigation-item.is-active > .wp-block-navigation-item__content {
  border-left: 2px solid black !important;
  background-color: #fafafa;
}
main .blocks--wrapper .wp-block-navigation.is-vertical .wp-block-navigation-item__content {
  letter-spacing: 0.03em;
  color: #525252;
}
main .blocks--wrapper .wp-block-navigation.is-vertical .wp-block-navigation-item__content:hover {
  border-left-color: var(--wp--preset--color--neutral-3);
}

@media (min-width: 1024px) {
  .blocks--wrapper .has-half-width-background-color.has-background {
    position: relative;
    background-color: transparent !important;
  }
  .blocks--wrapper .has-half-width-background-color.has-background.has-white-background-color::before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: calc(50% - var(--wp--custom--spacing--outer));
    height: 100%;
    background-color: #fff;
  }
}
@media (min-width: 1280px) {
  .blocks--wrapper .has-full-width-spillover-bg {
    padding-bottom: 0 !important;
  }
  .blocks--wrapper .has-full-width-spillover-bg::before {
    background-color: var(--spillover--background--color);
    height: var(--spillover--background--height);
  }
  .blocks--wrapper .has-full-width-spillover-bg .wp-block-media-text__content {
    margin-bottom: var(--spillover--background--height);
  }
}
@media (max-width: 1279px) {
  .blocks--wrapper .has-full-width-spillover-bg::before {
    display: none;
  }
}
.blocks--wrapper .patterns--temp--alternating-covers-with-popout-cards .wp-block-columns:only-child {
  margin: 0;
}
@media (max-width: 1024px) {
  .blocks--wrapper .patterns--temp--alternating-covers-with-popout-cards > .wp-block-cover {
    margin-left: calc(var(--wp--custom--spacing--outer) * -1) !important;
    margin-right: calc(var(--wp--custom--spacing--outer) * -1) !important;
    width: auto;
    max-width: 100vw;
    padding: 32px !important;
  }
  .blocks--wrapper .patterns--temp--alternating-covers-with-popout-cards > .wp-block-cover + .wp-block-cover {
    margin-top: 0;
  }
  .blocks--wrapper .patterns--temp--alternating-covers-with-popout-cards .wp-block-columns {
    gap: 0;
    flex-flow: row wrap !important;
  }
  .blocks--wrapper .patterns--temp--alternating-covers-with-popout-cards .wp-block-columns > .wp-block-column {
    flex-basis: auto !important;
    margin: 0 !important;
    margin-top: 0 !important;
  }
}
.blocks--wrapper .wpforms-container-full .wpforms-form .wpforms-submit-container .wpforms-submit {
  color: white !important;
  background-color: black !important;
  border-color: black !important;
}
.blocks--wrapper .wpforms-container-full .wpforms-form .wpforms-submit-container .wpforms-submit:hover {
  background-color: white !important;
  color: black !important;
}
@media (min-width: 780px) {
  .blocks--wrapper .temp--layouts--has-top-left-spillover-background {
    margin-top: 0;
    padding-top: var(--wp--custom--spacing--large);
    position: relative;
    z-index: 1;
  }
  .blocks--wrapper .temp--layouts--has-top-left-spillover-background .patterns--blurbs--basic-section-headline {
    max-width: 400px;
  }
  .blocks--wrapper .temp--layouts--has-top-left-spillover-background:before {
    position: absolute;
    content: "";
    background-color: var(--wp--preset--color--white);
    width: 45%;
    height: 100%;
    top: calc(var(--wp--custom--spacing--large) * -1);
    left: 0;
    z-index: -1;
  }
}
