html {
    scroll-behavior: smooth;
}
body {
    font-family: 'Montserrat', sans-serif;
}
#main{
    padding-bottom: 10rem !important;
}
p{
    line-height: 1.7rem !important;
}
#btn-back-to-top {
    position: fixed;
    bottom: 20px;
    right: 20px;
    display: none;
}

ul.list-unstyled li img{
    max-width: 95px;
    border-radius: 100%;
    padding: 5px;
}

nav.barra-acessibilidade a:hover{
    text-decoration: underline;
}

@media (max-width: 400px) {
    #main h1 {
        font-size: 2.5rem;
    }
}

@media (orientation: portrait) and (max-width: 400px) {
    #contribute,
    #manuals,
    #main,
    #feedback,
    #about,
    #contact
    {
        text-align: justify !important;
    }

    #contribute h2,
    #manuals h2,
    #main h1,
    #feedback h2,
    #about h2,
    #contact h2
    {
        text-align: center !important;
    }

    #contribute .gh-button{
        text-align: center !important;
    }

}

:root {
    --success: #28A745;
    --danger: #DC3545;
    --warning: #FFC107;
    --info: #17A2B8;
    --gray100: #F8F9FA;
    --gray200: #E9ECEF;
    --gray300: #DEE2E6;
    --gray400: #CED4DA;
    --gray500: #ADB5BD;
    --gray600: #6C757D;
    --gray700: #495057;
    --gray800: #343A40;
    --gray900: #212529;
    --white: #ffffff;
    --black: #000000;
    --te1: #F0D9F2;
    --te2: #C781CC;
    --te3: #AE63B3;
    --te4: #7E4083;
    --te5: #5D2F60;
    --te6: #402841;
}
body {
    background-color: var(--gray100)
}
.btn-primary {
    background-color: var(--te5);
    border-color: var(--te5);
}
.btn-primary:hover,
.btn-primary:not(:disabled):not(.disabled).active, .btn-primary:not(:disabled):not(.disabled):active, .show > .btn-primary.dropdown-toggle,
.btn-primary.focus, .btn-primary:focus {
    background-color: var(--te6);
    border-color: var(--te6);
}
.btn-primary:not(:disabled):not(.disabled).active:focus, .btn-primary:not(:disabled):not(.disabled):active:focus, .show > .btn-primary.dropdown-toggle:focus,
.btn-primary.focus, .btn-primary:focus {
    box-shadow: 0 0 0 .2rem var(--te2) !important;
}
nav.barra-acessibilidade {
    background-color: var(--gray200);
    position: relative;
    z-index: 2;
}
.bg-light {
    background-color: var(--white) !important;
    box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.12);
}
.text-dark {
    color: var(--gray800) !important;
}
.navbar-light .navbar-nav .nav-link {
    color: var(--gray600);
}
.navbar-light .navbar-brand,
body {
    color: var(--gray900);
}
.h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6 {
    font-family: "Atkinson Hyperlegible", sans-serif;
    font-weight: 700;
    color: var(--gray900);
}
.h1 {
    font-size: 40px;
}
.h2 {
    font-size: 32px;
}
.h3 {
    font-size: 28px;
}
.h4 {
    font-size: 24px;
}
.h5 {
    font-size: 20px;
}
.h6 {
    font-size: 16px;
}
.base-text {
    font-family: "Atkinson Hyperlegible", sans-serif;
    font-weight: 400;
    font-size: 16px;
    line-height: 28px;
    color: var(--gray600);
}
.lead-text {
    font-family: "Atkinson Hyperlegible", sans-serif;
    font-weight: 400;
    font-size: 19px;
    line-height: 34px;
    color: var(--gray600);
}
.base-text2 {
    font-family: "Nunito", sans-serif;
    font-weight: 400;
    font-size: 16px;
    line-height: 28px;
    color: var(--gray700);
}
.lead-text2 {
    font-family: "Nunito", sans-serif;
    font-weight: 500;
    font-size: 19px;
    line-height: 34px;
    color: var(--gray600);
}
.lead-text3 {
    font-family: "Nunito", sans-serif;
    font-weight: 300;
    font-size: 19px;
    line-height: 34px;
    color: var(--gray700);
}
.strong-text2 {
    font-family: "Nunito", sans-serif;
    font-weight: 700;
    font-size: 17px;
    line-height: 28px;
    color: var(--gray900);
}
.small-text {
    font-family: "Nunito", sans-serif;
    font-weight: 400;
    font-size: 14px;
}
.nav-link {
    font-family: "Nunito", sans-serif;
    font-weight: 400;
    font-size: 17px;
    color: var(--gray700);
}
.nav-link:hover,
.nav-link:focus,
.nav-link.focus {
    color: var(--gray900);
}
.btn {
    font-family: "Nunito", sans-serif;
    font-weight: 700;
    font-size: 15px;
    text-transform: uppercase;
    border-radius: 50rem;
    width: auto !important;
    padding: 10px 26px !important;
    min-height: 48px;
    align-items: center;
    justify-content: center;
    display: flex;
    gap: 8px;
}
.btn.btn-fit {
    width: fit-content !important;
}
.btn.btn-primary,
.btn.btn-secondary.active,
.btn.btn-secondary:hover,
.btn.btn-secondary:focus,
.btn.btn-outline.active,
.btn.btn-outline:hover,
.btn.btn-outline:focus {
    background-color: var(--te5) !important;
    color: var(--white) !important;
}
.btn.btn-primary.active,
.btn.btn-primary:hover,
.btn.btn-primary:focus {
    background-color: var(--te6) !important;
}
.btn.btn-secondary {
    background-color: var(--te1) !important;
    color: var(--te6) !important;
}
.btn.btn-outline {
    background-color: transparent !important;
    color: var(--te5) !important;
    border: 1px solid var(--te5);
    box-sizing: border-box;
}
.btn.btn-primary.btn-gray.active,
.btn.btn-primary.btn-gray:hover,
.btn.btn-primary.btn-gray:focus,
.btn.btn-secondary.btn-gray.active,
.btn.btn-secondary.btn-gray:hover,
.btn.btn-secondary.btn-gray:focus,
.btn.btn-outline.btn-gray.active,
.btn.btn-outline.btn-gray:hover,
.btn.btn-outline.btn-gray:focus {
    background-color: var(--gray800) !important;
    color: var(--white) !important;
}
.btn.btn-primary.btn-gray {
    background-color: var(--gray700) !important;
    color: var(--white) !important;
}
.btn.btn-secondary.btn-gray {
    background-color: var(--gray200) !important;
    color: var(--gray900) !important;
}
.btn.btn-outline.btn-gray {
    background-color: transparent !important;
    color: var(--gray800) !important;
    border: 1px solid var(--gray800);
    box-sizing: border-box;
}
#btn-back-to-top {
    padding: 6px 13px !important;
    font-size: 1.7rem;
}
.contrast-toggle { border: 0; background: transparent; text-align: left; }
.site-icon { display: inline-block; min-width: 1em; margin-right: .25rem; }
a:focus-visible, button:focus-visible { outline: 3px solid var(--te4); outline-offset: 4px; }
.navbar-brand { white-space: normal; }
@media (max-width: 575px) { .navbar-brand { font-size: 1.15rem; } .navbar-brand img { height: 48px; } .barra-acessibilidade .navbar-collapse { padding: .75rem 0; } }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
