/* Eric Meyer's Reset CSS v2.0 - http://cssreset.com */
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 {
    border: 0;
    font-size: 100%;
    font: inherit;
    vertical-align: baseline;
    margin: 0;
    padding: 0;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
    display: block;
}

body {
    line-height: 1;
}

ol,
ul {
    list-style: none;
}

blockquote,
q {
    quotes: none;
}

blockquote:after,
blockquote:before,
q:after,
q:before {
    content: none;
}

table {
    border-collapse: collapse;
    border-spacing: 0;
}
.flex-parent {
    display: box;
    display: flex;
}

.flex-column {
    box-orient: vertical;
    flex-direction: column;
}

.flex-justify-start {
    justify-content: flex-start;
}

.flex-justify-end {
    justify-content: flex-end;
}

.flex-justify-center {
    justify-content: center;
}

.flex-justify-around {
    justify-content: space-around;
}

.flex-justify-between {
    justify-content: space-between;
}

.flex-align-stretch {
    align-items: stretch;
}

.flex-align-start {
    align-items: flex-start;
}

.flex-align-end {
    align-items: flex-end;
}

.flex-align-center {
    align-items: center;
}

.flex-wrap {
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
}

.flex-row {
    -webkit-flex-direction: row;
    flex-direction: row;
}
html,body{
    width: 100%;
    color: #111;
}
main{
    width: 620px;
    background: #f3f3f3;
}

h1, h2, input[type=text], input[type=submit]{
    text-align: center;
    color: #FFF;
}
h1{
    padding: 5px 0;
    background: #3a3a3a;
}
h1 a:nth-child(1), h1 a:nth-child(3){
    width: 10%;
    padding: 2px 0;
    margin: 5px 0;
    filter: invert(1);
}
h1 a:nth-child(1){
    margin-left: 10px;
}
h1 div:nth-child(2){
    padding: 2px 0;
    margin: 5px 0;
}
h1 a:nth-child(3){
    margin-right: 10px;
}
.locked{
   background: url(../locked.png) center right no-repeat;
   background-size: contain;
}
.unlocked{
   background: url(../unlocked.png) center right no-repeat;
   background-size: contain;
}
.back{
   background: url(../back.png) center left no-repeat;
   background-size: contain;
}
h2{
    padding: 10px 0;
}

.red{
    border: solid 2px #bd4968;
}
.red h2{
    background: #bd4968;
}
.red span{
    color: #bd4968;
}
.blue{
    border: solid 2px #4968bd;
}
.blue h2{
    background: #4968bd;
}
.blue span{
    color: #4968bd;
}
.black{
    border: solid 2px #3a3a3a;
}
.black h2{
    background: #3a3a3a;
}
.green{
    border: solid 2px #68bd49;
}
.green h2{
    background: #68bd49;
}
.purple{
    border: solid 2px #6449bd;
}
.purple h2{
    background: #6449bd;
}
.red, .blue, .black, .green{
    border-top: none;
}

.text p, label, input[type=text], input[type=submit]{
    padding: 12px;
}

.text p{
    line-height: 21px;
}

label{
    border-bottom: solid 1px #d5d5d5;
}
input[type=checkbox]{
    width: 16px;
    height: 16px;
    min-width: 16px;
    min-height: 16px;
}
input[type=text]{
    border: solid 2px #3a3a3a;
    border-top: none;
    background: #f3f3f3;
    outline: none;
    color: #111;
}
input[type=submit]{
    background: #3a3a3a;
    -webkit-appearance: none;
}