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

* {
    color: #414141;
    font-family: "Allianz Neo",sans-serif;
    font-size: 16px;
    line-height: 24px;
    font-weight: 400;
    letter-spacing: 0;
    text-decoration: none;
}

#top-wrapper {
    height: 100%;
    display: flex;
    flex-direction: column;
}

/* ------ */
/* Header */
/* ------ */
img.allianz-logo {
    height: 30px
}

.img-wrapper {
    display: flex;
    align-items: center;
}

#kc-header-wrapper {
    display: none;
}

#kc-header {
    border-bottom: 1px solid #D9D9D9;
    padding: 15px 24px;
    display: flex;
}

header * {
    font-weight: 300;
    text-align: center;
}

h2#kc-page-title-small {
    font-size: 26px;
    line-height: 32px;
    letter-spacing: .2px
}

h1#kc-page-title {
    font-size: 54px;
    line-height: 60px;
    letter-spacing: .3px;
}

/* -------------- */
/* Content & Form */
/* -------------- */
.page-container {
    overflow: auto;
}

#kc-content {
    margin: 0 auto 50px auto;
    width: 352px;
}

form {
    height: 230px;
    display: flex;
    flex-direction: column;
    justify-content: space-around;
}

input[type="text"], input[type="password"], select {
    font-weight: 300;
    width: 100%;
    height: 40px;
    border: 1px solid #767676;
    border-radius: 4px;
    padding: 0px 5px 0px 5px;
    margin: 1px;
    box-sizing: border-box;
    background-color: white;
}

form a {
    color: #006192;
    letter-spacing: 1px;
}

form a:before {
    font-family: PatternLab-Icon;
    content: "\E903";
    padding-right: 5px;
    line-height: inherit;
}

input[type="submit"] {
    height: 48px;
    width: 100%;
    opacity: 1.0;
    border-radius: 4px;
    color: #ffffff;
    background-color: #007ab3;
    padding: 0;
    text-transform: uppercase;
}

textarea:focus, input:focus, input[type]:focus, .uneditable-input:focus, select:focus {
    border-color: #006192;
    box-shadow: 0 0 0 2px #009DE6;
    outline: none
}

input[type="submit"]:disabled {
    opacity: 0.4;
}

input[type="submit"]:focus {
    background-color: #856999;
}

#kc-locale {
    flex: 1;
    display: flex;
    justify-content: flex-end;
    align-items: center
}

/* -------------- */
/* Error Messages */
/* -------------- */
#kc-info-wrapper, .alert {
    color: #414141;
    display: flex;
    align-items: flex-start;
    position: relative;
    background-color: #fff;
    border: 1px solid #dc3149;
    border-radius: 4px;
    box-shadow: 0 2px 4px rgba(65,65,65,.5);
    padding: 23px;
    margin: 12px 0;
    font-size: 16px;
    line-height: 24px;
}

#kc-info-wrapper:before, .alert:before {
    content: "";
    font-family: PatternLab-Icon;
    color: #dc3149;
    margin-right: 10px;
    font-size: 24px;
}

/* ------ */
/* Footer */
/* ------ */
.footer {
    position: sticky;
    width: 100%;
    bottom: 0;
    border-top: 1px solid #D9D9D9;
    padding: 24px;
    display: flex;
    justify-content: space-between;
}

.font-patternlab-icon {
    font-family: PatternLab-Icon
}

nav * {
    color: #767676;
    letter-spacing: 1px;
}

nav a {
    margin-right: 32px;
}

.emphasized {
    font-weight: 600;
}

/* ----- */
/* Fonts */
/* ----- */
@font-face {
    font-family: "Allianz Neo";
    src: url("../fonts/AllianzNeo-Bold.woff2");
    font-weight: 600;
}

@font-face {
    font-family: "Allianz Neo";
    src: url("../fonts/AllianzNeo-Regular.woff2");
    font-weight: 400;
}

@font-face {
    font-family: "Allianz Neo";
    src: url("../fonts/AllianzNeo-Light.woff2");
    font-weight: 300;
}

@font-face {
    font-family: "PatternLab-Icon";
    src: url("../fonts/PatternLab-Icon.woff");
}
