/*
Theme Name: Utah Stories
Theme URI: https://utahstories.com
Author: Brad Hogan
Description: A custom block theme. Not for distribution or resell unless approved by theme author, Brad Hogan.
Requires at least: 6.0
Tested up to: 6.2
Requires PHP: 7.2
Version: 1.0.0
License: Copyright of theme design owned by Brad Hogan and Utah Stories
Text Domain: utahstories
*/
html, body {
  border: none;
  margin: 0;
  padding: 0;
  height: 100%;
}

html {
  scroll-behavior: smooth;
}

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

*:focus:not(:focus-visible) {
  outline: none;
}

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

@media (min-width: 768px) {
  header.site-header {
    position: sticky;
    position: -webkit-sticky;
    top: 0;
    background: var(--wp--preset--color--base);
    z-index: 999;
  }
  main {
    padding-top: var(--wp--preset--spacing--30);
  }
}
.site-footer {
  margin-top: auto !important;
}

a {
  text-underline-offset: 0.15em;
  transition: 0.15s ease;
}
a img {
  transition: opacity 400ms linear;
}
a:hover img {
  opacity: 0.8;
}

.red-underline a {
  text-decoration: underline !important;
  text-decoration-color: var(--wp--preset--color--accent) !important;
}

label {
  font-weight: 500;
  font-size: var(--wp--preset--font-size--small);
}

input:not([type=radio]):not([name=checkbox]):not([name=submit]):not(.wp-element-button),
textarea,
select {
  border-radius: 4px !important;
  appearance: none;
  -moz-appearance: none;
  -webkit-appearance: none;
  border: 1px solid var(--wp--preset--color--border-default);
  padding: calc(0.667rem + 2px) calc(1rem + 2px);
  font-size: var(--wp--preset--font-size--medium);
  font-weight: normal;
  outline: none;
  transition: 0.2s all;
}
input:not([type=radio]):not([name=checkbox]):not([name=submit]):not(.wp-element-button):focus,
textarea:focus,
select:focus {
  opacity: 0.8;
}

button {
  transition: 0.2s all;
}

figcaption {
  font-size: calc(0.9 * var(--wp--preset--font-size--small));
  font-weight: 500;
  color: var(--wp--preset--color--contrast-alt);
}

.hide-on-desktop {
  display: none !important;
}

.mt-0 {
  margin-top: 0;
}

.mb-0 {
  margin-bottom: 0;
}

.top-of-page-ad-space .wp-block-cover__background {
  box-shadow: inset 0 -11px 7px -10px rgba(0, 0, 0, 0.14);
}

.wp-block-site-title a {
  text-decoration: none;
}

.wp-block-post-terms {
  gap: 5px;
  display: flex;
  flex-flow: row wrap;
}
.wp-block-post-terms a {
  color: var(--wp--preset--color--accent);
  font-family: var(--wp--preset--font-family--gtalpinacondensed);
  font-size: calc(0.9 * var(--wp--preset--font-size--small));
  font-weight: 700;
  letter-spacing: 2px;
  text-decoration: none;
  text-transform: uppercase;
}
.wp-block-post-terms a:hover {
  text-decoration: underline;
}

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

.is-style-buttons .page-numbers,
.is-style-buttons .wp-block-query-pagination-next,
.is-style-buttons .wp-block-query-pagination-previous,
.is-style-buttons.wp-block-post-terms > a {
  font-family: var(--wp--preset--font-family--abcdiatype);
  font-size: var(--wp--preset--font-size--small) !important;
  font-weight: 500;
  background: var(--wp--preset--color--base-darker);
  color: var(--wp--preset--color--contrast) !important;
  border-radius: 8px;
  padding: 8px 16px;
  text-transform: none !important;
  letter-spacing: normal !important;
  text-decoration: none;
  position: relative;
  line-height: var(--wp--custom--typography--line-height--normal);
  display: inline-block;
}
.is-style-buttons .page-numbers:hover,
.is-style-buttons .wp-block-query-pagination-next:hover,
.is-style-buttons .wp-block-query-pagination-previous:hover,
.is-style-buttons.wp-block-post-terms > a:hover {
  text-decoration: none;
  opacity: 0.8;
}

.gallery-vertically-center-images .wp-block-image {
  display: flex;
  align-items: center;
  margin-top: auto !important;
  margin-bottom: auto !important;
}

.taxonomy-category.is-style-buttons,
.taxonomy-post_tag.is-style-buttons {
  display: inline;
}
.taxonomy-category.is-style-buttons a,
.taxonomy-post_tag.is-style-buttons a {
  margin: 0 4px 4px 0;
}

.wp-block-code {
  border-radius: 4px;
  border: 1px solid var(--wp--preset--color--contrast-alt);
}

.wp-block-post-template .wp-block-post {
  margin-top: 0 !important;
}
.wp-block-post-template .wp-block-post:last-of-type .wp-block-columns {
  margin-bottom: 0;
}

.wp-block-pullquote blockquote {
  margin: 0;
  line-height: 1.3;
}
.wp-block-pullquote blockquote p:first-of-type {
  margin-top: 0;
}
.wp-block-pullquote blockquote p:last-of-type {
  margin-bottom: 0;
}
.wp-block-pullquote cite {
  font-style: normal;
  font-size: 14px;
  font-weight: 500;
}

.wp-block-post-author__content {
  gap: 0.3rem;
  font-weight: 500;
  display: flex;
}

.wp-block-post-author__byline {
  font-size: 1em;
  width: auto;
}

.wp-element-button {
  -webkit-transform-style: preserve-3d;
  -webkit-backface-visibility: hidden;
  -webkit-transform: translateZ(0);
}
.wp-element-button:hover {
  opacity: 0.8;
}

.wp-block-search {
  padding: 0 !important;
  margin: 0 !important;
  border-radius: 2px;
  transition: 0.15s ease;
}
.wp-block-search button {
  width: auto !important;
}

.equal-height-columns {
  justify-content: space-between;
}

.stretch-content-to-match-height {
  height: 100%;
  display: flex;
  flex-flow: column;
  width: 100%;
}
.stretch-content-to-match-height > div {
  margin-left: 0 !important;
  margin-right: 0 !important;
}
.stretch-content-to-match-height .last-block {
  margin-top: auto;
}

.subscribe-form-container {
  border: 1px solid var(--wp--preset--color--accent);
  border-radius: 4px;
  background: var(--wp--preset--color--base);
  padding: 4px 30px 4px 15px;
  align-items: center;
  justify-content: center;
}

.subscribe-form {
  display: flex;
  margin: auto;
}
.subscribe-form input {
  border: none !important;
  outline: none;
  margin: 0 !important;
  width: 100%;
  padding-left: 0;
  background: none;
}
.subscribe-form button {
  background: none;
  color: var(--wp--preset--color--accent);
  border: none;
  outline: none;
  box-shadow: none;
  font-size: var(--wp--preset--font-size--medium);
  font-family: inherit;
  font-weight: 500;
  cursor: pointer;
}
.subscribe-form button:hover {
  opacity: 0.8;
}

.comment-form-cookies-consent {
  display: none !important;
}

h3#reply-title {
  font-size: var(--wp--preset--font-size-large);
}

.logged-in-as,
.comment-notes {
  color: var(--wp--preset--color--contrast-alt);
  font-size: calc(0.9 * var(--wp--preset--font-size--small));
}

.bh-post-template-list li:last-of-type .wp-block-columns {
  margin-bottom: 0 !important;
}

.remove-last-post-bottom-border li:last-of-type .wp-block-columns {
  padding-bottom: 0 !important;
  border-bottom: none !important;
}

.wp-block-separator {
  border-bottom: none;
}

.input-line {
  display: flex;
  flex-flow: column;
  margin-bottom: 15px;
}
.input-line label {
  font-weight: 500;
}

.wp-element-button {
  width: 100%;
}
.wp-element-button:hover {
  transform: 0.2s all !important;
}

body.page-template-default .top-of-page-ad-space,
body.page-template-default .bottom-of-page-ad-space,
.single-product .top-of-page-ad-space,
.single-product .bottom-of-page-ad-space,
.woocommerce-checkout .top-of-page-ad-space,
.woocommerce-checkout .bottom-of-page-ad-space,
.woocommerce-cart .top-of-page-ad-space,
.woocommerce-cart .bottom-of-page-ad-space {
  display: none;
}

#loginform > p {
  display: flex;
  flex-flow: column;
}
#loginform .login-remember {
  display: none;
}
#loginform #wp-submit {
  background-color: var(--wp--preset--color--accent);
  border-radius: 2px;
  border-width: 0;
  color: var(--wp--preset--color--base);
  font-family: var(--wp--preset--font-family--abcdiatype);
  font-size: var(--wp--preset--font-size--small);
  font-weight: 500;
  letter-spacing: 0;
  line-height: inherit;
  padding-top: 10px;
  padding-right: 18px;
  padding-bottom: 10px;
  padding-left: 18px;
  text-decoration: none;
  text-transform: uppercase;
}

body.logged-in .hide-if-logged-in {
  display: none;
}

@media (min-width: 768px) {
  adpost.wp-block-template-part {
    position: sticky;
    top: 140px;
  }
}
.ad-container {
  border-radius: 8px;
}
.ad-container > span {
  border-radius: 8px;
}
.ad-container .wp-block-cover__container {
  border-radius: 8px;
}

.related-posts-list {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 1.25em;
  list-style: none;
  margin-bottom: 0;
  margin-top: 0;
  max-width: 100%;
  padding: 0;
}
.related-posts-list .wp-block-post {
  margin-top: 0 !important;
}

.related-posts-list.is-flex-container > li {
  margin: 0;
  width: 100%;
}

@media (min-width: 600px) {
  .related-posts-list.is-flex-container.is-flex-container.columns-4 > li {
    width: calc(25% - 0.9375em) !important;
  }
}
.woocommerce-page h1.wp-block-post-title {
  text-align: center;
  margin: auto !important;
}

.single_add_to_cart_button.button {
  background-color: var(--wp--preset--color--accent);
  border-radius: 0;
  border-width: 0;
  color: var(--wp--preset--color--base);
  font-family: var(--wp--preset--font-family--abcdiatype);
  font-size: var(--wp--preset--font-size--small);
  font-weight: 500;
  letter-spacing: 0;
  line-height: inherit;
  padding-top: 10px;
  padding-right: 18px;
  padding-bottom: 10px;
  padding-left: 18px;
  text-decoration: none;
  text-transform: uppercase;
  cursor: pointer;
}

.woocommerce div.product p.price,
.woocommerce div.product span.price {
  color: var(--wp--preset--color--contrast);
}

.product_meta,
.woocommerce-breadcrumb,
.related.products,
.woocommerce-tabs {
  display: none;
}

.woocommerce-message,
.woocommerce-error {
  border-top-color: var(--wp--preset--color--contrast-alt);
}
.woocommerce-message:before,
.woocommerce-error:before {
  color: var(--wp--preset--color--contrast-alt);
}

#wc-block-components-totals-coupon__form {
  flex-flow: column;
}

.wc-block-components-totals-coupon__form .wc-block-components-totals-coupon__button {
  height: auto;
  margin: 5px 0;
}

button.wc-block-mini-cart__button {
  cursor: pointer;
  box-shadow: none !important;
}

button.single_add_to_cart_button {
  width: 100% !important;
}

.happyforms-form {
  border: 1px solid !important;
  padding: 15px !important;
  border-radius: 12px !important;
}
.happyforms-form label {
  font-weight: 500 !important;
}
.happyforms-form button.happyforms-submit {
  margin-right: 0;
  font-family: var(--wp--preset--font-family--abcdiatype) !important;
  font-weight: 500 !important;
  letter-spacing: normal !important;
}

.bottom-author-profile .wp-block-post-author {
  align-items: flex-start !important;
}
.bottom-author-profile .wp-block-post-author__content {
  flex-flow: column;
}
.bottom-author-profile .wp-block-post-author__content .wp-block-post-author__bio {
  margin: 0 !important;
  font-weight: normal !important;
  font-size: 15px;
}

.wp-block-post-author {
  align-items: center;
}

.wp-block-post-author__name a {
  text-decoration: none;
}

.wp-block-post-author__avatar img {
  border: 2px solid;
  width: 36px !important;
  height: 36px !important;
  display: block;
  border-radius: 50%;
  box-shadow: var(--wp--preset--shadow--sharp);
}

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

.wp-block-button.is-style-outline > .wp-block-button__link,
.wp-block-button .wp-block-button__link.is-style-outline {
  padding: 6px 14px;
}

.wp-block-post-template.is-flex-container {
  gap: 2.5em 1.25em;
}

.wp-block-navigation a.wp-block-navigation-item__content.wp-block-navigation-item__content:where(:not(.wp-element-button)):hover {
  color: var(--wp--preset--color--contrast-medium);
}

.taxonomy-category.has-text-align-center,
.has-text-align-center.wp-block-post-author {
  justify-content: center;
}
.taxonomy-category.has-text-align-center .wp-block-post-author__content,
.has-text-align-center.wp-block-post-author .wp-block-post-author__content {
  flex: none;
}

.columns-of-posts li {
  padding-right: 15px;
  border-right: 1px solid var(--wp--preset--color--border-default);
}
.columns-of-posts li:last-child {
  border-right: none;
}

.desktop-menu .wp-block-navigation-item {
  border-right: 1px solid var(--wp--preset--color--accent);
  padding-right: 12px;
}
.desktop-menu .wp-block-navigation-item:last-of-type {
  padding-right: 0;
  border: none;
}

@media (min-width: 767px) {
  .wp-block-navigation.desktop-menu .has-child .wp-block-navigation-submenu__toggle[aria-expanded=true] ~ .wp-block-navigation__submenu-container,
  .wp-block-navigation.desktop-menu .has-child:not(.open-on-click):hover > .wp-block-navigation__submenu-container,
  .wp-block-navigation.desktop-menu .has-child:not(.open-on-click):not(.open-on-hover-click):focus-within > .wp-block-navigation__submenu-container {
    min-width: 210px !important;
  }
}
.wp-block-navigation__responsive-container-content .wp-block-navigation__container {
  width: 100% !important;
}
.wp-block-navigation__responsive-container-content a:hover {
  color: var(--wp--preset--color--accent) !important;
}

.hamburger-menu .wp-block-search {
  width: 100%;
}
.hamburger-menu .wp-block-navigation__responsive-container-close {
  padding-top: 15px !important;
}
.hamburger-menu .wp-block-navigation__responsive-dialog {
  margin-top: 0 !important;
}
.hamburger-menu .wp-block-navigation__container {
  columns: 4 auto;
  display: block !important;
}
.hamburger-menu .wp-block-navigation__container > li.wp-block-navigation-item {
  break-inside: avoid;
  margin: 0 0 30px;
}
.hamburger-menu .wp-block-navigation__container > li.wp-block-navigation-item a {
  text-decoration: underline;
}
.hamburger-menu li.wp-block-navigation-item {
  white-space: nowrap;
}
.hamburger-menu .wp-block-navigation__submenu-container {
  padding: 10px 0 0 !important;
}
.hamburger-menu .wp-block-navigation__submenu-container a {
  text-transform: capitalize !important;
  font-weight: normal !important;
  font-family: var(--wp--preset--font-family--gtalpina) !important;
  letter-spacing: 0 !important;
  font-size: var(--wp--preset--font-size--medium);
  text-decoration: none !important;
}

.subscribe-price-options .wp-block-column {
  display: flex;
  flex-flow: column;
  border-right: 1px solid var(--wp--preset--color--border-default) !important;
}
.subscribe-price-options .wp-block-column:last-of-type {
  border: none !important;
}
.subscribe-price-options .wp-block-column .wp-block-buttons {
  margin-top: auto;
}

@media (min-width: 767px) {
  .admin-bar header .wp-block-navigation__responsive-close {
    padding-top: 32px !important;
  }
}
@media (max-width: 980px) {
  header .wp-block-navigation__container {
    font-size: 12px;
  }
}
@media (max-width: 767px) {
  .hide-on-mobile {
    display: none !important;
  }
  .hide-on-desktop {
    display: flex !important;
  }
  .wp-block-post {
    padding-bottom: var(--wp--preset--spacing--50);
  }
  .wp-block-post:last-of-type {
    padding-bottom: 0;
  }
  .mobile-order-1 {
    order: 1;
  }
  .mobile-order-2 {
    order: 2;
  }
  .mobile-order-3 {
    order: 3;
  }
  .mobile-order-4 {
    order: 4;
  }
  .center-on-mobile {
    margin-left: auto !important;
    margin-right: auto !important;
  }
  .mobile-padding-0 {
    padding: 0 !important;
  }
  .mobile-padding-top-0 {
    padding-top: 0 !important;
  }
  .mobile-padding-bottom-0 {
    padding-bottom: 0 !important;
  }
  .mobile-padding-right-0 {
    padding-right: 0 !important;
  }
  .mobile-padding-left-0 {
    padding-left: 0 !important;
  }
  .mobile-row-gap-0 {
    row-gap: 0 !important;
  }
  .is-style-three-col-per-row-max,
  .is-style-four-col-per-row-max {
    grid-template-columns: 1fr;
  }
  .wp-block-cover {
    min-height: auto !important;
  }
  .mobile-menu-top-right {
    margin-bottom: 10px !important;
  }
  .mobile-menu-top-right .is-content-justification-right {
    justify-content: center;
  }
  .mobile-menu-top-right .wp-block-woocommerce-mini-cart {
    display: none !important;
  }
  .header-main-group {
    padding-top: 10px !important;
    padding-bottom: 10px !important;
    margin-bottom: 0 !important;
    display: flex;
    flex-flow: column;
  }
  footer {
    margin-bottom: 30px !important;
  }
  footer .wp-block-buttons.is-vertical > .wp-block-button.wp-block-button__width-25 {
    width: 100% !important;
  }
  footer .wp-block-navigation__container {
    gap: 10px !important;
    flex-flow: column !important;
  }
  .wp-block-post-template.wp-columns-3 {
    gap: 0 !important;
  }
  .bh-post-template-list li.wp-block-post {
    padding-bottom: 10px !important;
  }
  .mobile-header-content {
    display: flex;
    margin: 0 !important;
    flex-flow: column;
    gap: 10px !important;
  }
  .mobile-header-content .wp-block-site-logo img {
    width: 100% !important;
  }
  .hamburger-menu-container {
    width: 100%;
    align-items: flex-end !important;
  }
  .hamburger-menu .wp-block-navigation__container {
    columns: 1 !important;
  }
  .columns-of-posts li {
    border-right: none;
    border-bottom: 1px solid var(--wp--preset--color--border-default);
  }
}
