* {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

.login-pf body {
    background-color: #fff;
	font-family: Helvetica, sans-serif;
	font-size: 11px;
}

.login-pf-page {
	font-size: 1em;
}	

.alert-error {
	font-size: 1.4em;
	background-color: #f2dede;
    color: #a94442;
	padding: 15px;
    margin-bottom: 20px;
    border: 1px solid #ebccd1;
    border-radius: 4px;
}

#input-error {
    font-size: 1.4em;
    color: #a94442;
    margin-bottom: 10px;
}

.login-pf a {
	color: #267db7;
	text-decoration: underline;
}

.login-pf a:hover {
    text-decoration: none;
}

#kc-header {
    overflow: visible;
    white-space: nowrap;
}

#kc-logo {
    width: 100%;
}

.kc-logo-text,
.login-pf-page-header {
    background-image: url(../img/geometrix-logo.png);
    background-repeat: no-repeat;
	background-size: 100% 100%;
    height: 114px;
    width: 180px;
    margin: 0 auto;
}

.kc-logo-text span,
#kc-header-wrapper {
    display: none;
}

.card-pf {
	max-width: 400px;
    padding: 10px;
    margin: 10px auto 0 auto;
    background-color: #F4F4F2;
    border: 1px solid #dee2dc;
    border-radius: 4px;
	overflow: hidden;
}

#kc-page-title {
	font-size: 2.3em;
    font-weight: bold;
    letter-spacing: 0.02em;
    text-align: center;
    margin: 5px 0 10px 0;
    color: #6ea6cc;
    text-shadow: 0px 2px 1px #fff;
}

#kc-content {
    width: 100%;
	float: left;
}

.form-group {
	float: left;
	width: 100%;
}

input[type="text"].form-control,
input[type="password"].form-control {
	display: block;
    width: 100%;
	position: relative;
    height: auto;
	line-height: 1.42857143;
    color: #555;
    background-color: #fff;
    border: 1px solid #ccc;
    padding: .7em;
    font-size: 1.4em;
    margin: 0 0 1em 0;
    border-radius: 8px;   
}

.control-label {
	font-size: 1.2em;
	display: block;
    padding: 5px;
}

#kc-form-buttons {
	float: left;
	width: 100%;
}

#kc-form-buttons input,
.login-pf-social a {
	margin: 0;
    color: #fff;
    border-radius: .5em;
    background-color: #99ccee;
    background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #a9d5f2), color-stop(50%, #8baf57), color-stop(50%, #81b7db), color-stop(100%, #648931));
    background-image: -webkit-linear-gradient(top, #a9d5f2 0%, #99ccee 50%, #81b7db 50%, #408fc4 100%);
    background-image: -moz-linear-gradient(top, #a9d5f2 0%, #99ccee 50%, #81b7db 50%, #408fc4 100%);
    background-image: -ms-linear-gradient(top, #a9d5f2 0%, #99ccee 50%, #81b7db 50%, #408fc4 100%);
    background-image: -o-linear-gradient(top, #a9d5f2 0%, #99ccee 50%, #81b7db 50%, #408fc4 100%);
    background-image: linear-gradient(top, #a9d5f2 0%, #99ccee 50%, #81b7db 50%, #408fc4 100%);
    border: 1px solid #326584;
    border-bottom: 1px solid #265777;
    box-shadow: inset 0 1px 0 0 #cfe7f7;
    padding: .4em 0;
    text-decoration: none;
    text-align: center;
    text-shadow: 1px 1px 1px #265777;
    font-weight: bold;
    letter-spacing: 1px;
    font-size: 1.9em;
	display: block;
	width: 100%;
}

#kc-form-buttons input:hover {
    background-color: #84bbe0;
    background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #99ccee), color-stop(50%, #84bbe0), color-stop(50%, #68a2c9), color-stop(100%, #267db7));
    background-image: -webkit-linear-gradient(top, #99ccee 0%, #84bbe0 50%, #68a2c9 50%, #267db7 100%);
    background-image: -moz-linear-gradient(top, #99ccee 0%, #84bbe0 50%, #68a2c9 50%, #267db7 100%);
    background-image: -ms-linear-gradient(top, #99ccee 0%, #84bbe0 50%, #68a2c9 50%, #267db7 100%);
    background-image: -o-linear-gradient(top, #99ccee 0%, #84bbe0 50%, #68a2c9 50%, #267db7 100%);
    background-image: linear-gradient(top, #99ccee 0%, #84bbe0 50%, #68a2c9 50%, #267db7 100%);
    box-shadow: inset 0 1px 0 0 #a9d5f2;
    cursor: pointer;
}

.login-pf-social a {
	background-color: #85C440;
	background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #a9d5f2), color-stop(50%, #85C440), color-stop(50%, #7eb23e), color-stop(100%, #7aaa3b));
    background-image: -webkit-linear-gradient(top, #97d352 0%, #85C440 50%, #7eb23e 50%, #7aaa3b 100%);
    background-image: -moz-linear-gradient(top, #97d352 0%, #85C440 50%, #7eb23e 50%, #7aaa3b 100%);
    background-image: -ms-linear-gradient(top, #97d352 0%, #85C440 50%, #7eb23e 50%, #7aaa3b 100%);
    background-image: -o-linear-gradient(top, #97d352 0%, #85C440 50%, #7eb23e 50%, #7aaa3b 100%);
    background-image: linear-gradient(top, #97d352 0%, #85C440 50%, #7eb23e 50%, #7aaa3b 100%);
	box-shadow: inset 0 1px 0 0 #ddf4cd;
}

.login-pf-social a:hover {
    background-color: #85C440;
    background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #92cc4b), color-stop(50%, #8abf44), color-stop(50%, #7eaf3d), color-stop(100%, #5f8c28));
    background-image: -webkit-linear-gradient(top, #92cc4b 0%, #8abf44 50%, #7eaf3d 50%, #5f8c28 100%);
    background-image: -moz-linear-gradient(top, #92cc4b 0%, #8abf44 50%, #7eaf3d 50%, #5f8c28 100%);
    background-image: -ms-linear-gradient(top, #92cc4b 0%, #8abf44 50%, #7eaf3d 50%, #5f8c28 100%);
    background-image: -o-linear-gradient(top, #92cc4b 0%, #8abf44 50%, #7eaf3d 50%, #5f8c28 100%);
    background-image: linear-gradient(top, #92cc4b 0%, #8abf44 50%, #7eaf3d 50%, #5f8c28 100%);
    box-shadow: inset 0 1px 0 0 #d0eabe;
    cursor: pointer;
}

#kc-form-options {
	font-size: 1.1em;
}

#kc-form-options .checkbox {
    float: left;
    margin: 1em 0 0 0;
}

#kc-form-options input[type="checkbox"] {
	margin: 0 .2em .2em 0;
	vertical-align: middle;
}

.form-options {
	float: right;
    margin: 1em 0 0 0;
}

.form-horizontal {
    margin: 1em 0 0 0;
}

.pf-m-warning {
    margin-left: 4px;
}

.pf-m-success {
    margin-left: 4px;
    padding-bottom: 10px;
}

.error-message {
    margin-left: 4px;
    font-size: 1.4em;
    color: #a94442;
}

#kc-social-providers {
	width: 100%;
	float: left;
	margin: .5em 0 0 0;
	padding: .5em 0 0 0;
	border-top: 1px solid #dee2dc;
	font-weight: bold;
	font-size: 1.4em;
}

.login-pf-social {
	list-style-type: none;
	margin: 0;
	padding: 5px 0;
	float: left;
	width: 100%;
}

.login-pf-social {
	width: 100%;
	float: left;
	display: block;
}

.login-pf-social a {
	font-size: 1.3em;
	margin: 0;
}

.cookies-info-container,
.browser-info-container {
    max-width: 500px;
    color: #2a2756;
	text-align: center;
	margin: 3em auto 0 auto;
}

.browser-icons {
    margin: 1em 0 0 0;
}

.browser-icons img {
    width: 3em;
    height: 3em;
}

/** small clients **/
@media screen and (max-width: 768px) {
    .login-pf-page-header {
        background-image: url(../img/geometrix-logo-small.png);
        height: 50px;
        width: 162px;
    }

    .card-pf {
        background-color: #fff;
        border: none;
        margin: 0 auto;
        padding: 0;
        font-size: .9em;
    }

    input[type="text"].form-control,
    input[type="password"].form-control {
        padding: .5em;
    }

    .browser-info-container {
        display: none;
    }
}

.email-instruction {
    padding: 10px;
}

.back-to-login {
    padding-bottom: 10px;
    float: right;
}
