.fx-accordion {
    position: relative;
    z-index: 1;
}

.service-area-bg {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    width: 100%;
    height: auto;
    object-fit: cover;
    z-index: -1;
}

.fx-accordion__panel__toggle {
    position: relative;
    list-style-type: none !important;
    margin: 0;
    display: block;
    font-family: "Montserrat", serif;
    color: #171717;
    line-height: 1.5em;
    background: transparent;
    padding: 13px 71px 13px 24px;
    text-decoration: none;
    border: none;
    text-align: left;
    width: 100%;
    border-left: 8px solid #003A70;
    border-radius: 4px 0 0 4px;
    font-size: 16px;
    font-weight: 600;
    filter: drop-shadow(0 0 16px rgba(0,0,0,0.16));
}

.bg-blue .fx-accordion__panel__toggle {
    border-left: 8px solid #307FE2;
}

.fx-accordion__panel {
    margin: 16px 0 0;
    position: relative;
    z-index: 1;
}

.fx-accordion__panel__toggle:before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: #ffffff;
    clip-path: polygon(0 0, 100% 0, 95% 100%, 0% 100%);
    z-index: -1;
}

.bg-blue .fx-accordion__panel.is-expanded .fx-accordion__panel__toggle:before,
.bg-blue .fx-accordion__panel__toggle:hover:before,
.bg-blue .fx-accordion__panel__toggle:focus:before {    
    background: var( --color-primary );
    color: var( --color-white );
}

.bg-blue .fx-accordion__panel__toggle:hover {
    &::after {
        color: var( --color-white );
    }
}

.fx-accordion__panel.is-expanded .fx-accordion__panel__toggle:before,
.fx-accordion__panel__toggle:hover:before,
.fx-accordion__panel__toggle:focus:before {    
    background: #003A70;
}

.fx-accordion__panel.is-expanded .fx-accordion__panel__toggle,
.fx-accordion__panel__toggle:hover,
.fx-accordion__panel__toggle:focus {
    color: #fff;
    background: transparent;
    text-decoration: none;
    border-left-color: #307FE2;
    filter: drop-shadow(0 0 16px rgba(2,47,90,0.32));
}

.bg-blue .fx-accordion__panel.is-expanded .fx-accordion__panel__toggle,
.bg-blue .fx-accordion__panel__toggle:hover,
.fx-accordion__panel__toggle:focus {
    border-left-color: #7CB6FF;
    color: var( --color-white );
}

.fx-accordion__panel.is-expanded {
    background-color: #fff;
    box-shadow: 0 0 16px rgba(2,47,90,0.32);
}


.fx-accordion__panel .fx-accordion__panel__toggle:after {
    content: '\e919';
    position: absolute;
    font-family: 'lqr';
    top: 50%;
    transform: translate(0, -50%);
    right: 32px;
    font-size: 17px;
    font-weight: normal;
    color: #307FE2;
}

.fx-accordion__panel.is-expanded .fx-accordion__panel__toggle:after {
    content: '\e916';
    color: var( --color-white );
}

.fx-accordion__panel:not(.is-expanded) .fx-accordion__panel__content {
    display: none;
}

.bg-blue .fx-accordion__panel__content :is(h2, h3, h4, h5, p) {
    color: #171717;
}

.fx-accordion__panel__content {
    padding: 20px;
    overflow: hidden;

    & p {
        & a:not(.btn) {
            color: var(--color-blue-01)!important;
        }
    }
}

.fx-accordion__panel__content h3 {
    font-weight: 600;
    font-size: 24px;
}

.fx-accordion__panel__content__btn .btn +.btn {
    margin: 0;
}

.fx-accordion__panel__content__btn {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 22px;
    margin-top: 30px;
}

.fx-accordion__top-content {
    margin: 0 0 30px;
}

.fx-accordion__panel__toggle img {
    margin-right: 5px;
    filter: drop-shadow(0 0 8px rgba(0,0,0,0.32));
}

.location-pin-icon--hover {
    display: none;
}

.fx-accordion__panel.is-expanded .fx-accordion__panel__toggle .location-pin-icon--hover,
.fx-accordion__panel__toggle:hover .location-pin-icon--hover,
.fx-accordion__panel__toggle:focus .location-pin-icon--hover {
    display: inline-block;
}

.fx-accordion__panel.is-expanded .fx-accordion__panel__toggle .location-pin-icon,
.fx-accordion__panel__toggle:hover .location-pin-icon,
.fx-accordion__panel__toggle:focus .location-pin-icon {
    display: none;
}

.fx-accordion-location-link a {
    position: relative;
    color: #003A70;
    font-size: 16px;
    font-weight: 600;
    display: block;
    padding: 0 20px 0 26px;
    background: none;
    margin: 0 0 12px;
    width: max-content;
}

.fx-accordion-location-link a:after {
    content: '\e902';
    font-family: 'lqr';
    position: absolute;
    top: 50%;
    right: 0;
    font-weight: normal;
    transform: translate(0, -50%);
    font-size: 12px;
}

.fx-accordion-location-link a::before {
    content: '\e913';
    font-family: 'lqr';
    position: absolute;
    top: 50%;
    left: 0;
    font-weight: normal;
    transform: translate(0, -50%);
    font-size: 20px;
}

@media (min-width: 768px) {
    .fx-accordion__panel__toggle {
        padding: 17px 114px 17px 24px;
        min-height: 75px;
        font-size: 20px;
        font-weight: 500;
    }

    .fx-accordion__panel .fx-accordion__panel__toggle:after {
        right: 63px;
    }

    .fx-accordion__panel__content {
        padding: 40px 40px 46px 32px;
    }

    .fx-accordion__panel__content__btn {
        flex-direction: row;
        align-items: center;
        gap: 24px;
    }

    .fx-accordion__panel__toggle:before {
        clip-path: polygon(0 0, 100% 0, 96% 100%, 0% 100%);
    }

    .fx-accordion-location-link {
        display: flex;
        flex-wrap: wrap;
        width: calc(100% + 32px);
        margin: 0 -16px;
    }

    .fx-accordion-location-link-col {
        width: calc(50% - 32px);
        margin: 0 16px;
    }
}

@media (min-width: 1200px) {
    .fx-accordion__panel__content {
        padding: 40px 40px 32px 32px;
    }

    .fx-accordion-location-link a:last-child {
        margin: 0;
    }

    .fx-accordion-location-link-col {
        width: auto;
        margin: 0;
        margin-top: 10px;
    }

    .fx-accordion-location-link {
        width: 100%;
        margin: 0;
        padding-right: 120px;
        justify-content: space-between;
    }

    .fx-accordion-location-link a:hover {
        color: #307fe2;
    }

    .fx-accordion--location .fx-accordion__panel__content {
        padding: 40px 40px 47px 32px;
    }
}


.fx-accordion__panel__content {
    padding: 40px 40px 46px 32px;
    color: #000000;
}