:root {
    --swiper-pagination-bullet-width: 40px;
    --swiper-pagination-bullet-height: 4px;
}
html, body {
    scroll-behavior: smooth;
}
.intro {
    padding: 176px 0 300px 0;
    max-height: 641px;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: #312664;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
}

.intro h1 {
    color: #fff;
    font-size: 54px;
    font-weight: 700;
}
.intro .desc {
    color: #FFFFFF;
    font-size: 24px;
    line-height: 1.3;
}
.intro .desc span.bold {
    font-weight: 600;
}
.intro .links {
    margin-top: 20px;
    display: flex;
    justify-content: space-between;
    max-width: 576px;
    flex-wrap: wrap;
}

.intro .links .link {
    display: inline-block;
    padding: 15px 60px;
    font-size: 18px;
    border-radius: 40px;    
    color: #fff;
    text-decoration: none;
    max-width: 278px;
    text-align: center;
    width: 100%;
    transition: all 0.2s ease;
}
@media only screen and (orientation: portrait) {
    .intro {
        max-height: 70vh;
    }
}
h2 {
    color: #A24399;
    font-weight: 700;
}
.benefit-container-row .benefit-item {
    color: #312664;
    box-shadow: 0px 3px 6px #00000029;
    padding: 12px;
    border-radius: 10px;
    background-color: #FFFFFF;
    margin-bottom: 30px;
}
.benefit-container-row .benefit-title {
    font-size: 20px;
    font-weight: 600;
    margin-bottom: 0;
    margin-top: 8px;
}
#services-section {
    background-color: #EAE9F0;
    padding-top: 80px;
    padding-bottom: 80px;
}
.services-row {
    margin: auto;
}
#services-section .service-item {
    text-align: center;
    color: #312664;
    font-size: 12px;
    box-shadow: 0px 3px 6px #00000029;
    padding: 12px 4px;
    border-radius: 10px;
    background-color: #FFFFFF;
    font-weight: 600;
    margin-bottom: 4px;
    margin-top: 4px;
}
#services-section p.service-title {
    margin-bottom: 0;
    margin-top: 8px;
}
.service-img-container {
    min-width: 42px;
    min-height: 42px;
    display: flex;
    align-items: center;
    justify-content: center;
}
h3 {
    font-weight: 700;
    color: #312664;
}
h3 span {
    color: #000000;
}
#services-section .col-md-3 {
    padding-right: 4px;
    padding-left: 4px;
}
#services-section .row .col-md-6:first-child {
    display: flex;
    align-items: center;
}
.plan-section {
    background-color: #A73A8D;
    border-radius: 34px;
    color: #FFFFFF;
    padding: 12px;
    margin: 56px auto;
}
.plan-section .overline {
    margin-bottom: 0;
    font-weight: 600;
    text-decoration: underline;
}
.plan-section .plan-title {
    font-size: 2rem;
    font-weight: 700;
    margin-bottom: 0;    
}
.plan-section .plan-subtitle {
    font-size: 20px;
}
.plan-section ul li {
    font-weight: 200;
    margin-bottom: 12px;
    list-style-position: inside;
}
.plan-section a {
    display: inline-block;
    padding: 15px 60px;
    font-size: 18px;
    border-radius: 40px;
    background-color: transparent;
    color: #fff;
    border: 2px solid #FFFFFF;
    text-decoration: none;
    transition: background-color 0.2s ease;
}
.plan-section a:hover {
    background-color: #FFFFFF;
    color: #A73A8D;
    border: 2px solid #A73A8D;
}
#grey-section {
    background-color: #EAE9F0;
    margin-top: 56px;
    margin-bottom: 56px;
    padding-top: 32px;
    padding-bottom: 32px;
}
.grey-section {
    padding-top: 56px;
    padding-bottom: 56px;
    background-color: #EAE9F0;
    margin-top: 56px;
}
.blue-text {
    color: #312663;
}
.clinics-swiper .swiper-pagination-bullet {
    border-radius: 7.5px;
}
.clinics-swiper .item {
    min-width: 100px;
    max-width: 450px;
    -webkit-box-shadow: 0px 20px 72px -34px rgba(168, 156, 168, 1);
    -moz-box-shadow: 0px 20px 72px -34px rgba(168, 156, 168, 1);
    box-shadow: 0px 20px 72px -34px rgba(168, 156, 168, 1);
    border-radius: 20px;
    padding-bottom: 20px;
    text-align: center;
}
.clinics-swiper  .item img {
    width: 100%;
    border-top-left-radius: 20px;
    border-top-right-radius: 20px;
}
.clinics-swiper  .item .title {
    margin-top: 16px;    
    font-size: 18px;
    color: #312664;
    padding: 0 10px;
}
.clinics-swiper  .item .desc {
    font-weight: 200;
    color: #312664;
    padding: 0 10px;
    margin-bottom: 0;
}
.clinics-swiper .swiper-pagination {
    position: relative;
    bottom: auto;
}
.swiper-section {
    margin-bottom: 56px;
}
section.contact {
    background: #a73a8d;
    padding: 40px 0;
}
section.contact .frm_title {
    display: none;
}
section.contact .frm_text {
    display: none;
}
section.contact form {
    margin: 0 auto;
    max-width: 800px;
}
section.contact form input:read-only {
    background-color: #FFFFFF;
}
section.contact form input, section.contact form textarea, section.contact form select {
    display: block;
    background-color: #fff;
    border: none;
    border-radius: 0;
    padding: 10px 10px;
    font-size: 17px;
    margin-bottom: 7.5px;
    width: 100%;
    border: 1px solid #CCC;
}
section.contact .btn-submit {
    padding: 10px 60px;
    background: rgb(25, 97, 172);
    background: linear-gradient(90deg, rgba(25, 97, 172, 1) 0%, rgba(25, 97, 172, 1) 0%, rgba(0, 164, 184, 1) 100%);
    border-radius: 40px;
    color: #fff;
    border: none;
    margin-top: 20px;
}
.white-text, .contact .desc {
    color: #FFFFFF;
}
p.benefit-title.mobile {
    margin-left: 8px;
    line-height: 1;
}
.link1 {
    background-color: #A24399;
    font-weight: 600;
    border: 1px solid #A24399;
}
.link2 {
    background-color: #0790B4;
    border: 1px solid #0790B4;
}
.link1:hover, .link1:focus,
.link2:hover, .link2:focus {
    background-color: transparent;
}
@media only screen and (max-width: 576px) {
    .clinics-swiper .swiper-pagination-bullet {
        max-width: 24px;
    }
    .swiper-container {
        padding-left: 15px;
        padding-right: 15px;
    }
    .intro .img-container {
        margin-bottom: 32px;
        margin-top: 16px;
        max-width: 230px;
        margin-left: auto;
        margin-right: auto;
    }
}
@media only screen and (min-width: 577px) {
    .intro .img-container {
        margin-bottom: 56px;
    }
}
@media only screen and (max-width: 1199px) {
    .plan-section .link-container {
        margin-bottom: 32px;
    }
    .plan-section .overline {
        margin-top: 32px;
    }
}
@media only screen and (max-width: 767px) {
    .benefit-container-row .benefit-item {
        margin-bottom: 15px;
    }
    .grey-section .customer-container {
        max-width: 120px;
    }
    .benefit-title.desktop {
        display: none;
    }
    .benefit-img-container {
        display: flex;
        align-items: center;
        margin-bottom: 4px;
    }
}
@media only screen and (min-width: 768px) {
    .benefit-title.mobile {
        display: none;
    }
}
@media screen and (max-width: 992px) {
    .intro h1 {
        font-size: 28px;
        text-align: center;
    }
    .intro .desc {
        font-size: 21px;
        margin-top: 16px;
    }
    .intro .row {
        width: 100%;
        margin: 0;
    }
    .intro .desc {
        text-align: center;
    }

    .intro .links .link {
        width: 100%;
        text-align: center;
        margin: 0 auto;
        margin-bottom: 20px;
    }

    section.video {
        padding: 25px 0;
    }

    section.video .row {
        width: 100%;
        margin: 0%;
    }

    section.video .btn-more {
        display: block;
    }

    section.video h2 {
        font-size: 24px;
        text-align: center;
        margin-top: 10px;
    }

    section.video .desc {
        font-size: 18px;
        text-align: center;
    }

    section.contact {
        margin-bottom: 0;
    }

    section.contact .container .box {
        border-radius: 0;
        padding: 25px 0;
    }

    section.contact .box h2.title {
        font-size: 28px;
    }

    section.contact .box .btn-link {
        width: 70%;
        padding: 10px 70px;
        margin-top: 10px;
    }

    section.club {
        flex-direction: column;
        height: auto;
    }

    section.club .club-img {
        position: relative !important;
        height: unset !important;
        width: 100%;
        top: unset !important;
        margin-top: 10px;
        right: unset !important;
    }

    section.club p.desc {
        font-size: 18px;
    }

    section.club h2 {
        font-size: 24px;
    }
}
@media only screen and (max-width: 991px) {
    .swiper-desktop {
        display: none;
    }
}
@media screen and (min-width: 992px) {
    .swiper-mobile {
        display: none;
    }
    .swiper-wrapper {
        padding: 60px 0;
    }

    section.news .items {
        padding: 0 0;
    }
}