body {
    padding: 0px;
    margin: auto;
    font-family: var(--font-family), 'calibri' !important;
    font-display: swap;
    background-color: #e9e9e9;
}

.hidden {
    display: none;
}

a, .page-link {
    text-decoration: none;
    font-weight: 500;
    color: black;
    display: flex;
    justify-content: space-between;

    &hover {
        color: var(--theme-bg-primary) !important;
    }
}

.form-check-input:checked {
    background-color: var(--theme-primary-color) !important;
    border-color: var(--theme-primary-color) !important;
}

.form-check-input:focus,
.form-control:focus {
    border-color: var(--theme-primary-color) !important;
    box-shadow: var(--theme-box-shadow-primary) !important;
}

.page-link:focus {
    box-shadow: var(--theme-box-shadow-primary) !important;
}

.pagination {
    --bs-pagination-color: var(--theme-primary-color) !important;
    --bs-pagination-hover-color: var(--theme-primary-color) !important;
    --bs-pagination-focus-color: var(--theme-primary-color) !important;
    --bs-pagination-active-bg: var(--theme-primary-color) !important;
    --bs-pagination-active-border-color: var(--theme-primary-color) !important;
}

.icones-de-acao {
    z-index: 3;
    display: inline-flex;
    flex-direction: column;
    right: 0;
    bottom: 300px;
    position: fixed;
    width: auto;

    div {
        a {
            display: flex;
            align-items: center;
            color: white;

            i {
                font-size: 1.5rem;
            }
        }
    }

    .telefone {
        width: auto;
        background-color: var(--theme-secondary-color);
    }

    .whatsapp {
        width: auto;
        background-color: #25d366;
    }
}

.menu {
    background-color: white;
    border-bottom: 3px solid var(--primary-color);
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
    padding: 15px 25px;

    &.fixed {
        position: fixed;
        z-index: 999;
        box-shadow: 0px 3px 5px #333;
    }

    @media (min-width: 768px) and (max-width: 991.98px) {
        padding: 5px 20px;
    }

    @media (min-width: 991.99px) {
        padding: 10px 0px;
        display: flex;
        justify-content: center;

        .row {
            width: 90%;
            display: flex;
        }
    }

    a {
        img {
            width: 175px;
            height: 37.1px;

            @media (min-width: 991.99px) {
                width: 200px;
                height: 42.4px;
            }
        }
    }

    .icon-container {
        align-content: center;
    }

    .items {
        font-weight: 300;
        font-size: 24px;

        .icon {
            text-align: right;

            i {
                font-size: x-large;

                &.active {
                    color: var(--theme-primary-color);
                }
            }
        }

        a {
            text-decoration: none;
            color: var(--color-primary);

            &:hover {
                color: var(--theme-primary-color);
            }

            &.btn {
                text-transform: uppercase;
            }

            &.active {
                font-weight: 400;
                color: var(--theme-primary-color);
            }
        }

        .links {
            display: none;

            @media (max-width: 767.98px) {
                &.active {
                    display: flex;
                    flex-direction: column;
                    z-index: 999;
                    position: absolute;
                    width: 100%;
                    left: 0px;
                    background: white;
                    padding: 25px;
                    text-align: center;
                    margin-top: 1px;
                    box-shadow: 0px 5px 5px #333;

                    .separator {
                        display: none;
                    }
                }

                a {
                    &:first-child {
                        margin-top: 15px;
                    }

                    &:last-child {
                        margin-bottom: 0px;
                    }

                    margin-bottom: 15px;
                }
            }

            @media (min-width: 768px) {
                display: flex;
                align-items: center;
                justify-content: end;
                text-align: right;
            }
        }
    }
}

#banner_principal {
    .carousel-item {
        img {
            width: 100%;

            .d-md-none {
                aspect-ratio: auto 415 / 700;
            }

            .d-md-block {
                aspect-ratio: auto 1920 / 800;
            }

        }
    }
}
.menu .separator {
    color: rgba(127, 127, 127, 0.1);
    font-size: 48px;
    font-weight: lighter;
}

.banners img {
    max-width: 100%;
}

.btn-theme-primary {
    color: white !important;
    background-color: var(--theme-primary-color);

    &:hover {
        background-color: var(--theme-primary-color-darker);
        color: white !important;
    }
}

.section-title {
    text-align: center;
    justify-content: center;
    display: flex;

    .col-12 {
        border-bottom: none !important;
    }

    h1 {
        text-transform: uppercase;
        font-weight: bold;
        border-bottom: 3px solid;
    }

    &.primary {
        h1 {
            border-color: var(--theme-primary-color);
        }
    }

    &.secondary {
        h1 {
            color: var(--theme-primary-color);
            border-color: var(--theme-secondary-color);
        }
    }
}

/*
#############################################
############### SOBRE NOS  ##################
#############################################
*/
.sobre-nos {
    background-color: white;
    background-image: url("../img/background-sobre-nos.png");
    background-size: 50% auto;
    background-repeat: no-repeat;
    background-position: left bottom;
    display: flex;
    justify-content: center;
    border-top: 5px solid var(--theme-primary-color);

    @media (max-width: 767.98px) {
        .title {
            text-align: center;
            font-size: large;
            font-weight: normal;
        }
    }

    @media (min-width: 768px) {
        .title {
            text-align: left;
            font-size: large;
            font-weight: bold;
        }
    }

    @media (min-width: 1280px) {
        background-image: url('../img/background-sobre-nos-desktop.jpg');
        background-position: right;
        background-size: contain;

        &:before {
            content: "";
            width: 100px;
            height: 400px;
            background-color: var(--theme-primary-color);
            background-position: left;
            transform: rotate(25deg);
            position: absolute;
            left: -65px;
            margin-top: -60px;
        }

        .description {
            display: flex;
            align-items: center;
            text-align: justify;
            font-size: 1.5rem;
            height: 400px;
        }
    }

    table {
        tbody {
            tr {
                td:first-child {
                    font-size: xx-large;
                    color: var(--theme-primary-color);
                    width: 30px;
                }

                @media (min-width: 768px) {
                    td {
                        &:first-child {
                            display: none;
                        }

                        .description {
                            height: auto;
                        }
                    }
                }
            }
        }
    }
}

.referencias {
    .container {
        width: 80%;
    }

    .col-12 {
        display: flex;
        align-items: center;
        border-bottom: 2px solid var(--theme-primary-color);
        min-height: 60px;
    }

    .icon {
        display: flex;
        width: 60px;
        justify-content: center;
        margin-right: 20px;

        img {
            max-width: 60px;
            max-height: 40px;
            aspect-ratio: auto 60 / 40;
        }
    }

    .caption {
        display: contents;

        .title {
            font-weight: bold;
            text-align: center;
        }

        .description {
            display: none;
        }
    }

    @media (min-width: 1200px) {
        .col-12 {
            border: none;
            flex-direction: column;
        }

        .icon {
            margin-right: 0px;
            background: var(--theme-primary-color);
            padding: 10px !important;
            display: flex;
            width: 100px;
            height: 100px;
            align-content: center;
            justify-content: center;
            border-radius: 10px;
            margin-bottom: 20px;
            align-items: center;
        }

        .caption {
            text-align: center;

            h5 {
                display: initial;
            }

            .description {
                display: block;
            }
        }
    }
}

.experiencia-de-mercado {
    border-top: 5px solid var(--theme-primary-color);

    img {
        width: 100%;
    }
}

/*
-------------------------------
------- C O N T A T O ---------
-------------------------------
*/

.contato {
    background-color: var(--theme-bg-primary);

    @media (max-width: 767.98px) {
        background-image: url("../img/background-contato-mobile.avif");
        background-color: rgba(255, 255, 255, 0.8); /* semi-transparent white */
        background-blend-mode: overlay; /* or multiply/lighten/etc */
        background-size: cover;
    }

    .titulo {
        font-size: 16px;
        font-weight: bold;
        text-transform: uppercase;
        color: var(--theme-secondary-color);
    }

    .sub-titulo {
        font-size: 32px;
        font-weight: bold;
        margin-top: 0px;
    }

    .item {
        display: flex;
        align-items: center;
        margin-bottom: 18px;

        img {
            width: 36px;
            margin-right: 12px;
        }

        p {
            margin-bottom: 0px !important;

            a {
                text-decoration: none;
                color: var(--bs-dark);

                &:hover {
                    color: var(--theme-primary-color);
                }
            }
        }
    }

    .map {
        display: flex;
        align-items: center;

        iframe {
            width: 100%;
            height: 350px;
            border: 3px solid var(--theme-secondary-color);
            border-radius: 10px;
        }
    }
}

/*
----------------------------------------------------------
------- C A R O U S E L   D E   P R O D U T O S  ---------
----------------------------------------------------------
*/

.produtos-carousel {
    background-color: white;

    h1 {
        text-align: center;
        font-weight: bold;

        border-bottom: 3px solid var(--theme-primary-color);

        span {
            color: var(--theme-primary-color);
        }
    }

    .produto-home {
        text-align: center;

        p {
            &.titulo {
                font-weight: bold;
                font-size: 18px;
            }
        }

        img {
            max-width: 150px;
            max-height: 150px;
            aspect-ratio: auto 150 / 150;
        }
    }

    button {
        font-size: 32px !important;
        color: var(--theme-primary-color) !important;
    }
}

/*
------------------------------------------
------- F O R N E C E D O R E S  ---------
------------------------------------------
*/

.fornecedores-exclusivos {
    background-color: var(--theme-secondary-color);

    .section-title {
        h1 {
            color: white;
            border-color: var(--theme-primary-color);
        }
    }

    .fornecedor {
        text-align: center;
        background-color: var(--theme-secondary-color);
        padding: 5px;
        border-radius: 10px;

        .logo {
            height: 200px;
            background: white;
            display: flex;
            align-items: center;
            justify-content: center;
            border-radius: 5px;

            img {
                max-width: 150px;
                max-height: 150px;
            }
        }

        .nome {
            font-size: 24px;
            color: white;
        }
    }
}

/*
------------------------------
------- R O D A P E  ---------
------------------------------
*/

footer {
    background-color: var(--theme-primary-color);
    min-height: 300px;
    border-top: 3px solid;
    border-color: var(--theme-primary-color-darker);

    .col-12 {
        &:first-child {
            display: flex;
            justify-content: center;
            align-items: center;
            margin-bottom: 25px;

            a {
                display: block;

                img {
                    width: 65vw;
                    
                    @media (min-width: 768px) {
                        width: 250px;
                    }
                }
            }
            }

        &:last-child {
            @media(max-width: 767px) {
                .item {
                    display: flex;
                    justify-content: center;
                }
            }
            justify-content: center;
            
            @media (min-width: 768px) {
                display: flex;
                justify-content: flex-end;
            }
        }
    }

    a {
        text-decoration: none;
        color: white;
        font-size: 18px;

        &:hover {
            font-weight: bold;
        }
    }

    .item {
        display: flex;
        align-items: center;
        margin-bottom: 18px;

        img,
        span {
            margin-right: 15px;
        }

        span {
            i {
                font-size: 24px;
                color: white;
            }
        }

        p {
            margin-bottom: 0px !important;
        }
    }

    .caption {
        display: block !important;
        text-align: center;
        color: white;
    }
}

.page-header {
    background: var(--theme-primary-color);
    height: 200px;
    display: flex;
    align-items: center;
    margin-bottom: 2rem;

    .background-label {
        position: absolute;
        z-index: 0;
        font-size: 4rem;
        text-transform: uppercase;
        color: rgba(255, 255, 255, 0.1);
        font-weight: bold;

        @media (min-width: 768px) {
            font-size: 10rem;
            top: 70px;
        }

        @media (min-width: 992px) {
            font-size: 12rem;
            top: 50px;
        }
    }

    .title {
        font-size: 3rem;
        font-weight: bold;
        position: relative;
        z-index: 1;
        color: white;

        @media (min-width: 768px) {
            font-size: 72px;
        }
    }
}

.pg-sobre-nos {
    background-color: var(--theme-bg-secondary);

    .sub-section {
        border-bottom: 1px solid #e9e9e9;

        &:last-child {
            border-bottom: none;
        }

        img {
            width: 175px;

            @media (min-width: 1280px) {
                width: 300px;
            }
        }

        .col-4 {
            display: none;

            @media (min-width: 768px) {
                display: flex;
                align-items: center;
                justify-content: center;
            }
        }

        .description {
            display: flex;
            align-items: center;

            .left-paragraph {
                text-align: justify;
            }

            .right-paragraph {
                direction: rtl;
                text-align: justify;
            }
        }

        .title {
            display: flex;
            align-items: end;

            span.background-label {
                position: absolute;
                z-index: 0;
                font-size: 4rem;
                text-transform: uppercase;
                color: rgba(127, 127, 127, 0.1);
                font-weight: bold;
            }

            h2 {
                position: relative;
                z-index: 1;
                color: var(--theme-primary-color);
                font-weight: bold;
                font-size: 3rem;
            }
        }
    }

    .equipe {
        background-color: var(--theme-secondary-color);
        color: white;

        .funcionarios {
            display: flex;
            justify-content: space-evenly;

            @media (max-width: 767.98px) {
                overflow-x: auto;
                overflow-y: hidden;
                scrollbar-color: var(--theme-primary-color);
            }

            .funcionario {
                border: 1px solid var(--gray);
                background: white;
                box-shadow: 0px 3px 3px 3px rgba(0, 0, 0, 0.35);
                margin-left: 20px;
                margin-right: 20px;

                .avatar {
                    width: auto;
                    height: 30rem;

                    @media (max-width: 767.98px) {
                        width: 300px;
                        height: 500px;
                    }

                    background-color: var(--gray-light);

                    img {
                        width: 100%;
                    }
                }

                .perfil {
                    color: black;

                    span {
                        color: var(--gray-light);
                        font-style: italic;
                        font-size: 18px;
                    }
                }
            }
        }
    }
}

.produtos {
    background-color: var(--theme-bg-secondary);

    #btnFiltrarProdutos {
        font-size: 1.5rem;
    }

    .filtro-pesquisa {
        --border-radious: 5px;

        &.active {
            display: flex !important;
            position: fixed;
            top: 0px;
            left: 0px;
            z-index: 3;
            width: 100%;
            background: white;
            height: 80%;
            flex-direction: column;
            justify-content: space-between;
            padding-left: 0px;
            padding-right: 0px;
            box-shadow: 5px 3px 5px #c9c9c9;
        }

        a {
            color: white;
            position: absolute;
            right: 1.5rem;
        }

        .titulo {
            font-size: 1.5rem;
            text-align: center;
            background-color: var(--theme-primary-color);
            color: white;
            border-top-left-radius: var(--border-radious);
            border-top-right-radius: var(--border-radious);
        }

        .opcoes {
            border: 1px solid var(--theme-primary-color);
            border-top: none;
            border-bottom: none;

            ul {
                list-style-type: none;
                padding-left: 0px;

                li {
                    text-transform: capitalize;
                }
            }

            @media (max-width: 767.98px) {
                border: none !important;
                display: flex;
                justify-content: center;
                font-size: 1.25rem;
                overflow-x: scroll;
            }
        }

        @media (min-width: 768px) {
            .bottom {
                border: 1px solid var(--theme-primary-color);
                border-top: none;
                border-bottom-left-radius: var(--border-radious);
                border-bottom-right-radius: var(--border-radious);
            }
        }
    }
}

.produto {
    border: 1px solid var(--theme-bg-primary);

    &:hover {
        box-shadow: 0px 3px 7px rgba(127, 127, 127, 0.35);
        border-color: var(--theme-primary-color);
        cursor: pointer;

        a {
            color: var(--theme-primary-color) !important;
        }
    }

    a {
        text-decoration: none;
        font-weight: 500;
        color: black;
    }

    .image {
        display: flex;
        align-items: center;
        justify-content: center;

        img {
            max-width: 100%;
            height: auto;
        }
    }

    .caption {
        border-top: 1px solid var(--theme-bg-primary);

        a {
            text-decoration: none;
            font-weight: 500;

            &:hover {
                color: var(--theme-primary-color);
            }
        }

        div {
            display: flex;
            justify-content: space-between;

            span.categoria {
                background-color: var(--theme-bg-primary);
                color: var(--gray);
                font-size: small;
                border-radius: 5px;
            }
        }
    }

    @media (min-width: 768px) {
        .caption {
            h5 {
                font-size: 1rem;
            }

            div {
                span {
                    font-size: 0.75rem;

                    &.codigo {
                        display: flex;
                        align-items: center;
                    }
                }
            }
        }
    }
}

.detalhe-produto {
    background-color: var(--theme-bg-secondary);

    .foto {
        text-align: center;
    }

    .descricao {
        text-align: justify;
        align-items: center;

        .ql-size-small {
            font-size: 0.75em;
        }

        .ql-size-large {
            font-size: 1.5em;
        }

        .ql-size-huge {
            font-size: 2.5em;
        }
    }

    .lista-produtos-relacionados {
        display: flex;
        overflow-x: auto;
    }

    .medidas {
        display: flex;
        justify-content: center;
    }

    @media (min-width: 768px) {
        .produtos-relacionados {
            border-top: 2px solid #e9e9e9;
        }

        .lista-produtos-relacionados {
            overflow-x: inherit;
        }
    }
}

.paginacao {
    display: flex;
    justify-content: center;
}


.box-404 {
    display: flex;
    flex-direction: column;
    height: 500px;
    align-content: center;
    justify-content: center;

    i {
        font-size: 10rem;
    }
}
