body.single-post h1, body.single-post h2, body.single-post h3, body.single-post h4 {
  text-transform: none; }
  body.single-post .breadcrumbs {
    font-size: 16px; }
    body.single-post .breadcrumbs ul {
      list-style: none;
      margin: 50px 0 0 0;
      padding: 0; }
      body.single-post .breadcrumbs ul li {
        display: inline;
        margin: 0;
        padding: 0; }
        body.single-post .breadcrumbs ul li a {
          color: black;
          opacity: 0.7;
          transition: all ease-in 200ms; }
          body.single-post .breadcrumbs ul li a:hover {
            opacity: 1; }
        body.single-post .breadcrumbs ul li + li:before {
          content: '>';
          padding: 0 12px; }
  body.single-post main > section {
    max-width: 1000px;
    margin-left: auto;
    margin-right: auto;
    width: calc(calc(100%) - 30px);
    margin-bottom: 100px;
    font-size: 24px;
    line-height: 1.35; }
    body.single-post main > section.wide {
      max-width: 1420px; }
    @media only screen and (max-width: 750px) {
  body.single-post main > section {
    margin-bottom: 40px; } }
  body.single-post img.medium {
    max-width: 600px;
    margin: 0 auto;
    display: block; }
  body.single-post .post-header {
    display: flex; }
    @media only screen and (max-width: 750px) {
  body.single-post .post-header {
    flex-direction: column; }
    body.single-post .post-header .side-right {
      text-align: left !important;
      margin-top: 30px;
      flex-basis: 67px !important; } }
    body.single-post .post-header h1.post-title {
      padding: 0;
      text-transform: none;
      max-width: 815px;
      font-size: 44px;
      line-height: 1.35; }
    body.single-post .post-header .main-left {
      flex: 1; }
    body.single-post .post-header .side-right {
      text-align: right;
      flex-basis: 106px;
      min-width: 106px;
      text-transform: uppercase;
      font-size: 20px; }
      body.single-post .post-header .side-right .share-icons ul {
        list-style: none;
        padding: 0;
        margin: 0;
        display: flex; }
        body.single-post .post-header .side-right .share-icons ul a {
          font-size: 0;
          width: 33px;
          height: 33px;
          margin: 1px;
          opacity: 0.7;
          transition: all ease-in 200ms;
          background-repeat: no-repeat;
          background-position: center; }
          body.single-post .post-header .side-right .share-icons ul a:hover {
            opacity: 1; }
        body.single-post .post-header .side-right .share-icons ul .facebook a {
          background-image: url(../../images/fb.svg); }
        body.single-post .post-header .side-right .share-icons ul .twitter a {
          background-image: url(../../images/x.svg); }
        body.single-post .post-header .side-right .share-icons ul .linkedin a {
          background-image: url(../../images/li.svg); }
    body.single-post .post-header .author {
      display: flex;
      gap: 10px;
      margin-top: 30px;
      font-size: 16px;
      font-weight: bold;
      align-items: center;
      text-decoration: none;
      color: inherit; }
      body.single-post .post-header .author .display {
        max-width: 35px;
        width: 35px; }
        body.single-post .post-header .author .display img {
          aspect-ratio: 1;
          object-fit: cover;
          border-radius: 35px;
          display: block; }
    body.single-post .post-header .date {
      font-size: 16px;
      text-transform: uppercase;
      color: #24353d;
      margin: 40px 0 20px; }
  body.single-post a.button.button-outline {
    background: none;
    box-shadow: 0 0 0 2px #7726e0;
    color: #7726e0 !important; }
    body.single-post a.button.button-outline:hover {
      background: #42007d !important;
      color: white !important; }
  body.single-post .accordion-list.accordion .label {
    font-size: 24px;
    font-weight: bold; }
  body.single-post .accordion-list.accordion .accordion-item {
    padding: 15px 0;
    border-bottom: 1px solid #aaa; }
  body.single-post .accordion-list.accordion .accordion-title {
    color: #565a5c; }
  body.single-post .accordion-list.accordion {
    border-top: 1px solid #aaa; }
  body.single-post .accordion-list.accordion .accordion-title .icon:before {
    border: 2px solid #565a5c;
    background: transparent;
    transform: rotate(45deg) !important;
    width: 8px;
    height: 8px;
    border-top: 0;
    border-left: 0;
    margin: 0;
    padding: 0;
    border-radius: 0;
    display: block;
    margin: -6px 0 0 0; }
  body.single-post .accordion-list.accordion .accordion-title .icon:after {
    display: none; }
  body.single-post .accordion-list.accordion .accordion-title .icon {
    background: none; }
  body.single-post .accordion-list.accordion .active .accordion-title .icon:before {
    transform: rotate(225deg) !important; }

section.author-block {
  background: #e8e8e8;
  padding: 60px 96px; }
  section.author-block .section-inner {
    display: flex;
    gap: 30px; }
    section.author-block .section-inner .photo {
      min-width: 85px;
      flex-basis: 85px; }
      section.author-block .section-inner .photo img {
        aspect-ratio: 1;
        object-fit: cover;
        border-radius: 100%; }
    section.author-block .section-inner .details h4 {
      margin: 0;
      padding: 0;
      font-size: 16px;
      color: #00594c;
      letter-spacing: 0.75px;
      margin-bottom: 10px;
      text-transform: uppercase; }
      section.author-block .section-inner .details h3 {
        margin: 0;
        padding: 0;
        text-transform: none;
        margin-bottom: 40px; }
      section.author-block .section-inner .details .bio {
        margin: 0 -8px;
        font-size: 24px;
        line-height: 1.35; }
        section.author-block .section-inner .details .bio .content {
          margin-bottom: 30px; }
        section.author-block .section-inner .details .bio a.button {
          margin: 0; }
  @media only screen and (max-width: 750px) {
  section.author-block {
    padding: 60px 25px; }
    section.author-block .section-inner {
      flex-direction: column;
      text-align: center;
      align-items: center; }
      section.author-block .section-inner .photo {
        max-width: 85px; } }

hr.list-hr {
  margin: 0 auto 100px;
  max-width: 1400px; }

div.list-item-content {
  margin-bottom: 60px; }

section.post-links.wide {
  display: flex;
  padding-bottom: 50px;
  justify-content: space-between;
  font-size: 20px;
  font-weight: bold; }
  section.post-links.wide a {
    color: #565a5c;
    display: flex;
    gap: 10px;
    align-items: center; }
  section.post-links.wide .previous-post a:before {
    content: '';
    display: block;
    width: 34px;
    height: 11px;
    background-image: url(../../images/prev.svg);
    background-repeat: no-repeat; }
  section.post-links.wide .next-post a:after {
    content: '';
    display: block;
    width: 34px;
    height: 11px;
    background-image: url(../../images/prev.svg);
    transform: rotate(180deg);
    background-repeat: no-repeat; }

section.related-posts.wide .section-inner {
  padding: 100px 0; }

ul.blog-post-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 30px; }
  ul.blog-post-list li {
    flex-basis: calc(calc(33.333%) - 30px);
    max-width: calc(calc(33.333%) - 30px); }
    @media only screen and (max-width: 780px) {
  ul.blog-post-list li {
    flex-basis: calc(calc(50%) - 15px);
    max-width: calc(calc(50%) - 15px); } }
    @media only screen and (max-width: 580px) {
  ul.blog-post-list li {
    flex-basis: 100%;
    max-width: 100%; } }
    ul.blog-post-list li a {
      display: block;
      margin: 0;
      background: white;
      text-decoration: none;
      color: #565a5c;
      position: relative; }
      ul.blog-post-list li a .cat {
        position: absolute;
        top: 0;
        right: 0;
        background: #7726e0;
        color: #fade53;
        padding: 13px 25px;
        text-transform: uppercase;
        font-weight: bold;
        letter-spacing: 1px; }
      ul.blog-post-list li a img {
        aspect-ratio: 486/272;
        object-fit: cover; }
      ul.blog-post-list li a .shortview .details {
        padding: 30px; }
      ul.blog-post-list li a .title {
        font-weight: 800;
        font-size: 28px;
        line-height: 1.35; }
      ul.blog-post-list li a .date {
        text-transform: uppercase; }
      ul.blog-post-list li a .description {
        font-size: 20px;
        padding-top: 20px;
        padding-bottom: 20px; }
      ul.blog-post-list li a .button.button-outline {
        background: none;
        color: #7726e0 !important;
        box-shadow: 0 0 0 2px #7726e0; }
      ul.blog-post-list li a:hover .button.button-outline {
        color: #ffdc00 !important;
        background: #42007d !important; }

.archive-page {
  width: calc(calc(100%) - 30px);
  max-width: 1400px;
  margin: 0 auto; }
  .archive-page .breadcrumbs {
    font-size: 16px; }
    .archive-page .breadcrumbs ul {
      list-style: none;
      margin: 50px 0 0 0;
      padding: 0; }
      .archive-page .breadcrumbs ul li {
        display: inline;
        margin: 0;
        padding: 0; }
        .archive-page .breadcrumbs ul li a {
          color: black;
          opacity: 0.7;
          transition: all ease-in 200ms; }
          .archive-page .breadcrumbs ul li a:hover {
            opacity: 1; }
        .archive-page .breadcrumbs ul li + li:before {
          content: '>';
          padding: 0 12px; }

body.single-post main > section.article-section-cta-article {
  max-width: 1500px; }
  body.single-post main > section.article-section-cta-article .cta-row {
    background-size: cover;
    background-position: center;
    position: relative;
    display: flex;
    padding: 80px 180px;
    align-items: center;
    gap: 40px; }
    body.single-post main > section.article-section-cta-article .cta-row:before {
      content: '';
      display: block;
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background: black;
      opacity: 0.5; }
    body.single-post main > section.article-section-cta-article .cta-row > * {
      position: relative;
      color: white; }
    body.single-post main > section.article-section-cta-article .cta-row .title {
      font-size: 44px;
      font-weight: 800;
      flex: 1; }
    body.single-post main > section.article-section-cta-article .cta-row .description {
      flex: 1; }
    @media only screen and (max-width: 780px) {
  body.single-post main > section.article-section-cta-article .cta-row {
    padding: 30px;
    flex-direction: column;
    text-align: center;
    gap: 20px; } }

.header-image-archive {
  padding: 220px 30px;
  text-align: center;
  color: white;
  background-size: cover; }
  .header-image-archive .title {
    font-size: 90px;
    line-height: 1; }
    @media only screen and (max-width: 780px) {
  .header-image-archive .title {
    font-size: 50px; } }

.top-section {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  padding: 50px 0 90px; }
  .top-section h1 {
    margin: 0;
    padding: 0; }

.category-list ul {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  margin-bottom: 50px; }
  .category-list ul li a {
    background: #e8e8e8;
    padding: 12px 30px;
    display: inline-block;
    text-decoration: none;
    text-transform: uppercase;
    color: #565a5c;
    border-radius: 4px; }
  .category-list ul li.active a {
    background: #f9db55;
    color: #333; }

ul.blog-post-list.blog {
  margin: 0; }
  ul.blog-post-list.blog li a .shortview .details {
    padding-left: 0;
    padding-right: 0; }
  ul.blog-post-list.blog li a .shortview .details .button {
    margin-left: 0; }

section.author-header {
  width: 100vw;
  margin-left: calc(calc(50%) - 50vw);
  background: #e8e8e8;
  margin-top: -50px; }
  section.author-header .section-inner {
    display: flex;
    flex-wrap: wrap;
    gap: 30px;
    width: calc(calc(100%) - 30px); }
  section.author-header .section-inner .breadcrumbs {
    flex-basis: 100%;
    margin-bottom: 20px;
    margin-top: 50px; }
  section.author-header .section-inner .photo {
    flex-basis: 110px;
    max-width: 110px; }
    section.author-header .section-inner .photo img {
      aspect-ratio: 1;
      object-fit: cover;
      border-radius: 100px; }
  section.author-header .section-inner .details {
    flex: 1;
    padding-left: 50px; }
    section.author-header .section-inner .details h4 {
      font-size: 16px; }
    section.author-header .section-inner .details * {
      color: #00594c; }
    section.author-header .section-inner .details h3 {
      font-size: 44px;
      text-transform: none;
      color: #444; }
    section.author-header .section-inner .details .bio {
      font-size: 24px;
      line-height: 1.4;
      margin-bottom: 50px; }
  @media only screen and (max-width: 750px) {
    section.author-header .section-inner .photo {
      max-width: 100%;
      flex-basis: 100%; }
      section.author-header .section-inner .photo img {
        width: 110px;
        margin: 0 auto;
        display: block; }

    section.author-header .section-inner .details {
      max-width: 100%;
      padding: 0;
      text-align: center; }
      section.author-header .section-inner .details h4 {
        font-size: 14px !important; }
      section.author-header .section-inner .details h3 {
        font-size: 32px !important; } }

.archive-page .search-field input {
  border: 1px solid #ddd;
  padding: 10px;
  font-size: 20px;
  border-radius: 5px; }
  .archive-page .search-field button.search-button {
    background: #fade53;
    border: none;
    font-size: 20px;
    text-transform: uppercase;
    padding: 11px 18px;
    border-radius: 5px;
    color: #6d3381;
    font-weight: bold; }
  @media only screen and (max-width: 750px) {
  .archive-page .top-section {
    flex-direction: column;
    gap: 30px;
    padding-bottom: 60px; }
  .archive-page .top-section .search-field {
    width: 100%; }
  .archive-page .top-section .search-field form.search-form {
    display: flex;
    flex-direction: column;
    gap: 16px; } }

.archive-page .header-image-archive {
  margin-left: calc(calc(50%) - 50vw);
  width: 100vw; }

section.related-posts.wide ul.blog-post-list {
  margin: 30px 10px 0; }

ul.blog-post-list.blog > li.wide-item {
  margin: 50px 0 160px;
  text-align: left;
  flex-basis: 100%;
  min-width: 100%;
  font-size: 25px;
  opacity: 0.5; }

.program-modal {
  pointer-events: none;
  opacity: 0;
  z-index: 1000; }
  .program-modal .close {
    color: black !important;
    margin: -30px -30px 0 0;
    text-align: center !important;
    pointer-events: unset !important;
    cursor: pointer; }
  .program-modal.active {
    opacity: 1;
    pointer-events: unset; }
  .program-modal .modal-inner {
    background: white;
    border-radius: 15px;
    max-width: 352px;
    width: 80%;
    padding: 30px;
    text-align: center; }
  @media (min-width: 801px) {
  .program-modal .button.mobile-only {
    display: none; } }
  @media (max-width: 800px) {
  .program-modal .button.desktop-only {
    display: none; } }

@media (max-width: 800px) {
  .schedule-navigation {
    position: absolute;
    right: 0;
    width: 50%;
    color: white;
    background: #343434;
    margin: 0; }

  .schedule-navigation button {
    background: none;
    border: none;
    color: white;
    font-size: 16px;
    height: 44px;
    cursor: pointer; }

  table.schedule-table th {
    width: 50%; } }

.button.secondary-button {
  box-shadow: inset 0 0 0 2px #6d3381;
  background: white; }

.button.secondary-button:hover {
  background: #6d3381;
  color: #ffdc00; }

.program-modal .button {
  width: 100%; }

.program-modal .description {
  margin-bottom: 30px; }

.club-schedule-table {
  margin-bottom: 30px;
  /* Mobile-first styles */ }
  .club-schedule-table .legend > * {
    display: inline;
    width: auto;
    font-size: 16px !important;
    font-weight: normal;
    text-transform: uppercase;
    font-family: ;
    padding: 0;
    margin: 0; }
  .club-schedule-table .legend li {
    display: inline-block;
    margin: 0 12px; }
    .club-schedule-table .legend li span {
      width: 14px;
      height: 14px;
      display: inline-block;
      margin-right: 6px;
      border-radius: 11px; }

.schedule-table {
  width: 100%;
  border-collapse: collapse; }
  .schedule-table th, .schedule-table td {
    padding: 10px;
    text-align: center; }
  .day-column {
    display: block; }

.schedule-navigation {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 20px;
  /* Media queries for desktop (max-width: 768px is for mobile) */ }
  .schedule-navigation button {
    font-size: 1.5em;
    padding: 5px 15px;
    margin: 0 10px; }

@media (min-width: 801px) {
  .schedule-table {
    table-layout: fixed; }

  .day-column {
    display: table-cell !important; }

  .schedule-navigation {
    display: none; } }

@media (max-width: 800px) {
  .day-column {
    display: none; }

  .current-day {
    font-weight: bold;
    margin: 0 10px;
    /* Style for sticky days */ } }

.schedule-table .day-column {
  display: table-cell;
  padding: 0; }

.schedule-selector-wrapper {
  max-width: calc(calc(100%) - 30px);
  margin-left: auto;
  margin-right: auto; }

.club-schedule-table {
  max-width: calc(calc(100%) - 30px);
  margin-left: auto;
  margin-right: auto;
  position: relative; }

@media only screen and (min-width: 801px) {
  .schedule-table .day-column {
    display: table-cell !important; } }

table.schedule-table th {
  background: #343434;
  color: white;
  border-color: #343434; }

table.schedule-table td {
  border-color: #e8e8e8; }

.schedule-table .day-column div {
  padding: 10px; }

.club-schedule-table .legend {
  border-bottom: 1px solid #e8e8e8;
  padding: 0 0 30px;
  text-align: center;
  margin-bottom: 30px; }

.schedule-selector h2 {
  font-size: 36px; }

.schedule-selector {
  display: flex;
  align-items: center;
  justify-content: center;
  max-width: 1115px;
  margin: 0 auto; }
  .schedule-selector .select-field .options {
    background: white;
    border: 1px solid black;
    border-top: 0;
    width: calc(calc(100%) + 2px);
    left: -1px; }
  .schedule-selector .select-field .options .option:hover, .schedule-selector .select-field .options .option:focus {
    background: #fade53; }
  .schedule-selector .select-field .selected:after {
    content: '';
    display: block;
    width: 8px;
    height: 8px;
    border: 2px solid;
    position: absolute;
    right: 12px;
    top: 14px;
    transform: rotate(45deg);
    border-top: 0;
    border-left: 0;
    border-color: black;
    transition: all ease-in 200ms; }
  .schedule-selector .select-field.active .selected:after {
    transform: rotate(225deg); }
  .schedule-selector > p {
    max-width: 450px; }
  @media only screen and (max-width: 1001px) {
  .schedule-selector {
    flex-direction: column; }
    .schedule-selector h2 {
      font-size: 36px; } }

.schedule-selector-wrapper {
  border-top: 1px solid #e8e8e8;
  border-bottom: 1px solid #e8e8e8;
  margin-top: 30px;
  margin-bottom: 30px;
  padding-top: 30px;
  padding-bottom: 30px; }

.trigger-program-modal {
  cursor: pointer; }

.two-column-block {
  display: flex;
  gap: 50px; }

.two-column-block.desktop-row {
  flex-direction: row; }

.two-column-block.desktop-row-reverse {
  flex-direction: row-reverse; }

.two-column-block > .block-inner {
  flex: 1; }

@media only screen and (max-width: 800px) {
  .two-column-block.mobile-column {
    flex-direction: column; }

  .two-column-block.mobile-column-reverse {
    flex-direction: column-reverse; } }

body.privacy-modal-active .privacy-modal {
  z-index: 100; }

.blackcard-perks-slider .slides .black-card-perk-label {
  content: 'PF BLACK CARD® MEMBERSHIP PERK';
  display: block;
  background: #7726e0;
  color: #dcc0ff;
  font-size: 11px;
  padding: 0px;
  width: 200px;
  border-radius: 30px;
  text-align: center;
  margin-bottom: 40px;
  letter-spacing: 0.02em; }
  @media only screen and (max-width: 500px) {
  .blackcard-perks-slider .slides .black-card-perk-label {
    font-size: 13px;
    padding: 0px;
    width: 245px;
    margin-bottom: 20px; } }

section.pre-registrations .pre-registrations-form-wrapper .af-fields .af-field.hide-field {
  display: none; }
