@charset "utf-8";

.body-left, .body-right-head, .tail-banner-slide{ display: none; }

.body-right{ margin-left: 0 !important; padding: 0 !important; }

/* 로그인페이지 */
#login{
	width: 100%; height: 100vh;
	display: flex;
	align-items: center;
	justify-content: center;
}

#login .login-box{
	width: 300px;
	height: 100%;
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: var(--space-30);
}

#login .login-box .logo{
	display: block;
	width: 250px;
	margin: 0 auto;
}

#loginForm{}

#loginForm fieldset{
	position: relative;
}

#loginForm fieldset:not(:first-child){
	margin-top: var(--space-10);
}

#loginForm fieldset input,
#register form input,
#forgot form input:not([type="checkbox"]){
	display: inline-block;
	font-size: 1rem;
	width: 100%;
	box-sizing: border-box;
	padding: 15px 20px;
	padding-left: 50px;
	border: 1px solid var(--red02);
	outline: none;
	border-radius: 5px;
	transition: var(--transition);
}

#loginForm fieldset input:hover,
#loginForm fieldset input:focus,
#register form input:hover,
#register form input:focus,
#forgot form input:hover,
#forgot form input:focus{
	border-color: var(--red01);
}

#loginForm fieldset input:focus,
#loginForm fieldset input:valid{
	padding-left: 20px;
	padding-top: 25px;
}

#loginForm fieldset label,
#loginForm fieldset i{
	position: absolute;
	transition: var(--transition);
}

#loginForm fieldset label{
	left: 55px;
	top: 17px;
	color: var(--gray02);
	opacity: 0.5;
}

#loginForm fieldset input:hover + label{
	opacity: 0.8;
}

#loginForm fieldset input:focus + label,
#loginForm fieldset input:valid + label{
	opacity: 1;
	color: var(--red01);
	font-size: 0.8125rem;
	left: 20px;
	top: 10px;
}


#loginForm fieldset i{
	left: 20px;
	top: 50%;
	transform: translateY(-50%);
	color: var(--red01);
	font-size: 1.0625rem;
	opacity: 1;
}

#loginForm fieldset input:focus ~ i,
#loginForm fieldset input:valid ~ i{
	opacity: 0;
}

#loginForm .btn_login,
#register .btn,
#forgot .btn{
	margin-top: var(--space-10);
	display: block;
	width: 100%;
	text-align: center;
	color: var(--white);
	background-color: var(--red01);
	font-size: 1.125rem;
	font-weight: var(--fw-700);
	box-sizing: border-box;
	padding: 12px 20px;
	border-radius: 5px;
	transition: var(--transition);
}

#loginForm .btn_login:hover,
#register .btn:hover,
#forgot .btn:hover{
	opacity: 0.8;
}


#login .login-info{
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: center;
	gap: 10px;
}

#login .login-info a{
	font-size: 0.875rem;
	color: var(--gray02);
	transition: var(--transition);
}

#login .login-info a:hover{
	color: var(--gray01);
}

#login .social-login-box{
	margin-top: var(--space-10);
}

#login .social-login-box h3{
	text-align: center;
	color: var(--gray02);
	font-size: 0.875rem;
	position: relative;
	font-weight: var(--fw-500);
	opacity: 0.8;
}

#login .social-login-box h3::before,
#login .social-login-box h3::after{
	content: "";
	width: calc(50% - 20px);
	height: 1px;
	background-color: var(--gray02);
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	opacity: 0.5;
}

#login .social-login-box h3::before{
	left: 0;
}

#login .social-login-box h3::after{
	right: 0;
}

#login .social-login-list{
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: center;
	gap: 10px;
	margin-top: var(--space-20);
}

#login .social-login-list .social-login-item{}

#login .social-login-list .social-login-item a{
	display: block;
	width: 55px; height: 55px;
	border-radius: 50%;
	overflow: hidden;
}

#login .social-login-list .social-login-item a img{}

#login .register-box{
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: center;
	gap: 7px;
}

#login .register-box p{
	font-size: 0.875rem;
	color: var(--gray01);
}

#login .register-box a{
	display: inline-block;
	padding: 4px 12px;
	border: 1px solid var(--red01);
	font-size: 0.8125rem;
	border-radius: 3px;
	color: var(--red01);
	opacity: 0.7;
	transition: var(--transition);
}

#login .register-box a:hover{
	opacity: 1;
}

/* 회원가입, 아이디 비밀번호 찾기 */
#register,
#forgot{
	width: 100%;
	height: 100vh;
	display: flex;
	align-items: center;
	justify-content: center;
}

#register .register-box,
#forgot .reset-box{
	background-color: #fff;
	border-radius: 8px;
	padding: 30px;
	width: 350px;
}

#register .txt-box{
	text-align: center;
}

#register .txt-box h1,
#forgot .txt-box h1{
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: center;
	gap: 5px;
	font-size: 1.75rem;
	font-weight: var(--fw-700);
}

#register .txt-box h1 img,
#forgot .txt-box h1 img{
	width: 150px;
}

#register .txt-box p{
	font-size: 0.875rem;
	color: var(--gray01);
	margin-top: var(--space-10);
}

#register form,
#forgot .forgot-btn-box{
	margin-top: var(--space-35);
}

#register .form-group,
#forgot .form-group{
	margin-bottom: 20px;
}

#register form input,
#forgot form input{
	padding: 12px 20px;
}
#register form input::placeholder{
	color: var(--gray02);
}
#register label,
#forgot label{
	display: block;
	margin-bottom: 5px;
	font-weight: bold;
	font-size: 0.875rem;
	font-weight: 500;
	color: var(--gray01);
}

 #register .error-message {
	color: var(--red01);
	font-size: 12px;
	margin-top: 5px;
}

#register .check-btn {
	background-color: var(--orange01);
	color: white;
	margin-top: 10px;
	cursor: pointer;
	border: none;
	border-radius: 4px;
	padding: 10px;
	width: 100%;
	font-size: 0.9375rem;
	font-weight: var(--fw-600);
	transition: var(--transition);
}
#register .check-btn:hover {
	opacity: 0.8;
 }

 #forgot .txt-box h1{
	flex-direction: column;
	gap: 10px;
 }

#forgot .forgot-btn-box{
	display: flex;
	flex-direction: row;
	align-items: center;
	box-sizing: border-box;
	padding: 7px;
	background-color: var(--red03);
	border-radius: 5px;
}

#forgot .forgot-btn-box .forgot-btn{
	width: 50%;
}

#forgot .forgot-btn-box .forgot-btn a{
	display: block;
	width: 100%;
	text-align: center;
	border-radius: 2px;
	padding: 10px 10px;
	font-size: 0.875rem;
	font-weight: var(--fw-600);
	color: var(--gray02);
}

#forgot .forgot-btn-box .forgot-btn a span{
	font-size: inherit;
	color: inherit;
	font-weight: inherit;
}

#forgot .forgot-btn-box .forgot-btn.active a{
	background-color: var(--white);
	color: var(--red01);
}

#forgot form{
	margin-top: var(--space-25);
}


#register .policy-agree-box{
	position: relative;
}

#register .policy-agree-box input[type="checkbox"]{
	position: absolute;
	width: 0px; height: 0px;
	opacity: 0;
}

#register .policy-agree-box label{
	cursor: auto;
}

#register .policy-agree-box label span{
	cursor: pointer;
	font-size: inherit;
	font-weight: var(--fw-600);
	color: var(--gray02);
	transition: var(--transition);
}

#register .policy-agree-box label span:hover{
	color: var(--gray01);
}



/* 결과화면 */
.forgot-id-result-box{
	box-sizing: border-box;
	padding: 15px 20px;
	border-radius: 5px;
	background-color: var(--red03);
	margin-top: var(--space-25);
	text-align: center;
	border: 1px solid var(--red02);
}

.forgot-id-result-box .check-box{
	display: inline-flex;
	justify-content: center;
	align-items: center;
	width: 45px; height: 45px;
	border-radius: 50%;
	background-color: #c5ebcc;
}

.forgot-id-result-box i{
	font-size: 2.5rem;
	color: #14a12d;
}

.forgot-id-result-box p{
	margin-top: 10px;
	font-size: 1rem;
	color: var(--gray01);
	font-weight: var(--fw-700);
	line-height: 1.3;
}

.forgot-id-result-box p strong{
	font-size: inherit;
	font-weight: var(--fw-700);
	color: var(--red01);
	letter-spacing: -0.02rem;
}


#resetPwForm{
	margin-top: var(--space-25);
	padding-top: var(--space-25);
	border-top: 1px dashed #ccc;
}

#resetPwForm h2{
	text-align: center;
	font-size: 1.0625rem;
	font-weight: var(--fw-700);
	margin-bottom: var(--space-15);
	opacity: 0.8;
}


#login .error-message{
	display: block;
	box-sizing: border-box;
	padding: 15px 15px;
	word-break: keep-all;
	font-size: 0.8125rem;
	font-weight: var(--fw-500);
	border: 1px solid var(--orange01);
    color: var(--orange01);
    text-align: center;
    border-radius: 5px;
    background-color: #ffe5e0;
	margin-bottom: 7px;
	letter-spacing: -0.035rem;
	white-space: break-spaces;
}