:root {
    --right-panel-width: 576px;
    --gk-primary-button-color: #2F2BB7;
    --right-panel-padding: 72px;
    --top-panel-padding: 72px;
    --tablet-extra-padding: 0px;
    --custom-field-height: 40px;
    --display-on-mobile: none;
    --v-grey6-base: #4f6e8e;
    --v-grey1-base: #F9FAFC;
    --v-brand-base: #1c1c59;
    --v-primary-shade-base: #3A35DF;
}
@media only screen and (max-width: 1024px) {
    :root {
        --top-panel-padding: 50px;
        --right-panel-padding: 60px;
        --display-on-mobile: none;
        --right-panel-width: 100vw;
        --tablet-extra-padding: 130px;
    }
}
@media only screen and (max-width: 768px) {
    :root {
        --right-panel-padding: 30px;
        --top-panel-padding: 52px;
        --right-panel-width: 100vw;
        --display-on-mobile: flex;
        --tablet-extra-padding: 0px;
    }
}
@media screen and (max-width: 900px) {
    .left-image {
        display: none;
    }

    .right-content {
        width: 100%;
    }
}

.dynamic-margin {
    flex-grow: 1;
    display: var(--display-on-mobile);
}
body {
    margin: 0;
    height: 100vh;
}
#kc-form-login {
    height: calc(100vh - var(--top-panel-padding) - (var(--custom-field-height) * 3) - 100px);
    padding-right: var(--tablet-extra-padding);
    padding-left: var(--tablet-extra-padding);
}
form {
    display: flex;
    flex-flow: column;
    flex-wrap: nowrap;

}
.container {
    margin: 0;
    text-align: left;
}

.left-image {
    float: left;
    height: 100%;
    overflow: auto;
    width: calc(100% - var(--right-panel-width));
    object-fit: cover;
}

.right-content {
    background-color: white;
    height: 100vh;
    width: var(--right-panel-width);
    overflow: auto;
    float: right;
    position: relative;
}
*, *::before, *::after {
    box-sizing: border-box;
}

.custom-field {
    position: relative;
    font-size: 14px;
    height: var(--custom-field-height);
    border-top: 20px solid transparent;
    margin-bottom: 8px;
    --field-padding: 16px;
}
.custom-field input {
    border: none;
    -webkit-appearance: none;
    -ms-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background: var(--v-grey1-base);
    padding: 25px 10px 16px;
    /*padding: var(--field-padding) 10px;*/
    border-radius: 3px;
    width: calc(var(--right-panel-width) - (var(--right-panel-padding) * 2) - (var(--tablet-extra-padding) * 2));
    outline: none;
    font-size: 15px;
}

.custom-field .placeholder {
    position: absolute;
    left: 10px;
    width: calc(100% - (var(--field-padding) * 2));
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    top: 3px;
    line-height: 100%;
    transform: translateY(-50%);
    color: var(--v-grey6-base);
    transition:
            top 0.3s ease,
            color 0.3s ease,
            font-size 0.3s ease;
}
.input-wrapper:hover * {
    color: var(--v-primary-shade-base);
}
.custom-field input:hover:not(:focus) {
    color: var(--v-primary-shade-base);
    background:
            linear-gradient(90deg, var(--v-primary-shade-base), var(--v-primary-shade-base)) center bottom/0 0.15em no-repeat,
            linear-gradient(90deg, #ccc, #ccc) left bottom/100% 0.15em no-repeat,
            linear-gradient(90deg, #fafafa, #fafafa) left bottom/100% no-repeat !important;
    background-size: 100% 0.15em, 100% 0.1em, 100%;
}
.custom-field input.dirty + .placeholder,
.custom-field input:focus + .placeholder,
.custom-filed input:-webkit-autofill + .placeholder,
.custom-field input:not(:placeholder-shown) + .placeholder {
    top: -10px;
    font-size: 10px;
    color: var(--v-brand-base);
}
.custom-field input {
    border-radius: 0;
    border-top-left-radius: 3px;
    border-top-right-radius: 3px;
    background:
            linear-gradient(90deg, var(--v-brand-base), var(--v-brand-base)) center bottom/0 0.15em no-repeat,
            linear-gradient(90deg, #ccc, #ccc) left bottom/100% 0.15em no-repeat,
            linear-gradient(90deg, #fafafa, #fafafa) left bottom/100% no-repeat;
    transition: background-size 0.3s ease;
}


.custom-field input.dirty,
.custom-field input:not(:placeholder-shown),
.custom-field input:focus {
    background-size: 100% 0.15em, 100% 0.1em, 100%;
}


#input-error {
    color: red;
}

#gk_logo {
    padding-top: var(--top-panel-padding);
    padding-left: calc(var(--right-panel-padding) - 10px);
    padding-right: var(--right-panel-padding);
    width: 130px;
    position: relative;
    box-sizing: initial;
}

#kc-header {
    display: none;
}

#kc-page-title {
    padding-left: calc(var(--right-panel-padding) + var(--tablet-extra-padding));
    padding-right: calc(var(--right-panel-padding) + var(--tablet-extra-padding));
    padding-top: calc(var(--tablet-extra-padding)/2);
    padding-bottom: calc(var(--right-panel-padding) - 30px);
    color: var(--v-brand-base);
}

#kc-form {
    padding-left: var(--right-panel-padding);
    padding-right: var(--right-panel-padding);
    position: relative;
}

#kc-login {
    margin-top: 30px;
    width: calc(var(--right-panel-width) - (var(--right-panel-padding) * 2) - (var(--tablet-extra-padding) * 2));
    height: 48px;
    min-width: 78px;
    padding: 0 20px;
    background-color: var(--gk-primary-button-color);
    border-color: var(--gk-primary-button-color);
    box-shadow: 0px 0px 0px 0px rgb(0 0 0 / 20%), 0px 0px 0px 0px rgb(0 0 0 / 14%), 0px 0px 0px 0px rgb(0 0 0 / 12%) !important;
    font-size: 0.875rem;
    border-radius: 28px;

    align-items: center;
    display: inline-flex;
    flex: 0 0 auto;
    font-weight: 500;
    letter-spacing: 0.0892857143em;
    justify-content: center;
    outline: 0;
    position: relative;
    text-decoration: none;
    text-indent: 0.0892857143em;
    text-transform: uppercase;
    transition-duration: 0.28s;
    transition-property: box-shadow, transform, opacity;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    vertical-align: middle;
    white-space: nowrap;
    color: white;
}
#kc-login:hover {
    background-color: var(--v-primary-shade-base);
    border-color: var(--v-primary-shade-base);
}
#kc-login:before {
    background-color: currentColor;
    border-radius: inherit;
    bottom: 0;
    color: inherit;
    content: "";
    left: 0;
    opacity: 0;
    pointer-events: none;
    position: absolute;
    right: 0;
    top: 0;
    transition: opacity 0.2s cubic-bezier(0.4, 0, 0.6, 1);
}

@font-face {
    font-family: "roboto";
    font-style: normal;
    font-weight: 400;
    src: url("../fonts/Roboto/Roboto-Regular.ttf") format("truetype"),
    url("../fonts/Roboto/Roboto-Regular.ttf") format("truetype");
}
body {
    font-family: font-name, roboto !important;
}
a {
    text-decoration: none;
    color: #405F7F;
    font-size: 14px;
}
#noAccount {
    font-size: 14px;
}
#rememberMe {
    margin: 0;
    position: absolute;
}
#kc-social-providers {
    padding-left: var(--right-panel-padding);
    padding-right: var(--right-panel-padding);
}
#kc-registration-container {
    padding-left: var(--right-panel-padding);
    padding-right: var(--right-panel-padding);
}
.rememberMeText{
    margin-left: 16px;
}
.checkbox {
    padding-bottom: 10px;
    padding-top: 8px;
    font-size: 12px;
}
.checkbox[type="checkbox"]:before{
    position: relative;
    display: block;
    width: 15px;
    height: 15px;
    border: 1px solid var(--v-grey6-base);
    content: "";
    background: #FFF;
}

.checkbox[type="checkbox"]:disabled:after{
    -webkit-filter: opacity(0.4);
}
.checkbox[type="checkbox"]:not(:disabled):checked:hover:after{
    background-image:  url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAcAAAAHCAQAAABuW59YAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAIGNIUk0AAHolAACAgwAA+f8AAIDpAAB1MAAA6mAAADqYAAAXb5JfxUYAAAB2SURBVHjaAGkAlv8A3QDyAP0A/QD+Dam3W+kCAAD8APYAAgTVZaZCGwwA5wr0AvcA+Dh+7UX/x24AqK3Wg/8nt6w4/5q71wAAVP9g/7rTXf9n/+9N+AAAtpJa/zf/S//DhP8H/wAA4gzWj2P4lsf0JP0A/wADAHB0Ngka6UmKAAAAAElFTkSuQmCC'), linear-gradient(135deg, #8BB0C2 0%,#FFF 100%);
}
.checkbox[type="checkbox"]:not(:disabled):hover:after{
    background-image: linear-gradient(135deg, #8BB0C2 0%,#FFF 100%);
    border-color: #85A9BB #92C2DA #92C2DA #85A9BB;
}
.checkbox[type="checkbox"]:not(:disabled):hover:before{
    border-color: var(--v-primary-shade-base);
}
.locale-dropdown {
    display: block !important;
    margin-bottom: 9px;
    padding-bottom: 0px;
    height: 40px;
    background: var(--v-grey1-base);
    width: calc(var(--right-panel-width) - (var(--right-panel-padding) * 2) - (var(--tablet-extra-padding) * 2));
    border-style: solid;
    border-width: 0 0 1px 0;
    border-color: var(--v-grey6-base);

}
#kc-locale {
    display: none;
}
#kc-locale ul {
    width: calc(var(--right-panel-width) - (var(--right-panel-padding) * 2) - (var(--tablet-extra-padding) * 2));
    display: none;
    position: relative;
    background-color: white;
    list-style: none;
    right: 0;
    min-width: 100px;
    padding: 2px 0;
    z-index: 1;
    border: 1px solid #E6E9F1;
    border-radius: 0px 0px 8px 8px;
}
#kc-locale:hover ul {
    display: block;
    margin-top: -7px;
}

#kc-locale ul li a {
    display: block;
    padding: 11px 9px;
    color: var(--v-grey6-base);
    text-decoration: none;
    line-height: 20px;
    border-color: #dce0e8;
    border-top-width: 1px;
    border-bottom-width: 0;
    border-left-width: 0;
    border-right-width: 0;
    border-style: solid;
}

#kc-locale ul li a:hover {
    color: var(--v-primary-shade-base);
    background-color: var(--v-grey1-base)
}

#kc-locale-dropdown a {
    background: 0 0;
    font-weight: 300;
    height: 44px;
}
#kc-locale-dropdown a:hover {
    color: var(--v-primary-shade-base);
}
#kc-locale-dropdown a:hover {
    text-decoration: none;
}

a#kc-current-locale-link {
    display: block;
    padding: 0 10px;
    top: 50%;
    color: var(--v-grey6-base);
    transform: translateY(25%);
    -ms-transform: translateY(25%);
}
a#kc-current-locale-link:hover {
    color: var(--v-primary-shade-base);
}

a#kc-current-locale-link::after {
    content: "\2c5";
    font-size: x-large;
    font-weight: bold;
    text-align: right;
    float:right;
}
.kc-dropdown-item {

}
.alert-error {
    padding-left: var(--right-panel-padding);
    padding-right: var(--right-panel-padding);
    padding-bottom: 10px;
    color: red;
}