@media screen and (max-device-width: 576px) {
    .page-header {
        width: 100%;
        background-color: white;
        display: flex;
        flex-direction: column;

        .header-company {
            color: #2B2D42;
            text-transform: uppercase;
            font-size: 7vw;
            text-align: center;
            padding-top: 6%;
        }

        .header-links {
            display: flex;
            flex-direction: row;
            justify-content: center;
            gap: 10%;
            margin-top: 4%;
            margin-bottom: 6%;
            font-size: 3vw;
            font-weight: bold;
            
            .link {
                display: block;
                padding: 2%;
                background-color: #2B2D42;
                border-radius: 10px;
                text-decoration: none;
                color: white;
            }
        }
    }
}

@media screen and (min-device-width: 576px) {
    .page-header {
        width: 100%;
        background-color: white;
        display: flex;
        flex-direction: row;

        .header-company {
            color: #2B2D42;
            text-transform: uppercase;
            font-size: 2.5vw;
            padding: 2%;
        }

        .header-links {
            display: flex;
            flex-direction: row;
            gap: 20%;
            padding-top: 2.75%;
            margin-left: 50%;
            font-size: 1vw;
            
            .link {
                text-decoration: none;
                color: #2B2D42;
            }
        }
    }
}


@media screen and (max-device-width: 576px) {
    .page-about-capture {

        .about-capture {
            padding-top: 7%;
            padding-bottom: 7%;
            padding-left: 7.5%;
            padding-right: 7.5%;
            background-color: #EF233C;
            color: white;
            font-size: 6.5vw;
            font-weight: bold;
            text-align: center;
        }

        .about-image {
            width: 100%;
            height: auto;
        }
    }
}

@media screen and (min-device-width: 576px) {
    .page-about-capture {

        .about-capture {
            position: absolute;
            padding-left: 20%;
            padding-right: 20%;
            padding-top: 5%;
            color: #2B2D42;
            font-size: 2.5vw;
            font-weight: bold;
            text-align: center;
        }

        .about-image {
            max-width: 100%;
            height: auto;
        }
    }
}



@media screen and (max-device-width: 576px) {
    .page-about {
        line-height: 1.5;
        text-align: justify;

        .row {
            display: none;
        }

        .main-text-block {
            font-size: 4.5vw;
            font-weight: bold;
        }

        .text-block {
            font-size: 4vw;
        }
    }
} 

@media screen and (min-device-width: 576px) {
    .page-about {
        padding-top: 4%;
        padding-bottom: 4%;
        padding-left: 2%;
        padding-right: 2%;
        line-height: 1.5;

        .items-wrapper {
            display: none;
        }

        .main-text-block {
            font-size: 1.5vw;
            font-weight: bold;
        }

        .text-block {
            font-size: 1.25vw;
        }
    }
}


@media screen and (max-device-width: 576px) {
    .page-products {
        color: #2B2D42;
        background-color: #EDF2F4;
        
        .card {
            margin-top: 10%;

            .card-body {
                padding: 8%;
                margin-top: 3%;
                text-align: justify;
        
                .card-title {
                    text-align: center;
                    font-size: 7.5vw;
                    font-weight: bold;
                }
        
                .card-text {
                    padding-top: 3%;
                    font-size: 4vw;
                    font-weight: 300;
                    line-height: 1.5;
                }
        
                .btn {
                    margin-top: 5%;
                    margin-left: 30%;
                    margin-right: 23%;
                    background-color: #EF233C;
                    border-radius: 10px;
                    border-width: 0;
                    font-size: 4vw;
                }
            }
        }

        .card:last-child {
            margin-bottom: 10%;
        }
    }
}


@media screen and (min-device-width: 576px) {
    .page-products {
        color: #2B2D42;
        background-color: #EDF2F4;
        
        .card {
            margin-top: 15%;
            margin-bottom: 15%;

            .card-img-top {
                height: 300px;
            }
        
            .card-body {
                padding: 8%;
                margin-top: 3%;
                text-align: justify;
        
                .card-title {
                    text-align: center;
                    font-size: 2.5vw;
                    font-weight: bold;
                }
        
                .card-text {
                    padding-top: 3%;
                    font-size: 1.25vw;
                    font-weight: 300;
                    line-height: 1.5;
                }
        
                .btn {
                    margin-top: 5%;
                    margin-left: 25%;
                    margin-right: 25%;
                    background-color: #EF233C;
                    border-radius: 10px;
                    border-width: 0;
                    font-size: 1.35vw;
                }
            }
        }
    }
}


@media screen and (max-device-width: 576px) {
    .page-action {
        background-color: #2b2d42;

        .action-capture {
            padding-top: 7%;
            padding-bottom: 7%;
            padding-left: 10%;
            padding-right: 10%;
            color: #EDF2F4;
            text-align: center;
            font-size: 5vw;
            font-weight: bold;
        }

        .action-button {
            padding: 2%;
            margin-left: 33.5%;
            margin-right: 30%;
            border-radius: 10px;
            border-width: 0;
            font-size: 6vw;
            background-color: #EF233C;
            color: white
        }

        .action-capture-cont {
            padding-top: 7%;
            padding-bottom: 7%;
            padding-left: 10%;
            padding-right: 10%;
            color: #EDF2F4;
            text-align: center;
            font-size: 5vw;
            font-weight: bold;
        }

        .action-image {
            display: none;
        }
    }
}

@media screen and (min-device-width: 576px) {
    .page-action {

        .action-capture {
            position: absolute;
            padding-left: 20%;
            padding-right: 12%;
            padding-top: 7%;
            color: #EDF2F4;
            font-size: 2.5vw;
            font-weight: bold;
        }

        .action-button {
            position: absolute;
            padding-top: 0.5%;
            padding-bottom: 0.5%;
            padding-left: 2%;
            padding-right: 2%;
            margin-top: 12%;
            margin-left: 45%;
            margin-right: 40%;
            border-radius: 10px;
            border-width: 0;
            font-size: 1.35vw;
            background-color: #EF233C;
            color: white
        }

        .action-capture-cont {
            display: none;
        }

        .action-image {
            max-width: 100%;
            height: auto;
        }
    }
}


@media screen and (max-device-width: 576px) {
    .page-feedback {
        max-width: 100%;
        padding-top: 10%;
        padding-bottom: 10%;
        padding-left: 15%;
        margin-top: -0.3%;
        background-color: #EF233C;
        color: white;
        display: flex;
        flex-direction: column;
        gap: 5vw;

        .feedback-element {
            display: flex;
            flex-direction: column;

            .feedback-content {
                padding-right: 20%;
                font-size: 5vw;
                font-weight: bold;
                line-height: 1.5;
            }

            .feedback-author {
                font-size: 4vw;
                padding-top: 3%;
            }
        }
    }
}

@media screen and (min-device-width: 576px) {
    .page-feedback {
        max-width: 100%;
        padding-top: 5%;
        padding-bottom: 5%;
        padding-left: 20%;
        margin-top: -0.5%;
        background-color: #EF233C;
        color: white;
        display: flex;
        flex-direction: column;
        gap: 3vw;

        .feedback-element {
            display: flex;
            flex-direction: column;

            .feedback-content {
                padding-right: 40%;
                font-size: 2vw;
                font-weight: bold;
                line-height: 1.5;
            }

            .feedback-author {
                font-size: 1.5vw;
                padding-top: 1%;
            }
        }
    }
}


button:hover {
    filter: brightness(0.85);
}


@media screen and (max-device-width: 576px) {
    .page-mascot {
        display: flex;
        justify-content: end;
        position: fixed;
        bottom: 17%;
        right: 0;
        width: 50%;
        animation: mascotAppearance 1s ease forwards;
        
        .page-mascot-png {
            max-width: 50%;
            height: auto;
            padding-right: 1%;
        }

        .page-mascot-png:hover {
            animation: mascotJump 1s;
        }

        .page-mascot-png:hover + .page-mascot-message {
            opacity: 0.9;
        }

        .page-mascot-message {
            position: absolute;
            top: -18%;
            right: 40%;
            width: 140%;
            padding: 3%;
            background-color: #2B2D42;
            color: white;
            font-size: 4vw;
            text-align: justify;
            border-radius: 5px;
            opacity: 0;
            transition: opacity 0.3s;
        }
    }
}

@media screen and (min-device-width: 576px) {
    .page-mascot {
        display: flex;
        justify-content: end;
        position: fixed;
        bottom: 17%;
        right: 0;
        width: 50%;
        animation: mascotAppearance 1s ease forwards;
        
        .page-mascot-png {
            max-width: 15%;
            height: auto;
        }

        .page-mascot-png:hover {
            animation: mascotJump 1s;
        }

        .page-mascot-png:hover + .page-mascot-message {
            opacity: 0.9;
        }

        .page-mascot-message {
            position: absolute;
            top: 0;
            right: 17%;
            width: 35%;
            padding: 3%;
            background-color: #2B2D42;
            color: white;
            font-size: 1.25vw;
            text-align: justify;
            border-radius: 5px;
            opacity: 0;
            transition: opacity 0.3s;
        }
    }
}

@keyframes mascotAppearance {
    from {
        transform: translateX(100%);
    }
    to {
        transform: translateX(0);
    }
}

@keyframes mascotJump {
    0% {
        transform: translateY(0);
    }
    50% {
        transform: translateY(-20%);
    }
    100% {
        transform: translateY(0);
    }
}


@media screen and (max-device-width: 576px) {
    .scroll-to-top {
        position: fixed;
        bottom: 5%;
        left: 1.5%;
        background-color: blue;
        color: white;
        width: 37px;
        height: 40px;
        text-decoration: none;
        text-align: center;
        line-height: 2;
        border-radius: 50%;
        cursor: pointer;
    }
}


@media screen and (max-device-width: 576px) {
    footer {
        background-color: #2B2D42;
        display: flex;
        flex-direction: column;

        .footer-company {
            padding-top: 5%;
            color: white;
            font-size: 6vw;
            text-align: center;
        }

        .footer-links {
            display: flex;
            flex-direction: row;
            justify-content: center;
            gap: 5%;
            padding-top: 3%;
            padding-bottom: 5%;
            font-weight: bold;
            font-size: 3vw;
            
            .link {
                display: block;
                padding: 2%;
                background-color: white;
                border-radius: 10px;
                text-decoration: none;
                color: #2B2D42;
            }
        }
    }
}

@media screen and (min-device-width: 576px) {
    footer {
        background-color: #2B2D42;
        display: flex;
        flex-direction: row;

        .footer-company {
            color: white;
            font-size: 2vw;
            padding-top: 2.25%;
            padding-bottom: 2.5%;
            padding-left: 2%;
        }

        .footer-links {
            width: 30%;
            display: flex;
            flex-direction: row;
            gap: 5%;
            padding-top: 2.75%;
            padding-bottom: 2.5%;
            margin-left: 50%;
            font-size: 1vw;
            
            .link {
                text-decoration: none;
                color: white;
            }
        }
    }
}