* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    background-color: aliceblue;
}

@media (prefers-reduced-motion: no-preference) {
    #happy img,
    .hapText h1,
    .hapText p,
    .hapText button,
    .text,
    .priceService,
    .count h1,
    .count p,
    .count button,
    #review button,
    .dia {
        scale: .8;
        opacity: 0;
        animation: fade-in linear forwards;
        animation-timeline: view();
        animation-range-start: cover;
        animation-range: 100px 300px;
        transition: 2s;
    }

    @keyframes fade-in {
        to {
            scale: 1;
            opacity: 1;
        }
    }

    #hero {
        animation: fade-out linear;
        animation-timeline: view();
        animation-range: exit;
        transition: 2s;
    }

    @keyframes fade-out {
        to {
            scale: .8;
            opacity: 0;
        }
    }
}


button.normal {
    border: none;
    outline: none;
    padding: 15px;
    background-color: black;
    color: white;
    font-weight: 600;
    cursor: pointer;
}

span {
    color: #004cbe;
}

#navigation {
    padding: 10px 40px;
    background-color: aliceblue;
    box-shadow: 0 0.5px 20px #333;
    width: 100%;
    position: fixed;
    top: 0px;
    z-index: 1000;
}

#navigation div {
    display: flex;
    justify-content: space-between;
}

#navigation div button {
    transition: 0.5s;
}

#navigation div button:hover {
    background-color: #004cbe;
}

#hero {
    margin-top: 70px;
    background-color: aliceblue;
    padding: 20px 40px;
    overflow: hidden;
}

#heroText {
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
}

#heroText .tesi {
    width: 50%;
}

#heroText .tesi h1 {
    font-size: 5rem;
}

#heroText .tesi p {
    font-weight: 400;
}

#heroText .tesi a button {
    margin-top: 20px;
    transition: 0.5s;
}

#heroText .tesi a button:hover {
    background-color: #004cbe;
}

#heroText .hero {
    width: 50%;
}

#heroText .hero img {
    animation: myRotate 5s linear infinite;
}

@keyframes myRotate {
    from {
        transform: rotate(0deg);
    }
    to {
        transform: rotate(360deg);
    }
}

#scroll {
    padding: 20px 0;
}

#scroll marquee {
    background-color: #000;
    color: #fff;
    text-transform: uppercase;
}

#service {
    padding: 0 40px;
}

#service h1 {
    text-align: center;
    font-size: 3rem;
    font-weight: 700;
}

#service .serviceText {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
}

#service .serviceText .text {
    width: 20rem;
    background-color: rgb(188, 220, 248);
    padding: 30px;
    border: 2px solid rgb(155, 183, 207);
    margin-top: 20px;
}

#service .serviceText .text h3 {
    font-size: 1.5rem;
    width: fit-content;
    transition: 0.5s;
}
#service .serviceText .text h3:hover {
    color: #004cbe;
}

#service .serviceText .text p {
    margin-top: 10px;
}

#service .serviceText .text a button {
    margin-top: 20px;
    transition: 0.5s;
}
#service .serviceText .text a button:hover {
    background-color: #004cbe;
}

#happy {
    margin: 40px 0;
    padding: 30px 40px;
}

#happy .hap {
    display: flex;
    justify-content: space-between;
}

#happy .hap .imgHap {
    width: 50%;
    position: relative;
}

#happy .hap .imgHap img {
    width: 60%;
}

#happy .hap .imgHap img:nth-child(2) {
    position: absolute;
    top: 10rem;
    left: 13rem;
}

#happy .hap .hapText {
    width: 50%;
    margin-left: 120px;
}

#happy .hap .hapText h1 {
    font-size: 4rem;
}

#happy .hap .hapText p {
    font-size: 1rem;
    margin-top: 10px;
    line-height: 30px;
}

#happy .hap .hapText a button {
    margin-top: 10px;
    background-color: #004cbe;
    transition: 0.5s;
}

#happy .hap .hapText a button:hover {
    background-color: #000;
}

#prices {
    padding: 20px 40px;
}

#prices h1 {
    font-size: 3rem;
    text-align: center;
    font-weight: 700;
}

#prices .price {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
}

#prices .price .priceService {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 49%;
    margin-top: 20px;
    background-color: rgba(188, 220, 248, 0.616);
    padding: 40px 20px;
}

#prices .price .priceService  .priceText h3 {
    font-size: 1.5rem;
    width: fit-content;
    transition: 0.5s;
}

#prices .price .priceService .priceText h3:hover {
    color: #004cbe;
}

#prices .price .priceService  .priceText p span {
    color: #004cbe;
}

#prices .price .priceService a button {
    transition: 0.5s;
    background-color: transparent;
    border: 2px solid #004cbe;
    color: #000;
}
#prices .price .priceService a button:hover {
    background-color: #004cbe;
    color: #fff;
}

#discount {
    text-align: center;
    background-color: rgb(155, 165, 173);
    padding: 30px 20px;
}

#discount h1 {
    font-size: 4rem;
}

#discount p {
    font-size: 1.5rem;
}

#discount a button {
    margin-top: 30px;
    background-color: #004cbe;
    transition: 0.5s;
}

#discount a button:hover {
    background-color: #000;
}

#review {
    padding: 20px 40px;
    width: 100%;
    text-align: center;
    
    
}

#review h1 {
    text-align: center;
    font-size: 3rem;
}

#review .revDiv {
    display: flex;
    justify-content: space-between;
    align-items: center;
} 



#review a button {
    margin-top: 30px;
    background-color: #004cbe;
    transition: 0.5s;
}

#review a button:hover {
    background-color: #000;
}

#review .revDiv .dia {
    width: 32%;
    background-color: rgb(188, 220, 248);
    padding: 30px;
    border: 2px solid rgb(155, 183, 207);
    margin-top: 20px;
    text-align: start;
}

#review .revDiv .dia h5 {
    line-height: 30px;
    margin-top: 10px;
    font-weight: 400;
    font-size: 1rem;
}

#review .revDiv .imgRev {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

#review .revDiv .imgRev img {
    width: 70px;
    height: 70px;
    border-radius: 50%;
}

#review .revDiv .imgRev .fa-star {
    color: rgb(255, 153, 0);
}

#footer {
    padding: 20px 40px;
}

#footer .col {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
}

#footer .col ul li {
    list-style: none;
    line-height: 30px;
}

#footer .col ul li a{
    text-decoration: none;
    color: #000;
}

#footer .col .firstRow {
    width: 30%;
}

#footer .col .firstRow img {
    width: 7rem;
}

#footer .col .secondRow,
#footer .col .thirdRow{
    margin-top: 30px;
}

#footer .col .fourthRow {
    margin-top: 10px;
}

#footer .copy {
    text-align: center;
    margin-top: 9px;
}

@media (max-width: 887px) {
     #heroText .hero {
        width: 50%;
    }
    #heroText .hero img {
    width: 80%;
    }
    #heroText .tesi {
        width: 50%;
    }
    #heroText .tesi h1 {
    font-size: 3rem;
    }

    #happy .hap {
    flex-direction: column;
    }
    #happy .hap .imgHap {
    width: 100%;
    }
    #happy .hap .imgHap img {
    width: 70%;
    }
     #happy .hap .imgHap img:nth-child(2) {
    position: absolute;
    top: 15rem;
    left: 10rem;
    }
    #happy .hap .hapText {
    width: 100%;
    margin-left: 0;
    margin-top: 260px;
    }
    #review .revDiv {
    flex-direction: column;
    }
    #review .revDiv .dia {
        width: 100%;
    }
}

@media (max-width: 477px) {
    #heroText .hero {
        width: 100%;
    }
    #heroText .hero img {
    width: 100%;
    }
    #heroText .tesi {
        width: 100%;
    }
    #heroText .tesi h1 {
    font-size: 3rem;
    }

    #service .serviceText {
    flex-wrap: wrap;
    width: fit-content;
    margin: 0 auto;
    }
    #service .serviceText .text {
    width: 100%;
    }


    #prices .price {
    flex-direction: column;
    }
    #prices .price .priceService {
    width: 100%;
    }

    #happy .hap {
    flex-direction: column;
    }
    #happy .hap .imgHap {
    width: 100%;
    }
    #happy .hap .imgHap img {
    width: 60%;
    }
    #happy .hap .imgHap img:nth-child(2) {
    position: absolute;
    top: 6rem;
    left: 6rem;
    }
    #happy .hap .hapText {
    width: 100%;
    margin-left: 0;
    margin-top: 100px;
    }
    #happy .hap .hapText h1 {
    font-size: 3rem;
    }
    #review .revDiv {
    flex-direction: column;
    }
    #review .revDiv .dia {
        width: 100%;
    }

    #footer .col .firstRow img {
    width: 5rem;
    }
}