*{
    font-family: "Montserrat", sans-serif;
	scroll-behavior: smooth;
}


:root {
	--verde: #73CB65;
	--azul: #42749F;
    --texto: #646464;
    --cinza: #F7F7F7;
}
::selection{
	color: white;
	background: var(--verde);
}
/* HEADER */

header img{
    width: 200px;
}
.menu-icon {
    font-size: 28px;
    cursor: pointer;
    display: none;
	color: var(--azul);
}
.fechar{
	font-size: 28px;
    cursor: pointer;
    color: white;
	opacity: 0;
    position: absolute;
    z-index: 99999;
	transition: all 0.5s;
    left: 50px;
    top: 50px;
}
.grid-menu{
	display: grid;
	grid-template-columns: 1fr 2fr;
	align-items: center;
}
.menu {
    display: flex;
    justify-content: center;
}

.menu ul {
    list-style-type: none;
    margin: 0;
    padding: 0;
    display: flex;
	gap: 20px;
	text-align: center;
}

.menu li {
    margin: 0 15px;
}
.menu a{
	color: var(--azul);
	transition: all 0.5s;
}
.menu a:hover{
	color: var(--verde);
}
@media (max-width: 768px) {
    .grid-menu {
        grid-template-columns: 1fr 1fr;
        grid-template-rows: auto auto;
		justify-items: end;
    }
	.menu ul{
		display: grid;
	}
	.menu a{
		color: white;
	}
    .menu {
        position: fixed;
        top: 0;
        left: -100%;
        height: 100vh;
        width: 100%;
        background-color: var(--azul);
        flex-direction: column;
        align-items: center;
		z-index: 999;
        transition: left 0.3s ease-in-out;
    }
	header .show{
		display: flex;
		opacity: 1;
	}
    .menu.show {
        left: 0;
    }

    .menu li {
        margin: 15px 0;
    }

    .menu-icon {
        display: block;
    }
}

/* BANNER */

.banner{
    background: linear-gradient(90deg, rgba(0,0,0,0.7) 0%, rgba(0,0,0,0.7) 100%), url('/img/banner.jpg');
    background-repeat: no-repeat;
    background-size: cover;
    padding: 250px 0;
}
.banner h1{
    color: white;
    font-size: 60px;
}
.button{
    background: white;
    color: var(--azul);
    padding: 20px 50px;
    width: fit-content;
}
.banner .grid-banner{
    display: grid;
    gap: 20px;
}
.padrao{
    padding: 80px 0;
}
.titulo{
    font-size: 25px;
}
.sobre p{
    font-size: 18px;
    font-weight: 300;
	margin-bottom: 0;
    color: var(--texto);
}


/* SERVIÇOS */

.servicos {
	background: linear-gradient(180deg, white 310px, var(--azul) 310px);
	padding-bottom: 80px;
}

.nos-home {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	margin-top: 20px;
	gap: 30px;
}

.nos-home .card-home img {
	width: 100%;
}

.card-padrao {
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 30px;
	transition: background 0.5s ease-in-out;	
}

.cards-images a {
	margin: 10px 0;
}

@keyframes fadeOut {
	100% {
		opacity: 1;
	}

	0% {
		opacity: 0;
	}


}
.card-padrao .flutuante-titulo {
    font-size: 36px;
    color: white;
    font-weight: 600;
    opacity: 1;
    transform: translateY(0); /* Adicionado transform para controle de layout */
    transition: opacity 1s, transform 1s; /* Adicionado transform à transição */
    text-align: center;
	position: absolute;
}

.card-padrao .texto {
    font-size: 16px;
    color: white;
    opacity: 0;
    transform: translateY(100%); /* Adicionado transform para controle de layout */
    padding: 0 40px;
    text-align: center;
    transition: opacity 1s, transform 1s; /* Adicionado transform à transição */
}

.card-padrao:hover .flutuante-titulo {
    opacity: 0;
    transform: translateY(-100%); /* Adicionado transform para controle de layout */
}

.card-padrao:hover .texto {
    opacity: 1;
    transform: translateY(0); /* Adicionado transform para controle de layout */
}


.card-padrao-maior {
	background-repeat: no-repeat;
	background-size: cover;
	height: 358px;
	position: relative;
	z-index: 2;
}

.card-padrao-menor {
	background-repeat: no-repeat;
	background-size: cover;
	height: 180px;
	position: relative;
	z-index: 1;
}

/* CARDS HOME */

.card-eletrica-industrial {
	background: linear-gradient(90deg, rgba(0,0,0,0.7) 0%, rgba(0,0,0,0.7) 100%), url('/img/servicos/eletrica-industrial.jpg');
	background-size: cover;
}



.card-condominial {
	background: linear-gradient(90deg, rgba(0,0,0,0.7) 0%, rgba(0,0,0,0.7) 100%), url('/img/servicos/sitema-condominial.jpg');
	background-size: cover;

}



.card-iluminacao-industrial {
	background: linear-gradient(90deg, rgba(0,0,0,0.7) 0%, rgba(0,0,0,0.7) 100%), url('/img/servicos/iluminacao-industrial.jpg');
	background-size: cover;
}

.card-infraestrutura {
	background: linear-gradient(90deg, rgba(0,0,0,0.7) 0%, rgba(0,0,0,0.7) 100%), url('/img/servicos/infra.jpg');
	background-size: cover;
}

.card-incendio {
	background: linear-gradient(90deg, rgba(0,0,0,0.7) 0%, rgba(0,0,0,0.7) 100%), url('/img/servicos/alarme.jpg');
	background-size: cover;
}
.card-pabx{
	background: linear-gradient(90deg, rgba(0,0,0,0.7) 0%, rgba(0,0,0,0.7) 100%), url('/img/servicos/pabx.jpg');
	background-size: cover;
}


/* CERTIFICACOES */

.grid-tres{
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 40px;
	justify-items: center;
    align-items: center;
	margin-top: 40px;
}

.certificacoes img{
	height: 100px;
	object-fit: contain;
}
.contato{
	background: var(--verde);
}
.contato h2{
	color: white;
}

form{
	margin-top: 40px;
	display: grid;
	gap: 10px;
}
form input, form textarea{
	padding: 20px;
	/* border-radius: 50px; */
	border:none;
}
form button{
	padding: 20px;
	border: none;
	color: white;
	background: var(--azul);
	cursor: pointer;
	transition: all ease-in-out 1s;
}
form button:hover{
	background: white;
	color: var(--azul);
}
footer{
	padding: 20px 0;
}
footer p{
	text-align: right;
}
footer p a{
	color: black;
	transition: all 0.5s;
}
footer p a:hover{
	color: var(--verde);
}
.grid-footer{

	display: grid;
    grid-template-columns: 1fr 2fr;
    align-items: center;
}
.whatsapp{
	position: fixed;
    right: 30px;
    background-color: var(--verde);
    bottom: 30px;
    padding: 11px;
	z-index: 99;
    color: white;
    border-radius: 100px;
}
.whatsapp i{
	color: white;
	font-size: 50px;
	width: 50px;
    text-align: -webkit-center;
}

#mensagemAgradecimento{
	color: white;
    border: 1px solid white;
    padding: 10px 20px;
    margin-top: 20px;
	text-align: center;
}

/* MOBILE */

@media screen and (max-width:900px){
	.grid-footer, .nos-home{
		grid-template-columns: 1fr;
	}
	.banner h1{
		font-size: 40px;
	}
	.banner{
		padding: 90px 0;
	}
	footer p{
		text-align: center;
		font-size: 12px;
	}
	.sobre p{
		text-align: justify;
	}
}