:root {
    --bs-font-sans-serif: Roboto, sans-serif;
    --bs-primary: #303069;
    --bs-primary-rgb: 48, 48, 105;
    --bs-secondary: #fb8223;
    --bs-secondary-rgb: 251, 130, 35;
    --bs-tertiary: #ed3237;
    --bs-tertiary-rgb: 237, 50, 55;
    --bs-emphasis-color-rgb:  48, 48, 105;
}

b,strong{
    font-weight: 700;
}
section{ scroll-margin-top: 100px; }

.text-tertiary{ color: var(--bs-tertiary) !important; }
.size-32x32{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 32px;
    height: 32px;
}

.size-48x48{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 48px;
    height: 48px;
}

.title{
    position: relative;
    color: #3e4095;
    font-weight: 700;
    padding-bottom: 1rem;
    margin-bottom: 2rem;
}

.title::after{
    content: '';
    position: absolute;
    width: 60px;
    height: 0%;
    border-top: 2px solid #f4ede5;
    bottom: 0;
    left: 0;
}
.title.title-center{
    text-align: center;
}
.title.title-center::after{
    left: 50%;
    transform: translateX(-50%);
}

.separador{
    display: block;
    width: 100%;
    height: 23px;
    background: url(../img/separador.png) center repeat-x;
}

.btn{
    transition: all ease-in-out 300ms;
}

.btn-social{
    display: block;
    border-radius: 50%;
    background: transparent;
    border: 0;
    transition: all ease-in-out 300ms;
}
.btn-social:hover{
    background: var(--bs-primary);
    border: 0;
}
.btn-social img{
    filter: invert(0);
    transition: all ease-in-out 300ms;
}
.btn-social:hover img{
    filter: brightness(0) invert(1);
}

.btn.btn-wpp{
    --bs-btn-font-weight: 600;

    --bs-btn-border-color: #00d76d;
    --bs-btn-color: #303069;
    --bs-btn-bg: #00d76d;

    --bs-btn-hover-border-color: #01eb76;
    --bs-btn-hover-color: #303069;
    --bs-btn-hover-bg: #01eb76;

    position: relative;
    margin-left: 12px;
    padding-left: 18px;
}

.btn.btn-wpp:hover{
    box-shadow: 0 0 1rem 0px rgba(0, 215, 109, 0.5);
}
.btn.btn-wpp .btn-icon{
    position: absolute;
    left: -12px;
    top: 50%;
    transform: translateY(-50%);
    display: block;
}

.btn-primary {
    --bs-btn-color: var(--bs-primary);
    --bs-btn-bg: #ffb311;
    --bs-btn-border-color: #ffb311;
    --bs-btn-hover-color: var(--bs-primary);;
    --bs-btn-hover-bg: #00d76d;
    --bs-btn-hover-border-color: #00d76d;
    --bs-btn-focus-shadow-rgb: 49,132,253;
    --bs-btn-active-color: var(--bs-primary);;
    --bs-btn-active-bg: #00d76d;
    --bs-btn-active-border-color: #00d76d;
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --bs-btn-disabled-color: #555;
    --bs-btn-disabled-bg: #ccc;
    --bs-btn-disabled-border-color: #ccc;
    box-shadow: 0 0 1.5rem 0px rgba(255, 179, 17, 0.75);
}
.btn-primary:hover{
    box-shadow: 0 0 1.5rem 0px rgba(0, 215, 109, 0.75);
}

.bg-white-gray{
    background: linear-gradient(to right, #FFF 70%, #dddfdb 70%);
}

@media (max-width:767px) {
    .bg-sm-white{
        background: #FFF !important;
    }
    .bg-sm-white-gray{
        background: linear-gradient(to right, #FFF 60%, #dddfdb 60%);
    }
}

#header {
    background: #FFF;
    position: sticky;
    top: 0;
    left: 0;
    z-index: 999;
}

#header #menu{
    list-style: none;
    display: flex;
    flex-direction: row;
    justify-content: flex-end;
    align-items: center;
    padding: 0;
    margin: 0;
}
#header #menu .btn-link {
    --bs-btn-font-family: Roboto, sans-serif;
    --bs-btn-font-weight: 600;
    --bs-link-color: var(--bs-primary);
    --bs-link-hover-color: var(--bs-secondary);
    --bs-btn-box-shadow: none;
    text-decoration: none;
    transition: all ease-in-out 300ms;
}
#header .img-logo{
    width: 143px;
    height: 80px;
}
@media (max-width:580px) {
    #header .img-logo{
        width: 107px;
        height: 60px;
    }
}
#header .img-logo-offcanvas{
    width: 90px;
    height: 50px;
}

#banner{
    background: #303069 url(../img/bg-banner.jpg) center no-repeat;
    background-size: cover;
}

#banner .img-banner{
    position: relative;
    width: 100%;
    height: calc(100% + 180px);
    object-fit: cover;
    object-position: center;
    padding-left: 20px;
    padding-bottom: 20px;
}
#banner .img-border::before{
    position: absolute;
    content: '';
    top: 30px;
    width: calc(100% - 80px);
    height: calc(100% + 150px);
    border: 1px solid var(--bs-tertiary);
}
@media (max-width:767px) {
    #banner .img-banner{
        height: 100%;
    }
    #banner .img-border::before{
        height: 95%;
    }
}

#o-que-fazemos{
    background: #303069 url(../img/bg-servicos.jpg) center no-repeat;
    background-size: cover;
}


#diferenciais{
    background: #303069 url(../img/bg-diferenciais.jpg) center no-repeat;
    background-size: cover;
}


#diferenciais .card-diferecial{
    color: #ffb311;
    background: rgba(58, 56, 143, .7);
}
#contato{
    color: #ffb311;
    background: #05062c url(../img/bg-contato.png) center repeat;
}

#footer{
    color: #FFF;
    background: #070945;
}
#footer .map{
    overflow: hidden;
    max-height: 550px;
    filter: grayscale(1);
}