body {
    padding:     0;
    margin:      0;
    font-size:   14px;
    font-family: 'ProximaNovaA-Light', Helvetica, Arial, sans-serif;
    font-weight: normal;
    background:  #fff;
    color:       #5d5d5d;
    width:       100%;
    height:      100%;
    overflow-x:  scroll;
    position:    absolute;
}

img {
    border: none;
}

* {
    -webkit-box-sizing: border-box; /* Safari/Chrome, other WebKit */
    -moz-box-sizing:    border-box; /* Firefox, other Gecko */
    box-sizing:         border-box; /* Opera/IE 8+ */
}

h1 {
    font-family: 'ProximaNovaA-Regular', Helvetica, Arial, sans-serif;
    font-weight: normal;
    font-size:   1.6em;
    margin:      0 0 10px;
    padding:     0;
    color:       #5d5d5d;
}

h2 {
    font-family: 'ProximaNovaA-Semibold', Helvetica, Arial, sans-serif;
    font-weight: normal;
    font-size:   1.4em;
    margin:      0 0 10px;
    padding:     0;
    color:       #5d5d5d;
}

h3 {
    font-family: 'ProximaNovaA-Semibold', Helvetica, Arial, sans-serif;
    font-weight: normal;
    font-size:   1.2em;
    margin:      0 0 5px;
    padding:     0;
    color:       #5d5d5d;
}

h4 {
    font-family: 'ProximaNovaA-Semibold', Helvetica, Arial, sans-serif;
    font-weight: normal;
    font-size:   1.0em;
    margin:      0 0 5px;
    padding:     0;
    color:       #5d5d5d;
}

p {
    font-size:   1.0em;
    margin:      0 0 10px;
    padding:     0;
    line-height: 1.7em;
}

b, strong {
    font-family: 'ProximaNovaA-Semibold', Helvetica, Arial, sans-serif;
    font-weight: normal;
}

a {
    font-size:          1.0em;
    margin:             0;
    padding:            0;
    color:              #5d5d5d;
    outline:            none;
    text-decoration:    none;
    -webkit-transition: color 0.15s ease-out;
    -moz-transition:    color 0.15s ease-out;
    -ms-transition:     color 0.15s ease-out;
    -o-transition:      color 0.15s ease-out;
    transition:         color 0.15s ease-out;
}

a:hover {
    color:           #5d5d5d;
    text-decoration: none;
    outline:         none !important;
}

input {
    outline: none !important;
}

.clear {
    clear: both;
}

/*/  FORMS  ////////////////////////////////////////////////////////////////*/

.login form#login-form {
    transition: opacity 0.1s linear;
}

form .field {
    margin: 0 0 15px 0;
}

form .field .button {
    display:               block;
    float:                 right;
    background:            #fff;
    border:                1px solid #0009;
    color:                 #5d5d5d;
    font-size:             13px;
    padding:               5px 10px;
    cursor:                pointer;
    min-width:             100px;
    line-height:           20px;
    margin:                0 0 0 5px;
    -webkit-border-radius: 3px;
    -moz-border-radius:    3px;
    border-radius:         3px;
    -webkit-transition:    all .3s ease;
    -moz-transition:       all .3s ease;
    -ms-transition:        all .3s ease;
    -o-transition:         all .3s ease;
    transition:            all .3s ease;
}

.button, .btn {
    font-family:         'ProximaNovaA-light', Helvetica, Arial, sans-serif;
    display:             inline-block;
    padding:             4px 16px;
    margin-bottom:       0;
    font-size:           14px;
    font-weight:         400;
    line-height:         1.42857143;
    text-align:          center;
    white-space:         nowrap;
    vertical-align:      middle;
    -ms-touch-action:    manipulation;
    touch-action:        manipulation;
    cursor:              pointer;
    -webkit-user-select: none;
    -moz-user-select:    none;
    -ms-user-select:     none;
    user-select:         none;
    background-image:    none;
    border:              1px solid transparent;
    border-radius:       4px;
    text-decoration:     none;
}

button, input {
    overflow: visible;
}

form .field label, form .field p.label {
    display:     block;
    font-family: 'ProximaNovaA-Regular', Helvetica, Arial, sans-serif;
    font-size:   1.1em;
    font-weight: normal;
    color:       #000;
    margin:      0 0 3px;
}

.input-group {
    position:          relative;
    display:           -webkit-box;
    display:           -ms-flexbox;
    display:           flex;
    -ms-flex-wrap:     wrap;
    flex-wrap:         wrap;
    -webkit-box-align: stretch;
    -ms-flex-align:    stretch;
    align-items:       stretch;
    width:             100%;
    margin-top:        8px;
}

.input-group-append {
    margin-left: -1px;
}

.input-group > .input-group-append > .btn,
.input-group > .input-group-append > .input-group-text,
.input-group > .input-group-prepend:first-child > .btn:not(:first-child),
.input-group > .input-group-prepend:first-child > .input-group-text:not(:first-child),
.input-group > .input-group-prepend:not(:first-child) > .btn,
.input-group > .input-group-prepend:not(:first-child) > .input-group-text {
    border-top-left-radius:    0;
    border-bottom-left-radius: 0;
}

.input-group-text {
    display:                   -webkit-box;
    display:                   -ms-flexbox;
    display:                   flex;
    -webkit-box-align:         center;
    -ms-flex-align:            center;
    align-items:               center;
    padding:                   .375rem .75rem;
    margin-bottom:             0;
    font-size:                 1rem;
    font-weight:               400;
    line-height:               1.5;
    color:                     #495057;
    text-align:                center;
    white-space:               nowrap;
    background-color:          #e9ecef;
    border:                    1px solid #ced4da;
    border-radius:             .25rem;
    border-top-left-radius:    0.25rem;
    border-bottom-left-radius: 0.25rem;
}

.input-group > .custom-file,
.input-group > .custom-select,
.input-group > .form-control {
    position:         relative;
    -webkit-box-flex: 1;
    -ms-flex:         1 1 auto;
    flex:             1 1 auto;
    width:            1%;
    margin-bottom:    0;
}

.form-control {
    display:                    block;
    width:                      100%;
    padding:                    .375rem .75rem;
    font-size:                  1rem;
    line-height:                1.5;
    color:                      #495057;
    background-color:           #fff;
    background-clip:            padding-box;
    border:                     1px solid #ced4da;
    border-radius:              .25rem;
    border-top-right-radius:    0.25rem;
    border-bottom-right-radius: 0.25rem;
    transition:                 border-color .15s ease-in-out, box-shadow .15s ease-in-out;
}

button, input {
    overflow: visible;
}

.input-group > .custom-select:not(:last-child),
.input-group > .form-control:not(:last-child) {
    border-top-right-radius:    0 !important;
    border-bottom-right-radius: 0 !important;
}

.manage a {
    color:           #875290;
    text-decoration: underline;
}

.login-explanation {
    line-height: 24px;
    color:       #747474;
}

.login-explanation + hr {
    border: 1px solid #eee;
    margin: 16px 0;
}
