@keyframes button-spinner {
	0% {
		transform: translateY(-50%) rotate(0deg);
	}
	100% {
		transform: translateY(-50%) rotate(360deg);
	}
}
input.loading::after, a.loading::after, button.loading::after{
	content: "";
	position: absolute;
	width: 14px;
	height: 14px;
	border: 2px solid #fff;
	border-right-color: transparent;
	border-radius: 50%;
	left: 25%;
	top: 50%;
	animation: button-spinner .5s linear infinite;
}
.registration_page div.invalid{	border: 1px solid red; }
.registration_page{	background-color: #c7e4f6; }
.registration_page .registration_wraper{width: 100%; padding: 70px;
	background-image: url(/images/site/registration_bg_girl.png); background-position-x: left; background-position-y: 75%; background-repeat: no-repeat;}
.registration_page .registration_txt{width: 50%; float: left;}
.registration_page .registration_flag{padding-top: 100px;}
.registration_page .register_title{color: #1a7bb9; font-size: 38px; padding: 44px 60px 44px 0; font-weight: bold;}
.registration_page .register_txt{color: #1a7bb9; font-size: 16px; padding-right: 60px; line-height: 30px;}
.registration_page .info_bulle{background-color: #e2f2fc; padding: 5px 10px; border-radius: 8px; font-size: 12px; display: none;}
.registration_page .registration_form{width: 50%; float: right;}
.registration_page .registration_form form{background-color: #FFF; border-radius: 20px; padding: 34px;}
.registration_page .input_face{background-color: #FFF; border-radius: 10px; text-align: center; border: 1px solid #000; cursor: pointer; margin-bottom: 15px}
.registration_page .input_google{background-color: #FFF; border-radius: 10px;  text-align: center; border: 1px solid #000; cursor: pointer;}
.registration_page .input_user_group{padding-bottom: 15px;}
.registration_page .input_user_group li{float: left; width: 50%;}
.registration_page .input_user_part{background-color: #eff8fe; border-radius: 10px; padding: 12px; text-align: center; border: 1px solid #1a7bb9; cursor: pointer; color: #1a7bb9; margin-right: 5px;}
.registration_page .input_user_pro{background-color: #FFF; border-radius: 10px; padding: 12px; text-align: center; border: 1px solid #000; cursor: pointer; margin-left: 5px;}
.registration_page .input_group{background-color: #f5f5f5; margin-bottom: 15px; border-radius: 10px; padding: 10px 30px 10px 70px;}
.registration_page .input_label{color: #919191; font-size: 14px;}
.registration_page .input_user_label{ font-size: 16px; padding-bottom: 6px;}
.registration_page .input_group input, .registration_page .input_group select{border: none; background: none; font-weight: bold;}
.registration_page .bg_user, .registration_page .bg_mail, .registration_page .bg_password, .registration_page .bg_info{background-position-x: 20px; background-position-y: center; background-repeat: no-repeat;}
.registration_page .bg_user{background-image: url(/images/site/registration_user.png); }
.registration_page .bg_mail{background-image: url(/images/site/registration_mail.png); }
.registration_page .bg_password{background-image: url(/images/site/registration_password.png); }
.registration_page .bg_info{background-image: url(/images/site/registration_info.png); }
.registration_page .condition_group{padding-top: 10px;}
.registration_page .registration_submit{
	background-color: #1a7bb9; color: #FFF; border-radius: 10px; padding: 15px; border: none; width: 100%; margin-top: 15px;
	display: block !important;
}
.registration_page .registration_submit:hover{
background: #0564a2;
color: #fff;
}
input.loading, a.loading, button.loading{
	position: relative;
	pointer-events: none;
}
.registration_page .registration_ou{padding: 15px; text-align: center; font-size: 20px;}
.registration_page .suiss_group{text-align: center; padding-top: 10px; color: #1a7bb9;}

.detail_registration .iradio_flat-blue {
	margin-right:10px;
}
.detail_registration .registration_page a.fb_btn {
  color: #3a484b;
  background-color: transparent;
  padding: 5px 0;
  line-height: 41px;
  display: block;
  text-align: center;
  font-size: 14px;
  height: 50px;
  fill: #1a7bb9;
  border-radius: 10px;
}
.detail_registration .registration_page a.fb_btn span {
  display: inline-block;
  margin-top: 7px;
  margin-right: 10px;
}
.detail_registration .registration_page a:hover {
  background-color: #F5F5F5;
}
.detail_registration .registration_page .google_btn {
  border: 0;
  background-color: #FFF;
  width: 100%;
  display: block;
  padding: 0;
  height: 50px;
  border-radius: 10px;
  line-height: 50px;
  color: #3a484b;
}
.detail_registration .registration_page .google_btn span.icon{
  margin-top: 7px;
  display: inline-block;
  margin-right: 10px;
}

@media screen and (max-width: 768px){
	.registration_page .registration_txt{float: initial; width: 100%;}
	.registration_page .registration_form{float: initial; width: 100%;}
	.registration_page .registration_page{height: initial;}
	.registration_page .registration_wraper{padding: 20px 10px 50px 10px;}
	.registration_page .register_title{padding: 15px 0 15px 0; line-height:48px;}
	.registration_page .register_txt{padding-right: 0px; padding-bottom: 30px;}		
	.registration_page .registration_flag {padding-top: 0px;}
}
	
/* Styles radios */
.registration_form .radio-inline, .registration_form .check-label, .registration_form .checkbox-inline {
	cursor: pointer;
    padding-left: 20px;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    margin-bottom: 0;
    font-weight: normal;
    font-size: 15px;
    line-height: 24px;
    height: 28px;
    position: relative;
}
.registration_form .check-label{
    padding-left: 30px;
	height: auto;
	line-height: 20px;
}



/* Styles les inputs */
.registration_page .input-container {
	padding: 0;
	margin: 0;
	position: relative;
	z-index: 0;
	text-align: left;
	overflow: hidden;
	background: transparent;
}

.registration_page .input-container:after {
	content: "";
	position: absolute;
	bottom: -0.125rem;
	left: 0;
	right: 0;
	width: 0;
	height: 0.125rem;
	background: transparent;
	-webkit-transition: width .5s;
	-moz-transition: width .5s;
	transition: width .5s;
}

.registration_page .input-container > input,.registration_page  .input-container > .input {
	outline: none;
	border: none;
	display: block;
	width: 100%;
	background: transparent !important;
	resize: none;
	height: 42px;
	padding: 0;
}

.registration_page .input-container > textarea {
	-webkit-transition: height .5s;
	-moz-transition: height .5s;
	transition: height .5s;
	overflow: hidden;
}

.registration_page .input-container > label{
	font-family: "Open Sans", 'Ubuntu', Arial,sans-serif;
	font-weight: 400;
	font-size: 14px;
	line-height: 20px;
	color: #919191;
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	-webkit-transform: translateY(10px);
	-moz-transform: translateY(10px);
	-ms-transform: translateY(10px);
	transform: translateY(10px);
	-webkit-transition: all .5s;
	-moz-transition: all .5s;
	transition: all .5s;
	z-index: -1;
	margin: 0;
	padding: 0;
	width: auto !important;
}

.registration_page .input-container > label span {
	font-size: 0.875rem;
}

.registration_page .input-container.has-bg {
	border-bottom: 0;
}

.registration_page .input-container.has-focus label {
	-webkit-transform: translateY(0px);
	-moz-transform: translateY(0px);
	-ms-transform: translateY(0px);
	transform: translateY(0px);	
	font-weight: 400;
	font-size: 14px;
	line-height: 20px;
	color: #919191;
	z-index: 9999 !important;
}

.registration_page .input-container.has-focus input[type="text"],
.registration_page .input-container.has-focus input[type="password"],
.registration_page .input-container.has-focus input[type="email"],
.registration_page .input-container.has-focus input[type="tel"],
.registration_page .input-container.has-focus .input {
	padding-top: 22px !important;
}
.registration_page .input-container.has-focus textarea{
	padding-top: 26px !important;
}

.registration_page .input-container.has-focus label span {
	font-size: 0.5rem;
}

.registration_page .input-container.has-select {
	position: relative;
	overflow: visible;
}

.registration_page .input-container.has-select .custom-selector {
	text-align: left;
	height: 42px;
}

.registration_page .input-container select.generated,
.registration_page .input-container.has-focus select.generated{
	display: block !important;
	max-height: 0 !important;
	padding: 0 !important;
	opacity: 0 !important;
	position: absolute;
}

.registration_page .input-container.has-select .custom-selector .selector-header {
	line-height: 20px;
	min-height: 42px;
	padding-right: 15px;
	cursor: pointer;
	position: relative;
}

.registration_page .input-container.has-select .custom-selector .selector-header:after {
	content: "";
	position: absolute;
	right: 0;
	top: 0;
	bottom: 0;
	margin: auto;
	width: 26px;
	height: 26px;
	background-image: url(icon-arrow-down.svg);
	background-repeat: no-repeat;
	background-position: right center;
	background-size: 26px 26px;
	-webkit-transition: transform 0.5s;
	-moz-transition: transform 0.5s;
	transition: transform 0.5s;
}

.registration_page .input-container.has-select .custom-selector.opened .selector-header:after {
	-webkit-transform: rotate(180deg);
    -moz-transform: rotate(180deg);
    -ms-transform: rotate(180deg);
    transform: rotate(180deg);
}

.registration_page .input-container.has-select .custom-selector .selector-header p {
	font-size: 14px;
    line-height: 40px;
    margin: 0;
    color: #3a484b;
    font-family: "Open Sans", 'Ubuntu', Arial,sans-serif;
    font-weight: 700;
    padding: 10px 0 0;
}

.registration_page .input-container.has-select .custom-selector .selector-items {
	position: absolute;
	top: 52px;
	left: -15px;
	right: 0;
	padding: 10px 15px 15px;
	background: #ffffff;
	z-index: 9999;
	-webkit-box-shadow: 0px 15px 20px 0px rgba(196,197,197,0.4);
	-moz-box-shadow: 0px 15px 20px 0px rgba(196,197,197,0.4);
	box-shadow: 0px 15px 20px 0px rgba(196,197,197,0.4);
	-webkit-transition: all 0.5s ease 0s;
	-moz-transition: all 0.5s ease 0s;
	transition: all 0.5s ease 0s;
	overflow: hidden;
	max-height: 0;
	opacity: 0;
	visibility: hidden;
	border-top: 0 #f2f2f3 solid;
}

.registration_page .input-container.has-select .custom-selector .selector-items .list-items {
	position: relative;
	margin: 0;
	padding: 0;
}

.registration_page .input-container.has-select .custom-selector .selector-items .item {
	display: block;
	font-size: 14px;
	color: #919191;
	line-height: 25px;
	cursor: pointer;
	padding: 0;
	font-family: "Open Sans", 'Ubuntu', Arial,sans-serif;
    font-weight: 400;
}
.registration_page .input-container.has-select .custom-selector .selector-items .item:hover{
	font-weight: 600;
}

.registration_page .input-container.has-select .custom-selector .selector-items .item.first {
	display: none;
}

.registration_page .input-container.has-select .custom-selector .selector-items .item.active {
	font-weight: 600;
}

.registration_page .input-container.has-select .custom-selector.opened .selector-items {
	max-height: none;
	opacity: 1;
	visibility: visible;
}

.registration_page .input-container.has-select.has-bg .custom-selector .selector-items {
	background-color: #ffe04a;
}

.registration_page .input-container.has-select.has-bg .custom-selector .selector-items .ps__rail-y {
	background-color: rgba(255, 255, 255, 0.5) !important;
}

.input-container.has-select.has-bg .custom-selector .selector-items .ps__rail-y:after, .input-container.has-select.has-bg .custom-selector .selector-items .ps__rail-y:before {
	background-color: #ffe04a;
}

.input-container.has-select.has-bg .custom-selector .selector-items .ps__rail-y .ps__thumb-y {
	background-color: #4b4b55 !important;
}

.input-container.has-check {
	border: none;
	background: none;
    box-shadow: none;
}

.input-container.has-check .input, .input-container.has-check input[type="checkbox"] {
	display: none !important;
}

.input-container.has-check .input:checked + label:after,
.input-container.has-check input[type="checkbox"]:checked + label:after {
	opacity: 1;
}

.input-container.has-check > label {
	text-align: left;
	position: relative;
	left: 0;
	-webkit-transform: none;
	-moz-transform: none;
	-ms-transform: none;
	transform: none;
	display: block;
	font-size: 14px;
	line-height: 20px;
	padding: 5px 0 5px 40px;
	cursor: pointer;
	color: #919191;
	font-weight: 700;
}

.input-container.has-check > label:before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	width: 30px;
	height: 30px;
	background-image: url(checkbox-empty.svg);
	background-position: center center;
	background-repeat: no-repeat;
	background-size: 100% auto;
	border: 0;
	cursor: pointer;
}

.input-container.has-check > label:after {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	width: 30px;
	height: 30px;
	background-image: url(checkbox-filled.svg);
	background-position: center center;
	background-repeat: no-repeat;
	background-size: 100% auto;
	opacity: 0;
	-webkit-transition: opacity .5s;
	-moz-transition: opacity .5s;
	transition: opacity .5s;
	cursor: pointer;
}

.input-container.has-check.has-bg > label {
	border-color: #ffffff;
}

@media screen and (max-width: 768px) {
	.input-container.has-select .custom-selector .selector-items {
		left: -15px;
		right: 0;
	}
	.registration_form form {
		padding: 30px 20px;
	}
}
@media screen and (max-width: 767px){
	.input-container.has-select > label {
		right: 40px;
		top: 50%;
		-webkit-transform: translateY(-50%);
		-moz-transform: translateY(-50%);
		-ms-transform: translateY(-50%);
		transform: translateY(-50%);
	}

	.input-container.has-select.has-focus label {
		top: 0;
		-webkit-transform: translateY(5px);
		-moz-transform: translateY(5px);
		-ms-transform: translateY(5px);
		transform: translateY(5px);
		transform: none;
		line-height: 110%;
	}
	.registration_form .input_group {
		padding-right: 10px !important;
	}
	.registration_form .radio-inline{
		padding-left:10px;
	}
}