* {
	font-family: inherit;
	font-weight:inherit;
	margin:0;
	padding:0;
	border:0;
	line-height:inherit;
	font-size:inherit;
	text-align:inherit;

	-ms-user-callout: none;

	-webkit-user-select: none;
	-khtml-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;

	-webkit-touch-callout: none;
	-moz-touch-callout: none;
	-ms-touch-callout: none;
	touch-callout: none;

	-webkit-user-drag: none;
	-moz-user-drag: none;
	-ms-user-drag: none;
	user-drag: none;

	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	
	-webkit-tap-highlight-color: rgba(0,0,0,0);
    -webkit-tap-highlight-color: transparent; /* For some Androids */
}

/* :focus { outline:none; } */
::-moz-focus-inner { border:0; } /* removes dotted outline on selected fields/buttons in firefox */
 
html {
	line-height:0;
	font-weight: normal;
	font-size:0;
}

body {
	position:relative;
}

.page {
	position:absolute;
	left:0;
	top:0;
	text-align:center;
	width:100vw;
	height:100%;
	overflow-x:hidden;
	overflow-y:scroll;
}

div.page.moving {
	overflow-y:hidden;
}

.page[data-page=2] {
	display:none;
}

input[type=text],
input[type=email],
input[type=tel],
input[type=password],
input[type=file],
input[type=number],
textarea {
	-webkit-user-select: text;
	-khtml-user-select: text;
	-moz-user-select: text;
	-ms-user-select: text;
	user-select: text;
    outline: none;
}

button {
    outline: none;
}

input::placeholder {
	overflow: visible;
	line-height: normal;
}

div.vcenter {
  display: table;
  width:100%;
  height:100%;
}

div.vcenter > div {
  display: table-cell;
  vertical-align: middle;
}

a:link, a:hover, a:active, a:visited {
  color:inherit;
  text-decoration:inherit;
}

.transparent {
	opacity: 0.5;
}

.semitransparent {
	opacity: 0.75;
}

.uppercase {
	text-transform:uppercase !important;
}

.underline {
	text-decoration:underline !important;
}

strong, .strong {
	font-weight:bold;
}

.italic {
	font-style:italic;
}

.scale-down {
	-ms-transform: scale(0.95);
  -webkit-transform: scale(0.95);
  transform: scale(0.95);
}

.scale-up {
	-ms-transform: scale(1.05);
  -webkit-transform: scale(1.05);
  transform: scale(1.05);
}

.bounce {
	-webkit-animation: bouncing 0.75s linear infinite;
	-moz-animation: bouncing 0.75s linear infinite;
	-ms-animation: bouncing 0.75s linear infinite;
	animation: bouncing 0.75s linear infinite;
}

@-webkit-keyframes bouncing {
  0%       { -webkit-transform: scale(1.0); }
  25%, 75% { -webkit-transform: scale(1.04); }
  50%      { -webkit-transform: scale(1.05); }
  100%     { -webkit-transform: scale(1.0); }
}

@-moz-keyframes bouncing {
  0%       { -moz-transform: scale(1.0); }
  25%, 75% { -moz-transform: scale(1.04); }
  50%      { -moz-transform: scale(1.05); }
  100%     { -moz-transform: scale(1.0); }
}

@-ms-keyframes bouncing {
  0%       { -ms-transform: scale(1.0); }
  25%, 75% { -ms-transform: scale(1.04); }
  50%      { -ms-transform: scale(1.05); }
  100%     { -ms-transform: scale(1.0); }
}

@keyframes bouncing {
  0%       { transform: scale(1.0); }
  25%, 75% { transform: scale(1.04); }
  50%      { transform: scale(1.05); }
  100%     { transform: scale(1.0); }
}

.rotate {
	-webkit-animation: rotation 1s linear infinite;
	-moz-animation: rotation 1s linear infinite;
	-ms-animation: rotation 1s linear infinite;
	animation: rotation 1s linear infinite;
}

.rotate {
	-webkit-animation: rotation 1s linear infinite;
	-moz-animation: rotation 1s linear infinite;
	-ms-animation: rotation 1s linear infinite;
	animation: rotation 1s linear infinite;
}

.rotate-reverse {
	-webkit-animation: rotation 1s linear infinite reverse;
	-moz-animation: rotation 1s linear infinite reverse;
	-ms-animation: rotation 1s linear infinite reverse;
	animation: rotation 1s linear infinite reverse;
}

@-webkit-keyframes rotation {
	0%   { -webkit-transform: rotate(0deg); }
	100% { -webkit-transform: rotate(360deg); }
}
@-moz-keyframes rotation {
	0%   { -moz-transform: rotate(0deg); }
	100% { -moz-transform: rotate(360deg); }
}
@-ms-keyframes rotation {
	0%   { -ms-transform: rotate(0deg); }
	100% { -ms-transform: rotate(360deg); }
}
@keyframes rotation {
	0%   { transform: rotate(0deg); }
	100% { transform: rotate(360deg); }
}

.bounce-out {
	animation: bouncing-out 0.5s linear;
	animation-fill-mode: forwards;
}

@keyframes bouncing-out {
	0% { transform: translateY(0) }
	100% { transform: translateY(-100vmin) rotate(360deg) scale(2); }
}