@import url("magic-check.css");

/* 기본틀  */
.wrap, #mapArea {
    position: relative;
    min-height: calc(100% - 50px);
    max-width: 720px;
    margin: 0 auto;
    padding-bottom: 50px;
}
.wrap_blue{
    background-color: #4f92f0;
}
.inner{
    padding: 15px;
}
.inner_tb0{
    padding: 0 15px 0;
}
.inner_blue{
    padding: 15px;
    background-color: #4f92f0;
    color: #fff;
}
.sel{
    width: 100%;
    display: block;
    padding: 10px;
    line-height: 18px;
    color: #000;
    border: none;
    border-radius: 0;
    font-size: 13px;
    -webkit-appearance: none;
    border: 1px solid #dadada;
    background-color: #fff;
    background-image: url(../img/icon_arrow_down2.png);
    background-size: 12px 6px;
    background-repeat: no-repeat;
    background-position: right 10px center;
}
.sel_blue{
    color: #fff;
    border-color: #3e80e0;
    background-color: #3e80e0;
    border-radius: 3px;
    background-image: url(../img/icon_arrow_down3.png);
}
.input_text_box input[type="text"]{
    width: 100px;
    border: 1px solid #dadada;
    margin-bottom: 0;
}
.input_text_box input[type="number"]{
    width: 100px;
    border: 1px solid #dadada;
    margin-bottom: 0;
    padding: 10px;
    max-height: 40px;
}
.input-btn{
    font-size: 0;
}
.input-btn input[type="text"], .input-btn .upload-name{
    width: 84%;
    border: 1px solid #dadada;
    font-size: 14px;
    margin-bottom: 0;
}
.input-btn .btn_sm, .input-btn.filebox label {
    width: 14%;
    font-size: 21px;
    line-height: 40px;
    padding: 0;
    margin-right: 0 !important;
    vertical-align: middle;
    margin-left: 2%;
}
.mlr_0{margin-right: 0 !important; margin-left: 0 !important;}
.mt_80{margin-top: 80px;}
/* 텍스트 칼라 */
.text_blue{
    color: #4f92f0;
}
.text_red{
    color: #eb6b60;
}
.view_info_list .text_blue{
    color: #3478f6;
}
/* 버튼 */
.btn, .btn[type="submit"]{
    padding: 10px;
    width: 100%;
    display: block;
    text-align: center;
    background-color: #ccc;
    color: #fff;
    border-radius: 4px;
    font-weight: 500;
    font-size: 15.75px;
}
.btn_sm, .filebox label{
    padding: 4px 8px;
    display: inline-block;
    text-align: center;
    background-color: #ccc;
    color: #fff;
    cursor: pointer;
    border-radius: 4px;
    font-weight: 500;
    font-size: 12px;
    border: none;
}

.btn_login, .btn_login[type="submit"], .btn_find.active{
    background-color: #5893ff;
}
.btn_login_su, .btn_login_su[type="submit"]{
    background-color:#185bd8;
}
.btn+.btn{
    margin-top: 10px;
}
.btn_phone{
    border: 1px solid #24cd44;
    background-color: #fcfcfc;
    color: #24cd44;
}
.btn_red, .btn_cancel{
    background-color: #eb6b60 !important;
}
.btn_blue{
    background-color: #5893ff !important;
}
.btn_green{
    background-color: #24cd44 !important;
}
.btn_del{
    background-color: #ccc !important;
}
.btn_phone.active{
    border: 1px solid #a7aaa8;
    background-color: #a7aaa8;
    color: #fff;
}
.btn_w{
    color: #666;
    background-color: #fff;
}
.width_80{
    width: 80%;
    margin: 30px auto 0;
}
.contents {
    min-height: 100%;

}
.b_fixed{
    position: fixed;
    bottom: 0;
    width: 100%;
    left: 0;
    padding: 10px;
    background-color: #fff;
}
.b_last{
    margin-top: 40px;
    margin-bottom: 40px;
}
.b_fixed a, .b_last a{
    max-width: 800px;
    margin: 0 auto;
    position: relative;
}
.b_fixed a::before, .b_last a::before{
    content: '';
    width: 20px;
    height: 20px;
    position: absolute;
    top: calc(50% - 10px);
    right: 10px;
    background-image: url(../img/top_icon.png);
    background-size: 40px 60px;
    background-position: 0 -40px;
    transform: rotate(180deg);
    opacity: 0.75;
}
.b_last .btn_w::before{
    background-position: -20px -40px;
}
.add_btn{
    display: inline-block;
    background-color: transparent;
    color: #3478f6;
    font-size: 14px;
    font-weight: 600;
    margin-top: 10px;
    padding: 10px;
}
.btn_half a{
    width: calc(50% - 5px);
    float: left;
}
.btn_half::after{
    content: '';
    display: table;
    clear: both;
}
.btn_half .btn+.btn{
    margin-left: 10px;
    margin-top: 0;
}
/* input */
input[type="text"], input[type="password"]{
    width: 100%;
    padding: 10px;
    margin-bottom: 10px;
    max-height: 40px;
}
dd input[type="text"], dd input[type="password"]{
    margin-bottom: 0;
}
.input_line[type=text], .input_line[type="password"]{
    border:none;
    border-bottom: 1px solid #eee;
}
/* 상태표시  */
.status_display{
    background-color: #b3b3b3;
    color: #fff;
    font-size: 0.75rem;
    display: inline-block;
    line-height: 1;
    padding: 3px 5px;
    min-width: 50px;
    text-align: center;
    border-radius: 3px;
}
.status_display.recruit,.recruit .status_display{
    background-color: #4f92f0;
}
.status_display.deadline{
    background-color: #b3b3b3;
}
/* 검색 */
.search_box{
    border: 1px solid #dadada;
    vertical-align: top;
    line-height: 1;
    border-radius: 3px;
    background-color: #fff;
    position: relative;
}
.search_box input{
    border: 0;
    margin-bottom: 0;
    outline: none;
    width: calc(100% - 40px);
    background-color: transparent;
}
.search_box input:focus{
    outline: none;
}
.search_box .btn_sch_submit{
    width: 30px;
    height: 30px;
    text-indent: -999em;
    background-color: transparent;
    background-image: url(../img/top_icon.png);
    background-size: 60px 90px;
    background-position: -30px -30px;
}
.search_box_blue{
    border: 1px solid #3e80e0;
    background-color: #3e80e0;
}
.search_box_blue input{
    background-color: #3e80e0;
    color: #fff;
}
.search_box_blue .btn_sch_submit{
    background-color: #3e80e0;
    background-position: 0px -30px;
}
.search_box_blue input::placeholder{
    color: #fff;
    opacity: 0.8;
}
.offerer_search .search_box + .btn{
    background-color:#3e80e0 ;
    font-size: 14px;
    font-weight: normal;
    text-align: left;
    position: relative;
}
.offerer_search .search_box + .btn:after{
    content: '';
    width: 20px;
    height: 20px;
    position: absolute;
    top: calc(50% - 10px);
    right: 10px;
    background-image: url(../img/top_icon.png);
    background-size: 40px 60px;
    background-position: 0 -40px;
    transform: rotate(180deg);
}
/* 테이블 */
.tb_st_01{
    margin-top: 20px;
    width: 100%;
}
.tb_st_01{
    border-top: 1px solid #666;
    border-bottom: 1px solid #eee;
}
.tb_st_01 td{
    padding: 10px;
}
.text_right{
    text-align: right;
}
.text_center{
    text-align: center;
}
.tb_phone .tb_tit{
    color: #999;
}
/*프로필 이미지 배경 */
.photo_bg{
    background-image: url(../img/photo_noimage.png);
    background-size:cover;
    background-repeat: no-repeat;
}
.service_list_box .photo_bg{
    background-image: url(../img/photo_noimage2.png);
}
/* 파일 input file */
.filebox input[type="file"] {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip:rect(0,0,0,0);
	border: 0;
}

.filebox .upload-name {
	display: inline-block;
	padding: 10px;
	vertical-align: middle;
	background-color: #f5f5f5;
    border: 1px solid #ebebeb;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}
/* tab 스와이퍼 */
.tab li+li::after{
    content: '';
    position: absolute;
    top: calc(50% - 5px);
    left: 0;
    display: block;
    width: 1px;
    height: 10px;
    background-color: rgba(255, 255, 255, 0.1);
}
.tab.tab_white li+li::after{
    background-color: rgba(0, 0, 0, 0.1);
}
.tab li button{
    display: block;
    width: 100%;
    background-color: transparent;
    color: rgba(255, 255, 255, 0.7);
    padding: 7px 10px;
    font-size: 0.875rem;
    text-align: center;
}
.tab.tab_white li button{
    color: rgba(0, 0, 0, 0.7);
}
.tab .active button{
    font-weight: 700;
    color: #fff;
    position: relative;
}
.tab.tab_white .active button{
    color: #333;
}
.tab .active button:after{
    content: '';
    position: absolute;
    bottom: 0;
    width: 70%;
    height: 2px;
    background-color: #24cd44;
    left: calc(50% - 35%);
}
.tab.tab_white .active button:after{
    background-color: #4f92f0;
}
.tab li button{
    display: block;
    width: 100%;
    background-color: transparent;
    color: rgba(255, 255, 255, 0.7);
    padding: 7px 10px;
    font-size: 0.875rem;
    text-align: center;
}
/* edit by openbus - 2020-10-23 카테고리 리스트 디자인 추가 s */
.tab.tab_white li a{
    color: rgba(0, 0, 0, 0.7);
}
.tab .active a{
    font-weight: 700;
    color: #fff;
    position: relative;
}
.tab.tab_white .active a{
    color: #333;
}
.tab .active a:after{
    content: '';
    position: absolute;
    bottom: 0;
    width: 70%;
    height: 2px;
    background-color: #24cd44;
    left: calc(50% - 35%);
}
.tab.tab_white .active a:after{
    background-color: #4f92f0;
}.tab li a{
    display: block;
    width: 100%;
    background-color: transparent;
    color: rgba(255, 255, 255, 0.7);
    padding: 7px 10px;
    font-size: 0.875rem;
    text-align: center;
}
/* edit by openbus - 2020-10-23 카테고리 리스트 디자인 추가 e */
.tab .grd_prev {
    position: absolute;
    top: 0;
    bottom: 3px;
    left: 0;
    width: 15px;
    height: 32px;
    background-image: -webkit-gradient(linear,left top,right top,from(#4f92f0),to(rgba(79, 146, 240,0)));
    background-image: -webkit-linear-gradient(left,#4f92f0,rgba(79, 146, 240,0));
    background-image: linear-gradient(to right,#4f92f0,rgba(79, 146, 240,0));
    z-index: 10;
}
.tab .grd_next {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 3px;
    width: 15px;
    height: 32px;
    background-image: -webkit-gradient(linear,right top,left top,from(#4f92f0),to(rgba(79, 146, 240,0)));
    background-image: -webkit-linear-gradient(right,#4f92f0,rgba(79, 146, 240,0));
    background-image: linear-gradient(to left,#4f92f0,rgba(79, 146, 240,0));
    z-index: 10;
}
.tab.tab_white .grd_prev {
    background-image: -webkit-gradient(linear,left top,right top,from(#fff),to(rgba(255, 255, 255,0)));
    background-image: -webkit-linear-gradient(left,#fff,rgba(255, 255, 255,0));
    background-image: linear-gradient(to right,#fff,rgba(255, 255, 255,0));
}
.tab.tab_white .grd_next {
    background-image: -webkit-gradient(linear,right top,left top,from(#fff),to(rgba(255, 255, 255,0)));
    background-image: -webkit-linear-gradient(right,#fff,rgba(255, 255, 255,0));
    background-image: linear-gradient(to left,#fff,rgba(255, 255, 255,0));
}
/* header */
.header{
    position: relative;
    border-bottom: 1px solid #dadada;
    background-color: #fff;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    height: 50px;
}
.header .h_title{
    text-align: center;
    font-size: 20px;
    font-weight: 500;
    display: inline-block;
    width: calc(100% - 90px);
    text-overflow: ellipsis;
    overflow: hidden;
    white-space: nowrap;
    color: #333;
    line-height: 50px;
    margin: 0 auto;
}
.header .h_title span{
    font-size: 14px;
    color: #3478f6;
    position: relative;
    padding-left: 17px;
}
.header .h_title span::before{
    content: '';
    width: 20px;
    height: 20px;
    position: absolute;
    top: calc(50% - 10px);
    left: 0;
    background-image: url(../img/top_icon.png);
    background-size: 40px 60px;
    background-position: -18px -40px;
    transform: rotate(180deg);
    opacity: 0.5;
}
.header.header_blue{
    background-color: #4f92f0;
    border-bottom: none;
}
.header.header_blue .h_title{
    color: #fff;
}
.header.header_blue .h_title.h_tit_name{
    font-size: 14px;
    color: #ffea7d;
    margin:0;
    text-align: left;
    margin-left: 40px;
    width: calc(100% - 120px);
}
.header.header_blue .h_title strong{
    font-size: 20px;
    font-weight: 500;
    color: #fff;
}
.header.header_blue .h_title span{
    color: #ffea7d;
}
.header.header_blue .h_title span::before{
    background-position: 1px -40px;
}
.header.header_blue .btn_prev::before{
    background-position: 0 -60px;
}
.header.header_blue .btn_close::before{
   background-position: 0 0;
}
.header.header_blue .more_list_btn{
    width: 36px;
    height: 36px;
    background-image: url(../img/h_btn_more.png);
    background-size: 28px;
    background-position: center;
    background-repeat: no-repeat;
    opacity: 0.7;
}
.header [class*="btn_"]{
    position: absolute;
    text-indent: -9999em;
    top: calc(50% - 20px);
    width: 40px;
    height: 40px;
}
.header [class*="btn_"]::before{
    content: '';
    position: absolute;
    width: 30px;
    height: 30px;
    top: 5px;
    left: 5px;
    background-image: url(../img/top_icon.png);
    background-size: 60px 90px;
}
.header .btn_prev{
    left: 0;
}
.header .btn_prev::before{
    background-position: -30px -60px;
}
.header .btn_close{
    right: 0;
}
.header .btn_close::before{
   background-position: -30px 0;
}
.header .h_right{
    position: absolute;
    top: calc(50% - 18px);
    right: 0;
}
.header .jjim__jjim{
    position: relative;
    display: inline-block;
    width: 32px;
    height: 36px;
    opacity: 0.8;
    margin-right: 6px;
}
.header .jjim__jjim:after{
    content: '';
    display: block;
    width: 20px;
    height: 18px;
    position: absolute;
    top: calc(50% - 8px);
    right: calc(50% - 10px);
    background-image: url(../img/icon_jjim.png);
    background-size: 41px 36px;
    background-position: 0 -18px;
}
.header .jjim__jjim + .more_list_btn{
    margin-left: -6px;
}
.header .jjim__jjim.active:after{
    background-position: -20px -18px;
}
.header .jjim__jjim.active{
    opacity: 1;
}
.header .jjim__jjim.active::before{
    content: '';
    display: block;
    width: 28px;
    height: 28px;
    position: absolute;
    top: calc(50% - 14px);
    right: calc(50% - 14px);
    background-color: rgba(255, 255, 255, 0.9);
    border-radius: 50%;
}
/* 로그인 */
.login_tit{
    text-align: center;
    margin-top: 20px;
}
.login_tit .logo_img{
    width: 172px;
}
.login_tit h3{
    font-size: 1.25em;
    font-weight: 500;
    margin-top: 5px;
    margin-bottom: 20px;
}
.loing-box {
    margin-top: 20px;
}

[class*="sns-"]{
    position: relative;
}
[class*="sns-"]::before{
    content: '';
    position: absolute;
    width: 40px;
    height: 40px;
    left: 0;
    top: calc(50% - 20px);
    background-image: url(../img/icon_sns.png);
    background-repeat: no-repeat;
    background-size: 40px 160px;
}
.sns-google{
    background-color: #dc5246;
}
.sns-google::before{
    background-position: 0 0;
}
.sns-kakao{
    background-color: #f9e000;
    color: #3b1c1c;
}
.sns-kakao::before{
    background-position: 0 -40px;
}
.sns-naver{
    background-color: #03ce5d;
}
.sns-naver::before{
    background-position: 0 -80px;
}
.sns-apple{
    background-color: #231f20;
    color: #fff;
}
.sns-apple::before{
    background-position: 0 -120px;
}
.idpws {
    text-align: center;
    margin-top: 20px;
}
.idpws a{
    display: inline-block;
    color: #808080;
}
.idpws a+a{
    padding-left: 7px;
    margin-left: 4px;
    position: relative;
}
.idpws a+a::before{
    content: '';
    position: absolute;
    width: 1px;
    height: 16px;
    top: calc(50% - 8px);
    left: 0;
    background-color: #e0e0e0;
}
.pw_txt{
    text-align: center;
    margin-top: 20px;
    font-weight: normal;
}
/* 회원가입 */
.loing-box .width_80, .add_list+.width_80{
    margin-top: 20px;
}
.terms_p .terms_box, .service_input_info .terms_box{
    display: none;
}
.terms_p .terms_box.active, .service_input_info .terms_box.active{
    display: block;
}
.chk_all_txt{
    font-size: 17.5px;
}
.terms_chk_all{
    margin-bottom: 20px;
}
.terms_bx{
    margin-bottom: 20px;
    position: relative;
}
.terms_box{
    height: 140px;
    margin-top: 10px;
    border: 1px solid #eee;
    background-color: #f8f8f8;
    padding: 10px;
    overflow: auto;
}
.all_view{
    position: absolute;
    top: 5px;
    right: 0;
    border: none;
    outline: none;
    background-color: transparent;
    color: #666;
    padding-right: 14px;
    font-size: 10px;
}
.all_view::before{
    content: '';
    display: block;
    width: 10px;
    height: 6px;
    background-image: url(../img/icon_arrow_down.png);
    background-size: 10px 5px;
    background-repeat: no-repeat;
    background-position: right center;
    position: absolute;
    top: calc(50% - 3px);
    right: 0;
}
.all_view.active::before{
    transform: rotate(180deg);
}
.terms_necessary, .terms_choice{
    font-size: 12px;
    color: #eb6b60
}
.terms_choice{
    color: #888;
}
.id_check{
    position: relative;
    margin-bottom: 10px;
}
.id_check input[type="text"]{
    margin-bottom: 0;
}
.id_check .btn_sm{
    position: absolute;
    top: calc(50% - 12px);
    right: 0;
    background-color: #eb6b60;
}

/* 추가 인증 */
.add_txt{
    background-color: #f8f8f8;
    text-align: center;
    color: #000;

}
.add_txt strong{
    font-size: 17.5px;
    display: block;
}
.add_list dl{
    padding: 10px;
    display: table;
    width: 100%;
}
.add_list dt{
    display: table-cell;
    width: 74px;
    text-align: right;
    padding-right: 14px;
    line-height: 40px;
    vertical-align: middle;
}
.add_list dd{
    display: table-cell;
    width: calc(100% - 74px);
    line-height: 40px;
    vertical-align: middle;
}
.add_list li, .add_list dl{
    border-bottom: 1px solid #fafafa;
}
.add_list li{
    padding-bottom: 20px;
    margin-top: 20px;
}
.add_list .btn_sm, .filebox label{
    background-color: #03ce5d;
    margin-right: 15px;
}
.add_list .btn_sm.active{
    background-color: #fff;
    border: 1px solid #24cd44;
    color: #03ce5d;
}
.ico_cp{
    border-radius: 50%;
    width: 20px;
    height: 20px;
    border:none;
    background: url(../img/icon_q.png);
    background-repeat: no-repeat;
    background-size: 20px;
    vertical-align: baseline;
    text-indent: -9999em;
    margin-left: 5px;
    outline: none;
}
.my_apparatus{
    margin-top: 20px;
    border-top: 4px solid #dadada;
}
.content_tit{
    color: #3478f6;
}
.content_tit + .my_apparatus_list{
    margin-top: 10px;
}
.my_apparatus_list:last-child{
    border-bottom: none;
}
.my_apparatus_list{
    border-top: 1px solid #eee;
}
.my_apparatus_list  dl{
    padding: 5px 10px;
    border-bottom: none;
}
.my_apparatus_list{
    border-bottom: 2px solid #f2f2f2;
}
.my_apparatus_list  dl dt, .my_apparatus_list  dl dd{
    line-height: 30px;
}
.my_apparatus_list  dl dt{
    color: #666;
}
.my_apparatus_case{
    position: relative;
    border-bottom: 1px solid #eee;
}
.my_apparatus_case span{
    display: inline-block;
    width: 70px;
    padding-right: 5px;
    line-height: 40px;
    text-align: right;
    color: #666;
}
.my_apparatus_case .ing{
    color: #eb6b60;
}
.my_apparatus_case [class*="btn"]{
    position: absolute;
    right: 5px;
    top: calc(50% - 12px);
    margin-right: 0;
}
/* main */
.booker_photo img{
    border-radius: 50%;
}

/* 하단 */
.footer-menu{
    position: fixed;
    width: 100%;
    left: 0;
    bottom: 0;
    border-top: 1px solid #adadad;
    background-color: #fff;
    z-index: 100;
}
.footer-menu ul{
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    max-width: 800px;
    margin: 0 auto;
}
.footer-menu li{
    width: 25%;
    text-align: center;
}
.footer-menu li a{
    display: block;
    color: #888;
    height: 50px;
    font-size: 9.975px;
    padding-top: 30px;
    position: relative;
}
.footer-menu li.active a{
    color:#3478f6;
}
.footer-menu li.active a::after{
    content: '';
    width: 30px;
    height: 2px;
    position: absolute;
    background-color: #000;
    top: -2px;
    left: calc(50% - 15px);
}
.footer-menu li a::before{
    content: '';
    position: absolute;
    width: 35px;
    height: 35px;
    background-image: url(../img/icon_footer.png);
    background-size: 70px 140px;
    left: calc(50% - 17px);
    top: 0;
}
.footer-menu li:nth-child(1) a::before{
    background-position: -35px 0;
}
.footer-menu li:nth-child(2) a::before{
    background-position: -35px -35px;
}
.footer-menu li:nth-child(3) a::before{
    background-position: -35px -70px;
}
.footer-menu li:nth-child(4) a::before{
    background-position: -35px -105px;
}
.footer-menu .active:nth-child(1) a::before{
    background-position: 0 0;
}
.footer-menu .active:nth-child(2) a::before{
    background-position: 0 -35px;
}
.footer-menu .active:nth-child(3) a::before{
    background-position: 0 -70px;
}
.footer-menu .active:nth-child(4) a::before{
    background-position: 0 -105px;
}
/* 모달 */
.modal_box .modal{
    border-radius: 3px;
    z-index: 150;
    position: fixed !important;
    left: 50%;
    top: 50%;
    border: 1px solid #979797;
    background: #fff;
    box-sizing: border-box;
}
.modal_box .modal_bg{
    display: block;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 99;
    width: 100%;
    height: 100%;
    background: #000;
    opacity: 0.4;
}
.modal_box .modal_tit{
    font-size: 20px;
    letter-spacing: -0.5px;
    color: #222;
    font-weight: bold;
    padding-bottom: 10px;
}
.modal_box .modal_content{
    max-height: 190px;
    overflow-y: auto;
    font-size: 13px;
    line-height: 20px;
    letter-spacing: -0.5px;
    color: #222;
    padding: 11px 0;
    border-top: 1px solid #000;
    border-bottom: 1px solid #e5e5e5;
}
.modal_box .moadl_sty2 .modal_content{
    max-height: 250px;
    min-height: 147px;
}
.moadl_sty1{
    width: 320px;
    min-height: 255px;
    padding: 15px 21px 77px;
    margin: -180px 0 0 -160px;
}
.moadl_sty1 .btn_ok, .moadl_sty2 .btn_ok {
    width: 130px;
    height: 34px;
    line-height: 34px;
    color: #fff;
    background-color: #222;
    display: block;
    font-size: 15px;
    letter-spacing: -0.5px;
    position: absolute;
    left: 50%;
    bottom: 23px;
    margin-left: -65px;
}
.moadl_sty2 .btn_ok{
    bottom: 13px;
}
.moadl_sty1 .btn_close, .moadl_sty2 .btn_close {
    position: absolute;
    z-index: 50;
    right: 15px;
    top: 15px;
    width: 20px;
    height: 20px;
    background: url(../img/top_icon.png);
    background-size: 40px 60px;
    background-position: -20px 0;
}
.moadl_sty2{
    width: 320px;
    min-height: 255px;
    padding: 10px 15px 57px;
    margin: -180px 0 0 -160px;
}
.modal_box .modal_content ol{
    padding-left:15px;
    margin:0;
}
/* 제공자 검색 */
.hv-100{
	height: 100vh;
}
#wrapAddress{
	height: calc(100vh - 50px);
	background-color: #4f92f0;
}
.offerer_search{
    text-align: center;
}
.offerer_search .search_box{
    margin-top: 20px;
    margin-bottom: 10px;
}
.offerer_search .search_box input{
    width: 100%;
}
.search_icon.search_box::after{
    content: '';
    display: block;
    width: 30px;
    height: 30px;
    background-image: url(../img/top_icon.png);
    background-size: 60px 90px;
    background-position: -30px -30px;
    background-repeat: no-repeat;
    position: absolute;
    top: calc(50% - 15px);
    right: 5px;
}
.search_box_blue.search_icon.search_box::after{
    background-position: 0 -30px;
}
.class_name{
    color:#fff;
    display: inline-block;
    background-color: #f75a5a;
    font-size: 12px;
    padding: 3px 15px;
    border-radius: 20px;
    margin-bottom: 5px;
}
.class_name.class_service{
	background-color: #03ce5d;
}
.offerer_week{
    margin-left: -15px;
    margin-right: -15px;
    margin-bottom: -15px;
    margin-top: -5px;
    background-color: #3e80e0;
}
.offerer_week li{
    width: 14.28571%;
    float: left;
    position: relative;

}
.offerer_time{
    background-color: #f8f8f8;
}
.offerer_time li{
    padding: 10px 0;
    position: relative;
}
.offerer_time li + li{
    border-top: 1px solid #eee;
}
.offerer_time li span{
    font-size: 1rem;
    display: block;
}
.offerer_time li button{
    position: absolute;
    top: calc(50% - 12px);
    right: 0;
}
.offerer_time_set {
    padding-bottom: 50px;
}
.offerer_time_set dl{
    display: table;
    width: 100%;
    padding: 10px 0;
}
.offerer_time_set dt{
    width: 40px;
    display: table-cell;
    vertical-align: middle;
}
.offerer_time_set dd{
    display: table-cell;
}
.offerer_time_set .text_right .add_btn{
    margin-top: 0;
}
.reset_btn , .service_m_btn, .red_btn{
    display: inline-block;
    background-color: transparent;
    color: #dc5246;
    font-size: 0.875rem;
    font-weight: 600;
    padding: 2px 10px;
}
.text_right .reset_btn, .text_right .add_btn{
    padding: 10px 0 10px 10px;
}
.reset + .b_last{
    margin-top: 10px;
}
.class_name + .search_box_blue{
    margin-top: 10px;
    margin-bottom: 0;
}
.search_list, .message_list{
    padding-left: 20px;
    padding-right: 20px;
}
.search_list li, .message_list li{
    display: table;
    padding: 20px 0;
}
.search_list .img_photo, .message_list .img_photo, .user .img_photo{
    display: table-cell;
    vertical-align: middle;
    position: relative;
}
.search_list .img_photo .photo_bg, .message_list .img_photo .photo_bg, .user .img_photo .photo_bg{
    width: 66px;
    height: 66px;
    vertical-align: middle;
    position: relative;
    margin-right: 20px;
    border-radius: 50%;
    overflow: hidden;
    border: 1px solid #e0e0e0;
}
.search_list .img_photo img, .message_list .img_photo img, .user .img_photo img, .profile_info .photo img{
    width: 100%;
    position: absolute;
    left:0;
    top: 50%;
    transform: translateY(-50%);
}
.search_list .jjim__jjim{
    background-color: transparent;
    text-indent: -9999em;
    width: 26px;
    height: 22px;
    position: absolute;
    top: calc(50% + 12px);
    left: 45px;
    background-image: url(../img/icon_jjim.png);
    background-size: 52px 44px;
    background-position: 0 0;
}
.search_list .jjim__jjim.active{
    background-position: -26px 0 ;
}
.search_list li a, .message_list li a, .user .user_txt{
    width: 100%;
    vertical-align: top;
    display: table-cell;
}
.search_name{
    font-size: 1.125rem;
    color: #3c3c3c;
    display: block;
}
.search_name + p, .message_list_text p{
    color: #666;
    font-size: 0.875rem;
    font-weight: 500;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    word-wrap: break-word;
    line-height: 1.2rem;
    height: 2.4rem;
    margin-top: 3px;
    word-break: break-all;
}
.service_list_box .search_name{
    color: #333;
    font-size: 1rem;
    font-weight: 500;
    /* overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    word-wrap: break-word;
    height: 2.4rem; */
    line-height: 1.2rem;
    word-break: break-all;
}
.service_list_box .search_list_info{
    color: #999;
    font-size: 0.75rem;
    margin-top: 5px;
}
.service_list_box .review{
    margin-top: 0;
}
.service_list_box .search_list_info span{
    display: inline-block;
}
.service_list_box .search_list_info span+span{
    margin-left: 4px;
    padding-left: 7px;
    position: relative;
}
.service_list_box .search_list_info span+span::before{
    content: '';
    width: 1px;
    height: 8px;
    left: 0;
    top: calc(50% - 4px);
    position: absolute;
    background-color: #eee;
}
.service_list_box .search_list .img_photo{
    vertical-align: top;
}
.service_list_box .search_list .jjim__jjim{
    top: 46px
}
.service_list_box .search_list_text{
    position: relative;
}
.service_list_box .status_display{
    position: absolute;
    bottom: 0;
    right: 0;
}
.service_list_box .deadline{
    opacity: 0.6;
}
/* .service_list_box .search_list .img_photo .photo_bg{
    border-radius: 28px;
} */
.review {
    position: relative;
    line-height: 1;
    margin-top: 2px;
}
.review .review_bg{
    display: inline-block;
    width: 85px;
    height: 12px;
    background-image: url(../img/icon_heart.png);
    background-size: 85px 24px;
    background-position: 0 -12px;
    vertical-align: middle;
    text-align: left;
}

.review_bg .icon_heart{
    display: inline-block;
    background-image: url(../img/icon_heart.png);
    background-size: 85px 24px;
    height: 12px;
    background-position: 0 0;
    vertical-align: top;
}
.review>span{
    color: #f75a5a;
    font-weight: 500;
    font-size: 0.75rem;
    margin-left: 5px;
}
.more_btn {
    margin-left: 20px;
    margin-right: 20px;
}
.more_btn button{
    background-color: transparent;
    padding: 11px;
    width: 100%;
    background-color: #f8f8f8;
    border-top: 1px solid #f0f0f0;
}
.more_btn button span{
    display: inline-block;
    font-size: 0.8125rem;
    color: #666;
    padding-right: 20px;
    background-image: url(../img/icon_arrow_down.png);
    background-size: 10px 5px;
    background-repeat: no-repeat;
    background-position: right center;
}
/* 개인 프로필 */
.profile_img{
    text-align: center;
    position: relative;
    background-color: rgba(0,0,0,0.2)
}
/*.profile_img_swiper .swiper-slide::before{
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    background-image: linear-gradient(0deg, rgba(114, 49, 186, 0.5), rgba(80, 143, 238, 0.3));
    mix-blend-mode: multiply;
    opacity: 0.8;
}*/
.profile_img .swiper-container, .profile_img_swiper .swiper-slide{
	min-height: 25vw;
}
@media (max-width: 500px) {
	.profile_img .swiper-container, .profile_img_swiper .swiper-slide{
	min-height: 50vw;
	}
}
.profile_img .class_name{
    margin-bottom: 0;
    position: absolute;
    top: 10px;
    z-index: 4;
    left: 50%;
    transform: translateX(-50%);
}
.profile_img .jjim__jjim {
    position: absolute;
    bottom: 15px;
    right: 15px;
    background-color: transparent;
    border: 1px solid rgba(255, 255, 255, 0.5);
    border-radius: 50%;
    width: 36px;
    height: 36px;
    z-index: 5;
}
.profile_img .jjim__jjim:after{
    content: '';
    display: block;
    width: 20px;
    height: 18px;
    position: absolute;
    top: calc(50% - 8px);
    right: calc(50% - 10px);
    background-image: url(../img/icon_jjim.png);
    background-size: 41px 36px;
    background-position: 0 -18px;
}
.profile_img .jjim__jjim.active{
    background-color: rgba(0, 0, 0, 0.2);
}
.profile_img .jjim__jjim.active:after{
    background-position: -20px -18px;
}
.profile_img_swiper img{
    width: 100%;
}
.profile_img_swiper .swiper-button-next, .profile_img_swiper .swiper-button-prev{
    color: #fff;
}
.profile_img_swiper .swiper-button-next:after, .profile_img_swiper .swiper-button-prev:after{
    font-size: 18px;
}
.profile_info{
    position: relative;
    z-index: 10;
}
.profile_info .photo{
    width: 90px;
    height: 90px;
    overflow: hidden;
    border-radius: 50%;
    margin: -45px auto 0;
    background-image: url(../img/photo_noimage.png);
    background-size:cover;
    position: absolute;
    top: -45px;
    left: calc(50% - 45px);
}
.profile_service .profile_info>div{
    margin-top: 10px;
    text-align: center;
}
.profile_service .profile_info .photo{
   background-image: url(../img/photo_noimage2.png);
   width: 60px;
   height: 60px;
   margin: 0;
   display: inline-block;
   vertical-align: middle;
   margin-right: 5px;
   left: calc(50% - 30px);
   /*position: static;*/
}
.profile_service .profile_info span{
    display: block;
    font-size: 0.8125rem;
    margin-top: 3px;
    color: #666;
    font-weight: 600;
}
.profile_service h4.txt, h4.tit{
    font-size: 1.125rem;
    line-height: 1.2;
    font-weight: 500;
    /* color: #4f92f0; */
    color: #000;
    word-break: break-all;
}
.profile_service h4.txt{
    margin-top: 10px;
}
.profile_service  .profile_info .txt{
	padding-top: 25px;
}
.profile_info .txt{
    font-size: 0.875rem;
    margin-top: 45px;
    padding-left: 20px;
    padding-right: 20px;
    color: #666;
    text-align: center;
    padding-top: 10px;
}
.map_box{
    margin-top: 10px;
}
.map_box>div{
    width: 100%;
}
.profile_btn{
    background-color: #f2f2f2;
    padding: 15px;
    margin-top: 15px;
}
.profile_btn .btn{
    box-shadow: 1px 0 6px rgba(0, 0, 0, 0.3);
}
.profile_btn .btn+.btn{
    margin-top: 7px;
}
.btn_matching .icon, .btn_message .icon, .btn_apply .icon{
    display: inline-block;
    height: 20px;
    background-image: url(../img/btn_icon.png);
    background-size: 27px 60px;
    background-position-x: center;
    vertical-align: sub;
    margin-right: 4px;
}
.btn_message{
    background-color: #4f92f0;
}
.btn_message .icon{
    background-position: 0 0;
    width: 27px;
}
.btn_matching{
    background-color: #ad5cff;
}
.btn_matching .icon{
    background-position: 0 -20px;
    width: 27px;
}
.btn_apply{
    background-color: #eb6b60;
}
.btn_apply .icon{
    background-position: 0 -40px;
    width: 20px;
}
.profile_info_content>div:first-child{
    margin-top: 0;
}
.profile_info_content>div{
    margin-top: 40px;
    font-size: 0.875rem;
    color: #666666;
}
.profile_info_content>div h4{
    font-size: 1.0313rem;
    margin-bottom: 5px;
    color: #333;
}
.table_sty{
    border-collapse: collapse; border-spacing: 0;
    width: 100%;
    margin-top: 10px;
    border-top: 1px solid #000;
}
.table_sty thead th,.table_sty tbody th,.table_sty tbody td{
    padding: 5px;
}
.table_sty tbody th{
    background-color: #f8f8f8;
}
.table_sty tbody tr{
    border-bottom: 1px solid #eee;
}
.table_week tbody td{
    padding-left: 15px;
}
.table_week .sunday{
    color: #dc5246
}
.table_week .saturday{
    color: #3478f6
}
.service_review .service_no{
    font-size: 0.875rem;
    font-weight: normal;
    color:#eb6b60;
    position: relative;
    padding-left: 6px;
    margin-left: 2px;
}
.service_review .service_no::before{
    content: '';
    position: absolute;
    top: calc(50% - 6px);
    left: 0;
    width: 1px;
    height: 12px;
    background-color: #f8f8f8;
}
.review_total{
    background-color: #f8f8f8;
    padding: 10px;
    text-align: center;
}
.review_total .review{
    display: inline-block;
    margin-top: 0;
}
.review_total .review .review_bg{
    width: 120px;
    height: 17px;
    background-image: url(../img/icon_heart2.png);
    background-size: 120px 35px;
    background-position: 0 -17px;
}
.review_total .review_bg .icon_heart{
    background-image: url(../img/icon_heart2.png);
    background-size: 120px 35px;
    background-position: 0 0;
    height: 16px;
}
.review_total .review>span{
    font-size: 1.25rem;
    vertical-align: middle;
    color: #333;
}
.service_review_list li{
    padding: 20px 10px;
    border-bottom: 1px solid #eee;
}
.service_review_list li:last-child{
    border-bottom: none;
}
.service_rating{
    margin-bottom: 5px;
}
.service_rating .img_photo{
    width: 40px;
    height: 40px;
    float: left;
    margin-right: 15px;
    border-radius: 50%;
    overflow: hidden;
    border: 1px solid #e0e0e0
}
.service_rating .img_photo img{
    width: 100%;
}
.service_rating_info{
    font-size: 0.8125rem;
    color: #999;
    margin-top: 5px;
    position: relative;
}
.service_rating_info .name{
    font-weight: normal;
}
.service_review .more_btn{
    margin-left: 0;
    margin-right: 0;
}
.service_rating_info .data{
    position: absolute;
    font-size: 0.75rem;
    top: 0;
    right: 0;
}
.service_rating_text{
    color: #222;
}
/* 서비스 검색 */
.swiper-container {
    margin: 0 auto;
    position: relative;
    overflow: hidden;
    z-index: 1;
}
.swiper-wrapper {
    position: relative;
    width: 100%;
    height: 100%;
    z-index: 1;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-transition-property: -webkit-transform;
    -moz-transition-property: -moz-transform;
    -o-transition-property: -o-transform;
    -ms-transition-property: -ms-transform;
    transition-property: transform;
    -webkit-box-sizing: content-box;
    -moz-box-sizing: content-box;
    box-sizing: content-box;
}
.swiper-wrapper {
    -webkit-transform: translate3d(0px,0,0);
    -moz-transform: translate3d(0px,0,0);
    -o-transform: translate(0px,0px);
    -ms-transform: translate3d(0px,0,0);
    transform: translate3d(0px,0,0);
}
.swiper-container-free-mode>.swiper-wrapper {
    -webkit-transition-timing-function: ease-out;
    -moz-transition-timing-function: ease-out;
    -ms-transition-timing-function: ease-out;
    -o-transition-timing-function: ease-out;
    transition-timing-function: ease-out;
    margin: 0 auto;
}
.swiper-slide {
    -webkit-flex-shrink: 0;
    -ms-flex: 0 0 auto;
    flex-shrink: 0;
    width: 100%;
    height: 100%;
    position: relative;
}
.service_tab {
    position: relative;
}
.service_tab{
    margin-top: 5px;
}
.date_box > *{
	float:left;
}
.date_box .date {
    background-color: #3e80e0;
    color: #fff;
    border-radius:3px;
    width: calc(50% - 15px) ;
    margin-bottom: 0;
    border: 0;
    background-image: url(../img/icon_date.png);
    background-size: 20px;
    background-position: center right 10px;
    background-repeat: no-repeat;
}
.date_box span{
	display: inline-block;
	width: 30px;
	line-height: 38px;
}
/* 서비스 신청 */
.service_input_info h4.tit, .view h4.tit{
    padding: 15px;
    background-color: #f8f8f8;
}
.service_input_info h4.tit + .inner {
    border-top: 1px solid #000;
    padding-top: 0;
}
.service_input_info dt, .view_info_list dt{
    font-size: 0.875rem;
    color: #666;
    font-weight: 300;
    margin-bottom: 0;
}
.service_input_info dt{
    padding-left: 10px;
    padding-bottom: 5px;
    padding-top: 15px;
}
.service_input_info .si_time dd{
    padding-left: 10px;
    padding-bottom: 30px;
}
.service_input_info .si_time dd span{
    line-height: 30px;
    display: inline-block;
    vertical-align: middle;
}
.service_input_info .si_time_list li{
    float: left;
}
.service_input_info .si_time_list li a{
    display: block;
    padding: 10px;
    color: #fff;
    background-color: rgba(79, 146, 240, 0.7);
    position: relative;
}
.service_input_info .si_time_list li+li a::before{
    content: '';
    position: absolute;
    width: 1px;
    height: 20px;
    background-color: rgba(255, 255, 255, 0.2);
    left: 0;
    top: calc(50% - 10px);
}
.service_input_info .si_time_list li+li .on::before{
    background-color: rgba(255, 255, 255, 0);
}
.service_input_info .si_time_list li a span{
    display: block;
    text-align: center;
    line-height: 1;
}
.service_input_info .si_time_list li .on{
    background-color: #4f92f0;
}
.service_input_info .si_time .time_icon{
    background-image: url(../img/icon_main2.png);
    background-size: 25px 50px;
    background-position-y: -23px;
    background-position-x: left;
    background-repeat: no-repeat;
    height: 30px;
    padding-left: 25px;
    border-radius: 0;
}
.service_input_info .si_time input[type="time"]{
    width: 150px;
}
/* 카테고리 */
.category_banner img{
    width: 100%;
}
.category_banner .swiper-button-next, .category_banner .swiper-button-prev{
    color: #fff;
}
.category_banner .swiper-button-next:after, .category_banner .swiper-button-prev:after{
    font-size: 16px;
}
.sevice li {
    width: 25%;
    float: left;
    border-bottom: 1px solid #f0f0f0;
    border-right: 1px solid #f0f0f0;
}
.sevice li a{
    text-align: center;
    color: #2e2e2e;
    font-size: 12px;
    padding-bottom: 10px;
    overflow: hidden;
}
.sevice li a::before{
    content: '';
    width: 50px;
    height: 37px;
    margin: 15px auto 5px;
    display: block;
    background-image: url(../img/icon_main.png);
    background-size: 50px auto;
}
.sevice .cl_01 a::before{
    background-position: 0 0;
}
.sevice .cl_02 a::before{
    background-position: 0 -37px;
}
.sevice .cl_03 a::before{
    background-position: 0 -74px;
}
.sevice .cl_04 a::before{
    background-position: 0 -109px;
}
.sevice .cl_05 a::before{
    background-position: 0 -147px;
}
.sevice .cl_06 a::before{
    background-position: 0 -185px;
}
.sevice .cl_07 a::before{
    background-position: 0 -222px;
}
.sevice .cl_08 a::before{
    background-position: 0 -258px;
}
.sevice li:nth-child(4), .sevice li:nth-child(8){
    border-right: none;
}
.sevice li a{
    display: block;
}
@media screen and (max-width: 500px){
    .service_input_info .si_time input[type="time"]{
        width: 130px;
    }
}
.service_input_info .magic-checkbox + label {
    padding-left: 26px;
}
.service_input_info .magic-checkbox + label:before{
    top: 2px;
}
.service_input_info .magic-checkbox + label:after{
    top: 5px;
}
.service_input_info .search_box{
    border-right: none;
    border-left: none;
    border-top: none;
    border-radius: 0;
}
.service_input_info .terms_bx{
    padding-bottom: 10px;
    border-bottom: 1px solid #dadada;
}
.service_input_info .add_info dt, .product .add_info dt{
    margin-bottom: 10px;
    /* margin-top: 20px; */
}
.service_input_info .add_info dd, .product .add_info dd{
    background-color: #f8f8f8;
    padding: 5px 10px 10px;
}
.service_input_info .add_info dd label, .product .add_info dd label{
    font-size: 0.8125rem;
}
.service_input_info .add_info dd input, .product .add_info dd input{
    margin-bottom: 5px;
}
.service_input_info .b_last, .product .b_last {
    margin-top: 10px;
    padding-bottom: 40px;
}
.agency_btn {
    text-align: center;
    padding: 15px;
    margin-top: 15px;
    border-bottom: 5px solid #eee;
}
.agency_btn a{
    width: 50px;
    display: inline-block;
    text-align: center;
    position: relative;
}
.agency_btn a+a{
    margin-left: 30px;
}
.agency_btn .icon{
    display: block;
    width: 44px;
    height: 44px;
    position: relative;
    /* border: 1px solid #eee; */
    background-color: #f8f8f8;
    border-radius: 50%;
}
.agency_btn .icon::before{
    content: '';
    position: absolute;
    top: calc(50% - 15px);
    left: calc(50% - 15px);
    display: block;
    width: 30px;
    height: 30px;
    background-image: url(../img/btn_icon2.png);
    background-size: 30px 60px;
    background-repeat: no-repeat;
    opacity: 0.3;
    margin: 0 auto;
}
.agency_btn .phone_btn .icon::before{
    background-position: 0 -30px;
}
.agency_btn .location_btn .icon::before{
    background-position: 0 0;
}
.agency_btn a span{
    margin-top: 5px;
    display: block;
    font-size: 0.875rem;
    color: #666;
}
.agency_list{
    margin-top: 10px;
}
.agency_list li{
    float: left;
    width: 32%;
}
.agency_list .img_photo{
    border-radius: 4px;
    overflow: hidden;
}
.agency_list .img_photo img{
    width: 100%;
}
.agency_list li:nth-child(2){
    margin-left: 2%;
    margin-right: 2%;
}
.agency_list .ag_text{
    margin-top: 5px;
}
.agency_list .ag_text strong{
    width: 100%;
    display: block;
    font-weight: normal;
    font-size: 0.8125rem;
    text-overflow:ellipsis;
    white-space:nowrap;
    word-wrap:normal;
    overflow:hidden;
}
.agency_list .ag_text span{
    display: block;
    color: #999;
    font-size: 0.75rem;
    line-height: 1;
}
.list_box{
    position: relative;
    padding-bottom: 20px;
}
.list_box .view_btn{
    position: absolute;
    top: 3px;
    right: 0;
}
.list_box .view_btn a{
    font-size: 0.75rem;
    color: #999;
}
/* 메시지 */
.message_name{
    position: relative;
}
.message_name>div, .user_txt .name{
    color: #999;
    font-size: 0.875rem;
}
.message_name>div{
    width: calc(100% - 45px);
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    word-wrap: break-word;
    word-break: break-all;
}
.message_name strong, .user_txt .name strong{
    font-size: 1.125rem;
    color: #3c3c3c;
}
.message_name span, .user_txt .name span{
    position: relative;
    padding-left: 5px;
}
.message_name span::before, .user_txt .name span::before{
    content: '';
    width: 1px;
    height: 12px;
    left: 0;
    top: 4px;
    position: absolute;
    background-color: #eee;
}
.message_name i{
    display: inline-block;
    width: 40px;
    text-align: center;
    font-size: 0.6875rem;
    color: #fff;
    background-color: #4f92f0;
    border-radius: 4px;
    font-style: normal;
    position: absolute;
    top: 6px;
    right: 0;
}
.message_info{
    position: relative;
}
.message_info p{
    width: calc(100% - 40px);
}
.message_info .unread{
    display: inline-block;
    text-align: center;
    line-height: 20px;
    font-size: 0.625rem;
    border-radius: 50%;
    color: #fff;
    background-color: #dc5246;
    width: 20px;
    height: 20px;
    position: absolute;
    right: 0;
    top: calc(50% - 10px)
}
.message_list .img_photo .photo_bg{
    border-width: 2px;
}
.message_list .su_sy .photo_bg{
    border-color: #dc5246;
}
.message_list .product_ag .photo_bg{
    border-color: #4f92f0;
}
.chatting{
    background-color: #d3d7df;
    height: calc(100vh - 224px);
    overflow-y: auto;
    padding: 20px 10px;
}
.chatting_btn{
    padding: 10px 15px;
    background-color: #f2f2f2;
}
.chatting_input{
    position: fixed;
    width: 100%;
    left: 0;
    bottom: 50px;
    background-color: #fafafa;
    padding: 10px;
}
.chatting_input label{
    border-radius: 8px;
    border: 1px solid #dadada;
    background-color: #fff;
    width: 30px;
    height: 30px;
    font-size: 1rem;
    color: #666;
    font-weight: 700;
    float: left;
    margin-top: 5px;
    margin-right: 5px;
    text-align: center;
    cursor: pointer;
}
.ch_input_send{
    width: calc(100% - 35px);
    float: left;
    background-color: #fff;
    border: 1px solid #dadada;
    border-radius: 40px;
    overflow: hidden;
    position: relative;
}
.ch_input_send input{
    width: calc(100% - 44px);
    margin-bottom: 0;
    border: none;
}
.ch_input_send button{
    width: 32px;
    height: 32px;
    position: absolute;
    top: calc(50% - 16px);
    right: 4px;
    display: block;
    border-radius: 50%;
    background-image: url(./img_css/paper-plane-solid.svg);
    background-size: 18px;
    background-repeat: no-repeat;
    background-position: center;
    background-color: #4f92f0;
}
.ch_input_send a{
    width: 32px;
    height: 32px;
    position: absolute;
    top: calc(50% - 16px);
    right: 4px;
    display: block;
    border-radius: 50%;
    background-image: url(./img_css/paper-plane-solid.svg);
    background-size: 18px;
    background-repeat: no-repeat;
    background-position: center;
    background-color: #4f92f0;
}
.ch_left {
    position: relative;
    margin-bottom: 20px;
}
.ch_left .ch_photo{
    width: 30px;
    height: 30px;
    border-radius: 50%;
    overflow: hidden;
    position: absolute;
    top: 0;
    left: 0;
}
.ch_left .ch_photo img{
    width: 100%;
}
.ch_left .ch_txt{
    width: 60%;
    margin-left: 45px;
}
.ch_left .ch_txt p{
    background-color: #f8f8f8;
    border-radius: 10px;
    padding: 10px;
    font-size: 0.9375rem;
    position: relative;
}
.ch_left .ch_txt span{
    font-size: 0.625rem;
    color: #666;
    display: block;
    text-align: right;
    margin-top: 2px;
    padding-right: 10px;
}
.ch_left .ch_txt img{
    width: 100%;
    border-radius: 10px;
}
.ch_right .ch_txt img{
    width: 100%;
    border-radius: 10px;
}

.ch_txt p:after{
    content: '';
    position: absolute;
    width: 0;
    height: 0;
    border: 5px solid black;
    box-sizing: border-box;
}
.ch_left .ch_txt p:after{
    left: -10px;
    top: 15px;
    border-color: #f8f8f8 #f8f8f8 transparent transparent;
}
.ch_right {
    margin-bottom: 20px;
}
.ch_right .ch_txt{
    width: 60%;
    float: right;
    margin-right: 10px;
}
.ch_right .ch_txt p{
    background-color: #d7eff8;
    border-radius: 10px;
    padding: 10px;
    font-size: 0.9375rem;
    position: relative;
}
.ch_right .ch_txt span{
    font-size: 0.625rem;
    color: #666;
    display: block;
    text-align: left;
    margin-top: 2px;
    padding-left: 10px;
}
.ch_right .ch_txt p:after{
    right: -10px;
    top: 15px;
    border-color: #d7eff8 transparent transparent  #d7eff8;
}
.matching_list>p{
    padding: 20px;
    text-align: center;
    background-color: #f8f8f8;
    border-radius: 4px;
}
.matching_list .btn_matching{
    margin-top: 40px;
}
/* 마이페이지 */
.my_pf {
    display: table;
    margin-top: 10px;
}
.my_pf .photo{
    display: table-cell;
}
.my_pf .photo button{
    width: 80px;
    height: 80px;
    position: relative;
}
.my_pf .photo button:after{
    content: '';
    display: block;
    position: absolute;
    bottom: -5px;
    right: -5px;
    width: 30px;
    height: 30px;
    background-image: url(../img/icon_cam.png);
    background-size: 20px;
    background-position: center;
    background-repeat: no-repeat;
    background-color: #fafafa;
    border: 1px solid #eee;
    border-radius: 50%;
}
.my_pf .photo button img{
    width: 100%;
    border-radius: 50%;
    overflow: hidden;
}
#profileBtn .photo_bg{
	wdith: 100%;
	height: 100%;
	overflow: hidden;
	border-radius: 50%;
	position: relative;
}
#profileBtn .photo_bg img{
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
}
.my_pf .my_name{
    display: table-cell;
    vertical-align: middle;
    padding-left: 20px;
}
.my_pf .my_name strong{
    display: block;
    font-size: 1.5rem;
}
.my_pf .my_name span, .schedule_list .info .name_box{
    display: inline-block;
    padding: 1px 6px;
    font-size: 0.75rem;
    background-color: #999;
    color: #fff;
    border-radius: 4px;
}
.my_pf .my_name .provider, .schedule_list .info .provider, .schedule_list .day .s_complete, .creation_list .state_ok{
    background-color: #03ce5d;
}
.my_pf .my_name .su, .schedule_list .info .su, .schedule_list .day .complete, .creation_list .state_request{
    background-color: #508fee;
}
.my_pf .my_name .agency, .schedule_list .info .agency, .schedule_list .day .cancel, .creation_list .state_rejected{
    background-color: #eb6b60;
}
.my_list {
    margin-top: 15px;
    border-top: 1px solid #eee;
    border-bottom: 4px solid #f8f8f8;
}
.my_list ul{
    padding-top: 30px;
    padding-bottom: 30px;
    border-bottom: 1px solid #eee;
}
.my_list li{
    float: left;
    width: 33.33333%;
    text-align: center;
}
.my_list li a{
    display: inline-block;
    color: #666;
    position: relative;
}
.my_list li .my_icon{
    background-color: rgba(79, 146, 240, 0.1);
    display: block;
    width: 60px;
    height: 60px;
    border-radius: 50%;
    margin: 0 auto;
    position: relative;
}
.my_list li .my_icon:before{
    content: '';
    background-image: url(../img/mypage_icon.png);
    display: block;
    position: absolute;
    width: 40px;
    height: 40px;
    top: calc(50% - 20px);
    left: calc(50% - 20px);
    display: block;
    background-size: 40px;
    background-position: right 10px center;
}
.my_list .new{
    position: absolute;
    top: 0;
    right: calc(50% - 30px);
    margin-left: 10px;
    font-size: 0.625rem;
    width: 16px;
    height: 16px;
    line-height: 16px;
}
.my_list li:nth-child(1) .my_icon:before{
    background-position: 0 0;
}
.my_list li:nth-child(2) .my_icon:before{
    background-position: 0 -40px;
}
.my_list li:nth-child(3) .my_icon:before{
    background-position: 0 -80px;
}
.my_list_box{
    border-top: 1px solid #eee;
}
.my_list_box li a{
    display: block;
    padding: 15px;
}
.my_list_box li a .my_icon{
    display: inline-block;
    width: 30px;
    height: 30px;
    background-size: 30px;
    background-image: url(../img/mypage_icon2.png);
    vertical-align: top;
    margin-right: 10px;
}
.my_list_box li .icon_user{
    background-position: 0 0;
}
.my_list_box li .icon_offer{
    background-position: 0 -30px;
}
.my_list_box li .icon_agency{
    background-position: 0 -60px;
}
.my_list_box li .icon_certi{
    background-position: 0 -120px;
}
.my_list_box li .icon_info{
    background-position: 0 -90px;
}
.my_list_box li .icon_app{
    background-position: 0 -150px;
}
.my_list_box li .icon_su{
    background-position: 0 -210px;
}
.my_list_box li .icon_provider{
    background-position: 0 -180px;
}
.my_list_box li .icon_product{
    background-position: 0 -240px;
}
.my_list_box li .icon_portfolio{
    background-position: 0 -270px;
}
.my_list_box li .icon_service{
    background-position: 0 -300px;
}
.my_list_box li strong{
    font-weight: normal;
    line-height: 30px;
    display: inline-block;
}
.my_list .new, .my_list_box .new{
    border-radius: 50%;
    background-color: #f75a5a;
    display: inline-block;
    color: #fff;
    text-align: center;
}
.my_list_box .new{
    margin-left: 10px;
    font-size: 0.75rem;
    width: 20px;
    height: 20px;
    line-height: 20px;
}
/* 캘린더 */
.myCalender{
    border-bottom: 4px solid #f8f8f8;
}
.myCalender .vanilla-calendar{
    border-bottom: 1px solid #eee;
}
.schedule_list_box{
    border-top: 1px solid #eee;
}
.schedule_list a{
    display: table;
}
.schedule_list{
    padding-left: 15px;
    padding-right: 15px;
    border-bottom: 1px solid #eee;
}
.schedule_list .day{
    display: table-cell;
    vertical-align: middle;
    height: 120px;
    position: relative;
    color: #333;
}
.schedule_list .day span{
    color: #fff;
    display: block;
    font-size: 0.625rem;
    background-color: #999;
    padding: 0;
    border-radius: 2px;
    text-align: center;
}
.schedule_list .day strong{
    font-size: 1.5rem;
    font-weight: 400;
    text-align: center;
}
.schedule_list .day:after{
    content: '';
    position: absolute;
    width: 1px;
    height: 80px;
    background-color: #eee;
    right: -15px;
    top: calc(50% - 40px);
}
.schedule_list .info{
    display: table-cell;
    vertical-align: middle;
    padding-left: 30px;
    width: 100%;
}
.schedule_list .info .time, .schedule_list2 .info .time{
    color: #4f92f0;
    font-size: 0.75rem;
    font-weight: 700;
}
.schedule_list .info p{
    line-height: 1.2;
    margin-top: 5px;
    margin-bottom: 2px;
}
.schedule_list .info p>strong{
    font-weight: normal;
}
.schedule_list .info .name{
    font-size: 0.75rem;
    color: #999;
}
.schedule_list_box +.width_80{
    margin-bottom: 40px;
}
.schedule_list.sl_bg{
    background-color: rgba(79, 146, 240, 0.025);
}
/* 캘린더 상세보기 */
.view_info_list{
    border-top: 1px solid #000;
    border-bottom: 1px solid #eee;
}
.view_info_list dl{
    padding: 15px 0;
    margin: 0 15px;
    /* padding: 10px 15px; */
    border-bottom: 1px solid #fafafa;
}
.view_info_list dl:last-child{
    border-bottom: none;
}
.view_info_list dd{
    position: relative;
}
.view_info_list dd button{
    position: absolute;
    right: 0;
    padding-right: 0;
}
.view_info_list .confucius{
    display: inline-block;
    width: calc(100% - 35px);
}
.view_info_list + .btn_box {
    margin-top: 20px;
    margin-bottom: 30px;
}
.text_blue [class*="icon_"]{
    width: 25px;
    height: 25px;
    display: inline-block;
    background-image: url(../img/icon_timeday.png);
    background-size: 25px 50px;
    vertical-align: top;
}
.text_blue .icon_day{
    background-position: 0 0;
}
.text_blue .icon_time{
    background-position: 0 -25px;
    margin-left: 10px;
}
.text_blue, .text_red {
    display: inline-block;
    background-color: transparent;
    font-size: 0.875rem;
    font-weight: 600;
}



/* 앱 설정 */
.set_btn_box{

}
.set_btn_box input[type="checkbox"] {
    position: absolute;
    visibility: hidden;
}
.set_btn_box label {
    display: block;
    position: absolute;
    width: 60px;
    height: 34px;
    border-radius: 17px;
    background-color: #ddd;
    transition-duration: 0.2s;
}
.set_btn_box label span {
    position: absolute;
    left: 3px;
    top: 3px;
    z-index: 1;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background-color: #fff;
    transition-duration: 0.2s;
}
.set_btn_box label:before, .set_btn_box label:after{
    position: absolute;
    top: 0;
    width: 34px;
    font-size: 11px;
    line-height: 34px;
    color: #fff;
    text-align: center;
}
.set_btn_box label:before {
    left: 0;
    content: 'ON';
}
.set_btn_box label:after {
    right: 0;
    content: 'OFF';
}
.set_btn_box input:checked + label {
    background-color: #00c73c;
}
.set_btn_box input:checked + label span {
    transform: translateX(26px);
}
.set_bg{
    background-color: #f8f8f8;
    min-height: 100vh;
    padding-top: 10px;
}
.set_list {
    background-color: #fff;
    border-top: 1px solid #eee;
    border-bottom: 1px solid #eee;
}
.set{
    padding: 10px 15px;
}
.set .set_tit{
    width: calc(100% - 60px);
    float: left;
    line-height: 34px;
}
.set .set_btn_box{
    float: left;
    width: 60px;
    top: calc(50% - 17px);
    vertical-align: top;
}
.cancel_reason, .rating_write{
    border-top: 4px solid #f8f8f8;
}
.cancel_reason>div, .rating_write>div{
    border-top: 1px solid #eee;
    padding: 15px 15px 0;
}
.cancel_reason h5, .rating_write h5{
    margin-bottom: 10px;
}
.cancel_reason .textarea, .rating_write .textarea{
    margin-top: 10px;
}
.textarea{
    width: 100%;
}
.cancel_reason + .btn_box{
    margin-bottom: 30px;
}
/* 서비스 완료  */
.img_uplode {
    border-bottom: 1px solid #eee;
    text-align: center;
    padding: 15px;
}
.img_uplode .filebox{
    margin-top: 10px;
}
.img_uplode .filebox label{
    font-size: 16px;
    line-height: 30px;
}
.img_uplode + .view_info_list{
    border-top: 4px solid #f8f8f8;
}
.img_uplode +  .view_info_list dl:first-child{
    border-top: 1px solid #eee;
}
.photo_list{
    margin-top: 20px;
    margin-left: -5px;
    margin-right: -5px;
}
.photo_list li{
    width: 20%;
    float: left;
    padding: 5px;
}
.photo_list li>div{
    position: relative;
    border-radius: 2px;
}
.photo_list li>div img{
    width: 100%;
}
.photo_list li>div button{
    position: absolute;
    width: 20px;
    height: 20px;
    background-color: rgba(255, 255, 255, 0.8);
    top: 0;
    right: 0;
    text-indent: -9999em;
    background-image: url(../img/top_icon.png);
    background-repeat: no-repeat;
    background-size: 40px 60px;
    background-position: -20px 0;
}
/* 서비스 평가 */
.rating_input{
    text-align: center;
    padding: 35px 15px;
}
.rating_input p{
    color: #666;
}
.rating_box{
    margin-top: 10px;
}
.rev_heart{
  background: url('../img/review_heart.png') no-repeat right 0;
  background-size: 62px 26px;
  background-position: 0 0;
  width: 31px;
  height: 26px;
  display: inline-block;
  text-indent: -9999px;
  cursor: pointer;
}
.rev_heart+.rev_heart{
    margin-left: 3px;
}
.rev_heart.on{background-position:-31px 0;}

/* 서비스 내역 */
.history_sel{
    padding: 10px;
    border-bottom: 1px solid #eee;
}
.history_sel>*{
    float: left;
}
.history_sel .sel{
    width: 110px;
    margin-right: 10px;
}
.history_sel #date1{
    width: calc(100% - 120px);
    margin-bottom: 0;
}
.history_box .schedule_list_box{
    border-top: 4px solid #f8f8f8;
}
.history_box .schedule_list:first-child{
    border-top: 1px solid #eee;
}

/* 서비스 생성, 히스토리 */
.creation_sel{
    padding: 10px;
    border-bottom: 1px solid #eee;
    position: relative;
}
.creation_sel .add_btn{
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    color: #fff;
    background-color: #4f92f0;
    margin-top: 0;
    border-radius: 4px;
    min-width: 84px;
    padding: 4px 6px 5px;

}
.creation_sel .sel{
    width: 110px;
    margin-right: 10px;
}
.creation_list_box{
    border-top: 4px solid #f8f8f8;
    padding-bottom: 10px;
}
.service_history_box{
    padding-bottom: 10px;
}
.creation_list_box .creation_list, .service_history_box .SH_list{
    padding: 20px;
    border-bottom: 1px solid #eee;
    position: relative;
}
.creation_list_box .creation_list:first-child {
    border-top: 1px solid #eee;
}
.creation_list .info, .SH_list .info{
    position: relative;
    padding-bottom: 4px;
    padding-top: 10px;
}
.creation_list .CL_text, .SH_list .SH_text{
    line-height: 1.4;
    margin-top: 10px;
    margin-bottom: 0;
}
.SH_list .SH_text{
    margin-top: 0;
    margin-bottom: 15px;
    width: calc(100% - 25px);
}
.creation_list .info .time, .SH_list .info .time{
    /* color: #4f92f0; */
    font-size: 0.75rem;
    font-weight: 500;
    display: inline-block;
}
.creation_list .info .name, .SH_list .info .name{
    font-size: 0.75rem;
    color: #999;
    display: inline-block;
    margin-left: 2px;
}
.creation_list .info .time + .name, .SH_list .info .time + .name{
    padding-left: 6px;
    position: relative;
}
.creation_list .info .time + .name::before, .SH_list .info .time + .name::before{
    content: '';
    width: 1px;
    height: 10px;
    position: absolute;
    background-color: #eee;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
}
.CL_state>span{
    color: #fff;
    display: block;
    font-size: 0.625rem;
    background-color: #999;
    border-radius: 2px;
    text-align: center;
    width: 60px;
    padding: 1px 0 2px;
}
.btn_Box{
    position: absolute;
    right: 0;
    bottom: 4px;
}
.creation_list .btn_CL, .SH_list .btn_CL{
    font-size: 0.625rem;
    border: 1px solid #ccc;
    padding: 3px 6px 5px;
    border-radius: 2px;
    color: #666;
}
.btn_CL.btn_view_cancel{
    border-color: hsla(0, 84%, 63%, 0.4) !important;
    background-color: hsla(215, 84%, 63%, 0.035) !important;
    color: #f04f4f !important;
    margin-right: 5px;
}
.creation_list .btn_history, .SH_list .btn_view{
    border-color: hsla(215, 84%, 63%, 0.4);
    background-color: hsla(215, 84%, 63%, 0.035);
    color: #4f92f0;
}
.creation_list .btn_del, .SH_list .btn_del{
    background-color: #fff !important;
    border-radius: 50%;
    width: 30px;
    height: 30px;
    position: absolute;
    top: 14px;
    right: 14px;
}
.SH_list .btn_del {
    top: 16px;
}
.creation_list .btn_del::before, .SH_list .btn_del::before{
    content: '';
    display: block;
    position: absolute;
    width: 24px;
    height: 24px;
    background-image: url(../img/top_icon.png);
    background-size: 48px 72px;
    background-position: -24px 0;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}
        /* 서비스 생성 모달 */
.modal_service .moadl_sty1{
    padding-bottom: 20px;
}
.modal_service .modal_tit{
    text-align: center;
    font-size: 16px;
}
.modal_service .modal_text{
    padding: 10px;
    text-align: center;
}
.modal_service .modal_text .icon{
    width: 60px;
    height: 60px;
    border: 1px solid #eee;
    position: relative;
    border-radius: 50%;
    display: inline-block;
    margin-bottom: 10px;
}
.modal_service .modal_text .icon::before{
    content: '!';
    display: flex;
    font-size: 24px;
    color: #6fa8ed;
    align-items: center;
    justify-content: center;
    font-style: normal;
    width: 58px;
    height: 58px;
}
.modal_service .modal_text p{
    color: #666;
}
.modal_service .btn_box {
    text-align: center;
    margin-top: 20px;
}
.modal_service .btn_box .btn_sm{
    padding: 3px 20px 4px;
}
.modal_service .btn_box .btn_del{
    background-color: #dc5246 !important;
}
.modal_service .btn_box .btn_cancel{
    background-color: #999 !important;
}
/* 관심목록 */
.s_provider .photo_bg{
    background-image: url(../img/photo_noimage.png);
}
/* 내  이용자, 제공자*/
.user .inner:first-child{
    display: table;
}
.user .user_txt{
    vertical-align: middle;
}
.user .user_txt .date{
    margin-top: 5px;
    color: #666;
    font-size: 0.875rem;
}
.user .user_txt .text{
    font-size: 1rem;
    color: #00c73c;
}

/* 내정보 수정 */
.info_chang .id_info{
    line-height: 40px;
    background-color: #f8f8f8;
    padding-left: 15px;
    position: relative;
    border-bottom: 1px solid #eee;
}
.info_chang .id_info span{
    position: absolute;
    right: 15px;
    top: 0;
    font-size: 0.875rem;
    color: #dc5246;
}
.info_chang .loing-box{
    margin-top: 10px;
    padding-left: 15px;
    padding-right: 15px;
    padding-bottom: 10px;
    border-bottom: 1px solid #eee;
}
.info_chang .text_info{
    border-top: 4px solid #f8f8f8;
    border-bottom: 4px solid #f8f8f8;
}
.info_chang .text_info dl:first-child{
    border-top: 1px solid #eee;
}
.info_chang .text_info dl{
    border-bottom: 1px solid #f8f8f8;
}
.info_chang .text_info dl:last-child{
    border-bottom: 1px solid #eee;
}
.info_chang .text_info dl{
    padding: 10px 15px;
}
.info_chang .text_info dt, .info_chang .text_info dd{
    display: inline-block;
}
.info_chang .text_info dt{
    width: 60px;
    text-align: right;
    margin-right: 20px;
    color: #666;
}
.info_chang .num_info{
    padding: 10px 15px;
    border-bottom: 1px solid #eee;
    position: relative;
    min-height: 45px;
}
.info_chang .num_info .btn_sm{
    position: absolute;
    right: 15px;
    top: calc(50% - 13px);
}
.secession_info{
    margin-top: 10px;
    margin-left: 15px;
}
.secession_info a{
    color: #999;
    font-weight: 500;
    font-size: 0.875rem;
}
/* 회원탈퇴 */
.secession {
    margin-top: 60px;
    margin-bottom: 10px;
}
.secession strong{
    font-size: 2rem;
    text-align: center;
    display: block;
}
.secession span{
    display: block;
    text-align: center;
    color: #999;
    padding: 15px;
}
/* 제공정보관리 */
.semanagement dt, .product dt{
    font-size: 0.875rem;
    color: #666;
    /* font-weight: 300; */
    margin-bottom: 5px;
    /* margin-top: 25px; */
}
.bg_upload, .semanagement dl, .product dl{
    position: relative;
}
.bg_upload .filebox, .semanagement dd a{
    position: absolute;
    right: 0;
    bottom: calc(50% - 13px);
    min-width: 84px;
}
.bg_upload .filebox label{
    margin-right: 0;
}
.bg_upload + dd .photo_list{
    margin-top: 10px;
    margin-left: 0;
    margin-right: 0;
}
.bg_upload + dd .photo_list div{
    border: 2px solid #eee;
}
.bg_upload + dd .photo_list .active{
    border-color: #3e80e0;
}
.semanagement .b_last{
    margin-bottom: 40px;
}

/* 가능위치  */
.location_set, .location_set_add{
    border-top: 10px solid #f8f8f8;
}
.location_set ul{
    border-top: 1px solid #eee;
    border-bottom: 1px solid #eee;
}
.location_set ul li{
    padding: 10px 0;
    margin: 0 15px;
    position: relative;
}
.location_set ul li+li{
    border-top: 1px solid #f8f8f8;
}
.location_set ul li strong{
    position: absolute;
    right: 0;
    color: #4f92f0;
    font-weight: normal;
}
.location_set .text_right{
    padding-right: 15px;
}
.location_set_add>div:first-child{
    padding: 15px;
    border-top: 1px solid #eee;
    border-bottom: 1px solid #eee;
}
.location_set_add .meter_list{
    margin-top: 15px;
    margin-bottom: 5px;
}
.location_set_add .meter_list span{
    display: inline-block;
    color: #666;
    vertical-align: top;
    line-height: 28px;
}
.location_set_add .meter_list ul{
    float: right;
}
.location_set_add .meter_list li{
    display: inline-block;
}
.location_set_add .meter_list li button{
    border: 1px solid #4f92f0;
    border-radius: 4px;
    font-size: 0.875rem;
    padding: 3px 5px;
    min-width: 54px;
    color: #4f92f0;
    margin-left: 2px;
}
.location_set_add .meter_list li button.on{
    background-color: #4f92f0;
    color: #fff;
}

/* 상품관리 */
.product_write{
    border-top: 10px solid #f8f8f8;
    border-bottom: 1px solid #eee;
}
.product_write .inner{
    border-top: 1px solid #eee;
}
.product_write .input_line{
    padding-left: 0;
    padding-right: 0;
}
.product_write .textarea {
    border: none;
}
.product .add_info li{
    position: relative;
    margin-top: 20px;
}
.product .add_info li:first-child{
    margin-top: 10px;
}
.product .add_info li>label{
    margin-bottom: 10px;
    display: inline-block;
}
.product .magic-checkbox + label{
    padding-left: 24px;
}
.product .add_info li .input_chk{
    position: absolute;
    top: 0;
    right: 0;
}
.product .input_chk{
    font-size: 0.875rem;
}
.product .location_address{
    border-top: 1px solid #f2f2f2;
    border-bottom: 1px solid #f2f2f2;
    background-color: #fafafa;
    padding: 10px;
    font-size: 0.875rem;
    display: none;
}
.product .location_address p{
    margin-bottom: 5px;
}
.product .location_address.notused .btn_green{
    background-color: #ccc !important;
}
.product .location_address.notused p{
    color: #ccc;
}
.select_oneline{
    border-bottom: 1px solid #eee;
    padding-bottom: 15px;
}
.select_oneline>*{
    float: left;
}
.select_oneline dt{
    margin-top: 0;
    margin-bottom: 0;
    width: 100px;
    line-height: 40px;
}
.select_oneline dd{
    width: calc(100% - 100px);
}
.product .filebox, .semanagement .filebox{
    position: relative;
    min-width: 100%;
}
.product .filebox label, .semanagement .filebox label{
    background-color: #eee;
    width: 100%;
    border-radius: 0;
    height: 100%;
    background-image:url(../img/plus_icon.png) ;
    background-size: cover;

}
.product .add_info input[type="text"]{
    /* display: none; */
}
.product .switch-field label {
    /* min-width: 145px; */
    width: 50%;
}
.product .add_info .onoff label {
    height: 24px;
    width: 44px;
}
.product .add_info .onoff label span{
    width: 18px;
    height: 18px;
}
.product .add_info .onoff label:before, .product .add_info .onoff label:after{
    content: '';
    line-height: 32px;
    font-size: 0.5rem;
    width: 20px;
}
.product .onoff input:checked + label span{
    transform: translateX(20px);
}
.product .onoff {
    position: absolute;
    top: 0;
    left: 40px;
}
.product .photo_list{
    margin-top: 10px;
}
.product .inner_tb0 dl, .semanagement .inner_tb0 dl{
    padding-top: 20px;
    padding-bottom: 20px;
    border-bottom: 1px solid #eee;
}
.product .inner_tb0 dl:last-child{
    border-bottom: none;
}
.dl_calender .btn_box{
    position: absolute;
    top: 15px;
    right: 0;
}
.semanagement .btn_blue, .product .btn_blue{
    background-color: #fff !important;
    border: 1px solid #4f92f0;
    color: #4f92f0;
}
/* 상품관리 */
.t_border{
    border-top: 1px solid #000;
}
.schedule_list2{
    padding: 15px;
    border-bottom: 1px solid #eee;
}
.schedule_list2 a{
    display: block;
    position: relative;
}
.schedule_list2 p{
    color: #333;
    width: calc(100% - 50px);
}
.schedule_list2 .info .time{
    font-size: 0.875rem;
}
.schedule_list2 .red_btn{
    position: absolute;
    top: calc(50% - 12px);
    right: -10px;
}
.txt_al{
    color: #999;
    font-size: 0.875rem;
    text-align: center;
    margin-bottom: 10px;
}
/* 상품일정관리 */
.dl_list{
    border-top: 1px solid #000;
    border-bottom: 1px solid #eee;
}
.dl_list dl{
    padding: 15px 0;
    margin: 0 15px;
    border-bottom: 1px solid #fafafa;
}
.dl_list dl:last-child{
    border-bottom: none;
}
.dl_list dl>*{
    float: left;
}
.dl_list dl::after{
    content: '';
    display: table;
    clear: both;
}
.dl_list dl dt{
    width: 70px;
    line-height: 40px;
}
.dl_list dl dd{
    width: calc(100% - 70px);
}
.dl_list dl dd{
    text-align: right;
}
.dl_list dl .sel{
    width: 130px;
    float: right;
    font-size: 16px;
    color: #666;
}
.dl_list dl:first-child .sel{
    width: 100%;
}
.dl_list dl input[type="text"]{
    width: 110px;
    color: #999;
    margin-bottom: 0;
}
.dl_list dl.time_box dt{
    width: 30px;
}
.dl_list .time_box dd{
    width: calc(100% - 30px);
}
.time_box dd .all_day{
    font-size: 0.8125rem;
    border: 1px solid #3e80e0;
    color: #3e80e0;
    display: inline-block;
    border-radius: 4px;
    padding: 2px 4px;
    margin-right: 10px;
}
.time_box dd input[type="text"]{
    width: 120px;
    vertical-align: top;
    margin-right: 5px;
}
.time_box dd input[type="time"]{
    width: 130px;
    border-radius: 0;
}

.list_last{
    border-top: 1px solid #eee;
}
.list_last dd a{
    display: block;
}
.list_last dd a{
    color: #666;
}
.list_last dd a span{
    margin-left: 20px;
}
.dl_schedule dt{
    width: 50px;
}
.dl_schedule dd{
    width: calc(100% - 50px);
}
.location dd{

}
.location dd span{
    display: inline-block;
}
.location dd a{
    display: block;
}

/* 20200813 */
.loing-box {
    margin-top: 20px;
}
.loing-box .birth input{
    width: 30%;
    float: left;
}
.loing-box .birth input:first-child{
   margin-top: 0;
}
.loing-box .birth input+input{
    margin-left: 5%;
}
.loing-box .gender label{
    width: 50%;
    margin-top: 10px;
}
.info_chang .terms_p{
    padding-top: 10px;
    padding-bottom: 10px;
    border-top: 4px solid #f8f8f8;
    border-bottom: 4px solid #f8f8f8;
}
.info_chang .terms_p li:last-child{
    margin-bottom: 0;
}

/* 카카오 마커CSS 20200722*/
#map_box .node {
    position: absolute;
    background-image: url(https://t1.daumcdn.net/localimg/localimages/07/mapapidoc/markerStar.png) ;
    cursor: pointer;
    width: 24px;
    height: 35px;
}

#map_box .tooltip {
    background-color: #fff;
    position: absolute;
    border: 1px solid #333;
    font-size: 14px;
    font-weight: bold;
    padding: 3px 5px 0;
    left: 65px;
    top: 14px;
    border-radius: 5px;
    white-space: nowrap;
    display: none;
}

#map_box .tracker {
    position: absolute;
    margin: -35px 0 0 -30px;
    display: none;
    cursor: pointer;
    z-index: 3;
}

#map_box .icon {
    position: absolute;
    left: 6px;
    top: 9px;
    width: 48px;
    height: 48px;
    background-image: url(https://t1.daumcdn.net/localimg/localimages/07/mapapidoc/sign-info-48.png);
}

#map_box .balloon {
    position: absolute;
    width: 60px;
    height: 60px;
    background-image: url(https://t1.daumcdn.net/localimg/localimages/07/mapapidoc/balloon.png);
    -ms-transform-origin: 50% 34px;
    -webkit-transform-origin: 50% 34px;
    transform-origin: 50% 34px;
}
/*  카카오 마커CSS 20200722*/



/* 제공정보관리 */
.providerManger_list{
    padding: 15px;
}
.providerManger_list li{
    margin-bottom: 10px;
}
.providerManger_list li a{
    display: block;
    width: 100%;
    background-color: #3e80e0;
    border-radius: 10px;
    font-size: 17px;
    font-weight: 700;
    color: #fff;
    text-align: right;
    line-height: 50px;
    padding: 0 20px;
    position: relative;
}
.providerManger_list [class*="icon_"] a::before{
    content: '';
    position: absolute;
    width: 30px;
    height: 32px;
    background-image: url(../img/icon_provider.png);
    background-size: 30px auto;
    top: 50%;
    transform: translateY(-50%);
    left: 20px;

}
.providerManger_list .icon_page a::before{
    background-position: 0 0;
}
.providerManger_list .icon_location a::before{
    background-position: 0 -32px;
}
.providerManger_list .icon_date a::before{
    background-position: 0 -65px;
}
.productM_tit{
    padding: 15px ;
    text-align: center;
    font-size: 16px;
    font-weight: 700;
    background-color: #f8f8f8;
}

/* 리스트가 없을 경우  */
.no_list {
    padding-top: 120px;
    top: 50%;
    text-align: center;
}
.no_list .favicon_icon{
    display: inline-block;
    width: 60px;
    height: 60px;
    background-image: url(../img/favicon_196.png);
    background-size: 60px;
    margin-bottom: 10px;
}
.no_list span{
    display: block;
    color: #999;
}

/* 회원가입 전체보기 버튼 수정 */
.terms_p .all_view::before{
    transform: rotate(270deg);
}
.terms_p .all_view.active::before{
    transform: rotate(270deg);
}

/* modal_box */
.modal_box {
    max-width: 720px;
    margin: 0 auto;
    animation-name: animatetop;
    animation-duration: 0.4s;
    background: #fff;
    position: fixed;
    height: 100%;
    top: 0;
}

@keyframes animatetop {
  from {top: -300px; opacity: 0}
  to {top: 0; opacity: 1}
}

.modal_box .terms_header{
    position: relative;
    border-bottom: 1px solid #dadada;
    background-color: #fff;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    height: 50px;
}
.terms_header .h_title{
    text-align: center;
    font-size: 20px;
    font-weight: 500;
    display: inline-block;
    width: calc(100% - 90px);
    text-overflow: ellipsis;
    overflow: hidden;
    white-space: nowrap;
    color: #333;
    line-height: 50px;
    margin: 0 auto;
}
.terms_header .btn_close{
    position: absolute;
    text-indent: -9999em;
    top: calc(50% - 20px);
    right: 0;
    width: 40px;
    height: 40px;
}
.terms_header .btn_close::before{
    content: '';
    position: absolute;
    width: 30px;
    height: 30px;
    top: 5px;
    left: 5px;
    background-image: url(../img/top_icon.png);
    background-size: 60px 90px;
    background-position: -30px 0;
}
.modal_box .wrap_terms{
    overflow-y: auto;
    height: calc(100% - 50px);
    z-index: 10;
    -webkit-overflow-scrolling: touch;
    padding: 20px;
}
.tit_desc{
    margin-top: 15px;
    font-weight: bold;
    font-size: 14px;
    color: #404040;
    margin-bottom: 0;
}
.desc_agree{
    font-size: 12px;
    color: #7c7c7c;
    margin: 15px 0 0;
}
.ul_agree {
    margin-top: 5px;
    padding-left: 30px;
    font-size: 12px;
    color: #7c7c7c;
}
.ul_agree li {
    list-style-type: disc;
}
.over_wrap{
    overflow: hidden;
    height: 100%;
    min-height: 100%;
    padding-bottom: 0;
}

/*매인 배너*/
.main_banner {
	margin-top: -20px;
    font-size: 36px;
    font-weight: 100;
    color: #939393;
    max-width: 1080px;
    width: 100%;
    position: relative;
    padding-bottom: 86.6666%;
}
.main_banner::after{
    content: '';
    display: table;
    clear: both;
}
.main_banner .text_box {
    overflow: hidden;
    position: absolute;
    height: 30px;
    width: 100%;
    margin-bottom: 10px;
    bottom: 0;
    z-index: 10;
}
.main_banner .text_box li {
    font-size: 1rem;
    color: #fff;
    font-weight: 300;
    padding: 0 10px;
    height: 45px;
    margin-bottom: 45px;
    display: block;
}
.flip {
    text-align: center;
    animation: flip 29s cubic-bezier(0.23, 1, 0.32, 1.2) infinite;
    margin: 0;
    padding: 0;
}

@keyframes flip {
    0% { margin-top: 0px; }
    13.5% { margin-top: 0px; }

    15% { margin-top: -90px; }
    28% { margin-top: -90px; }

    29.5% { margin-top: -180px; }
    41.5% { margin-top: -180px; }

    43% { margin-top: -270px; }
    56.5% { margin-top: -270px; }

    58% { margin-top: -360px; }
    71% { margin-top: -360px; }

    72.5% { margin-top: -450px; }
    85% { margin-top: -450px; }

    86.5% { margin-top: -540px;}
    99.99% { margin-top: -540px;}
    100%{margin-top: 0px; }
}
.img_box {
    position: relative;
}

.img_box img {
    position: absolute;
    width: 100%;
}

.top {
    animation-name: fade-in;
    animation-timing-function: ease-in-out;
    animation-iteration-count: infinite;
    animation-duration: 5s;
    animation-direction: alternate;
}

.top {
    animation-name: fade-out;
    animation-timing-function: ease-in-out;
    animation-iteration-count: infinite;
    animation-duration: 5s;
    animation-direction: alternate;
}

@keyframes fade-in{
    0% {
        opacity: 1;
    }
    25% {
        opacity: 1;
    }
    75% {
        opacity: 0;
    }
    100% {
        opacity: 0;
    }
}
@keyframes fade-out {
    0% {
        opacity: 0;
    }
    25% {
        opacity: 0;
    }
    75% {
        opacity: 1;
    }
    100% {
        opacity: 1;
    }
}
.main_banner .text1, .main_banner .text2{
    position: absolute;
    bottom: 0;
    right: 0;
    z-index: 5;
}
.main_banner .text1 img, .main_banner .text2 img{
    width: 100%;
    display: block;
}
.main_banner .text1{
    width: 88.999%;
}
 .main_banner .text2{
    width: 61.111%;
    margin-right: 10%;
 }

 /*2020 09 24 추가 수정*/
 .lgoin_btn a{
 	display:inline-block;
 	border-radius: 30px;
 	/*border: 1px solid #000;*/
 	font-weight: 500;
 	padding:2px 10px;
 	font-size: 16px;
	margin-top: 5px;
    background: #6fa8ed;
    color: #ffffff;
 }
 /*시간 설정 관련 수정*/
 #sStartTime, #sEndTime, #sPsStartTime, #sPsEndTime{
    background-image: url(../img/icon_main2.png);
    background-size: 30px 60px;
    background-repeat: no-repeat;
    background-position: right -25px;
 }
 .android-ics .dw{
 	color: #000 !important;
 }
 .android-ics .dw .dwwol{
 	border-top:1px solid #4f92f0 !important;
 	border-bottom:1px solid #4f92f0 !important;
 }
 .android-ics .dwv{
 	border-bottom:1px solid #4f92f0 !important;
 }
 .dwo{
 	opacity: 0.5 !important;
    filter: Alpha(Opacity=50) !important;
  }


  /* 실행계획서 */
.plan_list dl{
    border-bottom: 1px solid #eee;
    padding: 10px 0 15px;
}
.plan_list dl:first-child{
    padding-top: 0;
}
.plan_list dl dt {
    padding-bottom: 5px;
}
.plan_list dl::after{
    content: '';
    display: table;
    clear: both;
}
.plan_list dl dt{
    font-size: 0.875rem;
    color: #666;
    font-weight: 300;
    margin-bottom: 0;
}
.plan_list dl .dd_tit{
    line-height: 40px;
    font-size: 0.875rem;
}
.plan_list textarea{
    width: 100%;
}
.search_results_box{
    margin-top: 5px;
}
.plan_list .search_results{
    border-radius: 20px;
    color: #fff;
    background-color: #6fa8ed;
    font-size: 13px;
    display: inline-block;
    padding: 3px 4px 3px 8px;
}
.plan_list .btn_close{
    display: inline-block;
    width: 18px;
    height: 18px;
    text-indent: -9999em;
    background-color: rgba(0, 0, 0, 0.1);
    border-radius: 50%;
    background-image: url(../img/top_icon.png);
    background-size: 30px 45px;
    background-position: 1px 1px;
    vertical-align: top;
}
.plan_list dd textarea{
    padding: 8px 10px;
    color: #333;
}
.plan_list_text dt{
    line-height: normal !important;
}
.btn_box_half{
    text-align: center;
    margin-top: 20px;
}
.btn_box_half .btn{
    width: calc(50% - 6px);
    display: inline-block;
    vertical-align: top;
    margin-top: 0;
}
.btn_box_half .btn+.btn{
    margin-left: 7px;
}
.plan_list + .btn_box_half{
    padding-bottom: 10px;
}
.plan_list .ico_cp{
    width: 18px;
    height: 18px;
    background-size: 18px;
    margin-left: 3px;
    position: relative;
    top: 1px;
}
.plan_list .activity_list li{
    margin-bottom: 5px;
}
.plan_list .activity_list+.btn_box_half{
    margin-top: 15px;
}
.plan_list .activity_list+.btn_box_half .btn_sm {
    width: 34px;
    font-size: 24px;
    line-height: 34px;
    padding: 0;
    color: #333;
    background-color: #f8f8f8;
    border: 1px solid  #ccc;
}
.plan_list .btn_box_half .btn_sm+.btn_sm{
    margin-left: 5px;
}
.project_budget h5 .ico_cp{
    position: relative;
    top: 2px;
}
/* 포트폴리오 */
.portfolio_search_box{
    border-bottom: 1px solid #eee;
    padding: 10px;
}
.portfolio_search_box .search_box{
    float: left;
    width: calc(100% - 100px);
    margin-right: 10px;
}
.portfolio_search_box .btn_pdf{
    float: left;
    color: #fff;
    background-color: #4f92f0;
    margin-top: 0;
    border-radius: 4px;
    min-width: 90px;
    line-height: 40px;
    padding: 0 6px 0;
}
.portfolio_list{
    position: relative;
}
.portfolio_list_box{
    border-top: 4px solid #f8f8f8;
    padding-bottom: 10px;
}
.portfolio_list_box .portfolio_list{
    border-bottom: 1px solid #eee;
    padding: 0 20px;

}
.portfolio_list_box .portfolio_list:first-child{
    border-top: 1px solid #eee;
}
.portfolio_list .day{
    display: table-cell;
    vertical-align: middle;
    height: 120px;
    position: relative;
    color: #333;
    text-align: center;
}
.portfolio_list .day>*{
    display: block;
}
.portfolio_list .day span{
    color: #999;
    font-size: .75rem;
}
.portfolio_list .day strong{
    font-size: 1.125rem;
    font-weight: 400;
}
.portfolio_list .info {
    display: table-cell;
    vertical-align: middle;
    padding-left: 30px;
    width: 100%;
    text-align: left;
}
.portfolio_list .info .time{
    color: #4f92f0;
    font-size: 0.75rem;
    font-weight: 700;
}
.portfolio_list .info .name{
    font-size: 0.75rem;
    color: #999;
    margin-top: 5px;
}
.portfolio_list .info p {
    line-height: 1.2;
    margin-top: 5px;
    margin-bottom: 2px;
    width: calc(100% - 35px);
}
.portfolio_list .day:after {
    content: '';
    position: absolute;
    width: 1px;
    height: 80px;
    background-color: #eee;
    right: -15px;
    top: calc(50% - 40px);
}
.portfolio_list .check_pdf{
    position: absolute;
    width: 0;
    height: 0;
    overflow: hidden;
}
.portfolio_list.active{
    background-color: rgba(110, 167, 237, 0.075);
}
.portfolio_list .check_icon{
    display: none;
    position: absolute;
    transform: rotate(45deg) translateY(-50%);
    top: 50%;
    right: 35px;
    height: 18px;
    width: 9px;
    border-bottom: 2px solid #4f92f0;
    border-right: 2px solid #4f92f0;
}
.portfolio_list.active .check_icon{
    display: block;
}

.checkbox_list .magic-checkbox + label, .radio_list .magic-radio + label{
    padding-left: 20px;
    margin-right: 15px;
    margin-bottom: 15px;
}
.checkbox_list span .magic-checkbox + label, .radio_list span .magic-radio + label{
    margin-bottom: 0;
    margin-top: 5px
}
.checkbox_list .magic-checkbox + label:before, .radio_list .magic-radio + label:before{
    width: 16px;
    height: 16px;
}
.checkbox_list .magic-checkbox + label:before{
    border-radius: 20%;
    margin-top: 5px;
}
.radio_list .magic-radio + label:before{
    margin-top: 5px;
}
.checkbox_list .magic-checkbox + label:after{
    top: 6px;
    left: 5px;
    width: 6px;
    height: 10px;
}
.radio_list .magic-radio + label:after{
    top: 9px;
    left: 4px;
}
.checkbox_list span{
    display: inline-block;
    vertical-align: top;
}
.checkbox_list span .magic-checkbox + label, .radio_list span .magic-radio + label{
    margin-right: 10px;
}
.checkbox_list input[type="text"], .radio_list input[type="text"]{
    display: inline-block;
    width: calc(100% - 70px);
}
.complaint{
    margin-bottom: 20px;
}
.complaint dt{
    position: relative;
    border: 1px solid rgba(235, 107, 96, 0.4);
    padding: 7px 10px;
    cursor: pointer;
    color: #eb6b60;
}
.complaint dt.approve{
    border: 1px solid rgba(96, 142, 235, 0.4);
    color: #608eeb;
}
.complaint dt.approve>.arr span::after{
    border-top: 1px solid #608eeb; /* 선 두께 */
    border-right: 1px solid #608eeb; /* 선 두께 */
}
.complaint dd{
    padding: 10px;
    /* background-color: rgba(235, 107, 96, 0.05); */
    /* border: 1px solid rgba(235, 107, 96, 0.4); */
    background-color: #f8f8f8;
    border: 1px solid #eee;
    border-top:none;
    /* color: #eb6b60; */
    font-size: 0.875rem;
}
.arr{
    position: absolute;
    top:50%;
    transform: translateY(-8px);
    right:15px;
}
.arr span::after {
    content: '';
    width: 9px; /* 사이즈 */
    height: 9px; /* 사이즈 */
    border-top: 1px solid #eb6b60; /* 선 두께 */
    border-right: 1px solid #eb6b60; /* 선 두께 */
    display: inline-block;
    transform: rotate(135deg); /* 각도 */
    position: absolute;
    top: 0; /* 기본 0px 값으로 해주세요 */
    right: 0; /* 기본 0px 값으로 해주세요 */
}
.active .arr{
    transform: translateY(-3px);
}
.active .arr span::after{
    transform: rotate(-45deg); /* 각도 */
}
.inline_input input{
    width: calc(100% - 24px);
}
.inline_input .date{
    width: calc(50% - 9px);
}
.inline_input .last_text, .inline_input_list .last_text{
    display: inline-block;
    padding-left: 5px;
}
.inline_input_list{
    margin-top: 10px;
}
.inline_input_list .middle_text{
    padding : 0 5px;
}
.inline_input_list .middle_text span{
    color: #999;
}
.inline_input_list input{
    width: calc(50% - 36px);
}
.project_budget h5{
    margin-bottom: 20px;
}
.budget_list:last-child{
    border-bottom: 1px solid #eee;
}
.budget_list .plan_list{
    display: none;
    padding: 10px;
    background-color: #fcfcfc;
}
.budget_list .plan_list dl:last-child{
    border-bottom: none;
    padding-bottom: 10px;
}
.budget_list.active .plan_list{
    display: block;
}
.budget_list_btn{
    position:relative;
    display: block;
    width: 100%;
    text-align: left;
    padding: 7px 10px;
    border-top: 1px solid #eee;
    border-bottom: 1px solid #eee;
}
.budget_list+.budget_list{
    margin-top: -1px;
}
.budget_list_btn .arr span::after {
    border-top: 1px solid #666; /* 선 두께 */
    border-right: 1px solid #666; /* 선 두께 */
}
.budget_amount {
    margin-top: -1px;
}
.budget_amount dl{
    padding: 10px;
    background-color: #fafafa;
    border-bottom: 1px solid #ddd;
    border-top: 1px solid #ddd;
    z-index: 10;
    position: relative;
}
.budget_amount  dl>*{
    float:left;
}
.budget_amount  dl dt{
    width: 80px;
}
.budget_amount  dl dd{
    width: calc(100% - 80px);
    text-align: right;
}
.budget_amount  dl dd span{
    font-weight: 600;
    font-size: 1.25rem;
    color: #ff0000;
}
