/*
 * Copyright 2020 Adobe. All rights reserved.
 * This file is licensed to you under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License. You may obtain a copy
 * of the License at http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software distributed under
 * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
 * OF ANY KIND, either express or implied. See the License for the specific language
 * governing permissions and limitations under the License.
 */

@media (width >= 900px) {
    :root {
        /* body sizes */
        --body-font-size-m: 18px;
        --body-font-size-s: 16px;
        --body-font-size-xs: 14px;

        /* heading sizes */
        --heading-font-size-xxl: 45px;
        --heading-font-size-xl: 36px;
        --heading-font-size-l: 28px;
        --heading-font-size-m: 22px;
        --heading-font-size-s: 20px;
        --heading-font-size-xs: 18px;
    }
}

*,
*::before,
*::after {
    box-sizing: border-box;
}

body {
    display: none;
    margin: 0;
    background-color: var(--color-white);
    color: var(--color-text-body);
    font-family: var(--font-family-body);
    font-size: var(--font-size-body-default);
    line-height: 1.6;
}

body.appear {
    display: block;
    background: var(--color-background-body);
}

header .header,
footer .footer {
    visibility: hidden;
}

header .header[data-block-status="loaded"],
footer .footer[data-block-status="loaded"] {
    visibility: visible;
}

/* Paragraph default */
p {
    margin-top: 0;
    margin-bottom: 1rem;
}

dl,
ol,
ul,
pre,
blockquote {
    margin-top: 0.8em;
    margin-bottom: 0.25em;
}

/* Headings default */
h1,
h2,
h3,
h4,
h5,
h6 {
    margin-top: 0;
    margin-bottom: 0.5rem;
    font-weight: 500;
    line-height: 1.2;
}

/* Heading sizes */
h1 {
    font-size: calc(1.375rem + 1.5vw);
}

h2 {
    font-size: calc(1.325rem + 0.9vw);
}

h3 {
    font-size: calc(1.3rem + 0.6vw);
}

h4 {
    font-size: calc(1.275rem + 0.3vw);
}

h5 {
    font-size: 1.25rem;
}

h6 {
    font-size: 1rem;
}

@media (width >= 1200px) {
    h1 {
        font-size: 2.5rem;
    }

    h2 {
        font-size: 2rem;
    }

    h3 {
        font-size: 1.75rem;
    }

    h4 {
        font-size: 1.5rem;
    }
}

code,
pre {
    font-size: var(--font-size-body-small);
}

pre {
    padding: 16px;
    border-radius: 8px;
    background-color: var(--color-neutral-100);
    overflow-x: auto;
    white-space: pre;
}

input,
textarea,
select {
    font: inherit;
}

/* links */
a {
    color: var(--link-default);
    text-decoration: underline;
}

a:hover {
    color: var(--link-default-hover);
}

/* Links without href or class */
a:not([href], [class]),
a:not([href], [class]):hover {
    color: inherit;
    text-decoration: none;
}

main img {
    max-width: 100%;
    width: auto;
    height: auto;
}

.icon {
    display: inline-block;
    height: 24px;
    width: 24px;
}

.icon img {
    height: 100%;
    width: 100%;
}

/* sections */

/* section background variants */
main .section.bg-color-primary {
    background: var(--color-section-background-1);
}

main .section.bg-color-secondary {
    background: var(--color-section-background-2);
}

main .section.bg-color-tertiary {
    background-image: var(--color-section-background-3);
    background-position-y: top;
    background-size: 100% 200px;
    background-repeat: no-repeat;
}

@media (width >= 768px) {
    main .section.bg-color-primary {
        box-shadow: inset 0 0 0 0.625rem var(--color-white);
    }

    main .section.bg-color-secondary {
        box-shadow: inset 0 0 0 0.625rem var(--color-white);
        border-radius: 27px 27px 0 0;
    }

    main .section.bg-color-tertiary {
        box-shadow: inset 0 0 0 0.625rem var(--color-white);
        border-radius: 27px 27px 0 0;
        background-size: 100% 290px;
    }
}

main {
    max-width: 1144px;
    margin-inline: auto;
    background-color: var(--color-white);
}


.page-savings-cost footer .section.fragment-container {
    background: transparent;
}

@media (width >= 768px) {
    .appear main {
        background: #fff;
    }
}

main .section {
    max-width: 1144px;
    margin-inline: auto;
    padding: 12px;
    overflow: hidden;
    box-sizing: border-box;
}

/* increased maxwidth 63.0625rem to 1144px as per AOR */
main .section > div {
    max-width: 63.0625rem;
    padding: 0 1rem;
    margin-inline: auto;
}

.page-important-safety-information main {
    background: #fff;
    border-radius: 27px 27px 0 0;
    max-width: 1144px;
    margin: 0 auto;
}

body.page-home main {
    max-width: none;
}

main:has(> .section[class*="col-"]) .section {
    display: flex;
    flex-wrap: wrap;
    max-width: 1140px;
    margin-inline: auto;
    padding: 0.625rem;
    overflow: hidden;
    box-sizing: border-box;
}

main:has(> .section[class*="col-"]) {
    display: flex;
    column-gap: var(--spacing-52);
    flex-wrap: wrap;
    max-width: 1140px;
    margin-inline: auto;
    border-radius: 27px 27px 0 0;
    background: #fff;
}

main:has(> .section[class*="col-"]) .section:not([class*="col-"]) {
    width: 100%;
}

main > .section[class*="col-"] {
    margin-inline: 0 !important;
}

.col-50 {
    flex: 0 1 calc(50% - var(--spacing-52) / 2);
}

@media (width < 768px) {
    main > .section[class*="col-"] {
        flex: 0 0 100%;
    }
}

/* Text model styles */
.text p {
    margin-top: 0;
    margin-bottom: 1rem;
}

/* Headings default */
.text h1,
.text h2,
.text h3,
.text h4,
.text h5,
.text h6 {
    margin-top: 0;
    margin-bottom: 0.5rem;
    font-weight: 500;
    line-height: 1.2;
}

/* Heading sizes */
.text h1 {
    font-size: calc(1.375rem + 1.5vw);
}

.text h2 {
    font-size: calc(1.325rem + 0.9vw);
}

.text h3 {
    font-size: calc(1.3rem + 0.6vw);
}

.text h4 {
    font-size: calc(1.275rem + 0.3vw);
}

.text h5 {
    font-size: 1.25rem;
}

.text h6 {
    font-size: 1rem;
}

@media (width >= 1200px) {
    .text h1 {
        font-size: 2.5rem;
    }

    .text h2 {
        font-size: 2rem;
    }

    .text h3 {
        font-size: 1.75rem;
    }

    .text h4 {
        font-size: 1.5rem;
    }
}

.page-important-safety-information .isi-section {
    background-color: transparent;
    width: 100% !important;
}

body.page-important-safety-information {
    background:
        linear-gradient(
            180deg,
            rgb(217 226 224 / 25%) 0%,
            rgb(217 226 224 / 0%) 38.89%
        ),
        #fff;
}

.page-important-safety-information
    main
    > .section.bg-color-primary
    .default-content-wrapper {
    padding: 0;
    max-width: 955px;
}

.page-important-safety-information main .section.bg-color-primary {
    background-image: linear-gradient(
        to bottom,
        rgb(217 226 224 / 38%),
        rgb(255 255 255 / 38%)
    );
    background-position-y: top;
    background-size: 100% 200px;
    background-repeat: no-repeat;
}

.page-important-safety-information .fragment-wrapper {
    padding: 0 2px;
    margin-bottom: 48px;
}

.page-important-safety-information h1 {
    font-family: var(--font-family-light);
    font-weight: 300;
    color: var(--color-text-heading-sage);
    letter-spacing: -0.8px;
    font-size: 36px;
    padding-top: 37px;
    margin-bottom: 24px;
    -webkit-font-smoothing: antialiased;
}

.page-important-safety-information
    .fragment.isi-section.block.columns-container::before,
.page-important-safety-information
    .fragment.isi-section.block.columns-container::after,
.page-sitemap .fragment.isi-section.block.columns-container::before,
.page-sitemap .fragment.isi-section.block.columns-container::after {
    background: none;
}

.page-sitemap .fragment-container:has(.isi-section) {
    padding-top: 0;
}

.page-important-safety-information .isi-tray {
    display: none;
}

.page-important-safety-information
    .isi-section
    .columns
    > div
    > div:nth-child(2)
    ul
    li {
    margin-bottom: 0;
}

.page-important-safety-information .isi-section:not(.isi-tray) ul ul {
    margin-top: -6px;
}

@media (width < 768px) {
    .page-important-safety-information h1 {
        padding-left: 6px;
    }

    .page-important-safety-information .isi-section:not(.isi-tray) ul ul {
        padding-left: 43px;
    }

    .page-important-safety-information .isi-section:not(.isi-tray) ul ul ul {
        padding-left: 45px;
    }

    .page-important-safety-information
        .isi-section:not(.isi-tray)
        .columns
        div
        div:first-child
        > ul:first-child {
        padding-right: 14px;
    }

    .page-important-safety-information
        .isi-section:not(.isi-tray)
        h4#indications {
        margin-bottom: 8px;
    }
}

@media (width >= 768px) {
    .page-important-safety-information main .section.bg-color-primary {
        background-size: 103% 290px;
    }

    .page-important-safety-information main > .section > div {
        max-width: 700px;
        padding: 0;
    }

    .page-important-safety-information h1 {
        font-size: 40px;
        padding-top: 63px;
        margin-bottom: 57px;
    }

    .page-important-safety-information .isi-section h3 {
        margin-right: 9%;
    }
}

@media (width >= 992px) {
    .page-important-safety-information h1 {
        margin-left: 20px;
    }

    .page-important-safety-information main > .section > div.fragment-wrapper {
        max-width: 955px;
        padding: 0;
        margin-bottom: 46px;
    }

    .page-important-safety-information .isi-section:not(.isi-tray) {
        max-width: 933px;
        margin-left: auto;
        margin-right: 0;
    }

    .page-important-safety-information
        .isi-section
        .columns
        > div
        > div:first-child {
        min-width: 597.36px;
    }

    .page-important-safety-information .isi-section .columns-wrapper {
        max-width: 954px;
    }

    .page-important-safety-information .isi-section ul {
        padding-left: 15px;
    }

    .page-important-safety-information .isi-section ul ul {
        padding-left: 43px;
    }

    .page-important-safety-information .isi-section ul ul ul {
        grid-column-gap: 59px;
        padding-left: 45px;
    }

    .page-important-safety-information .isi-section h3 {
        margin-right: 0;
        line-height: 27px;
    }

    .page-important-safety-information
        .isi-section
        .columns
        > div
        > div:nth-child(2)
        h4 {
        line-height: 23.2px;
    }

    .page-important-safety-information
        .isi-section:not(.isi-tray)
        .columns
        > div
        > div:nth-child(1)
        h4 {
        margin-bottom: 16px;
        line-height: 23.2px;
    }

    .page-important-safety-information
        .isi-section:not(.isi-tray)
        .columns
        > div
        > div:nth-child(2)
        p {
        margin-bottom: 0;
    }

    .page-important-safety-information
        .isi-section:not(.isi-tray)
        .columns
        > div
        > div:nth-child(2)
        ul
        + p {
        margin-bottom: 12px;
    }

    .page-important-safety-information
        .isi-section
        .columns
        div
        div:first-child
        > ul:first-child {
        padding-left: 30px;
        padding-right: 10px;
    }

    .page-sitemap .fragment-wrapper:has(.isi-section) {
        max-width: 1140px;
        margin: 0 auto;
        background: #fff;
    }
}

@media (width >= 1048px) {
    .page-important-safety-information .isi-section ul ul ul {
        grid-column-gap: 70px;
        padding-left: 45px;
    }
}

/* Styles for terms and conditions page starts */

body.page-terms-conditions main .section > div {
    max-width: 926px;
    padding-inline: 95px;
    box-sizing: content-box;
}

body.page-terms-conditions h1 {
    font-family: var(--font-family-light);
    color: var(--color-sage-500);
    font-size: 1.75rem;
    font-style: normal;
    font-weight: var(--font-weight-light);
    line-height: 1.2857;
    letter-spacing: -0.56px;
    margin-bottom: 1.5rem;
}

body.page-terms-conditions h1 sup {
    font-size: 0.6em;
    vertical-align: super;
}

body.page-terms-conditions h2 {
    color: var(--color-emerald-800);
    margin-bottom: 0.75rem;
    font-family: var(--font-family-roma);
    font-size: 1.25rem;
    line-height: 1.4;
}

body.page-terms-conditions h2 strong {
    font-weight: inherit;
}

body.page-terms-conditions p {
    font-size: 1rem;
    font-family: var(--font-family-roma);
    line-height: 1.5;
    color: var(--color-text-form);
    margin-bottom: 0.5rem;
}

body.page-terms-conditions p strong {
    font-family: var(--font-family-bold);
    font-weight: var(--font-weight-bold);
}

body.page-terms-conditions p:nth-of-type(3) {
    margin-bottom: 1.5rem;
}

body.page-terms-conditions p:nth-of-type(6) {
    margin-bottom: 1.5rem;
}
/* stylelint-disable-next-line no-descending-specificity */
body.page-terms-conditions main a {
    color: var(--color-sage-500);
    font-family: var(--font-family-bold);
    text-decoration: underline;
}

body.page-terms-conditions main a:hover {
    text-decoration: none;
}

body.page-terms-conditions main .section.bg-color-tertiary {
    padding-top: 37px;
    padding-bottom: 0;
}

/* Desktop adjustments */
@media (width >= 992px) {
    body.page-terms-conditions main .section.bg-color-tertiary {
        padding: 68px 0 0;
        margin-bottom: 4.125rem;
        margin-left: auto;
        margin-right: auto;
    }

    body.page-terms-conditions h1 {
        font-size: 2.5rem;
        font-style: normal;
        font-weight: var(--font-weight-light);
        line-height: 1.2;
        letter-spacing: -0.8px;
        margin-bottom: 1.875rem;
    }

    body.page-terms-conditions h2 {
        margin-bottom: 1rem;
        font-size: 1.75rem;
        line-height: 1.2857;
    }

    body.page-terms-conditions p {
        margin-bottom: 1rem;
    }

    body.page-terms-conditions p:nth-of-type(3) {
        margin-bottom: 1.875rem;
    }

    body.page-terms-conditions p:nth-of-type(6) {
        margin-bottom: 2rem;
    }

    body.page-terms-conditions p:last-child {
        margin-bottom: 0;
    }
}

@media (576px <= width < 992px) {
    body.page-terms-conditions main .section > div {
        max-width: 720px;
    }
}

@media (width < 768px) {
    body.page-terms-conditions main .section.bg-color-tertiary {
        box-shadow: inset 0 0 0 0.625rem var(--color-white);
        border-radius: 27px 27px 0 0;
        background-size: 100% 290px;
    }

    body.page-terms-conditions main .section > div{
        padding-inline: .75rem;
    }
}
