html {
    font-size: 10px;
    font-family: "Source Sans Pro", "Trebuchet MS", sans-serif;
}

body {
    margin: 0;
    font-size: 14px;
    font-size: 1.4rem;
    font-family: "Source Sans Pro", "Trebuchet MS", sans-serif;
    color: #fff;
    overflow: hidden;
}

main {
    position: absolute;
    top: 0; right: 0; bottom: 0; left: 0;
    overflow: hidden;
    padding: 0; margin: 0;
    text-align: center;
    background-color: rgb(51,51,58);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

main > div {
    padding: 0 1em;
}

main::before,main::after {
    content: '';
    display: block;
    width: 100%;
    height: 20px;
    background-color: rgb(78,216,136);
    background-repeat: repeat-x;
    background-size: auto 100%;
    background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20width%3D%222%22%20height%3D%221%22%20viewBox%3D%220%200%202%201%22%3E%3Cpolygon%20points%3D%220%201%201%200%202%200%201%201%20%22%20fill%3D%22rgb%2851%2C51%2C58%29%22%20/%3E%3C/svg%3E");
}

main::before { margin-bottom: 1em; }
main::after { margin-top: 1em; }

p { margin: 1em 0 0; }

a, a:visited {
    color: rgb(104,248,165);
    text-decoration: none;
    font-weight: 400;
    border-bottom: 1px dotted rgb(78,216,136);
}

a:hover, a:active {
    color: rgb(78,216,136);
    border-bottom-color: rgb(78,216,136);
}

h1 a {
    border-bottom-style: dashed;
}


main h1 {
    margin: 0 0 .75em;
    font-size: 1.6em;
    line-height: 1.5;
    font-weight: 200;
}

main h1 > strong {
    font-weight: 600;
    white-space: nowrap;
}


main h2 {
    margin: 0 1em .75em 0;
    font-size: 1.25em;
    font-weight: 400;
    display: inline-block;
}

main p {
    font-size: .9em;
    line-height: 1.5;
}

main form {
    display: inline-block;
}

main label { font-size: 1.4em; }

main input[type="text"] {
    position: relative;
    font-family: "Source Sans Pro", "Trebuchet MS", sans-serif;
    font-size: 1.4em;
    color: #999;
    padding: .25em .5em;
    border: none;
    border-radius: 4px;
}

main input[type="text"]:focus {
    outline: none;
    box-shadow: 0 0 6px rgb(83, 232, 145);
    
}

main input[type="submit"] {
    position: relative;
    top: -1px;
    font-family: "Source Sans Pro", "Trebuchet MS", sans-serif;
    font-size: 1.4em;
    text-transform: uppercase;
    font-weight: 600;
    color: rgba(255,255,255,0.8);
    background-color: rgb(78,216,136);
    border: none;
    border-radius: 4px;
    box-shadow: 0 .15em rgb(55, 153, 96);
    padding: .2em .5em .15em;
    cursor: pointer;
}
main input[type="submit"]:hover {
    background-color: rgb(83, 232, 145);
}

main input[type="submit"]:focus {
    outline: none;
    background-color: rgb(83, 232, 145);
}

main input[type="submit"]:active {
    outline: none;
    top: .1em;
    top: calc(.1em - 1px);
    box-shadow: 0 .05em rgb(55, 153, 96);
}

span.iwrap {
    position:relative;
    display:inline-block;
    margin-right: .5em;
}

span.iwrap > input+div {
    display:none;
    position:absolute;
    z-index:75;
    left:-25%;right:-25%;
    bottom:115%;
    padding: .3em 0 0 .3em;
    font-size: .75em;
    background: rgb(55, 153, 96);
    border-radius: 6px;
}

span.iwrap > input+div::before {
    content: '';
    display: block;
    position: absolute;
    top: 100%;
    left: 48%;
    left: calc(50% - .75em);
    width: 0; height: 0;
    border-top: .75em solid rgb(55, 153, 96);
    border-left: .75em solid transparent;
    border-right: .75em solid transparent;
}

span.iwrap > input+div::after {
    content: '';
    display: table;
    clear: both;
}

span.iwrap > input+div > a {
    box-sizing: border-box;
    display: list-item;
    list-style: none;
    width: 46%;
    width: calc(50% - .3em);
    float: left;
    background: rgb(78,216,136);
    color: #fff;
    padding: 1em .5em;
    margin: 0 .3em .3em 0;
    border-bottom: none;
    border-radius: 3px;
}

span.iwrap > input+div > a:hover {
    background-color: rgb(83, 232, 145);
}

span.iwrap > input:focus+div { display: block; }