* {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}

a {
	text-decoration: none;
}

ul {
	list-style: none;
}

:root {
	--ff-body: 'Montserrat', sans-serif;
	--fw-regular: 400;
	--fw-bold: 700;
	--azul-claro: #448ccb;
	--azul-medio: #144171;
	--azul-escuro: #0c1927;
	--cinza: #333333;
}

html {
	font-size: 62.5%;
	scroll-behavior: smooth;
	-webkit-scroll-behavior: smooth;
	-moz-scroll-behavior: smooth;
	-o-scroll-behavior: smooth;
}

body {
	font-size: 1.6rem;
	font-family: var(--ff-body);
	background-color: #fff;
	-webkit-font-smoothing: antialiased;
	-moz-font-smoothing: antialiased;
	-o-font-smoothing: antialiased;
}

.error {
	border: 1px solid red!important;
}

h2 {
	/* color: var(--azul-medio); */
	color: var(--cinza);
	font-size: 4rem;
	text-align: center;
	margin: 4rem 0;
}

h3 {
	color: var(--azul-medio);
	font-size: 2rem;
	
	margin-bottom: 1rem;
}

.btn {
	border-radius: 2.5rem;
	border: none;

	font-family: var(--ff-body);
	font-size: 1.6rem;
	color: white;

	background-color: var(--azul-claro);

	padding: 2rem;

	transition: all ease 0.3s;

	text-align: center;
	display: block;
	width: fit-content;
	margin: 0 auto;
}

.btn:hover {
	transform: scale(1.05);
	background-color: var(--azul-medio);
}

.progress-bar {
	position: fixed;
	top: 0;
	width: 100%;
	height: 5px;
	background-color: var(--azul-medio);
	z-index: 9999;
}

.img-fluid {
	max-width: 100%;
	height: auto;
}

.container {
	max-width: 136.6rem;
	margin: 0 auto;
}

.header-container,
.container,
footer {
	padding-right: 1.5rem;
	padding-left: 1.5rem;
}

.header-container {
	box-shadow: 0px 0px 16px  var(--azul-escuro);
}

.header-content {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 2rem 0;
	position: relative; /* Adicionando posição relativa para o cabeçalho */
}

.header-content header {
	display: flex;
	align-items: center;
	width: 100%;
	justify-content: space-between;
	z-index: 1001; /* Certifique-se de que o cabeçalho esteja acima do menu */
	background-color: white; /* Fundo branco para o cabeçalho */
	position: relative; /* Certifique-se de que o cabeçalho esteja no topo */
}

.menu-toggle {
	display: none;
	font-size: 2rem;
	background: none;
	border: none;
	cursor: pointer;
	z-index: 1002; /* Certifique-se de que o botão esteja acima do menu */
}

.header-content nav ul {
	display: flex;
	align-items: center;
	gap: 6rem;
}

.header-content nav li a {
	color: var(--azul-medio);
	font-size: 1.8rem;
	transition: all ease-in-out 0.2s;
}

.header-content nav li a:hover {
	border-bottom: 3px solid var(--azul-claro);
	padding-bottom: 1rem;
	color: var(--azul-escuro);
}

.welcome {
	background: url('./images/bg-top.jpg') no-repeat;	
	width: 100%;
	filter: brightness(70%);
}

.welcome-content {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	height: calc(100vh - 150px);

	text-align: center;
}

.welcome-content h1 {
	font-size: 4rem;
	margin-bottom: 3rem;
}

.welcome-content p {
	font-size: 2rem;
}

.welcome-content h1,
.welcome-content p {
	color: white;
	text-shadow: 1px 1px 2px black;
}

.welcome-content a {
	text-shadow: 1px 1px 2px black;
	margin-top: 4rem;
}

.services-content {
	display: flex;
	align-items: center;
	flex-wrap: wrap;

	margin-bottom: 5rem;
}

.service-card {
	width: calc(100% / 4);
	height: 300px;
	perspective: 1000px;
	padding: 1rem;
}

.service-card-inner {
	position: relative;
	width: 100%;
	height: 100%;
	transition: transform 0.6s;
	transform-style: preserve-3d;
}

.service-card:hover .service-card-inner {
	transform: rotateY(180deg);
}

.service-card-front {
	perspective: 1000px;
	position: relative;
}

.service-card-front > div {
	position: absolute;
	top: 45%;
	left: 0;
	right: 0;
}

.service-card-front p {
	text-align: center;
	font-size: 3rem;
	color: white;
	text-shadow: 1px 1px 2px black;
}

.service-card-front img{
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 2.5rem;
	filter: brightness(80%);
}

.service-card-back {
	perspective: 1000px;
	transform: rotateY(180deg);
	border-radius: 2.5rem;
	padding: 2rem;

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

	background: var(--azul-escuro);
}

.service-card-back p {
	color: white;
	text-align: center;
	
	margin-bottom: 4rem;
}

.service-card-back a {
	color: white;
	background: var(--azul-claro);
	padding: 1rem 4rem;
	border-radius: 2.5rem;
	transition: all 0.3s;
}

.service-card-back a:hover {
	color: var(--azul-claro);
	background: white;
}

.service-card-front,
.service-card-back {
	position: absolute;
	width: 100%;
	height: 100%;
	backface-visibility: hidden;	
}

.clients {
	padding: 8rem 0;
	margin-top: 4rem;
}

.bx-slider {
	margin: 0 auto;
}

.bx-wrapper {
	background: transparent;
	border: none;
	box-shadow: none;
}

.bx-wrapper .bx-pager.bx-default-pager a {
	width: 4rem;
}

.newsletter {
	background: var(--azul-claro);
	padding: 8rem 0;
	text-align: center;
	margin-top: 7rem;
}

.newsletter h2{
	color: white;
	
	margin: 0;
}

.newsletter p{
	color: white;
	margin: 1rem auto 2rem;
}

.newsletter input[type="text"] {
	width: 40%;
	padding: 1.5rem;
	border-radius: 2.5rem;
	border: none;

	font-size: 1.6rem;
	font-family: var(--ff-body);

	margin-bottom: 2rem;
}

.newsletter span {
	font-size: 1.2rem;
}

.newsletter input[type="submit"] {
	cursor: pointer;
	width: 20rem;
	margin-top: 2rem;
}

.newsletter .btn {
	background: var(--azul-medio);
}

.newsletter .btn {
	background: var(--azul-escuro);
}

.downloads-content {
	display: flex;
	align-items: center;
	flex-wrap: wrap;

	margin-top: 5rem;
	margin-bottom: 5rem;
}
.downloads-content h3 {
	color: var(--azul-escuro);
	text-align: center;
}
.downloads-content .btn {
	padding: 1rem 5rem;
	margin-top: 1rem;
}

.downloads-content ul {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
}
.downloads-content ul li{
	width: calc(33.33% - 10px);
	margin-bottom: 20px;
	padding: 20px;
	box-sizing: border-box;
	text-align: center;
}
.downloads-content ul li p{
	line-height: 150%;
}

footer {
	border-top: 2px solid var(--azul-escuro);
}

.footer-content {
	display: flex;
	justify-content: space-between;

	padding: 4rem 0 2rem;
}

.footer-content h3 {
	color: #333;
}

.footer-content a {
	display: block;
}

.footer-content .logo-footer {
	display: flex;
	align-items: center;
}

.footer-content > div {
	text-align: center;
}

.footer-content p {
	line-height: 2.5rem;
	margin-bottom: 2rem;
}

.footer-content .links li {
	margin-bottom: 1rem;
}

.footer-content .links li a {
	color: var(--azul-escuro);
}

.footer-content .links li a:hover {
	color: var(--azul-claro)
}

.footer-content .social {
	display: flex;
	justify-content: center;
	gap: 1rem;
}

.footer-content i {
	color: white;
	padding: 1rem;
	border-radius: 50%;
}

.fa-instagram {
	background: #F15245;
	border: 2px solid #F15245;
}

.fa-linkedin-in {
	background: #007bb6;
	border: 2px solid #007bb6;
}

.fa-whatsapp {
	background: #4fce5d;
	border: 2px solid #4fce5d;

	margin-bottom: 1rem;
}

.fa-instagram:hover {
	color: #F15245;
}

.fa-whatsapp:hover {
	color: #4fce5d;
}

.fa-linkedin-in:hover {
	color: #007bb6;
}

.fa-whatsapp:hover,
.fa-instagram:hover,
.fa-linkedin-in:hover {
	background: white;
}

.company {
	padding-bottom: 5rem;
}

.company h2 {
	text-align: left;
}

.company p,
.services-details p {
	line-height: 2.5rem;
}

.clients-content {
	display: flex;
	align-items: center;
	flex-wrap: wrap;

	margin: 5rem 0;
}

.clients-items {
  width: calc(100% / 4);
  max-width: calc(100% / 4);
}

.services-details {
	margin: 5rem 0;
}

.services-details h2{
	text-align: left;
}

.services-details ul{
	list-style: disc;
	margin-left: 2rem;
}

.services-details .btn {
	margin: 3rem 0;
}

.contact-inner form {
	max-width: 70rem;
	margin: 3rem auto 0;
}

.contact-inner form p {
	text-align: center;
	margin-bottom: 3rem;
}

.contact-inner .wrapper-input {
	display: flex;
	gap: 1rem;
	width: 100%;}

.contact-inner form input[type="text"],
.contact-inner form input[type="email"],
.contact-inner form textarea{
	width: 100%;
	height: 4rem;

	border-radius: 5px;
	border: 1px solid var(--azul-claro);

	font-family: var(--ff-body);
	color: #333;
	font-size: 1.6rem;

	padding: 0 1rem;
	margin-bottom: 2rem;
}

.contact-inner form textarea {
	width: 100%;
	height: 20rem;

	padding: 2rem;

	border-radius: 5px;
	border: 1px solid var(--azul-claro);
	resize: none;
}

.contact-inner form input[type="submit"] {
	padding: 1rem 2rem;
	margin-bottom: 5rem;
	cursor: pointer;
}

@media (max-width: 1024px) {

	.footer-content {
		flex-direction: column;
		gap: 3rem;
		padding: 3rem 0;
	}

	.service-card-front p {
		font-size: 2.5rem;
	}

	.clients {
		margin: 0;
	}

}

@media (max-width: 768px) {

	.btn {
		padding: 1.5rem 2rem;
	}

	.welcome-content h1 {
		font-size: 3.5rem;
	}

	.service-card {
		width: calc(100% / 2)
	}

	.newsletter input[type="text"] {
		width: 60%;
	}

	.footer-content .logo-footer {
		justify-content: center;
	}

	.header-content header {
		width: 100%;
		justify-content: space-between;
	}

	.menu-toggle {
			display: block;
			font-size: 4rem;
	}

	.menu {
			display: none;
			flex-direction: column;
			width: 100%;
			background: white;
			position: fixed; /* Tornando o menu fixo */
			top: 0; /* Começando do topo da página */
			left: 0;
			height: 100vh; /* Ocupando toda a altura da tela */
			z-index: 1000; /* Para estar abaixo do cabeçalho e botão de menu */
			padding-top: 5rem; /* Espaço para o cabeçalho */
			align-items: center;
			justify-content: center;
	}

	.menu.active {
			display: flex;
	}

	.header-content nav ul {
			flex-direction: column;
			gap: 2rem;
	}

	.header-content nav li a {
			font-size: 3rem;
	}

	.downloads-content ul li{
		width: calc(50% - 10px);
	}

}

@media (max-width: 500px) {

	h2 {
		font-size: 3rem;
	}

	.welcome-content h1 {
		font-size: 2.5rem;
	}

	.welcome-content p {
		font-size: 1.5rem;
	}

	.service-card {
		width: 100%;
	}

	.newsletter input[type="text"] {
		width: 100%;
	}

	.clients-items {
		width: calc(100% / 3);
		max-width: calc(100% / 3);
	}

	.contact-inner .wrapper-input {
		gap: 0;
		flex-direction: column;	
	}

	.downloads-content ul li{
		width: 100%;

	}

}


#services {
	margin-bottom: 4rem;
}

