/* General Structure
--------------------------------------------------------------*/
.alignfull {
  max-width: 100vw;
  margin-left: calc(-100vw / 2 + 100% / 2);
  margin-right: calc(-100vw / 2 + 100% / 2);
}

body:not(.full-width-content) .single-content .alignfull,
.page-template-default:where(:not(.front-page)) .alignfull {
  width: auto;
  margin-left: calc(-20px - .1vw);
  margin-right: calc(-20px - .1vw);
}

body:not(.full-width-content) .single-content .alignwide,
.page-template-default .alignwide {
  margin-left: -15px;
  margin-right: -15px;
}

.alignwide .alignfull {
  width: auto !important;
}

.alignwide .alignwide,
.alignfull .alignwide,
.alignwide .alignfull,
.alignfull .alignfull {
  margin-left: auto !important;
  margin-right: auto !important;
}

.wp-block-query .wp-block-post-featured-image.alignfull,
.wp-block-query .wp-block-post-featured-image.alignwide,
.wp-block-group:where(:not(.alignwide):not(.alignfull)) .alignfull,
.wp-block-columns:where(:not(.alignwide):not(.alignfull)) .alignfull,
[class^="wp-block-"]:where(:not(.alignwide):not(.alignfull)) .alignwide,
[class^="wp-block-"]:where(:not(.alignwide):not(.alignfull)) .alignfull {
  margin: 0;
  width: auto;
}

/* Colors
--------------------------------------------------------------*/
.has-bc-white-background-color {
  background-color: #fefefe !important;
}

.has-bc-white-color {
  color: #fefefe !important;
}

.has-bc-black-background-color {
  background-color: #010101 !important;
}

.has-bc-black-color {
  color: #010101 !important;
}

.has-primary-background-color {
  background-color: var(--cps--primary) !important;
}

.has-primary-color {
  color: var(--cps--primary) !important;
}

.has-primary-font-background-color {
  background-color: var(--cps--primary--font) !important;
}

.has-primary-font-color {
  color: var(--cps--primary--font) !important;
}

.has-secondary-background-color {
  background-color: var(--cps--secondary) !important;
}

.has-secondary-color {
  color: var(--cps--secondary) !important;
}

.has-secondary-font-background-color {
  background-color: var(--cps--secondary--font);
}

.has-secondary-font-color {
  color: var(--cps--secondary--font) !important;
}

.has-accent-background-color {
  background-color: var(--cps--accent) !important;
}

.has-accent-color {
  color: var(--cps--accent) !important;
}

.has-accent-font-background-color {
  background-color: var(--cps--accent--font) !important;
}

.has-accent-font-color {
  color: var(--cps--accent--font) !important;
}

.has-supportive-i-background-color {
  background-color: var(--cps--supportive-i) !important;
}

.has-supportive-i-color {
  color: var(--cps--supportive-i) !important;
}

.has-supportive-ii-background-color {
  background-color: var(--cps--supportive-ii) !important;
}

.has-supportive-ii-color {
  color: var(--cps--supportive-ii) !important;
}

.has-supportive-iii-background-color {
  background-color: var(--cps--supportive-iii) !important;
}

.has-supportive-iii-color {
  color: var(--cps--supportive-iii) !important;
}

a.has-bc-white-background-color:hover,
a.has-secondary-background-color:hover {
  background-color: var(--cps--primary) !important;
  color: var(--cps--primary--font) !important;
}

/* link
--------------------------------------------------------------*/
.entry-content a.wc-block-grid__product-link {
  color: inherit;
}

/* Button
--------------------------------------------------------------*/
.entry-content .wp-block-buttons {
  margin-bottom: 20px;
}

.entry-content .wp-block-buttons:last-child {
  margin-bottom: 0;
}

.wp-block-button__link,
a.wp-block-button__link {
  font-size: 14px;
  border-radius: 0;
  text-decoration: none;
}

.is-style-outline .wp-block-button__link {
  position: relative;
  vertical-align: middle;
  display: inline-block;
  text-align: center;
  cursor: pointer;
  -webkit-transition: 0.5s;
  transition: 0.5s;
}

.is-style-outline .wp-block-button__link:hover {
  color: inherit;
}

.is-style-outline .wp-block-button__link:before,
.is-style-outline .wp-block-button__link:after {
  width: 100%;
  height: 100%;
  z-index: 3;
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  border: 1px solid;
  border-color: inherit;
  box-sizing: border-box;
  -webkit-transform: scale(0);
  transform: scale(0);
  transition: .5s;
}

.is-style-outline .wp-block-button__link:before {
  border-top: 0;
  border-right: 0;
  -webkit-transform-origin: 0 100%;
  transform-origin: 0 100%;
}

.is-style-outline .wp-block-button__link:after {
  border-bottom: 0;
  border-left: 0;
  -webkit-transform-origin: 100% 0%;
  transform-origin: 100% 0%;
}

.is-style-outline .wp-block-button__link:hover::after,
.is-style-outline .wp-block-button__link:hover::before {
  -webkit-transform: scale(1);
  transform: scale(1);
}

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

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

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

.wp-block-cover__inner-container {
  padding: 0 10%;
}

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

.wp-block-embed.type-video>.wp-block-embed__wrapper {
  position: relative;
  width: 100%;
  height: 0;
  padding-top: 56.25%;
}

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

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

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

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

.wp-block-columns {
  row-gap: 1.2em;
}

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

figure.wp-block-image {
  margin-bottom: 20px;
}

figure.wp-block-image:last-child {
  margin-bottom: 0;
}

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

.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%;
}

.is-style-cps-diagonal-left img {
  clip-path: polygon(0 20%, 100% 0, 100% 80%, 0 100%);
}

.is-style-cps-diagonal-right img {
  clip-path: polygon(0 0, 100% 20%, 100% 100%, 0 80%);
}

.is-style-cps-shadow img {
  box-shadow: 0px 0px 10px 0px rgb(0 0 0 / 20%);
}

/*Block Media Text
--------------------------------------------------------------*/
.wp-block-media-text {
  column-gap: 4%;
  padding: 1.5em 2em;
}

.wp-block-media-text .wp-block-media-text__media,
.wp-block-media-text .wp-block-media-text__content {
  padding: 0;
}

.wp-block-media-text.has-background .wp-block-media-text__media {
  margin: -1.5em auto -1.5em -2em;
}

/* 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-bottom: 20px;
}

.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;
}

.entry-content .wc-block-grid ul,
.entry-content .wp-block-query ul {
  padding: 0;
  list-style: none;
}

/* More
--------------------------------------------------------------*/
.has-text-align-center .more-link {
  margin-right: auto;
  margin-left: auto;
}

.has-text-align-right .more-link {
  margin-right: auto;
}

/* 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.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: 13px;
  font-size: 0.8125rem;
}

/* 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: .5em;
}

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


@media screen and (min-width: 700px) {

  .alignwide,
  .full-width-content .entry-content .alignwide {
    width: auto;
    margin-left: -50px;
    margin-right: -50px;
  }

  .landing-page.full-width-content .entry-content .alignwide {
    margin-left: -100px;
    margin-right: -100px;
  }
}

@media screen and (max-width: 699px) {

  .alignwide,
  .full-width-content .entry-content .alignwide {
    width: auto;
    margin-left: -25px;
    margin-right: -25px;
  }
}

@media screen and (min-width: 644px) {
  .wp-block-quote {
    margin: 36px auto;
  }
}

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

  .wp-block-cover-image .wp-block-cover__inner-container,
  .wp-block-cover .wp-block-cover__inner-container {
    padding-left: 3%;
    padding-right: 3%;
  }

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

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

@media screen and (max-width: 600px) {
  .wp-block-media-text.is-stacked-on-mobile {
    row-gap: 1.5em;
  }

  .wp-block-media-text.has-background .wp-block-media-text__media {
    margin-right: -2em;
    margin-bottom: auto;
  }
}