/* ==========================================================
   SITE PÚBLICO - SINDIRUSSAS
========================================================== */

body {
    font-family: 'Inter', sans-serif;
    color: #212529;
    background: #fff;
}


/* ==========================================================
   TOPBAR
========================================================== */

.topbar {
    background: #1f2937;
    color: #fff;
    font-size: 13px;
}

.topbar-content {
    min-height: 36px;

    display: flex;
    align-items: center;
    justify-content: space-between;
}

.topbar-info span,
.topbar-links a {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.topbar-links a {
    color: #fff;
    text-decoration: none;
}

.topbar-links a:hover {
    opacity: .8;
}


/* ==========================================================
   HEADER
========================================================== */

.site-header {
    position: relative;
    z-index: 1000;
}

.site-header .navbar {
    min-height: 78px;
    border-bottom: 1px solid #eee;
}

.site-logo {
    display: block;

    width: auto;
    max-width: 190px;
    max-height: 58px;

    object-fit: contain;
}

.site-header .nav-link {
    color: #343a40;

    font-weight: 500;

    padding-left: 14px;
    padding-right: 14px;
}

.site-header .nav-link:hover,
.site-header .nav-link.active {
    color: #0d6efd;
}


/* ==========================================================
   FOOTER
========================================================== */

.site-footer {
    padding: 60px 0 25px;

    background: #1f2937;

    color: #fff;
}

.footer-logo {
    width: auto;
    max-width: 180px;
    max-height: 60px;

    object-fit: contain;

    margin-bottom: 20px;
}

.footer-text {
    max-width: 430px;

    color: rgba(255, 255, 255, .75);

    line-height: 1.7;
}

.footer-title {
    margin-bottom: 20px;

    font-size: 17px;
    font-weight: 700;
}

.footer-links,
.footer-contact {
    margin: 0;
    padding: 0;

    list-style: none;
}

.footer-links li {
    margin-bottom: 10px;
}

.footer-links a {
    color: rgba(255, 255, 255, .75);

    text-decoration: none;

    transition: color .2s ease;
}

.footer-links a:hover {
    color: #fff;
}

.footer-contact li {
    display: flex;

    align-items: flex-start;

    gap: 10px;

    margin-bottom: 14px;

    color: rgba(255, 255, 255, .75);
}

.footer-contact i {
    margin-top: 3px;
}

.footer-contact a {
    color: rgba(255, 255, 255, .75);
    text-decoration: none;
}

.footer-contact a:hover {
    color: #fff;
}


/* ==========================================================
   REDES SOCIAIS
========================================================== */

.footer-social {
    display: flex;

    gap: 10px;

    margin-top: 20px;
}

.footer-social a {
    width: 38px;
    height: 38px;

    display: flex;

    align-items: center;
    justify-content: center;

    border: 1px solid rgba(255,255,255,.25);

    border-radius: 50%;

    color: #fff;

    text-decoration: none;

    transition:
        background .2s ease,
        border-color .2s ease;
}

.footer-social a:hover {
    background: rgba(255,255,255,.1);

    border-color: rgba(255,255,255,.5);
}


/* ==========================================================
   FOOTER BOTTOM
========================================================== */

.footer-divider {
    margin: 40px 0 20px;

    border-color: rgba(255,255,255,.15);
}

.footer-bottom {
    display: flex;

    align-items: center;
    justify-content: space-between;

    gap: 20px;

    color: rgba(255,255,255,.55);

    font-size: 13px;
}


/* ==========================================================
   BOTÃO TOPO
========================================================== */

.btn-topo {
    position: fixed;

    right: 20px;
    bottom: 20px;

    width: 42px;
    height: 42px;

    display: flex;

    align-items: center;
    justify-content: center;

    border: 0;
    border-radius: 50%;

    background: #0d6efd;
    color: #fff;

    box-shadow: 0 5px 20px rgba(0,0,0,.2);

    opacity: 0;
    visibility: hidden;

    transform: translateY(10px);

    transition:
        opacity .2s ease,
        visibility .2s ease,
        transform .2s ease;

    z-index: 999;
}

.btn-topo.mostrar {
    opacity: 1;
    visibility: visible;

    transform: translateY(0);
}


/* ==========================================================
   MOBILE
========================================================== */

@media (max-width: 991.98px) {

    .site-header .navbar-collapse {
        padding: 15px 0 20px;
    }

    .site-header .nav-link {
        padding: 10px 0;
    }

    .site-header .btn {
        margin-top: 10px;
    }

}


@media (max-width: 575.98px) {

    .topbar-content {
        justify-content: center;
    }

    .topbar-links {
        display: none;
    }

    .site-logo {
        max-width: 150px;
        max-height: 50px;
    }

    .site-footer {
        padding-top: 45px;
    }

    .footer-bottom {
        flex-direction: column;
        align-items: flex-start;
    }

}