*, ::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:  ;
  --tw-contain-size:  ;
  --tw-contain-layout:  ;
  --tw-contain-paint:  ;
  --tw-contain-style:  ;
}

::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:  ;
  --tw-contain-size:  ;
  --tw-contain-layout:  ;
  --tw-contain-paint:  ;
  --tw-contain-style:  ;
}

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

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

@keyframes translateDown {
  from {
    transform: translate(0,0);
  }

  to {
    transform: translate(0,25vh);
  }
}

@keyframes translateDownSmall {
  from {
    transform: translate(0,0);
  }

  to {
    transform: translate(0,35vh);
  }
}

@keyframes fadeIn {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

@keyframes translateUp {
  from {
    transform: translate(0,0vh);
  }

  to {
    transform: translate(0,-25vh);
  }
}

@keyframes translateUpSmall {
  from {
    transform: translate(0,0vh);
  }

  to {
    transform: translate(0,-35vh);
  }
}

@keyframes taller {
  from {
    height: 2vh;
  }

  to {
    height: 32vh;
  }
}

@keyframes tallerSmall {
  from {
    height: 2vh;
  }

  to {
    height: 39vh;
  }
}

@keyframes shorter {
  from {
    height: 68vh;
  }

  to {
    height: 0;
  }
}

@keyframes shorterSmall {
  from {
    height: 75vh;
  }

  to {
    height: 0;
  }
}

.video-container {
  position: fixed;
  left: 0px;
  right: 0px;
  margin-top: 0px;
  height: 100vh;
  width: 100vw;
}

.welcome {
  margin-top: 0px;
}

body.home {
  overflow: hidden;
}

body.animation-complete {
  overflow: visible;
}

.page-wrap {
  position: relative;
  top: 0px;
  left: 0px;
  margin: 0px;
  height: 100vh;
  width: 100vw;
}

.video-container, video {
  position: fixed;
  left: 0px;
  top: 0px;
  height: auto;
  width: 200vw;
}

@media (max-width: 700px) {
  .video-container, video {
    height: 100vh !important;
    width: auto !important;
  }
}

.half {
  position: absolute;
  left: 0px;
  height: 25vh;
  width: 100%;
  overflow: hidden;
}

@media (max-width: 700px) {
  .half {
    height: 15vh !important;
  }
}

.top-half {
  top: 0px;
  animation: translateDown 2s linear forwards;
}

@media (max-width: 700px) {
  .top-half {
    animation: translateDownSmall 2s linear forwards;
  }
}

.bottom-half {
  bottom: 1px;
  animation: translateUp 2s linear forwards;
}

@media (max-width: 700px) {
  .bottom-half {
    animation: translateUpSmall 2s linear forwards;
  }
}

.overlay {
  position: absolute;
  left: 0px;
  width: 100vw;
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity));
}

.overlay-top {
  top: 0px;
  height: 0px;
  animation: taller 2s linear forwards;
}

@media (max-width: 700px) {
  .overlay-top {
    animation: tallerSmall 2s linear forwards;
  }
}

.overlay-middle {
  top: 50%;
  height: 60vh;
  --tw-translate-y: -50%;
  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));
  animation: shorter 2s linear forwards;
}

.overlay-bottom {
  bottom: 0px;
  height: 0px;
  animation: taller 2s linear forwards;
}

@media (max-width: 700px) {
  .overlay-bottom {
    animation: tallerSmall 2s linear forwards;
  }
}

.welcome svg {
  position: absolute;
  top: 0px;
  left: 50%;
  height: 50vh;
  width: auto;
  --tw-translate-x: -50%;
  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));
}

@media (max-width: 700px) {
  .welcome svg {
    height: 30vh !important;
  }
}

.welcome svg.bottom {
  bottom: 0px;
  top: auto;
}

.top {
}

.tagline {
  position: absolute;
  bottom: 29.5vh;
  right: 50%;
  margin: 0px !important;
  --tw-translate-x: 36vh;
  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));
  font-size: 7vh;
  font-weight: 700;
  opacity: 0;
}

@media (max-width: 700px) {
  .tagline {
    bottom: 35vh;
    --tw-translate-x: 21vh;
    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));
    font-size: 4vh;
  }
}

.tagline {
  animation: fadeIn 0.7s 2s ease-in-out forwards;
  background: linear-gradient(to right, 
    #00CFFF 0%, 
    #00AEEF 15%, 
    #007DDA 30%, 
    #004EAF 45%, 
    #002D80 60%, 
    #1E2C9C 70%, 
    #385BB7 80%, 
    #4A7FD1 90%, 
    #509BDF 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  color: transparent;
  display: inline-block;
  transition: padding 0.3s ease;
}

.site {
  padding-top: 200vh !important;
  opacity: 0;
  transition: 0.8s opacity;
  position: relative;
  z-index: 9;
}

.site-show {
  padding-top: 0 !important;
  opacity: 1;
}

.site-show-fixed {
  padding-top: 0 !important;
  opacity: 1;
  position: fixed;
  top:0;
  left:0;
  width: 100%;
}

.welcome {
  position: fixed;
  top: 0;
  left: 0;
  height: 100vh;
  width: 100vw;
  z-index:99;
}

.home-intro strong {
  font-family: var(--wp--preset--font-family--dm-serif-display) !important
}

header {
  position: fixed;
  top: 0px;
  left: 0px;
  z-index: 10;
  width: 100vw;
  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;
  background-color: var(--wp--preset--color--custom-light-wash);
}

.logo {
  width: 100px;
}

.logo img {
  display: block;
}

.logo figure:last-of-type {
  --tw-translate-y: -1px;
  --tw-translate-x: 0.5px;
  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));
}

.logo figure {
  transition: transform 3s ease;
}

.logo:hover figure:first-child {
  transform: translateY(-2px);
}

.logo:hover figure:last-child {
  transform: translateY(2px);
}

.home header.header-background-change {
  background-color: transparent;
}

header .logo-dark {
  display: block;
}

header .logo-light {
  display: none;
}

header.header-background-change .logo-dark {
  display: none;
}

header.header-background-change .logo-light {
  display: block;
}

header:not(.header-background-change) .logo-light {
  display: none;
}

header.header-background-change .wp-block-navigation-item__content {
  --tw-text-opacity: 1 !important;
  color: rgb(255 255 255 / var(--tw-text-opacity)) !important;
}

header.header-background-change .wp-block-button__link {
  --tw-border-opacity: 1 !important;
  border-color: rgb(255 255 255 / var(--tw-border-opacity)) !important;
  --tw-text-opacity: 1 !important;
  color: rgb(255 255 255 / var(--tw-text-opacity)) !important;
}

#services-list a {
  display: inline-block;
  width: 100%;
  border-bottom-width: 2px;
  border-color: transparent;
  text-decoration-line: none;
  transition-property: all;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 500ms;
}

#services-list a:hover {
  border-color: var(--wp--preset--color--contrast);
}

#services-list p {
  width: 100%;
}

#services-list .wp-block-outermost-icon-block {
  position: absolute;
  top: 0px;
  left: 0px;
  --tw-translate-x: -2.5rem;
  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));
  opacity: 0;
  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-delay: 100ms;
  transition-duration: 500ms;
}

#services-list > div {
  position: relative;
}

#services-list > div:hover a, #services-list > div.js-current a {
  padding-left: 2.5rem;
}

#services-list > div:hover .wp-block-outermost-icon-block, #services-list > div.js-current .wp-block-outermost-icon-block {
  --tw-translate-x: -0.5rem;
  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));
  opacity: 1;
}

.portfolio-link {
  position: relative;
}

.hover-content {
  pointer-events: none;
  position: absolute;
  top: 0px;
  left: 0px;
  margin: 0px;
  height: 100%;
  width: 100%;
  justify-content: space-between;
  background-color: var(--wp--preset--color--custom-blue);
  padding: 1.25rem;
  opacity: 0;
  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;
}

.portfolio-link:hover .hover-content {
  opacity: 1;
}

.current-menu-item {
  font-style: italic;
}

.absolute {
  position: absolute;
}

.relative {
  position: relative;
}

.left-1\/2 {
  left: 50%;
}

.inline {
  display: inline;
}

.hidden {
  display: none;
}

.w-full {
  width: 100%;
}

.-translate-x-1\/2 {
  --tw-translate-x: -50%;
  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));
}

.entry-content {
  margin-top: 0px;
}

.wp-block-site-title {
  display: none;
}

strong {
  font-weight: 500;
}

footer {
  margin-top: 0px !important;
}

#scroll-up {
  cursor: pointer;
}

#footer-tagline {
  text-align:center;
  font-weight: 800;
  font-size: clamp(1rem, 10vw, 177px);
  line-height:1.3
}