@charset "utf-8";
/* CSS Document */

@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@300;400;500;700&family=Nunito+Sans:wght@300;400;600;700;800&display=swap');

:root {
    --bs-body-font-family: 'Nunito Sans', 'Noto Sans KR', Dotum, Sans-serif;
    --bs-body-font-size:18px;
    --bs-body-font-weight:300;
    --bs-body-line-height:1.5;
    --bs-body-color:#666666;

    --bs-primary:#0a6cb4;
    --bs-secondary: #672ebb;
    --bs-success: #24a148;
    --bs-info: #17a2b8;
    --bs-warning: #ffc107;
    --bs-danger: #e00000;
    --bs-light: #f8f8f8; /* 회색 배경 */
    --bs-dark: #222222;
    --bs-white: #ffffff;
    --bs-lightblue: #eef2fa; 
    --bs-purple-light:#ebddff;

    --bs-gray-dark: #222222;
    --bs-gray-100: #eff4f9;  /* input - bg */
    --bs-gray-200: #e0e0e0;  /* 회색 선 */
    --bs-gray-300: #dddddd; /* bar bg */
    --bs-gray-400: #aaaaaa;
    --bs-gray-500: #adb5bd;
    --bs-gray-600: #6c757d;
    --bs-gray-700: #495057;
    --bs-gray-800: #343a40;
    --bs-gray-900: #212529;
    
    --foot-bg: #021033;
    --foot-gray-color: #979daa;

    --admin-bg-color:#28344e;
    --admin-login-color:#535d71;
}

html {
    font-size: var(--bs-body-font-size);
}

body {
    font-family:var(--bs-body-font-family); 
    color:var(--bs-body-color); 
    font-weight:var(--bs-body-font-weight); 
    font-size: inherit; 
    line-height:var(--bs-body-line-height);
}

a {text-decoration:none; color: inherit;}
a:hover {color: var(--bs-primary);}

h1, h2, h3 {color: var(--bs-dark); font-weight: 700;}

h6, .h6 {font-size: 1.125rem !important;}
.fs-6 {font-size: 1.125rem !important;}

ul, ol {list-style: none; margin-bottom: 0; padding-left: 0;}
dl, dd {margin-bottom: 0;}

main {margin-top: 90px;}
address {margin-bottom: 0;}
section {padding-top: 80px; padding-bottom: 80px; word-break: keep-all;}

@media screen and (min-width: 1200px) {
    main {margin-top: 120px;}
    section {padding-top: 100px; padding-bottom: 100px;}
}



/* ********************* */
/* **** user class ***** */
/* ********************* */
.sound-only, .visually-hidden {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    clip-path: inset(50%);
}

.menu-open {overflow: hidden;}

.overlay {width: 100%; height: 100%; background-color: rgba(0, 0, 0, 0.5); position: fixed; top: 0; left: 0; z-index: 200;}


/* ********************* */
/* ******* layout ****** */
/* ********************* */
.row {
    --bs-gutter-x: 1.15rem;
}
.container {max-width: 1360px; padding-left: 4%; padding-right: 4%;}
.container-fluid {padding-left: 4%; padding-right: 4%;}

@media screen and (min-width: 1200px) {
    .container {padding-left: 20px; padding-right: 20px;}
    .container-fluid {padding-left: 70px; padding-right: 70px;}
}


/* ******************** */
/* ******** bar ******* */
/* ******************** */
.h-bar {position: relative; padding-right: 0.556rem; margin-right: 0.556rem;}
.h-bar::after {content: ''; width: 1px; height: 14px; background-color: var(--bs-gray-300); position: absolute; top: 50%; right: -1px; -webkit-transform: translateY(-50%); transform: translateY(-50%);}




/* ******************** */
/* ******* badge ****** */
/* ******************** */
.badge-lg {min-width: 250px; height: 50px; padding: 0 1.556rem; margin-top: 2.222rem; margin-bottom:1.333rem; margin-right: 0.889rem; font-size: 0.889rem; line-height: 50px;}

@media screen and (min-width: 1200px) {
    .badge-lg {min-width: 275px; height: 60px;  margin-top: 3.889rem; font-size: 1.222rem; line-height: 60px;}
}



/* ********************* */
/* ******* button ****** */
/* ********************* */
.btn {
    --bs-btn-color: var(--bs-dark);
    --bs-btn-padding-x: 1.25rem;
    --bs-btn-padding-y: 0.625rem;
    --bs-btn-border-radius: 0.5rem;
}

.btn-xs {width: 105px; height: 30px; padding: 0; font-size: 0.778rem;}

.btn-primary {
    --bs-btn-color: var(--bs-white);
    --bs-btn-bg: var(--bs-primary);
    --bs-btn-border-color:  var(--bs-primary);
    --bs-btn-hover-color: var(--bs-white);
    --bs-btn-hover-bg: var(--bs-primary);
    --bs-btn-hover-border-color: var(--bs-primary);
    --bs-btn-active-bg: var(--bs-primary);
}

.btn-secondary {
    --bs-btn-color: var(--bs-white);
    --bs-btn-bg: var(--bs-secondary);
    --bs-btn-border-color:  var(--bs-secondary);
    --bs-btn-hover-color: var(--bs-white);
    --bs-btn-hover-bg: var(--bs-secondary);
    --bs-btn-hover-border-color: var(--bs-secondary);
    --bs-btn-active-bg: var(--bs-secondary);
}

.btn-success {
    --bs-btn-color: var(--bs-white);
    --bs-btn-bg: var(--bs-success);
    --bs-btn-border-color:  var(--bs-success);
    --bs-btn-hover-color: var(--bs-white);
    --bs-btn-hover-bg: var(--bs-success);
    --bs-btn-hover-border-color: var(--bs-success);
    --bs-btn-active-bg: var(--bs-success);
}

.btn-danger {
    --bs-btn-color: var(--bs-white);
    --bs-btn-bg: var(--bs-danger);
    --bs-btn-border-color:  var(--bs-danger);
    --bs-btn-hover-color: var(--bs-white);
    --bs-btn-hover-bg: var(--bs-danger);
    --bs-btn-hover-border-color: var(--bs-danger);
    --bs-btn-active-bg: var(--bs-danger);
}

.btn-warning {
    --bs-btn-color: var(--bs-white);
    --bs-btn-bg: var(--bs-warning);
    --bs-btn-border-color:  var(--bs-warning);
    --bs-btn-hover-color: var(--bs-dark);
    --bs-btn-hover-bg: var(--bs-warning);
    --bs-btn-hover-border-color: var(--bs-warning);
    --bs-btn-active-bg: var(--bs-warning);
}

.btn-info {
    --bs-btn-color: var(--bs-white);
    --bs-btn-bg: var(--bs-info);
    --bs-btn-border-color:  var(--bs-info);
    --bs-btn-hover-color: var(--bs-dark);
    --bs-btn-hover-bg: var(--bs-info);
    --bs-btn-hover-border-color: var(--bs-info);
    --bs-btn-active-bg: var(--bs-info);
}

.btn-light {
    --bs-btn-color: var(--bs-dark);
    --bs-btn-bg: var(--bs-light);
    --bs-btn-border-color:  var(--bs-light);
    --bs-btn-hover-color: var(--bs-dark);
    --bs-btn-hover-bg: var(--bs-light);
    --bs-btn-hover-border-color: var(--bs-light);
    --bs-btn-active-bg: var(--bs-light);
}


.btn-dark {
    --bs-btn-color: var(--bs-white);
    --bs-btn-bg: var(--bs-dark);
    --bs-btn-border-color:  var(--bs-dark);
    --bs-btn-hover-color: var(--bs-white);
    --bs-btn-hover-bg: var(--bs-dark);
    --bs-btn-hover-border-color: var(--bs-dark);
    --bs-btn-active-bg: var(--bs-dark);
}

.btn-gray {
    --bs-btn-color: var(--bs-white);
    --bs-btn-bg: var(--bs-gray-600);
    --bs-btn-border-color:  var(--bs-gray-600);
    --bs-btn-hover-color: var(--bs-white);
    --bs-btn-hover-bg: var(--bs-gray-600);
    --bs-btn-hover-border-color: var(--bs-gray-600);
    --bs-btn-active-bg: var(--bs-gray-600);
}


.btn-white {
    --bs-btn-color: var(--bs-dark);
    --bs-btn-bg: var(--bs-white);
    --bs-btn-border-color:  var(--bs-gray-400);
    --bs-btn-hover-color: var(--bs-dark);
    --bs-btn-hover-bg: var(--bs-white);
    --bs-btn-hover-border-color: var(--bs-gray-400);
    --bs-btn-active-bg: var(--bs-white);
}

.btn-white:hover {box-shadow: 0px 0px 30px 0px rgba(0, 0, 0, 0.15);}

.btn-gradient-blue {
    --bs-btn-color: var(--bs-white);
    --bs-btn-hover-color: var(--bs-white);
    --bs-btn-active-color: var(--bs-white);
    --bs-btn-border-width: 0;
    background: linear-gradient(90deg, rgba(10,108,180,1) 0%, rgba(10,108,180,1) 15%, rgba(54,230,233,1) 100%); 
}

.btn-link {
    --bs-btn-hover-color: var(--bs-primary);
    --bs-btn-hover-border-color: var(--bs-primary);
}


/* buttons - outline */
.btn-outline-primary {
    --bs-btn-color: var(--bs-primary);
    --bs-btn-border-color: var(--bs-primary);
    --bs-btn-hover-bg: var(--bs-primary);
    --bs-btn-hover-border-color: var(--bs-primary);
    --bs-btn-active-bg: var(--bs-primary);
}

.btn-outline-secondary {
    --bs-btn-color: var(--bs-secondary);
    --bs-btn-border-color: var(--bs-secondary);
    --bs-btn-hover-bg: var(--bs-secondary);
    --bs-btn-hover-border-color: var(--bs-secondary);
    --bs-btn-active-bg: var(--bs-secondary);
}

.btn-outline-success {
    --bs-btn-color: var(--bs-success);
    --bs-btn-border-color: var(--bs-success);
    --bs-btn-hover-bg: var(--bs-success);
    --bs-btn-hover-border-color: var(--bs-success);
    --bs-btn-active-bg: var(--bs-success);
}

.btn-outline-danger {
    --bs-btn-color: var(--bs-danger);
    --bs-btn-border-color: var(--bs-danger);
    --bs-btn-hover-bg: var(--bs-danger);
    --bs-btn-hover-border-color: var(--bs-danger);
    --bs-btn-active-bg: var(--bs-danger);
}

.btn-outline-warning {
    --bs-btn-color: var(--bs-warning);
    --bs-btn-border-color: var(--bs-warning);
    --bs-btn-hover-bg: var(--bs-warning);
    --bs-btn-hover-border-color: var(--bs-warning);
    --bs-btn-active-bg: var(--bs-danger);
}


.btn-outline-info {
    --bs-btn-color: var(--bs-info);
    --bs-btn-border-color: var(--bs-info);
    --bs-btn-hover-bg: var(--bs-info);
    --bs-btn-hover-border-color: var(--bs-info);
    --bs-btn-active-bg: var(--bs-info);
}

.btn-outline-light {
    --bs-btn-color: var(--bs-body-color);
    --bs-btn-border-color: var(--bs-gray-300);
    --bs-btn-hover-bg: var(--bs-gray-300);
    --bs-btn-hover-border-color: var(--bs-gray-300);
    --bs-btn-active-bg: var(--bs-gray-300);
}

.btn-outline-dark {
    --bs-btn-color: var(--bs-dark);
    --bs-btn-border-color: var(--bs-dark);
    --bs-btn-hover-bg: var(--bs-dark);
    --bs-btn-hover-border-color: var(--bs-dark);
    --bs-btn-active-bg: var(--bs-dark);
}





/* ******************** */
/* ******* card ******* */
/* ******************** */
.card-body {padding: 1.444rem 2rem; position: relative;}
.card-title {color: var(--bs-dark); font-size: 1.111rem; margin-bottom: 0.889rem;}

.card-icon {width: 80px; height: 80px; padding: 1rem; background-color: var(--bs-white);box-shadow: 0px 0px 15px 0px rgba(0, 0, 0, 0.1); display: flex; justify-content: center; align-items: center; -webkit-border-radius: 50rem; border-radius: 50rem; overflow: hidden; position: absolute; top: -40px; right: 10px; z-index: 10;}
.card-icon img {width: 100%;}

@media screen and (min-width: 576px) {
    .card-icon {width: 100px; height: 100px; top: -50px; right: 20px;}
}


@media screen and (min-width: 768px) {
    .card-body {min-height: 215px;}
}


/* card-2 */
.card-2 {overflow: hidden; border-color: var(--bs-gray-200);}
.card-2:hover {box-shadow: 0px 0px 30px 0px rgba(0, 0, 0, 0.15); border-color: transparent;}
.card-2:hover .card-footer .btn {background-color: var(--bs-primary);}
.card-2 .card-img {position: relative; padding-bottom: 70%; border-bottom: 1px solid var(--bs-gray-200); -webkit-border-radius: 0; border-radius: 0;}
.card-2 .card-img img {width: 100%; height: 100%; position: absolute; top: 0; left: 0; object-fit: contain;}

.card-2 .card-body {min-height:0; padding: 1.111rem 0.5rem; text-align: center;}

.card-2 .card-title {margin-bottom: 0; font-weight: 700; font-size: 1rem;}
.card-2 .card-desc {margin-bottom: 0; font-weight: 300; font-size: 0.889rem;}

.card-2 .card-footer {padding: 0;}
.card-2 .card-footer .btn {width: 100%; height: 50px; background-color: var(--bs-gray-dark); color: var(--bs-white); text-align: center; -webkit-border-radius: 0; border-radius: 0;}






@media screen and (min-width: 1200px) {
}




/* ********************* */
/* **** color & bg ***** */
/* ********************* */
.text-primary {color: var(--bs-primary) !important;}
.text-secondary {color: var(--bs-secondary) !important;}
.text-success {color: var(--bs-success) !important;}
.text-info {color: var(--bs-info) !important;}
.text-warning {color: var(--bs-warning) !important;}
.text-danger {color: var(--bs-danger) !important;}
.text-light {color: var(--bs-light) !important;}
.text-dark {color: var(--bs-dark) !important;}

/* Background color */
.bg-primary {background-color: var(--bs-primary) !important;}
.bg-secondary {background-color: var(--bs-secondary) !important;}
.bg-success {background-color: var(--bs-success) !important;}
.bg-info {background-color: var(--bs-info) !important;}
.bg-warning {background-color: var(--bs-warning) !important;}
.bg-danger {background-color: var(--bs-danger) !important;}
.bg-light {background-color: var(--bs-light) !important;}
.bg-dark {background-color: var(--bs-dark) !important;}
.bg-white {background-color: var(--bs-white) !important;}

.bg-admin {background-color: var(--admin-bg-color);}



/* ******************** */
/* ******* form ******* */
/* ******************** */
.form-control { background-color: var(--bs-gray-100); border: 0; height:50px;}
.form-control[type="file"] {height: auto;}

textarea.form-control  {height: 315px; padding: 1.333rem; border: 1px solid var(--bs-gray-200); color:var(--bs-body-color);font-size:0.889rem;}

.form-control:read-only {box-shadow: none; border-width: 0; background-color: #e9ecef;}


.form-select {}
.form-select.select-gray {border: 0; background:  var(--bs-gray-100) url('/images/common/icon/icon-select2.jpg') calc(100% - 20px) center no-repeat;}


.form-check {position: relative; padding-left: 0;}

.form-check-input[type="checkbox"] {width: 20px; height: 20px; margin-top: 2px; border: 2px solid var(--bs-gray-200);}


.form-check-input[type="radio"] {width:1px; height: 1px; margin: -1px; overflow: hidden; position: absolute; top: 0; left: 0; clip:rect(0,0,0,0); border: 0;}
.form-check-input[type="radio"] + .form-check-label {position: relative; display: inline-block; padding-left: 30px; cursor: pointer;}
.form-check-input[type="radio"] + .form-check-label::before {content: ''; width: 18px; height: 18px; border: 1px solid var(--bs-gray-200); -webkit-border-radius: 50rem; border-radius: 50rem; background-color: var(--bs-white); position: absolute; top: 4px; left: 0;}
.form-check-input[type="radio"] + .form-check-label::after {content: ''; width: 8px; height: 8px; background-color: var(--bs-white); -webkit-border-radius: 50rem; border-radius: 50rem; position: absolute; top: 48%; left: 5px; -webkit-transform: translateY(-50%); transform: translateY(-50%);}

.form-check-input[type="radio"]:checked + .form-check-label::before {border-color: var(--bs-dark);}
.form-check-input[type="radio"]:checked + .form-check-label::after {background-color: var(--bs-dark);}

.form-file-label {width: 50px; height: 50px; margin-right: 0.5rem; padding: 0.5rem; border: 1px solid var(--bs-gray-200); text-align: center;}



/* ******************** */
/* ******** icon ****** */
/* ******************** */
.icon {width: 30px; height: 30px; display: inline-block; vertical-align: middle;}
.icon-hambug {background: url('/images/common/icon/icon-hambug.png') no-repeat center center; background-size: 26px auto;}
.icon-user {background: url('/images/common/icon/icon-user.png') no-repeat center center; background-size: 26px auto;}
.icon-arrow-wh {background: url('/images/common/icon/icon-arrow-right-wh.png') no-repeat center center; background-size: 26px auto;}



/* ********************* */
/* ******** list ******* */
/* ********************* */
.list li {position: relative;}
.list li:not(:last-child) {margin-bottom: 0.444rem;}


.list-style-1 {line-height: 1.2;}
.list-style-1 li {padding-left: 1rem;}
.list-style-1 li::after {content: ''; width: 5px; height: 5px; background-color: var(--bs-body-color); -webkit-border-radius: 50rem; border-radius: 50rem; position: absolute; top: 6px; left: 0;}

.list-style-2 {line-height: 1.2;}
.list-style-2 li {padding-left: 1rem;}
.list-style-2 li::after {content: ''; width: 3px; height: 3px; background-color: var(--bs-body-color); position: absolute; top: 6px; left: 0;}



/* ******************** */
/* ******* modal ****** */
/* ******************** */
.modal {
    --bs-modal-width: 960px;
    background-color: rgba(0,0,0,0.5);
}

.modal .modal-header {height: 80px; border-bottom: 0;}
.modal .modal-title {padding-right: 1rem; font-size: 1.333rem; font-weight: 700; color: var(--bs-dark); text-overflow: ellipsis; overflow: hidden; white-space: nowrap;}
.modal .btn-close {width: 0.5em; height: 0.5em; margin-right: 0; opacity: 1;}

.modal .modal-body {position: relative;}

.modal .swiper {position: static;}

.modal .swiper-slide img {width: 100%;}

.modal .swiper-pagination {max-width: 296px; padding: 1rem 0; margin: 0 auto; position: relative; display: block;}
.modal .swiper-pagination-bullet:only-child {display: inline-block !important;}


.modal .swiper-button-next, 
.modal .swiper-button-prev {width: 20px; height: 20px; display: flex;}

.modal .swiper-button-next {top: auto; left: auto; right: 1rem; bottom: 20px;} 
.modal .swiper-button-next::after {opacity: 0.4;}
.modal .swiper-button-next:hover::after {opacity: 1;}

.modal .swiper-button-prev {left: 1rem; right: auto; top: auto; bottom: 20px;}
.modal .swiper-button-prev::after {opacity: 0.4;}
.modal .swiper-button-prev:hover::after {opacity: 1;}

@media screen and (min-width: 412px) {
    .modal .swiper-button-next {right: calc(50% - 180px); -webkit-transform: translateX(-50%); transform: translateX(-50%);} 
    .modal .swiper-button-prev {left: calc(50% - 151px); -webkit-transform: translateX(-50%); transform: translateX(-50%);}
}

@media screen and (min-width: 576px) {
    .modal .modal-header {padding: 0.5rem 2.778rem;}
    .modal .modal-body {padding: 0.5rem 2.778rem;}
    .modal.print-modal .modal-body {padding: 1rem 2.778rem;}
}

@media screen and (min-width: 768px) {
    .modal .swiper-pagination  {padding: 2.4rem 0;}
    .modal .swiper-button-next {bottom: 45px;}
    .modal .swiper-button-prev {bottom: 45px;}
}


@media screen and (min-width: 992px) {
    .modal .swiper-pagination-bullet {display: inline-block;}
}

.print-modal p {margin-top: 1.333rem; margin-bottom: 1.333rem;}



/* ********************* */
/* ******* table ****** */
/* ********************* */
.table>:not(caption)>*>* {padding: 1rem 1rem;  vertical-align: middle;}
.table thead tr {border-bottom: 1px solid var(--bs-gray-300); text-align: center;}
.table thead tr th {border-width: 0; color: var(--bs-dark); font-weight: 500; }
.table tbody tr th {background-color: var(--snb-bg); color:var(--bs-dark);font-weight: 500; }


.table-primary {
    --bs-table-color: var(--bs-white);
    --bs-table-bg: var(--bs-primary);
    --bs-table-border-color: var(--bs-white);
    --bs-table-hover-bg: var(--bs-gray-500);
    font-weight: 400;
}

.table-primary>:not(caption)>*>* {padding: 0.8525rem 1rem;}

.table.table-primary thead th {border-right: 1px solid var(--bs-white); color: var(--bs-white);}
.table.table-primary thead tr {border-color: var(--bs-primary);}

.table-primary tbody tr {border-bottom: 1px solid var(--bs-gray-300);}
.table-primary tbody td {background-color: var(--bs-white); color: var(--bs-dark); text-align: center; border-right: 1px solid var(--bs-gray-300);}
.table-primary tbody td:last-child {border-width: 0;}


.table-2 {text-align: center; border-collapse: separate; border-spacing: 0 10px; border-top: 1px solid var(--bs-dark);}
.table-2 thead th {height: 40px; padding: 0.5rem 1rem; color: var(--bs-dark); }
.table-2 tbody td {height: 130px;  border-top: 1px solid var(--bs-gray-200);}
.table-2 tbody td:first-child {border-left: 1px solid var(--bs-gray-200);}
.table-2 tbody td:last-child {border-right: 1px solid var(--bs-gray-200);}




/* ******************** */
/* ****** visual ****** */
/* ******************** */
/* main-visual */
.main-visual {width: 100%; min-height: calc(100vh - 90px); position: relative;}
.main-visual * {color: var(--bs-white);}

.main-visual .bs-partner-img {max-width: 200px; position: absolute; top: 4%;  right: 4%; z-index: 11;}
.main-visual .bs-partner-img img {width: 100%;}

.main-visual .section-header {width: 100%; height: 100%; position: absolute; top: 0; left: 0; z-index: 10;}
.main-visual .section-header > .container {width: 100%; height: 100%; display: flex; flex-direction: column; justify-content: center; align-items: flex-start; position: relative;}


.main-visual p {margin: 1.111rem 0 2.444rem 0;}

.main-visual .btn {width: 100%; max-width: 230px; height: 70px; padding: 0 2.222rem; display: flex; justify-content: space-between; align-items: center;}

.procom-videos {width: 100%; height: 100%; position: absolute; top: 0; left: 0; z-index: 1; overflow: hidden;}
.procom-videos video {min-width: 100%; min-height: 100%; position: absolute; top: 50%; left: 50%; -webkit-transform: translate(-50%, -50%); transform: translate(-50%, -50%);}


@media screen and (min-width: 576px) {
    .main-visual .btn {max-width: 300px; height: 90px; padding: 0 3.333rem;}
    .main-visual .bs-partner-img {top: 2.444rem; right: 2.222rem}

}

@media screen and (min-width: 1200px) {
    .main-visual {width: 100%; min-height: calc(100vh - 120px);}

    .main-visual .bs-partner-img {top: 2rem; right: 2rem}
}


@media screen and (min-width: 1200px) {
    .procom-videos video {min-height: calc(100vh - 120px);}
}


@media screen and (max-width:767px) {
    .main-visual .bs-partner-img  {max-width: 120px;}

}
@media screen and (max-width:575px) {
    .main-visual .bs-partner-img  {max-width: 70px;}
} 

@media screen and (max-width:360px) {
    .main-visual .bs-partner-img  {max-width: 50px;}
} 

@media screen and (max-width:320px) {
    .main-visual .bs-partner-img  {max-width: 30px;}
}

/* 

.procom-videos { width: 100vw; height: calc(var(--vh, 1vh) * 100); overflow: hidden; position: absolute; z-index: -1; top: 0; left: 0;}
.procom-videos video {position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 100vw; height: auto; }


 */

/* sub-visual */
.sub-visual {width: 100%; min-height: 250px; height: 1px; color: var(--bs-white); background: url('/images/sub/sub_visual_00.jpg') no-repeat center center; background-size: cover; display: flex; flex-direction: column; justify-content: center; align-items: center; text-align: center;}

.sub-visual.visual-01 {background: url('/images/sub/sub_visual_01.jpg') no-repeat center center; background-size: cover;}
.sub-visual.visual-02 {background: url('/images/sub/sub_visual_02.jpg') no-repeat center center; background-size: cover;}
.sub-visual.visual-03 {background: url('/images/sub/sub_visual_03.jpg') no-repeat center center; background-size: cover;}
.sub-visual.visual-04 {background: url('/images/sub/sub_visual_04.jpg') no-repeat center center; background-size: cover;}
.sub-visual.visual-05 {background: url('/images/sub/sub_visual_05.jpg') no-repeat center center; background-size: cover;}


.sv-title {margin-bottom: 0; font-weight: 700; color: var(--bs-white);}

.page-location {display: flex; justify-content: center; align-items: center; font-size: 0.833rem;}
.page-location li:not(:last-child) {padding-right: 0.556rem; margin-right: 0.556rem; position: relative;}
.page-location li:not(:last-child)::after {content: ''; width: 3px; height: 3px; background-color: var(--bs-gray-400); position: absolute; top: 50%; right: -1px; -webkit-transform: translateY(-50%); transform: translateY(-50%);}

@media screen and (min-width: 1200px) {
    .sub-visual {min-height: 370px;}
}



/* ******************** */
/* ****** swiper ****** */
/* ******************** */
.swiper-button-next, 
.swiper-button-prev {width: 20px; height: 20px;}

.swiper-button-next {right: 0;}
.swiper-button-next:after {width: 100%; height: 100%; font-size:0; background: url('/images/common/icon/icon-slide-next.png') no-repeat center right; background-size: contain;}
.swiper-button-prev {left: 0;}
.swiper-button-prev:after {width: 100%; height: 100%; font-size:0; background: url('/images/common/icon/icon-slide-prev.png') no-repeat center left; background-size: contain;}

@media screen and (min-width: 576px) {
    .swiper-button-next, 
    .swiper-button-prev {width: 30px; height: 30px;}
}

.swiper-horizontal>.swiper-pagination-bullets, .swiper-pagination-bullets.swiper-pagination-horizontal, .swiper-pagination-custom, .swiper-pagination-fraction {bottom: 0;}
.swiper-pagination-bullet {width: 10px; height: 10px; background-color: var(--bs-gray-300); opacity: 1;}
.swiper-pagination-bullet.swiper-pagination-bullet-active {background-color: var(--bs-primary);}


@media screen and (min-width: 992px) {
    .swiper-pagination-bullet {display: none;}
}


/* ******************** */
/* ******** snb ******* */
/* ******************** */



/* ********************* */
/* ******* header ****** */
/* ********************* */
#header {width: 100%; height: auto; position: fixed; top: 0; left: 0; z-index: 100; background-color: var(--bs-white);}
#header.header-collapse {border-bottom: 1px solid var(--bs-gray-200);}
#gnb {width: 100%; height: 90px;}
.navbar-brand {max-width: 140px; height: auto; margin-right: 0}
.navbar-brand img {width: 100%;}

.nav {
    --bs-nav-link-padding-x: 1.944rem;
    --bs-nav-link-padding-y: 1rem;
    --bs-nav-link-font-weight: 500;
}

.nav-list {display: flex; justify-content: center; align-items: center; display: none;}

.nav-item {position: relative;}
.nav-item:hover .submenu {display: block;}

.nav-link {color: var(--bs-dark); position: relative; font-size: 1.1rem;}
.nav-link.active {color: var(--bs-primary);}
.nav-link::after {content: ''; width: 9px; height: 9px; background-color: var(--bs-primary); position: absolute; top: 2px; left: 50%; -webkit-transform: translateX(-50%); transform: translateX(-50%); -webkit-border-radius: 50rem; border-radius: 50rem; opacity: 0; -webkit-transition: opacity .15s ease-in-out; transition: opacity .15s ease-in-out;}
.nav-link.active::after,
.nav-link:hover::after {opacity: 1;}


/* submenu */
.submenu {padding: 1.111rem; font-size: 0.889rem;  font-weight: 400; background-color: var(--bs-white); border: 1px solid var(--bs-gray-200); box-shadow: 1px 0px 3px rgba(0,0,0,0.3); -webkit-border-radius: 0.5rem; border-radius: 0.5rem; position: absolute; top: 100%; left: 50%; -webkit-transform: translateX(-50%); transform: translateX(-50%); white-space: nowrap; display: none;}

.submenu-link {padding: 0.444rem 0; display: inline-block; position: relative;}
.submenu-link::after {content: ''; width: 100%; height: 2px; background-color: var(--bs-primary); position: absolute; bottom: 0.444rem; left: 0; opacity: 0;}
.submenu-link:hover::after {opacity: 1;}


/* util-list [로그인 / 마이페이지] */
.util-list {font-size: 0.889rem; color: var(--bs-dark); display: flex; justify-content: flex-end; align-items: center; display: none;}


/* mobile-nav-btns */
.mobile-nav-btns {display: flex; justify-content: flex-end; align-items: center;}
.mobile-nav-btns li {margin-left: 0.8rem;}
.mobile-nav-btns .btn {padding: 0; border-width: 0;}
.mobile-nav-btns .btn .icon {background-size: 22px auto;}


/* mobile gnb */
.mobile-nav {width: 70%; height: 100vh; padding: 0 4% 0 10%; background-color: var(--bs-white); position: fixed; top: 0; left: auto; right: 0; z-index: 210; visibility: hidden; -webkit-transform: translate3d(100%, 0, 0); transform: translate3d(100%, 0, 0); -webkit-transition: transform 300ms ease-in-out; transition: transform 300ms ease-in-out;}
.mobile-nav.show {visibility: visible; -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0);}

.mobile-nav-top {width: 100%; height: 90px; display: flex; justify-content: flex-end; align-items: center;}
.mobile-nav-top .btn {padding: 0; border-width: 0; font-size: 1.556rem;}
.mobile-nav-top .btn .bi::before {font-weight: 700 !important;}

.mobile-nav-list {font-weight: 500; color: var(--bs-dark); border-bottom: 1px solid var(--bs-gray-200);}
.mobile-nav-list > li:not(:last-child) {margin-bottom: 1.444rem;}
.mobile-nav-list > li a {width: 100%; display: block;}

.drop-item {width: 100%; padding: 0; font-weight: 500; text-align: left; border-width: 0; position: relative;}
.drop-item::after {content: '\F64D'; font-size: 1.222rem; font-family: 'bootstrap-icons'; color: var(--bs-primary); font-weight:700; position: absolute; top: 50%; right: 0; -webkit-transform: translateY(-50%); transform: translateY(-50%);}

.drop-item.active::after {content: '\F2EA';}
.drop-item.active + .mobile-nav-sub {display: block; max-height: 200px; margin: 1.444rem 0; opacity: 1;}

.mobile-nav-sub {padding-left: 1.111rem; color: var(--bs-body-color); font-weight: 400; position: relative; max-height: 0; overflow: hidden;}
.mobile-nav-sub::before {content: ''; width: 3px; height: 90px; background-color: var(--bs-primary); position: absolute; top: 50%; left: 0; -webkit-transform: translateY(-50%); transform: translateY(-50%);}
.mobile-nav-sub li:not(:last-child) {margin-bottom: 0.556rem;}
.mobile-nav-sub li a.active {color: var(--bs-primary);}

.mobile-util-list {max-width: 200px; height: 50px; margin-top: 2.667rem; margin-left: 0; display: flex; justify-content: flex-start; align-items: center; border: 1px solid var(--bs-gray-200); font-size: 0.889rem; font-weight: 400; overflow: hidden;}
.mobile-util-list li {flex: 1 1 50%; height: 100%; line-height: 50px; text-align: center;}
.mobile-util-list li:first-child {border-right: 1px solid var(--bs-gray-200);}
.mobile-util-list li a {display: block; width: 100%; height: 100%;}

@media screen and (min-width: 360px) {
    .navbar-brand {max-width: 180px;}
}

@media screen and (min-width: 576px) {
    .navbar-brand {max-width: 250px;}

    /* mobile-nav-btns */
    .mobile-nav-btns li {margin-left: 1.111rem;}
    .mobile-nav-btns .btn .icon {background-size: 26px auto;}

    /* mobile gnb */
    .mobile-nav {max-width: 360px; padding: 0 20px 0 40px;}

    .mobile-util-list {max-width: 250px; height: 60px;}
    .mobile-util-list li {line-height: 60px;}
}


@media screen and (min-width: 1200px) {
    #gnb {height: 120px;}
    .nav-list {display: flex;}
    .util-list {display: flex;}

    /* mobile-nav-btns */
    .mobile-nav-btns {display: none;}
}





/* ******************** */
/* ******** main ****** */
/* ******************** */
/* main-01-section */
.main-01-section {background-color: #efefef;}
.main-01-section p {color: var(--bs-dark); font-size: 1rem; margin-top: 1.111rem;}
.main-01-section p br {display: inline-block; content: '';}
.main-01-section strong {font-size: 1.111rem; font-weight: 500;}

#mainSlide01 {text-align: center;}
#mainSlide01 .product {position: relative; padding-bottom: 1.5rem;}
#mainSlide01 .product-name {padding: 0.5rem 0.875rem; margin: 0; font-size: 0.889rem; color: var(--bs-white); background-color: var(--bs-dark); -webkit-border-radius: 50rem; border-radius: 50rem; position: absolute; left: 50%; bottom: 0; -webkit-transform: translateX(-50%); transform: translateX(-50%); display: inline-block; white-space: nowrap;}



@media screen and (min-width: 576px) {
    #mainSlide01 .swiper-slide {padding: 0.5rem 2.222rem;}
    #mainSlide01 .product  {padding-bottom: 0;}
    #mainSlide01 .product-name {padding: 0.5rem 2.222rem; font-size: 1rem;}
}

@media screen and (min-width: 850px) {
    .main-01-section p br {display: block;}
}

@media screen and (min-width: 1650px) {
    .main-01-section {padding-top: 0; padding-bottom: 0; background: linear-gradient(90deg, rgba(239,239,239,1) 0%, rgba(255,255,255,1) 63%);}
    .main-01-section .main-01-bg {width: 100%; height: 1080px; padding-top: 100px; padding-bottom: 100px; background-image: url('/images/main/main_01_bg.jpg'); background-repeat: no-repeat; background-position: center center; background-size: auto 100%;;}

    .main-01-img {display: none;}

    .main-01-section p {font-size: 1.111rem;}
    .main-01-section strong {font-size: 1.333rem;}

    #mainSlide01 {display: none;}
    
}



/* main-02-section */
.main-02-section {padding-bottom: 170px;}
.main-02-section .container {position: relative; padding-bottom: 3rem;}
#mainSlide02 {position: static;}
#mainSlide02 .swiper-slide {width: 100%; height: 1px; min-height: 350px; padding: 0.875rem; -webkit-border-radius: 0.875rem; border-radius: 0.875rem; color: var(--bs-white); display: flex; flex-direction: column; justify-content: center; align-items: center; text-align: center;}
.slide01 {background: url('/images/main/main_02_bg_01.jpg') no-repeat center center; background-size: cover;}
.slide02 {background: url('/images/main/main_02_bg_02.jpg') no-repeat center center; background-size: cover;}
.slide03 {background: url('/images/main/main_02_bg_03.jpg') no-repeat center center; background-size: cover;}

.slide-title {padding-bottom: 1.111rem; margin-bottom: 2.778rem; font-weight: 500; display: inline-block; color: var(--bs-white);}
.slide-title .eng {font-style: normal; font-weight: 300; font-size: 0.778rem; text-transform: uppercase; display: block; margin-bottom: 1.444rem;}
.slide-desc {margin-bottom: 0; font-size: 0.889rem;}
.slide-desc br {content: ''; display: inline-block;}


#mainSlide02 .swiper-slide.swiper-slide-active .slide-title {border-bottom: 2px solid var(--bs-white);}


@media screen and (min-width: 576px) {
    .slide-desc br {display: block;}
}

@media screen and (min-width: 992px) {
    .main-02-section .container  {padding-bottom: 0;}
    #mainSlide02 .swiper-slide {max-width: 200px; min-height: 578px; cursor: pointer; -webkit-transition: max-width 300ms ease; transition: max-width 300ms ease;}
    #mainSlide02 .swiper-slide .slide-desc {display: none;}
    #mainSlide02 .swiper-slide:not(.swiper-slide-active) .slide-title {font-size: 1.5rem;}
    #mainSlide02 .swiper-slide.swiper-slide-active {max-width: calc(100% - 432px);}
    #mainSlide02 .swiper-slide.swiper-slide-active .slide-desc {display: block;}
}


@media screen and (min-width: 1200px) {
    .main-02-section {padding-bottom: 190px;}
    #mainSlide02 .swiper-slide {max-width: 253px;}
    #mainSlide02 .swiper-slide.swiper-slide-active {max-width: calc(100% - 538px);}
}



/* main-03-section */
.main-03-section .row {margin-left: 0; margin-right: 0; margin-top: -170px;}
.main-03-section .card {-webkit-border-radius: 0.875rem; border-radius: 0.875rem; overflow: hidden; border: none;}
.main-03-section .card-title {padding-right: 1.8rem;}


@media screen and (min-width: 412px) {
    .main-03-section .card-title {padding-right: 0;}
}

@media screen and (min-width: 1200px) {
    .main-03-section .row {margin-top: -190px;}
}


@media screen and (min-width: 1401px) {
    .main-03-section .row {margin-left: -2rem; margin-right: -2rem;}
    .main-03-section .row .col {padding-left: 2rem; padding-right: 2rem;}
}






/* ******************** */
/* ******** sub ******* */
/* ******************** */
/* 회사소개 */
.greeting-section {background: url('/images/sub/about/greeting_bg_logo.png') no-repeat; background-size: 100% auto; background-position: right bottom 260px}
.greeting-section p:not(:last-child) {margin-bottom: 1.667rem;}
.greeting-section p.fs-5 {font-weight: 500;}


@media screen and (min-width: 1400px) {
    .greeting-section {background: url('/images/sub/about/greeting_bg_logo.png') no-repeat 100% 230px;}
}


/* 포트폴리오 */
.portpolio-category {width: 100%; max-width: 1360px; height: auto; padding-left: 4%; padding-right: 4%; margin: 48px auto; flex-wrap: wrap; justify-content: center;}
.portpolio-category .nav-item {margin: 0.25rem;}
.portpolio-category .nav-item .nav-link {padding: 0.5rem 1rem;  border:1px solid var(--bs-gray-300); -webkit-border-radius: 0.5rem; border-radius: 0.5rem; display: block; color: var(--bs-gray-dark); background-color: var(--bs-white);}
.portpolio-category .nav-item .nav-link.active,
.portpolio-category .nav-item .nav-link:hover {color: var(--bs-white); background-color: var(--bs-primary);}

.portpolio-category .nav-item .nav-link:hover::after,
.portpolio-category .nav-item .nav-link.active::after {display: none;}



.portpolio-section .ctc-dot {
    padding-top: 40px; padding-bottom: 40px;
}


@media screen and (min-width: 1200px) {
    .portpolio-category {padding-left: 20px; padding-right: 20px;}
    .portpolio-category .nav-item  {flex: 1 1 auto; text-align: center;}
    .portpolio-section .ctc-dot {
        padding-top: 60px; padding-bottom: 60px;
    }
    
}


.portpolio-link {display: block; width: 100%; height: auto; padding-bottom: 70%; border: 1px solid var(--bs-gray-300); -webkit-border-radius: 0.5rem; border-radius: 0.5rem; overflow: hidden; position: relative;}
.portpolio-link:hover .cover {display: flex;}

.portpolio-img {width: 100%; height: 100%; position: absolute; top: 0; left: 0; z-index: 1;}

.portpolio-info {padding: 1.111rem 0; margin-bottom: 0.778rem;}
.portpolio-desc {width: 100%;  display: -webkit-box; word-wrap: break-word; -webkit-line-clamp: 2; -webkit-box-orient: vertical; text-overflow: ellipsis; overflow: hidden;}








/* 연혁 */
.history-title {margin-bottom: 80px; border-bottom: 1px solid var(--bs-gray-200);}
.history-year {margin-bottom: 1.5rem;}

.history-img {width: 100%;}

.history-list {font-weight: 400; padding-left: 1.5rem; position: relative;}
.history-list:not(:last-child) {padding-bottom: 1.5rem;}
.history-list::before {content: ''; width: 1px; height: 100%; background-color: var(--bs-gray-200); position: absolute; top: 8px; left: 0;}

.history-list dt h6 {font-size: 1rem; color: var(--bs-dark); font-weight: 600;}
.history-list dd ul li:not(:last-child) {margin-bottom: 0.556rem;}


.bullet::after {content: ''; width: 8px; height: 8px; background-color: var(--bs-primary); -webkit-border-radius: 50rem; border-radius: 50rem; position: absolute; top: 8px; left: -3.5px; z-index: 1;}


@media screen and (min-width: 768px) {
    .history-img-wrap {padding-right: 1.5rem;}

    .history-list {display: flex; justify-content: flex-start; align-items: flex-start;}
    .history-list dt {min-width: 85px; text-align: right;}
    .history-list dd {padding-left: 2rem;}
}

@media screen and (min-width: 1200px) {
    .history-img-wrap {padding-right: 3rem;}
    .history-title {margin-bottom: 100px;}

    .history-img {max-width: 100%;}

    .history-list {padding-left: 3rem;}
    .history-list::before {height: calc(100% + 130px);}
    .history-list dt h6 {margin-bottom: 0rem;}
    .history-list dd {padding-left: 2.222rem;}

    .before-none::before {display: none !important;}
    .before-h-100::before {height: calc(100% + 100px) !important;}
}

@media screen and (min-width: 1600px) {
    .history-img-wrap {padding-right: 6.889rem;}

    .history-list {padding-left: 5.1rem;}
    .history-list dd {padding-left: 3.333rem;}
}


@media screen and (min-width: 1920px) {
    .history-img-wrap {padding-right: 8.333rem;}
}



/* 견적 요청 */
.form-container {width: 100%; height: 100%;}
.file-upload-container {width: 100%; height: 100%; padding: 2.5rem 1.5rem; background-color: var(--bs-light); border: 1px solid var(--bs-gray-200); -webkit-border-radius: 0.5rem; border-radius: 0.5rem; display: flex; justify-content: center; align-items: center; text-align: center;}

.upload-box {padding:1.5rem; background-color: var(--bs-white); border: 2px dashed var(--bs-gray-200); -webkit-border-radius: 0.5rem; border-radius: 0.5rem;}
.upload-box h3 {font-size: 0.889rem; font-weight: 400; margin-bottom: 0;}
.upload-box p {margin-bottom: 0; font-size: 0.889rem; color: #999999;}
.upload-icon {max-width: 60px; height: auto; margin-bottom: 1rem;}

.upload-box {display: flex; flex-direction: column; justify-content: center; align-items: center; text-align: center;}

.file-upload {width: 100%; text-align: center;}
.file-upload .form-label {margin-bottom: 0;}
.file-upload .form-label-text {font-size: 0.889rem; font-weight: 400; display: block; color: var(--bs-dark);}

.file-upload .form-control[type="file"] {opacity: 0; padding: 0; max-height: 0;}

.file-upload-btn {width: 200px; height: 60px; margin-top: 0.5rem; /* margin-bottom: 1.667rem;*/ color: var(--bs-white); display: inline-block; line-height: 60px; -webkit-border-radius: 50rem; border-radius: 50rem; box-shadow: 0px 0px 30px 0px rgba(0, 0, 0, 0.15);}


.quantity-group {min-width: 120px; max-width: 120px; border: 1px solid var(--bs-gray-200); display: inline-flex; text-align: center; }
.quantity-group > * {width: 40px; height: 40px; padding: 0;}
.quantity-group .input-group-text {text-align: center; line-height: 40px; display: inline-block;}


@media screen and (min-width: 768px) {
    .upload-box {width: 560px; height: 330px; padding: 2rem 2.778rem;}
    .upload-icon {margin-bottom: 1.667rem;}
    /* .file-upload-btn {margin-bottom: 2rem;} */
}






.select-box {padding: 1.667rem; border: 1px solid var(--bs-dark); -webkit-border-radius: 0.5rem; border-radius: 0.5rem;}
.select-box .form-check {margin: 0.667rem 0;}

.print, .texture {padding-bottom: 1.333rem; margin-bottom: 1.333rem; border-bottom: 1px solid var(--bs-gray-200);}

.select-box .list {font-size: 0.889rem;}
.select-box .list li::after {background-color: #999999;}

@media screen and (min-width: 768px) {
    .select-box {padding: 2.222rem;}
}

@media screen and (min-width: 992px) {
    .select-box {max-width: 440px;}
}


.estimate-form {border-top: 1px solid var(--bs-dark);}
.estimate-form .col-form-label {min-width: 140px; font-weight: 500; color: var(--bs-dark);}
.estimate-form .form-group {padding: 0.889rem 0.2rem; align-items: center; border-bottom: 1px solid var(--bs-gray-200);}
.estimate-form .form-group.row {margin-left: 0; margin-right: 0;}
.estimate-form .form-control {max-width: 640px; }
.estimate-form textarea.form-control {color:#999;width: 100%; max-width: 100%; height: 315px; background-color: var(--bs-white); font-size: 0.889rem;  resize: none; border-width: 0;}
.estimate-form .form-select {}
.estimate-form .input-group {max-width: 640px;}

.estimate-form p.h5 {display: none;}

.btnEstimate {width: 230px; height: 70px; box-shadow: 0px 0px 30px 0px rgba(0, 0, 0, 0.15); font-weight: 500; display: block; margin: 60px auto 50px auto;}

.caution-box {font-size: 0.889rem; padding: 1.667rem;}
.caution-box .list:not(:last-child) {margin-bottom: 10px;}

@media screen and (min-width: 576px) {
    .caution-box {padding: 2.222rem;}
}

@media screen and (min-width: 1200px) {
    .btnEstimate {width: 300px; height: 90px;}
}



.data-sheet {padding-top: 80px; padding-bottom: 80px;}
.print-process {display: block; -webkit-border-radius: 0.5rem; border-radius: 0.5rem; overflow: hidden;}

.btn-guide {width: 240px; height: 60px; margin: 0 auto; display: block;}

@media screen and (min-width: 1200px) {
    .data-sheet {padding-top: 100px; padding-bottom: 100px;}
    .data-sheet .col-12 {padding-left: 3.333rem; padding-right: 3.333rem;}
}



.file-upload-table {border-top: 1px solid var(--bs-dark); text-align: center;}

.file-upload-head {font-size: 1rem; font-weight: 500; color: var(--bs-dark);}
.file-upload-head .row {height: 65px;}

.file-upload-body {text-align: left; padding-top: 0.556rem;}
.file-upload-body .row {margin-left: 0; margin-right: 0;}
.file-upload-body .row:not(:last-child) {margin-bottom: 0.556rem;}
.file-upload-body .row .col {padding: 1rem; position: relative;}

.file-upload-body .row .col:not(:last-child)::after {content: ''; width: calc(100% - 1.15rem); height: 1px; border:1px dotted var(--bs-gray-200); position: absolute; bottom: 0; left: 50%; -webkit-transform: translateX(-50%); transform: translateX(-50%);}

.file-upload-body .subject {font-weight: 700; color: var(--bs-dark);}





@media screen and (min-width:1200px) {
    .file-upload-body {padding-top: 0; text-align: center;}
    .file-upload-body .row .col {padding: 1rem 1.115rem;}
    .file-upload-body .row .col::after {display: none;}
}

















/* 온라인 결제 */
.payment-section .form-select {}
.payment-section .form-control {}
.payment-section .form-check {display: inline-block; margin: 0.2rem 0.875rem 0.2rem 0; color: var(--bs-gray-dark);}
.payment-section .privacy-title {display: none;}

.payment-table {padding-top: 1rem; padding-bottom: 1rem; margin-left: 0; margin-right: 0; border-top: 1px solid var(--bs-gray-dark); align-items: center;}
.payment-table .col {padding-top: 0.5rem; padding-bottom: 0.5rem;}
.payment-table .col-sm-3 {font-weight: 500; color: var(--bs-gray-dark); }
.payment-table .col-sm-9 {margin-bottom: 1rem;}

.input-group.price .input-group-text {background-color: transparent; border-width: 0;}

.btn-address {width:50px; height: 50px; margin-right: 0.5rem; padding: 0.5rem; font-size: 1.125rem;}
.btn-address .bi {color: var(--bs-gray-dark);}
.btn-address .bi::before {font-weight: 700 !important; vertical-align: middle;}

.form-control.add-1 {width: calc(100% - 3.333rem);}
.form-control.add-2 {width: 100%; margin: 0.5rem 0;}

.payment-privacy textarea.form-control {height: 200px; -webkit-border-radius: 0.5rem !important; border-radius: 0.5rem !important; resize: none; font-size: 0.889rem; color:#666;}
.payment-privacy textarea.form-control + label {border-width: 0 !important; margin-top: 0 !important; text-align: start;}

.btn-payment {width: 240px; height: 60px; margin: 0 auto; display: block;}

.payment-table .col.hidden {display: none;}
.payment-table .col.hidden.show {display: flex; flex-wrap: wrap;}

.proof {display: none;}
.cash-receipt {display: none;}
.tax-bill {display: none;}

.payment-table .form-check-input[type="radio"] + .form-check-label::after {top: 49%;}


@media screen and (min-width: 576px) {
    .payment-table {padding-top: 0; padding-bottom: 0;}
    .payment-table .col {padding: 1rem 1.25rem; border-bottom: 1px solid var(--bs-gray-200);}
    .payment-table .col-sm-3 {min-height: 86px; background-color: var(--bs-gray-100); display: flex; align-items: center; justify-content: center;}
    .payment-table .col-sm-3.address-label {min-height: 179px;}
    .payment-table .col-sm-9 {margin-bottom: 0; min-height: 87px; display: flex; align-items: center; justify-content: flex-start;}

    .payment-table .form-select {max-width: 300px; height: 50px;}
    .input-group.price .form-control {max-width: 250px;}

    .form-control.add-1 {width: 15%; max-width: 200px;}
    .form-control.add-2 {width: 30%; margin-top: 0;}

    .form-control.mx-300 {max-width: 300px;}
}



/* ********************* */
/* ******* footer ****** */
/* ********************* */
.footer {padding-top: 70px; padding-bottom: 70px; background-color: var(--foot-bg); color: var(--bs-white);}
.footer .container {position: relative;}

.footer-top-menu {display: flex; flex-wrap: wrap; justify-content: flex-start; align-items: center; font-size: 0.889rem;}
.footer-top-menu li {position: relative; margin-bottom: 0.5rem;}
.footer-top-menu li:not(:last-child) {padding-right: 0.833rem; margin-right: 0.833rem; }
.footer-top-menu li::after {content: ''; width: 1px; height: 12px; background-color: rgba(255, 255, 255, 0.2); position: absolute; top: 50%; right: 0; -webkit-transform: translateY(-50%); transform: translateY(-50%);}
.footer-top-menu li:last-child::after {display: none;}

.company-info {margin-top: 1.778rem; color: var(--foot-gray-color); display: flex; flex-wrap: wrap; justify-content: flex-start; align-items: center; font-size: 0.778rem;}
.company-info li {width: 100%; padding-right: 1.667rem;}

.copyright {margin-top: 0.667rem; font-size: 0.722rem; color: var(--foot-gray-color);}


.footer .bs-partner-img {text-align: right; margin-top: 2.778rem;}

@media screen and (min-width: 1200px) {
    address {width: calc(100% - 195px);}
    .footer .bs-partner-img {margin-top: 0; position: absolute; top: 50%; right: 20px; -webkit-transform: translateY(-50%); transform: translateY(-50%);}

    .company-info li {width: auto;}
}




/* ******************** */
/* ******* Board ****** */
/* ******************** */
/* bbs.top */
.board-title {margin-bottom: 48px; text-align: center; color: var(--dark); display: none;}
.board-title h2 {line-height: 1.5;}
.board-title p {color: var(--bs-body-color);}

.board-category {height: auto; margin: 48px 0; flex-wrap: wrap; justify-content: center;}
.board-category .nav-item {margin: 0.25rem;}
.board-category .nav-item .nav-link {padding: 0.5rem 1rem;  border:1px solid var(--bs-gray-300); -webkit-border-radius: 0.5rem; border-radius: 0.5rem; display: block; color: var(--bs-dark);}
.board-category .nav-item .nav-link.active {border-color: var(--bs-primary); color: var(--bs-white); background-color: var(--bs-primary);}
.board-category .nav-item .nav-link:hover {border-color: var(--bs-primary); color: var(--bs-white); background-color: var(--bs-primary);}

.board-category .nav-item .nav-link:hover::after,
.board-category .nav-item .nav-link.active::after {display: none;}

.board-category .nav-item .nav-link.more {width: 100%; height: 100%; border-width: 0px; font-size: 0.889rem; display: flex; align-items: flex-end; justify-content: center;}
.board-category .nav-item .nav-link.more:hover {background-color: var(--bs-white); color: var(--bs-primary);}

/* list */
/* board-top */
.board-top {display: flex; justify-content: space-between; align-items: flex-start; flex-wrap: wrap;}
.board-top > div {margin-bottom: 16px;}
.board-top form {width: 100%;}
.board-top .total-count .count {color: var(--bs-dark); font-weight: 700;}

.search-wrap {display: flex; flex-wrap: wrap; justify-content: flex-end; align-items: center;}
.search-wrap .form-select {margin: 8px 0;}
.search-bar {width: 100%; border-bottom: 2px solid var(--bs-dark);}
.search-bar .form-control {border-width: 0;}
.search-bar .input-group-text {padding-right: 0; font-size: 1.25rem;}

@media screen and (min-width: 576px) {
    .search-wrap .form-select {flex: 1 1 calc(50% - 4px);}
    .search-wrap .form-select[name="category"] {margin-right: 8px;}
}

@media screen and (min-width: 768px) {
    .board-top form {width: auto;}
    .search-wrap {flex-wrap: nowrap;}
    .search-wrap .form-select {margin-top: 0; margin-bottom: 0; margin-right: 8px; min-width: 150px;}
    .search-bar {min-width: 360px;}
}

/* all-chk */
.all-chk {margin-top: 16px;}
.all-chk .form-check-input {margin-top: 0.2em;}

/* 공지 아이콘 */
.icon-bell {width: 30px; height: 30px; background-color: var(--bs-secondary); display: flex; justify-content: center; align-items: center; margin: 0 auto;}
.icon-bell .bi-bell-fill::before {vertical-align: -0.15em;}

.board-list .row {margin-top: 48px;}
.board-list .subject {margin-top: 20px;}
.board-list .subject a {color: var(--bs-dark);}

.board-list .badge {padding: 0.5rem 0.75rem; font-size: 0.875rem; font-weight: 500;}

.board-list table {margin-top: 48px; /* min-width: 800px; */}
.board-list table thead {border-top: 2px solid var(--bs-dark); border-bottom: 1px solid var(--bs-gray-100);}
.board-list table thead th {color: var(--bs-dark); font-weight:500;}
.board-list table tbody td {text-align: center;}

.board-list table tbody tr.notice:hover {--bs-table-accent-bg: var(--bs-lightblue);}


@media screen and (max-width: 767px) {
    .md-hide {display: none;}
}



/* pagenation */
.pagination {padding: 0.375rem 0.75rem; margin-top: 40px; display: flex; justify-content: center; align-items: center;}
.pagination .next-btn,
.pagination .prev-btn {border: 1px solid var(--bs-gray-200);}
.page-item-c {color: var(--bs-gray-400); -webkit-border-radius: 0.5rem; border-radius: 0.5rem;}
.page-item-c.active a {color: var(--bs-dark);}
.page-link-c {position: relative; display: block; padding: 0.375rem 0.875rem; font-weight: 700;}
.page-link-c:hover {color: var(--bs-dark);}
.page-link-c img {min-width: 8px;}

.page-link-c .bi::before {opacity: 0.4; vertical-align: middle;}
.page-link-c:hover .bi::before {opacity: 1;}

.bi.bi-chevron-bar-right::before {content: ''; width: 14px; height: 13px; background: url('/images/common/btn/btn_paging_next_end.png') no-repeat center center; display: inline-block;}

.bi.bi-chevron-bar-left::before {content: ''; width: 14px; height: 13px; background: url('/images/common/btn/btn_paging_prev_end.png') no-repeat center center; display: inline-block;}

@media screen and (min-width: 1200px) {
    .pagination {font-size: 1.125rem; margin-top: 48px;}
}



/* view */
.board-view {word-break: break-all;}
.board-view .table {table-layout: fixed;}
.board-view .table th,
.board-view .table td {border-bottom: 1px solid var(--bs-gray-300);}
.board-view .table tbody {border-top: 2px solid var(--bs-dark);}
.board-view .table tbody tr.content td{padding: 1.5rem 1rem;}
.board-view .table tbody tr:not(.content) th {background-color: var(--bs-gray-100); color: var(--bs-dark); font-weight: 500;}
.board-view .table tbody tr.img td {min-height: 53px; display: flex; flex-wrap: wrap; justify-content: flex-start; word-break: break-all;}
.board-view .table tbody tr.img td a {width: 100%;}

.board-view .table tbody tr.file td {min-height: 64px; display: flex; flex-wrap: wrap; justify-content: flex-start; word-break: break-all;}
.board-view .table tbody tr.file td a {width: 100%;}


@media screen and (min-width: 768px) {
    .board-view .table tbody tr.file td {gap: 8px;}
    .board-view .table tbody tr.file td a {width: auto;}
}

.view-title {margin-bottom: 8px; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center;}
.view-title .title {display: flex; flex-wrap: wrap; justify-content: flex-start; align-items: center;}
.view-title .title .badge {padding: 0.5rem 0.75rem; margin-bottom: 0.5rem; margin-right: 8px; font-size: 0.875rem; font-weight: 500;}
.view-title .title h4 {width: 100%; margin-bottom: 0; text-align: left; color: var(--bs-dark); font-weight: 500;}
.view-title .title .date {font-size: 1rem; font-weight: 400;  margin-top: 8px;}

.writer-wrap {margin-top: 8px; font-weight: 400;}
.writer-wrap .writer {color: var(--bs-primary);}
.writer-wrap span:not(.writer) {padding: 0 8px; display: inline-block;}

@media screen and (min-width: 768px) {
    .board-view .table tbody tr.content td{padding: 2rem 1.5rem;}
    .view-title {margin-bottom: 16px;}
    .writer-wrap {margin-top: 0px;}
}

@media screen and (min-width: 1200px){
    .view-title .title .date {margin-top: 0px;}
}



/* comment */
.comment-count {font-size: 1rem;}
.comment-icon {width:22px; height: 22px; display: inline-block; background-color: var(--bs-gray-300); border-radius: 4px; text-align: center; line-height: 22px;}
.comment-date {color: var(--body-color); margin-left: 4px;}

.board-view .btn-gray-2 {width: 120px; height: 100px; margin-left: 8px !important; border-radius: 6px !important;}

.list-group-flush {text-align: left;}
.list-group-flush li {padding: 30px 20px !important; background-color: var(--bs-gray-100); border-top: 1px solid var(--bs-gray-200); color: var(--bs-body-color);}
.list-group-flush>.list-group-item {border-width: 1px 0 0;}
.list-group-flush li span b {color: var(--bs-dark);}

.comment-writer .writer {display: block; line-height: 1; font-weight: 500;}

.comment-options,
.comment-cencel {position: absolute; top: 1.375rem; right: 1.375rem;}
.comment-options .btn,
.comment-cencel .btn {width: 22px; height: 22px; padding: 0; text-align: center; line-height: 22px; background-color: var(--bs-gray-400); font-size: 0.875rem;}

.comment-form textarea.form-control {width: 100%; height: 100px; -webkit-border-radius: 0.5rem !important; border-radius: 0.5rem !important;}
.comment-form .btn {width: 100%; height: 50px; -webkit-border-radius: 0.5rem !important; border-radius: 0.5rem !important;}

@media screen and (min-width: 576px) {

}


@media screen and (min-width: 576px) {
    .comment-writer .writer {display: inline-block; font-size: 1.125rem;}
}

@media screen and (min-width: 768px) {
    .comment-form textarea.form-control {width: calc(100% - 128px);}
    .comment-form .btn {width: 120px; height: 100px;  margin-top: 0; margin-left: 8px !important;}
}



.comment-write-form {padding-top: 24px; border-top: 1px dashed var(--bs-gray-300);}




/* form */
.board-form {border-top: 2px solid var(--bs-dark); padding-left: 0; padding-right: 0;}
.board-form .form-group.row {margin-left: 0; margin-right: 0;}
.board-form .form-group .col-form-label {color: var(--bs-dark); padding: 20px 0 8px 0; font-weight: 500; display: flex; justify-content: flex-start; align-items: center; padding: 1rem;}
.board-form + .board-btns {justify-content: center;}

.board-form .form-group {border-bottom: 0;}


@media screen and (min-width: 576px) {
    .board-form .form-group {border-bottom: 1px solid var(--bs-gray-300);}
    .board-form .form-group .col-form-label {background-color: var(--bs-gray-100);}
    .board-form .col-sm-10 {padding: 1rem;}
}

/* board-btns */
.board-btns {margin-top: 24px; display: flex; flex-wrap: wrap; justify-content: space-between;}
.board-btns .btn {min-width: 90px; height: 50px; margin: 8px; margin-left: 0;}
.board-btns .btn-md {min-width: 120px;}
.board-btns .left {display: flex; flex-wrap: wrap; justify-content: flex-start; }

@media screen and (min-width: 992px) {
    .board-btns {margin-top: 48px;}
}


@media screen and (min-width: 1200px) {
    .board-btns .btn {}
}



.empty-list {padding: 48px 0; text-align: center; border-top: 1px solid var(--bs-gray-300); border-bottom: 1px solid var(--bs-gray-300);}

/* ************************* */
/* ** 홍보동영상 (G.video) ** */
/* ************************* */
.video-wrap {position: relative; padding-bottom: 56.25%; margin-bottom: 20px; overflow: hidden;}
.video-wrap iframe,
.video-wrap object,
.video-wrap embed {position: absolute; top: 0; left: 0; width: 100%; height: 100%;}



/* ************************* */
/* ** 제품소개 (G.Product) ** */
/* ************************* */
/* list */
.g-product {margin-bottom: 48px;}
.g-product:last-child {margin-bottom: 0;}
.g-product a {display: block; padding: 1.5rem 1rem; border: 1px solid var(--bs-gray-300);-webkit-border-radius: 0.5rem; border-radius: 0.5rem; overflow: hidden; text-align: center;}
.g-product a div {text-align: left;}
.g-product a .form-check-input {min-width: 16px;}
.g-product a p {margin-bottom: 0; color: var(--bs-dark); overflow: hidden; text-overflow: ellipsis; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical;}

@media screen and (min-width: 1200px) {
    .g-product a p {font-size: 1.125rem;}
}

/* view */
.g-product-img {border: 1px solid var(--bs-gray-300); -webkit-border-radius: 0.5rem; border-radius: 0.5rem; overflow: hidden;}
.g-product-btns {display: flex; justify-content: flex-start; align-items: center;}
.g-product-btns .btn {flex:1 1 calc(100% - 5px); height: 50px; line-height: 38px;}

@media screen and (min-width: 1200px) {
    .g-product-btns .btn {height: 60px; line-height: 48px;}
}


/* ************************* */
/* ***** faq (F.basic) ***** */
/* ************************* */
.board-view.faq span:not(.badge) { color: var(--bs-body-color) !important;}
.accordion-wrap {border-top: 1px solid var(--bs-gray-dark);}
.accordion-wrap .card {padding: 0; border-bottom: 1px solid var(--bs-gray-200);}
.accordion-wrap .card .card-body {padding:0;}

/* admin 로그인 시 나타나는 타이틀 */
.accordion-wrap .card .card-title {margin-bottom: 0; font-size: 1rem; font-weight: 500; color: var(--bs-gray-dark); padding: 22px 46px 20px 30px; display: inline-block; position: relative;}
.accordion-wrap .card .card-title::before {content: 'Q.'; font-weight: 800; font-family: 'Montserrat', Sans-serif; position: absolute; top: 20px;  left: -8px;}
.accordion-wrap .card .card-title.collapsed {color: var(--bs-gray-dark);}

/* 로그인 안했을 때 */
.accordion-wrap .card a.btn {min-height: 60px; height: 100%; position: relative; padding: 20px 46px 20px 60px; line-height: 1.5;}
.accordion-wrap .card a.btn:focus {box-shadow: none;}
.accordion-wrap .card a.btn::before {content: 'Q.'; font-weight: 800; font-family: 'Montserrat', Sans-serif; position: absolute; top: 20px;  left: 26px;}
.accordion-wrap .card a.btn::after {content: ''; width: 20px; height: 20px; background: url('/images/icon/icon-arrow.png') no-repeat center center; position: absolute; top: 50%; right: 26px; transform: translateY(-50%);}
.accordion-wrap .card a.btn[aria-expanded="true"]::after {background: url('/images/icon/icon-arrow-on.png') no-repeat center center;}

.accordion-wrap .card a.btn[aria-expanded="true"] {background-color: #eef2fa; color: var(--bs-primary);}
.accordion-wrap .card a[aria-expanded="true"].btn::before {color: var(--bs-gray-dark);}

.accordion-wrap .card .qu {font-family: 'Montserrat', Sans-serif; color: var(--bs-gray-dark); font-weight: 800; margin-right: 10px;}

.accordion-wrap .collapsing .card-body {position:relative; padding: 20px 26px 20px 68px; background-color: var(--bs-gray-100);}
.accordion-wrap .collapsing .card-body::before {content: 'A.'; font-weight: 800; font-family: 'Montserrat', Sans-serif;position: absolute; top: 20px; left: 26px; color: var(--bs-primary);}
.accordion-wrap .collapsing .card-body span {background-color: transparent !important; }

.accordion-wrap .collapse .card-body{ position: relative; padding: 20px 26px 20px 68px;background-color: var(--bs-gray-100);}
.accordion-wrap .collapse .card-body span {background-color: transparent !important;}
.accordion-wrap .card .collapse .card-body::before {content: 'A.'; font-weight: 800;position: absolute; top: 20px; left: 26px; color: var(--bs-primary);}


@media screen and (max-width: 576px) {
    .accordion-wrap .card a.btn {padding: 20px 36px 20px 50px;}
    .accordion-wrap .card a.btn::before {left: 16px;}
    .accordion-wrap .card a.btn::after {right: 16px;}

    .accordion-wrap .collapsing .card-body{padding: 20px 20px 20px 50px;}
    .accordion-wrap .collapsing .card-body::before {left: 16px;}

    .accordion-wrap .collapse .card-body {padding: 20px 20px 20px 50px;}
    .accordion-wrap .card .collapse .card-body::before {left: 16px;}
}



/* ************************* */
/* ** 홍보동영상 (G.video) ** */
/* ************************* */
.board-list.video .subject a {font-size: 1.125rem;}




/* ************************* */
/* *** partner (G,babber) ** */
/* ************************* */
.g-banner .subject {margin-top: 0.875rem; font-size: 1.125rem; color: var(--bs-dark);}
.g-image {padding: 1.5rem; border: 1px solid var(--bs-gray-300); -webkit-border-radius: 0.5rem; border-radius: 0.5rem; display: flex; justify-content: center; align-items: center;}
.g-image img {width: auto; height: auto;}

@media screen and (min-width: 360px) {
    .g-image {padding: 1.5rem;}
}






/* ************************* */
/* ** 프로젝트 (G.project) ** */
/* ************************* */
/* list */
.project-search-bar {padding: 1.5rem 4%; background-color: #f9f9f9;}
.pj-form > * {-webkit-border-radius: 0; border-radius: 0;}
.pj-form .form-select {margin-bottom: 0.4rem; -webkit-appearance: none; appearance: none;   background: var(--bs-white) url('/images/common/icon/icon-select.jpg') calc(100% - 5px) center no-repeat;}
.pj-form .btn {width: 100%; height: 44px; padding: 0; margin-top: 0.4rem;}

.project-link {display: block; width: 100%; height: auto; padding-bottom: 70%; border: 1px solid var(--bs-gray-300); -webkit-border-radius: 0.5rem; border-radius: 0.5rem; overflow: hidden; position: relative;}
.project-link:hover .cover {display: flex;}

.project-img {width: 100%; height: 100%; position: absolute; top: 0; left: 0; z-index: 1;}
.noimg-wrap {display: block; width: 100%; height: auto; padding-bottom: 70%; border: 1px solid var(--bs-gray-300); -webkit-border-radius: 0.5rem; border-radius: 0.5rem; overflow: hidden; position: relative;}

.project-info {padding: 1.111rem 0; margin-bottom: 0.778rem;}
.project-desc {width: 100%;  display: -webkit-box; word-wrap: break-word; -webkit-line-clamp: 2; -webkit-box-orient: vertical; text-overflow: ellipsis; overflow: hidden;}

.cover {width: 100%; height: 100%; background-color: rgba(0,0,0,0.6); color: var(--bs-white); position: absolute; top: 0; left: 0; display: flex; justify-content: center; align-items: center; z-index: 10; display: none;}
.cover-btn {width: 54px; height: 54px; background-color: var(--bs-white); color: var(--bs-dark); -webkit-border-radius: 50rem; border-radius: 50rem; text-align: center; line-height: 54px;}
.cover-btn i::before {font-weight: 900 !important;}

@media screen and (min-width: 412px) {
    .pj-form {max-width: 620px; margin: 0 auto; display: flex; flex-wrap: wrap; gap: 0.4rem; justify-content: center; align-items: center;}
    .pj-form .form-select {flex: 1 1 40%; margin-bottom: 0;}
    .pj-form .btn {margin-top: 0rem;}
}

@media screen and (min-width: 576px) {
    .pj-form .form-select {max-width: 140px;}
    .pj-form .form-control {flex: 1 1 30%;}
    .pj-form .btn {max-width: 90px; margin-top: 0;}
}








/* ********************* */
/* ******* member ****** */
/* ********************* */
.join-top .btn,
.join-top .form-control,
.join-top .input-group-text {height: 50px;}

.join-top .form-control {width: calc(100% - 56px); margin-bottom: 0.5rem; border-top-right-radius: 0.5rem !important; border-bottom-right-radius: 0.5rem !important;}
.join-top .input-group-text {border-top-left-radius: 0.5rem !important; border-bottom-left-radius: 0.5rem !important;}

.join-top .btn {width: 100%; border-top-left-radius: 0.5rem !important; border-bottom-left-radius: 0.5rem !important;}

@media screen and (min-width: 768px) {
    .join-top .form-control {width: auto; border-radius: 0 !important;}
    .join-top .form-control + .input-group-text {border-radius: 0 !important;}
    .join-top .btn {width: auto; border-top-left-radius: 0rem !important; border-bottom-left-radius: 0rem !important;}
}








/* ************************* */
/* 게시판 CSS 20221025 윤주명 (언젠간 지울 것)*/ 
/* ************************* */
.board-form-groups {border-top: 1px solid #000000;}
.board-form-groups .col-form-label {background-color: #275d92; color: var(--bs-dark); font-weight: 500; display: flex; justify-content: flex-start; align-items: center; padding: 1rem;}
.board-form-groups .form-group {border-bottom: 1px solid #ced4da; margin-left: -20px; margin-right: -20px;}

@media screen and (max-width: 576px) {
    .board-form-groups {border-top: 1px solid #000000;}
    .board-form-groups .col-form-label {background-color: transparent; padding: 20px 0 8px 0}
    .board-form-groups .form-group {border-bottom: 0; }

    .input-group>.form-select{width: 100%;}
}