*,
*::before,
*::after {
  box-sizing: inherit;
}

html {
  box-sizing: border-box;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
}

a {
  text-decoration: underline solid var(--wp--preset--color--secondary);
  text-decoration-thickness: 2px;
  text-underline-offset: 4px;
}

b,
strong {
  font-family: var(--wp--preset--font-family--heading);
  font-weight: var(--wp--custom--font-weight--regular);
}

ul, ol {
  padding-inline-start: var(--wp--preset--spacing--medium);
}

ol:where(:not([class*=wp-block])),
ol:where(.wp-block-list),
ul:where(:not([class*=wp-block])),
ul:where(.wp-block-list) {
  padding-inline-start: var(--wp--preset--spacing--medium);
}

div[class*=wp-block-] figcaption {
  color: var(--wp--preset--color--primary);
  font-family: var(--wp--preset--font-family--heading);
  font-size: var(--wp--preset--font-size--small);
  margin-bottom: 0;
  margin-top: 10px;
}

h1,
h2,
h3,
h4,
h5,
p,
blockquote {
  text-wrap: balance;
}

img,
figure {
  max-width: 100%;
  height: auto;
}

.center {
  text-align: center;
}

a.more-link {
  display: block;
}

@media (max-width: 1023.5px) {
  .reverse-column {
    flex-direction: column-reverse;
  }
}

/* Inline code */
*:not(.wp-block-code) > code {
  background-color: var(--wp--preset--color--tertiary);
  font-weight: var(--wp--custom--font-weight--medium);
  padding: 3px 5px;
  position: relative;
  border-radius: 3px;
}

/* Adjust terms at bottom of posts */
.single .wp-block-group .wp-block-post-terms,
.blog .wp-block-group .wp-block-post-terms {
  margin-bottom: -8px !important;
}

/* Remove margin on term description on archive pages */
.wp-block-term-description p:last-child {
  margin-bottom: 0;
}

/* Remove last separator on post list */
.remove-border-and-padding .wp-block-post-template li:last-child .wp-block-separator {
  display: none;
}

/* Hide post meta div if no tags assigned */
.single .wp-block-group:has(> .post-meta:empty) {
  display: none;
}

.wp-element-button span {
  margin-left: 7px;
}

.wpcf7-form input,
.wpcf7-form button,
.wpcf7-form textarea,
.wpcf7-form select {
  font: inherit;
}
.wpcf7-form input[type=button],
.wpcf7-form input[type=email],
.wpcf7-form input[type=search],
.wpcf7-form input[type=submit],
.wpcf7-form input[type=text],
.wpcf7-form textarea {
  appearance: none;
  -webkit-appearance: none;
}
.wpcf7-form input:not([type=submit]),
.wpcf7-form select,
.wpcf7-form textarea,
.wpcf7-form .wp-block-post-comments-form input:not([type=submit]):not([type=checkbox]),
.wpcf7-form .wp-block-post-comments-form textarea {
  background-color: transparent;
  color: var(--wp--preset--color--main);
  border: solid 2px #c6c6c6;
  padding: 0.75em 1em;
  font-size: var(--wp--preset--font-size--small);
  width: 100%;
}
.wpcf7-form input:focus-visible,
.wpcf7-form textarea:focus-visible {
  outline-color: var(--wp--preset--color--primary);
}
.wpcf7-form input[type=checkbox],
.wpcf7-form input[type=image],
.wpcf7-form input[type=radio] {
  width: auto;
}
.wpcf7-form input[type=submit] {
  align-items: center;
  background: var(--wp--preset--color--primary);
  border: none;
  border-radius: 50px;
  color: #fff;
  cursor: pointer;
  display: inline-flex;
  font-family: inherit;
  font-size: var(--wp--preset--font-size--small);
  font-weight: var(--wp--custom--font-weight--regular);
  line-height: var(--wp--custom--line-height--none);
  padding: 1rem 1.75rem;
  justify-content: center;
  overflow: hidden;
  position: relative;
  text-decoration: none;
  word-break: break-word;
}
.wpcf7-form label {
  width: 100%;
  color: var(--wp--preset--color--primary);
  margin-bottom: 5px;
  display: block;
}
.wpcf7-form ::placeholder {
  color: var(--wp--preset--color--secondary);
  font-size: var(--wp--preset--font-size--small);
  opacity: 0.75;
}
.wpcf7-form .wpcf7-not-valid-tip {
  color: #cc4646;
  margin-top: 10px;
  font-size: 1.25rem;
}

@keyframes slideup {
  from {
    opacity: 0;
    transform: translateY(100%);
  }
  to {
    opacity: 1;
    transform: translateY(0%);
  }
}
@keyframes scaleup {
  from {
    opacity: 0;
    transform: scale(0.5);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}
@keyframes fadein {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
h1 {
  position: relative;
  overflow: hidden;
}

h1 > span {
  position: relative;
  display: inline-block;
  animation-name: slideup;
  animation-fill-mode: both;
  animation-timing-function: ease-out;
  animation-play-state: running;
  animation-direction: normal;
  animation-iteration-count: 1;
  animation-duration: 0.3s;
  animation-delay: calc(var(--index) * 0.1s);
  text-rendering: optimizeSpeed;
}

h1 > span:nth-child(1) {
  --index: 0;
}

h1 > span:nth-child(2) {
  --index: 1;
}

h1 > span:nth-child(3) {
  --index: 2;
}

h1 > span:nth-child(4) {
  --index: 3;
}

h1 > span:nth-child(5) {
  --index: 4;
}

h1 > span:nth-child(6) {
  --index: 5;
}

h1 > span:nth-child(7) {
  --index: 6;
}

h1 > span:nth-child(8) {
  --index: 7;
}

h1 > span:nth-child(9) {
  --index: 8;
}

h1 > span:nth-child(10) {
  --index: 9;
}

h1 > span:nth-child(11) {
  --index: 10;
}

h1 > span:nth-child(12) {
  --index: 11;
}

h1 > span:nth-child(13) {
  --index: 12;
}

h1 > span:nth-child(14) {
  --index: 13;
}

h1 > span:nth-child(15) {
  --index: 14;
}

.slideup {
  animation-name: slideup;
  animation-duration: 0.5s;
  animation-delay: calc(var(--i) * 0.2s);
  animation-fill-mode: both;
  animation-timing-function: ease-out;
  animation-play-state: running;
  animation-direction: normal;
  animation-iteration-count: 1;
}

.scaleup {
  animation-name: scaleup;
  animation-duration: 0.5s;
  animation-delay: 0s;
  animation-fill-mode: both;
  animation-timing-function: ease-out;
  animation-play-state: running;
  animation-direction: normal;
  animation-iteration-count: 1;
}

.fadein {
  animation-name: fadein;
  animation-duration: 0.5s;
  animation-delay: 0s;
  animation-fill-mode: both;
  animation-timing-function: ease-out;
  animation-play-state: running;
  animation-direction: normal;
  animation-iteration-count: 1;
}

.paragraph {
  animation-delay: 1.2s;
}

.button-container {
  animation-delay: 1.3s;
}

.hero-img {
  animation-delay: 1.7s;
}

.site-header {
  background-color: var(--wp--preset--color--body);
}
.site-header svg {
  vertical-align: middle;
}

footer a {
  text-decoration: none;
}
footer a:hover {
  color: var(--wp--preset--color--primary);
  text-decoration: none;
}