html {
    width: 100%;
    height: 100%;
    margin: 0px;
    padding: 0px;
}
body {
    background-image: url(../images/bg_gradient.jpg);
    background-repeat: no-repeat;
    background-color: #5d5d60;
    width: 100%;
    background-size: cover;
    font-family: 'Open Sans', sans-serif;
    margin: 0px;
    padding: 0px;
    overflow: hidden;
}
h1 {
    font-weight: 700;
    font-size: 2.0em;
    margin-top: 12px;
    padding-top: 0px;
    line-height: 150%;
    font-weight: 400;
}
h2 {
    font-size: 2.0em;
    color: #fff;
    line-height: 150%;
    font-weight: 400;
}
p {
    font-size: 1.0em;
    color: #fff;
}
a {
    text-decoration: underline;
    color: #fff;
}
p.hint {
    font-size: 1.0em;
    color: white;
}
.o-background-img-tablet {
    position: absolute;
    top: 0;
    left: 0;
    margin: 0;
    height: 100%;
    width: 100%;
    background-position: center;
    background-image: url(../images/bg.jpg);
    background-repeat: no-repeat;
    background-color: transparent;
    background-size: cover;
}
.o-splash-container {
    position: absolute;
    top: 0px;
    left: 0px;
    width: 100%;
    height: 100%;
}
.o-splash {
    position: relative;
    margin: 12% auto 0;
    padding: 20px 36px;
    max-width: 350px;
    width: 100%;
    text-align: left;    /**/

    /*Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#5b4099+0,ed5091+100 */
    background: #5b4099; /* Old browsers */

    /*IE9 SVG, needs conditional override of 'filter' to 'none' */
    background: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIxMDAlIiB5Mj0iMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iIzViNDA5OSIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiNlZDUwOTEiIHN0b3Atb3BhY2l0eT0iMSIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+);
    background: -moz-linear-gradient(left, #5b4099 0%, #ed5091 100%); /* FF3.6-15 */
    background: -webkit-linear-gradient(left, #5b4099 0%, #ed5091 100%); /* Chrome10-25,Safari5.1-6 */
    background: linear-gradient(to right, #5b4099 0%, #ed5091 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#5b4099', endColorstr='#ed5091', GradientType=1); /* IE6-8 */
    color: white;
}
.o-splash p {
    word-wrap: break-word;
}
input[type=text], input[type=email], input[type=password] {
    height: 35px;
    line-height: 35px;
    width: 67%;
    display: inline-block;
    margin: 0px;
    margin-bottom: 12px;
    padding: 0px;
    padding-left: 7px;
    font-size: 12px;
}
label {
    margin-top: 12px;
    display: inline-block;
}
button, .button {
    margin-top: 5px;
    padding: 0px 12px;
    height: 39px;
    line-height: 39px;
    display: inline-block;
    text-decoration: none;
    background-color: #5b4099;
    border: 0px;
    color: white;
    cursor: pointer;
    border: 1px #C195C5 solid;
}
.form button, .form .button {
    margin-top: 0px;
    margin-left: 5px;
    float: right;
}
button:hover, .button:hover {
    background-color: #7a54d2;
    color: #fff;
    text-decoration: none;
}
.clear {
    clear: both;
}
.o-form-danger {
    border: 2px red solid;
}
.o-brand {
    position: absolute;
    top: -37px;
    right: 0px;
}
@media (max-width:480px) {
    html {
        width: 100%;
        height: auto;
        min-height: 100%;
        margin: 0px;
        padding: 0px;
    }
    body {
        width: 100%;
        height: auto;
        min-height: 100%;
    }
    h1 {
        font-size: 1.7em;
    }
    h2 {
        font-size: 1.7em;
    }
    p {
        font-size: 1.0em;
    }
    .o-splash-container {
        position: relative;
        top: 0px;
        left: 0px;
        max-width: 100vw;
        width: 100vw;
        height: auto;
        min-height: 100vh;
    }
    .o-splash {
        position: relative;
        margin: 0 auto;
        padding: 15px 20px;
        max-width: 100vw;
        width: calc(100vw - 40px);
        height: auto;
        min-height: calc(100vh - 30px);
    }
    .d-none-small {
        display: none;
    }
}
@media (max-width:480px) and (orientation:landscape) {
    .o-splash {
        padding: 15px 40px;
        width: calc(100vw - 80px);
    }
}
@media (min-width:768px) and (max-width:1024px) {
    .d-none-medium {
        display: none;
    }
}
@media (min-width:1025px) {
    .d-none-large {
        display: none;
    }
}