:root{
    --rosa: rgba(255, 51, 102, 1);
    --rosa-escuro: rgba(204, 41, 82, 1);
    --rosa-transparente: rgba(255, 55, 102, 0.5);
	--roxo:rgb(52,38,73);
	--roxo-disabled:rgb(52,38,73);
	--roxo-hover:rgb(42,28,63);
	--roxo-active:rgb(37,23,58);
	--roxo-degrade:rgb(35,24,51);
	--roxo-focus-shadow:rgba(52,38,73,.5);
	/*--cor-escola-c:#999;*/
	/*--cor-escola-d:#999;*/
	--link:blue;
}










/**************************************
*                                     *
*     LOGO ANIMADO SVG DA ENTRADA     *
*                                     *
**************************************/
.logosvg >svg{
	height:60px!important;
	width:auto!important;
}
.logosvg path.s0, .logosvg path.s1 {
	stroke-width: 2;
	stroke-dasharray: 2000;
	stroke-dashoffset: 2000;
	fill-opacity: 0;
	animation-fill-mode: forwards;
	animation-timing-function: ease;
	animation-name: draw, fillIn;
	animation-duration: 10s, 1s;
	animation-delay: 0s, 2.0s;
}
.logosvg path.s0 {
	stroke:#ffffff;
}
.logosvg path.s1 {
	stroke: #ff0065;
}
@keyframes draw {
	to {
		stroke-dashoffset: 0;
	}
}
@keyframes fillIn {
	to {
		fill-opacity: 1;
		stroke-opacity: 0;
	}
}










/*******************************
*                              *
*     CONFIGURAÇÕES GERAIS     *
*                              *
*******************************/
body{
	font-family: 'Poppins', sans-serif;
	-moz-osx-font-smoothing: grayscale;
	-webkit-font-smoothing: antialiased;
	-moz-font-smoothing: antialiased;
	/*color: #1d253b;*/
	background:var(--cor-escola-c);
	background-image:linear-gradient(90deg, var(--cor-escola-c) 0%, var(--cor-escola-d) 100%);
	color:#eee;
	font-size: 12px;
    line-height: 20px;
    /*transition:.3s;*/
    padding:0!important;
	overflow-y: scroll !important;
}
a{
	font-weight: 500;
	text-decoration:none;
	cursor: pointer;
	color:var(--link);
}
a:hover,
a:active,
a:focus{
	opacity: 1;
}
.alert-info,
.alert-success,
.alert-warning{
    border: none;
    padding: 16px 24px;
}
.alert-info{
	color: #006299;
    background-color: #ccedff;
}
.alert-success{
    color: #205237;
    background-color: #dcf5e7;
}
.card{
	border: none;
	border-radius: 8px;
	padding: 24px;
}
.card-body{
	padding: 0;
}










/*******************************
*                              *
*     FORMULÁRIOS E CAMPOS     *
*                              *
*******************************/
form,
.form-control,
.form-select,
.form-label,
button{
	transition:.5s;
}
form:not(.desativado) .sobre{
	display:none;
}
form.desativado{
	pointer-events:none;
	position:relative;
	-webkit-user-select: none;
	user-select: none;
}
form.desativado *:not(.sobre){
	opacity:.5;
}
form.desativado .sobre{
	transition:.5s;
	opacity:0;
	position:absolute;
	top:-16px;
	bottom:-16px;
	left:-8px;
	right:-8px;
	background:rgba(0,0,0,0.8);
	color:#fff;
	display:flex;
	align-items: center;
	justify-content: center;
	border-radius:7px;
}
.form-control-lg, .btn-lg {
    font-size: 16px;
}
.form-control,
.form-select{
	box-shadow: 0 0 0 0 rgba(0,0,0,0);
    width: 100%;
    padding: 10px 12px;
    font-size: 14px;
    line-height: 22px;
    border-radius: 4px;
    -moz-border-radius: 4px;
    -webkit-border-radius: 4px;
    display: block;
    color: #181c32;
    background-color: #f4f6f8;
    border: none;
    appearance: none; 
}
.form-control:disabled,
.form-control.disabled,
.form-select:disabled,
.form-select.disabled{
    background-color: #eee;
    color: #1d253b;
    opacity: .5;
    border: none;
}
.form-label{
    font-size: 12px;
    line-height: 17px;
    font-weight: 500;
    margin-bottom: 8px;
    color: #1d253b;
}
.form-control:active,
.form-control:focus,
.form-select:active,
.form-select:focus{
	box-shadow: 0px 0px 0px 4px color-mix(in srgb,var(--cor-escola-a)50%,transparent);
}
.input-group-text{
	background-color:#f4f6f8;
	border-width:0 2px 0 0;
	/*border-color:red;*/
}
.form-control.is-invalid,
.form-select.is-invalid{
	outline:1px solid var(--bs-form-invalid-border-color);
}
input[type=checkbox]{
	display:none;
}
input[type=checkbox] + label {
	margin: auto;
	-webkit-user-select: none;
	user-select: none;
	cursor: pointer;
	min-height:24px;
	display:flex;
}
input[type=checkbox] + label > span {
	display: inline-block;
	vertical-align: middle;
	transform: translate3d(0, 0, 0);
}
input[type=checkbox] + label > span:first-child {
	position: relative;
	width: 18px;
	height: 18px;
	min-width:18px;
	border-radius: 3px;
	transform: scale(1);
	vertical-align: middle;
	border:1px solid #000;
	transition: all 0.2s ease;
	margin-top:2px;
}
input[type=checkbox] + label > span:first-child svg {
	position: absolute;
	top: 3px;
	left: 2px;
	fill: none;
	stroke:#fff;
	stroke-width: 2;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-dasharray: 16px;
	stroke-dashoffset: 16px;
	transition: all 0.3s ease;
	transition-delay: 0.1s;
	transform: translate3d(0, 0, 0);
}
input[type=checkbox] + label > span:first-child svg *{
	transition: .2s;
}
input[type=checkbox] + label > span:first-child:before {
	content: "";
	width: 100%;
	height: 100%;
	background:#000;
	display: block;
	transform: scale(0);
	opacity: 1;
	border-radius: 50%;
}
input[type=checkbox] + label > span:last-child {
	padding-left: 8px;
}
input[type=checkbox] + label:hover > span:first-child {
	border-color:#000;
}
input[type=checkbox]:checked + label > span:first-child {
	background:#000;
	border-color:#000;
	animation: wave 0.4s ease;
}
input[type=checkbox]:checked + label > span:first-child svg {
	stroke-dashoffset: 0;
}
input[type=checkbox]:checked + label > span:first-child:before {
	transform: scale(3.5);
	opacity: 0;
	transition: all 0.6s ease;
}
@keyframes wave {
	50%{transform: scale(0.9);}
}










/*****************
*                *
*     BOTÕES     *
*                *
*****************/
/*
.btn-primary{
	background-color: #222;
	border: none;
	font-size: 14px;
	padding: 10px 16px;
	border-radius: 8px;
}
.btn-primary:hover{
	background-color: #000;
}
.btn-primary:active{
	background-color:#101010!important;
	border-bottom-color:#101010!important;
	border-left-color:#101010!important;
	border-right-color: #101010!important;
	border-top-color: #101010!important;
}
.btn-primary:disabled,
.btn-primary.disabled{
	background-color:#222;
	border-bottom-color:#222;
	border-left-color:#222;
	border-right-color: #222;
	border-top-color: #222;
}
.btn-primary:focus-visible{
	background-color:#1a1a1a;
	border-bottom-color:#1a1a1a;
	border-left-color:#1a1a1a;
	border-right-color: #1a1a1a;
	border-top-color: #1a1a1a;
	box-shadow:00 0 0 0.25rem #22222250;
}
*/
.btn-primary{
	background-color:var(--cor-escola-a);
	border: none;
    color: #fff;
    padding: 10px 24px;
    border-radius: 6px;
    text-decoration: none;
    font-size: 12px;
    line-height: 12px;
    font-weight: 500;
}

.btn-primary i{
	font-size: 12px;
	margin-right: 8px;
}

.btn-primary:active,
.btn-primary:focus,	
.btn-primary:focus-visible,	
.btn-primary:hover{
	background-color: var(--cor-escola-b) !important;
}
.btn-primary:active,
.btn-primary:focus-visible,
.btn-primary:focus{
	box-shadow: 0px 0px 0px 4px color-mix(in srgb,var(--cor-escola-a)50%,transparent);
}
.btn-primary.disabled,
.btn-primary:disabled{
	background-color:var(--rosa-transparente);
	border-color:var(--rosa-transparente);
}
.btn-outline-primary{
	border-color:var(--cor-escola-a);
	color:var(--cor-escola-a);
	padding:8px 24px;
	border-radius:6px;
	text-decoration:none;
	font-size:12px;
	line-height:12px;
	font-weight:500;
}
.btn-outline-primary i{
	font-size:12px;
	margin-right:8px;
}
.btn-outline-primary:active,
.btn-outline-primary:focus{
	box-shadow: 0px 0px 0px 4px color-mix(in srgb,var(--cor-escola-a)50%,transparent);
}
.btn-outline-primary:active,
.btn-outline-primary:focus,
.btn-outline-primary:hover{
	background-color:var(--cor-escola-a)!important;
	border-color:var(--cor-escola-a)!important;
	color:#fff!important;
}
.btn-outline-primary.disabled,
.btn-outline-primary:disabled{
	background-color:color-mix(in srgb,var(--cor-escola-a)10%,transparent);
	border-color:color-mix(in srgb,var(--cor-escola-a)50%,transparent);
	color:color-mix(in srgb,var(--cor-escola-a)50%,transparent);
}
.btn-secondary{
	border:none;
	padding:10px 24px;
    border-radius: 6px;
    text-decoration: none;
    font-size: 12px;
    line-height: 12px;
    font-weight: 500;
}
.btn-secondary:active,
.btn-secondary:focus{
	box-shadow: 0px 0px 0px 4px color-mix(in srgb,rgba(50,50,50,.5),transparent);
}
.btn-secondary i{
	font-size: 12px;
	margin-right: 8px;
}










/*****************
*                *
*     POPUPS     *
*                *
*****************/
.modal{
	padding-right:0!important;
}
.modal .btn-close{
	position:absolute;
	right:0;
	top:0;
	z-index:999;
	background-color:#fff;
	border:1px solid rgba(0, 0, 0, 0.75);
	border-bottom-width: 0;
	border-left-width:0;
	border-radius:100%;
	opacity:1;
	transform: translate(33%,-33%);
	padding:10px;
	font-size:12px;
}










/*******************************
*                              *
*     LOGIN     *
*                              *
*******************************/
#login #unidades label {
	opacity: 0.5;
	transition: opacity 0.2s ease;
	cursor: pointer;
	transition:.3s!important;
	overflow:hidden;
}
#login #unidades input[type="radio"]:checked + label {
	opacity: 1;
}
#login #unidades input[type="radio"]:not(:checked) + label:hover {
	opacity: 0.75;
}
#login #unidades input[type="radio"].d-none{
	position: absolute;
	left: -9999px;
	opacity: 0;
	display:inline!important;
}















/*******************************
*                              *
*     CONFIGURAÇÕES GERAIS     *
*                              *
*******************************/

/* FORMA DE PAGAMENTO */
/*
.forma_label{
	position:relative;
	cursor:pointer;
	transition:.2s;
	border: none;
	padding: 0;
}
.forma_label:hover{
    background: rgb(52, 38, 73);
    background: linear-gradient(90deg, rgba(52, 38, 73, 1) 0%, rgba(35, 24, 51, 1) 100%);
}
.forma_detalhes{
	border-radius:6px;
	padding: 24px 24px;
	display:flex;
	flex-direction: row;
	align-items: baseline;
	align-items:center;
	transition:.3s;
	background-color: #f2f4f7;
}
.forma_detalhes:hover{
	background-color: #e4e6ef;
}

.forma_label input{
	position:absolute;
	right:1rem;
	top:1rem;
	display:none;
}
.forma_label input:checked ~ .forma_detalhes{
	background-color: #222;
	color:#fff;
}
.forma_icone{
	font-size:2rem;
}
.forma_nome{
	margin-left: 8px;
	font-size: 12px;
    line-height: 16px;
    font-weight: 500;
}
.grid{
	display: grid;
	grid-gap:1rem;
	padding:0;
	margin:0;
}
@media(min-width:390px){
	.grid{
		grid-template-columns:repeat(2, 1fr);
	}
}
@media(min-width:560px){
	.grid{
		grid-template-columns:repeat(3,1fr);
	}
}











/*

.login__rodape a{
	color: #fff;
	opacity: .6;
	font-weight: 500;
	text-decoration:none;
	cursor: pointer;
}

.login__rodape a:hover,
.login__rodape a:active,
.login__rodape a:focus{
	opacity: 1;
}

.login__rodape {
    font-size: 12px;
    line-height: 17px;
    color: #fff;
}
.margem_direita{
	margin-right: 5px;
}


*/











