* {
    box-sizing: border-box;
    padding: 0;
    margin: 0;
    font-family: 'Open Sans', sans-serif;
}

h1 {
    text-align: center;
    font-size: 72px;
    color: rgb(58, 184, 58);
    font-weight: 300;
    margin-bottom: 0.25em;
}

h2 {
    text-align: center;
    font-size: 54px;
    color: #303030;
    font-weight: 300;
    margin-bottom: 1.75em;
}

h3 {
    font-size: 26px;
    color: #303030;
    font-weight: 300;
    margin: 1em;
    text-align: center;
}

li {
    list-style-type: none;
    margin-bottom: 0.5em;
}

p {
    font-weight: 300;
    margin-bottom: 1.75em;
}

label {
    font-weight: 400;
    margin-bottom: 1em;
}

.error {
    font-weight: 600;
    color:#c50000;
}

input[type="text"], 
input[type="password"],
input[type="email"] {
    width: 100%;    
    font-size: 1em;
    box-shadow: inset 0px 0px 2px rgb(0,0,0,0.2);
    padding: 0.75em 0.75em;
    border-style: solid;
    border-color: #AAA;
    border-width: 1px;
    margin:0.5em 0 1.5em 0;
    font-weight: 300;
}

.grid {
    display: grid;
    grid-template-columns: auto 300px auto;
    grid-template-rows: 7px 10% auto 10%;
    grid-template-areas: 
      "progress progress progress"
      "top top top"
      "left content right"
      "bottom bottom bottom";
    align-items: center;
    justify-items: center;
}

.content {
    grid-area: content;
    width: 100%;
}

p {
    text-align: center;
}
.top {
    grid-area: top;
    height: 3em;
}
.bottom {
    height:3em;
    grid-area: bottom;
}

button {

    align-self:center;
    animation: 0.5s;
    padding: 1em 2em;
    font-size: 1.25em;
    color:white;
    border-color: rgb(47, 153, 47);
    background-color:rgb(58, 184, 58);
    background-repeat: no-repeat;     
    background-position: center;
    background-size: 25%;
    border-style: solid;
    border-width: 4px;
    border-radius: 10000px;
}

button:hover {
    background-color:rgb(27, 131, 27);
    transition: background-color 0.05s ease-in-out;
}

.progress {
    grid-area: progress;
    display: flex;
    background-color: #bdecff;
    align-self: stretch;
    justify-self: stretch;
    box-shadow: 0px -12px 10px 11px rgba(0, 0, 0, 0.205);
}

.filled {
    display: flex;
    width: 100%;
    background-color:rgb(58, 184, 58);
    align-self: stretch;
    justify-self: stretch;
    transition: width 0.25s ease-in-out; 
}
