html {
    box-sizing: border-box;
}

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

img {
    display: block;
    max-width: 100%;
    height: auto;
    border-radius: 4px;
}

/* Dark Mode Styles */
.dark-mode {
    background-color: var(--wp--preset--color--so-blue-70) !important;
}

.dark-mode h1,
.dark-mode h2,
.dark-mode h3,
.dark-mode h4,
.dark-mode h5,
.dark-mode h6 {
    color: var(--wp--preset--color--white);
}

.dark-mode p,
.dark-mode ul>* {
    color: var(--wp--preset--color--white);
}

.dark-mode .wp-block-table table {
    border-color: var(--wp--preset--color--so-blue-20);
    color: var(--wp--preset--color--white);
}

.dark-mode .wp-block-table thead,
.dark-mode .wp-block-table th,
.dark-mode .wp-block-table td {
    border-color: var(--wp--preset--color--so-blue-20) !important;
}

.dark-mode .wp-block-table table th:not(:last-child),
.dark-mode .wp-block-table table td:not(:last-child) {
    border-right: 1px solid var(--wp--preset--color--so-blue-20);
}

.dark-mode .wp-block-table table>thead>tr>th,
.dark-mode .wp-block-table table>thead>tr>td,
.dark-mode .wp-block-table table>tbody>tr:not(:last-child)>th,
.dark-mode .wp-block-table table>tbody>tr:not(:last-child)>td,
.dark-mode .wp-block-table table>tfoot>tr:not(:last-child)>th,
.dark-mode .wp-block-table table>tfoot>tr:not(:last-child)>td,
.dark-mode .wp-block-table table>tr:not(:last-child)>td,
.dark-mode .wp-block-table table>tr:not(:last-child)>th,
.dark-mode .wp-block-table table>thead:not(:last-child),
.dark-mode .wp-block-table table>tbody:not(:last-child),
.dark-mode .wp-block-table table>tfoot:not(:last-child) {
    border-bottom: 1px solid var(--wp--preset--color--so-blue-20);
}

.dark-mode .wp-block-table table tr>td:first-of-type {
    background-color: var(--wp--preset--color--so-blue-40);
    font-weight: 600;
}

.dark-mode .wp-site-blocks>.wp-block-group a:not(.p4-blocks-standard-byline__tooltip-link-wrapper>a, .sleep-cycle__error>a, .wp-block-button__link),
.dark-mode .p4-blocks-accordion a,
.dark-mode .p4-blocks-standard-byline__tooltip-trigger {
    color: var(--wp--preset--color--so-blue-20) !important;
    transition: .2s ease all;

    &:hover {
        color: var(--wp--preset--color--white) !important;
    }

    &:visited {
        color: var(--wp--preset--color--so-blue-20);

        &:hover {
            color: var(--wp--preset--color--white);
        }
    }
}

.dark-mode .footer__carousel__wrapper {
    background-color: white;
}

.dark-mode .p4-blocks-image-and-text *,
.dark-mode .p4-blocks-accordion * {
    color: var(--wp--preset--color--white);
}

/* Byline Styles */
.dark-mode .p4-blocks-byline__expert {
    color: var(--wp--preset--color--white) !important;
    font-weight: 600;
}

.dark-mode .p4-blocks-byline__expert a {
    font-weight: 400;
}

.dark-mode .p4-blocks-byline .p4-blocks__icon>* {
    fill: var(--wp--preset--color--white) !important;
}


.dark-mode .p4-blocks-standard-byline {
    color: var(--wp--preset--color--white);

    .p4-blocks-standard-byline__author-wrapper,
    .p4-blocks-standard-byline__contributor-wrapper {
        background-color: var(--wp--preset--color--so-blue-80);
    }

    .p4-blocks-standard-byline__update-icon .p4-blocks__icon,
    .p4-blocks-standard-byline__contributor-icon svg>* {
        fill: var(--wp--preset--color--so-dusk-blue-30);
    }

    .p4-blocks-standard-byline__tooltip-bio-inner * {
        color: var(--wp--preset--color--so-gray);
    }
}

.dark-mode .p4-blocks-accordion details summary>svg {
    fill: var(--wp--preset--color--so-dusk-blue-20);
}

.dark-mode .p4-blocks-article-list--horizontal {
    gap: 16px;
}

.dark-mode .p4-blocks-article-list__article {
    background-color: var(--wp--preset--color--so-blue-80);
    border-radius: 4px;
    padding: 12px;
}

.dark-mode .p4-blocks-article-list__article-excerpt {
    display: none;
}

.dark-mode .p4-blocks-image-and-text__horizontal--row {
    gap: 8px;
}

.dark-mode .p4-blocks-image-and-text__horizontal--row>div {
    padding: 12px;
    background-color: var(--wp--preset--color--so-blue-80);
    border-radius: 4px;
}

/* WPCF7 Styles */

.wpcf7 input,
.wpcf7 select,
.wpcf7 textarea {
    font-family: var(--wp--preset--font-family--primary);
    font-weight: 400;
    font-size: 16px;
    line-height: 1.7;
    color: var(--wp--preset--color--so-gray);
}

.wpcf7 textarea {
    width: 100%;
}

.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="url"],
.wpcf7 input[type="password"],
.wpcf7 input[type="search"],
.wpcf7 input[type="tel"],
.wpcf7 input[type="number"],
.wpcf7 textarea,
.wpcf7 select {
    padding: 12px;
    border-radius: 4px;
    border: 1px solid var(--wp--preset--color--so-gray-60);
}

.wpcf7 input[type="text"]:focus,
.wpcf7 input[type="email"]:focus,
.wpcf7 input[type="url"]:focus,
.wpcf7 input[type="password"]:focus,
.wpcf7 input[type="search"]:focus,
.wpcf7 input[type="tel"]:focus,
.wpcf7 input[type="number"]:focus,
.wpcf7 textarea:focus,
.wpcf7 select:focus {
    border-color: var(--wp--preset--color--so-blue);
}

.wpcf7 input[type="text"]:focus-visible,
.wpcf7 input[type="email"]:focus-visible,
.wpcf7 input[type="url"]:focus-visible,
.wpcf7 input[type="password"]:focus-visible,
.wpcf7 input[type="search"]:focus-visible,
.wpcf7 input[type="tel"]:focus-visible,
.wpcf7 input[type="number"]:focus-visible,
.wpcf7 textarea:focus-visible,
.wpcf7 select:focus-visible {
    outline: unset;
}

.wpcf7 button,
.wpcf7 input[type="button"],
.wpcf7 input[type="reset"],
.wpcf7 input[type="submit"],
.wpcf7 a.button,
.wpcf7 a.wp-block-button__link:not(.has-background) {
    line-height: 1.7;
    text-transform: uppercase;
    font-weight: 500;
    text-decoration: none;
    transition: .2s ease all;
    text-align: center;
    font-family: var(--wp--preset--font-family--primary);
    cursor: pointer;
    display: block;
    font-size: 16px;
    padding: 12px 8px;
    letter-spacing: 0.04rem;
    background-color: var(--wp--preset--color--so-electric-green);
    border: none;
    border-radius: 4px;
    color: var(--wp--preset--color--so-gray);
    width: 100%;
}

@media all and (min-width: 768px) {

    .wpcf7 button,
    .wpcf7 input[type="button"],
    .wpcf7 input[type="reset"],
    .wpcf7 input[type="submit"],
    .wpcf7 a.button,
    .wpcf7 a.wp-block-button__link:not(.has-background) {
        width: 274px !important;
    }
}

.wpcf7 button:hover,
.wpcf7 input[type="button"]:hover,
.wpcf7 input[type="reset"]:hover,
.wpcf7 input[type="submit"]:hover,
.wpcf7 a.button:hover,
.wpcf7 button:focus,
.wpcf7 input[type="button"]:focus,
.wpcf7 input[type="reset"]:focus,
.wpcf7 input[type="submit"]:focus,
.wpcf7 a.button:focus,
.wpcf7 a.wp-block-button__link:not(.has-background):active,
.wpcf7 a.wp-block-button__link:not(.has-background):focus,
.wpcf7 a.wp-block-button__link:not(.has-background):hover {
    background-color: var(--wp--preset--color--so-electric-green-30);
    text-decoration: none;
}

/* Migrated styles - pulled from customizer */
.wpcd2-coupon-table-ribben {
    height: 25px;
    vertical-align: top;
    border: none
}

.wpcd2-ribben {
    z-index: 3;
    background: #249255;
    width: auto;
    height: 25px;
    color: #fff;
    font-size: 13px;
    text-align: left;
    border-radius: 0;
    text-transform: uppercase;
    position: absolute;
    margin: 6px 0 0 -6px;
    padding: 0 10px 0 10px;
    min-width: 180px;
    font-weight: 600;
    line-height: 25px
}

.wpcd2-coupon-description {
    margin: auto;
    font-size: 15px;
    padding: 0 10px 5px 10px;
    text-align: left;
    font-weight: 400;
    font-family: "Lato", sans-serif;
    color: #26282d
}

.wpcd2-table-mobile-title {
    display: none
}

.wpcd2-coupon-description p {
    margin: 0
}

.wpcd2-coupon-title {
    width: 100%;
    font-size: 20px;
    color: #354683;
    font-weight: 600;
    padding: 0 0 2px 0;
    display: inline
}

.wpcd2-coupon-table {
    width: auto;
    padding: 5px 5px 5px 5px;
    overflow: hidden;
    clear: both;
    position: relative;
    border-bottom: 3px solid #ebebeb
}

.wpcd2-coupon-table {
    margin: 0 auto;
    text-align: center;
    padding-right: 5px
}

.wpcd2-coupon-table-product {
    width: 15%;
    order: 1;
    display: block;
    margin: auto
}

td.wpcd2-coupon-table-description {
    width: 50%;
    display: flex;
    border-left: 1px solid #344783;
    order: 2
}

tr.wpcd2-coupon-table {
    display: flex;
    flex-wrap: wrap
}

.wpcd2-coupon-table-coupon {
    width: 28%;
    order: 3;
    display: block;
    margin: auto
}

.wpcd2-coupon-code {
    text-align: center
}

.wpcd2-btn {
    font-size: 14px;
    color: #ffffff !important;
    background: #D0021B;
    border-bottom: 3px solid #62020E !important;
    text-align: center;
    cursor: pointer;
    font-weight: 600;
    display: inline-block;
    text-decoration: none !important;
    border-radius: 4px;
    width: 200px;
    max-width: 85%;
    vertical-align: middle;
    padding: 6px 16px;
    text-transform: uppercase;
    text-shadow: 1px 1px 2px #00000063, 1px 1px 10px #00000052
}

a.wpcd2-btn:hover {
    background-color: #ea031f !important;
    box-shadow: rgba(3, 3, 3, .4) 0 8px 12px 0px !important
}

.wpcd2-full-description {
    padding: 15px 0 0 0
}

.wpcd2-coupon-one-img {
    max-width: 100%;
    max-height: 130px;
    margin: 25px auto 0
}

td.wpcd2-coupon-table-product {
    text-align: center
}

@media screen and (max-width:1020px) {
    tr.wpcd2-coupon-table {
        margin-top: 0
    }

    .wpcd2-coupon-table-product {
        width: 100%;
        margin: auto;
        order: 1
    }

    td.wpcd2-coupon-table-description {
        width: 100%;
        order: 3;
        border: none !important;
        margin: auto
    }

    .wpcd2-coupon-one-img {
        margin-top: 10px !important
    }

    .wpcd2-btn {
        width: 250px
    }

    .wpcd2-coupon-table-coupon {
        width: 100%;
        order: 2;
        margin: 0 auto 10px
    }

    .wpcd2-coupon-table,
    .wpcd2-coupon-code {
        border-right: none
    }

    td.wpcd2-coupon-table-product {
        border-right: none
    }
}

.sppfs-container {
    box-shadow: 0 2px 15px 1px rgba(0, 0, 0, .1);
    padding: 10px 5px;
    display: flex;
    flex-direction: row;
    margin: 20px
}

.sppfs-container__left {
    display: flex;
    flex-direction: column;
    width: 36%;
    border-right: 1px solid #354683
}

.sppfs-container__right {
    display: flex;
    flex-direction: column;
    width: 64%;
    padding: 15px 0 15px 20px;
    margin: auto
}

.sppfs-item__badge {
    background: #354683;
    font-family: 'Lato';
    font-size: 13px;
    font-weight: 600;
    color: #fff;
    text-align: center;
    max-width: max-content;
    max-width: -moz-max-content;
    padding: 7px 40px;
    border-radius: 3px;
    margin: -10px 0 5px -25px
}

img.sppfs-item__image {
    width: 85%;
    margin: auto;
    display: block
}

.sppfs-item__productname-desktop {
    font-family: 'Lato';
    font-size: 20px;
    font-weight: 600;
    color: #354683;
    margin-bottom: 20px
}

.sppfs-item__productdesc {
    font-family: 'Lato';
    font-size: 15px;
    color: #26282d;
    line-height: 1.7em;
    margin-bottom: 20px
}

.sppfs-item__image {
    margin: auto
}

a.sppfs-item__button {
    font-size: 18px;
    color: #ffffff !important;
    background: #D0021B !important;
    border-bottom: 3px solid #62020E !important;
    border-top: none !important;
    border-left: none !important;
    border-right: none !important;
    text-align: center;
    cursor: pointer;
    font-family: 'Lato';
    font-weight: 600;
    display: inline-block;
    text-decoration: none !important;
    border-radius: 8px !important;
    width: 300px !important;
    vertical-align: middle !important;
    padding: 6px 5px !important;
    text-transform: uppercase !important;
    text-shadow: 1px 1px 2px #00000063, 1px 1px 10px #00000052 !important
}

a.sppfs-item__button:hover {
    background-color: #ea031f !important;
    box-shadow: rgba(3, 3, 3, .4) 0 8px 12px 0px !important
}

.sppfs-item__productname-mobile {
    display: none
}

@media screen and (max-width:599px) {
    .sppfs-item__productname-mobile {
        font-family: 'Lato';
        font-size: 30px;
        font-weight: 600;
        color: #354683;
        margin-bottom: 20px;
        display: block;
        text-align: center
    }

    .sppfs-container {
        flex-direction: column
    }

    .sppfs-container__left {
        width: auto;
        border-right: none;
        padding: 15px
    }

    .sppfs-container__right {
        width: auto;
        padding: 15px
    }

    .sppfs-item__productname-desktop {
        display: none
    }

    .sppfs-item__button {
        margin: auto
    }

    a.sppfs-item__button {
        width: 250px !important;
        font-size: 15px
    }
}

/*Quiz CSS */
input.vq-css-checkbox+label.vq-css-label {

    cursor: pointer;
    text-decoration: none;
    color: #ffffff;
    background-color: #384d82;
    border-radius: 5px;
    font-size: 18px !important;
    font-weight: 600;
    padding: 20px 40px;

}

.wpvq-question {
    text-align: center;
}

.wpvq-answer {
    background: #fff;
    border: 3px solid #ecf0f1;
    border-radius: 2px;
    color: #5f5f5f;
    width: auto;
    display: inline-block;
}

.wpvq {
    width: 100% !important;
    max-width: 100% !important;
}

.wpvq-answer {
    background: #fff;
    border: 0px solid #ecf0f1;
    border-radius: 0px;
    color: #fff;
}

.elementor-18878 .elementor-element.elementor-element-5ac96df:not(.elementor-motion-effects-element-type-background),
.elementor-18878 .elementor-element.elementor-element-5ac96df>.elementor-motion-effects-container>.elementor-motion-effects-layer {
    background-color: #fbf9f4;
}

.elementor-container {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    margin-right: auto;
    margin-left: auto;
    position: relative;
}

elementor-row {
    width: 100%;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
}

div#wpvq-final-score,
div#wpvq-final-personality {
    padding: 0px !important;
    margin-top: 0px !important;
    margin-bottom: 0px !important;
    background: rgb(0, 0, 0, 0) !important;
}

.wpvq-question.wpvq-line .vq-css-label {
    line-height: 12px !important;
    min-width: 180px;
    background-image: none;
    text-align: center;
}

.wpvq-question.wpvq-line .vq-css-label:hover {
    color: #646c96;
    background-color: #ffffff;
    background-image: none !important;
}

input.vq-css-checkbox+label.vq-css-label {
    padding: 20px 40px !important
}

.wpvq-answer {
    background: none !important;
    border: 0px solid #a2ded0 !important;
    transition: none !important;
    text-align: center;
}

.wpvq-answer:hover {
    background: none !important;
    border: 0px solid #a2ded0 !important;
    transition: none !important;
}

#wpvq-final-personality .wpvq-quiz-title {
    display: none;
}

#wpvq-final-personality .wpvq-local-caption {
    display: table;
    margin: 0 auto;
    font-size: 33px !important;
    font-weight: 800;
    line-height: 1.3em;
    color: #384d82 !important;
}

.wpvq-question-label {
    font-size: 25px !important;
    font-weight: 800;
    line-height: 1.3em;
    color: #384d82 !important;
    padding: 0px 0 20px 0 !important;
}

.wpvq-play-again-area a {}

.wpvq-play-again-area button {
    line-height: 12px !important;
    min-width: 180px;
    height: auto;
    display: inline-block;
    vertical-align: middle;
    cursor: pointer;
    text-decoration: none;
    color: #ffffff;
    background-color: #384d82 !important;
    border-radius: 5px;
    font-size: 18px !important;
    font-weight: 600;
    padding: 18px 40px !important;
}

.wpvq-play-again-area button:hover {
    color: #646c96;
    background-color: #ffffff !important;
}

.Personality .wpvq-answer.wpvq-choose {
    background-image: none !important;
}

input.vq-css-checkbox:checked+label.vq-css-label {
    background-image: none !important;
}

/* End Quiz CSS */

.slotl-border {
    border: 1.5px solid #314883;
    margin: 10px 0px !important
}

ul.slotl-item__textlinkslist {
    list-style: none;
    margin: 0 0 0 25px !important;
    color: #000 !important
}

ul li.slotl-item__list:before {
    content: "\2022";
    color: black;
    font-weight: 100;
    display: inline-block;
    width: 1em;
    margin-left: -1.1em
}

a.slotl-item__list:hover {
    color: #5190ED !important
}

.slotl-item__list {
    padding: 1px;
    font-family: 'Lato', sans-serif;
    ;
    font-weight: 700;
    color: #0000FF !important;
    margin-bottom: 0 !important
}

a.slotl-item__list {
    text-decoration: underline
}

.slotl-table__link-label {
    color: #fff !important;
    font-size: 12px;
    margin: 0 0 0 8px !important;
    position: relative !important;
    text-transform: uppercase !important;
    background: #314883 !important;
    padding: 4px !important;
    max-width: max-content !important;
    clear: both !important;
    border-radius: 3px;
    line-height: 1em;
    display: inline-block;
    font-weight: 400;
    vertical-align: text-bottom
}

p.slotl-item__glance {
    font-size: 22px;
    font-weight: 700;
    font-family: 'Lato', sans-serif;
    ;
    color: #314883;
    margin: 0 0 10px !important;
    line-height: 1.2em
}

.slotl-item__aag {
    color: #FECD85
}

@media only screen and (max-width: 640px) {
    .hide-on-mobile-paid {
        display: none;
    }
}

/* End Migrated styles */