/*! modern-normalize v3.0.1 | MIT License | https://github.com/sindresorhus/modern-normalize */
/*
Document
========
*/
/**
Use a better box model (opinionated).
*/
*,
::before,
::after {
  box-sizing: border-box;
}

/**
1. Improve consistency of default fonts in all browsers. (https://github.com/sindresorhus/modern-normalize/issues/3)
2. Correct the line height in all browsers.
3. Prevent adjustments of font size after orientation changes in iOS.
4. Use a more readable tab size (opinionated).
*/
html {
  font-family: system-ui, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji"; /* 1 */
  line-height: 1.15; /* 2 */
  text-size-adjust: 100%; /* 3 */
  tab-size: 4; /* 4 */
}

/*
Sections
========
*/
/**
Remove the margin in all browsers.
*/
body {
  margin: 0;
}

/*
Text-level semantics
====================
*/
/**
Add the correct font weight in Chrome and Safari.
*/
b,
strong {
  font-weight: bolder;
}

/**
1. Improve consistency of default fonts in all browsers. (https://github.com/sindresorhus/modern-normalize/issues/3)
2. Correct the odd 'em' font sizing in all browsers.
*/
code,
kbd,
samp,
pre {
  font-family: ui-monospace, SFMono-Regular, Consolas, "Liberation Mono", Menlo, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/**
Add the correct font size in all browsers.
*/
small {
  font-size: 80%;
}

/**
Prevent 'sub' and 'sup' elements from affecting the line height in all browsers.
*/
sub,
sup {
  position: relative;
  font-size: 75%;
  line-height: 0;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/*
Tabular data
============
*/
/**
Correct table border color inheritance in Chrome and Safari. (https://issues.chromium.org/issues/40615503, https://bugs.webkit.org/show_bug.cgi?id=195016)
*/
table {
  border-color: currentcolor;
}

/*
Forms
=====
*/
/**
1. Change the font styles in all browsers.
2. Remove the margin in Firefox and Safari.
*/
button,
input,
optgroup,
select,
textarea {
  margin: 0; /* 2 */
  font-family: inherit; /* 1 */
  font-size: 100%; /* 1 */
  line-height: 1.15; /* 1 */
}

/**
Correct the inability to style clickable types in iOS and Safari.
*/
button,
[type=button],
[type=reset],
[type=submit] {
  /* stylelint-disable-next-line declaration-property-value-keyword-no-deprecated */
  appearance: button;
}

/**
Remove the padding so developers are not caught out when they zero out 'fieldset' elements in all browsers.
*/
legend {
  padding: 0;
}

/**
Add the correct vertical alignment in Chrome and Firefox.
*/
progress {
  vertical-align: baseline;
}

/**
Correct the cursor style of increment and decrement buttons in Safari.
*/
::-webkit-inner-spin-button,
::-webkit-outer-spin-button {
  height: auto;
}

/**
1. Correct the odd appearance in Chrome and Safari.
2. Correct the outline style in Safari.
*/
[type=search] {
  appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}

/**
Remove the inner padding in Chrome and Safari on macOS.
*/
::-webkit-search-decoration {
  appearance: none;
}

/**
1. Correct the inability to style clickable types in iOS and Safari.
2. Change font properties to 'inherit' in Safari.
*/
::-webkit-file-upload-button {
  font: inherit; /* 2 */
  /* stylelint-disable-next-line declaration-property-value-keyword-no-deprecated */
  appearance: button; /* 1 */
}

/*
Interactive
===========
*/
/*
Add the correct display in Chrome and Safari.
*/
summary {
  display: list-item;
}

/* stylelint-disable no-descending-specificity */
header.wp-block-template-part {
  position: sticky;
  top: 0;
  left: 0;
  z-index: 100;
  width: 100%;
}

.wp-site-blocks > main {
  min-height: 70vh;
}

.wp-block-navigation__responsive-container-open svg {
  display: none;
}

.wp-block-navigation__responsive-container-open::before {
  content: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='31' height='23' fill='none'%3E%3Cpath stroke='%2300FF5B' stroke-linecap='round' stroke-width='3' d='M29.36 21H2m27.36-9.88H2M29.36 2H2'/%3E%3C/svg%3E");
}

.wp-block-navigation:not(.has-background) .wp-block-navigation__responsive-container.is-menu-open {
  position: absolute;
  height: max-content;
  padding: 0;
  background: transparent;
}

button.wp-block-navigation__responsive-container-close {
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100vh;
  opacity: 0;
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-dialog {
  margin: 0 !important;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-close {
  z-index: 10;
  width: 100%;
  height: 100vh;
  padding: 0;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container .wp-block-navigation-item.wp-block-navigation-link a:hover,
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item.has-child.wp-block-navigation-submenu .wp-block-navigation-item__content:hover,
.wp-block-navigation__responsive-container.is-menu-open .wp-block-button__link:hover {
  color: var(--wp--preset--color--primary) !important;
  text-decoration: underline;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container .wp-block-navigation-item.wp-block-navigation-link a,
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item.has-child.wp-block-navigation-submenu .wp-block-navigation-item__content,
.wp-block-navigation__responsive-container.is-menu-open .wp-block-button__link {
  position: relative;
  z-index: 100;
  box-sizing: border-box;
  display: block;
  width: 100%;
  padding: 0.5rem !important;
  font-size: var(--wp--preset--font-size--large) !important;
  font-weight: bolder;
  color: var(--wp--preset--color--white) !important;
  text-align: start;
  border: unset;
  border-radius: unset;
  transition: 0.3s color, 0.3s background-color;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container .wp-block-navigation-item.wp-block-navigation-link,
.wp-block-navigation__responsive-container.is-menu-open .wp-block-buttons,
.wp-block-navigation__responsive-container.is-menu-open .wp-block-button__link,
.wp-block-navigation__responsive-container.is-menu-open .wp-block-button {
  width: 100% !important;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
  gap: 0;
  padding-top: 6.5rem;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__container {
  gap: 0;
  width: 100%;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__container .wp-block-navigation-item__content {
  width: 100%;
  text-align: center;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-close .wp-block-navigation__container > .wp-block-navigation-item {
  padding: 0 !important;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container {
  width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item.has-child.wp-block-navigation-submenu {
  gap: 0.25rem;
  width: 100%;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item:has(.wp-block-site-logo),
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item.site-logo-container {
  display: none;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container > .wp-block-navigation-item:hover {
  letter-spacing: unset !important;
  text-decoration: unset !important;
}

.has-modal-open header .wp-block-navigation__responsive-container-open::before {
  content: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='23' height='23' fill='none'%3E%3Cpath stroke='%2300FF5B' stroke-linecap='round' stroke-width='3' d='M21 2 1.65 21.35M21 21 1.65 1.65'/%3E%3C/svg%3E");
}

header .wp-block-navigation {
  position: unset !important;
}

@media screen and (width <= 950px) {
  .wp-block-navigation__responsive-container .wp-block-navigation__responsive-container-content {
    gap: 2rem;
  }
}
@media screen and (width <= 860px) {
  .wp-block-navigation__responsive-container .wp-block-navigation__responsive-container-content {
    gap: 1rem;
  }
}
@media screen and (width <= 790px) {
  .wp-block-navigation__responsive-container .wp-block-navigation__responsive-container-content {
    place-content: center end;
  }
}
/* stylelint-disable no-descending-specificity */
/* stylelint-disable selector-class-pattern */
.gform_wrapper form .gform-body:not(.material .gform-body) ::placeholder {
  color: #b1b2b5;
}
.gform_wrapper form .gform-body:not(.material .gform-body) .gfield label {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  border: 0;
  clip: rect(0, 0, 0, 0);
}
.gform_wrapper form .gform-body:not(.material .gform-body) input,
.gform_wrapper form .gform-body:not(.material .gform-body) textarea {
  padding: 1.4rem 1rem;
  font-size: 1rem;
  outline: none;
  border-color: #908f8f;
  border-radius: 20px;
}
.gform_wrapper form .gform-body:not(.material .gform-body) input:focus,
.gform_wrapper form .gform-body:not(.material .gform-body) textarea:focus {
  border-color: #001818 !important;
}
.gform_wrapper form .gform-body:not(.material .gform-body) .gfield_required .gfield_required_text {
  display: none;
}
.gform_wrapper form .gform-body:not(.material .gform-body) .gform_fields {
  gap: 0.7rem 0.5rem;
}
.gform_wrapper form .gform-body:not(.material .gform-body) .gfield_description {
  display: none;
  color: white;
}

.gform_confirmation_message {
  font-size: 2rem;
  font-weight: bold;
  text-align: center;
}

.gform_wrapper .gform_validation_errors {
  background-color: #fdf8f7 !important;
  border-color: #eec5bc !important;
}

.material .gform_wrapper form .gform-body {
  /* This acts as the positioning context for the label and the animated underline. */
  /* --- Label Styling (`.gfield_label`) --- */
  /* --- Input Container (`.ginput_container`) --- */
  /* We use this container to create the animated underline effect. */
  /* --- Input Field Styling --- */
  /* --- Animated Underline --- */
  /* The ::after pseudo-element creates the blue line that animates in on focus. */
  /* When .gfield_error class is present, override default styles */
  /* --- DYNAMIC STATES (Controlled by JavaScript) --- */
  /* 1. When the field is focused */
  /* 2. When the field is focused OR has content */
  /* This moves the label up and shrinks it. */
}
.material .gform_wrapper form .gform-body .gfield {
  position: relative;
  width: 100%;
  max-width: 35rem; /* Max width for better appearance on large screens */
}
.material .gform_wrapper form .gform-body .gfield_label:not(.gfield--type-consent .gfield_label) {
  position: absolute;
  top: 16px; /* Initial vertical position */
  left: 16px; /* Initial horizontal position */
  z-index: 1;
  font-size: 16px;
  color: #6b7280; /* A neutral gray color */
  /* The pointer-events property ensures that clicks "pass through" the label to the input field below it. */
  pointer-events: none;
  transform-origin: left top;
  /* Smooth transition for the floating label animation */
  transition: all 0.2s ease-out;
}
.material .gform_wrapper form .gform-body .gfield--type-textarea .validation_message {
  margin-top: 2rem;
}
.material .gform_wrapper form .gform-body .ginput_container {
  position: relative;
}
.material .gform_wrapper form .gform-body .ginput_container input:not([type=checkbox], [type=radio]),
.material .gform_wrapper form .gform-body .ginput_container textarea {
  /* Necessary for CSS box model calculations */
  box-sizing: border-box;
  width: 100%;
  height: unset;
  padding: 0.8rem 1rem 0; /* Top padding makes space for the floating label */
  font-size: 16px;
  color: #111827;
  /* Minimalist appearance */
  border: none;
  border-bottom: 2px solid #9ca3af; /* Default underline */
  border-radius: 6px 6px 0 0; /* Rounded top corners */
  box-shadow: none;
  /* Smooth transition for background color changes */
  transition: background-color 0.2s ease;
}
.material .gform_wrapper form .gform-body .ginput_container input:not([type=checkbox], [type=radio]):focus,
.material .gform_wrapper form .gform-body .ginput_container textarea:focus {
  outline: none; /* Removes the default browser focus ring */
  background-color: #d1d5db; /* Slightly darker on focus */
}
.material .gform_wrapper form .gform-body .ginput_container input:not([type=checkbox], [type=radio])::placeholder,
.material .gform_wrapper form .gform-body .ginput_container textarea::placeholder {
  color: transparent;
}
.material .gform_wrapper form .gform-body .ginput_container textarea {
  min-block-size: 2rem;
  height: 5rem;
  padding-top: 1.5rem;
}
.material .gform_wrapper form .gform-body .ginput_container::after {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 2px;
  content: "";
  background-color: var(--wp--preset--color--primary); /* A nice blue for the focus state */
  /* It starts with a scale of 0 (invisible) and animates to 1. */
  transform: scaleX(0);
  transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
.material .gform_wrapper form .gform-body .ginput_container .charleft {
  position: absolute;
}
.material .gform_wrapper form .gform-body .gfield.gfield_error .gfield_label {
  color: #ef4444 !important; /* Force red label color, overriding focus color */
}
.material .gform_wrapper form .gform-body .gfield.gfield_error .ginput_container input,
.material .gform_wrapper form .gform-body .gfield.gfield_error .ginput_container textarea {
  border-bottom-color: #ef4444; /* Make static underline red */
}
.material .gform_wrapper form .gform-body .gfield.gfield_error .ginput_container::after {
  background-color: #ef4444; /* Make animated underline red */
}
.material .gform_wrapper form .gform-body .gfield--focused .gfield_label {
  color: #3b82f6; /* Label becomes blue */
}
.material .gform_wrapper form .gform-body .gfield--focused .ginput_container::after {
  transform: scaleX(1); /* Animate the underline to full width */
}
.material .gform_wrapper form .gform-body .gfield--focused .gfield_label,
.material .gform_wrapper form .gform-body .gfield--filled .gfield_label {
  transform: translateY(-10px) scale(0.75);
}
.material .gform_wrapper form .gform-body .gfield_validation_message {
  color: #ef4444 !important;
}

.gform_button.wp-block-button.wp-block-button__link {
  width: 100% !important;
  padding: var(--wp--preset--spacing--40) var(--wp--preset--spacing--60) var(--wp--preset--spacing--40) var(--wp--preset--spacing--60) !important;
  font-size: var(--wp--preset--font-size--base) !important;
  font-weight: 600 !important;
  background-color: #262d61 !important;
  border-color: currentcolor !important;
  border-style: solid !important;
  border-width: 1px !important;
  border-radius: 1rem !important;
}
.gform_button.wp-block-button.wp-block-button__link:hover {
  background-color: #202652 !important;
}

.material .gform_button.wp-block-button.wp-block-button__link {
  width: unset !important;
}

.media-loop .wp-block-post {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  aspect-ratio: 1;
  overflow: hidden;
  color: black;
  text-align: center;
  border-radius: 75px;
}
.media-loop .wp-block-post a {
  color: inherit;
}
.media-loop .wp-block-post > * {
  position: relative;
  z-index: 2;
  padding: 0;
  margin: 0;
  background: hsla(0, 0%, 100%, 0.7);
}
.media-loop .wp-block-post-featured-image {
  position: absolute;
  inset: 0;
}
.media-loop .wp-block-post-featured-image a {
  position: relative;
  z-index: 1;
  display: block;
}
.media-loop .wp-block-post-title {
  padding-top: 1rem;
  font-size: 1.625rem;
}
.media-loop .wp-block-post-excerpt {
  padding: 0.5rem 1rem;
  padding-bottom: 3rem;
  font-size: 1.25rem;
}
.media-loop .wp-block-read-more {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: end;
  justify-content: center;
  width: auto;
  padding-bottom: 1rem;
  text-decoration: underline;
  background: transparent;
  transition: background-color 0.3s, color 0.3s;
}
.media-loop .wp-block-read-more:hover {
  color: #9e9300 !important;
  background-color: rgba(255, 238, 0, 0.6196078431);
}

.editor-styles-wrapper .media-loop .wp-block-read-more {
  pointer-events: none;
}

.page-numbers.current {
  color: var(--wp--preset--color--accent);
}

.logo-watermark {
  filter: grayscale(1) brightness(0) invert(0.8);
}

.wp-block-button__link.has-background {
  position: relative;
  overflow: hidden;
}
.wp-block-button__link.has-background::before {
  position: absolute;
  inset: 0;
  pointer-events: none;
  content: "";
  background-color: black;
  opacity: 0;
  transition: opacity 0.3s;
}
.wp-block-button__link.has-background:hover::before {
  opacity: 0.2;
}

/* stylelint-disable-next-line selector-class-pattern */
.pins_animation.ihotspot_pulse {
  animation: pulse 2s infinite !important;
}

@keyframes pulse {
  0% {
    border: 1px solid rgba(255, 255, 255, 0);
    box-shadow: 0 0 0 rgba(255, 255, 255, 0);
    transform: scale(0);
  }
  70% {
    border: 1px solid black;
    box-shadow: 0 0 50px black;
    transform: scale(1.5);
  }
  100% {
    border: 0 solid rgba(255, 255, 255, 0);
    box-shadow: 0 0 60px rgba(255, 255, 255, 0);
    transform: scale(2);
  }
}
@media screen and (width <= 56rem) {
  .funded-by {
    justify-content: center;
    max-width: 30rem;
    padding: 2rem;
  }
  .funded-by > p {
    width: 100%;
  }
  .funded-by > figure {
    display: flex;
    width: 100%;
  }
  .funded-by > figure img {
    margin: auto;
  }
}
footer.wp-block-template-part {
  margin: 0;
}
footer.wp-block-template-part .wp-social-link-instagram,
footer.wp-block-template-part .wp-social-link-facebook,
footer.wp-block-template-part .wp-social-link-x,
footer.wp-block-template-part .wp-social-link-youtube,
footer.wp-block-template-part .wp-social-link-linkedin {
  color: unset !important;
  background-color: unset !important;
  background-size: cover;
  border-radius: 0;
}
footer.wp-block-template-part .wp-social-link-instagram svg,
footer.wp-block-template-part .wp-social-link-facebook svg,
footer.wp-block-template-part .wp-social-link-x svg,
footer.wp-block-template-part .wp-social-link-youtube svg,
footer.wp-block-template-part .wp-social-link-linkedin svg {
  display: none;
}
footer.wp-block-template-part .wp-social-link-instagram a,
footer.wp-block-template-part .wp-social-link-facebook a,
footer.wp-block-template-part .wp-social-link-x a,
footer.wp-block-template-part .wp-social-link-youtube a,
footer.wp-block-template-part .wp-social-link-linkedin a {
  display: block;
  width: 1.8rem;
  height: 1.8rem;
}
footer.wp-block-template-part .wp-social-link-facebook {
  background-image: url("../images/social-icons/facebook.png");
}
footer.wp-block-template-part .wp-social-link-instagram {
  background-image: url("../images/social-icons/instagram.png");
}
footer.wp-block-template-part .wp-social-link-x {
  background-image: url("../images/social-icons/x.png");
}
footer.wp-block-template-part .wp-social-link-linkedin {
  background-image: url("../images/social-icons/linkedin.png");
}
footer.wp-block-template-part .wp-social-link-youtube {
  background-image: url("../images/social-icons/youtube.png");
}

/*# sourceMappingURL=style.css.map */
