@charset "UTF-8";

section.faq {
    background-color: var(--white);
    padding: 120px 0;
}

section.faq .heading h2 {
    margin: 0 0 clamp( 18px, 1.354vw, 26px );
}

section.faq .faq-item {
    margin: clamp( 24px, 1.875vw, 36px ) 0;
    border-radius: 0;
    background-color: var( --white );
    box-shadow: 0px 10px 20px #0000001A;
    transition: all .75s ease;
}

.faq-item .accordion {
    position: relative;
    background-color: var( --white );
    color: var( --black );
    border-radius: 0;
    padding: clamp( 10px, 0.990vw, 19px ) clamp( 32px, 2.083vw, 40px );
    display: flex;
    flex-direction: row;
    align-content: center;
    align-items: center;
    justify-content: center;
}

.faq-item .panel {
    display: block;
    max-height: 0;
    transition: all .75s linear;
}

.faq-item .accordion.active {
    border-radius: 0;
}

.faq-item h4 {
    font-family: var( --heading-font );
    font-weight: 500;
    text-transform: none;
    font-size: clamp(16px, 1.146vw, 22px);
    margin: 0;
}

.faq-item .panel.show {
    padding: 20px;
    max-height: 750px;
    transition: all .75s linear;
}

.faq-item .answer li {
    margin-bottom: 10px;
}

.faq-item .accordion::after {
    position: absolute;
    content: '\f067';
    font-family: 'Font Awesome 5 Free', fantasy;
    font-weight: 900;
    width: 26px;
    right: clamp( 16px, 1.250vw, 24px );
    top: 50%;
    transform: translateY(-50%);
    /* margin: -7px 0 1px; */
    font-size: 26px;
    display: inline-block;
    color: var( --primary-color );
}

.faq-item .accordion.active::after {
    content: '\f068';
}

/* Custom interior pages ( Invisalign / Emergency Dentistry / New Patients ) */
/* Scoped to the Full Width Flexible template so the card-style FAQ used elsewhere
   ( incl. the footer.php page-level FAQ ) is untouched. */
.page-template-full-width-flexible section.faq {
    padding: clamp( 60px, 6.250vw, 120px ) 0;
    background-color: var( --grey );
}

/* Match the .faq-holder box so the header and the questions share the mockup's edges. */
.page-template-full-width-flexible section.faq .heading {
    max-width: 1160px;
    margin: 0 auto;
    padding: 0 15px;
}

.page-template-full-width-flexible section.faq .heading h2 {
    margin: 0 0 clamp( 32px, 2.917vw, 56px );
    color: var( --black );
    font-size: var( --i-h2-font-size );
    line-height: var( --heading-line-height );
    text-align: center;
}

/* col-lg-10 floats left, which makes `margin: 0 auto` a no-op - hence float: none.
   max-width is 1130 ( mockup ink, x395 -> x1525 ) + the column's 2x15px gutter, so the text
   lands on the mockup's edges on desktop while the gutter still insets it on mobile. */
.page-template-full-width-flexible section.faq .faq-holder {
    float: none;
    width: 100%;
    max-width: 1160px;
    margin: 0 auto;
}

.page-template-full-width-flexible section.faq .faq-item {
    margin: 0;
    padding: 0 0 clamp( 16px, 1.250vw, 24px );
    border-bottom: 2px solid rgba( 13, 37, 70, 0.1 );
    background-color: transparent;
    box-shadow: none;
}

.page-template-full-width-flexible section.faq .faq-item + .faq-item {
    margin-top: clamp( 20px, 1.458vw, 28px );
}

.page-template-full-width-flexible section.faq .faq-item:last-child {
    border-bottom: 0;
}

.page-template-full-width-flexible section.faq .faq-item .accordion {
    width: 100%;
    padding: 0 clamp( 24px, 1.667vw, 32px ) 0 0;
    justify-content: space-between;
    background-color: transparent;
    text-align: left;
}

.page-template-full-width-flexible section.faq .faq-item h4 {
    color: var( --black );
    /* --h4-font-size mid-vw ( 1.083vw ) only reaches its 24px cap at ~2216px, so the
       design's 24px never lands at 1920. Correct mid-vw for 24px is 24/1920 = 1.250vw. */
    font-size: clamp( 18px, 1.250vw, 24px );
    font-weight: var( --heading-font-weight );
    line-height: var( --h3-line-height );
}

.page-template-full-width-flexible section.faq .faq-item .accordion::after {
    content: '\f078';
    right: 0;
    width: auto;
    color: var( --black );
    font-size: 16px;
}

.page-template-full-width-flexible section.faq .faq-item .accordion.active::after {
    content: '\f077';
}

.page-template-full-width-flexible section.faq .faq-item .panel.show {
    padding: clamp( 16px, 1.250vw, 24px ) clamp( 24px, 2.083vw, 40px ) 0 0;
}

.page-template-full-width-flexible section.faq .faq-item .answer p {
    margin: 0;
    color: var( --black );
    font-size: var( --body-font-size );
    line-height: var( --body-line-height );
}

@media ( max-width: 1024px ) {
    /* Custom interior pages ( Invisalign / Emergency Dentistry / New Patients ) */
    /* Fixed 32px gutter below desktop. The container supplies it and the column gutters are
       zeroed, so the questions line up with the other sections on the page. */
    /* .container also picks up 15px side padding in the 568-1024 range, which would make the
       gutter 47px there - zero it so the 32px is exact at every width. */
    .page-template-full-width-flexible section.faq .container {
        width: calc( 100% - 64px );
        padding-left: 0;
        padding-right: 0;
    }

    .page-template-full-width-flexible section.faq .heading,
    .page-template-full-width-flexible section.faq .faq-holder {
        padding-left: 0;
        padding-right: 0;
    }

    /* Flat 80px above and below the content from 1024 down. */
    .page-template-full-width-flexible section.faq {
        padding: 80px 0;
    }
}

@media ( max-width: 768px ) {
    .faq-item .accordion {
        padding: 10px 50px 10px 32px;
        justify-content: start;
    }

    /* Custom interior pages ( Invisalign / Emergency Dentistry / New Patients ) */
    .page-template-full-width-flexible section.faq .faq-item .accordion {
        padding: 0 32px 0 0;
        justify-content: space-between;
    }
}