* {
  box-sizing: border-box;
}

body {
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
}

body, html {
  height: 100%;
}

.wp-site-blocks {
  display: flex;
  flex-direction: column;
  height: 100%;
}

footer {
  margin-block-start: auto !important;
}

.wp-block-spacer {
  margin-block-start: 0 !important;
}

.edit-post-visual-editor__post-title-wrapper,
.is-root-container .wp-block[data-align=full] > .wp-block-cover,
.is-root-container .wp-block[data-align=full] > .wp-block-group,
.wp-block-cover.alignfull,
.wp-block-group.alignfull,
.wp-block-group.has-background,
.wp-site-blocks,
body > .is-root-container {
  padding-left: var(--wp--custom--spacing--outer);
  padding-right: var(--wp--custom--spacing--outer);
}

.is-root-container .wp-block[data-align=full],
.wp-site-blocks .alignfull,
.wp-site-blocks > .wp-block-cover,
.wp-site-blocks > .wp-block-group.has-background,
.wp-site-blocks > .wp-block-template-part > .wp-block-cover,
.wp-site-blocks > .wp-block-template-part > .wp-block-group.has-background,
body > .is-root-container > .wp-block-cover,
body > .is-root-container > .wp-block-template-part > .wp-block-cover,
body > .is-root-container > .wp-block-template-part > .wp-block-group.has-background {
  margin-left: calc(var(--wp--custom--spacing--outer) * -1) !important;
  margin-right: calc(var(--wp--custom--spacing--outer) * -1) !important;
  width: unset;
}

.has-ti-bg-inv-background-color {
  background-color: var(--wp--preset--color--raft-bg-inv);
}

.has-ti-bg-background-color {
  background-color: var(--wp--preset--color--raft-bg);
}

.has-ti-bg-alt-background-color {
  background-color: var(--wp--preset--color--raft-bg-alt);
}

.has-ti-fg-alt-color {
  color: var(--wp--preset--color--raft-fg-alt);
}

.has-ti-accent-background-color {
  background-color: var(--wp--preset--color--raft-accent);
}

.has-ti-accent-secondary-background-color {
  background-color: var(--wp--preset--color--raft-accent-secondary);
}

.has-huge-font-size {
  line-height: 1.25;
}

.has-x-large-font-size {
  line-height: 1.3;
}

.has-large-font-size {
  line-height: 1.4;
}

.has-medium-font-size {
  line-height: 1.5;
}

.has-normal-font-size {
  line-height: 1.7;
}

.has-small-font-size {
  line-height: 1.6;
}

.comment-form input:not([type=submit]),
.comment-form textarea,
.wp-block-search.wp-block-search__button-inside .wp-block-search__inside-wrapper,
input:read-write,
select,
textarea {
  background: var(--wp--preset--color--raft-bg);
  border: 2px solid var(--wp--preset--color--raft-fg);
  border-radius: 5px;
  color: var(--wp--preset--color--raft-fg);
}

button[type=submit],
input[type=submit] {
  background: var(--wp--preset--color--raft-accent);
  border: 0;
  border-color: var(--wp--preset--color--raft-accent);
  border-radius: 5px;
  box-shadow: none;
  color: var(--wp--preset--color--raft-fg-alt);
  font-size: var(--wp--preset--font-size--normal);
  font-weight: 600;
  padding: var(--wp--preset--spacing--30) var(--wp--preset--spacing--50);
}

.comment-form {
  grid-column-gap: 15px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
}

.comment-form > * {
  grid-column: 1 / span 3;
}

.comment-form > .comment-form-author,
.comment-form > .comment-form-email,
.comment-form > .comment-form-url {
  grid-column: span 1;
}

input:read-write:not([type=search]),
select,
textarea {
  font-size: var(--wp--preset--font-size--normal);
  padding: 12px;
  width: 100%;
}

input, textarea {
  font-family: inherit;
}

textarea {
  resize: vertical;
}

.wp-block-image.aligncenter {
  margin-left: auto;
  margin-right: auto;
}

.wp-block-image.alignleft {
  float: left;
  margin-right: 2em;
}

.wp-block-image.alignright {
  float: right;
  margin-left: 2em;
}

.wp-block-gallery.has-nested-images figcaption,
figure.wp-block-image figcaption {
  opacity: .6;
  text-align: center;
}

.wp-block-gallery.has-nested-images figure.wp-block-image figcaption {
  background: rgba(0, 0, 0, .3);
  margin: 0;
  opacity: 1;
  padding: 8px;
  text-align: center;
}

.wp-block-gallery.has-nested-images figure.wp-block-image.is-style-rounded figcaption {
  background: 0;
  opacity: .6;
}

.wp-block-separator.is-style-wide {
  width: 100%;
}

.wp-block-categories.is-style-raft-pills {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  font-size: var(--wp--preset--font-size--small);
  list-style: none;
  padding-left: 0;
}

.wp-block-categories.is-style-raft-pills li {
  background-color: var(--wp--preset--color--raft-bg-alt);
  border-radius: 25px;
  margin: 5px;
  padding: 8px 24px;
}

.wp-block-post-terms {
  display: flex;
  flex-wrap: wrap;
}

.wp-block-post-terms.taxonomy-category a {
  background-color: var(--wp--preset--color--raft-bg-alt);
  border-radius: 25px;
  margin: 5px;
  padding: var(--wp--preset--spacing--20) var(--wp--preset--spacing--40);
}

.wp-block-post-terms.taxonomy-category .wp-block-post-terms__separator {
  display: none;
}

.wp-block-post-terms.has-text-align-center {
  justify-content: center;
}

.wp-block-post-terms.has-text-align-right {
  justify-content: flex-end;
}

.wp-block-query-pagination-numbers .page-numbers:not(:last-child) {
  margin-right: 16px;
}

.wp-block-search .wp-block-search__button {
  background: var(--wp--preset--color--raft-accent);
  border-color: var(--wp--preset--color--raft-accent);
  border-radius: 5px;
  color: var(--wp--preset--color--raft-fg-alt);
}

.wp-block-navigation:not(.has-background) .wp-block-navigation__responsive-container.is-menu-open {
  background: var(--wp--preset--color--raft-bg);
  color: var(--wp--preset--color--raft-fg);
}

.wp-block-navigation__responsive-container.is-menu-open {
  --navigation-layout-justification-setting: center;
}

.wp-block-navigation__responsive-container.is-menu-open > .wp-block-navigation__container {
  gap: 0;
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container {
  gap: 24px !important;
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container > li > a {
  font-size: var(--wp--preset--font-size--large) !important;
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container {
  gap: 24px !important;
}

.wp-block-latest-posts img {
  display: block;
}

.wp-block-latest-posts .wp-block-latest-posts__post-title {
  display: block;
  font-size: var(--wp--preset--font-size--medium);
  font-weight: 600;
  margin-bottom: 10px;
}

.wp-block-latest-posts .wp-block-latest-posts__post-author,
.wp-block-latest-posts time {
  font-size: var(--wp--preset--font-size--small);
}

.wp-block-table.is-style-stripes tbody tr:nth-child(odd) {
  background-color: var(--wp--preset--color--raft-bg-alt);
}

.wp-block-table thead {
  border-bottom: 2px solid;
}

.wp-block-table tfoot {
  border-top: 2px solid;
}

.wp-block-table figcaption {
  opacity: .6;
}

@media (max-width: 769px) {
  body {
    --wp--preset--font-size--small: 12px;
    --wp--preset--font-size--normal: 16px;
    --wp--preset--font-size--medium: 20px;
    --wp--preset--font-size--large: 24px;
    --wp--preset--font-size--x-large: 28px;
    --wp--preset--font-size--huge: 36px;
  }
}
