@import url(//fonts.googleapis.com/earlyaccess/notosanskr.css);
body {
    font-family: "Noto Sans KR", Helvetica, sans-serif !important;
}


/****************************************************************************
 * 2. 기본태그
 ****************************************************************************/
p {margin-bottom:0px !important;}
body a {color:#333}
table td, table th {
	border-width:1px;
}


.video-js .vjs-big-play-button {
    font-size: 3em;
    line-height: 2em;
    height: 2em;
    width: 2em;
    margin-top: -1em;
    margin-left: -1em;
    cursor: pointer;
    opacity: 1;
    border: 0.06666em solid #fff;
    background-color: #2B333F;
    background-color: rgba(43, 51, 63, 0.7);
    border-radius: 50%;
    transition: all 0.4s;
}

@media (min-width: 1400px){
	.container, .container-lg, .container-md, .container-sm, .container-xl, .container-xxl {
		max-width: 1140px !important;
	}
}

.table-responsive th, .table-responsive td {
	white-space:nowrap;
}

/* 숫자창에서 위,아래 화살표 보이지 않기 */
input[type="number"]::-webkit-outer-spin-button,
input[type="number"]::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

.bg-default {
	background-color:#DE0A44;
	color:#fff;
}

.btn-default {
	background-color:#DE0A44 !important;
	color:#fff !important;
}

.btn-outline-default {
	border:1px solid #DE0A44 !important;
	color:#DE0A44 !important;
}

.text-default {
	color:#DE0A44 !important;
}

.nav-tabs.capsuled .nav-item .nav-link {
	white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

::placeholder {font-size:13px;}
.btn-link {text-decoration:none !important;}

.notice-wrapper {
	position: fixed;
	box-shadow:0 0 5px 1px rgba(0,0,0,.2);
	overflow:hidden;
}

.notice-wrapper img {max-width:100%}

.page_scroller {
    -webkit-animation-duration: 1s;
    animation-duration: 1s;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both;
    -webkit-animation-name: fadeInRight;
    animation-name: fadeInRight;
    animation-delay: 0.3s;
    -webkit-animation-delay: 0.3s;
}

.error {
	color:red;
}

/****************************************************************************
 * 3. 로고
 ****************************************************************************/

.logo-wrapper {
    padding: 5px 0;
	width:200px;
	font-weight:900;
	font-size:16px;
}

.logo-wrapper a {
	color:#DE0A44;
}

.logo-wrapper .title {
	white-space:nowrap;
}

.logo-wrapper .text-muted {
	font-weight:400;
	font-size:12px;
	color:#ccc;
	white-space:nowrap;
	padding-left:25px;
	line-height:13px;
	margin-top:3px;
}

@media (min-width: 1024px) {
	.logo-wrapper {
		margin-right:20px;
	}	
}

@media (max-width: 1024px) {
	.logo-wrapper {
		text-align:center;
		color:#fff;
	}
	.logo-wrapper .text-muted {
		text-align:center;
		color:#ddd;
		padding:0px;
	}
	.login-form .logo-wrapper a {
		color:#DE0A44;
	}

	.login-form img {
		width:150px;
	}
}

/* 4.0 - 공통 */
#pagination {
	justify-content: center;
	margin-top:20px;
	margin-bottom:20px;
}

.title-area {
	padding:17px 15px 17px 15px;
	border-bottom:1px solid #e0e0e0;
}

/****************************************************************************
 * 목록
 ****************************************************************************/

.lms-item-width .member-thumb {
	width:30px;height:30px;border-radius:50%;
	background-size:cover;
	background-position:center center;
}

/****************************************************************************
 * 상세
 ****************************************************************************/

/**  인트로박스 : 강좌상세보기 상단 인트로이미지 및 미리보기 영상 **/
.intro-box-wrapper {
	width:80%;
	margin:0px auto;
	position:relative;
	display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
	-webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 8px;
}

@media (max-width: 1024px) {
	.intro-box-wrapper { width:100%; }
}


.intro-box {
	border:1px solid #eee;
	border-radius:5px;
	overflow:hidden;
	width:100%;
}

.intro-item {
	width:100%;
	display:none;
	background-size:cover;
	background-position:center center;
}

.intro-item.active {
	display:block;
}

.intro-box-nav {
  display: flex;
  align-items: center;
  justify-content: center;
}

.intro-box-nav .thumb-slide {
	width:120px;
	height:70px;
	margin-right:5px;
	border-radius:5px;
	border:1px solid #ddd;
	background-size:cover;
	background-position:center center;
	cursor:pointer;
}

.intro-box-nav .thumb-slide.active {
	border:1px solid #DE0A44;
}

.intro-box video{
    position:absolute;
	top:0px;
	bottom:0px;
	left:0px;
	right:0px;
	width:100%;
	height:392px;
	margin-bottom:20px;
}



.property-zzim {
	z-index: 1000;
	font-weight: 600;
	font-size: 15px;
	position: absolute;
	bottom: 10px;
	left: 15px;
	color: #fff;
	font-weight: 600;
}

.property-zzim span.active {
    color: #DE0A44;
}

.detail-info .property-zzim {
    display: inline-block;
	position:relative;
	cursor:pointer;
	color:#ccc;
	bottom:3px;
}

.listing-badges {
    position: absolute;
    top: 10px;
    left: 10px;
    width: 100%;
    display: block;
    font-size: 12px;
    padding: 0;
    overflow: hidden;
	z-index:1;
}

.listing-badges .featured {
    font-size: 12px;
    z-index: 999!important;
    font-weight: 600;
    padding: 1px 5px;
    border-radius: 2px;
    color: #fff;
    display: inline-block;
}

.videourl {position:absolute;top:25%;text-align:center;width:100%}
.videourl img {
	width:100px;
	height:100px;
	opacity:0.7;
	display:inline-block;
}

/* 5.3 - 모바일 */
/* 매물지도상의 매물 목록은 모바일용을 함께 사용한다. */

.article_row {
	position: relative;
    display: block;
    padding: 15px 15px 10px 160px;
    min-height: 150px;
    background-color: #fff;
	font-size:14px;
}

.article_row:hover {
	background-color:#f5f5f5;
}

.article_row .preview_container {
    position: absolute;
    top: 20px;
    left: 15px;
    bottom: 20px;
    width: 135px;
    height: 112px;
	border:1px solid #ccc;
    background-color: #f5f7f7;
    background-repeat: no-repeat;
    background-position: 50% 50%;
    background-size: cover;
	border-radius:5px;
}

.article_row .preview_container img {
	max-width:100%;
}

.article_row:after {
    content: '';
    position: absolute;
    bottom: 0;
    right: 20px;
    left: 20px;
    border-top: 1px solid #f3f6f7;
}

/********************************
 * 6. 매물 상세
 ********************************/
.gallery-content {
	color: #fff;
    position: absolute;
    bottom: 10px;
    left: 10px;
}

.img_wrapper {
	position:relative;
}

.watermark {
	position:absolute;
	top:calc(50% - 25px);
	left:calc(50% - 100px);
	opacity:0.5;
	max-width:200px;
}

.watermark img {
	width:200px;
	height:auto;
	border:0px !important;
}

/********************************
 * 7. 배너(탑이미지영역)
 ********************************/

.slider_2_search {
    background: #e6e6e6;
    padding: 25px 0;
}
	.slider_2_search .form-group {
		margin:0px;
	}

/***********************************
 * 8. 키워드 검색
 ***********************************/
.ui-autocomplete {
	z-index: 2000;
	background-color:#fff;
	max-width:250px;
	border:1px solid #ccc;
	cursor:pointer;
}

.ui-menu li {border-bottom:1px dashed #eee;padding:5px;}
.ui-menu li:last-child {border-bottom:0px}

#keyword {
  background-image: url('/assets/img/search.png');
  background-repeat:no-repeat;
  background-position: left 5px center;
  padding-left:25px !important;
  border-color:#ddd;
  font-size:90%;
} /* PC에서만 적용됨. 모바일에서는 안 씀 */

/***********************************
 * 9. 홈 검색
 ***********************************/

#banner3 .submit-btn {
    width: 100%;
    height: 50px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background-color: #DE0A44;
    color: #fff;
    font-size: 20px;
    letter-spacing: 0.02em;
	border:0px;
	border-radius:0px 0px 10px 10px;
}

.btn-outline-secondary {
	border-color:#ddd !important;
}

#banner3 .banner-search-box {
    max-width: 350px;
    margin-left: auto;
    /** background: #DE0A44; **/
	background:#fafaf9;
	border-radius:10px;
	/*overflow:hidden;*/
}

.banner-search-box .search-area {
    padding: 20px 20px 5px 20px;
    background: transparent;
}

.banner-search-box .search-fields button {
    border-radius: 3px;
    box-shadow: none;
    border: none;
}

.banner-search-box .search-fields {
    padding: 0;
    box-shadow: none;
    border-radius: 3px;
	border:1px solid #ddd;
}

.banner-search-box .btn {
    display: inline-block;
    min-height: 50px;
    border-radius: 3px;
}

/********************************
 * 10. 회사소개
 ********************************/

#cmap_wrapper {
	height:600px;
}

#cmap_wrapper .cmap_panel {
	position: absolute;
    top: 50%;
    margin-top: -205px;
    left: 50%;
    width: 350px;
    margin-left: -515px;
    padding: 35px;
    background: #fff;
    border: none;
    border-radius: 10px;
    box-shadow: 0 44px 98px 0 rgb(0 0 0 / 10%);
	font-size:14px;
    overflow: hidden;
    z-index: 10;

	border-top: 5px solid #DE0A44!important;
}

.company-info div {
	padding-left:35px;
	position:relative;
	line-height:19px;
}
.company-info div > i {
	position:absolute;
	top:0;
	left:0;
	color: #777;
    margin-right: 10px;
    font-size: 11px;
    background: #f2f2f2;
	line-height:22px;
    width: 22px;
    height: 22px;
    text-align: center;
    border-radius: 50%;
}

#cmap {
	height: 600px;
    position: relative;
    overflow: hidden;
}

@media only screen and (max-width: 1024px) {

	#cmap_wrapper {
		height:200px;
	}

	#cmap_wrapper .cmap_panel {
		width:100%;
		height:200px;
	}

	#cmap {
		height: 200px;
		position: relative;
		overflow: hidden;
		border:1px solid #ccc;
		border-radius:5px;
	}
}


/***********************************
 * 11. 회원
 ***********************************/

.login-section .form-section {
	width:100%;
    max-width: 550px;
    margin: 0 auto;
	padding: 30px 20px;
    background: #fff;
    border-radius: 5px;
    box-shadow: 0 0 35px rgba(0, 0, 0, 0.1);
}

.login-section .logo img {
	max-width:200px;
}

@media only screen and (min-width: 800px) {
	.login-section {
		position: relative;
		min-height: 100vh;
		text-align: center;
		display: -webkit-box;
		display: -moz-box;
		display: -ms-flexbox;
		display: -webkit-flex;
		display: flex;
		justify-content: center;
		align-items: center;
		width: 100%;
	}

	.login-section .logo{
		top: 40px;
		position: absolute;
		left: 65px;
	}

	.login-section .form-section {
		padding: 70px 50px;
	}
}

.login-section .form-section p{
    color: #616161;
    margin-bottom: 0;
    text-align: center;
    font-size: 16px;
}

.login-section .form-section a {
    text-decoration: none;
}

.login-section .form-section p a{
    color: #616161;
    font-weight: 500;
}

.login-section .form-section .extra-login {
    float: left;
    width: 100%;
    margin: 25px 0 25px;
    text-align: center;
    position: relative;
}

.login-section .form-section .extra-login::before {
    position: absolute;
    left: 0;
    top: 10px;
    width: 100%;
    height: 1px;
    background: #d8dcdc;
    content: "";
}

.login-section .form-section .extra-login > span {
    width: auto;
    float: none;
    display: inline-block;
    background: #fff;
    padding: 1px 20px;
    z-index: 1;
    position: relative;
    font-size: 15px;
    color: #616161;
    text-transform: capitalize;
}

.login-section .form-section ul{
    list-style: none;
    padding: 0;
    margin: 0 0 20px;
}

.login-section .form-section .social-list li {
    display: inline-block!important;
    margin-bottom: 5px;
}

.login-section .form-section .social-list li a {
    font-size: 14px;
    font-weight: 400;
    width: 130px;
    margin: 2px 0 3px 0;
    height: 40px;
    line-height: 40px;
    border-radius: 20px;
    display: inline-block;
    text-align: center;
    text-decoration: none;
    background: #fff;
    box-shadow: 0 0 5px rgba(0, 0, 0, 0.2);
    font-family: "Noto Sans KR", Helvetica, sans-serif;
}

.login-section .form-section .social-list li a i{
    height: 40px;
    width: 40px;
    line-height: 40px;
    float: left;
    color: #fff;
    border-radius: 20px;
}

.login-section .form-section .social-list li a span{
    margin-right: 7px;
}

.login-section .form-section h3 {
    margin: 0 0 30px;
    font-size: 20px;
    font-weight: 500;
	text-align:left;
}

.login-section .checkbox label::before {
    display: none;
}

.login-section input[type=checkbox]:checked + label:before {
    display: none;
}

.login-section .form-check-input:focus {
    box-shadow: none;
}

.login-section .form-section button:focus {
    outline: none;
    outline: 0 auto -webkit-focus-ring-color;
}

.login-section .form-section .terms{
    margin-left: 3px;
}

.login-section .form-section .form-check-input {
    width: 20px;
    height: 20px;
    margin-top: 0px;
    vertical-align: top;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    position: absolute;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    -webkit-print-color-adjust: exact;
    color-adjust: exact;
    border: 1px solid #e8e8e8;
    border-radius: 2px;
    background-color: #fff;
    margin-left: -22px;
}

.login-section .form-section .checkbox {
    margin-bottom: 20px;
    font-size: 14px;
}

.login-section .form-control:focus {
    color: #212529;
    background-color: #fff;
    outline: 0;
    box-shadow: none;
}

.login-section .form-section .form-check a {
    color: #37404d;
    float: right;
}

.login-section .form-section a.forgot-password {
    font-size: 16px;
    color: #616161;
    float: right;
}

/** Social media **/
.login-section .facebook-i {
    background: #4867aa;
    color: #fff;
}

.login-section .twitter-i {
    background: #33CCFF;
    color: #fff;
}

.login-section .google-i {
    background: #db4437;
    color: #fff;
}

.login-section .facebook-color{
    color: #4867aa;
}

.login-section .twitter-color {
    color: #33CCFF;
}

.login-section .google-color {
    color: #db4437;
}
/** login section end **/

/***********************************
 * 12. 이용약관
 ***********************************/

.service-info {
    margin: 0 auto 30px;
    position: relative;
    text-align: left;
    background: #fff;
    padding: 40px 30px;
    width: 100%;
}

.service-info h2 {
	font-size:18px;
	margin-bottom:20px;
}

.service-info p{
    font-size: 16px;
    margin-bottom: 0;
}

/***********************************
 * 13. imcamp
 ***********************************/

 @media only screen and (min-width: 800px) {

	.imcanvas {
		width:380px;
		height:100%;
		position:fixed;
		border:1px solid #ccc;
		top:0px;
		left:-380px;
		bottom:0px;
		background-color: #fafafa;
		z-index:200000000000002;
		-webkit-transition: left cubic-bezier(.23,1,.32,1) .45s;
		-moz-transition: left cubic-bezier(.23,1,.32,1) .45s;
		-o-transition: left cubic-bezier(.23,1,.32,1) .45s;
		transition: left cubic-bezier(.23,1,.32,1) .45s;
		z-index:2;
	}

	.imshow .imcanvas {
		left:0px;
	}

	.imcanvas #imcanvas_handle {
		width: 70px;
		height: 70px;
		position: absolute;
		bottom:calc(50vh - 30px);
		right: -70px;
		background-color: #fafafa;
		box-shadow: 0 0 7.84px 0.16px rgba(0,0,0,.2);
		cursor: pointer;
		z-index: 9998;
		transition: all .25s cubic-bezier(.23,1,.32,1) .2s;
		color: #222;
		line-height: 25px;
		padding:10px;
		text-align: center;
		border-top-right-radius: 10px;
		border-bottom-right-radius: 10px;
		font-size: 13px;
		border:1px solid #ccc;
		opacity:0.9;
	}

	.imcanvas #imcanvas_handle i {
		font-size:18px;
	}

	.imshow .imcanvas #imcanvas_handle{
		display:block;
		box-shadow:none;
	}

	.imcanvas #imcanvas_handle .imopen {display:block}
	.imshow .imcanvas #imcanvas_handle .imopen {display:none}

	.imcanvas #imcanvas_handle .imclose {display:none}
	.imshow .imcanvas #imcanvas_handle .imclose {display:block}

	/* 버튼관련 css */
	.imcanvas .nav-tabs .nav-item .nav-link.active {
	    background: #DE0A44!important;
	}

	.imcanvas .nav-tabs .nav-item .nav-link.active{
	    color: #fff;
	}

	#hope_pagination {
		justify-content: center;
		margin-top:20px;
		margin-bottom:20px;
	}

 }

.imcamp {
	position:fixed;
	width:100%;
	background-color:#fff;
	border-top:1px solid #ccc;
	bottom:0px;
	padding:17px;
	text-align:center;
	opacity:0.9;
	box-shadow:0 -4px 15px 0 rgb(0 0 0 / 8%);
	z-index:10000;
}

@media (max-width: 1024px) {
	.imcamp {
		padding:10px;
		bottom:57px;
	}
}

/*************************
 * 14. ckeditor
 *************************/
.content-body ul, .ck-editor__main ul {padding-left:15px}
.content-body ul li, .ck-editor__main ul li {list-style-type:disc}

ul.todo-list input {
	-webkit-appearance: none;
    border: 0;
    display: inline-block;
    height: 16px;
    margin-left: 0;
    margin-right: -15px;
    position: relative;
    right: 0;
    vertical-align: middle;
    width: 16px;
}

ul.todo-list input[checked]:before {
    background: #26ab33;
    border-color: #26ab33;
}

ul.todo-list input:after {
    border-color: transparent;
    border-style: solid;
    border-width: 0 calc(16px/8) calc(16px/8) 0;
    box-sizing: content-box;
    content: "";
    display: block;
    height: calc(16px/2.6);
    left: calc(16px/3);
    pointer-events: none;
    position: absolute;
    top: calc(16px/5.3);
    transform: rotate(45deg);
    width: calc(16px/5.3);
}

ul.todo-list input[checked]:after {
    border-color: #fff;
}

ul.todo-list input:before {
    border: 1px solid #333;
    border-radius: 2px;
    box-sizing: border-box;
    content: "";
    display: block;
    height: 100%;
    position: absolute;
    transition: box-shadow .25s ease-in-out,background .25s ease-in-out,border .25s ease-in-out;
    width: 100%;
}

.content-body img {
	margin-bottom:10px;
	border:1px solid #ccc;
	border-radius:5px;
}

blockquote {
    border-left: 5px solid #DE0A44;
    padding: 10px 10px;
    margin: 0 0 20px;
    color: #4a4747;
    background: #f9f6f6;
}

blockquote p {
	margin-bottom:5px;
}

blockquote strong {
	font-weight:bold;
}

.text-huge {font-size:1.8em}
.text-big {font-size:1.4em}
.text-small {font-size:0.85em}
.text-tiny {font-size:0.7em}

ul.todo-list li {list-style-type:none !important;position:relative}
ul.todo-list li input {margin-right:5px;}
ul.todo-list {padding-left:25px;}
