body #page #content #primary #main .entry-content .accordion:after {
    margin-right: -1rem;
    margin-top: 0.8em;
}
h2 {
        font-size: 2.1rem;
        line-height: 1.2;
    }
.panel p {
    padding: 1em;
    padding-top: 0em;
}
.sp{
    font-size: 1.77rem;
    font-weight: 700;
}
.prs-directory-intro {
    h3{
    font-size:1em; font-weight: bold; text-transform: uppercase;
    }
}
dialog {
  border: none;
  border-radius: 5px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
  margin: auto;
  color: rgba(38, 34, 98, 1);
  font-size: 15px;
  letter-spacing: -0.5px;
  padding: 1.5em !important;
  max-width: 400px !important;
    li {
        margin-bottom: 0.6em;
    }
    h4{
        margin-top: -15px;
        padding-top: 0;
    }
}

/* Style the overlay/backdrop */
dialog::backdrop {
  background-color: rgba(0, 0, 0, 0.6);
  /* Add a smooth transition for the backdrop appearance */

}
dialog:-internal-dialog-in-top-layer::backdrop{
    transition: opacity 0.3s ease-out;
    background-color: rgb(255 255 255 / 50%);
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px); 
}
dialog[open] {
  inset: 0;
  margin: auto !important;
}

/* Optional: Add animations for the modal itself */
dialog.closing {
    opacity: 0;
    transform: scale(0.95);
    transition: opacity 0.3s ease-in, transform 0.3s ease-in;
}

/* Further customize the content */
.modal-content h2 {
  color: #333;
}

.modal-content p {
  color: #666;
}

.modal-content button {
  /* Style your buttons */
  background-color: #007bff;
  color: white;
  padding: 10px 15px;
  border: none;
  border-radius: 5px;
  cursor: pointer;
  margin-top: 1rem;
}
dialog.themodal {
  opacity: 1;
  transform: translateY(0);
  transition: opacity 0.25s ease, transform 0.25s ease;
}

.themodal.closing {
  opacity: 0;
  transform: translateY(-10px);
}
.prs-directory-info .wp-block-group__inner-container.is-layout-flow.wp-block-group-is-layout-flow {
        .wp-block-column {
            flex-basis: 50%;
        }
    }
.wp-element-button.alt-button{
    font-size: 16px;
    font-weight: bold;
    font-stretch: normal;
    font-style: normal;
    line-height: 1;
    letter-spacing: normal;
    text-align: center;
    text-decoration: none;
    text-transform: uppercase;
    color: #262262;
    background-color: #ffffff;
    border: 2px solid #262262;
    padding: 9px 20px !important;
    margin-top: 20px;
    margin-bottom: 6px;
}
.wp-element-button.alt-button:hover {
    color: #ffffff;
    background-color: #216fb4;
    border-color: #216fb4;
}
.prs-faq .wp-block-group.alignwide {
    padding: 0;
}
.prs-hero .wp-block-button__link {
    background: #ffffff;
    color: rgba(38, 34, 98, 1);
}
.prs-hero p {
    line-height: 45px;
}
.prs-process+p, dialog.themodal+p{
    display: none;
}
/* Container: indent the whole steps block a bit */
.prs-process-steps {
  margin-left: 2rem;        /* overall indent for the group */
  counter-reset: prs-step;  /* initialize CSS counter */
}

/* Each step: align number + content horizontally */
.prs-process-steps .prs-step {
  display: flex;
  align-items: flex-start;
  margin-bottom: 1.25rem;   /* space between steps */
}
.prs-process-steps h3.wp-block-heading {
    margin-block-start: 0;
}
/* Number circle to the left of each step */
.prs-process-steps .prs-step::before {
  counter-increment: prs-step;
  content: counter(prs-step);

  /* circle appearance */
    width: 50px;
    height: 50px;
    border-radius: 50%;
    background-color: #262262;
    color: #ffffff;
    font-weight: 700;
    font-size: 33px;
  line-height: 1;

  /* center the number inside the circle */
  display: flex;
  align-items: center;
  justify-content: center;

  /* spacing between circle and text */
  margin-right: 0.75rem;
  flex-shrink: 0;
}

/* Optional: ensure the text wraps nicely beside the circle */
.prs-process-steps .prs-step > *:not(:first-child) {
  /* if your first child is the ::before pseudo, content is 2nd+ */
  flex: 1 1 auto;
}

/* Optional: tweak for smaller screens */
@media (max-width: 600px) {
    .prs-directory-intro .adv:nth-of-type(odd) p {
        padding-right: 15px;
    }
    .prs-directory-intro .adv .theimg{
        img {
            min-width: 60px;
        }
    }
    .prs-directory-info>.wp-block-group__inner-container>.wp-block-columns {
        gap: 5px !important;
    }

  .prs-process-steps {
    margin-left: 1rem;
  }

  .prs-process-steps .prs-step::before {
    width: 28px;
    height: 28px;
    font-size: 14px;
  }
}

.prs-process-steps .prs-step::before {
    content: attr(data-step-number);
}
.prs-cta{
    padding-top: 60px;
    padding-bottom: 60px;
    background: linear-gradient(to right, rgb(255, 234, 246), rgb(231, 226, 249));
    .wp-block-group__inner-container{
        color:#262262;
    }
}

.boxbord {
    max-width: 800px;
    margin: auto;
    background: #ffffff;
    padding: 2em;
    letter-spacing: -0.5px;
    border: 1px solid #262262;
    border-radius: 4px;
    h4 {
        padding: 0;
        margin: 0;
    }
    p:nth-of-type(2){
        margin-bottom:0px;
    }
}
.prs-directory-image img{
    filter: drop-shadow(0px 0px 3px #999);
    border-radius: 4px;
}
:where(.wp-block-group.has-background) {
    padding: 0;
}
.prs-directory-info {
background: linear-gradient(270deg,rgba(162, 125, 183, 0.15) 0%,rgba(94, 174, 224, 0.15) 100%);
}

.entry-content .alignfull>.wp-block-group__inner-container{
    max-width: 1064px;
    padding: 0;
    margin: 0 auto;
}
.container_adv {
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: center;
    align-content: stretch;
    gap: 8px;
        .adv{
        display: flex;
        flex-direction: row;
        flex-wrap: nowrap;
        justify-content: flex-start;
        align-items: stretch;
        .thetext{
            flex-grow: 1;
        }
        .theimg{
            display: flex;
            justify-content: center;
            align-items: center;
        }
    }
    .adv:nth-of-type(even) {
        .thetext{
            order:2;
        } 
        .theimg{
            margin-right:1em;
        }
    }
}

.container_secrow {
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: center;
    align-content: stretch;
    gap: 8px;
}

.timeline-wrapper {
    max-width: 1000px;
    margin: 0 auto;
    margin-top: 6em;
    margin-bottom: 6em;
}

.timeline {
    position: relative;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 5px;
    padding: 40px 10px 10px;
    letter-spacing: -0.5px;
}

/* horizontal center line */
.timeline::before {
    content: "";
    position: absolute;
    top: 70px;
    left: 0;
    right: 0;
    height: 4px;
    background: #b894d6;
    border-radius: 2px;
    z-index: 0;
}

.timeline-step {
    position: relative;
    flex: 1;
    text-align: center;
    padding: 0 5px;
}

    /* dots on the line */
.timeline-step::before {
    content: "";
    position: absolute;
    top: 32px;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 16px;
    height: 16px;
    background: #262a76;
    border-radius: 50%;
    z-index: 1;
}

.timeline-step-title {
    font-size: 1rem;
    line-height: 1.3;
    margin-bottom: 10px;
    font-weight: 700;
    a{
        width: 100%;
        text-decoration: underline;
      }
}
.timeline-step:nth-of-type(odd) .timeline-step-title {
    position: relative;
    bottom: 3em;
}
    .timeline-step:nth-of-type(even) .timeline-step-title {
    position: relative;
    top: 3em;
}
.timeline-step-title .italic {
    font-style: italic;
}

.learn-more {
    display: inline-block;
    margin-top: 4px;
    font-size: 0.95rem;
    color: #0066b3;
    text-decoration: none;
    font-weight: 500;
}

.learn-more:hover, .learn-more:focus {
    text-decoration: underline;
}


@media (max-width: 1180px) {
    .prs-hero .wp-block-group__inner-container {
        max-width: 90% !important;
    }
    .prs-directory-intro.container_secrow {
        max-width: 88%;
        margin: auto;
    }
    .prs-process .wp-block-group__inner-container.is-layout-flow.wp-block-group-is-layout-flow, .prs-directory-info .wp-block-group__inner-container.is-layout-flow.wp-block-group-is-layout-flow {
        max-width: 88%;
        img {
            margin-top: 0.5em;
        }
    }
}
@media (max-width: 896px) {
    .prs-directory-info .wp-block-group__inner-container.is-layout-flow.wp-block-group-is-layout-flow{
        display: flex;
        flex-direction: row;
        flex-wrap: nowrap;
    }
    .timeline-wrapper {
        margin-top: 3em;
    }
    .timeline {
        flex-direction: column;
        align-items: flex-start;
        padding-top: 20px;
    }

    /* vertical line on the left */
    .timeline::before {
        top: 0;
        bottom: 0;
        left: 22px;
        right: auto;
        width: 4px;
        height: auto;
    }

    .timeline-step {
        text-align: left;
        padding-left: 55px;
        margin-bottom: 24px;
    }

    .timeline-step:last-child {
        margin-bottom: 0;
    }

    /* reposition dots for vertical layout */
    .timeline-step::before {
        top: 4px;
        left: 22px;
        transform: translate(-50%, 0);
    }

    .prs-process .wp-block-group__inner-container.is-layout-flow.wp-block-group-is-layout-flow {
        max-width: 88%;
    }

    .timeline {
        position: relative;
        flex-direction: column;
        align-items: center;        /* center everything horizontally */
        gap: 2.5rem;
        padding: 2rem 0;
    }

    /* vertical center line */
    .timeline::before {
        content: "";
        position: absolute;
        top: 0;
        bottom: 0;
        left: 50%;
        width: 2px;
        background: #ccc;          /* adjust color to match design */
        transform: translateX(-50%);
    }

    .timeline-step {
        position: relative;
        width: 100%;
        padding: 0rem 1.5rem;
    }

    .timeline-step-title {
        display: inline-block;
    }

    /* dot on the center line for each step */
    .timeline-step::before {
        content: "";
        position: absolute;
        top: 50%;
        left: 50%;
        width: 14px;
        height: 14px;
        transform: translate(-50%, -50%);
        z-index: 2;
    }

    /* Odd steps: left side of the line */
    .timeline-step:nth-child(odd) {
        display: flex;
        justify-content: flex-end;   /* card moves left of center line */
        text-align: right;
        padding-right: 55%;          /* pushes content left from center line */
    }

    /* Even steps: right side of the line */
    .timeline-step:nth-child(even) {
        display: flex;
        justify-content: flex-start; /* card moves right of center line */
        text-align: left;
        padding-left: 55%;           /* pushes content right from center line */
    }

    /* ensure the card does not overlap the center line */
    .timeline-step:nth-child(odd) .timeline-step-title {
        margin-right: 1rem;
        bottom: unset;
    }

    .timeline-step:nth-child(even) .timeline-step-title {
        margin-left: 1rem;
        top: unset;
    }

    /* keep "Learn More" links on their respective side */
    .timeline-step .learn-more {
        display: inline-block;
        margin-top: 0rem;
    }
    .prs-directory-info .wp-block-group__inner-container.is-layout-flow.wp-block-group-is-layout-flow>.wp-block-columns{
        flex-wrap: wrap;
    }
    .prs-directory-info .wp-block-group__inner-container.is-layout-flow.wp-block-group-is-layout-flow {
        .wp-block-column {
            flex-basis: 100%;
        }
        .wp-block-column:nth-of-type(1) {
            order: 2;
        }
    }
}

@media (max-width: 480px) {
    .timeline-step-title {
        font-size: 1.02rem;
        }
}
