@import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100;0,300;0,400;0,500;0,600;0,700;0,800;1,300;1,400;1,500;1,600;1,700;1,800&display=swap');

:root {
    --primary: #6807f9;
    --primary-alt: #5000c8;
    --secondary: #ffd739;
    --secondary-alt: #f5c50a;
}
html {
    font-family: 'Montserrat', sans-serif;
}
body {
    font-family: 'Montserrat', sans-serif;
    color: #000;
}
a {
  color: var(--primary);
}
a:hover {
  color: var(--primary-alt);
}
header {
    position: relative;
    padding: 1rem 0;
    font-size: .75rem;
    font-weight: 600;
}
header .btn {
    padding: .6rem 1rem;
    font-size: .875rem;
    margin-right: 1.5rem;
}
header .abre-menu > img {
    margin-right: 1rem;
    transform: rotate(90deg);
}
@media (min-width: 992px) {
    header .abre-menu > img {
        margin: 0;
    }
}
header .menu {
    position: fixed;
    top: 0;
    right: 0;
    z-index: -1 !important;
    width: 100%;
    height: 100%;
    padding: 2rem 7rem 3rem 2rem;
    background-color: #fafafa;
    text-align: right;
    -webkit-transform: translateX(100%);
    -ms-transform: translateX(100%);
    transform: translateX(100%);
    -webkit-transition: 300ms ease;
    transition: 300ms ease;
}
header .menu.menu-aberto {
	-webkit-transform: translateX(0%);
	-ms-transform: translateX(0%);
	transform: translateX(0%);
	-webkit-transition: 300ms ease;
	transition: 300ms ease;
	z-index: 9999 !important;
}
@media (max-width: 991px) {
    header .menu {
        left: 0;
        right: auto;
        -webkit-transform: translateX(-100%);
        -ms-transform: translateX(-100%);
        transform: translateX(-100%);
    }
}
@media (min-width: 768px) {
    header .menu {
        width: 50%;
    }
}
@media (min-width: 1200px) {
    header .menu {
        width: 30%;
    }
}
header .menu > ul {
    margin: 3rem 0 0;
    list-style: none;
    font-size: 1.2rem;
    font-weight: 400;
}
header .menu > ul > li {
    margin-bottom: 1.3rem;
}
header .menu > ul > li > a {
    color: #3c3c3b;
}
.btn {
    padding: .75rem 1.2rem;
    font-size: .875rem;
    font-weight: 500;
    border-radius: 1.5rem;
    line-height: 1;
}
.btn > span {
    display: flex;
    align-items: center;
}
.btn > span > img {
    margin-left: .5rem;
}
.btn-primary {
    color: #fff;
    background-color: var(--primary);
    border-color: var(--primary);
}
.btn-primary:hover {
    color: #fff;
    background-color: var(--primary-alt);
    border-color: var(--primary-alt)
}
.btn-check:focus + .btn-primary, .btn-primary:focus {
    color: #fff;
    background-color: var(--primary-alt);
    border-color: var(--primary-alt);
    box-shadow: 0 0 0 .25rem rgba(104, 7, 249, 0.5)
}
.btn-primary:disabled, .btn-primary.disabled {
    color: #fff;
    background-color: var(--primary);
    border-color: var(--primary)
}
.btn-primary:not(:disabled):not(.disabled):active, .btn-primary:not(:disabled):not(.disabled).active, .show > .btn-primary.dropdown-toggle {
    color: #fff;
    background-color: var(--primary-alt);
    border-color: var(--primary-alt);
}
.btn-primary:not(:disabled):not(.disabled):active:focus, .btn-primary:not(:disabled):not(.disabled).active:focus, .show > .btn-primary.dropdown-toggle:focus {
    box-shadow: 0 0 0 .25rem rgba(104, 7, 249, 0.5)
}
.btn-outline-primary {
    color: #000;
    font-weight: 700;
    border-width: 2px;
    border-color: var(--primary);
}
.btn-outline-primary:hover {
    color: #fff;
    background-color: var(--primary);
    border-color: var(--primary);
}
.btn-outline-primary.focus, .btn-outline-primary:focus {
    box-shadow: 0 0 0 .2rem rgba(104, 7, 249, .5)
}
.btn-outline-primary.disabled, .btn-outline-primary:disabled {
    color: var(--primary);
    background-color: transparent
}
.btn-outline-primary:not(:disabled):not(.disabled).active, .btn-outline-primary:not(:disabled):not(.disabled):active, .show > .btn-outline-primary.dropdown-toggle {
    color: #fff;
    background-color: var(--primary);
    border-color: var(--primary);
}
.btn-outline-primary:not(:disabled):not(.disabled).active:focus, .btn-outline-primary:not(:disabled):not(.disabled):active:focus, .show > .btn-outline-primary.dropdown-toggle:focus {
    box-shadow: 0 0 0 .2rem rgba(104, 7, 249, .5)
}
.btn-secondary {
    color: #3c3c3b;
    background-color: var(--secondary);
    border-color: var(--secondary);
}
.btn-secondary:hover {
    color: #3c3c3b;
    background-color: var(--secondary-alt);
    border-color: var(--secondary-alt);
}
.btn-check:focus + .btn-secondary, .btn-secondary:focus {
    color: #3c3c3b;
    background-color: var(--secondary-alt);
    border-color: var(--secondary-alt);
    box-shadow: 0 0 0 .25rem rgba(255, 215, 57, 0.5)
}
.btn-secondary:disabled, .btn-secondary.disabled {
    color: #3c3c3b;
    background-color: var(--secondary);
    border-color: var(--secondary)
}
.btn-secondary:not(:disabled):not(.disabled):active, .btn-secondary:not(:disabled):not(.disabled).active, .show > .btn-secondary.dropdown-toggle {
    color: #3c3c3b;
    background-color: var(--secondary-alt);
    border-color: var(--secondary-alt);
}
.btn-secondary:not(:disabled):not(.disabled):active:focus, .btn-secondary:not(:disabled):not(.disabled).active:focus, .show > .btn-secondary.dropdown-toggle:focus {
    box-shadow: 0 0 0 .25rem rgba(255, 215, 57, 0.5)
}
.borda-amarela {
    position: relative;
}
.borda-amarela::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: -75%;
    z-index: -1;
    width: 100%;
    height: 100%;
    background: url('../img/borda-amarela.svg') no-repeat center;
    background-size: contain;
}
.borda-roxa {
    position: relative;
}
.borda-roxa::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: -55%;
    z-index: -1;
    width: 100%;
    height: 100%;
    background: url('../img/borda-roxa.svg') no-repeat center;
    background-size: contain;
}
.circulo-roxo {
    position: relative;
    padding: 0 .75rem;
}
.circulo-roxo::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: -1;
    width: 100%;
    height: 100%;
    background: url('../img/circulo-roxo.svg') no-repeat center;
    background-size: contain;
}
.frase-destaque {
    position: relative;
    font-size: 1.5rem;
    line-height: 1.2;
    text-align: center;
}
@media (min-width: 992px) {
    .frase-destaque {
        font-size: 2.5rem;
    }
}
.frase-destaque .row {
    padding-top: 3rem;
    padding-bottom: 3rem;
}
.frase-destaque h4 {
    margin: 0 0 4rem;
    font-weight: 700;
}
.frase-destaque .page-scroll {
    position: absolute;
    bottom: 1rem;
    left: 50%;
    transform: translateX(-50%);
}
.transformar-linguagens {
    padding-top: 2rem;
    padding-bottom: 3rem;
}
.transformar-linguagens h4 {
    font-size: 1.5rem;
    font-weight: 700;
}
.transformar-linguagens h4 > sup {
    position: absolute;
    top: -0.6rem;
    left: -2.5rem;
    font-size: 10rem;
    font-weight: 100;
    color: var(--primary);
}
.frase-contato {
    padding-top: 3rem;
    padding-bottom: 6rem;
    font-size: 1.15rem;
    text-align: center;
}
@media (min-width: 992px) {
    .frase-contato {
        font-size: 1.5rem;
    }
}
.frase-contato p {
    margin-bottom: 3rem;
}
.home-servicos {
    padding-top: 4rem;
    padding-bottom: 2rem;
    font-size: 1.5rem;
    font-weight: 500;
}
.home-servicos ul {
    margin-bottom: 0;
    padding-left: 0;
    list-style: none;
    font-size: 1.25rem;
    text-decoration: underline;
}
.home-servicos ul span {
    color: var(--primary);
}
.home-servicos .btn {
    margin-top: 3rem;
}
.nossos-clientes {
    padding-top: 3rem;
    padding-bottom: 5rem;
}
.nossos-clientes h2 {
    margin: 0 0 3rem;
    text-align: center;
    font-size: 2rem;
}
@media (min-width: 992px) {
    .nossos-clientes h2 {
        font-size: 3rem;
    }
}
.nossos-clientes img {
    margin-bottom: 3rem;
}
.banner-contato {
    padding-top: 4rem;
    padding-bottom: 4rem;
    background-color: var(--primary);
    color: #fff;
    text-align: center;
    font-weight: 300;
}
.banner-contato h2 {
    margin: 0;
    font-size: 2rem;
    font-weight: 700;
}
@media (min-width: 992px) {
    .banner-contato h2 {
        font-size: 3.75rem;
    }
}
.banner-contato strong {
    font-weight: 600;
}
.banner-contato p {
    margin-bottom: 4rem;
}
.contato {
    position: fixed;
    top: 0;
    right: 0;
    z-index: -1 !important;
    width: 100%;
    height: 100%;
    background-color: var(--primary);
    color: #fff;
    text-align: center;
    -webkit-transform: translateX(100%);
    -ms-transform: translateX(100%);
    transform: translateX(100%);
    -webkit-transition: 300ms ease;
    transition: 300ms ease;
    overflow-y: scroll;
}
.contato.contato-aberto {
	-webkit-transform: translateX(0%);
	-ms-transform: translateX(0%);
	transform: translateX(0%);
	-webkit-transition: 300ms ease;
	transition: 300ms ease;
	z-index: 9999 !important;
}
@media (max-width: 991px) {
    .contato {
        width: 75%;
        left: 0;
        right: auto;
        -webkit-transform: translateX(-100%);
        -ms-transform: translateX(-100%);
        transform: translateX(-100%);
    }
}
@media (min-width: 768px) {
    .contato {
        width: 50%;
    }
}
@media (min-width: 1200px) {
    .contato {
        width: 25%;
    }
}
.contato form {
    padding: 3rem 2rem;
}
.contato form h3 {
    margin: 0;
    color: var(--secondary);
    font-weight: 600;
}
.contato form p {
    margin-bottom: 3rem;
}
.contato form .form-control {
    background-color: transparent;
    border-width: 0 0 1px 0;
    border-radius: 0;
    outline: none !important;
    box-shadow: none !important;
    color: #fff;
}
.contato form .form-control::-moz-placeholder {
    color: #e0e0e0;
    opacity: 1;
}
.contato form .form-control:-ms-input-placeholder {
    color: #e0e0e0;
}
.contato form .form-control::-webkit-input-placeholder {
    color: #e0e0e0;
}
.banner-evoluir {
    font-size: 1.35rem;
}
.servicos {
    padding-top: 2rem;
    padding-bottom: 3rem;
    font-size: .875rem;
}
.servicos h3 {
    margin: 2rem 0 1rem;
    font-size: 1.2rem;
    font-weight: 700;
    color: var(--primary);
}
.visando-resultado {
    padding-top: 3rem;
    padding-bottom: 4rem;
    font-size: 1.2rem;
    text-align: center;
    line-height: 1.1;
}
.visando-resultado p {
    margin-bottom: 3rem;
    font-size: 1.65rem;
    font-weight: 500;
}
.pag-quem-somos .circulo-roxo::after {
    bottom: -.25rem;
    height: 125%;
}
.construcao-ideias {
    padding-top: 2rem;
    padding-bottom: 3rem;
    font-size: 1.35rem;
}
.construcao-ideias h4 {
    font-size: 1.75rem;
    font-weight: 700;
}
.nosso-fundador {
    padding-top: 3rem;
}
.nosso-fundador h2 {
    margin: 0 0 2rem;
}
.pag-quem-somos .banner-contato, .pag-nosso-trabalho .banner-contato {
    background-color: var(--secondary);
    color: #3c3c3b;
    font-weight: 400;
}
.pag-quem-somos .banner-contato h2, .pag-nosso-trabalho .banner-contato h2 {
    color: var(--primary);
}
.pag-nosso-trabalho .circulo-roxo::after {
    bottom: -7.5%;
    left: -7.5%;
    width: 115%;
    height: 115%;
    background-image: url('../img/circulo-roxo-projetos.svg');
}
.portfolio {
    padding-top: 2rem;
    padding-bottom: 3rem;
}
.whatsapp-flutuante {
    position: fixed;
    bottom: 20px;
    right: 20px;
    z-index: 998;
}
.whatsapp-flutuante a {
    display: inline-block;
    padding: 0.5rem 0.875rem;
    background-color: #0bbd18;
    border-radius: 0.5rem;
    box-shadow: 0px 3px 6px #00000029;
    color: #fff;
}
.rodape {
    position: relative;
    padding-top: 5rem;
    padding-bottom: 3rem;
    background-color: #3c3c3b;
    color: #fff;
    font-size: .875rem;
    font-weight: 300;
}
.rodape a {
    display: block;
    color: #fff;
}
.rodape strong {
    font-weight: 600;
}
.rodape .rodape-menu {
    font-size: 1.2rem;
    font-weight: 400;
}
@media (min-width: 992px) {
    .rodape .rodape-menu {
        display: flex;
        justify-content: space-between;
    }
}
.rodape hr {
    margin: 2.5rem 0;
    border-color: #fff;
}