/* 0. Configurações Gerais
----------------------------*/
html, body {width: 100%; position: relative; padding: 0; margin: 0;}
html {scroll-behavior: smooth;}
body {font-family: 'Montserrat', var(--bs-font-sans-serif), sans-serif;}

p:last-child {margin: 0;}
i {font-style: italic;}
b {font-weight: bold;}
a {text-decoration: none; color: inherit;}
a, button, .btn {transition: all .4s ease-in-out; -webkit-transition: all .4s ease-in-out;}
a:hover {color: #32559F;}
button:focus {outline: none;}
img {width: 100%; height: auto; object-fit: contain; vertical-align: middle;}

h1, h2, h3, h4, h5, h6, p, a, i, b, span, em, small {-webkit-font-smoothing: antialiased;}
h1 {font-size: 26px;}
h2, h3, h4, h5, h6 {font-size: 20px;}
p {font-size: 16px; line-height: 1.5;}

.section {padding: 45px 0;}

.titulo {font-weight: 900; text-align: center; text-transform: uppercase; color: #063F5E;}
.subtitulo {font-size: 22px; font-weight: 300; text-align: center; text-transform: uppercase; margin-bottom: 0.25rem;}

.btn {font-weight: 600; text-transform: uppercase; padding: 0.375rem 1rem; border-radius: 0px;}
.btn.default {background: #6DC36A; box-shadow: 0 3px 0 0 #489846; color: #fffefe; margin-bottom: 7px;}
.btn.default:hover {box-shadow: 0 2px 0 0 #489846; transform: translateY(2px);}
.btn.hollow {color: #FFF; position: relative;}
.btn.hollow::before, .btn.hollow::after {content: ''; position: absolute; -webkit-transition: .4s ease-in-out; transition: .4s ease-in-out;}
.btn.hollow::before {top: 0; left: 0; width: 100%; height: 100%; border: 1px solid #FFF; transform: skew(-20deg, 0);}
.btn.hollow::after {top: 50%; left: -0.5rem; width: calc(100% + 1rem); height: 25%; border: 2px solid #FFF; border-top: 0; border-bottom: 0; transform: translateY(-50%) skew(-20deg, 0);}
.btn.hollow:hover::after {height: 75%;}

.anchor-holder {position: relative;}
.anchor-holder .anchor {position: absolute; top: -116px; visibility: hidden; backface-visibility: hidden;}

.whatsapp {position: fixed; bottom: 65px; right: 15px; z-index: 9;}
.whatsapp a {display: flex; display: -ms-flexbox; width: 55px; height: 55px; background: #25D366; border-radius: 100%; padding: 10px; position: relative; box-sizing: border-box;}
.whatsapp a::before, .whatsapp a::after {content: ''; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 100%; height: 100%; background: transparent; border: 5px solid #25D366; border-radius: 100%; animation: growingCircle 1s infinite; z-index: -1;}
.whatsapp a::after {animation-delay: .6s;}
.whatsapp a:hover {opacity: .75;}
.whatsapp a img {width: 100%; height: 100%; object-fit: contain; object-position: center; margin-left: 2px;}

@keyframes growingCircle {
	from {width: 100%; height: 100%;}
	to {width: 125%; height: 125%;}
}

/* 1. Navbar
--------------*/
.navbar {background: #FFF; -webkit-transition: .4s ease-in-out; transition: .4s ease-in-out;}
.navbar.shadowed {box-shadow: 0 2px 15px 0 rgba(0, 0, 0, .65);}
.navbar:not(.shadowed) {border-bottom: 1px solid #DEE2E6;}
.navbar .navbar-brand .brand {width: auto; height: 90px;}
.navbar .navbar-nav .nav-item {text-align: center;}
.navbar .navbar-nav .nav-item .nav-link {text-transform: uppercase; color: inherit;font-size: 15px;}
.navbar .navbar-nav .nav-item .nav-link:hover {color: #54A752;}
.navbar.scrolled {border-bottom: unset; box-shadow: 0 2px 15px 0 rgba(0, 0, 0, .65);}

/* 2. Rodapé
--------------*/
#rodape {background: #063F5E; color: #FFF;}
#rodape h2 {font-weight: 600; text-transform: uppercase;}
#rodape p {font-weight: 300;}
#rodape a {font-weight: 400;}
#rodape a:hover {color: inherit; opacity: .75;}
#rodape .social a {font-size: 24px;}
#rodape .social a:not(:last-child) {margin-right: 0.75rem;}

/* 3. Copyright
-----------------*/
footer {background: #003450; color: #FFF; padding: 5px 0;}
footer p {font-size: 12px; font-weight: 300;}
footer a {font-weight: 600;}
footer a:hover {color: inherit; opacity: .75;}

/* 4. Google Like Input
-------------------------*/
.input {position: relative;}
.input:not(:last-child) {margin-bottom: 1.5rem;}
.input label {font-size: 1rem; font-weight: 300; background: white; border-radius: 0.5rem; color: #9C9C9C; line-height: 1.5; padding: 0.375rem 0.75rem; position: absolute; top: 1px; left: 1px; z-index: 1; cursor: text; transition: transform 150ms cubic-bezier(0.4, 0, 0.2, 1), opacity 150ms cubic-bezier(0.4, 0, 0.2, 1); transform-origin: bottom left;}
.input .form-control:focus {box-shadow: unset;}
.input .form-control:focus + label, .input .form-control:not(:placeholder-shown) + label {font-size: 12px; font-weight: 600; color: #1A73E8; padding: 0 0.75rem; transform: translateX(5px) translateY(-10px);}