/* ===========================
BASE
=========================== */
html,
body {
    height: 100%;
}
body {
    margin: 0;
    background-color: #f8f9fa;
    display: flex;
    flex-direction: column;
    padding-top: 90px;
}
/* ===========================
FOOTER
=========================== */
footer {
    width: 100%;
    background: #fff;
    border-top: 1px solid #ddd;
    padding: 30px 20px;
    text-align: center;
    margin-top: 40px;
}
/* ===========================
HEADER
=========================== */
.logo-header {
    height: 55px;
    width: auto;
}
.titulo-catalogo {
    font-size: 1.30rem;
    font-weight: 600;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.navbar {
    min-height: 76px;
}
.navbar-nav .nav-link {
    padding: .45rem .8rem;
}
.navbar-nav span.nav-link {
    cursor: default;
}
.flex-grow-1 {
    display: flex;
    align-items: center;
}
.navbar-collapse {
    justify-content: flex-end;
}
/* ===========================
CELULAR
=========================== */
@media (max-width:767.98px) {
    body {
        padding-top: 70px;
    }
    .navbar {
        min-height: 60px;
    }
    .logo-header {
        height: 38px;
    }
    .titulo-catalogo {
        font-size: .95rem;
        margin-left: 8px;
    }
    .navbar-brand {
        margin-right: 5px;
    }
    .navbar-collapse {
        margin-top: 10px;
        border-top: 1px solid #e9ecef;
        padding-top: 10px;
    }
    .navbar-nav {
        align-items: flex-start !important;
    }
    .navbar-nav .nav-link {
        padding-left: 0;
        padding-top: 5px;
        padding-bottom: 5px;
    }
}