@charset "utf-8";
/*폰트*/
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@100..900&display=swap');
/* reset */
@import url('./normalize.css');

/* ###### Reset CSS ###### */

* {
    padding: 0;
    margin: 0;
    box-sizing: border-box;
}
html {
    font-size: 62.5%;
    /* 62.5% of 16px = 10px */
}
body {
    font-family: "Noto Sans KR", sans-serif;
    line-height: 1.6;
    font-size: 1.6rem;
    /* (reset font-size = 10px) * 1.6 = 16px */
    font-weight: 500;
    color: #111827;
}
h1,h2,h3,h4,h5,h6 {
    margin: 0;
}
a {
    text-decoration: none;
    color: inherit;
}
ul,li {
    list-style: none;
}
input {
    border: none;
    outline: none;
}
/* Chrome, Safari, Edge, Opera */
input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

/* Firefox  */
input[type='number'] {
  -moz-appearance: textfield;
}
input::placeholder {
    font-size: 1.4rem;
}
em {
    font-style: normal;
}
button {
    border: none;
    cursor: pointer;
}
select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    outline: none;
    padding-left: 12px;
    padding-right: 40px;
    background: url(../img/select_arrow.png) no-repeat center right 8px;
    background-size: 21px auto;
    font-size: 1.4rem;
}
textarea {
    resize: none;
    outline: none;
}

/* ###### Variables CSS ###### */
:root {
    /* Primary Color */
    --pc: #16a34a;
    --pc02: #166534;

    /* Font Color */
    --tp: #111827;
    --ts: #1f2937;
    --tt: #374151;
    --tdis: #6b7280;
    --tsi: #4B5563;

    /* Bg Color */
    --bgs: #F3F4F6;
    --bgt: #e5e7eb;
    --bgf : #374151;
    --info-sub: #bfdbfe;
    --suc-sub: #bbf7d0;
    --p-sub: #fecdd3;
	--w-subtle: #fef08a;

    /* Border Color */
	--bp: #6b7280;
	--bs: #9ca3af;
	--bt: #d1d5db;
    --bdis: #6b7280;
    --focus-ring: #be123c;

    /* */
    --suc: #16a34a;
    --info: #2563eb;
    --danger: #dc2626;
    --warning: #ca8a04; 
}
/* ###### Layout CSS ###### */
.inner {
    width: 1180px;
    margin: 0 auto;
}

/* ###### Common CSS ###### */
/* Header */
header {
    padding: 8px 16px;
    display: flex;
    align-items: center;
    gap: 24px;
    background-color: var(--bgf);
    color: #fff;
}
.logo img {
    width: 140px;
}
.logo {
    display: flex;
    align-items: center;
    gap: 12px;
    padding-right: 24px;
    border-right: 1px solid var(--bt);
}
.logo span {
    opacity: 0.7;
    font-weight: 500;
}
.logo img {
    display: block;
}
header nav {
    display: flex;
    align-items: center;
    gap: 12px;
}
nav a {
    padding: 6px 12px;
    font-weight: 400;
    text-align: center;
}
nav a:hover {
    background-color: #cdf3db;
    color: #fff;
    border-radius: 6px;
    color: var(--pc);
    font-weight: 600;
}

.nav_selected {
    background-color: #cdf3db;
    color: #fff;
    border-radius: 6px; 
    color: var(--pc);
    font-weight: 600;
}

/* Trigger */
.trigger {
    display: none;
}
/* Overlay */
.overlay {
    position: fixed;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.1);
    top: 0;
    left: 0;
    visibility: hidden;
    transition: 0.1s;
    z-index: 1;
}
/* Header 끝 */
.title h1 {
    font-size: 2.8rem;
    background: linear-gradient(to bottom, #00A950, #7C93B7);
    color: transparent;
    -webkit-background-clip: text;
}
.mainContent {
    margin-top: 12px;
}
.mainSec {
    padding-top: 16px;
    padding-bottom: 120px;
}
/* 토탈 검색박스 CSS */
.total_search_box {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
}
.total {
    font-size: 1.4rem;
}
.total span {
    font-weight: 800;
}
.search_box {
    display: flex;
    align-items: center;
}
.search_box select {
    height: 42px;
    border-radius: 4px;
    border: 1px solid var(--bgt);
}
.search_box span {
    display: flex;
    overflow: hidden;
    margin-left: 4px;
    border-radius: 4px;
    border: 1px solid var(--bgt);
}
.search_box span input {
    display: inline-block;
    padding-left: 8px;
    width: calc(100% - 40px);
}
.search_box span button {
    display: inline-block;
    width: 40px;
    height: 40px;
    background: var(--bgt) url(../img/search.png) no-repeat center center;
    background-size: 18px;
}

/* 페이징 */
.page_wrap {
    padding: 32px;
    display: flex;
    justify-content: center;
}
.page_nation {
    display: flex;
    gap: 4px;
}
.page_nation a {
    border: 1px solid var(--bgt);
    display: inline-block;
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 400;
    font-size: 1.4rem;
}
.page_nation a:hover,
.page_nation a.active {
    color: var(--pc);
    border: 1px solid var(--pc);
}
.page_nation a.first_page {
    background: url(../img/first_page.png) no-repeat center center;
    background-size: 16px;
}
.page_nation a.prev_page {
    background: url(../img/chevron_left.png) no-repeat center center;
    background-size: 16px;
}
.page_nation a.next_page {
    background: url(../img/chevron_right.png) no-repeat center center;
    background-size: 16px;
}
.page_nation a.last_page {
    background: url(../img/last_page.png) no-repeat center center;
    background-size: 16px;
}




/* ###### Login ###### */
.login {
    background-color: #F0F4FC;
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 20px;
}
.login_wrap {
    background-color: #fff;
    border-radius: 16px;
    padding: 40px;
    max-width: 448px;
}
.login_header {
    text-align: center;
    margin-bottom: 32px;
}
.login_header img {
    width: 120px;
}
.login_header h1 {
    font-size: 2.4rem;
}
.login_field{
    margin-bottom: 24px;
}
.login_field input {
    background-color: var(--bgs);
    width: 100%;
    padding: 16px;
    border-radius: 8px;
    border: 1px solid transparent;
}
.login_field input:focus {
    border: 1px solid var(--pc);
}
.login_field input:focus::placeholder {
    color: var(--pc);
}
.login_field input + input {
    margin-top: 8px;
}
.login form button {
    width: 100%;
    background-color: var(--bgf);
    color: #fff;
    font-size: 1.8rem;
    padding: 16px;
    border-radius: 8px;
}
.login form button:hover {
    background-color: var(--pc02);
}

/* ###### 견적주문조회: orderList ###### */
.tabs_wrap {
    margin-top: 16px;
}
.tabs {
    display: flex;
    border-right: 0;
    border-left: 0;
}
.tabs li {
    flex: 1;
    text-align: center;
    border: 1px solid #000;
    padding: 16px;
    background-color: var(--bgs);
    border: 1px solid var(--bt);
    border-left: 0;
    border-right: 0;
    cursor: pointer;
    font-size: 1.8rem;
}
.tabs li.current{
    font-weight: 700;
    background-color: transparent;
    border: 1px solid var(--bp);
    border-bottom: 0;
}
.tab_content {
    display: none;
    padding-top: 24px;
    padding-bottom: 100px;
}
.tab_content.current {
    display: block;
}


.board_list {
    margin-top: 12px;
}
.board_list table {
    width: 100%;
	border-collapse: collapse;
}
.board_list thead {
	height: 56px;
	min-height: 56px;
	font-weight: 200;
	background-color: var(--bgs);
    color: var(--tt);
}
.board_list thead th {
	text-align: center !important;
}
.board_list tbody td {
    padding: 16px 0;
	height: 45px;
	min-height: 45px;
	line-height: 24px;
	text-align: center;
	font-size: 1.6rem;
    font-weight: 400px;
	border-right: none;
	border-bottom: 1px solid var(--bt);
}
tbody td.t-title {
	text-align: left;
}
tbody td.t-title a {
	display: block;
}
tbody td.t-title a:hover {
	color: var(--pc);
}
.board_list .title {
	margin-bottom: 0;
	float: left;
}
.board_list td.t-date,
.board_list td.t-hit {
    color: var(--tdis);
    font-size: 1.4rem;
    font-weight: 400;
}
.bo-date-hit-box {
	display: none;
	clear: both;
}



/* ###### 견적화면 공지: orderNotice ###### */


.orderNotice .write_box {
    margin-top: 32px;
}
.orderNotice .write_box h2 {
    background-color: var(--bgs);
    font-size: 1.8rem;
    text-align: center;
    padding: 12px;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 6px;
}
.orderNotice .write_box h2 img {
    width: 16px;
    height: 16px;
}
.orderNotice textarea {
    resize: none;
    width: 100%;
    outline: none;
    border: 1px solid var(--bt);
    padding: 12px;
}
.orderNotice button {
    display: block;
    margin: auto;
    padding: 12px 56px;
    border: 1px solid var(--bt);
    background: var(--bgt);
    font-weight: 600;
    border-radius: 6px;
    margin-top: 12px;
}
.orderNotice button:hover {
    border: 1px solid var(--bgf);
    background-color: var(--bgf);
    color: #fff;
    font-weight: 400;
}







/* ###### 비밀번호 변경: password ###### */
.password {
    background-color: var(--bgs);
    min-height: 100vh;
}
.password .mainSec .inner .title {
    text-align: center;
}
.pass_wrap {
    padding: 16px;
    width: 420px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background-color: #fff;
    border-radius: 8px;
}
.pass_header {
    padding-top: 16px;
    padding-bottom: 24px;
    text-align: center;
}
.pass_header img {
    width: 54px;
    opacity: 0.3;
}
.pass_header p {
    text-align: center;
    margin-top: 8px;
}
.pass_field div + div {
   margin-top: 8px;
}
.pass_field span {
    display: block;
    font-size: 1.2rem;
    margin-bottom: 4px;
    color: var(--tdis);
}
.pass_field input {
    padding: 12px;
    border: 1px solid var(--bt);
    border-radius: 4px;
    width: 100%;
}
.pass_field input:focus {
    border: 1px solid var(--pc02);
}
.pass_field input::placeholder {
    font-size: 1.4rem;
}
.pass_wrap button.pass_btn { 
    display: block;
    width: 100%;
    padding: 16px;
    border-radius: 6px;
    margin-top: 32px;
    background-color: var(--bgf);
    color: #fff;
}
.pass_wrap button[type=submit]:hover {
    background-color: var(--pc02);
}

/* ###### 공지사항: noticeList ###### */
.notice_btn_section {
    text-align: right;
}
.noticeList a.notice_write_btn {
    display: inline-block;
    margin-top: 12px;
    padding: 8px 12px;
    padding-left: 32px;
    border-radius: 4px;
    background: var(--bgt) url(../img/pen.png) no-repeat center left 12px;
    background-size: 12px;
    margin-left: auto;
    font-size: 1.4rem;
    border: 1px solid transparent;
}
.noticeList a.notice_write_btn:hover {
    border: 1px solid var(--tp);
}
/* ###### 견적/주문확인: orderDetail ###### */
.biz_name {
    display: flex;
    gap: 8px;
    padding-bottom: 12px;
    border-bottom: 1px solid var(--bt);
    font-size: 1.8rem;
}
.biz_name label {
    font-weight: 800;
}
.biz_name p {

}
.t-unit input {
    border: 1px solid var(--bt);
    padding: 8px;
    text-align: center;
    border-radius: 4px;
}
.t-unit input:focus {
    border: 1px solid var(--bgf);
}
.cost {
    font-weight: 700;
    color: var(--focus-ring);
}

.cost input {
    background-color: #FFF2F2;
    border: 1px solid var(--p-sub);
    color: var(--focus-ring);
    border-radius: 4px;
}
.cost input:focus {
    border: 1px solid var(--focus-ring);
}

/* form_field */
.form_field {
    margin-top: 24px;
    border-top: 2px solid var(--bs);
}
.field span {
    padding: 8px;
    display: inline-block;
    flex: 1;
}
.field select {
    padding: 8px;
    padding-right: 36px;
    background: url(../img/select_arrow.png) no-repeat center right 4px;
    background-size: 21px auto;
    border: 1px solid var(--bt);
    min-width: 200px;
    border-radius: 4px;
}
.field {
    display: flex;
    align-items: center;
    width: 100%;
    border-bottom: 1px solid var(--bt);
    align-items: stretch;
}
.field.answer {
}
.field label {
    background-color: var(--bgs);
    padding: 12px;
    display: block;
    min-width: 180px;
    font-weight: 700;
}
.field .check_boxes label {
    background-color: transparent;
}
.field input:not(input[type=checkbox]) {
    border: 1px solid var(--bt);
    padding: 8px;
    width: 100%;
    border-radius: 4px;
}
.field_02 {
    flex: 1;
    display: flex;
}
.check_boxes {
    display: flex;
}
.check_boxes label {
    font-weight: 600;
    font-size: 1.4rem;
    min-width: auto;
}
.check_boxes input[type=checkbox] {
    margin-right: 8px;
}
.text_box {
    padding: 8px;
    width: 100%;
}
.text_box textarea {
    width: 100%;
    border: 1px solid var(--bt);
    padding: 8px;
    height: 100%;
    border-radius: 4px;
}
.form_btns {
    padding-top: 12px;
    display: flex;
    justify-content: space-between;
}
.form_btns button {
    padding: 16px;
    display: inline-block;
    min-width: 180px;
    border-radius: 4px;
    transition: 0.2s;
}
.form_btns .btn_01 {
    color: var(--danger);
    background-color: #FFF2F2;
    border: 1px solid var(--focus-ring);
}
.form_btns .btn_01:hover {
    background-color: var(--focus-ring);
    color: #fff;
}
.form_btns .btn_02 {
    border: 1px solid var(--bgf);
    color: #fff;
    background-color: var(--bgf);
}
.form_btns .btn_02:hover  {
    font-weight: 500;
    color: var(--bgf);
    border: 1px solid var(--bs);
    background-color: var(--bgt);
}
.form_btns .btn_03 {
	color: var(--info);
} 
.form_btns .btn_03:hover {
	border: 1px solid var(--info); 
}
/* ###### 공지사항 작성: noticeWrite ###### */
.file_field {
    display: flex;
    align-items: center;
    width: 100%;
    border-bottom: 1px solid var(--bt);
    align-items: stretch;
}
.file_field label {
    background-color: var(--bgs);
    padding: 12px;
    display: block;
    min-width: 180px;
    font-weight: 700;
}
.file_field > div {
	padding: 8px; 
	display: flex;
	align-items: center; 
	gap: 4px; 
	width: 100%;
}
.file_field input {
	border: 1px solid var(--bt);
	padding: 8px; 
	border-radius: 4px;
	display: inline-block;
	width: calc(80% - 2px);   
}
.file_btns {
	display:flex;
	align-items: center;
	gap: 4px;
	width: calc(20% - 2px);  
}
.file_btns button {}
.file_btns button.file_delete {
	width: 34px;
	height: 34px;  
	background: url('../img/delete.png') no-repeat center center;
	background-size: cover;
	border: 1px solid var(--bt); 
}
.file_btns button.upload {
	padding: 10px; 
	border-radius: 2px;
	font-size: 1.4rem;
	flex: 1; 
	background: var(--bgt);
}


/* ###### 상품관리 등록: productRegist ###### */
.photo_regist_wrap {
    padding: 8px;
}
.regist_items {
    display: flex;
    gap: 8px;
}
.regist_item {
    
}
.photo { 
    width: 120px;
    height: 120px;
    border: 1px solid var(--bt);
}
.photo.none {
    background: url(../img/img_icon.png) no-repeat center center;
    background-size: 24%;
}
.photo img {
    width: inherit;
    height: inherit;
    object-fit: cover;
}
.regist_item {
    position: relative;
}
.regist_item .img_delete {
    position: absolute;
    right: 4px;
    top: 0;
    width: 24px;
    height: 24px;
    border-radius: 999px;
    background: var(--bgt) url(../img/delete.png) no-repeat center center;
    background-size: cover;
}

.regist_item button {
    display: block;
    width: 100%;
    padding: 6px;
    font-size: 1.4rem;
    font-weight: 600;
    border-radius: 4px;
    margin-top: 4px;
}

/* ###### 상품관리: productManage ###### */
/* .productManage .mainContent {
    display: flex;
    justify-content: space-between;
    gap: 16px;
} */
/* .leftCon {
    width: 300px;
} */
.sidebar_wrap {
    
}
.sidebar_wrap h3 {
    padding: 12px;
    background-color: var(--bgs);
    font-size: 1.6rem;
    text-align: center;
}
.sidebar_wrap ul > li {
}
.sidebar {
    
}
.sidebar > li > a {
    display: block;
    padding: 12px;
    font-weight: 700;
    background: url(../img/keyboard_arrow_down.png) no-repeat center right 12px;
    background-size: 18px;
    transition: 0.3s;
    border-bottom: 1px solid var(--bs);
}
.sidebar > li > a.active {
    background: url(../img/keyboard_arrow_up.png) no-repeat center right 12px;
    background-size: 18px;
}
.sidebar > li > a.sub_none {
    background: none;
}
.submenu > li > a {
    display: block;
    padding: 8px 24px;
    border-bottom: 1px solid var(--bt);
    background: #E6EDF3 url(../img/arrow_down.png) no-repeat center right 12px;
    background-size: 24px;
}
.submenu > li > a.active {
    background: #E6EDF3 url(../img/arrow_up.png) no-repeat center right 12px;
    background-size: 24px;
}

.submenu > li > a.sub_none {
    background: #E6EDF3;
}


.submenu_02 > li > a {
    display: block;
    padding: 8px 0 8px 40px;
    font-weight: 600;
    font-size: 1.4rem;
    background: #f3f3f3 url(../img/submenu_icon.png) no-repeat top 14px left 24px;
    background-size: 8px;
    border-bottom: 1px dashed var(--bt);
}
.submenu_02 > li > a.active {
    font-weight: 700;
    color: var(--info);
}



/* 
.rightCon {
    width: calc(100% - 316px);
} */
.rightCon_01 {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 4px;
}
.select_search_wrap {
	display: flex;
	gap: 4px;
}
.select_items {
	display: flex;
	gap: 4px;
}
.select_items select {
	border: 1px solid var(--bs); 
	height: 40px;
	border-radius: 4px;
}
.productManage .search_box span {
    margin-left: 0;
    border: 1px solid var(--bs); 
}
.regist_btn {
    display: inline-block;
    padding: 8px 32px;
    border-radius: 4px;
    background-color: var(--bgt);
    border: 1px solid transparent;
    color: var(--bgf);
}
.regist_btn:hover {
    border: 1px solid var(--bgf);
}
.productManage .tabs li {
    font-size: 1.6rem;
}
.productManage .tabs li.current {
    color: var(--pc);
}
.productManage .tabs li span {
    font-weight: 700;
}
.productManage .board_list td {
    font-size: 1.4rem;
}
.productManage .board_list .thum {
    width: 80px;
    height: 80px;
    border: 1px solid var(--bt);
    border-radius: 4px;
    overflow: hidden;
}
.productManage .board_list .thum img {
    width: inherit;
    height: inherit;
    object-fit: cover;
}
.productManage .t-titleWrap {
    display: flex;
    gap: 12px;
}
.identify_wrap {

}
.t-status select {
    padding-top: 8px;
    padding-bottom: 8px;
    border: 1px solid var(--bt);
    border-radius: 4px;
}
.identify_wrap .name {
    font-weight: 700;
}
.identify_num {
    color: var(--tdis);
}