

/* Tooltips helpers */
.itemvalidate .tooltip{ float:left; top:2px; left:7px; position:relative; z-index:2; }
.itemvalidate .tooltip:hover{ z-index:3; }
   .itemvalidate .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; }
    .itemvalidate .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); }
        .itemvalidate .tooltip p{ padding:0; }
   .itemvalidate .tooltip.down .content{ left:auto; right:0; top:30px; }
   .itemvalidate .tooltip:hover .content{ opacity:1; left:36px; }
      .itemvalidate .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; }
        .itemvalidate .tooltip.down .content b{ left:auto; right:6px; top:-10px; border-width:5px; border-color:transparent #333 #333 transparent; }

/* alerts (when validation fails) */
.itemvalidate .alert{ float:left; margin:0 0 0 20px; padding:3px 10px; color:#FFF; border-radius:3px 4px 4px 3px; background-color:#3d94dd; max-width:170px; white-space:pre; position:absolute; left:-15px; opacity:0; z-index:1; }
.itemvalidate .alert::after{ content:''; display:block; height:0; width:0; border-color:transparent #CE5454 transparent transparent; border-style:solid; border-width:11px 7px; position:absolute; left:-13px; top:1px; }
.itemvalidate.bad .alert{ left:100%; opacity:1; position:relative; margin-top:-40px; }


@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); }
}

form fieldset{ clear:both; margin:0 0 10px 0; }
form .itemvalidate{ position:relative; }
form .itemvalidate.itemvalidates{ height:auto; }
	.itemvalidate label, .itemvalidate .label{ cursor:pointer; }
		.itemvalidate label span, .itemvalidate .label{ float:left; text-transform:capitalize; line-height:2em; }
	.itemvalidate input, .itemvalidate textarea{ /*float:left;*/ -webkit-transition:0.2s; -moz-transition:0.2s; transition:0.2s; }
	.itemvalidate input[type=checkbox]{ width:auto; }
	
	.label ~ label{ vertical-align:middle; margin:0.3em 1.2em 0 0; } 
	
	.itemvalidate input.short{ width:90px; }
	.itemvalidate input:focus:not([type="checkbox"]), .itemvalidate textarea:focus{ box-shadow:0 0 4px #3d94dd; border:1px solid #3d94dd; }
	.itemvalidate textarea{  }
	.itemvalidate select{ /*float:left;*/ }

	.itemvalidate select option{ padding:1px; }

    .itemvalidate > .extra{ float:left; font-size:0.9em; color:#999; line-height:2em; margin-left:13px; }
    
	.itemvalidate.multi .input{ float:left; }
		.itemvalidate.multi input{ float:left; margin-right:5px; width:35px; text-align:center; }
		form .itemvalidate.multi input:nth-last-child(-n+2){ margin:0; }
	.itemvalidate.itemvalidates input{ border-top:5px solid #E1E1E1; margin:0 0 0 160px; }
	
	.bad input, 
	.bad .select-box, 
	.bad textarea{ border:1px solid #3d94dd; box-shadow:0 0 4px -2px #3d94dd; position:relative; left:0; -moz-animation:.7s 1 shake linear; -webkit-animation:0.7s 1 shake linear; }
	
	
    
	
/* mode2 - where the label's text is above the field and not next to it
--------------------------------------------------------------------------- */
.mode2 .itemvalidate{ height:auto; zoom:1; }
.mode2 .itemvalidate.bad{ margin-bottom:0px; }
.mode2 .itemvalidate::before, .mode2 .itemvalidate::after{ content:''; display:table; }
.mode2 .itemvalidate::after{ clear:both; }
	.mode2 .itemvalidate label{  }
		.mode2 .itemvalidate label span{ /*float:none;*/ display:block; line-height:inherit; }
	.mode2 .itemvalidate input, .itemvalidate textarea{ /*float:left*/;margin-bottom:0 !important; }
	.mode2 .itemvalidate textarea{ margin:0;float:left; }
	.mode2 .itemvalidate select{ /*float:left;*/ }
	.mode2 .itemvalidate.multi label{ float:none; }
	.mode2 .itemvalidate.multi input{ float:left; margin-right:5px; width:35px; text-align:center; }
	.mode2 .itemvalidate .tooltip{ left:auto; position:absolute; right:-22px; top:19px; }
	.mode2 .itemvalidate .alert::after{ display:none; }
	.mode2 .itemvalidate .alert{ float:none; position: static; clear:left; margin:0; padding:0 5px; border-radius:0 0 3px 3px; max-width:100%; height:30px; line-height:1.8em; }
    .mode2 .itemvalidate > .extra{ position:absolute; right:0; }
    

/* adjustments */
.btn-send {
	margin-top: 20px;
	margin-bottom: 20px;
}

.w600 .btn-send,
.w768 .btn-send,
.w970 .btn-send {
	margin-top: 20px;
}