/*
Theme Name: Theme AVA IPIFS - Psicanálise
Theme URI: 
Author: Geovani Assis Pereira
Author URI: https://geovaniassis.dev.br
Description: Tema oficial do IPIFS - Psicanálise, iniciado em 06 de Agosto de 2026.
Created: 06 de Agosto de 2026
Requires at least: 6.4
Tested up to: 6.4
Requires PHP: 7.0
Version: 1.0

/***************************************************************************
       Cores
****************************************************************************

	Preto  		=	#353535
	Branco    	=	#ffffff
	Azul		=	#0F394E
	Beje		= 	#D8B690
	Azul Claro	=	#00b1d7
	Marrom		=	#735545
	Cinza Claro = 	#f5f5f5

/***************************************************************************
       Fonts
***************************************************************************/

	@import url('https://fonts.googleapis.com/css2?family=Didact+Gothic&family=Exo:ital,wght@0,100..900;1,100..900&family=Lato:ital,wght@0,100;0,300;0,400;0,700;0,900;1,100;1,300;1,400;1,700;1,900&display=swap');
	@import url('https://fonts.googleapis.com/css2?family=Merriweather:ital,opsz,wght@0,18..144,300..900;1,18..144,300..900&display=swap');

/***************************************************************************
       Variáveis
***************************************************************************/

	:root {
		--cor-preto: #353535;
		--cor-branco: #ffffff;
		--cor-azul: #0F394E;
		--cor-vermelho: #4e0f0f;
		--cor-beje: #faf4ef;
		--cor-marrom: #735545;
		--cor-azul-claro: #00b1d7;
		--cor-cinza-claro: #f5f5f5;

		--fonte-didact: 'Didact Gothic', sans-serif;
		--fonte-exo: 'Exo', sans-serif;
		--fonte-lato: 'Lato', sans-serif;
		--fonte-merri: 'Merriweather', serif;
	}

	@keyframes floatDireita {
		0%, 100% {
			transform: translateY(0) translateX(0);
		}
		25% {
			transform: translateY(-10px) translateX(5px);
		}
		50% {
			transform: translateY(5px) translateX(-5px);
		}
		75% {
			transform: translateY(-5px) translateX(10px);
		}
	}
	@keyframes floatEsquerda {
		0%, 100% {
			transform: translateY(0) translateX(0);
		}
		25% {
			transform: translateY(10px) translateX(-5px);
		}
		50% {
			transform: translateY(-5px) translateX(5px);
		}
		75% {
			transform: translateY(5px) translateX(-10px);
		}
	}

/***************************************************************************
        All
***************************************************************************/

	html,
	body{margin: 0 !important; overflow-x: hidden;}

	body{ overflow: auto !important; background: var(--cor-beje);}

	*{
		font-family: var(--fonte-lato);
		margin: 0;
		box-shadow: 0 0 0 0;
		border: 0 none;
		outline: 0;
	} 

	a:hover,
	a:focus,
	a:visited{
		text-decoration: none !important; 
		cursor: pointer;
	}

	button:focus { outline: none; }

	.mobile,
	.mobileBanner{ display: none !important;}


	.mrg-bottom-50{ margin-bottom: 50px; }

	.pdd-0{ padding: 0!important; }
	.pdd-0-15{ padding: 0 15px!important; }
	.pdd-50-0{ padding: 50px 0 !important; }

	.pdd-left-75{ padding-left: 75px !important; }
	.pdd-left-85{ padding-left: 85px !important; }
	.pdd-left-90{ padding-left: 90px !important; }
	.pdd-left-100{ padding-left: 100px !important; }
	.pdd-left-125{ padding-left: 125px !important; }
	.pdd-left-150{ padding-left: 150px !important; }

	.owl-theme .owl-nav [class*=owl-]:hover{
		background: transparent !important;
	}
	
	.txt-center{
		text-align: center !important;
	}
	.txt-right{
		text-align: right !important;
	}

	.tituloAzul{
		color: var(--cor-azul);
		font-family: var(--fonte-exo);
		font-size: 24px;
		font-weight: 900;
	}
	.tituloBranco{
		color: #FBECDC;
		font-family: var(--fonte-exo);
		font-size: 24px;
		font-weight: 900;
	}
	.tituloMarrom{
		color: var(--cor-marrom);
		font-family: var(--fonte-lato);
		font-size: 15px;
		font-weight: 400;
	}
	.tituloCinza{
		color: var(--cor-preto);
		font-family: var(--fonte-merri);
		font-size: 34px;
		font-weight: 400;
		max-width: 520px;
		margin-bottom: 20px;
	}

	.btnSeta{
		background: var(--cor-branco);
		width: 245px;
		height: 50px;
		border-radius: 50px;
		display: flex;
		align-items: center;
		justify-content: space-between;
		padding: 0 5px 0 20px;
		color: var(--cor-preto);
		font-family: var(--fonte-didact);
		font-size: 20px;
		transition: all .5s ease;
	}
	.btnSeta:hover{
		transform: scale(1.1);
		color: var(--cor-preto);
	}
	.btnSeta::after{
		content: "➜";
		background: var(--cor-azul-claro);
		color: var(--cor-branco);
		width: 43px;
		height: 43px;
		border-radius: 100%;
		display: flex;
		align-items: center;
		justify-content: center;
		font-size: 25px;
	}

	
	.btnSetaEscura{
		background: var(--cor-azul);
		width: 135px;
		max-width: 100%;
		height: 50px;
		border-radius: 50px;
		display: flex;
		align-items: center;
		justify-content: space-between;
		padding: 0 5px 0 20px;
		color: var(--cor-branco) !important;
		font-family: var(--fonte-didact);
		font-size: 20px;
		transition: all .5s ease;
	}
	.btnSetaEscura:hover{
		width: 245px;
		color: var(--cor-branco);
	}
	.btnSetaEscura::after{
		content: "➜";
		background: #fff;
		color: var(--cor-azul);
		width: 43px;
		height: 43px;
		border-radius: 100%;
		display: flex;
		align-items: center;
		justify-content: center;
		font-size: 25px;
	}

	.btnAzul{
		background: linear-gradient(296deg, rgba(15, 57, 78, 1) 0%, rgba(23, 91, 128, 1) 100%);
		color: var(--cor-branco);
		font-family: var(--fonte-didact);
		border: solid 1px var(--cor-azul);
		font-weight: 100;
		font-size: 18px;
		padding: 4px 20px;
		border-radius: 40px;
		transition: all .5s ease;
		display: block;
		width: fit-content;
		cursor: pointer;
	}
	.btnAzul:hover,
	.btnAzul.ativo{
		background: transparent;
		color: var(--cor-azul);
		transform: scale(1.1);
		border: solid 1px var(--cor-azul);
	}
	.btnAzul img{
		width: 35px;
		filter: brightness(0) invert(1);
		transition: all .5s ease;
	}
	.btnAzul:hover img{
		filter: brightness(1) invert(0);
	}

	

	.btnVermelho{
		background: linear-gradient(296deg, rgb(78, 15, 15) 0%, rgb(128, 23, 23) 100%);
		color: var(--cor-branco);
		font-family: var(--fonte-didact);
		border: solid 1px var(--cor-vermelho);
		font-weight: 100;
		font-size: 18px;
		padding: 4px 20px;
		border-radius: 40px;
		transition: all .5s ease;
		display: block;
		width: fit-content;
		cursor: pointer;
	}
	.btnVermelho:hover{
		background: transparent;
		color: var(--cor-vermelho);
		transform: scale(1.1);
		border: solid 1px var(--cor-vermelho);
	}

	.btnTransAzul{
		background: var(--cor-branco);
		color: var(--cor-azul);
		border: solid 1px;
		border-radius: 100px;
		padding: 6px 25px;
		display: block;
		width: fit-content;
		transition: all .5s ease;
	}
	.btnTransAzul:hover{
		background: var(--cor-azul);
		color: var(--cor-branco);
		transform: scale(1.1);
	}
	
	.btnTransAzul img{
		width: 35px;
		filter: brightness(1) invert(0);
		transition: all .5s ease;
	}
	.btnTransAzul:hover img{
		filter: brightness(0) invert(1);
	}


	.btnTransparente{
		background: transparent;
		color: var(--cor-azul);
		font-family: var(--fonte-didact);
		border: solid 1px var(--cor-azul);
		font-weight: 100;
		font-size: 18px;
		padding: 4px 37px;
		border-radius: 40px;
		transition: all .5s ease;
	}
	.btnTransparente:hover{
		transform: scale(1.1);
	}
	.direita{
	    animation: floatDireita 17s infinite ease-in-out;
	}
	
	.input{
		background: var(--cor-branco);
		border: solid 1px var(--cor-azul);
		height: 40px;
		border-radius: 100px;
		padding: 0 15px;
		width: 100%;
	}

	.note-editing-area{
	    background: #fff;
	}

/***************************************************************************
        Logado
***************************************************************************/

    #logado{
        height: 100vh;
        width: 100vw;
    }

    #menuLateral{
	    background: linear-gradient(296deg, rgba(15, 57, 78, 1) 0%, rgba(23, 91, 128, 1) 100%);
		height: 100vh;
		display: flex;
		align-items: center;
		justify-content: space-between;
		flex-direction: column;
		padding: 15px;
		max-height: 100vh;
		overflow: auto;
    }	
	#menuLateral .blc1{
		width: 100%;
		text-align: center;
	}
    #menuLateral .logo{
        width: 120px;
        margin-bottom: 20px;
    }
    #menuLateral .link{
        filter: brightness(0) invert(1);
        width: 100%;
        padding: 10px;
        border-radius: 5px;
        display: flex;
        align-items: center;
        gap: 20px;
        transition: ease .5s all;
    }
    #menuLateral .link img{
        width: 30px;
    }
    #menuLateral .link:hover,
    #menuLateral .link.ativo{
        background-color: var(--cor-beje);
        color: var(--cor-azul);
        filter: brightness(1) invert(0);
    }
	#menuLateral .criador {
		max-width: 200px;
	    text-align: center;
	}
	#menuLateral .criador p{
		color: var(--cor-branco);
		text-align: center;
		margin: 0;
		font-size: 12px;
	}
	#menuLateral .criador img{
	    width: 140px;
	}
	#menuLateral .criador small{
		color: var(--cor-branco);
		border: solid #ffffff3b 1px;
		border-radius: 4px;
		padding: 2px 5px;
		font-size: 10px;
	}

    #menuLateral hr{
        display: block;
        width: 100%;
        height: 1px;
        background: #faf4ef1a;
    }

	#navegacao{
		width: 100%;
		display: flex;
		justify-content: space-between;
		padding: 15px;
		box-shadow: 0 0 20px #0000001f;
	    background: var(--cor-branco);
	}
	#navegacao .areaLogo{
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		justify-content: flex-start;
	}
	#navegacao .areaLogo img{
		width: 140px;
	}
	#navegacao .areaLogo p{
		margin: 0;
		color: var(--cor-azul);
		font-family: var(--fonte-merri);
	}
	#navegacao .areaUsuario{
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		justify-content: flex-start;
	    gap: 10px;
	}
	#navegacao .areaUsuario img,
	#navegacao .areaUsuario .usuario-foto-sem-imagem{
		width: 40px;
		height: 40px;
		border-radius: 100%;
		background-color: var(--cor-azul);
		color: var(--cor-branco);
		display: flex;
		align-items: center;
		justify-content: center;
		font-family: var(--fonte-lato);
		object-fit: cover;
	}
	#navegacao .areaUsuario p{
		margin: 0;
		color: var(--cor-azul);
		font-size: 12px;
		font-style: italic;
	    text-align: left;
	}
	#navegacao .areaUsuario p b{
		font-weight: 700;
		font-style: normal;
		font-size: 15px;
	}

	#conteudoCentral .bemVindo{
		background-image: url('../img/banner-lateral.png');
		width: 100%;
		padding: 15px 15px 15px 60px;
		background-position: bottom right;
		background-repeat: no-repeat;
		min-height: 250px;
		display: flex;
		flex-direction: column;
		flex-wrap: wrap;
		justify-content: center;
	}
	#conteudoCentral .bemVindo h2{
		font-family: var(--fonte-merri);
		color: var(--cor-azul);
		margin: 0;
		max-width: 700px;
	}
	#conteudoCentral .bemVindo p{
		color: var(--cor-azul);
		font-family: var(--fonte-lato);
		font-size: 20px;
	}
	#conteudoCentral .bemVindo span{
		color: var(--cor-azul);
		font-family: var(--fonte-merri);
		font-size: 20px;
		font-style: italic;
	}
	#conteudoCentral .bemVindo span b{
		font-weight: 400;
		font-style: normal;
		font-size: 16px;
	}
	#conteudoCentral .blocoBranco{
		box-shadow: 0 0 20px #0000001a;
		border-radius: 10px;
		padding: 15px;
		background: var(--cor-branco);
		margin-bottom: 20px;
	}
	#conteudoCentral .blocoBranco h3{
		font-family: var(--fonte-merri);
		color: var(--cor-azul);
		font-size: 18px;
	}
	#conteudoCentral .blocoBranco h3 a{
		font-family: var(--fonte-merri);
		color: var(--cor-azul);
		font-size: 18px;
	    text-decoration: underline !important;
	}
	#conteudoCentral .item-extracurricular .blocoBranco h3{
		min-height: 65px;
		align-content: center;
	}




	#conteudoCentral .blocoBranco .blocoBaje{
		background: #fbe6d5;
		border-radius: 10px;
		padding: 15px;
		display: flex;
		align-items: flex-start;
		justify-content: flex-start;
		gap: 15px;
	}
	#conteudoCentral .blocoBranco .blocoBaje img{
	    width: 45px;
	}
	#conteudoCentral .blocoBranco .blocoBaje p{
		margin: 0px;
	}
	#conteudoCentral .blocoBranco.numero{
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		justify-content: flex-start;
		gap: 15px;
	}
	#conteudoCentral .blocoBranco.numero .icone{
		background: #fbe6d5;
		border-radius: 100%;
		width: 90px;
		height: 90px;
		display: flex;
		justify-content: center;
		align-items: center;
	}
	#conteudoCentral .blocoBranco.numero .icone img{
		width: 50px;
	}
	#conteudoCentral .blocoBranco.numero .texto{
		display: flex;
		flex-direction: column;
		align-items: flex-start;
		justify-content: center;
	}
	#conteudoCentral .blocoBranco.numero .texto span{
		font-size: 30px;
		font-family: var(--fonte-merri);
		color: var(--cor-preto);
	}
	#conteudoCentral .blocoBranco iframe{
		width: 100%;
		height: 400px;
		border-radius: 10px;
	}
	#conteudoCentral .blocoBranco.parcerias{
		display: flex;
		flex-wrap: wrap;
		align-items: flex-start;
		align-content: center;
		gap: 20px;
	}
	#conteudoCentral .blocoBranco.parcerias .areaLogo{
		background: var(--cor-beje);
		border-radius: 100%;
		width: 130px;
		height: 130px;
		display: flex;
		justify-content: center;
		align-items: center;
		box-shadow: 0 0 16px #0000003b;
		padding: 20px;
	}
	#conteudoCentral .blocoBranco.parcerias .areaLogo img{
		max-width: 100%;
	}
	
	#conteudoCentral .blocoBranco.parcerias .areaTexto h3,
	#conteudoCentral .blocoBranco.parcerias .areaTexto p{
		max-width: 400px;
	}
	#conteudoCentral .blocoBranco.parcerias .areaTexto p{
		min-height: 80px;
	}
	#conteudoCentral .blocoBranco.parcerias .areaTexto h4{
		font-family: var(--fonte-merri);
		color: var(--cor-azul);
		font-size: 28px;
		max-width: 400px;
	}
	#conteudoCentral .blocoBranco.parcerias .areaTexto .areaLinks{
		display: flex;
		flex-wrap: wrap;
		justify-content: flex-start;
		width: 100%;
		gap: 25px;
	}
	#conteudoCentral .blocoBranco.parcerias .areaTexto .areaLinks a{
		color: var(--cor-azul);
		display: flex;
		align-items: center;
		transition: all .5s ease;
	}
	#conteudoCentral .blocoBranco.parcerias .areaTexto .areaLinks a:hover{
		transform: scale(1.1);
	}
	#conteudoCentral .blocoBranco.parcerias .areaTexto .areaLinks a img{
		width: 20px;
		margin-right: 5px;
	}





	#textoUsuario.blocoBranco{
	    align-content: center;
	}
	#textoUsuario.blocoBranco a{
		width: 160px;
		display: flex;
		align-items: center;
		justify-content: center;
		color: var(--cor-branco) !important;
		margin-bottom: 10px;
	}
	#textoUsuario.blocoBranco a:hover{
		color: var(--cor-azul) !important;
	}

	.blocoNovo{
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 30px;
		flex-wrap: wrap;
		margin-bottom: 30px;
	}
	.blocoNovo .btnAzul{
		height: 40px;
	}

	#conteudoCentral .tabela-usuarios{
		width: 100%;
		background: var(--cor-branco);
		border-radius: 10px;
	}
	#conteudoCentral .tabela-usuarios th{
		background: linear-gradient(296deg, rgba(15, 57, 78, 1) 0%, rgba(23, 91, 128, 1) 100%);
		color: var(--cor-branco);
		padding: 10px;
	}
	#conteudoCentral .tabela-usuarios td{
	    border: solid 1px var(--cor-azul);
		padding: 10px;
	}
	#conteudoCentral .areaAncora a,
	#conteudoCentral .tabela-usuarios td a{
		color: var(--cor-azul);
		text-decoration: underline !important;
		font-weight: 800;
	}
	#conteudoCentral .areaAncora{
		display: flex;
		gap: 10px;
		flex-wrap: wrap;
		justify-content: space-between;
	}

	#conteudoCentral .tabela-usuarios .usuario-tabela{
		display: flex;
		align-items: center;
		justify-content: flex-start;
		gap: 10px;
		flex-wrap: wrap;
	}
	#conteudoCentral .tabela-usuarios .usuario-tabela img{
		width: 60px;
		height: 60px;
		border-radius: 100%;
	    object-fit: cover;
	}
	.usuario-foto-sem-imagem{
		width: 60px;
		height: 60px;
		border-radius: 100%;
		background: linear-gradient(296deg, rgba(15, 57, 78, 1) 0%, rgba(23, 91, 128, 1) 100%);
		color: var(--cor-branco);
		display: flex;
		align-items: center;
		justify-content: center;
		font-family: var(--fonte-lato);
	}

	#conteudoCentral .mobile .usuarios-card p {
		margin: 0px;
	}
	#conteudoCentral .mobile .usuarios-card p b{
		font-family: var(--fonte-merri);
		color: var(--cor-azul);
	}
	#conteudoCentral .mobile .usuarios-card a {
		color: var(--cor-azul);
		text-decoration: underline !important;
		font-weight: 800;
	}
	#conteudoCentral .mobile .usuarios-card img{
		width: 80px;
		height: 80px;
		border-radius: 100%;
		object-fit: cover;
	}





	.foto-perfil-area img,
	.foto-perfil-area .usuario-foto-sem-imagem{
		width: 100px;
		height: 100px;
		border-radius: 100%;
		background: linear-gradient(296deg, rgba(15, 57, 78, 1) 0%, rgba(23, 91, 128, 1) 100%);
		color: var(--cor-branco);
		display: flex;
		align-items: center;
		justify-content: center;
		font-family: var(--fonte-lato);
		margin-bottom: 20px;
		font-size: 40px;
	    object-fit: cover;
	}

	.blokinho{
		display: flex;
		align-items: center;
		justify-content: flex-start;
		flex-wrap: wrap;
		gap: 20px;
	    padding-top: 22px;
	}







    #conteudoCentral{
        background-color: var(--cor-beje);
		max-height: 100vh;
		overflow: auto;
    }



	form .blocoBranco .input{
		width: 100%;
		margin-bottom: 15px;
	}




.alerta {
    padding: 14px 18px;
    border-radius: 8px;
    font-size: 14px;
}

.alerta-sucesso {
    background: #e8f7ee;
    border: 1px solid #b7e4c7;
    color: #236b3a;
}

.alerta-erro {
    background: #fdecec;
    border: 1px solid #f3b8b8;
    color: #9b3030;
}
.alerta-atencao {
    background: #fff3e9;
    border: 1px solid #ff7400;
    color: #ff7400;
}

.btnsAbas .blocoBranco{
	padding: 0px!important;
}
.btnsAbas .blocoBranco a{
	min-height: 55px;
	display: flex;
	width: 100%;
	justify-content: center;
	align-items: center;
	color: var(--cor-preto);
	transition: ease .5s all;
    border-radius: 10px;
	gap: 20px;
}
.btnsAbas .blocoBranco a:hover,
.btnsAbas .blocoBranco .ativo{
	background-color: var(--cor-azul);
	color: var(--cor-branco);
}

.btnsAbas .blocoBranco a img{
    width: 30px;
}
.btnsAbas .blocoBranco a:hover img,
.btnsAbas .blocoBranco .ativo img{
	filter: grayscale(1) invert(1);
}



	
/***************************************************************************
        Responsidade
***************************************************************************/

	@media (max-width: 1300px){
		#conteudoCentral .bemVindo{
			padding-bottom: 250px;
		}
	}

	@media (max-width: 1155px){}

	@media (max-width: 991px){
		.desktop{
			display: none !important;
		}
		.mobile{
			display: block !important;
		}
		.blocoNovo .input{
			width: 100%;
		}

		#menuLateral{
			position: fixed;
			top: 0;
			width: 320px;
			z-index: 10;
			height: 100%;
			right: -100%;
			transition: ease .5s all;
		    overflow: auto;
		}
		#fundoPreto{
			position: fixed;
			top: 0;
			right: -100%;
			width: 100%;
			height: 100%;
			background: #00000094;
			transition: ease .5s all;
			z-index: 9;
		}
		#fundoPreto.ativo,
		#menuLateral.ativo{
			right: 0;
		}

		#btnMobile{
			position: absolute;
			top: 19px;
			right: 10px;
			z-index: 11;
		}
		#btnMobile .faixa{
			background: var(--cor-azul);
			width: 35px;
			height: 4px;
			display: block;
			margin: 7px;
			transition: ease all .5s;
		}
		#btnMobile.ativo .top{
			background: var(--cor-branco);
		    transform: rotate(45deg);
		}
		#btnMobile.ativo .middle{
			opacity: 0;
		}
		#btnMobile.ativo .bottom{
			background: var(--cor-branco);
			transform: rotate(-45deg);
			margin-top: -22px;
		}
	
		#menuLateral .logo {
			width: 120px;
			margin-bottom: 25px;
		}
		.areaUsuario.mobile{
			display: flex !important;
			margin-bottom: 30px;
			gap: 10px;
			justify-content: flex-start;
			width: 100%;
		}
		.areaUsuario img,
		.areaUsuario .usuario-foto-sem-imagem{
			width: 60px;
			height: 60px;
			border-radius: 100%;
			background-color: var(--cor-branco);
			color: var(--cor-branco);
			display: flex;
			align-items: center;
			justify-content: center;
			font-family: var(--fonte-lato);
			object-fit: cover;
			border: solid 2px var(--cor-branco);
		}
		.areaUsuario p{
			margin: 0;
			color: var(--cor-branco);
			font-size: 15px;
			font-style: italic;
			text-align: left;
		}
		.areaUsuario p b{
			font-weight: 700;
			font-style: normal;
			font-size: 18px;
		}
	}

	@media (max-width: 767px){}

	@media (max-width: 550px){}

	@media (max-width: 454px){}