﻿body {
    --container-width: 1170px;
    --margin-width: calc((100vw - 1170px) / 2)
}

.ffa-faq-section-item .expanded .expansion-target {
    max-height: 15em
}

.red-mark {
    margin: 1.5em
}

section {
    margin-bottom: 80px
}

@media(min-width:768px) {
    section {
        margin-bottom: 160px
    }
}

.floating-block {
    box-shadow: 0 10px 20px rgba(0,0,0,.05)
}

.decorated-block {
    background-color: #fff;
    border: 1px solid #d3d3d3;
    border-radius: .8rem
}

.displaced-image {
    display: none
}

@media(min-width:992px) {
    .displaced-image {
        display: block;
        border-radius: 15px
    }
}

.background-circle-decoration {
    display: none
}

@media(min-width:992px) {
    .background-circle-decoration {
        display: block;
        position: relative;
        z-index: -10;
        height: 1000px;
        width: 1000px;
        margin: -500px
    }
}

.decorated-block-decoration {
    background-color: #d3d3d3;
    height: .4rem;
    width: 100%;
    border-radius: .2rem
}

.pad-3 {
    padding: 3em
}

.margin-top-6 {
    margin-top: 6vh
}

#see-if-you-qualify-section {
    padding: 0;
    position: relative
}

@media(min-width:992px) {
    #see-if-you-qualify-section #see-if-you-qualify-hero {
        position: relative;
        left: calc(var(--margin-width) + var(--container-width) - 860px);
        height: 100%;
        width: auto
    }

    #see-if-you-qualify-section #see-if-you-qualify {
        position: absolute;
        bottom: calc(100% - 385px);
        left: calc(var(--margin-width) - 20px);
        max-width: 652px
    }

        #see-if-you-qualify-section #see-if-you-qualify #see-if-you-qualify-btn {
            max-width: 300px
        }
}

#see-if-you-qualify-section #see-if-you-qualify h1 {
    font-weight: 400;
    font-size: 2.3em;
    margin-bottom: .6em
}

@media screen and (min-width:768px) {
    #see-if-you-qualify-section #see-if-you-qualify h1 {
        font-size: 3em
    }
}

#see-if-you-qualify-section #see-if-you-qualify.displaced-block {
    color: #fff;
    background: url(/cmscontent/freefile/svgs/red-circle-background.svg) bottom/cover no-repeat;
    box-shadow: 12px 10px 20px 0 rgba(0, 0, 0, 0.2);
    padding: 2.5em 1.5em;
}

@media(min-width:1200px) {
    #see-if-you-qualify-section #see-if-you-qualify.displaced-block {
        padding: 6.2em 5em;
        border-radius: 15px;
        position: absolute;
        left: 0;
        bottom: calc(50% - 238px)
    }
}

@media(min-width:768px) and (max-width:1199px) {
    #see-if-you-qualify-section #see-if-you-qualify.displaced-block {
        padding: 1em
    }
}

#see-if-you-qualify-section #see-if-you-qualify #see-if-you-qualify-btn {
    border: none;
    background-color: #fff;
    color: #d82631;
    padding: 24px 0 23px;
    width: 100%;
    font-weight: 900;
    font-size: 1.125em
}

#qualifications-wrapper {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: stretch;
    width: 100%
}

@media(min-width:768px) {
    #qualifications-wrapper {
        flex-direction: row
    }
}

.qualification-modal-link {
    text-decoration: underline
}

.qualification-description {
    flex: 1 1;
    display: flex;
    flex-direction: column
}

    .qualification-description .decorated-block-decoration {
        flex-grow: 0
    }

    .qualification-description .decorated-block {
        padding: 2em 1em;
        flex-grow: 1
    }

.qualification-separator {
    flex: 0 0;
    align-self: center;
    font-size: 28px;
    font-weight: 700;
    display: flex;
    justify-content: center;
    align-items: center;
    --radius: 2em;
    width: var(--radius);
    height: var(--radius);
    flex-basis: var(--radius);
    color: #fff;
    background-color: #D82631;
    border-radius: 50%;
    margin: 1em
}

#federal-qualifications-section {
    margin-bottom: 50px !important
}

@media(max-width:767px) {
    .qualifications-horizontal-connector {
        display: none
    }
}

@media(min-width:768px) and (max-width:991px) {
    .qualifications-horizontal-connector.large, .qualifications-horizontal-connector.medium-large {
        display: none
    }
}

@media(min-width:992px) and (max-width:1199px) {
    .qualifications-horizontal-connector.large, .qualifications-horizontal-connector.medium {
        display: none
    }
}

@media(min-width:1200px) {
    .qualifications-horizontal-connector.medium, .qualifications-horizontal-connector.medium-large {
        display: none
    }
}

#qualifications-connector {
    height: 140px;
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-bottom: 50px
}

@media(max-width:767px) {
    #qualifications-connector {
        height: 100px
    }
}

#qualifications-connector svg {
    height: 100%;
    width: auto
}

#state-qualifications {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: 3em
}

    #state-qualifications .background-circle-decoration {
        right: 400px;
        bottom: 300px
    }

#FFA_OffSeasonWrapper nav .navbar-v2 #header-logo-box, #FFA_OffSeasonWrapper nav.navbar-v2 #header-logo-box, #commitments-section {
    flex-direction: column
}

#ffa-faq-section .background-circle-decoration {
    left: calc(var(--container-width) + 200px)
}

@media(min-width:768px) {
    #header-logo-box {
        padding-top: 12px;
    }

    #ffa-faq-section-items-wrapper {
        margin: 0 15%
    }
}

.frequently-asked-question .expandable-header-content {
    font-weight: 700;
    transition: color .7s
}

.frequently-asked-question .expandable {
    transition: border-color .7s
}

    .frequently-asked-question .expandable.expanded {
        border-color: red
    }

        .frequently-asked-question .expandable.expanded .expandable-header-content {
            color: red
        }

        .frequently-asked-question .expandable.expanded .collapse-indicator {
            filter: invert(.5) sepia(1) saturate(100)
        }

.answer-indicator {
    color: red;
    font-size: .6em
}

#commitments-section {
    position: relative;
    display: flex;
    align-items: center
}

#mobile-other-free-file-offers {
    margin: 2em
}

#commitments-hero {
    position: absolute;
    left: var(--margin-width)
}

@media(max-width:991px) {
    #commitments-hero {
        display: none
    }
}

#commitments-hero img {
    height: 575px;
    width: auto
}

#commitments-hero p {
    font-size: 56px;
    line-height: 1.2;
    position: absolute;
    top: 380px;
    left: 1em;
    color: #fff;
    font-weight: 700
}

@media(min-width:992px) {
    #commitments-section {
        height: 678px
    }

    #other-free-file-offers {
        position: absolute;
        bottom: -60px;
        left: 4em
    }

    #mobile-other-free-file-offers {
        display: none
    }

    #free-file-commitments {
        position: absolute;
        top: 200px;
        left: calc(var(--margin-width) + var(--container-width) - 550px);
        max-width: 650px;
        margin-bottom: -300px
    }
}

#free-file-commitments.displaced-block {
    color: #fff;
    background: url(/cmscontent/freefile/svgs/red-circle-background.svg) bottom/cover no-repeat;
    box-shadow: 12px 10px 20px 0 rgba(0, 0, 0, 0.2);
    padding: 2.5em 1.5em
}

@media(min-width:1200px) {
    #free-file-commitments.displaced-block {
        padding: 2.4em 5em;
        border-radius: 15px;
        position: absolute;
        right: 0
    }
}

@media(min-width:768px) and (max-width:1199px) {
    #commitments-hero {
        left: 0
    }

    #free-file-commitments.displaced-block {
        padding: 1em
    }
}

.commitment {
    margin-top: -2em;
    padding-left: 4em
}

    .commitment::before {
        content: url(/cmscontent/svgs/icon-checkmark.svg);
        height: 3em;
        position: relative;
        right: 3.5em;
        top: 3em
    }

    .commitment:not(:last-child) {
        margin-bottom: 2em
    }

    .commitment h3 {
        font-size: 1.5em;
        margin-bottom: .5em
    }

#FFA_OffSeasonWrapper {
    color: #fff;
    padding-bottom: 24px;
    margin-bottom: 100px;
    background: url(/cmscontent/freefile/images/ffa-offseason-bg-hero-mobile.jpg) bottom/cover no-repeat
}

    #FFA_OffSeasonWrapper .offseason-homepage-hero {
        margin-bottom: 50px
    }

        #FFA_OffSeasonWrapper .offseason-homepage-hero h1 {
            font-size: 54px
        }

@media screen and (min-width:768px) {
    #FFA_OffSeasonWrapper {
        background: url(/cmscontent/freefile/images/ffa-offseason-bg-hero-desktop.jpg) bottom/cover no-repeat;
        padding-top: 24px
    }

        #FFA_OffSeasonWrapper .offseason-homepage-hero {
            margin-bottom: 150px;
            margin-top: 100px
        }

            #FFA_OffSeasonWrapper .offseason-homepage-hero h1 {
                font-size: 72px
            }
}

#FFA_OffSeasonWrapper .offseason-homepage-hero h2 {
    font-size: 36px
}

#FFA_OffSeasonWrapper .offseason-homepage-hero #well-be-back {
    font-size: 20px;
    font-style: italic
}

#FFA_OffSeasonWrapper nav .navbar-v2 a, #FFA_OffSeasonWrapper nav.navbar-v2 a {
    color: #fff !important
}

#FFA_OffSeasonWrapper nav .navbar-v2 .btn-signin, #FFA_OffSeasonWrapper nav.navbar-v2 .btn-signin {
    border: 1px solid #fff !important;
    color: #fff !important
}
