/* base */

body {
	background: #ffffff;
}

/* common | typo */

.sub-title {
	font-size: 15px;
}
.input-checkbox-white,
.input-radio-white,
.input-checkbox-white:checked,
.input-radio-white:checked {
	color: #ffffff;
}

/* common | button */
.input-text + .btn,
.select + .btn {
	margin-left: 5px;
}
@media only screen and (max-width: 1023px) {
	.only-mobile.br + .btn {
		margin-left: 0;
	} 
}

/* common | form */
.input-long,
.select-long {
	width: 340px;
}
@media only screen and (max-width: 1023px) {
	.input-text,
	.select,
	.textarea {
		width: 100%;
	}
}
/* common | fieldset */
.form-table-input .label-wrapper {
	margin-top: 8px;
	margin-bottom: 6px;
}
@media only screen and (max-width: 1023px) {
	.form-table-label {
		padding-top: 0;
	}
}

/* layout */
#page {
	min-height: 100%;
}
.wrapper {
	width: 750px;
	margin: 0 auto;
	background: #ffffff;
}
.bg-gray > .wrapper {
	background: transparent;
}
@media only screen and (max-width: 1023px) {
	.wrapper {
		width: auto;
		margin: 0 20px;
	}
}

/* layout | nav */
.site-nav {
	background: #373d46;
	color: #ffffff;
}
.site-logo {
	float: left;
	margin-left: 13px;
	width: 200px;
	height: 54px;
}
.site-logo a {
	display: block;
	width: 100%;
	height: 100%;
}
.site-logo .logo {
	display: block;
	width: 100%;
	height: 100%;
	background: url('../images/common/logo-color.png') 50% 47% no-repeat;
}
@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
	.site-logo .logo {
		background-image: url('../images/common/logo-color@3x.png');
		-webkit-background-size: 182px auto;
		background-size: 182px auto;
	}
}
.nav-page {
	float: left;
	margin-left: 5px;
	font-size: 18px;
	line-height: 54px;
	font-weight: 400;
}
.site-menu {
	float: right;
	margin-right: 15px;
	color: #ffffff;
}
.site-menu > li {
	float: left;
}
.site-menu a {
	display: block;
	height: 54px;
	line-height: 54px;
}
.site-menu > li > a {
	position: relative;
	padding: 0 15px;
}
.site-menu > .has-sub-menu > a {
	padding-right: 40px;
}
.site-menu > li > a > .material-icons {
	display: none;
}
.site-menu .on > a {
	color: #ffb244;
}
.page-cover {
	 display: none;
 }
@media only screen and (max-width: 1023px) {
	.site-nav {
		display: none;
		z-index: 40;
		position: fixed;
		top: 0;
		left: -226px;
		/*left: 0;*/
		bottom: 0;
		overflow-y: auto;
		width: 226px;
	}
	.site-logo {
		float: none;
		width: auto;
		margin-left: 0;
		background: #ffb244;
	}
	.site-logo .logo {
		display: inline-block;
		width: 30px;
		margin-left: 15px;
		margin-right: 5px;
		background-position: 0 47%;
		background-image: url('../images/common/logo@3x.png');
		-webkit-background-size: 182px auto;
		background-size: 182px auto;
	}
	.site-logo .logo-full {
		width: 100%;
		margin-left: 0;
		margin-right: 0;
		background-position: 50% 47%;
	}
	.site-logo-sub {
		margin-top: 15px;
		display: inline-block;
		vertical-align: top;
	}
	.site-logo-company {
		display: inline-block;
		overflow: hidden;
		/*text-overflow: ellipsis;*/
		max-width: 115px;
		white-space: nowrap;
		color: #ffffff;
		font-size: 18px;
		font-weight: 400;
		vertical-align: middle;
	}
	.site-logo-sub .badge {
		margin-left: 2px;
	}
	.site-menu {
		float: none;
		margin-right: 0;
		color: #979da7;
	}
	.site-menu a {
		height: 40px;
		line-height: 40px;
	}
	.site-menu > li {
		float: none;
	}
	.site-menu > li > a {
		padding: 0 20px;
	}
	.site-menu > li > a > .material-icons {
		display: inline-block;
		margin-right: 20px;
		font-size: 18px;
		vertical-align: middle;
	}
	.site-menu .on {
		background: #23262c;
	}
	.site-menu .on > a {
		color: #ffffff;
	}
	.nav-opened .page-cover {
		display: block;
		z-index: 30;
		position: fixed;
		top: 0;
		left: 0;
		bottom: 0;
		right: 0;
		background: rgba(0, 0, 0, .5);
	}
}

/* layout | page inner */
.page-inner {
	position: relative;
	padding-bottom: 110px;
}
@media only screen and (max-width: 1023px) {
	.page-inner {
		display: block;
		padding-top: 54px;
		padding-bottom: 0;
	}
	.bizApp .page-inner {
		padding-top: 0;
	}
	.bizApp #main {
		border: none;
	}	
}

/* layout | header */
@media only screen and (max-width: 1023px) {
	.site-header {
		z-index: 50;
		position: fixed;
		top: 0;
		left: 0;
		right: 0;
		width: 100%;
		height: 54px;
		background: #373d46;
		text-align: center;
		color: #ffffff;
	}
	.header-page {
		font-size: 18px;
		line-height: 54px;
	}
	.header-menu-link {
		position: absolute;
		left: 0;
		top: 0;
		box-sizing: border-box;
		padding-top: 15px;
		width: 54px;
		height: 100%;
	}
}
/* layout | main */
.site-main {
	padding: 30px 0 40px;
}
@media only screen and (max-width: 1023px) {
	.site-main.site-store {
		padding: 0 0 5%;
	}
}

/* layout | main | page content */
.page-content {
}

/* layout | footer */
.site-footer {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	border-top: 1px solid #dddddd;
	padding: 30px 20px;
	text-align: center;
	font-size: 10px;
}
.footer-info span,
.footer-copyright {
	white-space: nowrap;
}
.footer-info .line {
	margin: 0 4px;
	color: #aaaaaa;
}
.footer-etc {
	margin-top: 3px;
}
.footer-link {
	margin: 0 2px;
	font-weight: 700;
	text-decoration: underline;
}
.footer-copyright {
	text-transform: uppercase;
	margin-left: 5px;
}
@media only screen and (max-width: 1023px) {
	.site-footer {
		position: static;
	}
}

/* layout | full page (웨딩북 소개, 로그인 페이지) */
.full-page {
	background: #000;
}
.full-page,
.full-page .page-inner,
.full-height {
	height: 100%;
}
.full-page .site-nav {
	z-index: 40;
	/* position: fixed; */
	position: absolute;
	left: 0;
	top: 0;
	right: 0;
	background: transparent;
}
.full-page .site-logo .logo {
	background-image: url('../images/common/logo-white.png');
}
@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
	.full-page .site-logo .logo {
		background-image: url('../images/common/logo-white@3x.png');
	}
}
.full-page .nav-page {
	display: none;
}
.full-page .page-inner {
	padding-bottom: 0;
}
.full-page .site-main {
	padding: 0;
}
.full-page .site-footer {
	display: none;
}
@media only screen and (max-width: 1023px) {
	.full-page .site-nav {
		right: auto;
		left: -226px;
		background: #373d46;
	}
	.full-page .page-inner {
		padding-top: 0;
	}
	.full-page .site-header {
		background: transparent;
	}
	.full-page .header-page {
		display: none;
	}
}

/* page | 웨딩북 소개 */
html.whileScroll {
	position: fixed;
	left: 0;
	right: 0;
	overflow-y: scroll;
}

.weddingbook-intro,
.weddingbook-login {
	text-align: center;
	color: #ffffff;
	background: url('../images/weddingbook/intro-bg.jpg') 50% 50% no-repeat;
	-webkit-background-size: cover;
	background-size: cover;
}
.intro-lead,
.intro-end-ment {
	font-size: 24px;
}
.intro-lead strong {
	font-size: 48px;
	font-weight: 400;
}
.intro-end-ment span {
	display: inline-block;
	margin-bottom: 14px;
	font-size: 36px;
	line-height: 1.2;
}

.intro-btn {
	margin-top: 20px;
}
.intro-mover {
	position: absolute;
	left: 50%;
	bottom: 20px;
	margin-left: -12px;
	width: 24px;
	cursor: pointer;
}
.intro-title {
	padding-top: 56px;
	font-size: 24px;
	line-height: 28px;
	font-weight: 700;
	color: #4a4a4a;
}
.intro-title:after {
	content: '';
	display: block;
	margin: 25px auto 22px;
	width: 58px;
	height: 3px;
	background-color: #ffb244;
}
.intro-title + p {
	font-size: 16px;
	color: #676868;
}
.weddingbook-ability-list {
	margin: 0 auto;
	padding: 126px 0 93px;
	width: 1024px;
}
.weddingbook-ability-list li {
	margin: 0 auto;
	float: left;
	width: 33.33%;
	text-align: center;
}
.weddingbook-ability-list li .img-area {
	min-height: 160px;
}
.weddingbook-ability-list .ability-title {
	margin-bottom: 11px;
	font-size: 16px;
	color: #4a4a4a;
}
.intro-slide-wrap {
	margin: 0 auto;
	padding: 70px 0;
	width: 728px;
}

.weddingbook-intro-end {
	position: relative;
	text-align: center;
	color: #fff;
	height: 380px;
	background: url('../images/weddingbook/intro/intro-last-bg.jpg') 50% 50% no-repeat;
	-webkit-background-size: cover;
	background-size: cover;
}
@media only screen and (max-width: 1023px) {
	.weddingbook-intro,
	.weddingbook-login {
		background-position: 70% 50%;
	}
	.intro-lead {
		font-size: 14px;
	}
	.intro-lead strong {
		display: block;
		margin-top: 5px;
		font-size: 26px;
		line-height: 1.3;
	}
	
	.weddingbook-ability-list,
	.weddingbook-ability-list li {
		width: 100%;
	}
	.weddingbook-ability-list {
		margin: -65px auto 0;
		padding: 42px 0 55px;
	}
	.weddingbook-ability-list li .img-area {
		margin-top: 65px;
		min-height: 100px;
	}
	
	
	
	.intro-slide-wrap {
		padding: 45px 0 25px;
		width: 100%;
	}
	.weddingbook-intro-end {
		height: 282px;
	}
	.intro-end-ment {
		font-size: 16px;
	}
	.intro-end-ment span {
		font-size: 28px;
	}
}

/* page | 로그인 */
.weddingbook-login {
	background-image: url('../images/weddingbook/login-bg.jpg');
	color: inherit;
}
.login {
	box-sizing: border-box;
	width: 300px;
	padding: 30px;
	margin: 0 auto;
	border-radius: 5px;
	background: rgba(255, 255, 255, .1);
}
.login-logo {
	margin-bottom: 20px;
}
.login-logo .logo {
	display: block;
	width: 200px;
	height: 20px;
	margin: 0 auto;
	background: url('../images/common/logo-white.png') 50% 47% no-repeat;
}
@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
	.login-logo .logo {
		background-image: url('../images/common/logo-white@3x.png');
		-webkit-background-size: 182px auto;
		background-size: 182px auto;
	}
}
.login-form-input {
	border: 1px solid #e0e0e0;
	border-radius: 3px;
	margin-bottom: 8px;
}
.login-form-input.focus {
	border-color: #5ab4e4;
}
.login-form-input.error {
	border-color: #ff3d00;
}
.login .input-text {
	border: 0;
}
.login .input-text:focus {
	border-color: #e0e0e0;
	box-shadow: none;
}
.login .input-wrap:first-child .input-text {
	border-radius: 2px 2px 0 0;
}
.login .input-wrap + .input-wrap .input-text {
	border-top: 1px solid  #e0e0e0;
	border-radius: 0 0 2px 2px;
}
.login-options {
	margin-bottom: 5px;
	font-size: 12px;
	color: #ffffff;
	text-align: left;
}
.login-link {
	display: inline-block;
	padding-top: 6px;
}
.login-link:first-child:after {
	content: '|';
	display: inline;
	padding: 0 1px 0 3px;
	color: #ffffff;
}
.login-message {
	min-height: 1em;
	font-size: 12px;
	text-align: left;
	line-height: 1;
}
.login .btn {
	margin-top: 10px;
}

/* page | 로그인 | 아이디/비밀번호 찾기 */
.page-top-info {
	background: #f8f8f8;
	font-size: 12px;
}
.page-top-info .wrapper {
	margin-top: -30px;
	margin-bottom: 30px;
	padding: 30px 0;
	background: transparent;
}
.page-top-info .title {
	margin-bottom: 2px;
	font-size: 18px;
}
.found-id {
	margin-top: 30px;
	padding-top: 35px;
	border-top: 1px solid #eeeeee;
	font-size: 16px;
	font-weight: 700;
	text-align: center;
}
@media only screen and (max-width: 1023px) {
	.page-top-info .wrapper {
		padding: 20px 0;
		margin-bottom: 20px;
		text-align: center;
	}
}
/* page | 회원가입 | 업체검색 */
.ui-autocomplete {
	max-width: 100%; /* 검색 auto complete max-width 해제 */
}
.company-search-wrap {
	margin-bottom: 200px;
	width: 100%;
	position: relative;
}
.company-search  {
	width: 100%;
	padding-right: 85px;
	box-sizing: border-box;
}
.company-search .input-text {
	height: 40px;
}
.company-search + .btn {
	position: absolute;
	right: 0;
	top: 0;
	height: 40px;
}

.company-search-result {
	overflow: auto;
	margin-top: -180px;
	padding: 5px 0;
	max-height: 240px;
	border: 1px solid #dedede;
	box-sizing: border-box;
}
.company-search-result li {
	position: relative;
	padding: 0 20px;
	font-size: 14px;
	box-sizing: border-box;
}
.company-search-result li > div {
	text-overflow: ellipsis; white-space: nowrap; overflow: hidden;
	padding-right: 180px;
	height: 42px;
	line-height: 42px;
	box-sizing: border-box;
	border-top: 1px solid #dedede;
}
.company-search-result li:first-child > div {
	border-top: none;
}
.company-search-result .link-company,
.company-search-result .btn-select-company {
	position: absolute;
	font-size: 12px;
	font-weight: 400;
}
.company-search-result .link-company {
	top: 0;
	right: 106px;	
}
.company-search-result .btn-select-company {
	top: 9px;
	right: 20px;
	width: 75px;
	height: 24px;
	line-height: 24px;
	outline: 0;
}
@media only screen and (max-width: 1023px) {
	.company-search-result li > div {
		padding: 5px 0;
		height: auto;
		line-height: 2;
	}
	.company-search-result .link-company,
	.company-search-result .btn-select-company {
		position: static;
	}
	.company-search-result .link-wrap {
		margin-top: 10px;
	}
	.company-search-result .btn-select-company {
		float: right;
	}
}
/* page | 회원가입 | 업체유형 */
.select-business-type {
	position: relative;
	max-width: 450px;
	border-left: 1px solid #ddd;
}
.select-business-type.validation-error {
	border: 1px solid #ea5951;
}
.select-business-type li {
	float: left;
	width: 90px;
	height: 32px;
	line-height: 32px;
	text-align: center;
	border-bottom: 1px solid #ddd;
	border-right: 1px solid #ddd;
	border-top: 1px solid #ddd;
	box-sizing: border-box;
	cursor: pointer;
}
.select-business-type li.on {
	color: #fff;
	background-color: #ffb244;
}
.select-business-type + .cover {
	display: none;
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	z-index: 99;
}
.select-business-type + .cover.on {
	display: block;
}
@media only screen and (max-width: 1023px) {
	.select-business-type {
		max-width: 100%;
	}
	.select-business-type li {
		width: 33.33%;
	}
}

/* page | 회원가입 | 약관동의 */
.join-top {
	position: relative;
	margin-bottom: 35px;
}
.join-top:after {
	content: '';
	position: absolute;
	left: 0;
	right: 0;
	top: 27px;
	display: block;
	border-top: 1px dashed #c4c4c4;
}
.join-steps {
	position: relative;
	display: table;
	width: 100%;
	text-align: center;
}
.join-step {
	display: table-cell;
}
.join-step-no {
	position: relative;
	width: 54px;
	height: 54px;
	border-radius: 50%;
	margin: 0 auto 7px;
	font-size: 24px;
	line-height: 60px;
	background: #f3f3f3;
	color: #c4c4c4;
	z-index: 1;
}
.join-step.on .join-step-no {
	background: #ffb244;
	color: #ffffff;
}
@media only screen and (max-width: 1023px) {
	.join-step {
		display: none;
		float: none;
		width: auto;
	}
	.join-step.on {
		display: block;
	}
}

/* page | 회원가입 | 가입완료 & 탈퇴완료 */
.info-box {
	margin: 60px 0;
	text-align: center;
}
.info-icon {
	height: 1em;
	margin-bottom: 10px;
	color: #e6e5e5;
	font-size: 60px;
	line-height: 1;
}
.info-icon .material-icons {
	font-size: inherit;
}
.info-title {
	margin-bottom: 6px;
	font-size: 30px;
	font-weight: 700;
	line-height: 1.2;
}
.info-btn {
	margin-top: 20px;
}
.info-box-large {
	margin: 150px 0;
}

.guide-wrap {
	margin-bottom: -40px;
	padding-bottom: 40px;
	background-color: #f8f8f8;
}
.guide-contents {
	margin: 0 auto;
	padding-top: 40px;
	width: 750px;
}
.guide-title {
	margin-bottom: 10px;
	font-size: 20px;
}
.guide-list {
	position: relative;
	margin-top: 55px;
	height: 400px;
	border: 1px solid #ddd;
	background-color: #fff;
	box-sizing: border-box;
}
.guide-list:first-child {
	margin-top: 0;
}
.guide-list1 {
	background-image: url('../images/weddingbook/weddingbook-guide1.png');
}
.guide-list2 {
	background-image: url('../images/weddingbook/weddingbook-guide2.png');
}
.guide-list3 {
	background-image: url('../images/weddingbook/weddingbook-guide3.png');
}
.guide-list4 {
	background-image: url('../images/weddingbook/weddingbook-guide4.png');
}
.guide-list2 {
	background-repeat: no-repeat;
	background-position: 430px center;
}
.guide-list1,
.guide-list3,
.guide-list4 {
	background-repeat: no-repeat;
	background-position: 485px bottom;
}

.guide-list > div {
	display: table-cell;
	padding-left: 55px;
	width: 420px;
	height: 400px;
	color: #676868;
	vertical-align: middle;
}
.guide-list-title {
	margin-bottom: 8px;
	font-size: 16px;
}
.guide-list-title span {
	margin-right: 8px;
	min-width: 25px;
	padding: 6px 8px 5px;
	border-radius: 12.5px;
	font-size: 14px;
}
.guide-wrap .guide-next {
	position: absolute;
	margin: -14px 0 0 -45px;
	left: 50%;
	top: 100%;
	font-size: 90px;
	color: #e6e5e5;
}
.guide-btn-wrap {
	margin-top: 40px;
	text-align: center;
}
@media only screen and (max-width: 1023px) {
	.info-box {
		margin: 40px 0;
	}
	
	.guide-contents {
		padding: 40px 20px 0;
		width: 100%;
		box-sizing: border-box;
	}
	.guide-list {
		padding: 15px 15px 380px;
		width: 100%;
		height: auto;
	}
	.guide-list2 {
		background-position: 50% 80%;
	}
	
	.guide-list1,
	.guide-list3,
	.guide-list4 {
		background-position: 50% 100%;
	}
	.guide-list > div {
		display: block;
		padding: 0;
		height: auto;
		width: 100%;
	}
}

/* 고객용 구매 정보 확인 */
.customer-product-intro {
	padding: 30px 0;
	font-size: 12px;
}
.customer-product-intro h2 {
	margin-bottom: 4px;
	font-size: 18px;
}
.customer-product-list-wrap {
	margin: 8px 0;
}
.customer-product-list-wrap li {
	padding: 15px 0;
	border-top: 1px solid #eee;
}
.customer-product-list-wrap li:first-child {
	border-top: none;
}
.customer-product-list-wrap .product-list-type {
	margin-bottom: 10px;;
}
.customer-product-list-wrap li > div {
	position: relative;
}
.customer-product-info {
	margin-left: 14px;
	float: left;
	width: 676px;
}

.customer-product-result {
	padding: 12px 0;
}
@media only screen and (max-width: 1023px) {
	.customer-product-intro {
		padding: 22px 0;
		text-align: center;
	}
	.customer-product-info {
		position: absolute;
		top: 0;
		left: 74px;
		right: 0;
		float: none;
		margin: 0;
		width: auto;
	}
}