/* GENERAL */
.text-primary {
    color: #9361BD;
}
.text-bigger {
    font-size: 20px;
}
.button {
    height: 48px;
    min-width: 200px;
    font-size: 20px;
    font-weight: 500;
    text-align: center;
    line-height: 48px;
    border-radius: 24px;
}
.button.primary {
    background: #9361BD;
    color: #FFFFFF;
}
.button.primary:hover {
    background: #FF888E;
}
.button.secondary {
    background: #FF888E;
    color: #FFFFFF;
}
.button.secondary:hover {
    background: #FFFFFF;
    color: #734499;
}


/* HEADER */
header {
    background: #734499;
    color: #FFFFFF;
    z-index: 100;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
}
header .logo img {
    width: 240px;
    height: auto;
}
nav li {
    margin-left: 8px;
}
nav a {
    padding: 8px 16px;
    color: #FFFFFF;
    font-size: 16px;
    font-weight: 500;
}
nav a:hover {
    color: #FF888E;
}
nav a.link {
    background: #FF888E;
    border-radius: 20px;
}
nav a.link:hover {
    background: #FFFFFF;
    color: #9361BD;
}
#menu-responsive-icon div {
    height: 32px;
    width: 32px;
    position: relative;
    cursor: pointer;
}
#menu-responsive-icon div span {
    display: block;
    position: absolute;
    height: 4px;
    width: 28px;
    background: #FFFFFF;
    border-radius: 2px;
}
#menu-responsive-icon div span:nth-child(1) {
    top: 4px;
    left: 2px;
}
#menu-responsive-icon div span:nth-child(2) {
    top: 14px;
    left: 2px;
}
#menu-responsive-icon div span:nth-child(3) {
    top: 24px;
    left: 2px; 
}
#menu-responsive-icon div:hover span {
    background: #FF888E;
}
#menu-responsive .menu {
    background: #FFFFFF;
    color: #734499;
    border-bottom-left-radius: 32px;
    position: fixed;
    top: 72px;
    right: -100%;
    z-index: 20;
    padding-top: 16px;
    padding-bottom: 32px;
    transition: all 0.3s;
}
#menu-responsive .menu.active {
    right: 0;
}
#menu-responsive .menu .main-menu a {
    padding: 16px;
    color: #734499;
    font-weight: 500;
}
#menu-responsive .menu .main-menu a:hover {
    color: #FF888E;
}
#menu-responsive .menu .social {
    font-size: 14px;
    font-weight: 500;
}
.overlay {
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    background: rgba(0, 0, 0, 0.6);
    z-index: 10;
}
body.off {
    overflow: hidden;
}


/* FOOTER */
footer {
    background: #734499;
    color: #FFFFFF;
    font-weight: 500;
    font-size: 14px;
}
footer li a {
    color: #FFFFFF;
}
footer li a:hover {
    color: #FF888E;
}
#whatsapp {
    position: fixed;
    bottom: 16px;
    right: 16px;
}
#whatsapp img {
    width: 48px;
    height: auto;
}


/* CONTENT */
.main-section {
    padding-top: 72px;
}
section h2 {
    font-weight: 800;
    font-size: 40px;
}
section h3 {
    font-weight: 700;
    font-size: 20px;
}
section .subtitle {
    font-size: 24px;
}
.title-section {
    background-size: cover;
    background-repeat: no-repeat;
    height: 480px;
}
.title-section .title {
    position: relative;
}
.title-section .title .icon-left {
    position: absolute;
    left: -48px;
    top: calc(100% - 32px);
}
.title-section .title .icon-right {
    position: absolute;
    right: -48px;
    bottom: calc(100% - 32px);
}
.title-section h1 {
    color: #FFFFFF;
    font-size: 40px;
}

.section-gradient-gray {
    background: linear-gradient(#FFFFFF,#E3E3E3);
}
.section-gradient-pink {
    background: linear-gradient(#FF9FA6,#FF888E);
    color: #FFFFFF;
}
.section-gradient-purple {
    background: linear-gradient(#C387FD, #9B67C8);
    color: #FFFFFF;
}
#main-slider img {

    width: 100%;
    height: auto;
    padding-bottom: 32px;
}
.main-section .lSSlideOuter .lSPager.lSpg {
    margin: 10px 0 32px;
}
.main-section .lSSlideOuter .lSPager.lSpg > li a {
    background: #FFFFFF;
    width: 12px;
    height: 12px;
}
.main-section .lSSlideOuter .lSPager.lSpg > li:hover a, .lSSlideOuter .lSPager.lSpg > li.active a {
    background: #FF888E;
}
#conoce {  
    font-size: 20px;
    padding: 80px 120px;
}
#conoce .container-l {
    position: relative;
    padding-top: 64px;
    padding-bottom: 32px;
}
#conoce .container-l .detail-01, #conoce .container-l .detail-02 {
    position: absolute;
    width: 80px;
    height: auto;
}
#conoce .container-l .detail-01 {
    bottom: -24px;
    right: calc(100% - 24px);
}
#conoce .container-l .detail-02 {
    top: 0px;
    left: calc(100% - 24px);
}
.service-section {
    position: relative;
}
.service-section li {
    position: absolute;
}
.service-section li:nth-child(1) {
    left: 0;
    top: 128px;
}
.service-section li:nth-child(2) {
    right: 120px;
    top: 128px;
}
.service-section li:nth-child(3) {
    left: 120px;
    top: 532px;
}
.service-section li:nth-child(4) {
    right: 180px;
    top: 320px;
}
.service-section li:nth-child(5) {
    left: 180px;
    top: 340px;
}
.service-section li:nth-child(6) {
    right: 0px;
    top: 360px;
}
.service-section li:nth-child(7) {
    right: 96px;
    top: 532px;
}
.card-service {
    background: #E6E6E6;
    border-radius: 32px;
    box-shadow: 0 3px 6px rgba(0, 0, 0, 0.3);
    text-align: center;
    padding: 32px;
    font-size: 16px;
    font-weight: 500;
    color: #000000;
    min-width: 160px;
}
.card-service img {
    margin: 0 auto 16px;
    width: 48px;
    height: auto;
}
.card-service:hover {
    background: #9361BD;
    color: #FFFFFF;
}
.img-hover {
    display: none;
}
.card-service:hover .img-default {
    display: none;
}
.card-service:hover .img-hover {
    display: block;
}
.img-man-laptop {
    max-width: 640px;
    height: auto;
    width: 100%;
}
#clients-slider li {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 200px;
    height: 200px;
}
#clients-slider li img {
    max-width: 100%;
    max-height: 100%;
    width: 80%;
    height: fit-content;
}
.testimonials .card {
    background: #E6E6E6;
    border-radius: 32px;
    box-shadow: 0 3px 6px rgba(0, 0, 0, 0.3);
    padding: 56px 32px 32px;
    position: relative;
    margin-top: 40px;
    margin-bottom: 32px;
    line-height: 1.5;
    height: 640px;
}
.testimonials .card .image {
    position: absolute;
    left: calc(50% - 40px);
    top: -40px;
}
.testimonials .card .image img {
    overflow: hidden;
    border-radius: 50%;
    height: 80px;
    width: 80px;
    border: 2px solid #734499;
}
.testimonials .card h3 {
    font-size: 24px;
    color: #000000;
    font-weight: 600;
}
.testimonials .card h4 {
    font-weight: 600;
    color: #734499;
    padding-top: 8px;
    padding-bottom: 8px;
}
#section-vision-mision {
    position: relative;
    padding-bottom: 120px;
}
#section-vision-mision .cloud {
    position: absolute;
    bottom: -2px;
    left: 50%;
    transform: translateX(-50%);
}
.tag-title {
    background: #9361BD;
    padding: 8px 16px;
    display: inline-block;
    border-radius: 20px;
    margin-bottom: 8px;
}
.service-bottom-container {
    padding-left: calc(((100vw - 1200px) / 2));
}
.service-bottom .card-service {
    min-width: 200px;
}
.service-bottom-container .service-bottom li:last-child {
    margin-right: 0 !important;
}
.service-bottom-container .service-bottom li:last-child .card-service {
    margin-right: 32px;
}
.service-bottom-container .service-bottom li:first-child .card-service {
    margin-left: 32px;
}
.service-bottom .card-service:hover {
    background: #FF888E;
}
.service-bottom .card-service img {
    height: 48px;
    width: auto;
}




/* RESPONSIVE */
@media screen and (max-width: 1200px) {
    .service-section li {
        position: static;
        top: initial;
        left: initial;
        right: initial;
    }
    .service-section .card-service {
        display: flex;
        justify-content: center;
        align-items: center;
        padding: 16px;
    }
    .service-section .card-service img {
        margin: 0;
        padding-right: 8px;
    }
    .service-bottom-container {
        left: 0;
        margin-left: 0;
        width: 100%;
    }
}

@media screen and (max-width: 640px) {
    .text-bigger {
        font-size: 16px;
    }
    header .logo img {
        width: 200px;
    }
    section h2 {
        font-size: 24px;
    }
    section .subtitle {
        font-size: 16px;
    }
    .title-section h1 {
        font-size: 24px;
    }
    .title-section .title .icon-left, .title-section .title .icon-right {
        width: 20px;
        height: auto;
    }
    .title-section .title .icon-left {
        left: -20px;
        top: calc(100% - 8px);
    }
    .title-section .title .icon-right {
        right: -20px;
        bottom: calc(100% - 8px);
    }
    #main-slider img {
        max-width: 480px;
    }
    .testimonials li {
        width: 320px;
    }
    .testimonials .card {
        height: 800px;
    }
    #conoce {
        padding: 40px 64px;
        font-size: 16px;
    }
    #conoce .container-l .detail-01, #conoce .container-l .detail-02 {
        width: 40px;
    }
    #conoce .container-l .detail-01 {
        bottom: 8px;
        right: 100%;
    }
    #conoce .container-l .detail-02 {
        top: 32px;
        left: 100%;
    }
    #clients-slider li {
        width: 160px;
        height: 160px;
    }
    .title-section {
        height: 240px;
    }
    .service-bottom .card-service {
        min-width: 240px;
    }
}