/**
 * Responsive Styles
 */
/**
 * Required Variables
 */
/**
 * Root Media Query Variables
 */
:root {
  --global--spacing-horizontal: 2.5rem;
  --global--spacing-vertical: 1.25rem;
  --responsive--spacing-horizontal: calc(2 * var(--global--spacing-horizontal) * 0.6);
  --responsive--aligndefault-width: calc(100vw - var(--responsive--spacing-horizontal));
  --responsive--alignwide-width: calc(1600px - 2 * var(--global--spacing-horizontal));
  --responsive--alignfull-width: 100%;
  --responsive--alignright-margin: var(--global--spacing-horizontal);
  --responsive--alignleft-margin: var(--global--spacing-horizontal);
}

@media only screen and (min-width: 482px) {
  :root {
    --responsive--aligndefault-width: min(calc(100vw - 4 * var(--global--spacing-horizontal)), 610px);
    /* --responsive--alignwide-width: calc(100vw - 4 * var(--global--spacing-horizontal)); */
    --responsive--alignright-margin: var(--global--spacing-horizontal);
    --responsive--alignleft-margin: var(--global--spacing-horizontal);
  }
}
@media only screen and (min-width: 822px) {
  :root {
    --responsive--aligndefault-width: min(calc(100vw - 8 * var(--global--spacing-horizontal)), 800px);
    /* --responsive--alignwide-width: min(calc(100vw - 8 * var(--global--spacing-horizontal)), 1440px); */
  }
}

@media only screen and (min-width: 1600px) {
  :root {
    --responsive--aligndefault-width: min(calc(100vw - 8 * var(--global--spacing-horizontal)), 800px);
    /* --responsive--alignwide-width: calc(1600px - 2 * var(--global--spacing-horizontal)); */
  }
}

/**
 * Extends
 */
.post-thumbnail, .entry-content .wp-audio-shortcode, .entry-content > *:not(.alignwide):not(.alignfull):not(.alignleft):not(.alignright):not(.wp-block-separator):not(.woocommerce),
*[class*=inner-container] > *:not(.entry-content):not(.alignwide):not(.alignfull):not(.alignleft):not(.alignright):not(.wp-block-separator):not(.woocommerce), .default-max-width {
  max-width: var(--responsive--aligndefault-width);
  margin-left: auto;
  margin-right: auto;
}

.widget-area, .pagination,
.comments-pagination, .post-navigation, .site-footer, .site-header, .alignwide, .is-style-alignwide, .wide-max-width {
  max-width: var(--responsive--alignwide-width);
  margin-left: var(--global--spacing-horizontal);
  margin-right: var(--global--spacing-horizontal);
}

p.is-style-alignwide {
  max-width: var(--responsive--alignwide-width) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.wp-block-image figcaption {
  display: block;
  font-family: var(--global--font-mono);
  font-size: .825rem;
  color: var(--color-lightgray);
  margin-top: 0;
  margin-bottom: .25rem;
}

.alignfull, .wp-block-group .wp-block-group__inner-container > *.alignfull, .full-max-width {
  max-width: var(--responsive--alignfull-width);
  width: var(--responsive--alignfull-width);
  margin-left: auto;
  margin-right: auto;
}

.alignwide {
  margin-left: auto;
  margin-right: auto;
}

@media only screen and (min-width: 482px) {
  .alignfull, .full-max-width {
    max-width: var(--responsive--alignfull-width);
    width: auto;
    margin-left: auto;
    margin-right: auto;
  }
}
.entry-header .post-thumbnail, .singular .post-thumbnail, .alignfull [class*=inner-container] > .alignwide, .alignwide [class*=inner-container] > .alignwide {
  margin-left: auto;
  margin-right: auto;
  width: var(--responsive--alignwide-width);
  max-width: var(--responsive--alignfull-width);
}

@media only screen and (min-width: 482px) {
  .entry-content > .alignleft {
    /*rtl:ignore*/
    margin-left: var(--responsive--alignleft-margin);
    /*rtl:ignore*/
    margin-right: var(--global--spacing-horizontal);
  }
}
@media only screen and (min-width: 482px) {
  .entry-content > .alignright {
    /*rtl:ignore*/
    margin-left: var(--global--spacing-horizontal);
    /*rtl:ignore*/
    margin-right: var(--responsive--alignright-margin);
  }
}
/**
 * Site Structure
 *
 * - Set vertical margins and responsive widths on
 *   top-level wrappers and content wrappers
 * - `--global--width-content` is a responsive variable
 * - See: globals/_global-width-responsive.scss
 */
/**
 * Top Level Wrappers (header, main, footer)
 * - Set vertical padding and horizontal margins
 */
.site-header,
.site-main,
.widget-area,
.site-footer {
  padding-top: var(--global--spacing-vertical);
  padding-bottom: var(--global--spacing-vertical);
  margin-left: auto;
  margin-right: auto;
}

.site-header {
  padding-top: calc(0.75 * var(--global--spacing-vertical));
  padding-bottom: calc(2 * var(--global--spacing-vertical));
}
@media only screen and (min-width: 482px) {
  .site-header {
    padding-bottom: calc(3 * var(--global--spacing-vertical));
  }
}

/**
 * Site-main children wrappers
 * - Add double vertical margins here for clearer hierarchy
 */
.site-main > *:first-child {
  margin-top: 0;
}
.site-main > *:last-child {
  margin-bottom: 0;
}

/**
 * Set the default maximum responsive content-width
 */
/**
 * Set the wide maximum responsive content-width
 */
/**
 * Set the full maximum responsive content-width
 */
/*
 * Block & non-gutenberg content wrappers
 * - Set margins
 */

/*
 * Block & non-gutenberg content wrapper children
 * - Sets spacing-vertical margin logic
 */
.site-main > article > *:not(:first-child),
.site-main > .not-found > *:not(:first-child),
.entry-content > *:not(:first-child),
[class*=inner-container] > *:not(:first-child),
.wp-block-template-part > *:not(:first-child) {
  margin-top: calc(2 * var(--global--spacing-vertical)) !important;
  margin-bottom: calc(2 * var(--global--spacing-vertical)) !important;
}

@media only screen and (min-width: 482px) {
  .site-main > article > *,
  .site-main > .not-found > *,
  .entry-content > *,
  [class*=inner-container] > *,
  .wp-block-template-part > * {
    margin-top: calc(2 * var(--global--spacing-vertical));
    margin-bottom: calc(2 * var(--global--spacing-vertical));
  }
}

.site-main > article > *:first-child,
.site-main > .not-found > *:first-child,
.entry-content > *:first-child,
[class*=inner-container] > *:first-child,
.wp-block-template-part > *:first-child {
  margin-top: 0;
}

.site-main > article > *:last-child,
.site-main > .not-found > *:last-child,
.entry-content > *:last-child,
[class*=inner-container] > *:last-child,
.wp-block-template-part > *:last-child {
  margin-bottom: 0;
}

.site-footer > *,
.widget-area > * {
  margin-top: calc(0.666 * var(--global--spacing-vertical));
  margin-bottom: calc(0.666 * var(--global--spacing-vertical));
}
@media only screen and (min-width: 482px) {
  .site-footer > *,
.widget-area > * {
    margin-top: var(--global--spacing-vertical);
    margin-bottom: var(--global--spacing-vertical);
  }
}

/*
 * Block & non-gutenberg content wrapper children
 * - Sets spacing-unit margins
 */
.entry-header > *,
.post-thumbnail > *,
.page-content > *,
.comment-content > *,
.widget > * {
  margin-top: var(--global--spacing-unit);
  margin-bottom: var(--global--spacing-unit);
}
.entry-header > *:first-child,
.post-thumbnail > *:first-child,
.page-content > *:first-child,
.comment-content > *:first-child,
.widget > *:first-child {
  margin-top: 0;
}
.entry-header > *:last-child,
.post-thumbnail > *:last-child,
.page-content > *:last-child,
.comment-content > *:last-child,
.widget > *:last-child {
  margin-bottom: 0;
}

/*
 * .entry-content children specific controls
 * - Adds special margin overrides for alignment utility classes
 */
.entry-content > *.alignleft, .entry-content > *.alignright, .entry-content > *.alignleft:first-child + *, .entry-content > *.alignright:first-child + *, .entry-content > *.alignfull.has-background {
  margin-top: 0;
}
.entry-content > *:last-child, .entry-content > *.alignfull.has-background {
  margin-bottom: 0;
}
.entry-content > *.alignfull + .alignleft, .entry-content > *.alignfull + .alignright {
  margin-top: var(--global--spacing-vertical);
}

/* .wp-block-columns.alignfull {
  margin: 0 1.5rem;
} */

.widget-area, .pagination, .comments-pagination, .post-navigation, .site-footer, .site-header, .alignwide, .wide-max-width {
    margin-left: auto !important;
    margin-right: auto !important;
}

@media screen and (max-width: 1600px) {
  .widget-area, .pagination, .comments-pagination, .post-navigation, .site-footer, .site-header, .alignwide, .wide-max-width {
      max-width: 100%;
      padding: 0 !important;
      margin-left: var(--four-spacer) !important;
      margin-right: var(--four-spacer) !important;
  }
}

@media screen and (max-width: 991px) {
  .widget-area, .pagination, .comments-pagination, .post-navigation, .site-footer, .site-header, .alignwide, .wide-max-width {
      max-width: 100%;
      padding: 0 !important;
      margin-left: var(--two-spacer) !important;
      margin-right: var(--two-spacer) !important;
  }
}

@media screen and (max-width: 991px) {
  .post-thumbnail, .entry-content .wp-audio-shortcode, .entry-content > *:not(.alignwide):not(.alignfull):not(.alignleft):not(.alignright):not(.wp-block-separator):not(.woocommerce), *[class*=inner-container] > *:not(.entry-content):not(.alignwide):not(.alignfull):not(.alignleft):not(.alignright) {
    max-width: 100%;
    margin-left: var(--two-spacer) !important;
    margin-right: var(--two-spacer) !important;
  }

  .wp-block-cover, .wp-block-cover-image {
    width: inherit;
  }

  .wp-block-columns.alignfull {
    margin: 0;
  }

}

.entry-content div.has-background {
  padding: var(--four-spacer) var(--two-spacer) !important;
}

.entry-content .has-border-color {
  padding: var(--two-spacer) !important;
  border-width: 1px;
}

@media screen and (max-width: 991px) {
  .entry-content .has-background,
  .entry-content .has-border-color {
    padding: var(--two-spacer);
  }
}

.wp-block-column > *:not(:last-child) {
  margin-bottom: calc(1.5 * var(--global--spacing-vertical));
}

.wp-block-column > * {
  margin: 0;
}

/* Not Default - Custom styling for Gutenberg blocks */

/* .wp-block-image.alignwide figcaption, */
.wp-block-image.alignfull figcaption {
  padding: 0 var(--two-spacer);
}

@media screen and (min-width: 992px) {
  /* .wp-block-image.alignwide figcaption, */
  .wp-block-image.alignfull figcaption {
    padding: 0 var(--four-spacer);
  }
}

.wp-block-buttons.is-style-wide-button .wp-block-button,
.wp-block-buttons.is-style-wide-button .wp-block-button__link {
    width: 100%;
}

.wp-block-image.is-style-rounded img {
    border-radius: 20px !important;
}

.wp-block-group {
    border-width: initial;
}


/* Special styling to allow for proper spacing within groups while eliminating
unwanted gaps between text that has a "highlight" (background)
and text meant to follow it in the same statement */

.wp-block-group > *:not(:first-child) {
  margin-top: calc(1.5 * var(--global--spacing-vertical));
}

h1.has-background + h1,
h2.has-background + h2,
h3.has-background + h3,
h4.has-background + h4,
h5.has-background + h5,
h6.has-background + h6 {
  margin-top: 0 !important
}

/* End special group styling */

.alignfull > .alignfull:only-child {
  max-width: 1600px;
  padding-left: var(--two-spacer);
  padding-right: var(--two-spacer);
}

@media screen and (min-width: 992px) {
  .alignfull > .wp-block-group,
  .alignfull > .wp-block-columns {
    max-width: 1600px;
    padding-left: var(--four-spacer);
    padding-right: var(--four-spacer);
  }
}

@media screen and (min-width: 992px) {
  .wp-block-button.is-style-wide .wp-block-button__link {
    width: 800px !important;
  }
}

.wp-block-embed.is-type-video .wp-block-embed__wrapper {
  position: relative;
  width: 100%;
  height: 0;
  padding-bottom: 56.25% !important;
}

.wp-block-embed.is-type-video iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.wp-block-embed iframe {
  width: 100%;
}

.entry-content > iframe {
  display: block !important;
}

button {
  outline: none !important;
  -webkit-appearance: none !important;
}

/* Blockquote */

.wp-block-quote {
  padding: var(--two-spacer);
  border: 1px solid;
}

.wp-block-quote:not(.has-text-color):not(.has-background) {
  background-color: var(--wp--preset--color--yellow-15);
}

.wp-block-quote p {
  color: inherit;
}

.wp-block-quote cite {
  display: block;
  width: fit-content;
  width: -ms-fit-content;
  padding-top: var(--two-spacer);
  margin-top: var(--two-spacer);
  border-top: 1px dashed;
  text-transform: none;
}

/* Pull quote */

.wp-block-pullquote {
  padding: 0;
  border: 0;
}

.wp-block-pullquote:not(.has-text-color):not(.has-background) {
  color: var(--wp--preset--color--purple);
}

.wp-block-pullquote cite {
  display: block;
  padding-top: var(--two-spacer);
  margin-top: var(--two-spacer);
  border-top: 1px dashed;
  text-transform: none;
}