body {
    font-family: 'Roboto', sans-serif;
    background-color: #d1d1d18f;
    margin: 0;
    padding: 0;
}

/* NAVBAR */
.navbar, footer {
    background-color: #003366;
    height: 4rem;
    position: relative;
}

.navbar a,
footer {
    color: #fff !important;
}

/* Botões da navbar */
.btn-custom-outline {
    border-color: #fff;
    color: #fff;
}
.btn-custom-outline:hover {
    background-color: #00000070;
}

.btn-custom-fill {
    border-color: #fff;
    color: #fff;
}
.btn-custom-fill:hover {
    background-color: #00000070;
}

/* Área inicial (texto "Bem-vindo") */
section.container {
    max-width: 900px;
    margin: 0 auto;
    padding-top: 1.5rem;
    padding-bottom: 1rem;
}

/* Títulos */
h1, h2, h3, h4, h5, h6 {
    font-family: 'Montserrat', 'Roboto', Arial, sans-serif;
    font-style: italic;
    font-weight: 700;
}

/* Parágrafos */
body, p, .lead, li, a, button, label, input, textarea {
    font-family: 'Roboto', Arial, sans-serif;
    font-weight: 400;
}

/* Carrossel */
.carousel-item {
    padding: 4rem 0;
    transition: transform 0.7s ease-in-out;
}

.carousel-item img {
    width: 420px;
    height: 300px;
    object-fit: contain;
}

/* Setas do carrossel */
.carousel-control-prev, .carousel-control-next {
    width: 4%;
    opacity: 0.8;
}
.carousel-control-prev:hover,
.carousel-control-next:hover {
    opacity: 1;
}

/* Rodapé sem excesso de espaço */
footer {
    background-color: #003366;
    color: #fff;
    padding: 1rem 0;
    margin-top: 0;
}

/* Remove espaço extra entre blocos */
.container, .carousel, footer, section {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

/* MOBILE */
@media (max-width: 991.98px) {
    .navbar-collapse {
        background-color: #003366;
        padding: 1.5rem;
    }

    .navbar-collapse .btn {
        width: 100%;
        margin-bottom: .5rem;
    }

    .carousel-item img {
        width: 260px;
        height: 200px;
    }
}
