.captchaBox *{margin:0;padding:0;color:#333;font-size:14px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}
.captchaBox{margin:0 auto;background:#fff;border:1px solid #dfdfdf;-webkit-border-radius:3px;border-radius:3px;padding-bottom:10px;}
.captchaBox img{vertical-align: text-bottom;;}
.refresh{padding:10px;border-bottom:1px solid #dfdfdf}
.puzzleBox{margin:10px;position:relative;}
.ver-tips{position:absolute;left:0;bottom:0;background: rgba(0,0,0,.4);height:30px;line-height:30px;font-size:12px;width:100%;margin:0;text-align:center;padding:0 8px;color:#bb0307;display:none;z-index:999}
.errorShake { border:1px solid #e4393c;animation: shake 800ms ease-in-out; }
.successShake { border:1px solid #57c05d;animation: shake 800ms ease-in-out; }
/*普通验证码和点击文字验证码*/
.inputCode{width:100%;padding:0 10px;overflow:hidden}
.inputCode input,.inputCode .text{width:80%;height:40px;line-height:40px;border:1px solid #ccc;outline: 0;padding-left:10px;float:left}
.inputCode button{width:20%;height:40px;border:none;cursor:pointer;background-color:#1e9fff;color:#fff;float:left}
/*滑块验证码*/
.sliderBox span{position:absolute;z-index:99;left:0;width:50px;height:50px;}
.slider{width:300px;height:40px;line-height:40px;background-color:#e8e8e8;position:relative;margin:0 auto}
.slider .bg{width:50px;height:100%;position:absolute;background-color:#75cdf9}
.slider .tips{position:absolute;width:100%;height:100%;text-align:center;user-select:none;background-image:linear-gradient(to right,black,black, white,black,black, white,black);-webkit-text-fill-color: transparent;-webkit-background-clip: text;-webkit-background-size: 200% 100%;animation: bgp 3s infinite linear;}
@-webkit-keyframes bgp { 0% { background-position: 0 0; } 100% { background-position: -100% 0; } }
.slider .btn{width:50px;height:40px;position:absolute;border:1px solid #ccc;cursor:pointer;font-family:"宋体";text-align:center;background-color:#fff;user-select:none;color:#666;font-weight:bold;}
/*旋转图形验证码*/
.rotateBox{width: 290px;height: 200px;margin:10px 15px;text-align: center;position: relative;border: 1px solid #ccc;overflow:hidden}
.rotateBox img{width:200px;height:200px;padding:10px;transition: fill .2s ease-in-out;}
.rv-control{width:290px;height:40px;line-height:40px;background-color: #f7f7f7;position:relative;margin:0 auto;border-radius: 50px;border: 1px solid #ddd;}
.rv-control .tips{position:absolute;width:100%;height:100%;text-align:center;user-select:none;}
.rv-control .btn{width: 40px;height:40px;position:absolute;top: -1px;left: -1px;border: 1px solid #ddd;cursor:pointer;font-family:"宋体";text-align:center;background-color:#fff;border-radius: 50px;font-weight:bold;user-select:none;}
.rv-control .rv-slider{background: #38f;border-color: #38f;box-shadow: 0 7px 18px -5px #38f;color:#fff;}
/*点击文字验证码*/
.clickTextBox .radio{background-color: #1abd6c;width: 30px;height: 30px;text-align: center;border-radius: 50%;position: absolute;z-index: 10;line-height: 30px;color:#fff;}
/* 抖动动画需：“对称”实现 */
@keyframes shake {
    10%, 90% { transform: translate3d(-1px, 0, 0); }
    20%, 80% { transform: translate3d(+2px, 0, 0); }
    30%, 70% { transform: translate3d(-4px, 0, 0); }
    40%, 60% { transform: translate3d(+4px, 0, 0); }
    50% { transform: translate3d(-4px, 0, 0); }
}
