*,
*:before,
*:after {
    padding: 0;
    margin: 0;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
}

[ng-cloak],
[data-ng-cloak],
[x-ng-cloak],
.ng-cloak,
.x-ng-cloak {
    display: none !important;
}

html,
body {
    height: 100%;
    width: 100%;
    font-size: 20px;
}

body {
    display: table;
}

main {
    display: table-cell;
    vertical-align: middle;
}

main .inner {
    max-width: 20rem;
    margin: 0 auto;
    padding: 1rem;
    border: .05rem solid black;
}

main header {
    padding: 0 0 1rem;
    border-bottom: .05rem solid black;
    margin: 0 0 .75rem;
}

main p {
    padding: .25rem 0;
}

main label {
    margin: 0 0 0 1rem;
}

main button {
    padding: .05rem .3rem .1rem;
    border-radius: 0;
    border: .05rem solid;
    background: white;
}

.ng-enter,
.ng-leave {
    transition: all cubic-bezier(0.250, 0.460, 0.450, 0.940) 0.5s;
}

.ng-enter,
.ng-leave.ng-leave-active {
    opacity:0;
}

.ng-leave,
.ng-enter.ng-enter-active {
    opacity:1;
}
