:root {
    --primary-color  : #482f92;
    --secondary-color: #fcb034;
    --neutral-color  : #e7e8e9;
    --dark-color     : #231f20;
}

* {
    outline: none;
}

*:focus {
    outline: none;
}

body {
    position   : relative;
    font-family: 'Raleway', 'Arial', 'Helvetica', 'Verdana', 'Trebuchet MS', sans-serif;
    font-size  : 1.7rem;
    line-height: 1.2;
    font-weight: 400;
    color      : var(--dark-color);
}

html,
body {
    height: 100%;
}

#geral {
    width         : 100%;
    position      : relative;
    overflow-x    : hidden;
    display       : flex;
    flex-direction: column;
    min-height    : 100vh;
    padding-top   : 126px;
}

* html #geral {
    height: 100%;
}

#conteudo {
    position: relative;
    flex    : 1;
    height  : 100%;
    width   : 100%;
}

.center {
    width     : 100%;
    max-width : 1086px;
    margin    : 0 auto;
    text-align: left;
    position  : relative;
}

.inner-center {
    padding: 0 16px;
}

a,
button {
    transition: all ease 0.2s;
}

button {
    border    : none;
    padding   : 0;
    margin    : 0;
    box-sizing: border-box
}

.hide {
    display: none !important;
}

.display-1 {
    font-size     : 2.5rem;
    line-height   : 1.2;
    color         : var(--primary-color);
    font-weight   : 600;
    text-transform: uppercase;
}

.fixed-header #header {
    top               : -42px;
    -webkit-box-shadow: 0 0 6px rgba(0, 0, 0, 0.3);
    -moz-box-shadow   : 0 0 6px rgba(0, 0, 0, 0.3);
    box-shadow        : 0 0 6px rgba(0, 0, 0, 0.3);
}

#header {
    position          : fixed;
    transform         : translate3d(0, 0, 0);
    width             : 100%;
    z-index           : 999;
    top               : 0;
    left              : 0;
    -webkit-transition: all 0.2s ease-in-out;
    -moz-transition   : all 0.2s ease-in-out;
    -o-transition     : all 0.2s ease-in-out;
    transition        : all 0.2s ease-in-out;
}

.header-topo {
    background-color: var(--neutral-color);
    font-size       : 1.6rem;
}

.header-topo__container {
    display        : flex;
    align-items    : center;
    justify-content: space-between;
    height         : 42px;
}

.header-topo a {
    color          : var(--dark-color);
    text-decoration: none;
}

.header-topo a:hover {
    color: var(--secondary-color);
}

.header-main {
    background-color: var(--primary-color);
}

.header-main .center {
    max-width: 1120px;
}

.header-main__container {
    display        : flex;
    align-items    : center;
    justify-content: space-between;
}

.header-main__logo {
    display         : flex;
    align-items     : center;
    justify-content : center;
    background-color: #fff;
    height          : 84px;
    padding         : 0 14px 0 20px;
    width           : 425px;
}

.header-main__itens {
    display    : flex;
    align-items: center;
    width      : 695px;
}

.header__link {
    height          : 84px;
    display         : flex;
    align-items     : center;
    justify-content : center;
    text-align      : center;
    color           : #fff;
    background-color: var(--primary-color);
    text-decoration : none;
    text-transform  : uppercase;
    font-size       : 15px;
    text-align      : center;
    width           : 139px;
    padding         : 0 12px;
    font-weight     : 600;
}

.header__link:hover {
    background-color: var(--secondary-color);
    color           : var(--primary-color);
}

.bt-hamburguer {
    outline   : none;
    cursor    : pointer;
    border    : none;
    background: none;
    width     : 23px;
    float     : left;
    position  : relative;
    height    : 18px;
}

.bt-hamburguer .bt-hamburguer__stripe {
    background-color  : var(--secondary-color);
    display           : block;
    height            : 2px;
    position          : absolute;
    width             : 100%;
    -webkit-transition: all 0.2s ease-in-out;
    -moz-transition   : all 0.2s ease-in-out;
    -o-transition     : all 0.2s ease-in-out;
    transition        : all 0.2s ease-in-out;
}

.bt-hamburguer .bt-hamburguer__stripe__top {
    top: 0;
}

.bt-hamburguer .bt-hamburguer__stripe__middle {
    top       : 50%;
    margin-top: -2px;
}

.bt-hamburguer .bt-hamburguer__stripe__bottom {
    top       : 100%;
    margin-top: -4px;
}

.with-menu .menu-mobile__box {
    z-index   : 999;
    opacity   : 1;
    visibility: visible;
}

.with-menu .menu-mobile__wrapper {
    left: 0;
}

.menu-mobile--animation .menu-mobile__wrapper {
    left: -100vw;
}

.menu-mobile--animation .menu-mobile__box .menu-mobile__background {
    opacity   : 0;
    transition: opacity 0.2s ease-in-out;
}

.menu-mobile {
    display: none;
}

.menu-mobile__box {
    position  : fixed;
    top       : 0px;
    left      : 0px;
    width     : 100%;
    height    : 100%;
    z-index   : -999;
    opacity   : 0;
    visibility: hidden;
    overflow  : hidden;
}

.menu-mobile__box .menu-mobile__background {
    position  : absolute;
    top       : 0;
    bottom    : 0;
    left      : 0;
    right     : 0;
    height    : 100%;
    width     : 100%;
    background: rgba(0, 0, 0, 0.8);
    display   : block;
    transition: opacity 0.2s ease-in-out;
}

.menu-mobile__box .menu-principal__figure {
    display: none;
}

.menu-mobile__box .menu-mobile__social {
    width     : 100%;
    margin    : 0 auto;
    text-align: center;
}

.menu-mobile__box .menu-principal__items {
    height: 100%;
}

.menu-mobile__box .menu-principal__items-variation {
    border-top: 1px solid #e5eaf2;
}

.menu-mobile__box .menu-principal__item {
    padding: 0;
}

.menu-mobile__box .menu-principal__icon-avancar {
    display    : inline-block;
    margin-left: 10px;
}

.menu__mobile__fechar {
    position  : fixed;
    z-index   : 99999;
    right     : 10px;
    top       : 10px;
    background: unset;
}

.menu-mobile__wrapper {
    background-color: #ffffff;
    width           : 250px;
    color           : #333333;
    left            : -100vw;
    position        : absolute;
    top             : 0;
    z-index         : 1000;
    height          : 100%;
    box-sizing      : border-box;
    overflow-x      : hidden;
    transition      : all ease 0.4s;
}

.menu-mobile__wrapper .menu-mobile__slider {
    position: relative;
    padding : 60px 0 55px 0;
}

.menu-mobile__wrapper .menu-mobile__slider .menu_principal__submenu {
    position   : absolute;
    left       : 250px;
    top        : 0;
    display    : none;
    padding-top: 55px;
}

.menu-mobile__header {
    height          : 60px;
    line-height     : 60px;
    display         : flex;
    align-items     : center;
    justify-content : center;
    text-align      : center;
    background-color: #fff;
    position        : absolute;
    top             : 0;
    width           : 250px;
    z-index         : 1010;
    left            : 0;
}

.menu-mobile__header a {
    text-decoration: none;
    color          : inherit;
    color          : #ffffff;
    font-weight    : 600;
}

.menu-mobile__fixed-box {
    background-color  : #ffffff;
    -webkit-box-shadow: 0 0 6px rgba(0, 0, 0, 0.3);
    -moz-box-shadow   : 0 0 6px rgba(0, 0, 0, 0.3);
    box-shadow        : 0 0 6px rgba(0, 0, 0, 0.3);
    height            : 60px;
    padding           : 10px;
    position          : fixed;
    top               : 0;
    left              : 0;
    width             : 100%;
    z-index           : 999;
}

.menu-mobile__social-icon {
    display   : inline-block;
    text-align: center;
    width     : auto;
    padding   : 5px 10px 0 10px;
}

.menu-mobile__footer {
    height          : 55px;
    background-color: #ffffff;
    width           : 250px;
    bottom          : 0;
    left            : 0;
    z-index         : 1100;
    position        : absolute;
    display         : table;
}

.menu-mobile__social-box {
    display       : table-cell;
    vertical-align: middle;
}

.menu-mobile__fixed-logo {
    position : absolute;
    left     : 50%;
    top      : 50%;
    transform: translate(-50%, -50%);
}

.menu-mobile__bt {
    background: none;
    position  : absolute;
    top       : 50%;
    transform : translateY(-50%);
}

.menu-principal__link {
    display        : table;
    width          : 100%;
    color          : var(--primary-color);
    font-weight    : 500;
    text-decoration: none;
}

.menu-principal__link span {
    display         : table-cell;
    vertical-align  : middle;
    padding         : 0 20px;
    height          : 40px;
    background-color: #ffffff;
}

.menu-principal__link:hover {
    color: #ffffff;
}

.menu-principal__link:hover span {
    background-color: var(--primary-color);
}

.menu-mobile__logo {
    display: inline-block;
    padding: 10px 0;
}

.menu-mobile__social-link {
    display: block;
}

.section-banner {
    display        : flex;
    justify-content: center;
}

.section-banner img {
    margin: 0 auto;
}

.section-quem-somos {
    background-color: var(--secondary-color);
    padding         : 28px 0 14px 0;
}

.section-quem-somos .display-1 {
    text-align   : center;
    margin-bottom: 24px;
}

.section-quem-somos p {
    margin-bottom: 19px;
}

.section-servicos {
    background-image   : url(../img/bg-servicos.png);
    background-repeat  : no-repeat;
    background-position: 37% 0%;
    background-color   : var(--primary-color);
    padding            : 22px 0 20px 0;
}

.section-servicos .display-1 {
    color        : var(--secondary-color);
    text-align   : center;
    margin-bottom: 30px;
}

.section-servicos p {
    margin-bottom: 19px;
}

.section-servicos__items {
    display        : flex;
    justify-content: space-evenly;
    gap            : 50px;
}

.item-servico__img {
    border-radius: 100%;
    border       : 13px solid #fff;
    overflow     : hidden;
}

.item-servico__img img {
    border-radius: 100%;
}

.item-servico__text {
    text-align: center;
    color     : #fff;
    margin-top: 18px;
}

.section-diferenciais {
    background-color: var(--neutral-color);
    padding         : 18px 0 26px 0;
}

.section-diferenciais .display-1 {
    text-align   : center;
    margin-bottom: 18px;
}

.section-diferenciais__items {
    display    : flex;
    align-items: center;
    flex-wrap  : wrap;
    gap        : 24px;
}

.item-diferencial {
    width           : calc(50% - 12px);
    background-color: #fff;
    color           : var(--primary-color);
    text-align      : center;
    display         : flex;
    align-items     : center;
    justify-content : center;
    height          : 145px;
    border-radius   : 24px;
    padding         : 24px;
}

.item-diferencial p {
    font-size  : 3.0rem;
    line-height: 1.2;
    font-weight: 600;
}

.section-fale-conosco {
    background-color: var(--secondary-color);
    padding         : 17px 0 40px 0;
}

.section-fale-conosco__container {
    display        : flex;
    justify-content: space-between;
}

.section-fale-conosco .display-1 {
    margin-bottom: 14px;
}

.section-fale-conosco p {
    font-size  : 1.6rem;
    margin-left: 55px;
}

.fale-conosco__box-right {
    margin-top: 22px;
}

.itens-sociais {
    display    : flex;
    align-items: center;
    gap        : 38px;
}

.section-fale-conosco a {
    color          : var(--dark-color);
    text-decoration: none;
}

.section-fale-conosco a:hover {
    color: var(--primary-color);
}

.whatsapp-link-mobile {
    display: none;
}

/******************** MEDIAS QUERIES ********************/

@media screen and (max-width: 1024px) {
    html {
        font-size: 52.5%;
    }

    .header-main__logo {
        width      : 200px;
        flex-shrink: 0;
        padding    : 0 14px;
    }

    .header-main__itens {
        width: 100%;
    }

    .header__link {
        width: 20%;
    }
}

@media screen and (max-width: 900px) {
    #geral {
        padding-top: 60px;
    }

    .header-topo {
        display: none;
    }

    .header-main__logo {
        height: 60px;
    }

    .header-main__itens {
        justify-content: space-evenly;
    }

    .header__link {
        height     : 60px;
        font-size  : 12px;
        font-weight: 500;
    }

    .section-quem-somos .display-1 {
        margin-bottom: 20px;
    }

    .section-servicos {
        padding: 24px 0 0 0;
    }

    .section-servicos .display-1 {
        margin-bottom: 18px;
    }

    .section-servicos__items {
        gap: 24px;
    }

    .item-servico {
        width: calc(33.333% - 12px);
    }

    .item-diferencial p {
        font-size: 2.4rem;
    }

    .section-fale-conosco {
        padding: 24px 0;
    }

    .section-fale-conosco__container {
        align-items: center;
    }

    .section-fale-conosco p {
        margin-left: 0;
    }

    .fale-conosco__box-right {
        margin-top: 0;
    }

    .itens-sociais {
        gap: 24px;
    }
}

@media screen and (max-width: 768px) {
    .header {
        display: none;
    }

    .menu-mobile {
        display: block;
    }
}

@media screen and (max-width: 640px) {
    .section-servicos__items {
        gap: 8px;
    }

    .item-servico__text {
        font-size: 13px;
    }

    .section-diferenciais__items {
        gap: 16px;
    }

    .item-diferencial {
        width  : calc(50% - 8px);
        padding: 16px;
    }

    .item-diferencial p {
        font-size: 2rem;
    }

    .section-fale-conosco a {
        transform: scale(0.7);
    }

    .fale-conosco__box-right {
        width: 130px;
    }

    .itens-sociais {
        gap: 0;
    }
}

@media screen and (max-width: 480px) {
    .section-banner img {
        object-fit: cover;
        height    : 350px;
    }

    .whatsapp-link-desktop {
        display: none;
    }

    .whatsapp-link-mobile {
        display: inline-flex;
    }
}