.accordion-block h2.block-title {
    text-align: left;
}
.accordion-block .container {
    max-width: 1180px;
}
.accordion-block h2.block-title:after {
    left: 50%;
    margin-left: -50px;
}
.accordion dt a {
    font-size: 22px;
    font-weight: 700;
    position: relative;
    display: block;
    color: var(--secondary-color);
}
.accordion dt {
    margin-bottom: 0;
    position: relative;
    padding: 25px;
    margin-bottom: 20px;
}
.accordion dd {
    margin: 0;
    padding: 20px 50px 20px 40px;
}
.accordion dd p {
    padding-bottom: 25px;
    margin-bottom: 30px;
    margin-top: 0;
    line-height: 1.7;
}
.accordion dt a span.toggle {
    position: absolute;
    right: 0;
    font-size: 30px;
    font-weight: 300;
    line-height: 49px;
    top: -4px;
    display: block;
    width: 42px;
    height: 49px;
    text-align: center;
    margin-top: -4px;
    background-size: contain;
    font-weight: 700;
}
/*
.accordion dt.active a span.toggle {
    background-image: url(../../assets/images/hexagon.png);
}
*/
.accordion dt.active {
    margin-bottom: 0;
}

.accordion-border {
    border-bottom: 2px solid #C8C8C8;
}


/* Accordion wrapper: text left, image right */
.accordion-wrapper {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 30px;
    position: relative;
}

/* Accordion list on left */
.accordion-wrapper.has-image .accordion {
    flex: 1 1 50%;
}

/* If no image, make full width */
.accordion-wrapper:not(.has-image) .accordion {
    flex: 1 1 100%;
}

/* Fixed media spot on right (desktop) */
.accordion-wrapper .accordion-media {
    flex: 0 0 45%;
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
}
.accordion-wrapper .accordion-media img {
    max-width: 100%;
    height: auto;
    opacity: 0;
    transition: opacity 0.4s ease-in-out;
}
.accordion-wrapper .accordion-media img.visible {
    opacity: 1;
}

/* Mobile accordion image (hidden by default on desktop) */
.accordion-mobile-image {
    display: none;
    margin-bottom: 15px;
}
.accordion-mobile-image img {
    width: 100%;
    height: auto;
}

.content-block.block-type-accordions.full-accordion .accordion-wrapper .accordion-media {
    display: none;
}

/* If media has no image or hidden, allow full width content */
.accordion-wrapper .accordion dd {
    position: relative;
}

/* Media container invisible when no image */
.accordion-wrapper .accordion-media img {
    opacity: 0;
}

/* When active and media image has `src` (visible), apply layout; else full width */
.accordion-wrapper .accordion dd.active[data-image]:not([data-image=""]) + .accordion-media img.visible {
    /* do nothing special, this is handled by default */
}

/* But when no image (or empty), collapse media container */
.accordion-wrapper .accordion dd.active[data-image=""] ~ .accordion-media,
.accordion-wrapper .accordion dd.active:not([data-image]) ~ .accordion-media {
    display: none;
}

/* Also let text area take full width in that case */
.accordion-wrapper .accordion dd.active[data-image=""] .accordion-text,
.accordion-wrapper .accordion dd.active:not([data-image]) .accordion-text {
    width: 100%;
    flex: none;
}


.accordion-wrapper .image-size-circle .img-outer-wrapper {
    position: relative;
}

.accordion-wrapper .circle-wrap{
    display: flex;
    justify-content: center;
}

.accordion-wrapper .circle-border {
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    width: clamp(200px, 40vw, 500px);
    height: clamp(200px, 40vw, 500px);
    border-radius: 50%;
    position: relative;
    pointer-events: none;
    overflow: hidden;
    border: 10px solid transparent;
}

.accordion-wrapper .circle-wrap::before{
    content: "";
    width: clamp(220px, 42vw, 525px);
    height: clamp(220px, 42vw, 525px);
    border-radius: 50%;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%) rotate(-85deg);
    z-index: 1;
    border: 10px solid;
}

.accordion-wrapper .circle-border-type3::before {
    transform: translate(-50%, -50%) rotate(85deg);
    border-color: var(--secondary-color) var(--secondary-color) transparent var(--secondary-color);
}

.accordion-wrapper .circle-border img.accordion-active-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.accordion-block .title-wrap {
    margin-bottom: 70px;
}

.content-block.block-type-forms.overlapping-form.before-accordion {
    margin-bottom: -200px;
}

.accordion-wrapper .accordion dd ul.wp-block-list {
    list-style: disc;
}


@media screen and (max-width:992px) {
    .accordion-wrapper .accordion dt,
    .accordion-wrapper .accordion dd{
        padding: 0;
    }

    .accordion-block .title-wrap {
        margin-bottom: 0px;
    }
}


@media screen and (max-width:767px) {
    .accordion dt a {
        padding: 0 50px 0 0;
        font-size: 24px;
    }

    .accordion dt a span.toggle {
        top: -10px;
        margin-top: 0;
    }

    .accordion dd {
        padding-left: 50px;
    }

    .accordion-wrapper {
        flex-direction: column;
    }

    .accordion-wrapper .accordion-media {
        display: none;
    }

    .accordion-mobile-image {
        display: block;
    }

}