.ol-container {
	padding: 40px;
	max-width: 300px;
	margin: 0 auto;
	position: relative;
	overflow: hidden;
}

.ol-container.ol-edit-profile,
.ol-edit-profile .ol-form {
	background: transparent;
	border-width: 0;
	padding: 0;
	width: auto;
	max-width: none;
}

.ol-form,
.ol-user-profile {
	border-color: inherit;
	display: block;
	visibility: visible;
	position: relative;
	width: 100%;
	z-index: 10;
	
	-webkit-box-sizing:	border-box;
	-moz-box-sizing:	border-box;
	box-sizing:			border-box;
}

.js-ready .ol-form,
.js-ready .ol-user-profile {
	padding: 0 40px;
	opacity: 1;
	position: absolute;
	left: 0;
	
	-webkit-transition:	left .3s ease-in-out, opacity .3s ease-in-out;
	-moz-transition:	left .3s ease-in-out, opacity .3s ease-in-out;
	transition:			left .3s ease-in-out, opacity .3s ease-in-out;
}

.ol-form.ol-edit-profile-form {
	padding: 0;
}

.js-ready .ol-form.ol-edit-profile-form {
	position: relative;
}

.js-ready .ol-form.loading,
.js-ready .ol-user-profile.loading {
	opacity: .3;
	
	-webkit-backface-visibility: hidden;
}

.ol-form.hidden,
.ol-user-profile.hidden {
	display: none;
	visibility: hidden;
	opacity: 0;
	z-index: 0;
}

.ol-form.hidden.loading,
.ol-user-profile.hidden.loading {
	opacity: 0;
}

.js-ready .ol-form.hidden,
.js-ready .ol-user-profile.hidden {
	display: block;
	visibility: visible;
	left: -100%;
}

.js-ready .ol-form.ol-register-form.hidden {
	left: 100%;
}

.js-ready .ol-form.ol-reset-password-form {
	display: block;
	margin-left: 0;
	margin-right: 0;
	position: static;
	left: auto;
	top: auto;
	padding: 0;
}

.ol-form.ol-reset-password-form .form-actions {
	margin: 0;
}

.ol-container .ol-form-title,
.ol-container .ol-profile-title {
	margin-top: 0;
	text-align: center;
	font-size: 24px;
	line-height: 40px;
	margin-bottom: 20px;
}

.ol-container .ol-form-title small,
.ol-container .ol-profile-title small {
	display: block;
	font-size: 11px;
	text-transform: uppercase;
}

.ol-field-container {
	margin-bottom: 20px;
}

.ol-form input[type="text"],
.ol-form input[type="password"],
.ol-form input[type="email"],
.ol-form input[type="search"],
.ol-form input[type="number"] {
	-webkit-transition:	background-color .3s ease-in-out;
	-moz-transition:	background-color .3s ease-in-out;
	transition:			background-color .3s ease-in-out;
}

.ol-form textarea {
	height: 150px;
}

.ol-rememberme-container {
	float: left;
	max-width: 50%;
	padding: 10px 0;
	margin-bottom: 0;
}

.ol-login-submit {
	float: right;
}

.ol-form-nav,
.ol-profile-nav {
	border-top: 2px solid #e6e6e6;
	padding-top: 18px;
	height: 20px;
}

.ol-lost-password-link {
	float: left;
}

.ol-register-link,
.ol-login-link {
	float: right;
}

.ol-form .description {
	font-style: italic;
}

.ol-form .form-actions {
	margin-bottom: 20px;
}

.ol-notice {
	clear: both;
}

.form-actions .ol-notice {
	margin-top: 20px;
}

.ol-notice p {
	margin-bottom: 10px;
}

.ol-notice p:last-child {
	margin-bottom: 0;
}

.ol-user-profile {
	border-color: inherit;
	text-align: center;
}

.ol-user-profile .avatar {
	width: 100px;
	height: 100px;
	margin: 0 auto 20px;
	overflow: hidden;
	
	-webkit-border-radius:	100px;
	-moz-border-radius:		100px;
	border-radius:			100px;
}

.ol-user-profile .avatar img {
	-webkit-border-radius:	100px;
	-moz-border-radius:		100px;
	border-radius:			100px;
}

.ol-user-profile .ol-logout-link {
	text-align: right;
	float: right;
}

.ol-user-profile .ol-edit-profile-link {
	text-align: left;
	float: left;
}

.ol-edit-profile-form fieldset {
	clear: both;
	margin-left: -5%;
	width: auto;
}

.ol-edit-profile-form .ol-field-container.ol-large-container {
	width: auto;
	float: none;
}

.ol-edit-profile-form .ol-field-container {
	float: left;
	width: 45%;
	margin-left: 5%;
}

.ol-container.ol-edit-profile {
	-webkit-box-shadow: none;
	-moz-box-shadow: none;
	box-shadow: none;
}

.ol-container .spinner {
	display: none;
}

.ol-container.loading .spinner {
	display: block;
}

.ol-form .ol-no-show {
	display: none;
	visibility: hidden;
}

/* WIDGET */
.widget .ol-container {
	border-width: 0;
	padding: 0;
	max-width: none;
	border-width: 0;
	background: transparent;
	
	-webkit-box-shadow: none;
	   -moz-box-shadow: none;
	   		box-shadow: none;
}

.js-ready .widget .ol-form,
.js-ready .widget .ol-user-profile {
	padding: 0;
}

.widget .ol-field-container {
	margin-bottom: 10px;
}

.widget .ol-form .form-actions {
	margin: 0;
}

.widget .ol-form-nav,
.widget .ol-profile-nav {
	font-size: 12px;
	padding-top: 10px;
	border-width: 0;
}

.widget .ol-notice {
	padding: 10px;
	padding-bottom: 0;
	margin: 10px 0;
}

.widget .ol-container .ol-notice p {
	font-size: 12px;
	margin-bottom: 10px;
	line-height: 1.5;
}

.widget .ol-container .description {
	margin-bottom: 10px;
}

.widget .ol-rememberme-container {
	float: none;
	width: auto;
	max-width: none;
	padding: 0;
	margin-bottom: 10px;
}

.widget .ol-container .ol-profile-title {
	text-align: left;
	line-height: 20px;
	font-size: 15px;
	margin: 0;
}

.widget .ol-user-profile .avatar {
	float: left;
	width: 50px;
	height: 50px;
	border: 4px solid #ffffff;
}

.widget .user-profile-card {
	height: 58px;
	position: relative;
	overflow: hidden;
}

.widget .user-profile-card[class] {
	display: table;
}

.widget .user-card-avatar-container {
	display: block;
	width: 58px;
	height: 58px;
	position: absolute;
	top: 0;
	left: 0;
	overflow: hidden;
}

.widget .user-card-avatar-container[class] {
	left: auto;
	top: auto;
}

.widget .user-profile-card-info {
	position: absolute;
	top: 50%;
	padding-left: 68px;
}

.widget .user-profile-card-info[class] {
	display: table-cell;
	vertical-align: middle;
	position: static;
}

.widget .user-profile-card-info-inner {
	position: relative;
	top: -50%;
}

.widget .user-profile-card-info-inner[class] {
	position: static;
}


/* MODAL */
.modal .ol-container {
	border-width: 0;
	max-width: none;
	padding: 0 30px;
	margin-left: -30px;
	margin-right: -30px;
	
	-webkit-box-shadow: none;
	-moz-box-shadow: none;
	box-shadow: none;
}

.modal .ol-container .ol-form {
	padding: 0 30px;
}

.modal .ol-container .form-actions {
	margin-top: 0;
}

.modal .ol-login-form .button {
	float: none;
}

.modal .ol-rememberme-container {
	float: none;
	max-width: none;
	padding-top: 0;
}

.modal .ol-form .description {
	margin-bottom: 20px;
}


/* SPINNERS */
.spinner {
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
}

.spinner.small {
	background: url(../images/spinner-small.png) 0 0 no-repeat;
	margin: -8px 0 0 -8px;
	width: 16px;
	height: 17px;
}

.spinner.big {
	background: url(../images/spinner-big.png) 0 0 no-repeat;
	margin: -10px 0 0 -10px;
	width: 20px;
	height: 21px;
}

@media
(-webkit-min-device-pixel-ratio: 1.5),
(-moz-min-device-pixel-ratio: 1.5),
(min--moz-device-pixel-ratio: 1.5),
(-o-min-device-pixel-ratio: 3/2),
(min-device-pixel-ratio: 1.5) {
	.spinner.small {
		background-image: url(../images/spinner-small_2x.png);
		background-size: 16px 204px;
	}

	.spinner.big {
		background-image: url(../images/spinner-big_2x.png);
		background-size: 20px 252px;
	}
}

@media (max-width: 767px) {
	.ol-container {
		padding: 20px;
	}
	
	.modal .ol-container {
		margin-left: -20px;
		margin-right: -20px;
	}
	
	.modal .ol-container .ol-form {
		padding: 0 20px;
	}
	
	.js-ready .ol-form,
	.js-ready .ol-user-profile {
		padding: 0 20px;
	}
	
	.ol-rememberme-container {
		float: none;
		max-width: none;
		padding: 0 0 15px;
	}
	
	.ol-edit-profile-form .ol-field-container {
		float: none;
		width: auto;
		margin-left: 0;
	}
	
	.ol-edit-profile-form fieldset {
		margin-left: 0;
	}
}

@media (min-width: 768px) and (max-width: 979px) {
	.widget .user-profile-card,
	.widget .user-profile-card-info[class] {
		display: block;
		position: static;
		overflow: visible;
	}
	
	.widget .user-card-avatar-container {
		position: static;
		margin: 0 auto 10px;
	}
	
	.widget .user-profile-card-info {
		position: static;
		text-align: center;
		padding-left: 0;
		overflow: visible;
	}
	
	.widget .ol-container .ol-profile-title {
		text-align: center;
	}
	
	.widget .ol-profile-nav {
		height: auto;
		text-align: center;
	}
	
	.widget .ol-user-profile .ol-logout-link,
	.widget .ol-user-profile .ol-edit-profile-link {
		display: block;
		float: none;
		text-align: center;
	}
}