@font-face {
    font-family: KvbRegular;
    src: url(Roboto-Regular.ttf);
}

@font-face {
    font-family: KvbBold;
    src: url(Roboto-Bold.ttf);
}

html, body {
    height: 100%;
    margin: 0;
}

body {
    font-family: KvbRegular, sans-serif;
    background: -webkit-linear-gradient(left top, #00274B 30%, #0072B9 90%); /* For Safari 5.1 to 6.0 */
    background: -o-linear-gradient(bottom right, #00274B 30%, #0072B9 90%); /* For Opera 11.1 to 12.0 */
    background: -moz-linear-gradient(bottom right, #00274B 30%, #0072B9 90%); /* For Firefox 3.6 to 15 */
    background: linear-gradient(to bottom right, #00274B 30%, #0072B9 90%);
    background-repeat: no-repeat;
    background-attachment: fixed;
    display: flex;
    min-height: 100vh;
    min-width: 300px;
    flex-direction: column;
    color: #00274B;
}

a {
    font-family: KvbBold, sans-serif;
    color: #00274B;
}

main {
    flex: 1 0 auto;
}

footer {
    bottom: 0;
    background-color: #fff;
    padding: 15px;
    width: 100%;
}

footer.row {
    margin-bottom: 0;
}

footer a {
    margin-right: 15px;
    color: #00274B;
}

footer a:first-child {
    margin-right: 0;
}

#cookieBar {
    position: fixed;
    background-color: #fff;
    width: 100%;
    bottom: 0;
    z-index: 9999;
    padding: 20px;
    left: 0;
}

#cookieBar .row {
    margin-bottom: 0;
}

#cookieBar .privacypolicy-link {
    font-family: KvbBold, sans-serif;
    color: #00274B;
}

#kv-login-form-container {
    font-family: KvbRegular, sans-serif;
    min-height: 100%;
    padding-top: 100px;
}

#kv-login-form {
    background-color: rgba(250, 250, 250, 0.75);
    min-height: 200px;
    padding: 15px;
    border-radius: 5px;
}

#kv-logo {
    width: 150px;
}

#kv-form-fields {
    background-color: #ECE7E7;
    border-radius: 5px;
    min-height: 200px;
    margin-top: 20px;
    padding: 15px;
    box-shadow: 0 2px 1px -1px #0003, 0 1px 1px #00000024, 0 1px 3px #0000001f
}


#kv-login-title {
    display: inline-block;
    font-family: KvbBold, sans-serif;
    font-size: 18px;
    line-height: 1.16;
    padding-top: 15px;
}

.kv-primary-button {
    color: #fff;
    border: 1px solid #00274B;
    border-radius: 3px;
    outline: none;
    text-transform: uppercase;
    box-sizing: border-box;
    white-space: nowrap;
}

.kv-primary-button:hover {
    opacity: 0.9;
}

.kv-secondary-button {
    color: #00274B;
    border: 1px solid #00274B;
    border-radius: 3px;
    outline: none;
    background-color: #fff !important;
    text-transform: uppercase;
    box-sizing: border-box;
    white-space: nowrap;
}

.space-right {
    margin-right: 8px;
}

.btn, .btn-large, .btn-small,
.btn:hover, .btn-large:hover, .btn-small:hover {
    background-color: #00274B;
}

button:hover {
    cursor: pointer;
}

#kv-reset-password-link {
    text-decoration: none;
}

#kv-safety-notice span:first-child {
    display: inline-block;
    font-family: KvbBold, sans-serif;
    margin-top: 20px;
}

.kv-error-message {
    color: #a94442;
    font-size: 12px;
}

.kv-warning-message {
    color: #a94442;
    font-size: 12px;
}

/** Font colours **/
.kv-font {
    color: #00274B;
}

/** Font styles **/
h4 {
    font-family: KvbBold, sans-serif;
    font-size: 20px;
    line-height: 1.16;
    /*margin-bottom: 36px;*/
}

h5 {
    font-family: KvbBold, sans-serif;
    font-size: 14px;
    line-height: 1.16;
    /*margin-bottom: 24px;*/
}

/** materialze.css overrides **/
input:not([type]):focus:not([readonly]),
input[type=text]:not(.browser-default):focus:not([readonly]),
input[type=password]:not(.browser-default):focus:not([readonly]),
input[type=email]:not(.browser-default):focus:not([readonly]),
input[type=url]:not(.browser-default):focus:not([readonly]),
input[type=time]:not(.browser-default):focus:not([readonly]),
input[type=date]:not(.browser-default):focus:not([readonly]),
input[type=datetime]:not(.browser-default):focus:not([readonly]),
input[type=datetime-local]:not(.browser-default):focus:not([readonly]),
input[type=tel]:not(.browser-default):focus:not([readonly]),
input[type=number]:not(.browser-default):focus:not([readonly]),
input[type=search]:not(.browser-default):focus:not([readonly]),
textarea.materialize-textarea:focus:not([readonly]) {
    border-bottom: 1px solid #00274B;
    -webkit-box-shadow: 0 1px 0 0 #00274B;
    box-shadow: 0 1px 0 0 #00274B;
}

input[type="radio"]:checked + span::after,
input[type="radio"].with-gap:checked + span::after {
    background-color: #00274B;
}

input[type="radio"]:checked + span::after,
input[type="radio"].with-gap:checked + span::before,
input[type="radio"].with-gap:checked + span::after {
    border: 2px solid #00274B;
}

input.valid:not([type]), input.valid:not([type]):focus, input.valid[type=text]:not(.browser-default), input.valid[type=text]:not(.browser-default):focus, input.valid[type=password]:not(.browser-default), input.valid[type=password]:not(.browser-default):focus, input.valid[type=email]:not(.browser-default), input.valid[type=email]:not(.browser-default):focus, input.valid[type=url]:not(.browser-default), input.valid[type=url]:not(.browser-default):focus, input.valid[type=time]:not(.browser-default), input.valid[type=time]:not(.browser-default):focus, input.valid[type=date]:not(.browser-default), input.valid[type=date]:not(.browser-default):focus, input.valid[type=datetime]:not(.browser-default), input.valid[type=datetime]:not(.browser-default):focus, input.valid[type=datetime-local]:not(.browser-default), input.valid[type=datetime-local]:not(.browser-default):focus, input.valid[type=tel]:not(.browser-default), input.valid[type=tel]:not(.browser-default):focus, input.valid[type=number]:not(.browser-default), input.valid[type=number]:not(.browser-default):focus, input.valid[type=search]:not(.browser-default), input.valid[type=search]:not(.browser-default):focus, textarea.materialize-textarea.valid, textarea.materialize-textarea.valid:focus, .select-wrapper.valid > input.select-dropdown {
    border-bottom: 1px solid #00274B;
    -webkit-box-shadow: 0 1px 0 0 #00274B;
    box-shadow: 0 1px 0 0 #00274B;
}

input:not([type]):focus:not([readonly]) + label,
input[type=text]:not(.browser-default):focus:not([readonly]) + label,
input[type=password]:not(.browser-default):focus:not([readonly]) + label,
input[type=email]:not(.browser-default):focus:not([readonly]) + label,
input[type=url]:not(.browser-default):focus:not([readonly]) + label,
input[type=time]:not(.browser-default):focus:not([readonly]) + label,
input[type=date]:not(.browser-default):focus:not([readonly]) + label,
input[type=datetime]:not(.browser-default):focus:not([readonly]) + label,
input[type=datetime-local]:not(.browser-default):focus:not([readonly]) + label,
input[type=tel]:not(.browser-default):focus:not([readonly]) + label,
input[type=number]:not(.browser-default):focus:not([readonly]) + label,
input[type=search]:not(.browser-default):focus:not([readonly]) + label,
textarea.materialize-textarea:focus:not([readonly]) + label {
    color: #00274B;
}

.input-field input[type=text].valid {
    border-bottom: 1px solid #00274B;
}

.input-field input[type=text].valid + label {
    color: #00274B;
}

label, label.active {
    color: #00274B;
}

button:focus {
    outline: none;
    background-color: #00274B;
}

.kv-message-box ul {
    padding-left: 15px;
}

.kv-message-box ul:not(.browser-default) > li {
    list-style-type: disc;
}

.collapsible-header, .collapsible-body {
    background-color: #ffffff;
}

.collapsible li.active .badge i {
    -ms-transform: rotate(180deg); /* IE 9 */
    -webkit-transform: rotate(180deg); /* Chrome, Safari, Opera */
    transform: rotate(180deg);
}

.rotate {
    -moz-transition: all .3s linear;
    -webkit-transition: all .3s linear;
    transition: all .3s linear;
}

.large-text {
    font-size: 24px;
    line-height: 1.16em;
}

.medium-text {
    font-size: 18px;
    line-height: 1.16em;
}

.small-text {
    font-size: 14px;
    line-height: 1.16em;
}

.bold-text {
    font-family: KvbBold, sans-serif;
}

.password-policies li {
    list-style-type: disc !important;
}

.help-service-text a,
.help-text a {
    font-family: KvbBold, sans-serif;
    color: #00274B;
}

.notification-title {
    font-family: KvbBold, sans-serif;
}

footer .section3-layout {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
}

.fill {
    flex-grow: 1;
}

.footer-link {
    white-space: nowrap;
}

@media only screen and (max-width: 820px) {
    footer .section3-layout {
        flex-direction: column;
    }
}

@media only screen and (min-width: 601px) {

    footer .section1 {
        height: 100%;
    }

    footer .section2 {
        height: 100%;
    }

    footer .section3 {
        height: 100%;
    }

    footer .center-alignment-wrapper {
        height: 100%;
        display: flex;
        align-items: center;
    }
}

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

    #kv-login-form-container {
        padding-top: 50px;
    }

    footer {
        padding: 0;
    }

    footer .fill {
        display: none;
    }

    footer .row {
        margin-bottom: 0;
    }

    footer .row .col {
        margin-bottom: 0;
    }

    footer.row {
        display: flex;
        flex-direction: column;
    }

    footer .section1 {
        padding-top: 12px !important;
        order: 2;
        text-align: center;
    }

    footer .section2 {
        padding-bottom: 12px !important;
        order: 3;
        text-align: center;
    }

    footer .section3 {
        order: 1;
        text-align: center;
        padding: 0 !important;
    }

    footer .section3 .footer-link {
        padding: 12px 0 12px 0;
        margin: 0;
        border-bottom: 2px solid #ECE7E7;
    }

    footer .section3 .item1 {
        order: 3;
    }

    footer .section3 .item2 {
        order: 1;
    }

    footer .section3 .item3 {
        order: 2;
    }
}

iframe {
    display: block;
    visibility: hidden;
}
