.captcha-input:disabled {
	opacity: 0.6;
	cursor: not-allowed !important;
	filter: grayscale(50%) brightness(90%);
}

.captcha-wrapper {
	 box-sizing: border-box;
	 min-height: 50px;
	 display: flex;
	 align-items: center;
	 position: relative;
}
 @media screen and (max-width: 599px) {
	 .captcha-wrapper {
		 width: 100%;
	}
}
 .captcha-wrapper .child {
	 position: absolute;
	 top: 0;
	 left: 0;
	 right: 0;
	 bottom: 0;
	 transition: opacity 1s ease;
	 opacity: 0;
	 pointer-events: none;
	 z-index: 1;
}
 .captcha-wrapper .child.active {
	 opacity: 1;
	 pointer-events: auto;
	 z-index: 2;
}
 .captcha-wrapper .captcha-progress-wrapper {
	 display: flex;
	 flex-direction: column;
	 align-items: start;
	 width: 100%;
}
 .captcha-wrapper .captcha-progress-wrapper .captcha-progress {
	 width: 100%;
	 position: relative;
	 background-color: #e0e0e0;
	 border-radius: 3px;
	 box-shadow: inset 0 1px 3px rgba(0,0,0,0.2);
}
.captcha-wrapper .captcha-progress-wrapper .captcha-progress .captcha-progress-fill {
	display: block;
	height: 22px;
	background-color: #659cef;
	border-radius: 3px;
	transition: width 500ms ease-in-out;
	max-width: calc(100% - 6px);
	margin: 3px;
}
 .captcha-wrapper .captcha-progress-wrapper .captcha-progress .captcha-progress-text {
	 position: absolute;
	 top: 50%;
	 left: 50%;
	 transform: translate(-50%,-50%);
}
 .captcha-wrapper .captcha-success-wrapper {
	 align-items: center;
	 display: flex;
	 gap: 10px;
}
 .captcha-wrapper .captcha-success-wrapper .captcha-success-mark {
	 padding: 5px;
	 background: #74b22b;
	 color: white;
	 width: 36px;
	 height: 36px;
	 font-size: 1.3rem;
	 display: flex;
	 justify-content: center;
	 align-items: center;
	 border-radius: 100%;
	 box-shadow: 1px 1px 4px green;
}

.captcha-wrapper .captcha-success-wrapper .captcha-success-label {
	width: 100%
}