@keyframes preload {
	0% { opacity: 1; }
	50% { opacity: 0.5; }
	100% { opacity: 0; }
}

.preload {
	-webkit-animation: preload .90s linear infinite;
	-moz-animation: preload .90s linear infinite;
	-ms-animation: preload .90s linear infinite;
	-o-animation: preload .90s linear infinite;
	animation: preload .80s linear infinite;
}

#carregando.modal,
#carregando2.modal {
	padding: 16px !important;
}

#carregando .modal-dialog,
#carregando2 .modal-dialog {
	position: fixed;
	top: 50%;
	left: 50%;
	width: calc(100% - 24px);
	max-width: 306px;
	margin: 0;
	transform: translate(-50%, -50%);
}

#carregando .modal-content,
#carregando2 .modal-content {
	border: 0;
	border-radius: 14px;
	overflow: hidden;
	background: linear-gradient(180deg, #ffffff 0%, #f6faf6 100%);
	box-shadow: 0 20px 48px rgba(28, 82, 44, 0.20);
}

#carregando .modal-body,
#carregando2 .modal-body {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 10px;
	padding: 27px 20px 24px;
	min-height: 187px;
	text-align: center;
}

#carregando .loading-modal-content,
#carregando2 .loading-modal-content {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	width: 100%;
	gap: 10px;
}

#carregando .loading-modal-visual,
#carregando2 .loading-modal-visual {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 102px;
	height: 102px;
}

#carregando .loading-modal-orbit,
#carregando2 .loading-modal-orbit {
	position: absolute;
	inset: -27px;
	z-index: 0;
	animation: loading-modal-orbit-spin 4.4s linear infinite;
}

#carregando .loading-modal-orbit span,
#carregando2 .loading-modal-orbit span {
	position: absolute;
	left: 50%;
	top: 50%;
	width: 4px;
	height: 4px;
	margin: -2px 0 0 -2px;
	border-radius: 50%;
	background: rgba(218, 222, 228, 0.98);
	box-shadow: 0 0 0 2px rgba(218, 222, 228, 0.08);
	transform-origin: center center;
	animation: loading-modal-dot-fade 1.2s ease-in-out infinite;
}

#carregando .loading-modal-orbit span:nth-child(1),
#carregando2 .loading-modal-orbit span:nth-child(1) { width: 8px; height: 8px; margin: -4px 0 0 -4px; transform: rotate(0deg) translateY(-54px); animation-delay: 0s; }
#carregando .loading-modal-orbit span:nth-child(2),
#carregando2 .loading-modal-orbit span:nth-child(2) { width: 7.5px; height: 7.5px; margin: -3.75px 0 0 -3.75px; transform: rotate(30deg) translateY(-54px); animation-delay: 0.1s; }
#carregando .loading-modal-orbit span:nth-child(3),
#carregando2 .loading-modal-orbit span:nth-child(3) { width: 7px; height: 7px; margin: -3.5px 0 0 -3.5px; transform: rotate(60deg) translateY(-54px); animation-delay: 0.2s; }
#carregando .loading-modal-orbit span:nth-child(4),
#carregando2 .loading-modal-orbit span:nth-child(4) { width: 6.5px; height: 6.5px; margin: -3.25px 0 0 -3.25px; transform: rotate(90deg) translateY(-54px); animation-delay: 0.3s; }
#carregando .loading-modal-orbit span:nth-child(5),
#carregando2 .loading-modal-orbit span:nth-child(5) { width: 6px; height: 6px; margin: -3px 0 0 -3px; transform: rotate(120deg) translateY(-54px); animation-delay: 0.4s; }
#carregando .loading-modal-orbit span:nth-child(6),
#carregando2 .loading-modal-orbit span:nth-child(6) { width: 5.5px; height: 5.5px; margin: -2.75px 0 0 -2.75px; transform: rotate(150deg) translateY(-54px); animation-delay: 0.5s; }
#carregando .loading-modal-orbit span:nth-child(7),
#carregando2 .loading-modal-orbit span:nth-child(7) { width: 5px; height: 5px; margin: -2.5px 0 0 -2.5px; transform: rotate(180deg) translateY(-54px); animation-delay: 0.6s; }
#carregando .loading-modal-orbit span:nth-child(8),
#carregando2 .loading-modal-orbit span:nth-child(8) { width: 4.5px; height: 4.5px; margin: -2.25px 0 0 -2.25px; transform: rotate(210deg) translateY(-54px); animation-delay: 0.7s; }
#carregando .loading-modal-orbit span:nth-child(9),
#carregando2 .loading-modal-orbit span:nth-child(9) { width: 4px; height: 4px; margin: -2px 0 0 -2px; transform: rotate(240deg) translateY(-54px); animation-delay: 0.8s; }
#carregando .loading-modal-orbit span:nth-child(10),
#carregando2 .loading-modal-orbit span:nth-child(10) { width: 3.5px; height: 3.5px; margin: -1.75px 0 0 -1.75px; transform: rotate(270deg) translateY(-54px); animation-delay: 0.9s; }
#carregando .loading-modal-orbit span:nth-child(11),
#carregando2 .loading-modal-orbit span:nth-child(11) { width: 3px; height: 3px; margin: -1.5px 0 0 -1.5px; transform: rotate(300deg) translateY(-54px); animation-delay: 1.0s; }
#carregando .loading-modal-orbit span:nth-child(12),
#carregando2 .loading-modal-orbit span:nth-child(12) { width: 2.5px; height: 2.5px; margin: -1.25px 0 0 -1.25px; transform: rotate(330deg) translateY(-54px); animation-delay: 1.1s; }

#carregando .loading-modal-visual::before,
#carregando2 .loading-modal-visual::before {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(65, 150, 65, 0.18) 0%, rgba(65, 150, 65, 0.06) 55%, rgba(65, 150, 65, 0) 72%);
	border: 1px solid rgba(65, 150, 65, 0.14);
	box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.75);
	animation: loading-modal-pulse 1.8s ease-in-out infinite;
}

#carregando .loading-modal-gif,
#carregando2 .loading-modal-gif {
	position: relative;
	z-index: 1;
	display: block;
}

#carregando .loading-modal-text,
#carregando2 .loading-modal-text {
	display: block;
	font-size: 1.12rem;
	letter-spacing: 0.01em;
	margin-top: 8px;
}

#carregando .loading-modal-caption,
#carregando2 .loading-modal-caption {
	display: block;
	max-width: 240px;
	color: #6f7b72;
	font-size: 0.94rem;
	line-height: 1.4;
	margin-top: 2px;
}

@keyframes loading-modal-orbit-spin {
	from {
		transform: rotate(0deg);
	}

	to {
		transform: rotate(360deg);
	}
}

@keyframes loading-modal-dot-fade {
	0% { opacity: 0.28; }
	50% { opacity: 1; }
	100% { opacity: 0.28; }
}

@keyframes loading-modal-pulse {
	0% {
		transform: scale(0.98);
		opacity: 0.72;
	}

	50% {
		transform: scale(1.03);
		opacity: 1;
	}

	100% {
		transform: scale(0.98);
		opacity: 0.72;
	}
}

@media (max-width: 480px) {
	#carregando.modal,
	#carregando2.modal {
		padding: 12px !important;
	}

	#carregando .modal-dialog,
	#carregando2 .modal-dialog {
		width: calc(100% - 24px);
	}

	#carregando .modal-body,
	#carregando2 .modal-body {
		min-height: 170px;
		padding: 24px 16px 20px;
	}

	#carregando .loading-modal-visual,
	#carregando2 .loading-modal-visual {
		width: 88px;
		height: 88px;
	}

	#carregando .loading-modal-orbit,
	#carregando2 .loading-modal-orbit {
		inset: -20px;
		animation-duration: 4.4s;
	}

	#carregando .loading-modal-orbit span,
	#carregando2 .loading-modal-orbit span {
		width: 3px;
		height: 3px;
		margin: -1.5px 0 0 -1.5px;
	}

	#carregando .loading-modal-orbit span:nth-child(1),
	#carregando2 .loading-modal-orbit span:nth-child(1) { width: 7px; height: 7px; margin: -3.5px 0 0 -3.5px; transform: rotate(0deg) translateY(-42px); }
	#carregando .loading-modal-orbit span:nth-child(2),
	#carregando2 .loading-modal-orbit span:nth-child(2) { width: 6.5px; height: 6.5px; margin: -3.25px 0 0 -3.25px; transform: rotate(30deg) translateY(-42px); }
	#carregando .loading-modal-orbit span:nth-child(3),
	#carregando2 .loading-modal-orbit span:nth-child(3) { width: 6px; height: 6px; margin: -3px 0 0 -3px; transform: rotate(60deg) translateY(-42px); }
	#carregando .loading-modal-orbit span:nth-child(4),
	#carregando2 .loading-modal-orbit span:nth-child(4) { width: 5.5px; height: 5.5px; margin: -2.75px 0 0 -2.75px; transform: rotate(90deg) translateY(-42px); }
	#carregando .loading-modal-orbit span:nth-child(5),
	#carregando2 .loading-modal-orbit span:nth-child(5) { width: 5px; height: 5px; margin: -2.5px 0 0 -2.5px; transform: rotate(120deg) translateY(-42px); }
	#carregando .loading-modal-orbit span:nth-child(6),
	#carregando2 .loading-modal-orbit span:nth-child(6) { width: 4.5px; height: 4.5px; margin: -2.25px 0 0 -2.25px; transform: rotate(150deg) translateY(-42px); }
	#carregando .loading-modal-orbit span:nth-child(7),
	#carregando2 .loading-modal-orbit span:nth-child(7) { width: 4px; height: 4px; margin: -2px 0 0 -2px; transform: rotate(180deg) translateY(-42px); }
	#carregando .loading-modal-orbit span:nth-child(8),
	#carregando2 .loading-modal-orbit span:nth-child(8) { width: 3.5px; height: 3.5px; margin: -1.75px 0 0 -1.75px; transform: rotate(210deg) translateY(-42px); }
	#carregando .loading-modal-orbit span:nth-child(9),
	#carregando2 .loading-modal-orbit span:nth-child(9) { width: 3px; height: 3px; margin: -1.5px 0 0 -1.5px; transform: rotate(240deg) translateY(-42px); }
	#carregando .loading-modal-orbit span:nth-child(10),
	#carregando2 .loading-modal-orbit span:nth-child(10) { width: 2.5px; height: 2.5px; margin: -1.25px 0 0 -1.25px; transform: rotate(270deg) translateY(-42px); }
	#carregando .loading-modal-orbit span:nth-child(11),
	#carregando2 .loading-modal-orbit span:nth-child(11) { width: 2.5px; height: 2.5px; margin: -1.25px 0 0 -1.25px; transform: rotate(300deg) translateY(-42px); }
	#carregando .loading-modal-orbit span:nth-child(12),
	#carregando2 .loading-modal-orbit span:nth-child(12) { width: 2px; height: 2px; margin: -1px 0 0 -1px; transform: rotate(330deg) translateY(-42px); }

	#carregando .loading-modal-text,
	#carregando2 .loading-modal-text {
		font-size: 1.08rem;
		margin-top: 10px;
	}

	#carregando .loading-modal-caption,
	#carregando2 .loading-modal-caption {
		font-size: 0.9rem;
		margin-top: 3px;
	}
}
