/**
 * Root Cause 2026-04-14 10:20
 *
 * Copyright (c) 2026 Bryntum AB
 *
 * ANY USE OUTSIDE OF therootcause.io IS EXPLICITLY FORBIDDEN
 *
 * For further information please visit https://therootcause.io
 */
* {
    box-sizing : border-box;
}

html, body {
    height : 100%;
}

body {
    font-family            : 'Open Sans', 'Helvetica Neue', helvetica, arial, verdana, sans-serif;
    background             : #eee;
    -webkit-font-smoothing : antialiased;
    display                : table;
    margin                 : 0 auto;
}

hgroup {
    text-align : center;
    margin-top : 4em;
}

a {
    color : #0088d1;
}

h1, h3 {
    font-weight : 300;
}

h1 {
    color : #636363;
}

h3 {
    color : #4a89dc;
}

.content {
    min-width      : 450px;
    max-width      : 450px;
    height         : 100%;
    display        : table-cell;
    vertical-align : middle;
}

form {
    background                 : #fff;
    border-bottom-left-radius  : 3px;
    border-bottom-right-radius : 3px;
    padding                    : 2em;
    position                   : relative;
}

header {
    background              : #0088d1;
    padding                 : 2em;
    border-top-left-radius  : 3px;
    border-top-right-radius : 3px;
    text-align              : center;
}

.logo {
    height : 40px;
}

.group {
    position      : relative;
    margin-bottom : 25px;
}

input#terms {
    width          : 20px;
    height         : 20px;
    margin         : 0;
    vertical-align : middle;
}

input[type="text"],
input[type="email"],
input[type="password"] {
    font-size          : 18px;
    font-family        : inherit;
    padding            : 14px 10px 14px 5px;
    -webkit-appearance : none;
    display            : block;
    background         : #fafafa;
    color              : #636363;
    width              : 100%;
    border             : 1px solid #dfdfdf;
    margin             : 5px 0 15px 0;
    transition         : border-color 0.3s;
    border-radius      : 3px;
}

select {
    font-size     : 18px;
    font-family   : inherit;
    padding       : 14px 10px 14px 5px;
    display       : block;
    background    : #fafafa;
    color         : #636363;
    width         : 100%;
    border        : 1px solid #dfdfdf;
    margin        : 5px 0 15px 0;
    transition    : border-color 0.3s;
    border-radius : 3px;
    height        : 52px;
}

input:focus {
    outline : none;
}

/* Label */

label {
    font-size  : 18px;
    width      : 100%;
    transition : all 0.2s ease;
    color      : #666;
}

/* Underline */

.bar {
    position : relative;
    display  : block;
    width    : 100%;
}

.bar:before, .bar:after {
    content            : '';
    height             : 2px;
    width              : 0;
    bottom             : 1px;
    position           : absolute;
    background         : #4a89dc;
    -webkit-transition : all 0.2s ease;
    transition         : all 0.2s ease;
}

.bar:before {
    left : 50%;
}

.bar:after {
    right : 50%;
}

/* active */

input:focus {
    border-color : #0088d1;
}

/* Highlight */

.highlight {
    position       : absolute;
    height         : 60%;
    width          : 100px;
    top            : 25%;
    left           : 0;
    pointer-events : none;
    opacity        : 0.5;
}

/* active */

input:focus ~ .highlight {
    -webkit-animation : inputHighlighter 0.3s ease;
    animation         : inputHighlighter 0.3s ease;
}

/* Animations */

@-webkit-keyframes inputHighlighter {
    from {
        background : #4a89dc;
    }
    to {
        width      : 0;
        background : transparent;
    }
}

@keyframes inputHighlighter {
    from {
        background : #4a89dc;
    }
    to {
        width      : 0;
        background : transparent;
    }
}

/* Button */

.button {
    position               : relative;
    display                : inline-block;
    padding                : 12px 24px;
    margin                 : .3em 0 1em 0;
    width                  : 100%;
    vertical-align         : middle;
    color                  : #fff;
    font-size              : 16px;
    line-height            : 20px;
    -webkit-font-smoothing : antialiased;
    text-align             : center;
    letter-spacing         : 1px;
    background             : transparent;
    border                 : 0;
    cursor                 : pointer;
    -webkit-transition     : all 0.15s ease;
    transition             : all 0.15s ease;
    border-radius          : 3px;
}

.button:focus {
    outline : 0;

}

/* Button modifiers */

.buttonBlue {
    background : #0088d1;
}

.buttonBlue:focus,
.buttonBlue:hover {
    background : #00689c;
}

/* Ripples container */

.ripples {
    position   : absolute;
    top        : 0;
    left       : 0;
    width      : 100%;
    height     : 100%;
    overflow   : hidden;
    background : transparent;
}

/* Ripples circle */

.ripplesCircle {
    position          : absolute;
    top               : 50%;
    left              : 50%;
    -webkit-transform : translate(-50%, -50%);
    transform         : translate(-50%, -50%);
    opacity           : 0;
    width             : 0;
    height            : 0;
    border-radius     : 50%;
    background        : rgba(255, 255, 255, 0.25);
}

.ripples.is-active .ripplesCircle {
    -webkit-animation : ripples .4s ease-in;
    animation         : ripples .4s ease-in;
}

/* Ripples animation */

@-webkit-keyframes ripples {
    0% {
        opacity : 0;
    }

    25% {
        opacity : 1;
    }

    100% {
        width          : 200%;
        padding-bottom : 200%;
        opacity        : 0;
    }
}

@keyframes ripples {
    0% {
        opacity : 0;
    }

    25% {
        opacity : 1;
    }

    100% {
        width          : 200%;
        padding-bottom : 200%;
        opacity        : 0;
    }
}

footer {
    text-align : center;
}

footer p {
    color          : #888;
    font-size      : 16px;
    letter-spacing : .4px;
}

footer a {
    color              : #4a89dc;
    text-decoration    : none;
    -webkit-transition : all .2s ease;
    transition         : all .2s ease;
}

footer a:hover {
    color           : #666;
    text-decoration : underline;
}

footer img {
    width              : 80px;
    -webkit-transition : all .2s ease;
    transition         : all .2s ease;
}

footer img:hover {
    opacity : .83;
}

footer img:focus, footer a:focus {
    outline : none;
}

.footer-links {
    position   : relative;
    text-align : right;
    color      : #666;
    margin-top : 5px;
}

.footer-links .checkbox {
    position : absolute;
    left     : 0;
}

.footer-links label {
    font-size : 16px;
}

.footer-links input {
    position : relative;
    top      : -2px;
}

.footer-link {
    font-size       : 16px;
    text-decoration : none;
    color           : #666;
}

.footer-link:hover {
    text-decoration : underline;
}

.footer {
    background                 : #bbb;
    padding                    : 20px;
    color                      : #fff;
    overflow                   : auto;
    border-bottom-left-radius  : 3px;
    border-bottom-right-radius : 3px;
}

.footer div {
    float    : left;
    position : relative;
    top      : 7px;
}

.footer img {
    height      : 32px;
    float       : right;
    margin-left : 5px;
}

@media only screen and (max-width : 450px) {
    .content {
        min-width : 360px;
        max-width : 450px;
    }

    .logo {
        height : 30px;
    }

    .footer-links .checkbox {
        position : static;
    }

    footer {
        display : none;
    }
}

@media only screen and (max-width : 320px) {
    .content {
        min-width : 300px;
        max-width : 320px;
    }
}
