/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
html {
    line-height             : 1.15;
    -webkit-text-size-adjust: 100%
}

body {
    margin: 0
}

main {
    display: block
}

h1 {
    font-size: 2em;
    margin   : .67em 0
}

hr {
    box-sizing: content-box;
    height    : 0;
    overflow  : visible
}

pre {
    font-family: monospace, monospace;
    font-size  : 1em
}

a {
    background-color: transparent
}

abbr[title] {
    border-bottom  : none;
    text-decoration: underline;
    text-decoration: underline dotted
}

b,
strong {
    font-weight: bolder
}

code,
kbd,
samp {
    font-family: monospace, monospace;
    font-size  : 1em
}

small {
    font-size: 80%
}

sub,
sup {
    font-size     : 75%;
    line-height   : 0;
    position      : relative;
    vertical-align: baseline
}

sub {
    bottom: -.25em
}

sup {
    top: -.5em
}

img {
    border-style: none
}

button,
input,
optgroup,
select,
textarea {
    font-family: inherit;
    font-size  : 100%;
    line-height: 1.15;
    margin     : 0
}

button,
input {
    overflow: visible
}

button,
select {
    text-transform: none
}

button,
[type=button],
[type=reset],
[type=submit] {
    -webkit-appearance: button
}

button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
    border-style: none;
    padding     : 0
}

button:-moz-focusring,
[type=button]:-moz-focusring,
[type=reset]:-moz-focusring,
[type=submit]:-moz-focusring {
    outline: 1px dotted ButtonText
}

fieldset {
    padding: .35em .75em .625em
}

legend {
    box-sizing : border-box;
    color      : inherit;
    display    : table;
    max-width  : 100%;
    padding    : 0;
    white-space: normal
}

progress {
    vertical-align: baseline
}

textarea {
    overflow: auto
}

[type=checkbox],
[type=radio] {
    box-sizing: border-box;
    padding   : 0
}

[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
    height: auto
}

[type=search] {
    -webkit-appearance: textfield;
    outline-offset    : -2px
}

[type=search]::-webkit-search-decoration {
    -webkit-appearance: none
}

::-webkit-file-upload-button {
    -webkit-appearance: button;
    font              : inherit
}

details {
    display: block
}

summary {
    display: list-item
}

template {
    display: none
}

[hidden] {
    display: none
}

* {
    padding   : 0;
    margin    : 0;
    box-sizing: border-box
}

@-ms-viewport {
    width: device-width
}

@-o-viewport {
    width: device-width;
}

@viewport {
    width: device-width
}

a,
button,
input,
label,
select {
    border                     : none;
    text-decoration            : none;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
    background-color           : transparent;
    outline                    : none;
    color                      : inherit;
    box-shadow                 : none
}

a,
button,
label,
select {
    cursor: pointer
}

a:active,
a:focus,
a:hover,
a:visited {
    color: inherit
}

input,
label,
select,
input::placeholder,
input:-ms-input-placeholder,
input::-ms-input-placeholder,
input::-moz-placeholder,
input::-webkit-input-placeholder {
    vertical-align: middle
}

.nowrap {
    white-space: pre
}

@font-face {
    font-family: Gilroy;
    src        : url(../fonts/Gilroy-Regular.eot);
    src        : local("Gilroy Regular"), local("Gilroy-Regular"), url(../fonts/Gilroy-Regular.eot?#iefix) format("embedded-opentype"), url(../fonts/Gilroy-Regular.woff2) format("woff2"), url(../fonts/Gilroy-Regular.woff) format("woff"), url(../fonts/Gilroy-Regular.ttf) format("truetype");
    font-weight: 400;
    font-style : normal
}

@font-face {
    font-family: Gilroy;
    src        : url(../fonts/Gilroy-Medium.eot);
    src        : local("Gilroy Medium"), local("Gilroy-Medium"), url(../fonts/Gilroy-Medium.eot?#iefix) format("embedded-opentype"), url(../fonts/Gilroy-Medium.woff2) format("woff2"), url(../fonts/Gilroy-Medium.woff) format("woff"), url(../fonts/Gilroy-Medium.ttf) format("truetype");
    font-weight: 500;
    font-style : normal
}

@font-face {
    font-family: Gilroy;
    src        : url(../fonts/Gilroy-Bold.eot);
    src        : local("Gilroy Bold"), local("Gilroy-Bold"), url(../fonts/Gilroy-Bold.eot?#iefix) format("embedded-opentype"), url(../fonts/Gilroy-Bold.woff2) format("woff2"), url(../fonts/Gilroy-Bold.woff) format("woff"), url(../fonts/Gilroy-Bold.ttf) format("truetype");
    font-weight: 700;
    font-style : normal
}

html {
    line-height     : 1.5;
    font-weight     : 500;
    color           : #374355;
    background-color: #fff;
    text-align      : left;
    font-family     : Gilroy, sans-serif;
    scroll-behavior : smooth;
    font-size       : 15px
}

@media screen and (min-width: 360px) {
    html {
        font-size: 16px
    }
}

@media screen and (min-width: 768px) {
    html {
        font-size: 18px
    }
}

@media screen and (min-width: 1200px) {
    html {
        font-size: 20px
    }
}

html,
body {
    scrollbar-gutter: stable
}

.box {
    margin   : 0 auto;
    width    : 100%;
    max-width: 384px;
    padding  : 0 1.25rem
}

@media screen and (min-width: 768px) {
    .box {
        max-width: 672px;
        padding  : 0
    }
}

@media screen and (min-width: 1200px) {
    .box {
        max-width: 1024px
    }
}

header {
    padding         : 1.25rem 0;
    background-color: #fff;
    position        : sticky;
    top             : 0;
    z-index         : 9999;
    border-bottom   : 1px solid rgba(0, 0, 0, .1)
}

header .box {
    display        : flex;
    align-items    : center;
    justify-content: space-between
}

header .logo {
    display        : flex;
    align-items    : center;
    justify-content: center
}

header .logo svg {
    width: 1.75rem;
    fill : #0169eb
}

header .logo p {
    margin-left: .5rem;
    white-space: nowrap
}

header .logo p span {
    font-weight: 700
}

header .phone {
    align-items    : center;
    display        : flex;
    justify-content: center
}

header .phone .pulse {
    width           : .5rem;
    height          : .5rem;
    border-radius   : 10rem;
    background-color: #01b062;
    margin-left     : .5rem;
    order           : 3
}

header .phone a {
    font-weight    : 700;
    text-decoration: underline;
    white-space    : nowrap
}

@media screen and (min-width: 768px) {
    header .phone a {
        text-decoration: none
    }
}

header .phone a .cta {
    display: none
}

@media screen and (min-width: 768px) {
    header .phone a .cta {
        display        : inline;
        font-weight    : 500;
        text-decoration: none
    }
}

#hero {
    padding         : 3.5rem 0 5rem;
    text-align      : center;
    background-color: #fff;
    text-wrap       : balance
}

#hero h1 {
    margin     : 0 auto;
    font-size  : 1.7rem;
    font-weight: 700;
    line-height: 1.4
}

@media screen and (min-width: 768px) {
    #hero h1 {
        font-size: 2.5rem
    }
}

#hero .description {
    font-size: 1.1rem;
    margin   : 1rem auto 0;
    max-width: 600px
}

@media screen and (min-width: 768px) {
    #hero .description {
        font-size: 1.25rem
    }
}

#hero .description a {
    font-weight    : 700;
    text-decoration: underline
}

#hero .button {
    align-items     : center;
    background-color: #0169eb;
    border-radius   : 9999px;
    color           : #fff;
    display         : flex;
    font-size       : 1.2rem;
    font-weight     : 700;
    justify-content : center;
    width           : fit-content;
    margin          : 1.75rem auto 0;
    padding         : 1.25rem 2rem
}

#hero .button img {
    background-color: #d9ecff;
    border-radius   : 10rem;
    height          : 2.5rem;
    width           : 2.5rem;
    margin-right    : 1rem
}

#hero .button svg {
    fill       : #fff;
    width      : 1rem;
    margin-left: 1rem
}

#hero .review {
    margin   : 2.5rem auto 0;
    max-width: 500px;
    text-wrap: balance
}

#hero .review .stars {
    display        : flex;
    align-items    : center;
    justify-content: center;
    gap            : .2rem
}

#hero .review .stars svg {
    background: #01b062;
    fill      : #fff;
    width     : 2rem;
    height    : 2rem;
    padding   : .4rem
}

#hero .review p {
    margin   : .5rem auto 0;
    max-width: 300px
}

#hero .bullets {
    display              : grid;
    margin               : 2rem auto 0;
    grid-template-columns: 1fr 1fr;
    justify-content      : center;
    justify-items        : center;
    grid-gap             : 1rem;
    grid-row-gap         : 2rem;
    place-content        : center;
    max-width            : 500px
}

@media screen and (min-width: 1200px) {
    #hero .bullets {
        grid-template-columns: 1fr 1fr 1fr 1fr;
        max-width            : none
    }
}

#hero .bullets .check svg {
    background   : #e7ecf2;
    width        : 2rem;
    height       : 2rem;
    padding      : .5rem;
    border-radius: 10rem
}

#hero .bullets .check p {
    margin-top: .5rem
}

#content {
    background    : #f4f6f9;
    background    : linear-gradient(180deg, #fff, #fff 2.5%, #f4f6f9 2.5%, #f4f6f9);
    padding-bottom: 3rem
}

@media screen and (min-width: 768px) {
    #content {
        padding-bottom: 0;
        background    : linear-gradient(180deg, #fff, #fff 2.5%, #f4f6f9 2.5%, #f4f6f9 97.5%, #202731 97.5%, #202731)
    }
}

@media screen and (min-width: 768px) {
    #content .box {
        max-width       : 672px;
        background-color: #fff;
        padding-bottom  : 3rem;
        border-radius   : .5rem
    }
}

@media screen and (min-width: 1200px) {
    #content .box {
        max-width: 768px
    }
}

#content img {
    width        : 100%;
    border-radius: .5rem
}

#content h2 {
    text-align : center;
    margin     : 2rem 0;
    font-size  : 1.5rem;
    font-weight: 700;
    line-height: 1.4;
    text-wrap  : balance
}

@media screen and (min-width: 768px) {
    #content h2 {
        padding: 0 4rem
    }
}

#content p {
    margin-bottom: 1.5rem
}

#content p:last-child {
    margin-bottom: 0
}

#content p a {
    white-space    : nowrap;
    color          : #0169eb;
    text-decoration: underline;
    font-weight    : 700
}

@media screen and (min-width: 768px) {
    #content p {
        padding: 0 4rem
    }
}

#content ul,
#content ol {
    margin             : 2rem 0;
    list-style-position: inside;
    display            : grid;
    grid-gap           : 1rem
}

@media screen and (min-width: 768px) {

    #content ul.twocolumn,
    #content ol.twocolumn {
        grid-template-columns: 1fr 1fr
    }
}

@media screen and (min-width: 768px) {

    #content ul,
    #content ol {
        padding: 0 4rem
    }
}

#content h3 {
    font-size    : 1.2rem;
    font-weight  : 700;
    margin-bottom: 1rem;
    margin-top   : 2.5rem;
    align-items  : center;
    display      : flex
}

#content h3:after {
    background-color: #e7ecf2;
    content         : "";
    flex-grow       : 1;
    font-size       : 0;
    height          : 1px;
    line-height     : 0;
    margin-left     : .75rem
}

@media screen and (min-width: 768px) {
    #content h3 {
        padding: 0 4rem
    }
}

#content .button {
    align-items     : center;
    background-color: #0169eb;
    border-radius   : 9999px;
    color           : #fff;
    display         : flex;
    font-size       : 1.2rem;
    font-weight     : 700;
    justify-content : center;
    width           : fit-content;
    padding         : 1.25rem 2rem;
    text-wrap       : balance;
    margin          : 1.75rem auto 0;
    position        : sticky;
    bottom          : 1rem;
    transform       : translateY(calc(100% + 1rem));
    transition      : .3s
}

#content .button.sticky {
    transform: translateY(0)
}

#content .button img {
    background-color: #d9ecff;
    border-radius   : 10rem;
    height          : 2.5rem;
    width           : 2.5rem;
    margin-right    : 1rem
}

#content .button svg {
    fill       : #fff;
    width      : 1rem;
    margin-left: 1rem
}

footer {
    padding         : 5rem 0 4rem;
    text-align      : center;
    background-color: #202731;
    color           : #fff
}

footer .header {
    margin     : 0 auto;
    font-size  : 1.7rem;
    font-weight: 700;
    line-height: 1.4;
    text-wrap  : balance
}

@media screen and (min-width: 768px) {
    footer .header {
        font-size: 2.5rem
    }
}

footer .description {
    font-size: 1.1rem;
    margin   : 1rem auto 0;
    max-width: 600px;
    text-wrap: balance
}

@media screen and (min-width: 768px) {
    footer .description {
        font-size: 1.25rem
    }
}

footer .description a {
    font-weight    : 700;
    text-decoration: underline
}

footer .button {
    align-items     : center;
    background-color: #0169eb;
    border-radius   : 9999px;
    color           : #fff;
    display         : flex;
    font-size       : 1.2rem;
    font-weight     : 700;
    justify-content : center;
    width           : fit-content;
    margin          : 1.75rem auto 0;
    padding         : 1.25rem 2rem;
    text-wrap       : balance
}

footer .button img {
    background-color: #d9ecff;
    border-radius   : 10rem;
    height          : 2.5rem;
    width           : 2.5rem;
    margin-right    : 1rem
}

footer .button svg {
    fill       : #fff;
    width      : 1rem;
    margin-left: 1rem
}

footer .review {
    margin   : 2.5rem auto 0;
    max-width: 500px;
    text-wrap: balance
}

footer .review .stars {
    display        : flex;
    align-items    : center;
    justify-content: center;
    gap            : .2rem
}

footer .review .stars svg {
    background: #01b062;
    fill      : #fff;
    width     : 2rem;
    height    : 2rem;
    padding   : .4rem
}

footer .review p {
    margin   : .5rem auto 0;
    max-width: 300px
}

footer .bullets {
    display              : grid;
    margin               : 2rem auto 0;
    grid-template-columns: 1fr 1fr;
    justify-content      : center;
    justify-items        : center;
    grid-gap             : 1rem;
    grid-row-gap         : 2rem;
    place-content        : center;
    max-width            : 500px;
    text-wrap            : balance
}

@media screen and (min-width: 1200px) {
    footer .bullets {
        grid-template-columns: 1fr 1fr 1fr 1fr;
        max-width            : none
    }
}

footer .bullets .check svg {
    background   : #e7ecf2;
    width        : 2rem;
    height       : 2rem;
    padding      : .5rem;
    border-radius: 10rem
}

footer .bullets .check p {
    margin-top: .5rem
}

footer .footer_text {
    margin-top : 2rem;
    padding-top: 2rem;
    border-top : 1px solid rgba(255, 255, 255, .1);
    font-size  : .9rem;
    text-align : left
}

footer .footer_links {
    font-size     : .9rem;
    text-align    : left;
    width         : 100%;
    margin-top    : 1rem;
    display       : flex;
    flex-direction: column;
    gap           : 1rem;
    white-space   : nowrap
}

@media screen and (min-width: 1200px) {
    footer .footer_links {
        flex-direction : row;
        justify-content: space-between
    }
}

footer .footer_links .footer_links__group {
    display        : flex;
    flex-direction : column;
    gap            : 1rem;
    text-decoration: underline
}

@media screen and (min-width: 768px) {
    footer .footer_links .footer_links__group {
        flex-direction: row
    }
}