a,abbr,acronym,address,applet,article,aside,audio,b,big,blockquote,body,canvas,caption,center,cite,code,dd,del,details,dfn,div,dl,dt,em,embed,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,header,hgroup,html,i,iframe,img,ins,kbd,label,legend,li,mark,menu,nav,object,ol,output,p,pre,q,ruby,s,samp,section,small,span,strike,strong,sub,summary,sup,table,tbody,td,tfoot,th,thead,time,tr,tt,u,ul,var,video{margin:0;padding:0;font-size:100%;vertical-align:baseline}
a:active,a:hover{outline:0}
h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:400}
html{-webkit-box-sizing:border-box;box-sizing:border-box;}
:focus{outline:0}
audio,img,video{max-width:100%;height:auto}
audio,canvas,iframe,img,svg,video{vertical-align:middle}
iframe{border:0}
textarea{resize:none;overflow:auto;vertical-align:top;box-shadow:none;-webkit-box-shadow:none;-moz-box-shadow:none}
button,input,select,textarea{outline:none;border:none;font-size:100%;margin:0}
button,input{line-height:normal}
table{border-collapse:collapse;border-spacing:0}
td,th{padding:0;text-align:left}
html{line-height:1.4;color:#101010;height:100%}
body,html{font-size:18px}
body{margin:0;padding:0;font-weight:400;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
*,:after,:before{-webkit-box-sizing:border-box;box-sizing:border-box}
h1,h2,h3,h4,h5,h6{margin:0}
a{text-decoration:none}
li,ul{margin:0;padding:0;list-style-type:none}
input:focus:required:invalid{border: 2px solid #b22 !important;}
input:required:valid {border: 2px solid green;}
/* Вибрация при наведении */
.snake {
	animation: shake 1s;
	animation-iteration-count: infinite;
	-webkit-animation: shake 1s;
	animation-delay: 2s;
}
.snake:hover{
	animation: shake-hover 0.5s;
	animation-iteration-count: 1;
}
@keyframes shake {
	0% { transform: translate(1px, 1px) rotate(0deg); }
	10% { transform: translate(-1px, -2px) rotate(-1deg); }
	20% { transform: translate(-3px, 0px) rotate(1deg); }
	30% { transform: translate(3px, 2px) rotate(0deg); }
	40% { transform: translate(1px, -1px) rotate(1deg); }
	50% { transform: translate(-1px, 2px) rotate(-1deg); }
	60% { transform: translate(-3px, 1px) rotate(0deg); }
	70% { transform: translate(3px, 1px) rotate(-1deg); }
	80% { transform: translate(-1px, -1px) rotate(1deg); }
	90% { transform: translate(1px, 2px) rotate(0deg); }
	100% { transform: translate(1px, -2px) rotate(-1deg); }
}
@keyframes shake-hover {
	0% { transform: translate(1px, 1px) rotate(0deg); }
	10% { transform: translate(-1px, -2px) rotate(-1deg); }
	20% { transform: translate(-3px, 0px) rotate(1deg); }
	30% { transform: translate(3px, 2px) rotate(0deg); }
	40% { transform: translate(1px, -1px) rotate(1deg); }
	50% { transform: translate(-1px, 2px) rotate(-1deg); }
	60% { transform: translate(-3px, 1px) rotate(0deg); }
	70% { transform: translate(3px, 1px) rotate(-1deg); }
	80% { transform: translate(-1px, -1px) rotate(1deg); }
	90% { transform: translate(1px, 2px) rotate(0deg); }
	100% { transform: translate(1px, -2px) rotate(-1deg); }
}
/* Вибрация при наведении */