*,
::before,
::after {
  box-sizing: border-box;
  /* 1 */
  border-width: 0;
  /* 2 */
  border-style: solid;
  /* 2 */
  border-color: #e5e7eb;
  /* 2 */
}

::before,
::after {
  --tw-content: '';
}

*, ::before, ::after {
  --tw-border-spacing-x: 0;
  --tw-border-spacing-y: 0;
  --tw-translate-x: 0;
  --tw-translate-y: 0;
  --tw-rotate: 0;
  --tw-skew-x: 0;
  --tw-skew-y: 0;
  --tw-scale-x: 1;
  --tw-scale-y: 1;
  --tw-pan-x:  ;
  --tw-pan-y:  ;
  --tw-pinch-zoom:  ;
  --tw-scroll-snap-strictness: proximity;
  --tw-gradient-from-position:  ;
  --tw-gradient-via-position:  ;
  --tw-gradient-to-position:  ;
  --tw-ordinal:  ;
  --tw-slashed-zero:  ;
  --tw-numeric-figure:  ;
  --tw-numeric-spacing:  ;
  --tw-numeric-fraction:  ;
  --tw-ring-inset:  ;
  --tw-ring-offset-width: 0px;
  --tw-ring-offset-color: #fff;
  --tw-ring-color: rgb(59 130 246 / 0.5);
  --tw-ring-offset-shadow: 0 0 #0000;
  --tw-ring-shadow: 0 0 #0000;
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  --tw-blur:  ;
  --tw-brightness:  ;
  --tw-contrast:  ;
  --tw-grayscale:  ;
  --tw-hue-rotate:  ;
  --tw-invert:  ;
  --tw-saturate:  ;
  --tw-sepia:  ;
  --tw-drop-shadow:  ;
  --tw-backdrop-blur:  ;
  --tw-backdrop-brightness:  ;
  --tw-backdrop-contrast:  ;
  --tw-backdrop-grayscale:  ;
  --tw-backdrop-hue-rotate:  ;
  --tw-backdrop-invert:  ;
  --tw-backdrop-opacity:  ;
  --tw-backdrop-saturate:  ;
  --tw-backdrop-sepia:  ;
}

::backdrop {
  --tw-border-spacing-x: 0;
  --tw-border-spacing-y: 0;
  --tw-translate-x: 0;
  --tw-translate-y: 0;
  --tw-rotate: 0;
  --tw-skew-x: 0;
  --tw-skew-y: 0;
  --tw-scale-x: 1;
  --tw-scale-y: 1;
  --tw-pan-x:  ;
  --tw-pan-y:  ;
  --tw-pinch-zoom:  ;
  --tw-scroll-snap-strictness: proximity;
  --tw-gradient-from-position:  ;
  --tw-gradient-via-position:  ;
  --tw-gradient-to-position:  ;
  --tw-ordinal:  ;
  --tw-slashed-zero:  ;
  --tw-numeric-figure:  ;
  --tw-numeric-spacing:  ;
  --tw-numeric-fraction:  ;
  --tw-ring-inset:  ;
  --tw-ring-offset-width: 0px;
  --tw-ring-offset-color: #fff;
  --tw-ring-color: rgb(59 130 246 / 0.5);
  --tw-ring-offset-shadow: 0 0 #0000;
  --tw-ring-shadow: 0 0 #0000;
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  --tw-blur:  ;
  --tw-brightness:  ;
  --tw-contrast:  ;
  --tw-grayscale:  ;
  --tw-hue-rotate:  ;
  --tw-invert:  ;
  --tw-saturate:  ;
  --tw-sepia:  ;
  --tw-drop-shadow:  ;
  --tw-backdrop-blur:  ;
  --tw-backdrop-brightness:  ;
  --tw-backdrop-contrast:  ;
  --tw-backdrop-grayscale:  ;
  --tw-backdrop-hue-rotate:  ;
  --tw-backdrop-invert:  ;
  --tw-backdrop-opacity:  ;
  --tw-backdrop-saturate:  ;
  --tw-backdrop-sepia:  ;
}

.block {
  display: block;
}

/*
  Animations
*****************************/

@keyframes fadeSlideIn {
  to {
    opacity: 1;
    transform: translateX(0);
  }
}

@keyframes SlideIn {
  from {
    transform: translateY(-100px);
  }

  to {
    transform: translateX(0);
  }
}

@keyframes SlideOut {
  from {
    transform: translateY(0);
  }

  to {
    transform: translateY(-100%);
  }
}

@keyframes toHeightFull {
  from {
    height: 0;
  }

  to {
    height: calc(100% + 4rem);
  }
}

@keyframes slowScale {
  0% {
    transform: scale(1);
  }

  50% {
    transform: scale(1.04);
  }

  100% {
    transform: scale(1);
  }
}

/*
  Global
*****************************/

a {
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

header {
  position: absolute;
  top: 0px;
  left: 0px;
  z-index: 20;
  width: 100%;
}

.entry-content, footer {
  margin-top: 0px !important;
}

.m-fixed-body {
  position: fixed;
  top: 0px;
  left: 0px;
  height: 100vh;
  width: 100vw;
  overflow: hidden;
}

.sticky-active header {
  position: fixed;
  animation: SlideIn 0.5s ease-out forwards;
}

.sticky-active #header, .sticky-inactive #header {
  --tw-bg-opacity: 1;
  background-color: rgb(0 0 0 / var(--tw-bg-opacity, 1));
  padding-top: 0px !important;
  padding-bottom: 0px !important;
}

.sticky-inactive header {
  position: fixed;
  animation: SlideOut 0.5s ease-in forwards;
}

.no-underline-links a {
  text-decoration-line: none;
}

html {
  scroll-behavior: smooth;
}

/*
  Hail News Flyout
*****************************/

/* #hail-news-events {clip-path: inset(0 0 0 100%); transition: clip-path .5s cubic-bezier(.77,0,.175,1);}
#hail-news-events.active {clip-path: inset(0 0 0 0);}
.hail-news-events-menu .current {position: relative;background: var(--wp--preset--color--accent-1); color: white !important;}
.hail-news-events-menu .current:before {@apply bottom-0 left-0 w-full bg-[var(--wp--preset--color--accent-1)] absolute content-['']}
.hail-news-events-menu .current:before {@apply translate-y-5}
.hail-news-events-menu > div:before {@apply bottom-0 left-0 w-full bg-[var(--wp--preset--color--accent-1)] absolute content-[''] h-5 transition z-[2]}
.hail-news-events-menu .current * {color: white !important;}
.hail-news-events-menu .current:hover {@apply bg-[var(--wp--preset--color--accent-1)] !important;}
.hail-news-events-menu > div {@apply transition relative z-10}
.hail-news-events-menu > div:hover:not(.current) {@apply bg-[#eee]}
.hail-news-events-menu > div:before {@apply bottom-0 left-0 w-full bg-[white] absolute content-[''] h-5 transition z-[2]}
.hail-news-events-menu > div:not(.current):hover:before {@apply bg-[#eee]}

#hail-news-events__container > div {@apply invisible absolute flex transition-all opacity-0 duration-[1200ms]}
#hail-news-events__container > div.current {@apply visible relative flex opacity-100} */

/*
  Featured Image animation
*****************************/

.post_thumb_link {
  position: relative;
  display: block;
}

.post_thumb_link img {
  position: relative;
  z-index: 10;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 500ms;
}

.post_thumb_link figure {
  position: relative;
  overflow: hidden;
}

.post_thumb_link:hover img {
  --tw-scale-x: 1.1;
  --tw-scale-y: 1.1;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.post_thumb_link:before {
  position: absolute;
  top: 0px;
  left: 0px;
  height: 50%;
  width: 50%;
  background-color: var(--wp--preset--color--accent-1);
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 500ms;
  --tw-content: '';
  content: var(--tw-content);
}

.post_thumb_link:hover:before {
  --tw-translate-x: -1rem;
  --tw-translate-y: -1rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

/*
  Image Shuffle
******************************/

#image-shuffle figure {
  display: none;
}

#image-shuffle figure:first-of-type {
  display: block;
}

/*
  M Menu
*****************************/

#m-menu {
  position: absolute;
  top: 0px;
  left: 0px;
  z-index: 10;
  height: 100vh;
  width: 100vw;
  clip-path: inset(0 0 0 100%);
  transition: clip-path .5s cubic-bezier(.77,0,.175,1);
}

#m-menu.active {
  clip-path: inset(0 0 0 0);
}

/*
  M Menu - Column
*****************************/

#m-menu__image-column {
  position: relative;
}

@media (max-width: 820px) {
  #m-menu__image-column {
    display: none;
  }
}

#m-menu__image-column .wp-block-cover {
  position: absolute;
  z-index: 10;
  height: 100vh;
  width: 100%;
}

#m-menu__image-column .wp-block-cover.is-visible img {
  animation: slowScale 6s ease-in-out infinite;
}

/*
  M Menu - Group, the menu UI
*****************************/

#m-menu__menu-group {
  display: flex;
  height: 100vh;
  flex-direction: column;
  justify-content: space-between;
  overflow: scroll;
}

#m-menu__menu-group > * {
  display: flex;
  width: 100%;
  align-items: flex-start;
}

#m-menu__menu-group a {
  text-decoration-line: none;
}

#m-menu .wp-block-navigation__container svg {
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter !important;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter !important;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter !important;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1) !important;
  transition-duration: 150ms !important;
}

@media (min-width: 820px) {
  #m-menu .wp-block-navigation__container > li:hover svg {
    --tw-translate-x: 0.5rem !important;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)) !important;
    stroke: var(--wp--preset--color--accent-1) !important;
  }
}

#m-menu nav {
  width: 100%;
}

#m-menu .wp-block-navigation__container {
  width: 100%;
}

@media (min-width: 820px) {
  #m-menu .wp-block-navigation__container {
    width: 460px;
  }
}

#m-menu .wp-block-navigation__container > li {
  width: 100%;
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
}

@media (max-width: 820px) {
  #m-menu .wp-block-navigation__container > li button {
    position: absolute;
    top: 50%;
    right: 0px;
    --tw-translate-y: -50% !important;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)) !important;
  }
}

@media (min-width: 820px) {
  #m-menu .wp-block-navigation__container li:hover > a, #m-menu .wp-block-navigation__container li.current-menu-item a {
    color: var(--wp--preset--color--accent-1);
  }
}

#m-menu .wp-block-navigation__container li > a:hover {
  color: var(--wp--preset--color--accent-1);
}

#m-menu .wp-block-navigation .has-child .wp-block-navigation__submenu-container {
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 500ms;
}

#m-menu .wp-block-navigation__submenu-icon svg {
  height: 1rem !important;
}

@media (min-width: 820px) {
  #m-menu .wp-block-navigation__submenu-icon svg {
    --tw-rotate: -90deg;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  }

  #m-menu .wp-block-navigation .wp-block-navigation-item {
    position: static;
  }
}

#m-menu .wp-block-navigation .has-child .wp-block-navigation__submenu-container {
  display: flex;
  flex-direction: column;
  border-width: 0px;
  background-color: transparent;
}

@media (min-width: 820px) {
  #m-menu .wp-block-navigation .has-child .wp-block-navigation__submenu-container {
    left: 460px;
    right: 0px;
    top: 0px;
    bottom: 0px;
    height: 100%;
    justify-content: center;
    padding-left: 2.5rem;
  }
}

#m-menu .wp-block-navigation .has-child .wp-block-navigation__submenu-container a {
  font-size: 1rem;
  line-height: 1.5rem;
  font-family: var(--wp--preset--font-family--figtree);
}

/*
  M Menu - Mobile Enhancements
*****************************/

@media (max-width: 820px) {
  #m-menu .wp-block-navigation .has-child:hover .wp-block-navigation-submenu__toggle[aria-expanded=false]~.wp-block-navigation__submenu-container:not(.active),.wp-block-navigation .has-child:hover .wp-block-navigation-submenu__toggle[aria-expanded=true]~.wp-block-navigation__submenu-container:not(.active) {
    display: none !important;
  }
}

@media (min-width: 820px) {
  #m-menu .wp-block-navigation__submenu-icon {
    height: 2.5rem !important;
    width: 2.5rem !important;
  }
}

@media (max-width: 820px) {
  #m-menu #m-menu .wp-block-navigation__submenu-container.active {
    height: auto !important;
    width: auto !important;
    opacity: 1 !important;
  }
}

@media (min-width: 820px) {
  #m-menu #m-menu .wp-block-navigation__submenu-container.active {
    visibility: visible !important;
    position: relative !important;
    left: 0px !important;
  }
}

/*
  M Menu - Trigger, open close etc
*****************************/

#m-menu-trigger, #m-menu-trigger-close {
  cursor: pointer;
  transition-property: all;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

#m-menu-trigger:hover, #m-menu-trigger-close:hover {
  --tw-scale-x: 1.1 !important;
  --tw-scale-y: 1.1 !important;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)) !important;
}

#m-menu-trigger > div, #m-menu-trigger-close > div {
  transition-property: all;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

#m-menu-trigger > div:hover, #m-menu-trigger-close > div:hover {
  background-color: var(--wp--preset--color--accent-1) !important;
}

/*
  M Menu - Hot links top and bottom and socials
*****************************/

#m-menu-top-links {
  align-self: center;
}

#m-menu-bottom-links {
  align-items: center;
}

#m-menu-socials a svg {
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

#m-menu-socials a svg:hover {
  --tw-scale-x: 1.25;
  --tw-scale-y: 1.25;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

#m-menu-top-links .wp-block-button a, #m-menu-bottom-links .wp-block-button a, #header-buttons .wp-block-button a {
  display: flex;
  align-items: center;
}

#m-menu-top-links .wp-block-button a img, #m-menu-bottom-links .wp-block-button a img, #header-buttons .wp-block-button a img {
  margin-right: 0.5rem;
}

/*
  M Menu - Animation
*****************************/

#m-menu .wp-block-navigation__container > li > a, .wp-block-navigation__container > li > button, #m-menu-top-links a, #m-menu-bottom-links a {
  opacity: 0;
}

#m-menu .wp-block-navigation__container > li a.animate, #m-menu .wp-block-navigation__container > li button.animate, #m-menu-top-links a.animate, #m-menu-bottom-links a.animate {
  opacity: 0;
  transform: translateX(-20px);
  animation: fadeSlideIn 0.5s ease-out forwards;
}

#m-menu-top-links .wp-block-button, #m-menu-bottom-links .wp-block-button, #m-menu #header-buttons .wp-block-button {
  transition-property: all !important;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1) !important;
  transition-duration: 150ms !important;
}

#m-menu-top-links .wp-block-button:hover, #m-menu-bottom-links .wp-block-button:hover, #m-menu #header-buttons .wp-block-button:hover {
  opacity: 0.5 !important;
}

#m-menu.complete .wp-block-navigation__container:after {
  pointer-events: none;
  position: absolute;
  top: -2rem;
  right: -0px;
  width: 1px;
  background-color: var(--wp--preset--color--accent-1);
  --tw-content: '';
  content: var(--tw-content);
}

@media (max-width: 820px) {
  #m-menu.complete .wp-block-navigation__container:after {
    display: none;
  }
}

#m-menu.complete .wp-block-navigation__container:after {
  animation: toHeightFull 0.8s 0.5s ease-out forwards;
}

/*
  G Form
*****************************/

.gform-field-label {
  display: none !important;
}

.gform_wrapper input, .gform_wrapper textarea {
  border-radius: 0px !important;
  border-width: 0px !important;
  border-bottom-width: 2px !important;
  background-color: transparent !important;
  outline: 2px solid transparent !important;
  outline-offset: 2px !important;
}

.



.home-services a {
  display: flex;
  flex-direction: column;
}

.home-services a > * {
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 700ms;
}

.home-services a:hover > * {
  --tw-translate-y: -1.25rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}