p > a { text-decoration:underline; }

button,
html input[type="button"],
input[type="submit"] {
    -webkit-appearance: button;
    cursor: pointer;
    }

input { line-height: 1; }

input[type="text"]:focus { outline: none; }

legend {
    border: 0;
    padding: 0;
    }

textarea {
    overflow: auto;
    resize: vertical;
    }

h3 {
    font-size:1.125em;
    text-align:left;
    font-weight:normal;
    font-style:normal;
    }

h3:before {
    font-family:"cr";
    font-size:48px;
    position:relative;
    top:6px;
    margin:0 6px 0 0;
    }

h3.failure:before { content: "\e606"; }
h3.success:before { content: "\e605"; }

.success { color:#3baf96; }
.failure { color:#d9777a; }

form *:focus { outline: none; }

input, textarea, label, input[type=submit] {
    font-family: "Circular-Book";
    font-size: 1.125em;
    }

input, textarea {
    color:rgba(223,226,229,1);
    background: transparent;
    border:1px solid rgba(255,255,255,0.3);
    display:inline-block;
    padding:1em;
    width:85%;
    -webkit-appearance: none;
    }

label {
    display:block;
    float:left;
    padding:0.938em 0;
    width:15%;
    }

label:after {
    content:'';
    clear:left;
    display:block;
    }

form ul {
    width: 100%;
    margin: 0;
    padding: 0;
    }

form li {
    display:block;
    padding: 0 0 1em 0;
    position: relative;
    }

form ul:last-child {
    position:relative;
    padding-left:15%;
    text-align:justify;
    }

form ul:last-child li {
    display:inline-block;
    text-align:left;
    }

form ul:last-child:after {
    content:'';
    display:inline-block;
    width:100%;
    }

.error > span,
.error > span:before,
.error > span:after {
    display:inline-block;
    }

.error > span {
    background-color: #D9777A;
    color: #FFF;
    font-size:0.875em;
    padding:0.25em 0.75em;
    margin-top:0.5em;
    margin-bottom:0.5em;
    margin-left:15%;
    position: relative;
    }

.error > span:before,
.error > span:after {
    border-right: 7px solid transparent;
    border-bottom: 7px solid #D9777A;
    border-left: 7px solid transparent;
    content: '';
    left: 12px;
    position: absolute;
    top: -7px;
    }

.error input,
.error textarea { border-color: #D9777A; }

textarea:focus,
input:focus { border-color: rgba(255,255,255,0.9); }

input[type=submit] {
    background-color: transparent;
    border: 1px solid rgba(255,255,255,0.3);
    color: rgba(255,255,255,0.5);
    width: auto;
    padding: 1em 1.125em 1.125em 1.125em;
    -webkit-transition: all 200ms ease;
	        transition: all 200ms ease;
    }

input[type=submit]:hover {
    border-color: rgba(255,255,255,0.9);
    color: rgba(255,255,255,1);
    }

@media only screen and (max-width: 999px) {

    form ul:last-child {
        padding-left:0;
        margin:0.5em 0 1.5em 0;
        }

    .error > span { margin-left:0; }

    form li { padding: 0 0 1em 0; }

    label, input[type=submit] {
        font-size:1em;
        }

    label {
        padding:0 0 0.25em 0;
        display:block;
        float:none;
        }

    input, textarea {
        padding:1em;
        width:100%;
        }

    }

@media only screen and (max-width: 679px) {

    form ul:last-child { text-align:center; }

    form ul:last-child li:first-child { width:100%; }

    input[type=submit] {
        display:block;
        margin:0;
        width:100%;
        }

    }

