@import url("https://fonts.googleapis.com/css?family=Open+Sans");

.csu_form_block_main * {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

.csu_form_block_main *:before, .csu_form_block_main *:after {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

.csu_form_block_main, .csu_form_block_main input {
	font-family: 'Copperplate', sans-serif;
}

.csu_form_block_main {
	overflow-y: auto;
    visibility: hidden;
}

.csu_overlay {
	position: fixed; z-index: 999; left: 50%; top: 50%; transform: translate(-50%,-50%); 
background-color: #1E1B1C; padding: 30px 60px 40px 60px; border-top: 5px solid #EBD0EF; width: 400px; 
box-shadow: 0 20px 60px rgba(0,0,0,0.5);
}

/*.csu_form_top_border {
	margin: 18px 0 0 0;
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
	height: 2px;
}

.csu_form_top_border div {
	float: left;
	width: 20%;
	height: 2px;
}

.csu_form_top_border div:nth-of-type(odd) {
	background: #30cdfa;
}

.csu_form_top_border div:nth-of-type(even) {
	background: #17b0cf;
}

.csu_form_block {
	width: 340px;
	margin: 100px auto;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.10);
	border-radius: 6px;
	
	opacity: 0;
}*/

/*.csu_form_block_body {
	position: fixed; z-index: 999; left: 50%; top: 50%; transform: translate(-50%,-50%); 
background-color: #1E1B1C; padding: 30px 60px 40px 60px; border-top: 5px solid #EBD0EF; width: 400px; 
box-shadow: 0 20px 60px rgba(0,0,0,0.5);
}*/

.csu_form_block_title {
	font-weight: 700;
	font-size: 24px;
	color: white;
	padding: 9px 19px 0 19px;
	text-align: center;
}

.csu_form_block_description {
	font-size: 14px;
	color: #666;
	padding: 0 20px;
	line-height: 16px;
}

.csu_form_input_name {
	font-size: 14px;
	color: #000000;

	margin-bottom: 15px;
}

.csu_form_block_body_form {

}

.csu_form_block_body_form input[type="text"], .csu_form_block_body_form input[type="password"] {
	width: 100%;
	height: 38px;
	border: 1px solid #ccc;
	padding: 0 10px;
	transition: all .2s;
	font-size: 14px;
	background: #fff;
	display: block;
	line-height: normal;
	color: #000;
	box-shadow: inset 0px 1px 2px 0px rgba(0, 0, 0, .05);
}

.csu_form_block_body_form input[type="text"]:focus, .csu_form_block_body_form input[type="password"]:focus {
	box-shadow: inset 0 0 0 2px #C084FC;
}

.csu_politic {
	font-size: 12px;
	color: #666;
	line-height: 16px;
	padding: 10px 0 0 0
}

.csu_politic a {
	border-bottom: 1px solid #D5AADC;
	text-decoration: none;
	color: #D5AADC;
	opacity: 0.8;
}

.csu_politic a:hover {
	border-bottom: 0;
	text-decoration: none;
}

#csu_form_sing_up {
	margin-top: 15px;
	width: 100%; height: 35px;
}




/*#csu_form_sing_up:hover {
	background: #17b0cf;
}*/

.rules_txt {

}



input[name="csu_form_checkbox"] {
	opacity: 0; position: absolute; cursor: pointer;
}

label[for="csu_form_checkbox"] span {
	border-radius: 99px;
	border: 1px solid #ccc;
	width: 16px;
	height: 16px;
	display: inline-block;
	vertical-align: top;
	margin: 1px 10px 0 0;
	box-shadow: 0 4px 8px rgba(0, 0, 0, .05);
}

label[for="csu_form_checkbox"] {
	margin: 0;
	font-size: 14px;
	color: white;
	padding: 18px 0 5px 0;
	display: block;
	line-height: normal;
	cursor: pointer;
}

input[name="csu_form_checkbox"]:checked + label span:before {
	background: green;
	width: 8px;
	height: 8px;
	display: block;
	content: "";
	margin: 3px 0 0 3px;
	border-radius: 99px;
}

.login-check {position: relative; font-size: 14px; font-family: 'Copperplate';}
.login-check input {opacity: 0; position: absolute; cursor: pointer;}
.login-check span {display: block; padding-left: 36px; height: 30px; line-height: 30px; color: #939393;}
.login-check span:before, .login-check span:after{content: '';position: absolute;top: 50%;transition: .3s;}
.login-check span:before{left: 0; height: 10px; margin-top: -5px; width: 26px; border-radius: 5px; 
  background: green; box-shadow: inset 0 1px 4px rgba(0,0,0,0.3);}
.login-check span:after{left: 1px; height: 12px; width: 12px; margin-top: -6px; background: #2ecc71;
  border-radius: 6px; box-shadow: 0 1px 4px rgba(0,0,0,0);}
.login-check input:checked + span:before {background-color: #fff;}
.login-check input:checked + span:after {left: 13px; background-color: #fff; box-shadow: 0 1px 4px rgba(0,0,0,0.3);}

.csu_form_block_main.csu_show_form {
    visibility: visible !important;
}

.csu_form_block_main.csu_show_form .csu_form_block {
	opacity: 1;
	-webkit-transform: rotate(0deg) translate(0, 0);
	transform: rotate(0deg) translate(0, 0);
}

.csu_form_close {
	margin-top: -16px;
    margin-left: 185px;
	cursor: pointer;
	z-index: 150;
	background-size: cover !important;
	color: #D5AADC;
	
	width: 43px;
	font-size: 14px;
	border-bottom: 1px solid #D5AADC;
}
.csu_form_close:hover {
	border-bottom: 0;
}


.already_have {
    margin-top: 3px;
    margin-left: 50px;
	z-index: 150;
	background-size: cover !important;
	color: white;
	
	font-size: 14px;
}



.csu_red_alert {
	border: 1px solid #f21248;
	display: block;
	border-radius: 6px;
	font-size: 13px;
	padding: 6px 10px;
	background: rgba(249, 38, 89, 0.05);
	margin: 16px 0 0 0;
	color: white;
}

.csu_green_alert {
	border: 1px solid #6c9806;
	display: block;
	border-radius: 6px;
	font-size: 13px;
	padding: 6px 10px;
	background: rgba(108, 152, 6, 0.05);
	margin: 16px 0 0 0;
	color: white;
}

.csu_wait {
	position: absolute;
	z-index: 999;
	background: rgba(0, 0, 0, .2);
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	border-radius: 6px;
	display: none;
}


/* Плавное появление/скрытие для регистрации */
.csu_form_block_main {
  transition: opacity 100ms ease, visibility 0s linear 100ms;
  opacity: 0;
  visibility: hidden;
}

/* сама «карточка» внутри — чуть поднимаем/опускаем */
.csu_form_block_main .csu_form_block {
  transition: transform 100ms ease, opacity 100ms ease;
  transform: translateY(-6px);
  opacity: 0;
}

/* Когда плагин показывает форму — делаем видимой (плагин ставит csu_show_form) */
.csu_form_block_main.csu_show_form {
  opacity: 1;
  visibility: visible !important;
  transition-delay: 0s;
}

/* и внутренний блок становится полностью видимым */
.csu_form_block_main.csu_show_form .csu_form_block {
  transform: translateY(0);
  opacity: 1;
}

/* Класс closing — применяем при начале закрытия, даст плавный fade-out */
.csu_form_block_main.closing {
  opacity: 0;
  visibility: hidden;
  transition-duration: 100ms;
}
.csu_form_block_main.closing .csu_form_block {
  transform: translateY(-6px);
  opacity: 0;
}

/* ===========================
   ВАЛИДАЦИЯ: ЗЕЛЁНЫЙ/КРАСНЫЙ BORDER
   =========================== */

#csu_form_input_login.csu_valid,
#csu_form_input_email.csu_valid,
#csu_form_input_password.csu_valid {
    border: 2px solid #4caf50 !important;
    box-shadow: none !important;
}

#csu_form_input_login.csu_invalid,
#csu_form_input_email.csu_invalid,
#csu_form_input_password.csu_invalid {
    border: 2px solid #f44336 !important;
    box-shadow: none !important;
}

/* Убираем фиолетовый box-shadow при фокусе, если есть валидация */
#csu_form_input_login.csu_valid:focus,
#csu_form_input_email.csu_valid:focus,
#csu_form_input_password.csu_valid:focus,
#csu_form_input_login.csu_invalid:focus,
#csu_form_input_email.csu_invalid:focus,
#csu_form_input_password.csu_invalid:focus {
    box-shadow: none !important;
}




@media (max-width: 430px) {
  .csu_overlay {
    width: 318px;
    padding: 20px;
  }
}

