/* -----------------# VARS #-----------------  */

:root {

	/* ---| COLORS */
	--color-primary: #004AAD;
	--color-primary-hover: #003985;

	--color-secondary: #1B1B1B;
	--color-secondary-hover: #000000;

	/* ---| Structure */
	--section-padding: 100px;

}

body {
	font-family: Poppins !important;
	overflow-x: hidden;
}

body::-webkit-scrollbar {
	width: 10px;
}

body::-webkit-scrollbar-track {
	background: white;
}

body::-webkit-scrollbar-thumb {
	background-color: #f1f1f1;
	border-radius: 0px;
}

/* --------# FOOTER BUTTONS #---------  */

.footer__buttons {
	position: fixed;
	bottom: 30px;
	right: 20px;
}

.footer__buttons .whatsapp__button {
	cursor: pointer !important;
	border-radius: 100%;
	width: 60px;
    transition: transform 0.3s ease-in-out;
}

@keyframes shake {
    0%, 100% { transform: rotate(0); }
    20% { transform: rotate(-10deg); }
    40% { transform: rotate(10deg); }
    60% { transform: rotate(-10deg); }
    80% { transform: rotate(10deg); }
}

.shake { animation: shake 0.6s ease-in-out; }


/* ----------------# CONTENT #----------------  */

main {
	position: relative;
}

h1 span {
	color: var(--color-primary);
}

.section__title {
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	flex-direction: column;
	margin-bottom: 20px;
	gap: 15px;
}

.section__title h1 {
	font-size: 35px;
	font-weight: 600;
	line-height: 120%;
	color: #080807;
	letter-spacing: -.5px;
	margin-bottom: 0px;
}

.section__title p {
	font-size: 24px;
	font-weight: 400;
	line-height: 100%;
	color: #343A40;
	letter-spacing: -.5px;
	margin-bottom: 0px;
}

.section__title hr {
	border-width: 5px;
	border-color: var(--color-primary);
	width: 35px;
	margin: 10px 0px 0px 0px;
	opacity: 1;
}

section .content__text {
	height: 100%;
	display: flex;
	justify-content: center;
	align-items: flex-start;
	flex-direction: column;
	gap: 25px;
}

section .section__text {
	display: flex;
	justify-content: flex-start;
	align-items: stretch;
	flex-direction: column;
	gap: 15px;
}

section .section__text p {
	font-size: 19px;
	font-weight: 300;
	line-height: 150%;
}

section .section__buttons {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	gap: 20px;
}

section .section__buttons button {
	padding: 16px 35px;
	border-radius: 50px;
	font-size: 14px;

	display: flex;
	justify-content: center;
	align-items: center;
	gap: 20px;
}

section .section__buttons button svg {
	width: 18px;
	fill: currentColor;
}

section .section__buttons button.fill {
	background: var(--color-primary);
	border: 1px solid var(--color-primary);
	transition: all 300ms ease;
	font-weight: 500;
	color: #ffffff;
}

section .section__buttons button.fill:hover {
	background: var(--color-primary-hover);
}

section .section__buttons button.regular {
	background: transparent;
	border: 1px solid var(--color-primary);
	transition: all 300ms ease;
	font-weight: 500;
	color: var(--color-primary);
}

section .section__buttons button.regular:hover {
	background: var(--color-primary-hover);
	border-color: var(--color-primary-hover);
	color: #ffffff;
}

section .section__image {
	width: 550px;
	height: 550px;
	border-radius: 100px;
	background-size: cover !important;
	background-position: center center !important;
}

/* -------------# SECTION HERO #-------------  */

section#inicio {
	background: #ffffff;
	padding-top: 100px !important;
	padding-bottom: 100px !important;
	position: relative;
}

section#inicio::before {
	content: '';
	position: absolute;
	top: 0;
	right: 0px;
	height: 100%;
	width: 40%;
	background: var(--color-primary);
	border-radius: 100% 0px 0px 100%;
	z-index: 1;
}

section#inicio .alert__box img.brand {
	height: 70px;
	margin-bottom: 10px;
}

section#inicio .alert__box {
	display: flex;
	justify-content: center;
	align-items: flex-start;
	flex-direction: column;
	gap: 35px;
}

section#inicio .alert__box h1 {
	font-size: 55px;
	font-weight: 700 !important;
	line-height: 110%;
	margin-bottom: 0px;
}

section#inicio .alert__box h1 b {
	font-size: 55px;
	font-weight: 700 !important;
	line-height: 110%;
	margin-bottom: 0px;
	color: var(--color-primary);
}

section#inicio .alert__box p {
	font-size: 28px;
	font-weight: 300;
	line-height: 140%;
	margin-bottom: 0px;
	color: #403934;
}

section#inicio .hero__title {
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	flex-direction: column;
	gap: 20px;
}

a {
	text-decoration: none !important;
}

section#inicio .alert__buttons {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	gap: 10px;
}

section#inicio .alert__buttons button {
	padding: 18px 35px;
	border-radius: 50px;
	font-size: 16px;

	display: flex;
	justify-content: center;
	align-items: center;
	gap: 20px;
}

section#inicio .alert__buttons button svg {
	width: 18px;
}

section#inicio .alert__buttons button.fill {
	background: var(--color-primary);
	border: 1px solid var(--color-primary);
	transition: all 300ms ease;
	font-weight: 500;
	color: #ffffff;
}

section#inicio .alert__buttons button.fill:hover {
	background: var(--color-primary-hover);
	border-color: var(--color-primary-hover);
}

section#inicio .alert__buttons button.regular {
	background: transparent;
	border: 1px solid transparent;
	color: var(--color-primary);
	font-weight: 400;
}

section#inicio .hero__right {
	position: relative;
	z-index: 1;

	display: flex;
	justify-content: flex-end;
	align-items: center;
}

section#inicio .hero__right .hero__image {
	width: 600px;
	height: 600px;
	background: #ffffff;
	background-size: cover !important;
	background-position: center center !important;
	border-radius: 150px;
	box-shadow: 0px 4px 200px #00000008;

	display: flex;
	justify-content: center;
	align-items: center;

	overflow: hidden;
}


/* -----------# SECTION APRESENTACAO #-----------  */

section#apresentacao {
	padding-top: var(--section-padding);
	padding-bottom: var(--section-padding);
}


/* -----------# EU LEVO #-----------  */

section#eu-levo {
	padding-top: var(--section-padding);
	padding-bottom: var(--section-padding);
}

.eulevo__row {
	display: flex;
	justify-content: flex-end;
	align-items: stretch;
	gap: 25px;
}

.eulevo__row .eulevo__item {
	padding: 40px;
	display: flex;
	justify-content: flex-start;
	align-items: stretch;
	flex-direction: column;
	background: #ffffff;
	border: 1px solid #004AAD10;
	box-shadow: 0px 0px 250px 10px #001E4505;
	border-radius: 45px;
	gap: 20px;
	width: 100%;
}

.eulevo__row .eulevo__item .eulevo__icon {
	width: 50px;
	height: 50px;
	min-width: 50px;
	min-height: 50px;
	display: flex;
	justify-content: center;
	align-items: center;
	background: #004AAD05;
	border-radius: 17px;
}

.eulevo__row .eulevo__item .eulevo__icon svg {
	width: 23px;
	fill: var(--color-primary);
}

.eulevo__row .eulevo__item .eulevo__text {
	height: 100%;
}

.eulevo__row .eulevo__item .eulevo__text h1 {
	font-size: 24px;
	font-weight: 500;
	margin: 15px 0px 20px 0px;
	line-height: 140%;
	letter-spacing: -.2px;
	color: #000000;
}

.eulevo__row .eulevo__item .eulevo__text p {
	font-size: 16px;
	font-weight: 300;
	margin: 0px 0px 10px 0px;
	line-height: 150%;
	color: #4B4B4B;
}

.eulevo__row .eulevo__item a {
	width: 100%;
}

.eulevo__row .eulevo__item button {
	background: #ffffff;
	border-radius: 50px;
	border: 1px solid var(--color-primary);
	color: var(--color-primary);
	font-size: 15px;
	font-weight: 500;
	line-height: 100%;

	display: flex;
	justify-content: center;
	align-items: center;
	gap: 20px;
	width: 100%;

	padding: 20px 0px;
	transition: 300ms ease;
}

.eulevo__row .eulevo__item button:hover {
	background: var(--color-primary);
	color: #ffffff;
}

.eulevo__row .eulevo__item button svg {
	width: 20px;
}

/* -----------# ME LEVA #-----------  */

section#me-leva {
	padding-top: var(--section-padding);
	padding-bottom: var(--section-padding);
}

section#me-leva img {
	width: 100%;
}

/* -----------# COMO FUNCIONA #-----------  */

section#como-funciona {
	padding-top: var(--section-padding);
	padding-bottom: var(--section-padding);
}

section#como-funciona .section__title {
	justify-content: center;
	align-items: center;
	width: 100%;
	text-align: center;
}

section#como-funciona .section__text {
	justify-content: center;
	align-items: center;
	width: 100%;
	text-align: center;
}

section#como-funciona .section__text p {
	width: 70%;
	text-align: center;
}

.ciclo__row {
	display: flex;
	justify-content: flex-end;
	align-items: stretch;
	gap: 25px;
}

.ciclo__row .ciclo__item {
	padding: 30px;
	display: flex;
	justify-content: flex-start;
	align-items: stretch;
	flex-direction: column;
	background: #ffffff;
	border: 1px solid #004AAD10;
	box-shadow: 0px 0px 250px 10px #001E4505;
	border-radius: 45px;
	gap: 20px;
	width: 100%;
}

.ciclo__row .ciclo__item .ciclo__icon {
	width: 50px;
	height: 50px;
	min-width: 50px;
	min-height: 50px;
	display: flex;
	justify-content: center;
	align-items: center;
	background: #004AAD08;
	border-radius: 17px;

	font-size: 20px;
	font-weight: 600;
	line-height: 100%;
	color: var(--color-primary);
}

.ciclo__row .ciclo__item .ciclo__title {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	gap: 20px;
}

.ciclo__row .ciclo__item .ciclo__title h1 {
	font-size: 23px;
	font-weight: 500;
	margin: 0px;
	line-height: 140%;
	letter-spacing: -.2px;
	color: #000000;
}

.ciclo__row .ciclo__item p {
	font-size: 15px;
	font-weight: 300;
	margin: 0px;
	line-height: 150%;
	letter-spacing: -.2px;
	color: #3B3B3B;
}

/* -----------# LIA #-----------  */

section#lia {
	padding-top: var(--section-padding);
	padding-bottom: var(--section-padding);
}

section#lia img {
	width: 100%;
}

section#lia .section__title p {
	font-size: 22px;
}

section#lia .section__title h1 {
	line-height: 100%;
}

section#lia button {
	padding: 14px 40px 14px 35px;
}

section#lia button svg {
	width: 25px;
	height: 25px;
}


/* -----------# SECTION IMPACTO #-----------  */

section#impacto {
	padding-top: var(--section-padding);
	padding-bottom: var(--section-padding);
}

.impacto__row {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	gap: 50px;
}

.impacto__row .impacto__item {
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	flex-direction: column;
	gap: 0px;
}

.impacto__row .impacto__item h1 {
	font-size: 50px;
	line-height: 120%;
	letter-spacing: -.8px;
	margin-bottom: 0px;
	font-weight: 800;
	color: #080807;
	width: 100%;
}

.impacto__row .impacto__item p {
	font-size: 20px;
	line-height: 150%;
	letter-spacing: -.4px;
	font-weight: 300;
	margin-bottom: 0px;
	color: #343A40;
	width: 100%;
}

/* -----------# FOOTER #-----------  */

#footer {
	padding: 150px 0px;
	background: #FAFAFA;
}

#footer .footer__menu {
	display: flex;
	justify-content: flex-start;
	align-items: stretch;
	flex-direction: column;
	gap: 10px;
}

#footer .last__menu {
	display: flex;
	justify-content: flex-start;
	align-items: flex-end;
	flex-direction: column;
	height: 100%;
	gap: 0px;
}

#footer .last__menu h5 {
	text-transform: uppercase;
	font-weight: 400 !important;
}

#footer .last__menu .copy {
	display: flex;
	justify-content: flex-end;
	align-items: flex-end;
	height: 100%;
}

#footer .last__menu .copy p {
	font-size: 14px;
	color: #08080750;
}

#footer .footer__menu h5 {
	font-size: 16px;
	font-weight: 500;
	line-height: 100%;
	color: #080807;
	margin-bottom: 10px;
}

#footer .footer__menu p {
	font-size: 15px;
	font-weight: 300;
	color: #080807;
	margin-bottom: 0px;
}

#footer .footer__menu p:hover {
	color: #000000;
}

#footer .social__row {
	display: flex;
	justify-content: flex-start;
	align-items: stretch;
	gap: 5px;
	margin-top: 20px;
}

#footer .social__row .social__item {
	width: 30px;
	height: 30px;
	border-radius: 100%;
	background: var(--color-primary);
	display: flex;
	justify-content: center;
	align-items: center;
	transition: all 300ms ease;
}

#footer .social__row .social__item:hover {
	background: var(--color-primary-hover);
}

#footer .social__row .social__item svg {
	fill: #ffffff;
	height: 15px;
}


/* -----------# RESPONSIVIDADE #-----------  */

@media screen and (max-width: 768px) {

	:root {
		--section-padding: 50px;
	}

	section {
		padding-left: 15px;
		padding-right: 15px;
	}

	#footer {
		padding: 50px 30px;
	}

	.footer__menu {
		margin-bottom: 45px;
		justify-content: center;
		align-items: center;
		text-align: center;
	}

	.last__menu {
		justify-content: center !important;
		align-items: center !important;
		text-align: center !important;
	}

	.social__row {
		justify-content: center !important;
		align-items: center !important;
	}

	.gx-5 {
		padding: 0px 18px !important;
	}

	.alert__box {
		align-items: center !important;
		text-align: center;
	}

	.hero__title {
		align-items: center !important;
		gap: 15px !important;
	}

	.hero__title h1,
	.hero__title h1 b {
		font-size: 45px !important;
	}

	.hero__title h1 br {
		display: none;
	}

	.hero__title p {
		font-size: 22px !important;
	}

	.alert__buttons button {
		font-size: 13px !important;
		padding: 15px 30px !important;
	}

	.hero__image {
		display: none !important;
	}

	#inicio::before {
		display: none !important;
	}

	.content__text {
		gap: 20px !important;
	}

	.section__title {
		text-align: center;
		align-items: center;
		width: 100%;
		gap: 10px;
	}

	.section__title br {
		display: none !important;
	}

	.section__title h1 {
		font-size: 28px;
		line-height: 140%;
		width: 90%;
	}

	.section__title p {
		font-size: 20px;
		line-height: 130%;
		font-weight: 300 !important;
		width: 90%;
	}

	.section__text p {
		font-size: 16px;
		text-align: center;
	}

	.section__buttons {
		flex-direction: column;
		align-items: stretch;
		width: 100%;
	}

	.section__image {
		width: 100% !important;
		height: auto !important;
		padding-bottom: 100%;
		border-radius: 35px !important;
	}

	/* APRESENTACAO */

	#apresentacao .section__image {
		margin-bottom: 30px;
	}


	/* EU LEVO */

	.eulevo__row {
		flex-direction: column;
		gap: 10px;
		margin-top: 20px;
	}

	.eulevo__item {
		padding: 30px !important;
		align-items: center !important;
		text-align: center;
		gap: 15px !important;
	}

	/* ME LEVA */

	#me-leva img {
		display: none;
	}

	/* CICLO */

	#como-funciona .section__text p {
		width: 100% !important;
	}

	.ciclo__row {
		flex-direction: column;
		gap: 10px;
	}

	.ciclo__row .ciclo__item {
		padding: 25px !important;
		border-radius: 35px !important;
	}

	/* LIA */

	#lia img {
		margin-top: 60px;
	}

	#lia .section__title p {
		font-size: 18px !important;
		margin-bottom: 10px;
	}

	/* IMPACTO */

	#impacto .section__image {
		display: none;
	}

	#impacto .impacto__row {
		flex-direction: column;
		align-items: center;
		justify-content: center;
		width: 100%;
		text-align: center;
		gap: 25px;
	}

}