/*--------------------------------------------------------------
>>> TABLE OF CONTENTS:
----------------------------------------------------------------
# General Structure
  ## Button
  ## Code
  ## Cover
  ## Embeds
  ## Gallery
  ## Group
  ## Image
  ## Latest Posts
  ## List
  ## More
  ## Navigation
  ## Pullquote
  ## Quote
  ## Separator
  ## Site Tagline
  ## Table
  ## Video
# Additional Theme Styles
  ## Color Palette
  ## Font sizes
--------------------------------------------------------------*/

/*--------------------------------------------------------------
# Block Styles
--------------------------------------------------------------*/

/*--------------------------------------------------------------
## General Structure
--------------------------------------------------------------*/

.entry-content > * {
  margin: 36px auto;
  max-width: 580px;
  padding-left: 14px;
  padding-right: 14px;
}

.entry-content > .alignwide {
  max-width: 1070px;
}

.entry-content > .alignfull {
  margin: 1.5em 0;
  max-width: 100%;
}

@media screen and (min-width: 768px) {
  .is-root-container {
    padding-left: min(6.5rem, 8vw);
    padding-right: min(6.5rem, 8vw);
  }

  .is-root-container > .alignfull {
    margin-left: max(-6.5rem, -8vw);
    margin-right: max(-6.5rem, -8vw);
  }

  .entry-content > * {
    padding-left: 0px;
    padding-right: 0px;
  }

  .alignleft {
    float: left;
    margin-inline-start: 0;
    margin-inline-end: 2em;
    margin-left: calc(var(--sp) * -7)
  }
  
  .alignright {
    float: right;
    margin-inline-start: 2em;
    margin-inline-end: 0;
    margin-right: calc(var(--sp) * -7)
  }  

  .editor-styles-wrapper .alignleft {
    margin-left: 7vw;
  }
  
  .editor-styles-wrapper .alignright {
    margin-right: 7vw;
  }  
}

.is-layout-flex {
  display: flex;
}

/*--------------------------------------------------------------
  ## Button
  --------------------------------------------------------------*/
/*
  Core block library style is setting color for hover which is a bug.
  This is a workaround.
*/
.wp-block-button__link.has-primary-color:hover {
  color: var(--color-primary);
}

.wp-block-buttons {
  display: flex;
  gap: 10px;
}

.wp-block-button.is-style-outline > .wp-block-button__link {
  background-color: var(--color-secondary-light) !important;
  color: var(--color-text) !important;
  border: 2px solid var(--color-secondary);
  padding: var(--sp0-5) var(--sp2);
}

.wp-block-button .wp-block-button__link {
  border-radius: 4px;
  padding: var(--sp0-5) var(--sp2);
  background-color: var(--color-primary);
  color: var(--color-light);
  border: 1px solid var(--color-primary);
}

/*--------------------------------------------------------------
  ## Code
  --------------------------------------------------------------*/

.wp-block-code {
  padding: 0.8em 1em;
  margin-left: 14px;
  margin-right: 14px;
}

@media screen and (min-width: 768px) {
  .wp-block-code {
    margin-left: auto;
    margin-right: auto;
  }
}

/*--------------------------------------------------------------
  ## Cover
  --------------------------------------------------------------*/

/*
  The following z-index handling on cover block are a bit of a hack
  to fit theme's style. Shouldn't be necessary on most themes.
  @todo Better handling of cover block on the theme.
*/
.wp-block-cover {
  min-height: 200px;
  /* To avoid overlap with header */
  z-index: -1;
}

/* Remove z-index when in editor */
.block-editor-block-list__layout .wp-block-cover {
  z-index: 0 !important;
}

.wp-block-cover-text p {
  padding: 1.5em 14px;
}

.wp-block-cover__inner-container > *:not(.alignfull) {
  max-width: var(--container-max-width);
  margin-left: auto;
  margin-right: auto;
}

@media screen and (min-width: 768px) {
  .wp-block-cover-text p {
    padding: 1.5em 0;
  }

  .wp-block-cover {
    min-height: 480px;
  }  
}

/*--------------------------------------------------------------
  ## Embeds
  --------------------------------------------------------------*/

.wp-block-embed.type-video > .wp-block-embed__wrapper,
.wp-block-embed-youtube > .wp-block-embed__wrapper {
  position: relative;
  width: 100%;
  height: 0;
  padding-top: 56.25%;
  z-index: 1 !important;
}

.wp-block-embed.type-video > .wp-block-embed__wrapper > iframe,
.wp-block-embed-youtube > .wp-block-embed__wrapper > iframe {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  z-index: 1 !important;
}

figure.wp-embed-aspect-16-9 {
  aspect-ratio: 16 / 9;
}

figure.wp-embed-aspect-16-9 .wp-block-embed__wrapper,
figure.wp-embed-aspect-16-9 .wp-block-embed__wrapper iframe {
  height: 100%;
  width: 100%;
}

/* @media screen and (min-width: 768px) {
  .wp-block-embed.alignleft {
    margin-left: calc(var(--sp) * -6);
  }

  .wp-block-embed.alignright {
    margin-right: calc(var(--sp) * -6);
  }
} */

/*--------------------------------------------------------------
  # Gallery
  --------------------------------------------------------------*/

.wp-block-gallery:not(.components-placeholder) {
  margin: 1.5em auto;
  display: flex;
}

/*--------------------------------------------------------------
  ## Group
  --------------------------------------------------------------*/

.wp-block-group > .wp-block-group__inner-container > *:not(.entry-content) {
  max-width: var(--container-max-width);
  margin-left: auto;
  margin-right: auto;
}

.wp-block-group > .wp-block-group__inner-container > .alignwide {
  max-width: 1070px;
}

.wp-block-group > .wp-block-group__inner-container > .alignfull {
  max-width: 100%;
}

.wp-block-group.has-background
  > .wp-block-group__inner-container
  > :first-child {
  margin-top: 0;
}

.wp-block-group.has-background > .wp-block-group__inner-container > .alignfull {
  width: calc(100% + 60px);
  max-width: calc(100% + 60px);
  position: relative;
  left: -30px;
}

/*--------------------------------------------------------------
  # Image
  --------------------------------------------------------------*/

.wp-block-image img {
  display: block;
}

.wp-block-image.alignleft {
  width: 100%;
}

.wp-block-image.alignright {
  width: 100%;
}

@media screen and (min-width: 768px) {
  .wp-block-image.alignleft {
    width: auto;
    float: left;
    margin-right: calc(var(--sp) * 2);
    margin-left: calc(var(--sp) * -4);
  }
  
  .wp-block-image.alignright {
    width: auto;
    float: right;
    margin-left: calc(var(--sp) * 2);
    margin-right: calc(var(--sp) * -4);
  }  
}

.wp-block-image.alignfull img {
  width: 100vw;
}

.wp-block-image .alignleft img,
.wp-block-image .alignright img,
.wp-block-image .alignleft figcaption,
.wp-block-image .alignright figcaption {
  max-width: 100%;
  width: 100%;
}

/*--------------------------------------------------------------
  ## Latest Posts
  --------------------------------------------------------------*/

ul.wp-block-latest-posts.alignwide,
ul.wp-block-latest-posts.alignfull,
ul.wp-block-latest-posts.is-grid.alignwide,
ul.wp-block-latest-posts.is-grid.alignwide {
  padding: 0 14px;
}

/*--------------------------------------------------------------
  # List
  --------------------------------------------------------------*/

.entry-content ul,
.entry-content ol {
  margin: 1.5em auto;
  max-width: 580px;
  list-style-position: outside;
}

.entry-content li {
  margin-left: 2.5em;
}

.entry-content ul ul,
.entry-content ol ol,
.entry-content ul ol,
.entry-content ol ul {
  margin: 0 auto;
}

.entry-content ul ul li,
.entry-content ol ol li,
.entry-content ul ol li,
.entry-content ol ul li {
  margin-left: 0;
}

/*--------------------------------------------------------------
  ## More
  --------------------------------------------------------------*/

.more-link {
  display: block;
}

/*--------------------------------------------------------------
  ## Navigation
  --------------------------------------------------------------*/

.wp-block-navigation-link__label {
  font-family: inherit;
  color: #0073aa;
}

/*--------------------------------------------------------------
  ## Pullquote
  --------------------------------------------------------------*/

.wp-block-pullquote > p:first-child {
  margin-top: 0;
}

/*--------------------------------------------------------------
  ## Quote
  --------------------------------------------------------------*/

.wp-block-quote {
  border: none;
  font-size: var(--font-size-l);
}

/* Override Claro */
.wp-block-quote::before {
  content: '';
}

.wp-block-quote p {
  font-style: italic;
  font-family: var(--font-serif);
  line-height: var(--line-height-xl);
}

.wp-block-quote p::before {
  content: '“';
  font-size: 128px;
  color: var(--color-primary-light);
  line-height: 12px;
  vertical-align: bottom;
  margin-right: 24px;
}

.wp-block-quote p::after {
  content: '”';
  font-size: 128px;
  color: var(--color-primary-light);
  line-height: 0;
  vertical-align: bottom;
  margin-left: 8px;
}

/* .wp-block-quote p::before {
  content: '“';
  font-size: 3em;
  line-height: 0.1em;
  vertical-align: -0.4em;
  margin-right: var(--sp);
}

.wp-block-quote p::after {
  content: '”';
  font-size: 3em;
  line-height: 0.1em;
  vertical-align: -0.6em;
  margin-left: var(--sp);
} */

.wp-block-quote cite {
  font-family: var(--font-sans);
  font-size: var(--font-size-l);
  margin-left: var(--sp2);
}

.wp-block-quote cite::before {
  content: '— ';
}

/* .wp-block-quote > * {
  margin-left: 1rem;
} */

.wp-block-quote.is-large,
.wp-block-quote.is-style-large {
  margin: 36px auto;
  padding: 0;
}

.wp-block-quote.is-large cite,
.wp-block-quote.is-large footer,
.wp-block-quote.is-style-large cite,
.wp-block-quote.is-style-large footer {
  font-size: var(--font-size-l);
}

@media screen and (min-width: 768px) {
  .wp-block-quote {
    font-size: var(--font-size-xl);
  }
}

/*--------------------------------------------------------------
  ## Separator
  --------------------------------------------------------------*/

.wp-block-separator {
  margin: 3em auto;
  padding: 0;
}

/*--------------------------------------------------------------
  ## Site Tagline
  --------------------------------------------------------------*/

.wp-block-site-tagline {
  margin-top: 0;
}

/*--------------------------------------------------------------
  ## Site Title
  --------------------------------------------------------------*/

.wp-block-site-title {
  margin-bottom: 0;
}

/*--------------------------------------------------------------
  ## Table
  --------------------------------------------------------------*/

.wp-block-table {
  overflow-x: auto;
  margin-left: 14px;
  margin-right: 14px;
  width: calc(100% - 28px);
}

.wp-block-table table {
  border-collapse: collapse;
  width: 100%;
}

.wp-block-table td,
.wp-block-table th {
  padding: 0.5em;
}

@media screen and (min-width: 768px) {
  .wp-block-table {
    margin-left: auto;
    margin-right: auto;
    width: 100%;
  }
}

/*--------------------------------------------------------------
  ## Video
  --------------------------------------------------------------*/

.wp-block-video video {
  max-width: 580px;
}

/*--------------------------------------------------------------
  # Additional Theme Styles
  --------------------------------------------------------------*/

.wp-block-drupal-section.alignfull > *:not(.alignfull),
.wp-block-group.alignfull > *:not(.alignfull) {
  max-width: var(--container-max-width);
  margin-left: auto;
  margin-right: auto;
}

/*--------------------------------------------------------------
  ## Color Palette
  --------------------------------------------------------------*/

.has-primary-color {
  color: #007cb9;
}
.has-primary-background-color {
  background-color: #007cb9;
}

.has-secondary-color {
  color: #ff895d;
}
.has-secondary-background-color {
  background-color: #ff895d;
}

.has-tertiary-color {
  color: #d5eeff;
}
.has-tertiary-background-color {
  background-color: #d5eeff;
}

.has-dark-color {
  color: #000;
}
.has-dark-background-color {
  background-color: #000;
}

.has-light-color {
  color: #fff;
}
.has-light-background-color {
  background-color: #fff;
}

.has-primary-to-secondary-gradient-background {
  background: linear-gradient(135deg,rgba(0,124,185,1) 0%,rgb(255,137,93) 100%);
}

.has-secondary-to-primary-gradient-background {
  background: linear-gradient(135deg,rgba(255,137,93,1) 0%,rgb(0,124,185) 100%);
}

.has-secondary-to-dark-gradient-background {
  background: linear-gradient(to right bottom, #e7643d, #d5542f, #c24521, #b03513, #9e2404);
}

/*--------------------------------------------------------------
  ## Font sizes
  --------------------------------------------------------------*/
.has-extra-large-font-size {
  font-size: var(--font-size-xl);
  line-height: var(--line-height-xl);
}
  
.has-large-font-size {
  font-size: var(--font-size-l);
  line-height: var(--line-height-l);
}

.has-normal-font-size {
  font-size: var(--font-size-base);
  line-height: var(--line-height-base);
}

.has-small-font-size {
  font-size: var(--font-size-s);
  line-height: var(--line-height-s);
}

.has-extra-small-font-size {
  font-size: var(--font-size-xs);
  line-height: var(--line-height-s);
}
