.page.is-qa-section {
    background: hsl(0, 0%, 95%);
    padding: 0;
}

.qa-page {
    padding: 20px 15px;
}

.qa-page-header {
    background-image: linear-gradient(to bottom, #0d3c72 0%, #0177ff 100%);
    padding: 25px 25px 105px;
    margin: 0 0 -105px;
}

.qa-page-header .heading {
    color: #fff;
    margin-bottom: 5px;
}

.qa-page-header .qa-main-title {
    color: #fff;
    font-size: 33px;
    margin-bottom: 0 !important;
    display: block;
}

.qa-page-header .btn {
    margin-bottom: 10px;
}

.qa-page-header .heading__desc {
    font-size: 17px;
    margin-bottom: 10px;
}

.qa__item {
    box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);
    background: #fff;
    border-radius: 4px;
    padding: 30px 40px 30px 30px;
    margin-bottom: 15px;
}

.qa__more-questions-head {
    background: hsl(212, 100%, 90%);
    color: hsl(212, 40%, 30%);
    box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);
    border-top-left-radius: 4px;
    border-top-right-radius: 4px;
    padding: 15px 30px;
    font-weight: 400;
    font-size: 24px;
}

.qa__more-questions {
    box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);
    background: #fff;
    border-radius: 4px;
    padding: 30px 40px 30px 30px;
    margin-bottom: 15px;
}

.qa__more-questions a {
    display: block;
    font-size: 18px;
    margin-bottom: 3px;
}

.qa__question {
    font-size: 18px;
    font-weight: 700;
    display: block;
    margin-bottom: 5px;
}

.qa__teaser {
    font-size: 14px;
    line-height: 1.7;
    max-width: 800px;
}

.qa__teaser a {
    font-size: 90%;
}

.qa-filter {
    display: flex;
    list-style: none;
    margin: 0 0 20px;
    padding: 0;
    max-width: 600px;
}

.qa-filter input {
    border: 0;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
    border-radius: 4px;
    font-size: 16px;
    padding: 15px;
    width: 100%;
}

.qa .qa-question-title {
    font-size: 22px !important;
    line-height: 1.4;
    margin: 0 0 20px;
    color: #444;
    font-weight: 800;
}

.qa {
    box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);
    background: #fff;
    border-radius: 4px;
    display: grid;
    grid-template-columns: [full-start] minmax(1em, 1fr) [main-start] minmax(0, 86%) [main-end] minmax(1em, 1fr) [full-end];
    padding: 25px 0 15px;
    margin-bottom: 15px;
    color: #333;
    font-size: 16px;
    line-height: 1.7;
}

.qa>* {
    grid-column: main;
}

.qa p {
    font-size: 16px;
    line-height: 1.8;
    margin: 0 0 1.4em;
}

.qa p,
.qa li,
.qa blockquote {
    max-width: 820px;
}

.qa b {
    font-weight: 700;
}

.qa h1,
.qa h2:not(.qa-heading),
.qa h3,
.qa h4,
.qa h5,
.qa h6 {
    font-size: 16px;
    font-weight: 700;
    line-height: 1.5;
    margin-bottom: 16px;
}

/* These unfortunately need !important to override on-page styles */
.qa h1 {
    font-size: 20px !important;
}

.qa h2:not(.qa-heading) {
    font-size: 19px !important;
}

.qa h3 {
    font-size: 18px !important;
}

.qa h4 {
    font-size: 17px !important;
}

.qa iframe {
    max-width: 100%;
}

.qa img {
    font-size: 12px;
    height: auto;
    max-width: 100%;
}

.qa blockquote {
    background: #e5edf5;
    border: 16px double #fff;
    border-radius: 10px;
    color: hsla(210, 39%, 31%, 1);
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: 1.8;
    margin-left: -8px;
    margin-right: -8px;
    padding: 20px;
}

.qa blockquote p {
    font-size: 17px;
    margin: 0;
}

.qa blockquote .is-boldest {
    margin-bottom: 10px;
}

.qa .text-120 {
    font-size: 120% !important;
}

.qa .text-110 {
    font-size: 110% !important;
}

.qa .text-90 {
    font-size: 90% !important;
}

.qa .text-80 {
    font-size: 80% !important;
}


.qa img {
    background-color: #fff;
    max-height: 500px;
}

.qa .qa__image {
    margin-bottom: 1.4em;
}

.qa .qa__image.is-left,
.qa .image.is-left {
    float: left;
    margin-bottom: 15px;
    margin-right: 15px;
    max-width: 45%;
}

.qa .qa__image.is-right,
.qa .image.is-right {
    float: right;
    margin-bottom: 15px;
    margin-left: 15px;
    max-width: 45%;
}

.qa .table p {
    font-size: inherit;
    margin: 0;
}

.qa figure.table {
    width: 100%;
    margin: 0 0 16px;
}

.qa figure.table table {
    border: 1px solid #ddd;
    width: 100%;
    margin: 0;
}

.qa figure.table th {
    background: #f2f2f2;
    border: 1px solid #ddd;
    border-width: 0 0 1px;
    cursor: pointer;
    font-size: 12px;
    padding: 3px 7px;
    text-align: inherit;
}

.qa figure.table td {
    border: 1px solid #ddd;
    border-width: 0 0 1px;
    font-size: 12px;
    padding: 2px 7px;
    text-align: inherit;
}

.qa figure.qa-table__compact,
.qa figure.qa-table__compact table {
    width: auto;
}

.qa figure.qa-table__spacious th {
    font-size: 13px;
    padding: 5px 12px;
}

.qa figure.qa-table__spacious td {
    font-size: 13px;
    padding: 4px 12px;
}


/* qa HEADINGS */
.qa .qa-heading {
    line-height: 1.4;
    margin-bottom: 16px;
}

.qa .qa-heading+.qa-heading {
    margin-top: 0;
}

.qa .qa-heading b,
.qa .qa-heading strong {
    font-weight: inherit;
}


.qa .qa-heading.is-bullet {
    -webkit-font-smoothing: antialiased;
    background: #333;
    border-radius: 0 50px 50px 0;
    color: #fff;
    display: inline-block;
    font-size: 22px;
    font-weight: 700;
    min-width: 40%;
    grid-column: full;
    padding: 8px 40px 8px 25px;
    position: relative;
    width: fit-content;
}

.qa .qa-heading.is-bullet:not(:first-child) {
    margin-top: 8px;
}

.qa .qa-heading.is-light {
    color: #444;
    font-size: 28px;
    font-weight: 300;
}

.qa .qa-heading.is-boldest {
    font-size: 26px;
    font-weight: 800;
}

.qa .qa-heading.is-blue-gradient,
.qa .qa-heading.is-red-gradient {
    color: #fff;
    font-size: 22px;
    font-weight: 700;
    margin-bottom: 24px;
    padding: 8px 7% 8px 7%;
    grid-column: full;
}

.qa .qa-heading.is-blue-gradient {
    background: linear-gradient(90deg, #126cd3 50%, #d1e4fa 100%);
}

.qa .qa-heading.is-red-gradient {
    background: linear-gradient(90deg, #a80000 50%, #ffdbdb 100%);
}

.qa .qa-heading.is-secondary {
    background: #f2f2f2;
    border: 1px solid #e6e6e6;
    border-width: 1px 0;
    font-size: 16px;
    font-weight: 700;
    grid-column: full;
    padding: 8px 7% 8px 7%;
}

.qa .qa-heading.is-blue-brackets {
    background: hsla(213, 67%, 96%, 1);
    border: 1px double hsla(213, 67%, 82%, 1);
    border-width: 6px 0;
    color: #2662a6;
    font-size: 19px;
    font-weight: 700;
    line-height: 1.5;
    grid-column: full;
    padding: 6px 7% 6px 7%;
}

.qa .qa-heading.is-red-brackets {
    background: hsla(0, 100%, 97%, 1);
    border: 1px double hsla(0, 100%, 88%, 1);
    border-width: 6px 0;
    color: hsla(0, 100%, 33%, 1);
    font-size: 19px;
    font-weight: 700;
    line-height: 1.5;
    grid-column: full;
    padding: 6px 7% 6px 7%;
}

.qa .qa-heading.is-bordered-block-blue,
.qa .qa-heading.is-bordered-block-red {
    -webkit-font-smoothing: antialiased;
    border-radius: 4px;
    color: #fff;
    font-size: 22px;
    font-weight: 800;
    line-height: 1.5;
    grid-column: full;
    padding: 7px 7%;
}

.qa .qa-heading.is-bordered-block-blue {
    background: #126cd3;
    border-bottom: 8px solid #8abcf5;
}

.qa .qa-heading.is-bordered-block-red {
    background: #a80000;
    border-bottom: 8px solid #ff7575;
}

.qa .qa-heading.is-table-head {
    -webkit-font-smoothing: antialiased;
    background: #555;
    border: 1px solid #555;
    color: #fff;
    font-size: 14px;
    font-weight: 700;
    margin-bottom: 0;
    padding: 7px 10px;
}

.qa .qa-heading.is-bullet a,
.qa .qa-heading.is-blue-gradient a,
.qa .qa-heading.is-red-gradient a,
.qa .qa-heading.is-blue-brackets a,
.qa .qa-heading.is-red-brackets a,
.qa .qa-heading.is-bordered-block-blue a,
.qa .qa-heading.is-bordered-block-red a,
.qa .qa-heading.is-table-head a {
    color: #fff;
}

.qa ul li {
    line-height: 1.5;
    margin-bottom: 10px;
}

.qa ul li ul {
    margin-bottom: 5px;
    margin-top: 5px;
}

.qa ol li {
    line-height: 1.5;
    margin-bottom: 10px;
}

.qa ol li ol {
    list-style-type: lower-alpha;
    margin-bottom: 5px;
    margin-top: 5px;
}

@media only screen and (min-width: 760px) {

    .qa-page {
        padding: 30px 25px;
    }

    .qa-page-header {
        padding: 40px 40px 105px;
        margin: 0 -1px -105px;
    }

    .qa-page-header .qa-main-title {
        font-size: 39px;
    }

    .qa-page-header .heading__desc {
        font-size: 21px;
    }

    .qa__question {
        font-size: 20px;
    }

    .qa__teaser {
        font-size: 15px;
    }

    .qa .qa-question-title {
        font-size: 34px !important;
        line-height: 1.3;
    }

    .qa {
        padding: 40px 0 15px;
        grid-template-columns: [full-start] minmax(1em, 1fr) [main-start] minmax(0, 90%) [main-end] minmax(1em, 1fr) [full-end];
    }

    .qa p {
        font-size: 18px;
    }

    .qa .qa-heading.is-secondary,
    .qa .qa-heading.is-blue-gradient,
    .qa .qa-heading.is-red-gradient {
        padding: 8px 5% 8px 5%;
    }

    .qa .qa-heading.is-blue-brackets, 
    .qa .qa-heading.is-red-brackets {
        padding: 6px 5% 6px 5%;
    }

    .qa .qa-heading.is-bordered-block-blue,
    .qa .qa-heading.is-bordered-block-red {
        padding: 7px 5%;
    }

    .qa .qa-heading.is-blue-brackets {
        padding: 6px 5% 6px 5%;
    }
}

@media only screen and (min-width: 960px) {
    .qa-page {
        padding: 30px 40px;
    }
}
