* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    color: inherit;
    font-size: inherit;
    font-family: inherit;
}

@font-face {
    font-family: "EuclidCircularA-Medium";
    src: url("../fonts/EuclidCircularA-Medium-WebS-klkDJ52.woff");
}

@font-face {
    font-family: "EuclidCircularA-Light";
    src: url("../fonts/EuclidCircularA-Light-WebS-sxHPjI7.woff");
}

@font-face {
    font-family: "BlackerDisplay-Italic";
    src: url("../fonts/Blacker-Pro-Display-Italic-fXrFKpv.woff");
}

html {
    overflow-x: hidden;
    scroll-behavior: smooth;
}

body {
    position: relative;
    font-family: "EuclidCircularA-Light", serif;
    background-color: white;
    padding-top: 80px;
    font-size: 1.125rem;
    overflow-x: hidden;
}

a {
    text-decoration: unset;
    color: inherit;
    cursor: pointer;
}

input {
    border-radius: 400px;
    padding: 20px;
    text-align: left;
    font-size: 1.125rem;
    font-family: "EuclidCircularA-Light", serif;
}

input::placeholder {
    color: white;
    opacity: 50%;
}

textarea {
    border-radius: 50px;
    padding: 25px 40px;
    text-align: left;
    font-size: 1.125rem;
    font-family: "EuclidCircularA-Light", serif;
    resize: none;
}

textarea::placeholder {
    color: white;
    opacity: 50%;
}

button {
    border-color: unset;
    border-style: unset;
    cursor: pointer;
    background: unset;
}

.container {
    width: 80%;
    max-width: 1450px;
    margin: auto;
}

.container--small {
    max-width: 560px;
}

.container--medium {
    max-width: 800px;
}

.button {
    display: block;
    width: fit-content;
    background-color: black;
    color: white;
    border-radius: 300px;
    padding: 20px 35px;
    font-size: 1.125rem;
    font-family: "EuclidCircularA-Medium", serif;
}

.button--full-width {
    width: 100%;
}

.button--center {
    margin-left: auto;
    margin-right: auto;
}

.button--wide {
    padding: 20px 80px;
}

.button--grey {
    background-color: rgb(237, 237, 237);
    color: black;
    background-image: url("../images/icons/arrow-right-ebVVmaj.svg");
    background-repeat: no-repeat;
    background-position: 95% center;
    padding: 15px 35px;
    text-align: left;
}

.button--white {
    background-color: white;
    color: #2253DD;
    display: block;
}

.button--white-border {
    border: 1px solid white;
    background-color: transparent;
    color: white;
    padding: 15px;
    flex: 1;
    transition: opacity .2s ease-in-out;
    font-family: "EuclidCircularA-Light", serif;
}

.button--white-border:hover {
    opacity: 0.7;
}

.selected {
    background-color: white;
    color: #2253DD;
}

.white-border {
    border: 1px solid white;
    background-color: transparent;
    color: white;
    display: block;
}

@keyframes myRotation {
    from {
        rotate: 0;
    }

    to {
        rotate: 120deg;
    }
}

@keyframes float {
    0% {
        box-shadow: 0 5px 15px 0 rgba(0,0,0,0.6);
        transform: translatey(0px);
    }
    50% {
        box-shadow: 0 25px 15px 0 rgba(0,0,0,0.2);
        transform: translatey(-20px);
    }
    100% {
        box-shadow: 0 5px 15px 0 rgba(0,0,0,0.6);
        transform: translatey(0px);
    }
}

.shape {
    display: block;
    position: absolute;
    z-index: 2;
    animation: myRotation 45s infinite alternate linear;
}

.shape--1 {
    height: 357px;
    right: -3%;
}

.shape--2 {
    width: 243px;
    left: -5%;
}

.shape--3 {
    width: 243px;
    right: -5%;
    margin-top: -100px;
}

.shape--4 {
    left: 0;
    height: 357px;
}

.shape--5 {
    width: 243px;
    right: 0;
    margin-right: -100px;
    margin-top: -50px;
}

.shape--6 {
    height: 357px;
    left: 20%;
    margin-top: -100px;
}

.section-title {
    font-size: 3rem;
    font-family: "EuclidCircularA-Medium", serif;
}

.blacker-display {
    font-family: "BlackerDisplay-Italic", serif;
}

.google-badge {
    width: 143px;
    margin-left: -4px;
}

.google-badge--bottom {
    margin-top: 50px;
    margin-left: unset;
}

/*HEADER*/

header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    margin: 0;
    background-color: transparent;
    z-index: 10000;
    padding: 30px;
    transition: background-color .4s;
}

.header--background-white {
    background-color: white;
}

.header__left {
    display: flex;
    align-items: center;
}

/*HOME*/

.hero {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-family: "EuclidCircularA-Medium", serif;
}

.hero__left {
    width: 41%;
    margin-top: 100px;
}

.hero__title {
    font-size: 4.25rem;
    line-height: 90px;
}

.hero__subtitle {
    margin-top: 25px;
    margin-bottom: 25px;
    padding-right: 70px;
    line-height: 40px;
    font-size: 1.375rem;
}

.hero__right {
    display: flex;
    align-items: center;
    justify-content: center;
    background-image: url("../images/logo-big-home-WjPBCLV.svg");
    background-repeat: no-repeat;
    background-size: contain;
    width: 550px;
    height: 550px;
}

.hero__card {
    height: 373px;
    border-radius: 20px;
    animation: float 6s ease-in-out infinite;
}

.partners {
    display: flex;
    flex-direction: column;
    gap: 30px;
    align-items: center;
    margin-top: 100px;
}

.partners__top {
    font-size: 0.875rem;
}

.partners__bottom {
    display: flex;
    align-items: center;
    gap: 150px;
}

.partners__icon--google {
    margin-bottom: -6px;
    margin-left: -30px;
}

.data {
    position: relative;
    text-align: center;
    padding-top: 200px;
}

.data__subtitle {
    font-size: 1.125rem;
    margin: 30px auto 100px auto;
    max-width: 55%;
}

.data__content {
    display: flex;
    justify-content: center;
    gap: 150px;
}

.data__item-title {
    font-size: 0.875rem;
}

.data__item {
    border-bottom: 20px solid;
}

.data__item-number {
    font-size: 4rem;
    font-family: "BlackerDisplay-Italic", serif;
}

.data__item--1 {
    border-color: #FFBC17;
}

.data__item--2 {
    border-color: #1CB273;
}

.data__item--3 {
    border-color: #2253DD;
}

.data__item--4 {
    border-color: #F44B14;
}

.team {
    position: relative;
    text-align: center;
    padding-top: 200px;
}

.team__image {
    width: 200px;
    margin-bottom: 25px;
}

.team__subtitle {
    font-size: 1.125rem;
    margin: 15px auto 100px auto;
    max-width: 80%;
}

.team__grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 15px;
    font-family: "EuclidCircularA-Medium", serif;
}

.goals {
    text-align: center;
    padding-top: 200px;
}

.section-title--goals {
    margin-bottom: 50px;
}

.goals__grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    margin-top: 100px;
    justify-content: center;
    align-items: center;
    column-gap: 200px;
    row-gap: 100px;
}

.goals__item {
    width: 350px;
    height: 220px;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
}

.goals__item-icon {
    height: 120px;
}

.goals__item-text {
    margin: auto 0 0 0;
    font-size: 1.125rem;
}

.reviews {
    text-align: center;
    padding-top: 200px;
    position: relative;
}

.flickity-viewport {
    overflow: visible !important;
}


.reviews__body {
    position: relative;
    margin: 100px 0 80px;
    padding: 0 60px;
}

.reviews__button {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 2;
    cursor: pointer;
}

.reviews__button--left {
    left: 5%;

}

.reviews__button--right {
    right: 5%;
}

.reviews__item {
    width: 550px;
    height: 550px;
    display: flex;
    justify-content: flex-end;
    margin-right: 30px;
    box-shadow: 0 0 20px rgba(0, 0, 0, 0.2);
}

.reviews__item--1 {
    background-image: url("../images/review-1--c_QEyS.webp");
    background-size: contain;
}

.reviews__item--2 {
    background-image: url("../images/review-2-3Eal049.webp");
    background-size: contain;
}

.reviews__item--3 {
    background-image: url("../images/review-3-W_81Jaq.webp");
    background-size: contain;
}

.reviews__item--4 {
    background-image: url("../images/review-4-Ghwri19.webp");
    background-size: contain;
}

.reviews__text {
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: stretch;
    width: 50%;
    background-color: white;
    padding: 50px 40px 50px 35px;
    box-sizing: border-box;
    text-align: left;
}

.reviews__text-top {
    height: 100%;
    font-size: 1.125rem;
}

.reviews__text-bottom {
    font-size: 0.875rem;
}

.method {
    text-align: center;
    padding-top: 200px;
    padding-bottom: 100px;
}

.method__body {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 50px;
    margin-top: 100px;
}

.method__item {
    max-width: 350px;
    height: 250px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-between;
    font-family: "EuclidCircularA-Medium", serif;
}

.method__item-image-1 {
    width: 189.51px;
    height: 130px;
}

.method__item-image-2 {
    width: 166.58px;
    height: 130px;
}

.method__item-image-3 {
    width: 134.49px;
    height: 130px;
}

.method__item-image-4 {
    width: 159px;
}

.method__item-text {
    font-size: 1.125rem;
    padding: 50px 50px 0 50px;
}

#contact-form {
    scroll-margin-top: 350px;
}

.form {
    overflow: hidden;
    position: relative;
    text-align: center;
    color: white;
    background-color: #2253DD;
    padding: 100px 0;
}

.form__subtitle {
    font-size: 1.125rem;
    margin-bottom: 20px;
}

.form__body {
    display: flex;
    flex-direction: column;
    gap: 30px;
    margin-top: 50px;
}

.form__item {
    display: flex;
    gap: 30px;
    align-items: center;
    justify-content: center;
    width: 100%;
}

.form__item-field {
    display: flex;
    flex-direction: column;
    gap: 30px;
    width: 100%;
}

.form__recaptcha {
    opacity: 50%;
    font-size: 0.875rem;
}

.form__buttons {
    display: flex;
    gap: 25px;
    align-items: center;
    justify-content: center;
}

/*SERVICE DETAILS*/

.service {
    margin-bottom: 250px;
}

.service__top {
    display: flex;
    gap: 15px;
    margin-top: 50px;
}

.service__title {
    font-size: 2.5rem;
    font-family: "EuclidCircularA-Medium", serif;
    margin-top: 50px;
    margin-bottom: 25px;
}

.service__text {
    line-height: 30px;
}

ul li {
    padding-bottom: 5px;
    padding-top: 5px;
}

p, ul li {
    line-height: 1.9rem;
}

ul {
    padding-top: 10px;
    list-style-type: none;
}

/*THANK YOU*/

.thank-you {
    background-color: white;
    color: black;
    font-size: 1rem;
    margin-bottom: 100px;
}

.thank-you__emoji {
    height: 150px;
    margin-bottom: 20px;
    margin-top: 40px;
}

.thank-you__top {
    text-align: center;
}

.thank-you__surtitle {
    font-size: 1.4rem;
}

ol li {
    padding-bottom: 5px;
    padding-top: 5px;
    padding-left: 10px;
}

p, ol li {
    line-height: 1.9rem;
}

ol {
    padding-top: 10px;
    padding-left: 20px;
}

.thank-you__h2 {
    margin-top: 50px;
    margin-bottom: 15px;
    font-size: 1.4rem;
}

/*FOOTER*/

footer {
    background-color: black;
    color: white;
    display: flex;
    justify-content: space-between;
    padding: 100px 200px;
}

.footer__body {
    display: flex;
    flex-direction: column;
    gap: 15px;
    margin-top: 50px;
}

.footer__logos {
    display: flex;
    align-items: center;
}

.footer__info {
    margin-top: 50px;
}

.opacity-half {
    opacity: 50%;
}

.footer__p-iva {
    margin-top: 15px;
}
















/*MOBILE*/

@media all and (max-width: 1100px) {

    body {
        padding-top: 100px;
    }

    header {
        padding: 25px;
    }

    .shape--1 {
        height: 207px;
        right: -3%;
        z-index: -1;
    }

    .shape--2 {
        left: -20%;
        width: 153px;
        z-index: -1;
    }

    .shape--3 {
        width: 153px;
        right: -20%;
        z-index: -1;
    }

    .shape--4 {
        height: 207px;
        z-index: -1;
    }

    .shape--5 {
        width: 153px;
    }

    .shape--6 {
        height: 207px;
        left: 5%;
        margin-top: -20px;
    }

    .logo {
        width: 30px;
    }

    .logo-advertical {
        width: 150px;
    }

    .container--small {
        width: 80%;
        max-width: 1450px;
        margin: auto;
    }

    .button {
        font-size: 0.875rem;
    }

    .button--header {
        padding: 15px;
        font-size: 0.6rem;
    }

    .button--grey {
        padding: 10px;
        font-size: 0.6rem;
        vertical-align: middle;
    }

    input {
        padding: 10px 25px;
    }

    textarea {
        padding: 25px 25px;
        height: 200px;
    }

    .hero {
        flex-direction: column;
        gap: 30px;
    }

    .hero__left {
        width: 100%;
        margin-top: unset;
    }

    .hero__title {
        font-size: 2.5rem;
        line-height: unset;
    }

    .hero__subtitle {
        padding: unset;
        font-size: 1.3rem;
    }

    .hero__right {
        width: 300px;
        height: 300px;
    }

    .hero__card {
        height: 200px;
    }

    .partners {
        margin-top: 70px;
    }

    .partners__bottom {
        flex-direction: column;
        gap: 30px;
    }

    .partners__icon {
        height: 30px;
    }

    .partners__icon--google {
        margin-bottom: unset;
        margin-left: unset;
    }

    .partners__icon--meta {
        padding: unset;
        height: 21.5px;
    }

    .data {
        padding-top: 100px;
    }

    .data__subtitle {
        max-width: 100%;
        margin: 20px auto 50px auto;
    }

    .data__content {
        gap: 30px;
        flex-direction: column;
    }

    .data__item-number {
        font-size: 2rem;
    }

    .data__item {
        border-width: 10px;
        margin: auto;
    }

    .section-title {
        font-size: 2rem;
        width: 80%;
        max-width: 1450px;
        margin: auto;
    }

    .team {
        padding-top: 100px;
    }

    .team__image {
        margin: auto auto 25px auto;
        width: 150px;
    }

    .team__subtitle {
        max-width: 100%;
        margin: 15px auto 50px auto;
    }

    .button__wide {
        padding: 20px 35px;
    }

    .goals {
        padding-top: 100px;

    }

    .section-title--goals {
        margin-bottom: 50px;
    }

    .goals__grid {
        display: flex;
        flex-direction: column;
        margin-top: 75px;
        row-gap: 50px;
    }

    .goals__item {
        width: unset;
    }

    .reviews {
        padding-top: 100px;
    }

    .reviews__body {
        margin-top: 50px;
    }

    .reviews__item {
        height: 295px;
        width: 295px;
    }

    .reviews__text {
        padding: 15px;
        width: 55%;
    }

    .reviews__text-top {
        font-size: 0.8rem;
    }

    .reviews__text-bottom {
        font-size: 0.5rem;
    }

    .method {
        padding-top: 100px;
        padding-bottom: 50px;
    }

    .method__body {
        margin-top: unset;
        flex-direction: column;
        gap: 50px;
    }

    .method__item {
        height: unset;
    }

    .method__item-image-1 {
        width: 100px;
        height: 130px;
    }

    .method__item-image-2 {
        width: 100px;
        height: 130px;
    }

    .method__item-image-3 {
        width: 90px;
        height: 130px;
    }

    .method__item-image-4 {
        width: 110px;
        height: 130px;
    }

    .method__item-text {
        padding: 0 50px;
    }

    .form {
        padding: 50px 0;
    }

    .form__subtitle {
        padding: 0 30px;
    }

    .form__buttons {
        gap: 10px;
    }

    .form__item {
        flex-direction: column;
    }

    .form__recaptcha {
        font-size: 0.7rem;
    }



    footer {
        flex-direction: column;
        justify-content: space-between;
        padding: 60px;
        font-size: 0.875rem;
    }

    .footer__body {
        display: flex;
        flex-direction: column;
        gap: 15px;
        margin-top: 40px;
    }



}

















