/*** icon font here ***/
@font-face {
  font-family: 'heshe';
  src: url('../fonts/Icons/heshe.eot?86826817');
  src: url('../fonts/Icons/heshe.eot?86826817#iefix') format('embedded-opentype'),
       url('../fonts/Icons/heshe.woff2?86826817') format('woff2'),
       url('../fonts/Icons/heshe.woff?86826817') format('woff'),
       url('../fonts/Icons/heshe.ttf?86826817') format('truetype'),
       url('../fonts/Icons/heshe.svg?86826817#heshe') format('svg');
  font-weight: normal;
  font-style: normal;
}
/* Chrome hack: SVG is rendered more smooth in Windozze. 100% magic, uncomment if you need it. */
/* Note, that will break hinting! In other OS-es font will be not as sharp as it could be */
/*
@media screen and (-webkit-min-device-pixel-ratio:0) {
  @font-face {
    font-family: 'heshe';
    src: url('../font/heshe.svg?86826817#heshe') format('svg');
  }
}
*/
[class^="icon-"]:before, [class*=" icon-"]:before {
  font-family: "heshe";
  font-style: normal;
  font-weight: normal;
  speak: never;

  display: inline-block;
  text-decoration: inherit;
  width: 1em;
  margin-right: .2em;
  text-align: center;
  /* opacity: .8; */

  /* For safety - reset parent styles, that can break glyph codes*/
  font-variant: normal;
  text-transform: none;

  /* fix buttons height, for twitter bootstrap */
  line-height: 1em;

  /* Animation center compensation - margins should be symmetric */
  /* remove if not needed */
  margin-left: .2em;

  /* you can be more comfortable with increased icons size */
  /* font-size: 120%; */

  /* Font smoothing. That was taken from TWBS */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;

  /* Uncomment for 3D effect */
  /* text-shadow: 1px 1px 1px rgba(127, 127, 127, 0.3); */
}

.icon-check:before { content: '\e800'; } /* '' */
.icon-envelop:before { content: '\e802'; } /* '' */
.icon-phone:before { content: '\e804'; } /* '' */
.icon-arrow-right:before { content: '\e805'; } /* '' */
.icon-map-marker:before { content: '\e807'; } /* '' */
.icon-text-message:before { content: '\e808'; } /* '' */
.icon-cancel-x:before { content: '\e80a'; } /* '' */
.icon-plus:before { content: '\e80b'; } /* '' */
.icon-youtube:before { content: '\e80c'; } /* '' */
.icon-instagram:before { content: '\e80d'; } /* '' */
.icon-tiktok:before { content: '\e80e'; } /* '' */
.icon-time:before { content: '\e811'; } /* '' */


/*** standard ***/
html {
  box-sizing: border-box;
  font-size: 16px !important;
}
*,
*::before,
*::after {
  box-sizing: inherit;
}
body {
  font-size: 1.125rem;
  --wp--preset--font-size--small: 1.125rem;
  position: relative;
}
body.page,
body.post  {
  background-image: url('../images/page-bg.webp');
  background-position: top center;
  background-attachment: fixed;
}
.editor-styles-wrapper .is-root-container.block-editor-block-list__layout  {
  min-height: 500px;
  background-image: url('../images/page-bg.webp');
  background-position: top center;
  background-attachment: fixed;
}
body > .wp-site-blocks {
  padding-top: 0;
  padding-bottom: 0;
}

img {
  max-width: 100%;
  height: auto;
}

.hide-this {
  display: none;
}
.editor-post-title {
  position: relative;
  z-index: 2;
}
.editor-styles-wrapper :where(.wp-site-blocks) > * {
  margin-block-start: 0 !important;
}
main {
  margin-block-start: 0 !important;
  margin-block-end: 0 !important;
}
.page main {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}
.editor-styles-wrapper .edit-post-visual-editor__post-title-wrapper h1 {
  max-width: 1280px;
  margin-bottom: 2rem;
  text-align: center;
}
:root :where(.is-layout-constrained) > *,
:where(.wp-site-blocks) > *,
:where(.wp-site-blocks) > div {
  margin-block-start: 0 !important;
  margin-block-end: 0 !important;
}
:root :where(.wp-block-post-content) {
  padding-top: 0;
  padding-bottom: 0;
}
:where(body .is-layout-constrained) > div {
  margin-block-start: 0 !important;
  margin-block-end: 0 !important;
}
.is-layout-constrained > * {
  margin-block-start: 0;
  margin-block-end: 0;
}
.wp-block-video {
  margin: 0 !important;
}
.wp-element-button {
  padding-bottom: calc(0.8em + 2px);
}
a {
  -moz-transition: all 0.3s ease-in-out;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}
h1, h2, h3, h4 {
  font-family: "Barlow Condensed", sans-serif;
}
.wp-block-post-title {
  padding-top: 40px;
  padding-bottom: 15px;
  font-size: clamp(2rem, 1.167rem + 2.667vw, 3rem);
  font-weight: 400;
}
p strong,
li strong {
  font-weight: 600;
}
@media (max-width: 781px) {
  .mobile-no {display: none;}
}
.x-list {
  list-style: none;
  margin-left: 0;
  padding-left: 10px;
}
.x-list li {
  padding-left: 1em;
  text-indent: -1em;
}
.x-list li.wp-block {
  display: flex;
  align-items: center;
}
.x-list li > div {
  margin-left: 10px;
}
.x-list li:before {
  content: '\e80a';
  font-family: 'basic';
  font-size: 1.5rem;
  color: #f33;
  padding-right: 8px;
  vertical-align: middle;
}

.quote-white-block:before {
  content: '';
}
.quote-white-block {
  margin: 30px 0;
  background: #fff;
  border-radius: 5px;
}
.quote-white-block p {
  margin: 0;
  padding: 30px;
  font-style: italic;
  font-weight: 500;
}

/* grid */
._row {
  display: flex;
  flex-wrap: wrap;
}
._row-padded {
  padding-left: 1rem;
  padding-right: 1rem;
  display: flex;
  flex-wrap: wrap;
}
._col-8 {margin: 0 1rem;width: calc(8.333% - 2rem);}
._col-17 {margin: 0 1rem;width: calc(16.666% - 2rem);}
._col-20 {margin: 0 1rem;width: calc(20% - 2rem);}
._col-225 {margin: 0 1rem;width: calc(22.5% - 2rem);}
._col-25 {margin: 0 1rem;width: calc(25% - 2rem);}
._col-275 {margin: 0 1rem;width: calc(27.5% - 2rem);}
._col-30 {margin: 0 1rem;width: calc(30% - 2rem);}
._col-33 {margin: 0 1rem;width: calc(33.333% - 2rem);}
._col-40 {margin: 0 1rem;width: calc(40% - 2rem);}
._col-42 {margin: 0 1rem;width: calc(41.666% - 2rem);}
._col-45 {margin: 0 1rem;width: calc(45% - 2rem);}
._col-50 {margin: 0 1rem;width: calc(50% - 2rem);}
._col-55 {margin: 0 1rem;width: calc(55% - 2rem);}
._col-58 {margin: 0 1rem;width: calc(58.333% - 2rem);}
._col-60 {margin: 0 1rem;width: calc(60% - 2rem);}
._col-67 {margin: 0 1rem;width: calc(66.666% - 2rem);}
._col-70 {margin: 0 1rem;width: calc(70% - 2rem);}
._col-75 {margin: 0 1rem;width: calc(75% - 2rem);}
._col-80 {margin: 0 1rem;width: calc(80% - 2rem);}
._col-83 {margin: 0 1rem;width: calc(83.333% - 2rem);}
._col-92 {margin: 0 1rem;width: calc(91.666% - 2rem);}
._col-100 {margin: 0 1rem;width: calc(100% - 2rem);}

._col-8w {margin: 0;width: 8.333%;}
._col-17w {margin: 0;width: 16.666%;}
._col-20w {margin: 0;width: 20%;}
._col-25w {margin: 0;width: 25%;}
._col-30w {margin: 0;width: 30%;}
._col-33w {margin: 0;width: 33.333%;}
._col-40w {margin: 0;width: 40%;}
._col-42w {margin: 0;width: 41.666%;}
._col-45w {margin: 0;width: 45%;}
._col-50w {margin: 0;width: 50%;}
._col-55w {margin: 0;width: 55%;}
._col-58w {margin: 0;width: 58.333%;}
._col-60w {margin: 0;width: 60%;}
._col-67w {margin: 0;width: 66.666%;}
._col-70w {margin: 0;width: 70%;}
._col-75w {margin: 0;width: 75%;}
._col-80w {margin: 0;width: 80%;}
._col-83w {margin: 0;width: 83.333%;}
._col-92w {margin: 0;width: 91.666%;}

/*[class^="_col-"], [class*="_col-"] {
  position: relative;
}*/

._col-fill {margin: 0 1rem;flex: 1;min-width: 0;}
._v-centered {align-items: center;}
._h-centered {text-align: center;}

/* from style-shared.min.css */
.is-style-heroesspeak-flat-button .wp-block-button__link,
.is-style-heroesspeak-flat-button .wp-block-button__link:active,
.is-style-heroesspeak-flat-button .wp-block-button__link:focus,
.is-style-heroesspeak-flat-button .wp-block-button__link:hover,
.is-style-heroesspeak-flat-button .wp-block-button__link:visited {
    border-radius: 0;
    box-shadow: none;
    margin-bottom: 0;
    margin-top: 0;
}
.is-style-heroesspeak-box-shadow {
    box-shadow: var(--wp--preset--shadow--natural);
}
.is-style-heroesspeak-list-underline li {
    border-bottom: 1px solid;
}
.is-style-heroesspeak-list-underline ul {
    border-top: 1px solid;
}
.is-style-heroesspeak-list-underline ul li {
    border: none;
}
details.is-style-heroesspeak-plus > summary {
    list-style-type: "+ ";
}
details[open].is-style-heroesspeak-plus > summary {
    list-style-type: "- ";
}
details.is-style-heroesspeak-plus > summary::marker {
    font-family: var(--wp--preset--font-family--monospace);
    font-size: 1em;
    font-weight: 700;
}
.wc-block-grid .wc-block-grid__product-onsale,
.wc-block-grid__product-image .wc-block-grid__product-onsale,
.woocommerce span.onsale {
    background-color: var(--wp--preset--color--primary);
    border: none;
    border-radius: 100%;
    color: var(--wp--preset--color--contrast);
    font-size: 1rem;
    height: 3.7rem;
    line-height: 3.236;
    text-align: center;
    text-transform: capitalize;
    width: 3.7rem;
}
.woocommerce div.product .stock {
    color: var(--wp--preset--color--primary);
}

.header-top {
  min-height: 60px;
  padding-top: 10px;
  padding-bottom: 12px;
  background-color: rgba(0,0,0,0.85);
  border-bottom: 2px solid #000;
  color: #fff;
  position: relative;
}
.header-top.block-editor-block-list__layout {
  z-index: 3;
}
.header-top-row {
  position: relative;
}
@media (max-width: 640px) {
  .header-top-row {padding-top: 40px;}
}
.header-top-row h2 {
  font-size: 30px;
  font-weight: 300;
}
.header-top-commerce {
  top: 7px;
  right: 0;
  position: absolute !important;
  gap: 5px;
}
.header-main {
  padding-top: 20px;
  padding-bottom: 25px;
  background: #000000;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0.8) 0%, rgba(0, 0, 0, 0.4) 100%);
  border-top: 1px solid #666;
  box-shadow: 0px 7px 7px rgba(0,0,0,0.4);
  color: #fff;
  position: relative;
  z-index: 2;
}

.header-main .wp-block-site-logo {
  padding-bottom: 30px;
}
.main-nav {
  position: relative;
}
.main-nav ul.wp-block-navigation {
  gap: 0 !important;
}
.main-nav ul.wp-block-navigation li {
  padding: 3px 15px;
}
.main-nav a {
  font-family: "Barlow Condensed", sans-serif;
  font-weight: 400;
  text-transform: uppercase;
  text-decoration: none;
  letter-spacing: 1px;
  color: #fff;
  position: relative;
}
.main-nav a:before {
  content: '';
  width: 0%;
  height: 1px;
  background: #fff;
  left: 0px;
  bottom: 2px;
  position: absolute;
  display: block;
  -moz-transition: all 0.3s ease-in-out;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}
.main-nav a:hover:before,
.main-nav a:focus:before {
  width: 100%;
}
.main-nav .current-menu-item a:before {
  width: 100%;
}
.main-nav ul.wp-block-navigation-submenu {
  background-color: rgba(0,21,64,0.6) !important;
  gap: unset;
}
.main-nav ul.wp-block-navigation-submenu li a span::before {
  bottom: 0px;
}
.wp-block-navigation__responsive-container-close {
  padding: 15px 10px 0 0;
  /*color: #fff !important;*/
}

/* Change the WordPress default css to a 1000px media query */
@media (min-width: 768px) {
  .wp-block-navigation__responsive-container-open:not(.always-shown) {
      display: none !important;
  }
  .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) {
      display: block !important;
      width: 100%;
      position: relative;
      z-index: auto;
      background-color: inherit;
  }
  .main-nav ul.wp-block-navigation-submenu {
    padding-top: 20px;
    padding-bottom: 10px;
  }
}
/* Remove the WordPress default for 600px */
@media (min-width: 600px) {
  .wp-block-navigation__responsive-container-open:not(.always-shown) {
      display: flex;
  }
  .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) {
      display: none;
  }
  .header-main .wp-block-group {
    padding-left: 0px;
    padding-right: 0px;
  }
}
@media (max-width: 600px) {
  .header-top-row h2 {
    font-size: 24px;
  }
  .header-top .wp-block-group,
  .header-main .wp-block-group {
    padding-left: 0px !important;
    padding-right: 0px !important;
  }
}

.wp-element-button {
  padding: 8px 28px 10px;
  font-family: "Barlow Condensed", sans-serif;
  font-weight: 400;
  line-height: 1;
  color: #fff;
  border: none !important;
  -moz-transition: all 0.3s ease-in-out;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}
.wp-element-button:hover {
  transform: scale(110%);
}

.large-btn .wp-element-button {
  padding: 12px 40px 16px;
  font-size: 22px;
}

/*.is-root-container,*/
.is-root-container {
  padding-bottom: 70px !important;
}
main.wp-block-group {
  min-height: 500px;
  padding-bottom: 70px !important;
  background: #e5e5e5;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0.25) 0%, rgba(0, 0, 0, 0) 100%);
}

.page-intro p {
  font-size: 21px;
}
.page-title-sub {
  font-family: "Barlow", sans-serif;
  color: var(--wp--preset--color--primary);
  font-size: 21px;
  font-weight: 700;
  position: relative;
}
.page-title-sub:before {
  content: '';
  width: 150px;
  height: 2px;
  background: var(--wp--preset--color--primary);
  display: block;
  left: 50%;
  margin-left: -75px;
  top: -8px;
  position: absolute;
}
.subheading {
  font-weight: 400;
  font-size: 40px;
  line-height: 1.2;
}
.subheading span {
  display: block;
  font-size: 24px;
}

.custom-3col {
  justify-content: center;
  flex-wrap: wrap !important;
}
.custom-3col .wp-block-column {
  width: calc(33.333% - 16px);
  max-width: calc( 33.333% - 16px);
  min-width: calc( 33.333% - 16px);
}
@media (max-width: 1080px) {
  .custom-3col .wp-block-column {
    width: calc(50% - 12px);
    max-width: calc( 50% - 12px);
    min-width: calc( 50% - 12px);
  }
}
@media (max-width: 768px) {
  .custom-3col .wp-block-column {
    width: 100%;
    max-width: 100%;
    min-width: 100%;
  }
}

.membership-plans .member-plan-col {
  margin-top: 80px;
  padding: 0 24px 30px;
  background: rgba(255,255,255,0.4);
  border-radius: 8px;
  box-shadow: 0px 2px 5px rgba(0,0,0,0.3);
  text-align: center;
}
.membership-card-image img {
  margin: -80px auto 0px;
  width: 100% !important;
  max-width: 320px;
}
.membership-card-price,
.membership-card-text {
  margin-top: 0px;
}
.member-plan-col .swpm-button-wrapper {
  display: flex;
  justify-content: center;
}
.membership-details {
  padding: 0 24px;
  display: flex;
  flex-direction: column;
}
.membership-details figure {
  margin-top: 50px;
  opacity: 0.2;
}
@media (max-width: 1080px) {
  .membership-details {
    order: -1;
    min-width: 100%;
  }
}

.session-spacer {
  position: relative;
}
.session-spacer:after {
  content: '';
  width: 80px;
  height: 10px;
  background: #000;
  border-radius: 5px;
  display: block;
  left: 50%;
  margin-left: -40px;
  bottom: 15px;
  position: absolute;
}
.sessions-wrap .wp-block-column {
  padding: 52px 24px 30px;
  background: rgba(255,255,255,0.4);
  border-radius: 8px;
  box-shadow: 0px 2px 5px rgba(0,0,0,0.3);
}
.session-time {
  margin-top: -4px;
  margin-bottom: 25px;
  font-family: "Barlow", sans-serif;
  font-weight: 400;
  position: relative;
}
.session-time:before {
  content: '\e811';
  font-family: 'heshe';
  font-size: 32px;
  left: 50%;
  margin-left: -16px;
  top: -40px;
  position: absolute;
}
.session-time:after {
  content: '';
  width: 100px;
  height: 2px;
  background: var(--wp--preset--color--contrast);
  display: block;
  left: 50%;
  margin-left: -50px;
  bottom: -5px;
  position: absolute;
}
.session-block-heading {
  padding-bottom: 10px;
  color: var(--wp--preset--color--primary);
  font-weight: 600;
  font-size: 30px;
  line-height: 1.1;
}
.session-description,
.session-pricing {
  margin-top: 10px;
  line-height: 1.2;
}
.availability-note {
  padding: 15px;
  max-width: 400px;
  background: rgba(255,255,255,0.3);
  border-bottom: 1px solid #999;
  border-radius: 15px;
}

.book-info-wrapper,
.wp-block-columns.is-not-stacked-on-mobile.book-pricing-wrapper {
  align-items: center !important;
  flex-wrap: wrap !important;
}
.book-pricing-wrapper .wp-block-column {
  min-width: 224px;
  padding: 15px 20px 18px !important;
  text-align: center;
}
.book-info-wrapper .wp-block-video {
  margin: 0 auto !important;
  max-width: 420px;
}
.products-row {
  align-items: center !important;
}
.products-row .wp-block-column {
  margin: 0 auto;
  max-width: 352px;
  padding: 15px 20px 18px !important;
  text-align: center;
}

.tshirt-wrap {
  aspect-ratio: 92 / 107;
  position: relative;
  overflow: hidden;
}
.tshirt-wrap figure {
  top: 0;
  left: 0;
  position: absolute;
  width: 100%;
  max-width: 100%;
  opacity: 0;
  -moz-transition: all 0.3s ease-in-out;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}
.block-editor-block-list__block .tshirt-wrap figure:first-child {
  opacity: 1;
}
.tshirt-wrap figure.tshirt-selected {
  opacity: 1;
}

.book-pricing-wrapper h2,
.tshirt-wrap h2,
.products-row h2 {
  font-size: 24px;
  font-weight: 400;
}
.book-pricing-wrapper h2 span,
.tshirt-wrap h2 span,
.products-row h2 span {
  font-size: 21px;
}
.book-pricing-wrapper p,
.tshirt-wrap p,
.products-row p {
  margin: 0 0 12px !important;
  line-height: 1.1;
}
.wp_cart_variation_section {
  padding-bottom: 15px;
}
.wp_cart_variation_section select {
  margin-bottom: 8px;
  padding: 6px 15px 6px 10px;
  font-size: 16px;
}
.wp-cart-button-form {
  display: block !important;
  width: 100%;
}
.wp-cart-button-form input[type="submit"] {
  padding: 8px 30px 10px;
  width: 100% !important;
  background: var(--wp--preset--color--primary);
  border: none;
  border-radius: 6px;
  font-family: "Barlow Condensed", sans-serif;
  font-size: 24px;
  line-height: 1.1;
  color: #fff;
  cursor: pointer;
}
.wp_cart_empty_cart_section {
  text-align: center;
}
.wp_cart_visit_shop_link {
  display: none;
}
.wspsc_compact_cart2 {
  background-color: transparent;
  border: none;
  max-width: 100px;
  min-width: 100px;
}
.wspsc_compact_cart2_inside {
  background: none;
}
.wspsc_compact_cart2_container {
  filter: invert(1);
  padding-left: 30px;
}
.wspsc_compact_cart2_view_cart_link {
  color: #000 !important;
}
.wspsc_compact_cart2_view_cart_link:hover {
  color: #000 !important;
}

.find-a-match-heading {
  position: relative;
}
.find-a-match-heading:after {
  content: '';
  width: 80px;
  height: 8px;
  border-radius: 4px;
  background: #ed1c24;
  bottom: 0;
  left: 50%;
  margin-left: -40px;
  display: block;
  position: absolute;
}
/* ensures the increment/decrement arrows always display as long as step is not 'any' */
input[type="number"]:not([step="5"])::-webkit-inner-spin-button,
input[type="number"]:not([step="5"])::-webkit-outer-spin-button {
  opacity: 1;
}
.forminator-row-last {
  text-align: center;
}
.form-submit-button {
  margin: 0 auto !important;
  padding: 8px 30px 12px !important;
  background: var(--wp--preset--color--primary);
  border: none !important;
  border-radius: 6px !important;
  font-family: "Barlow Condensed", sans-serif !important;
  font-size: 21px !important;
  font-weight: 400 !important;
  line-height: 1.1 !important;
  color: #fff;
}
@media (min-width: 769px) {
  .number-field input[type="number"] {
    max-width: 122px !important;
  }
}

.location-map {
  position: relative;
  width: 100%;
  /* Calculate padding-top based on the aspect ratio (height / width * 100%).
     For a 16:9 aspect ratio (common for videos), this is (9 / 16) * 100 = 56.25% */
  padding-top: 56.25%; /* Example for 16:9 aspect ratio */
  overflow: hidden;
}

.location-map iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.footer-inner-wrap {
  margin-top: 100px !important;
}
.footer-main-wrap {
  margin-top: -110px !important;
}
.footer-main {
  padding: 3rem 2rem 2.5rem;
  background: var(--wp--preset--color--secondary);
}
.footer-logo {
  padding-bottom: 15px;
}
.footer-logo img {
  width: 100%;
  max-width: 380px;
}
.footer-nav ul.wp-block-navigation {
  justify-content: center;
  gap: 0 !important;
}
.footer-nav ul.wp-block-navigation li {
  padding: 3px 15px;
}
.footer-nav a {
  font-family: "Barlow Condensed", sans-serif;
  font-weight: 400;
  text-transform: uppercase;
  text-decoration: none;
  letter-spacing: 1px;
  color: #fff;
  position: relative;
}
.footer-nav a:before {
  content: '';
  width: 0%;
  height: 1px;
  background: #fff;
  left: 0px;
  bottom: 2px;
  position: absolute;
  display: block;
  -moz-transition: all 0.3s ease-in-out;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}
.footer-nav a:hover:before,
.footer-nav a:focus:before {
  width: 100%;
}
.footer-nav .current-menu-item a:before {
  width: 100%;
}
.footer-copyright {
  font-weight: 300;
  font-size: 14px;
  gap: 3px;
}
.footer-copyright .wp-block-site-title {
  font-size: 14px;
}
