.item{position:relative;}

/* Tooltips helpers */
.item .tooltip{ float:left; top:2px; left:7px; position:relative; z-index:2; }
.item .tooltip:hover{ z-index:3; }
   .item .tooltip > span{ display:inline-block; width:15px; height:15px; line-height:15px; font-size:0.9em; font-weight:bold; text-align:center; color:#FFF; cursor:help; background-color:#00AEEF; position:relative; border-radius:10px; }
    .item .tooltip .content{ opacity:0; width:200px; background-color:#333; color:#FFF; font-size:0.9em; position:absolute; top:0; left:20px; padding:8px; border-radius:6px; pointer-events:none; transition:0.2s cubic-bezier(0.1, 0.1, 0.25, 2); -webkit-transition:0.3s cubic-bezier(0.1, 0.2, 0.5, 2.2); -moz-transition:0.3s cubic-bezier(0.1, 0.2, 0.5, 2.2); }
        .item .tooltip p{ padding:0; }
   .item .tooltip.down .content{ left:auto; right:0; top:30px; }
   .item .tooltip:hover .content{ opacity:1; left:36px; }
      .item .tooltip .content b{ height:0; width:0; border-color:#333 #333 transparent transparent; border-style:solid; border-width:9px 7px; position:absolute; left:-14px; top:8px; }
        .item .tooltip.down .content b{ left:auto; right:6px; top:-10px; border-width:5px; border-color:transparent #333 #333 transparent; }

/* alerts (when validation fails) */
.item .alert{ position:absolute; margin:0 0 0 20px; padding:3px 10px; color:#FFF; border-radius:3px 4px 4px 3px; background-color:#CE5454; max-width:170px; white-space:pre; position:relative; right:15px; opacity:0; z-index:1; transition:0.15s ease-out;  top:3px;}
.item .alert::after{ content:''; display:block; height:0; width:0; border-color:transparent #CE5454 transparent transparent; border-style:solid; border-width:15px 7px; position:absolute; left:-14px; top:0px; }
.item.bad .alert{ right:45px; opacity:1;  position:absolute; top:37px;}
.item.anh-form .alert{top:29px; right:15px;}
.item.ap-now-input .alert{top:2px; right:15px;}


@keyframes shake{
    15%{ transform:translateX(-5px); }
    30%{ transform:translateX(5px); }
	45%{ transform:translateX(-3px); }
	60%{ transform:translateX(3px); }
	75%{ transform:translateX(2px); }
	100%{ transform:none; }
}
@-webkit-keyframes shake{
    25%{ -webkit-transform:translateX(-6px); }
    75%{ -webkit-transform:translateX(6px); }
}



	
	.item.bad input, 
	.item.bad select, 
	.item.bad textarea{ border:1px solid #CE5454 !important; box-shadow:0 0 4px -2px #CE5454; position:relative; left:0; -moz-animation:.7s 1 shake linear; -webkit-animation:0.7s 1 shake linear; }
    
	.item.bad .alert{  -moz-animation:.7s 1 shake linear; -webkit-animation:0.7s 1 shake linear; }
    
	
