html, body{
	font-family: "Plus Jakarta Sans", sans-serif;
	font-optical-sizing: auto;
	font-style: normal;
}

@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(40px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.animate-fadeInUp {
  animation: fadeInUp 1.3s ease forwards;
}


.form-chat .fundo-form {
    border-radius: 0 0 15px 15px;
    background-image: url(https://d335luupugsy2.cloudfront.net/cms/files/18740/1595939276/$ubt4h4q1mvh), 
    linear-gradient(to bottom, rgba(233, 224, 215, 1) 0%, 
    rgba(233, 224, 215, 1) 100%);
}

.fade-in-up {
	opacity: 0;
	transform: translateY(20px);
	transition: opacity 0.5s ease-out, transform 0.5s ease-out;
}

.fade-in-up.show {
	opacity: 1;
	transform: translateY(0);
}

.fade-in-up-mob {
	opacity: 0;
	transform: translateY(20px);
	transition: opacity 0.5s ease-out, transform 0.5s ease-out;
	position: absolute;
}

.fade-in-up-mob.show-mob {
	opacity: 1;
	transform: translateY(0);
}

.img-container-mob {
	position: relative;
	width: 100%;
	text-align: center;
	/* ajuste conforme necessário */
	height: 250px;
	/* ajuste conforme necessário */
}

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

.shake-parent:hover .img-shake {
  animation: rotate-shake 0.4s ease-in-out;
}

@keyframes jump {
  0%   { transform: translateY(0); }
  50%  { transform: translateY(-10px); }
  100% { transform: translateY(0); }
}

.animate-jump {
  animation: jump 0.6s ease;
}

@keyframes marquee {
	0% {
		transform: translateX(0);
	}

	100% {
		transform: translateX(-2700px);
		/* exatamente o width de uma imagem */
	}
}

.animate-marquee {
	animation: marquee 30s linear infinite;
}

.carousel-track:hover {
	animation-play-state: paused;
}

.carousel-container {
	width: 100%;
	overflow: hidden;
	margin: auto;
	position: relative;
	cursor: grab;
}

.carousel-wrapper {
	display: flex;
	gap: 40px;
	transition: transform 0.3s ease-out;
}

.card-slide {
	background-color: #fff;
	color: #212840;
	border-radius: 30px;
	user-select: none;
	padding-bottom: 50px;
	/* Evita seleção de texto ao arrastar */
}

iframe {
	width: 100%;
	height: 100vh;
}

.nossos-trabalhos img {
	object-fit: cover;
	height: 300px;
	width: 100%;
	border-radius: 30px;
}

.container-i {
	width: 100%;
	max-width: 80rem;
	margin: 0 auto;
	padding: 0 20px;
}

.links-redes a i {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 30px;
	height: 30px;
	font-size: 18px;
	padding: 6px;
	background-color: #0c03fd;
	border-radius: 50%;
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.faq-section {
	opacity: 0;
	transform: translateY(30px);
	transition: all 0.7s ease;
}

.faq-section.show {
	opacity: 1;
	transform: translateY(0);
}

.show {
	opacity: 1 !important;
	transform: translateY(0) !important;
}

.faq-section {
	transition: all 0.9s ease;
}

.fade-out {
    opacity: 0;
    transition: opacity 0.3s ease;
  }
  
@media (min-width: 768px) {
    .carousel-container, #carousel-wrapper, #carousel, #carousel-wrapper *, #carousel * {
        cursor: default;
    }
}

@media (min-width: 766px) and (max-width: 1024px) {
	.tamanho-ajustado-balao-1 {
		width: 130px !important;
		right: 34% !important;
		top: -25% !important
	}

	.tamanho-ajustado-emoji-apaixonado {
		width: 50px !important;
		right: 39% !important;
		top: -18% !important
	}

	.tamanho-ajustado-balao-2 {
		width: 130px !important;
		right: 50% !important;
		top: -26% !important
	}

	.tamanho-ajustado-emoji-lampada {
		width: 50px !important;
		right: 55% !important;
		top: -18% !important
	}

	.tamanho-ajustado-emoji-camera {
		right: 22% !important;
	}

	.tamanho-ajustado-emoji-notebook {
		right: 42% !important;
	}
}

@media (max-width: 765px) {
	.container-i {
		max-width: 90%;
		padding: 0 15px;
	}

	.empresas-do-grupo {
		margin-left: 0 !important;
		gap: 19px !important
	}

	.card-mobile {
		width: 500px !important;
		margin-bottom: 0px;
	}

	.alinhamento-centro {
		display: flex !important;
		flex-direction: column !important;
		width: 100% !important;
	}

	.espacamento {
		gap: 50px !important;
	}
	
	.whatsapp {
		display: none
	}
}
