* {
	box-sizing: border-box;
}
html {
	height: 100vh;
}
body {
	background-color: #222;
	font-size: .9em;
	margin: 0;
	min-width: 400px;
}
.section {
	margin: 28vh auto 0;
	padding: 40px 20px 10px;
	width: 350px;
}
.section.padded h2 {
	margin: -40px -20px 30px;
}
.section.error {
  animation: shake 600ms; 
  animation-iteration-count: 1;
}
.section.padded.error h2 {
	color: #c00;
}
@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); }
}
p {
	text-align: center;
}
input.text {
	border: 1px solid silver;
	font: inherit;
	padding: 6px;
}
.section.error input.text {
	border-color: #c00;
}
input,
.button {
	margin-right: 30px;
	width: 133px;
}
span {
	display: inline-block;
	margin-right: 30px;
	text-align: right;
	width: 110px;
}
footer {
	display: none;
}
@media (min-width: 1120px){
	body {
		background: url(/img/background-curacao.jpg) no-repeat center 65%;
		background-size: cover;
	}
	.section {
		border-radius: 5px;
		box-shadow: 10px 10px 20px 0px black;
		left: 30%;
		margin: 0;
		position: absolute;
		top: 29%;
		width: 400px;
	}
	.section h2 {
		margin: initial;
		text-align: center;
	}
	footer {
		bottom: 0;
		color: white;
		display: block;
		font-size: .9em;
		opacity: .95;
		padding: 4px;
		position: absolute;
		right: 0;
		text-shadow: 1px 1px 1px black;
	}
}