.about {
    margin: 80px 0;
    padding: 10px 0 60px;
    background-color: var(--purple8);
    background-size: 780px;
    background-position: -100px 0;
    background-repeat: no-repeat;
    color: var(--white);
    position: relative
}

@media (min-width:321px) {
    .about {
        padding: 10px 10px 60px
    }
}

@media (min-width:768px) {
    .about {
        background-size: contain;
        background-position: 0 0
    }
}

@media (min-width:1024px) {
    .about {
        background-size: cover
    }
}

.about .container {
    height: 100%;
    margin-left: auto;
    margin-right: auto;
    max-width: 1024px;
    width: 94%;
    position: relative
}

@media (min-width:768px) and (max-width:768px) {
    .about .container {
        padding-left: 270px
    }
}

@media (min-width:769px) {
    .about .container {
        padding-left: 350px
    }
}

.about h2 {
    color: var(--white);
    margin: 215px 0 0
}

@media (min-width:425px) {
    .about h2 {
        margin: 0;
        padding: 90px 0 0 176px;
        height: 200px
    }
}

@media (min-width:768px) {
    .about h2 {
        height: auto;
        padding: 50px 0 0
    }
}

.about blockquote {
    margin: 20px 0;
    opacity: .8;
    font-size: 1.25rem;
    line-height: 1.4
}

.about blockquote span {
    font: 1.375rem cursive;
    line-height: 0
}

.about p {
    margin: 0
}

.about p strong {
    font-size: 1.25rem
}

.about p small {
    opacity: .8;
    font-size: .875rem
}

.about ul {
    list-style: none;
    margin: 30px 0 10px;
    padding: 0
}

.about ul li {
    display: inline-block;
    margin-right: 15px
}

@media (min-width:768px) {
    .about ul li {
        margin-right: 30px
    }
}

.about ul li:last-child {
    margin-right: 0
}

@media (max-width:767px) {
    .about ul li img {
        width: 70px;
        height: auto
    }
}

.about .button {
    background-color: var(--primary-color);
    border-radius: 3px;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    transition: background-color .15s ease-in-out;
    cursor: pointer;
    box-shadow: var(--block-shadow-min);
    display: inline-block;
    text-align: center;
    white-space: nowrap;
    font-weight: 500;
    padding: .5rem 1.5rem;
    border: 1px solid transparent;
    background-color: transparent;
    color: var(--white);
    box-shadow: none;
    border: 1px solid var(--white);
    margin-top: 40px;
    font-size: .9375rem
}

.about .button:hover {
    background-color: var(--link-hover-color);
    color: var(--white)
}

.about .button:disabled {
    background-color: var(--gray4);
    font-weight: 300;
    cursor: not-allowed;
    color: var(--gray6);
    box-shadow: none
}

.about .button:disabled,
.about .button:hover {
    background-color: var(--gray3);
    color: var(--primary-color)
}

.about__fade {
    background-image: linear-gradient(rgba(50, 42, 52, 0) 20%, var(--purple8) 60%);
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    top: 0
}

@media (min-width:1024px) {
    .about__fade {
        display: none
    }
}

body {
    margin: 0
}

@media (min-width:768px) {
    body {
        background-image: url("../images/vivalife-buble-02.svg"), url("../images/vivalife-buble-01.svg");
        background-repeat: no-repeat, no-repeat;
        background-position: -100px 700px, right 1500px;
        background-size: 680px
    }
}

@media (min-width:1024px) {
    body {
        background-position: -100px 300px, right 1200px;
        background-size: 1000px
    }
}

@media (min-width:1440px) {
    body {
        background-position: -100px 300px, right 1100px
    }
}

.bullets {
    text-align: center
}

@media (min-width:768px) {
    .bullets {
        text-align: left;
        margin: 0 0 30px
    }
}

@media (min-width:1024px) {
    .bullets {
        margin: 20px 0 0
    }
}

.bullets .container {
    height: 100%;
    margin-left: auto;
    margin-right: auto;
    max-width: 1024px;
    width: 94%
}

@media (min-width:1024px) {
    .bullets .container {
        padding: 0 70px
    }
}

@media (min-width:768px) {
    .bullets .row {
        display: flex
    }
}

@media (min-width:768px) {
    .bullets .row div:first-child {
        width: 450px;
        margin-right: 50px
    }
}

@media (min-width:1024px) {
    .bullets .row div:first-child {
        width: 300px;
        margin-right: 100px
    }
}

.bullets h2 {
    font-size: 1.125rem;
    margin-bottom: 36px;
    color: var(--purple6)
}

@media (min-width:768px) {
    .bullets h2 {
        margin-bottom: 0;
        font-size: 1.5rem;
        text-align: right
    }
}

@media (min-width:1024px) {
    .bullets h2 {
        font-size: 1.75rem
    }
}

.bullets h3 {
    font-size: 1.25rem
}

.bullets p {
    border-bottom: 1px solid var(--gray4);
    padding-bottom: 20px
}

.bullets p:last-child {
    border: none
}

.hero {
    background: var(--purple8) url("https://maryterapia.com/images/vivalife-happy-hero.jpg") no-repeat 50%;
    width: 100%;
    display: flex;
    position: relative;
    background-size: cover;
    color: var(--white);
    z-index: 2
}

.hero h1,
.hero h2,
.hero h3 {
    font-weight: 300;
    color: var(--white);
    text-shadow: 0 0 4px rgba(56, 41, 60, .4)
}

.hero h1 {
    margin-top: 100px;
    font-weight: 500;
    line-height: 1.2;
    font-size: 2.25rem
}

@media (min-width:321px) {
    .hero h1 {
        font-size: 2.375rem
    }
}

@media (min-width:768px) {
    .hero h1 {
        font-size: 2.75rem;
        margin-top: 160px
    }
}

@media (min-width:1024px) {
    .hero h1 {
        font-size: 3.875rem
    }
}

.hero h2 {
    font-size: 1.25rem;
    max-width: 700px;
    margin: 20px auto;
    line-height: 1.3
}

@media (min-width:425px) {
    .hero h2 {
        font-size: 1.375rem
    }
}

@media (min-width:768px) {
    .hero h2 {
        font-size: 1.5rem
    }
}

.hero h3 {
    font-size: 1.125rem;
    margin-top: 50px;
    opacity: .8
}

@media (min-width:425px) {
    .hero h3 {
        margin-top: 30px
    }
}

@media (min-width:1024px) {
    .hero h3 {
        margin-top: 0
    }
}

.hero-container {
    height: 100%;
    margin-left: auto;
    margin-right: auto;
    max-width: 1024px;
    width: 94%;
    position: relative;
    text-align: center;
    margin-bottom: 60px
}

@media (min-width:768px) {
    .hero-container {
        margin-bottom: 100px
    }
}

@media (min-width:1024px) {
    .hero-container {
        margin-bottom: 140px
    }
}

.hero-nav_fade {
    height: 276px;
    background-image: linear-gradient(-180deg, rgba(50, 42, 52, .5), rgba(50, 42, 52, 0) 76%)
}

.hero-bg_fade,
.hero-nav_fade {
    position: absolute;
    top: 0;
    left: 0;
    right: 0
}

.hero-bg_fade {
    background-color: var(--purple8);
    opacity: .45;
    bottom: 0
}

.how {
    margin-bottom: 80px;
    color: var(--purple6)
}

.how h2 {
    text-align: center;
    font-size: 2.25rem
}

.how .container {
    height: 100%;
    margin-left: auto;
    margin-right: auto;
    max-width: 1024px;
    width: 94%
}

.how .container>a {
    margin-top: 30px;
    display: block;
    text-align: center
}

.how .column {
    padding: 14px 0 0
}

@media (min-width:1024px) {
    .how .column {
        padding: 14px 14px 0
    }
}

.how .column:first-child {
    padding-left: 0
}

.how .column:last-child {
    padding-right: 0
}

.how__card {
    padding: 0 20px;
    background-color: var(--white);
    box-shadow: 0 1px 10px 0 rgba(83, 55, 71, .1);
    border-radius: 3px;
    margin: 0 auto;
    min-height: 100%
}

@media (min-width:321px) {
    .how__card {
        padding: 0 30px
    }
}

@media (min-width:425px) {
    .how__card {
        padding: 0 40px
    }
}

@media (min-width:768px) {
    .how__card {
        display: flex
    }
}

@media (min-width:1024px) {
    .how__card {
        display: block
    }
}

.how__card h3 {
    font-size: 1.375rem;
    margin: 6px 0 18px
}

.how__card p {
    font-weight: 300;
    color: var(--gray7)
}

.how__card.how__card_1 div:first-child {
    background-image: url("../images/availability.svg")
}

.how__card.how__card_2 div:first-child {
    background-image: url("../images/booking.svg")
}

.how__card.how__card_3 div:first-child {
    background-image: url("../images/conectar.svg")
}

.how__card>div:first-child {
    background: var(--white) url("../images/availability.svg") no-repeat 50%;
    width: 100%;
    height: 180px;
    padding-top: 50px
}

.how__card>div:last-child {
    padding-bottom: 30px
}

.nav_scrolled {
    background: transparent;
    box-shadow: none;
    z-index: 3;
    position: absolute
}

.nav_scrolled .nav__logo {
    background: transparent url("../images/MarianaMoralesLogo-v3.svg") no-repeat;
    background-size: contain;
    display: block
}

.nav_scrolled .nav__logo img {
    visibility: hidden
}

.nav_scrolled .nav__burger a:after {
    background: var(--white);
    box-shadow: 0 7px 0 var(--white), 0 14px 0 var(--white)
}

.nav_scrolled .nav__link {
    color: var(--white)
}

.nav_scrolled .nav__link:before {
    background-color: var(--purple2)
}

.nav_scrolled .nav__link_login {
    color: var(--white);
    border-color: var(--white)
}

.nav_scrolled .nav__link_login:hover {
    border-color: var(--purple2);
    background-color: var(--purple2)
}

nav:not(.nav_scrolled) {
    z-index: 1
}

.newsletter {
    margin: 30px 0 100px;
    background-color: var(--blue4)
}

.newsletter .container {
    padding: 60px 10px;
    position: relative
}

@media (min-width:321px) {
    .newsletter .container {
        padding: 60px 30px
    }
}

@media (min-width:425px) {
    .newsletter .container {
        padding: 60px
    }
}

@media (min-width:1024px) {
    .newsletter .container {
        padding: 60px 10px
    }
}

.newsletter .container .row {
    align-items: flex-start
}

.newsletter .container .column:first-child {
    color: var(--black);
    font-size: 1.25rem
}

.newsletter .container .column:last-child {
    padding-top: 20px
}

@media (min-width:1024px) {
    .newsletter .container .column:last-child {
        padding-left: 40px;
        padding-top: 0
    }
}

.newsletter input[type=email] {
    color: var(--input-color);
    background-color: var(--input-background);
    height: var(--input-height);
    font-size: var(--input-font-size);
    font-weight: 300;
    line-height: 1.25rem;
    width: 100%;
    border-radius: 2px;
    border: 1px solid var(--input-border-color);
    transition: var(--input-transition);
    display: block;
    padding: .5rem;
    background-image: none;
    background-clip: padding-box
}

.newsletter input[type=email]:focus,
.newsletter input[type=email]:hover:not(:disabled) {
    border-color: var(--input-hover-border-color)
}

.newsletter input[type=email]:focus {
    color: var(--input-color);
    background-color: var(--input-background);
    outline: none
}

.newsletter input[type=email]:disabled,
.newsletter input[type=email][readonly] {
    background-color: var(--input-disabled-background);
    opacity: .4;
    color: var(--input-disabled-color);
    cursor: not-allowed
}

.newsletter input[type=email]::-webkit-input-placeholder {
    color: var(--gray5);
    opacity: 1
}

.newsletter input[type=email]::-moz-placeholder {
    color: var(--gray5);
    opacity: 1
}

.newsletter input[type=email]:-ms-input-placeholder {
    color: var(--gray5);
    opacity: 1
}

.newsletter input[type=email]::-ms-input-placeholder {
    color: var(--gray5);
    opacity: 1
}

.newsletter input[type=email]::placeholder {
    color: var(--gray5);
    opacity: 1
}

.newsletter input[type=submit] {
    background-color: var(--primary-color);
    color: var(--white);
    border-radius: 3px;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    transition: background-color .15s ease-in-out;
    cursor: pointer;
    box-shadow: var(--block-shadow-min);
    display: inline-block;
    text-align: center;
    white-space: nowrap;
    font-weight: 500;
    padding: .5rem 1.5rem;
    border: 1px solid transparent
}

.newsletter input[type=submit]:hover {
    background-color: var(--link-hover-color);
    color: var(--white)
}

.newsletter input[type=submit]:disabled {
    background-color: var(--gray4);
    font-weight: 300;
    cursor: not-allowed;
    color: var(--gray6);
    box-shadow: none
}

.newsletter .input {
    margin-bottom: 10px
}

.newsletter .input__hint,
.rocket {
    color: var(--purple6)
}

.rocket {
    margin: 0 0 80px;
    text-align: center
}

@media (min-width:1024px) {
    .rocket {
        margin: 40px 0 120px
    }
}

.rocket h2 {
    font-size: 2.25rem;
    margin: 20px 0 6px
}

.rocket h3 {
    font-size: 1.25rem;
    font-weight: 300;
    margin: 0 0 30px
}

._visited_bar {
    --visited-bar-color: var(--white);
    position: absolute;
    width: 100%;
    top: 54px;
    background: rgba(56, 41, 60, .7);
    border: none
}

@media (min-width:768px) {
    ._visited_bar {
        top: 90px
    }
}

._visited_bar+div {
    top: 120px;
    margin-bottom: 200px
}

@media (min-width:768px) {
    ._visited_bar+div {
        top: 140px
    }
}