* { margin: 0; padding: 0; }
html { overflow-y: scroll; }
body { min-height: 100%; font-size: 14px; font-family: sans-serif; line-height: 22px; color: #666; font-weight: 400; background: url('bg.jpg') no-repeat center top; }
body.alfipa { background: none transparent; }
article, aside, figcaption, figure, footer, header, nav, section { display: block; }
a:link, a:visited { color: #B61833; text-decoration: none; }
a:hover { color: #666; text-decoration: none; }
a img { border: none; }
h1 { font-size: 1.5em; font-weight: 400; margin: 0 0 1em; }
h2 { font-size: 1.25em; font-weight: 400; margin: 1.5em 0 1em; }
p { margin: 0 0 1em; }

#main { -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; }
body.alfipa #main { padding-bottom: 3em; }
#footer { background: #730026; position: fixed; color: #fff; bottom: 0; width: 100%; text-align: right; padding: 0.5em 1em; -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; }
#footer span { float: left; }
a.white { color: #fff; }

@media screen and (min-width: 769px) {
	body { background: url('bg.jpg') no-repeat center top; background-size: 100%; }
	#main { position: absolute; bottom: 10em; left: 55%; width: 400px; max-width: 40%; }
	body.alfipa #main { position: relative; bottom: auto; left: auto; width: 100%; max-width: 100%; padding: 2em 20% 3em; }
}
@media screen and (min-width: 769px) and (max-height: 700px) {
	#main { bottom: 5em; }
	body.alfipa #main { bottom: auto; }
}
@media screen and (max-width: 768px) {
	body { background: url('bgs.jpg') no-repeat center top; background-size: 100%; }
	#footer { position: fixed; }
	#main { position: relative; bottom: auto; top: 4em; left: 0; width: 100%; max-width: 100%; padding: 0 1.5em 3em; }
	body.alfipa #main { top: 0; padding-top: 2em !important; }
}