:root {
  --default-color: #3c4651;
  --menu-disabled: #95999D;
  --hover-color: #f7f7f7;
  --content-bg: #fdfdfd;
  --nm-fz: 14px;
  --sm-fz: 12px;
  --max-w: 500px;
  --mobile-pd: 14px;

  /* --ct- */
  --ct-primary: #727cf5;
  --ct-secondary: #6c757d;
  --ct-success: #0acf97;
  --ct-info: #39afd1;
  --ct-warning: #ffbc00;
  --ct-danger: #fa5c7c;
  --ct-light: #eef2f7;
  --ct-primary-rgb: 114,124,245;
  --ct-secondary-rgb: 108,117,125;
  --ct-success-rgb: 10,207,151;
  --ct-info-rgb: 57,175,209;
  --ct-warning-rgb: 255,188,0;
  --ct-danger-rgb: 250,92,124;

  /* lighten color */
  --ct-primary-lighten: rgba(var(--ct-primary-rgb), 0.1);
  --ct-secondary-lighten: rgba(var(--ct-secondary-rgb), 0.1);
  --ct-success-lighten: rgba(var(--ct-success-rgb), 0.1);
  --ct-info-lighten: rgba(var(--ct-info-rgb), 0.1);
  --ct-danger-lighten: rgba(var(--ct-danger-rgb), 0.1);
  --ct-warning-lighten: rgba(var(--ct-warning-rgb), 0.1);

  --ct-border-color: #dee2e6;
  --ct-text-muted: #98a6ad;
  --ct-bdrad: 10px;
  --ct-padding: 24px;
  --form-disabled: #f6f7f7;
  
  --list-h: 45px;
  --ct-btn-h: 40px;
  --ct-form-h: 32px;
  --modal-max-h: 80%;

  --point: #537EEB;
  --point-rgb: 83,126,235;
  --point-light: #EEF3FD;
  --point-dark: #294daa;
  --default-color: #3c4651;

  --scrollbar-bg: rgba(var(--ct-secondary-rgb), 0.25);

  /* pagination */
  --ct-page-h: calc(calc(34px + var(--ct-mb-3)) + var(--ct-margin));

}

/* ### Default CSS & Reset CSS ### */
* {
  box-sizing: border-box;
  letter-spacing: -0.5px;
  font-family: 'Pretendard Variable';
}
body {
  height: 100vh;
  margin: 0;
  padding: 0;
  background: #fff;
  font-weight: 400;
  font-size: var(--nm-fz);
  color: var(--default-color);
}
body[data-leftbar-compact-mode=condensed]:not(.authentication-bg) {
  min-height: unset;
}
a, a:hover {
  font-weight: 400;
  font-size: 14px;
  color: var(--default-color);
  text-decoration: none;
}
ul, ol, p, h1, h2, h3, h4, h5, h6 {
  margin: 0;
  padding: 0;
}
ul, ol {
  list-style: none;
}
img, video {
  object-fit: cover;
}
input, select, textarea, button, label, span, strong, em, img, i {
  display: inline-block;
  outline: none;
}
input {
  border: none;
  color: var(--default-color);
}
button {
  cursor: pointer;
}
em {
  font-style: normal;
}
input:-webkit-autofill, input:-webkit-autofill:hover, input:-webkit-autofill:focus, textarea:-webkit-autofill, textarea:-webkit-autofill:hover, textarea:-webkit-autofill:focus, select:-webkit-autofill, select:-webkit-autofill:hover, select:-webkit-autofill:focus {
  /* input color */
  -webkit-text-fill-color: var(--default-color) !important;

  /* input bg */
  -webkit-box-shadow: 0 0 0px 1000px #fff inset;
}

/* scrollbar */
::-webkit-scrollbar {
  background: transparent;
  width: 7px;
  height: 7px;
}
::-webkit-scrollbar-thumb {
  border-radius: 30px;
  background: rgba(var(--ct-secondary-rgb), 0.25);
}

/* ### class component START ### */
/* --- display --- */
.d-block {
  display: block;
}
.d-inline-block {
  display: inline-block;
}
.d-flex {
  display: flex;
}
.justify-content-between {
  justify-content: space-between;
}
.justify-content-center {
  justify-content: center;
}
.align-items-start {
  align-items: flex-start;
}
.align-items-center {
  align-items: center;
}
.d-none {
  display: none;
}
.gap-1 {
  gap: 5px;
}
.gap-2 {
  gap: 10px;
}

/* --- text --- */
.custom-text-point {
  color: var(--point);
}

/* --- img --- */
.custom-emoji {
  width: 20px;
}

/* --- bg --- */
.bg-point {
  background: var(--point);
  color: #fff;
}
.bg-point-light {
  background: var(--point-light);
  color: var(--point);
}

/* --- ul & ol --- */
:is(ul, ol, li)[class *= "list-style-"] {
  list-style-position: inside;
}
:is(ul, ol, li).list-style-num {
  list-style-type: decimal;
}
:is(ul, ol, li).list-style-circle {
  list-style-type: circle;
}

/* --- btn --- */
[class *= 'custom-type-btn'],
[class *= 'custom-type-btn']:hover {
  display: block;
  width: 100%;
  height: 50px;
  line-height: 50px;
  border-radius: var(--ct-bdrad);
  border: 1px solid transparent;
  font-weight: 600;
  font-size: 16px;
  text-align: center;
  transition: 0.25s;
}
.custom-type-btn2,
.custom-type-btn2:hover {
  width: 144px;
}
.custom-type-btnPoint,
.custom-type-btnPoint:hover {
  margin: 22px 0 0;
  background: var(--point);
  border-color: var(--point);
  color: #fff;
}
.custom-type-btnPlain,
.custom-type-btnPlain:hover {
  background: #fff;
  border-color: var(--ct-border-color);
  color: var(--default-color);
}
[class *= "custom-type-btn"].btn-small,
[class *= "custom-type-btn"].btn-small:hover {
  height: 40px;
  line-height: 40px;
  padding: 0;
  border-radius: 7px;
  font-weight: 400;
  font-size: 14px;
}
[class *= "custom-type-btn"].bg-point:hover {
  background: var(--point-dark);
}
[class *= "custom-type-btn"].bg-point-light:hover {
  background: #e4eaf8;
}
.btn-kakaotalk {
  border-radius: 12px !important;
  background: #FEE500 !important;
  border-color: #FEE500 !important;
  color: rgba(0,0,0,0.85) !important;
}
.btn-kakaotalk .kakaotalk-symbol {
  width: 25px;
  margin-right: 2px;
}

/* --- nav --- */
.custom-nav {
  padding: 2px;
  background: var(--ct-secondary-lighten);
  border-radius: 7px;
}
.custom-nav .nav-item {
  width: 100%;
  flex: 1;
}
.custom-type-btnNav,
.custom-type-btnNav:hover {
  width: 100%;
  height: var(--ct-form-h);
  line-height: var(--ct-form-h);
  padding: 0;
  border-color: transparent;
  border-radius: 7px;
  background-color: transparent;
  font-weight: 600;
  font-size: 13px;
  color: var(--ct-text-muted);
}
.custom-type-btnNav.nav-link.active:hover,
.custom-type-btnNav.nav-link.active {
  background: #fff !important;
  box-shadow: 0 2px 6px 0 rgb(0, 0, 0 / 50%);
  color: var(--default-color);
}
.custom-type-btnNav.nav-link:hover,
.custom-type-btnNav.nav-link:focus,
.custom-type-btnNav.nav-link.active:hover {
  color: var(--default-color);
}
.custom-type-btnNav.nav-link:hover {
  background: transparent;
  border-color: transparent;
  opacity: 0.8;
}
/* ### class component END ### */

/* ### select2 ### */
/* --- select2 --- */
.select2 {
  height: 50px;
  line-height: 50px;
  border-radius: var(--ct-bdrad);
  border: 1px solid var(--ct-border-color);
}
.select2 :is(.selection, .select2-selection, .select2-selection--single .select2-selection__rendered),
.select2-container .select2-selection--single .select2-selection__arrow {
  height: 100%;
  line-height: inherit;
}
.select2 :is(.selection, .select2-selection, .select2-selection--single .select2-selection__rendered) {
  width: 100%;
  border: none;
  background: transparent;
}

/* --- dropdown --- */
body > .select2-container {
  max-width: 90%;
}
.select2-dropdown {
  margin: 10px 0 0;
  border-top: 1px solid var(--ct-dropdown-border-color) !important;
  border-bottom: 1px solid var(--ct-dropdown-border-color) !important;
  border-radius: 6px !important;
  overflow: hidden;
}

/* option */
.select2-container--default .select2-results>.select2-results__options {
  padding: 7px;
}
.select2-container--default .select2-results__option {
  padding: 8px 12px;
  border-radius: 5px;
}
.select2-container--default .select2-results__option:hover,
.select2-container--default .select2-results__option[aria-selected=true]:hover {
  background: var(--hover-color);
  color: var(--default-color);
}
.select2-container--default .select2-results__option--selected,
.select2-container--default .select2-results__option--selected:hover,
.select2-container--default .select2-results__option.select2-results__option--selected[aria-selected=true],
.select2-container--default .select2-results__option.select2-results__option--selected[aria-selected=true]:hover {
  background: var(--point-light);
  color: var(--point);
}

/* ### layout ### */
.onepage-layout {
  height: 100vh;

  background: var(--hover-color);
  overflow-y: auto;
}
.onepage-layout > [class *= '-section'] {
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
[class *= '-inner'] {
  width: 100%;
  max-width: var(--max-w);
  margin: 0 auto;

  background: #fff;
  padding: 40px;
  border-radius: 20px;
}
.onepage-title {
  display: block;
  margin: 0 0 20px;
  line-height: 1.25em;
  font-size: 26px;
}
.onepage-title-logo-wrap {
  display: block;
  width: 100%;
  margin: 0 0 50px;
  text-align: center;
}
.onepage-title-logo {
  display: inline-block;
}
.onepage-title-logo img {
  width: 155px;
  filter: invert(10%) sepia(1%) saturate(915%) hue-rotate(314deg) brightness(90%) contrast(73%);
}
.onepage-subtitle {
  display: block;
  margin: 7px 0 0;
  line-height: 1em;
  font-weight: 400;
  font-size: var(--nm-fz);
  color: var(--ct-text-muted);
}

/* ### header ### */
.onepage-header {
  position: fixed;
  width: 100%;
  height: 68px;
  left: 0;
  top: 0;
  background: #fff;
  z-index: 100;
}
.onepage-header-inner {
  height: 100%;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}
.onepage-header-goHome {
  display: inline-block;
}
.onepage-header-goHome img {
  width: 120px;
}

/* ### form input ### */
input[class *= '-input'],
select[class *= '-select'] {
  display: block;
  width: 100%;
  height: 50px;
  padding: 0 30px;
  border: 1px solid var(--ct-border-color);
  border-radius: var(--ct-bdrad);
  text-align: left;
}
select[class *= '-select'] {
  padding-left: 14px;
  padding-right: 28px;
  color: var(--default-color);
}
.form-control:disabled, .form-control[readonly], .form-select:disabled, .form-select[readonly], .form-check-input[disabled], .form-check-input[readonly] {
  background: var(--form-disabled);
  border-color: var(--ct-border-color);
}
.custom-form-control {
  position: relative;
}
.custom-form-control-title {
  position: absolute;
  top: 10px;
  left: 0.9rem;
}
.custom-form-control .form-control {
  height: 68px !important;
  padding-top: 25px !important;
}

/* --- ID & 비밀번호 --- */
[class *= 'custom-input-box-'] {
  position: relative;
}
[class *= 'custom-input-box-']:not(:first-child) {
  margin-top: 7px;
}
.custom-input-form::placeholder,
.custom-input-form ~ i {
  color: var(--ct-text-muted);
}
.custom-input-form ~ i {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 10px;
  font-size: 16px;
}

/* 비밀번호 */
.custom-input-form ~ i.ri-eye-line {
  left: unset;
  right: 10px;
  cursor: pointer;
}
.ri-eye-line.show:before {
  content: "\ecb7";
}

/* --- id, pw 오류 문구 안내 - Caps Lock, 비번 재확인 일치, 비번 안전도 --- */
.checkCapsLock, .custom-isPwMatch, .custom-pw-warning-box {
  font-weight: 600;
  font-size: 13px;
  margin-top: 3px;
}

/* --- 비밀번호 경고 문구 START --- */
.custom-pw-warning-box {
  margin-bottom: 10px;
}

/* 비밀번호 안전도 */
[class *= ".custom-pw-security-"] {
  display: inline-block;
  vertical-align: middle;
}
.custom-pw-security-title {
  margin-right: 10px;
  color: var(--ct-text-muted);
  position: relative;
}
.custom-pw-security-title:before {
  content: '';
  position: absolute;
  width: 1px;
  height: 12px;
  top: 50%;
  transform: translateY(-50%);
  right: -7px;
  background: var(--ct-border-color);
}
.custom-security-bar {
  display: inline-block;
  width: 15px;
  height: 3px;
  margin-left: 3px;
  vertical-align: middle;
}
.custom-pw-security-low .custom-security-bar {
  background: var(--ct-danger);
}
.custom-pw-security-middle .custom-security-bar {
  background: var(--ct-warning);
}
.custom-pw-security-high .custom-security-bar {
  background: var(--ct-success);
}
/* --- 비밀번호 경고 문구 END --- */

/* ### 아이디/비밀번호 찾기(& 회원가입) ### */
.custom-findNjoin {
  margin: 30px 0 0;
  text-align: center;
}
.custom-findNjoin :is(span, a) {
  color: var(--ct-secondary);
}
.custom-findNjoin a {
  position: relative;
}
.custom-findNjoin a:not(:last-child) {
  margin-right: 14px;
}
.custom-findNjoin a:not(:last-child):before {
  content: '';
  position: absolute;
  width: 1px;
  height: 13px;
  top: 50%;
  transform: translateY(-50%);
  right: -10px;
  background: var(--ct-border-color);
}
.custom-findNjoin a:hover,
.custom-findNjoin a:hover strong {
  text-decoration: underline;
}

/* ### 회원가입 ### */
/* --- 회원가입 Step --- */
.custom-regist-step {
  display: block;
  margin: 0 0 10px;
  line-height: 1em;
  font-weight: 600;
  font-size: 16px;
  color: var(--ct-text-muted);
}
.custom-regist-step i {
  font-weight: 400;
}

/* ### 완료 페이지 ### */
.custom-item-complete {
  text-align: center;
}
.custom-complete-icon img {
  width: 60px;
}
.custom-complete-icon ~ strong {
  display: block;
  margin: 20px 0 4px;
  font-size: 24px;
}
.custom-complete-icon ~ p {
  font-size: 16px;
}

/* ### 목록 존재 여부 ### */
/* --- empty --- */
[class *= 'custom-empty-'] {
  text-align: center;
  font-weight: 400;
  color: var(--ct-text-muted);
}
.custom-empty-table {
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  text-align: center;
}
.custom-empty-table .custom-warning {
  display: block;
}

/* --- existing --- */
.custom-list-existing {
  height: 100%;
}

/* ### Modal ### */
.modal-dialog {
  padding: 0 7px;
}
.modal-dialog-scrollable .modal-content {
  max-height: var(--modal-max-h);
}
:is(.modal-header, .modal-body, .modal-footer) {
  padding-left: calc(var(--ct-padding) / 2);
  padding-right: calc(var(--ct-padding) / 2);
}
.modal-header, .modal-footer {
  padding-top: 0;
  padding-bottom: 0;
}
.modal-header {
  height: 55px;
}
.modal-body {
  height: calc(100% - calc(55px + 65px));
  overflow-y: auto;
}
.modal-body:hover::-webkit-scrollbar-thumb {
  background: var(--scrollbar-bg);
}
.modal-footer {
  height: 65px;
}
.modal-content {
  width: 88%;
  border-radius: var(--ct-bdrad);
}
.modal-title {
  font-size: 18px;
  color: var(--default-color);
}
.modal-body .table th {
  font-size: 16px;
}
.modal-body :is(.form-control, .form-select) {
  width: 100%;
  height: var(--ct-btn-h);
  line-height: var(--ct-btn-h);
  padding-top: 0;
  padding-bottom: 0;
  border-radius: var(--ct-bdrad);
}
.modal-body textarea.form-control {
  padding-top: 7px;
  line-height: 1.35em;
}
:is(.modal, .modal-body) :is(.form-label, h4.form-label) {
  font-size: 14px;
}
.modal .btn {
  height: var(--ct-btn-h);
  line-height: var(--ct-btn-h);
  padding-top: 0;
  padding-bottom: 0;
  font-size: var(--nm-fz);
}

/* --- custom modal --- */
.custom-modal-bg {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  background: rgba(0,0,0,0.25);
}

/* ### onepage 콘텐츠 페이지(ex. 쿠키페이 가입 안내 페이지...) ### */
/* --- content step bar --- */
.custom-onepage-step-bar {
  height: 55px;
  line-height: 55px;
  margin: 0 0 25px;
  padding: 0 15px;
  background: var(--hover-color);
  border: 1px solid var(--ct-border-color);
  border-radius: var(--ct-bdrad);
  font-size: 20px;
}
.custom-onepage-step-bar ~ :is(.custom-onepage-content-title, .custom-onepage-content) {
  padding: 0 15px;
}

/* --- content title --- */
.custom-onepage-content-title strong {
  font-size: 26px;
}
.custom-onepage-content-title div {
  margin: 4px 0 0;
  font-size: 16px;
}

/* --- content --- */
.custom-onepage-content {
  margin: 18px 0 0;
}
.custom-onepage-content-td-left,
.custom-onepage-content-td-right {
  flex: 1;
}

/* content table title */
.custom-onepage-content-td-title {
  height: 50px;
  line-height: 50px;
}

/* content table */
.custom-onepage-content .table :is(thead, th).table-light {
  --ct-table-bg: var(--hover-color);
}
.custom-onepage-content .table :is(th, td) {
  border: 1px solid var(--ct-border-color) !important;
  font-size: 15px;
  color: var(--default-color);
}
.custom-onepage-content .table td:hover {
  background: transparent !important;
}
.custom-onepage-content .table tbody {
  border: none;
}
.custom-onepage-content-td-desc {
  padding: 0.95rem;
}
.custom-onepage-content-td-desc li:not(:last-child) {
  margin: 0 0 7px;
}
.custom-onepage-content-td-desc ul {
  padding: 7px 20px 0;
}

/* ### 카카오 본인인증 모달 ### */
#cert-modal {}
#cert-modal .modal-dialog-scrollable .modal-content {
  width: 100%;
}
#cert-modal .modal-body {
  padding-top: 7px;
  padding-bottom: 7px;
}
#cert-modal .modal-header {
  height: auto;
  padding-top: calc(var(--ct-padding) / 2);
}
#cert-modal .custom-form-control:nth-child(1) .form-control {
  border-radius: 10px 10px 0 0 !important;
}
#cert-modal .custom-form-control:nth-child(2) .form-control {
  border-radius: 0px !important;
}
#cert-modal .custom-form-control:nth-child(3) .form-control {
  border-radius: 0 0 10px 10px !important;
}


/* ### Alert - swal ### */
.swal2-container {
  z-index: 10000 !important;
}
.swal2-container.swal2-backdrop-show, .swal2-container.swal2-noanimation {
  background: rgba(var(--ct-secondary-rgb),0.25) !important;
}
.swal2-popup {
  padding: 1.25em !important;
  border-radius: 13px !important;
  box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.5);
}
.swal2-container.swal2-center>.swal2-popup {
  box-shadow: none !important;
}
.swal2-container.swal2-center *:not(i) {
  font-family: 'Pretendard Variable' !important;
}
.swal2-container.swal2-center strong {
  display: block;
  margin: 0 0 10px;
  font-size: 20px;
}

/* --- alert text --- */
div:where(.swal2-container) div:where(.swal2-popup) {
  width: 500px !important;
  max-width: 100% !important;
}
.swal2-html-container {
  margin: 5px 0 8px !important;
}
.swal2-html-container .custom-alert-text {
  line-height: 1.35em;
  word-break: keep-all;
  font-weight: 400;
  font-size: 18px;
  color: var(--ct-secondary);
}
.swal2-html-container .text-muted {
  font-size: 14px;
}

/* alert badge */
.swal2-container.swal2-center .badge {
  height: 20px;
  line-height: 20px;
  vertical-align: middle;
  transform: translateY(-2px);
  font-weight: 600;
  font-size: 14px;
}
.swal2-container.swal2-center .badge.bg-secondary-lighten {
  color: var(--ct-secondary);
}

/* alert icon */
.custom-alert-icon {
  margin: 0 0 34px;
}
.custom-alert-icon-bg {
  width: 70px;
  height: 70px;
  margin: 0 auto;
  border-radius: 100%;
  border: none !important;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 46px;
}
.custom-alert-icon-bg.bg-success-lighten {
  background: rgba(var(--ct-success-rgb), 0.1);
  color: var(--ct-success) !important;
}
.custom-alert-icon-bg.bg-danger-lighten {
  background: rgba(var(--ct-danger-rgb), 0.1);
  color: var(--ct-danger) !important;
}
.custom-alert-icon-bg.bg-point-light {
  background: var(--point-light);
  color: var(--point) !important;
  font-weight: 600 !important;
  font-size: 36px;
}
.custom-alert-icon-bg i {
  font-weight: 400;
}

/* --- alert btn --- */
.swal2-loader {
  display: none !important;
}
.swal2-actions {
  gap: 7px !important;
}
.swal2-popup .swal2-styled {
  width: 150px !important;
  height: 44px !important;
  line-height: 44px !important;
  margin: 0 !important;
  padding: 0 !important;
  border-radius: 100px !important;
  font-weight: 600 !important;
  font-size: 16px !important;
  transition: 0.25s;
}
.swal2-popup .swal2-styled:focus {
  box-shadow: none !important;
}

/* 확인 버튼 */
.swal2-popup .swal2-styled.swal2-confirm {
  background: var(--point) !important;
  color: #fff !important;
  order: 2 !important;
}
.swal2-popup .swal2-styled.swal2-confirm:hover {
  background: var(--point-dark) !important;
}
.swal2-popup .swal2-styled.swal2-confirm.bg-danger {
  background: var(--ct-danger) !important;
}
.swal2-popup .swal2-styled.swal2-confirm.bg-danger:hover {
  background: #df3d5e !important;
}
.swal2-popup .swal2-styled.swal2-confirm.bg-success {
  background: var(--ct-success) !important;
}
.swal2-popup .swal2-styled.swal2-confirm.bg-success:hover {
  background: #0faa7e !important;
}
.swal2-popup .swal2-styled.swal2-deny {
  background: var(--ct-danger) !important;
  color: #fff !important;
  order: 1 !important;
}

/* 취소 버튼 */
.swal2-popup .swal2-styled.swal2-cancel {
  background: var(--ct-light) !important;
  font-weight: 400 !important;
  color: var(--ct-text-muted) !important;
}
.swal2-popup .swal2-styled.swal2-cancel:hover {
  background: var(--ct-border-color) !important;
}

/* ### 에러페이지 ### */
/* --- COMMON --- */
.custom-error-page-wrap {
  padding: calc(calc(100vh - 284px) / 2) 0;
}
.custom-error-page-inner {
  padding: 0;
  text-align: center;
}
.custom-error-page-inner .text-error {
  color: var(--point);
  text-shadow: rgba(83,126,235,0.3) 5px 1px, rgba(83,126,235,0.2) 10px 3px;
}
.custom-error-top img {
  width: 250px;
}
.custom-error-middle {
  padding-top: 30px;
  padding-bottom: 10px;
}
.custom-error-middle strong {
  display: block;
  margin: 0 0 7px;
  text-transform: uppercase;
  font-size: 32px;
  color: var(--ct-danger);
}
.custom-error-middle p {
  font-size: 16px;
  color: var(--ct-text-muted);
}
.custom-error-bottom [class *= 'custom-type-btn'] {
  max-width: 100px;
  height: 45px;
  line-height: 45px;
  margin: 30px auto 0;
}

/* --- eror.html --- */
.custom-error-page-wrap.custom-error {
  padding: calc(calc(100vh - 444px) / 2) 0;
}
.custom-error .custom-error-middle {
  padding-top: 50px;
}

/* ################ RESPONSIVE ################# */
@media (max-width: 767.98px) {
  /* ### class component ### */
  /* --- input --- */
  input[class *= '-input'],
  select[class *= '-select'],
  .select2 {
    height: 45px;
    font-size: 14px;
  }
  .select2 {
    line-height: 45px;
  }

  /* --- btn --- */
  [class *= 'custom-type-btn'], [class *= 'custom-type-btn']:hover {
    height: 45px;
    line-height: 45px;
    font-size: 14px;
  }
  .custom-type-btnNav,
  .custom-type-btnNav:hover {
    height: var(--ct-form-h);
    line-height: var(--ct-form-h);
    font-size: 13px;
  }

  /* ### layout ### */
  .onepage-layout > [class *= '-section'] {
    padding: 0 var(--mobile-pd);
  }
  [class *= '-inner'] {
    padding: 25px 14px;
    border-radius: 10px;
  }
  .onepage-title {
    margin-bottom: 13px;
    font-size: 22px;
  }
  .onepage-title-logo-wrap {
    margin-bottom: 40px;
  }
  .onepage-title-logo img {
    width: 130px;
  }

  /* ### onepage 콘텐츠 페이지(ex. 쿠키페이 가입 안내 페이지...) ### */
  /* --- content step bar --- */
  .custom-onepage-step-bar {
    height: 45px;
    line-height: 45px;
    margin: 0 0 20px;
    padding: 0 12px;
    font-size: 16px;
  }
  .custom-onepage-step-bar ~ :is(.custom-onepage-content-title, .custom-onepage-content) {
    padding: 0 12px;
  }

  /* --- content title --- */
  .custom-onepage-content-title strong {
    font-size: 20px;
  }
  .custom-onepage-content-title div {
    font-size: 14px;
  }

  /* --- content --- */
  .custom-onepage-content {
    margin: 12px 0 0;
  }
  :is(.custom-onepage-content-td-left, .custom-onepage-content-td-right):not(:last-child) {
    border-bottom: 1px solid var(--ct-border-color);
  }
  .custom-onepage-content-td-left.border-end {
    border-right: none !important;
  }

  /* content table title */
  .custom-onepage-content-td-title {
    height: 40px;
    line-height: 40px;
  }

  /* content table */
  .custom-onepage-content .table :is(th, td) {
    font-size: 14px;
  }
  .custom-onepage-content .table tbody th {
    padding: 0.45rem;
  }

  /* ### 카카오 본인인증 모달 ### */
  #cert-modal.modal .modal-dialog {
    max-width: 100%;
  }

  /* ### Alert - swal ### */
  div:where(.swal2-container) {
    padding: 30px !important;
  }

  /* alert text */
  .swal2-html-container .custom-alert-text {
    font-size: 14px;
  }

  /* alert icon */
  .custom-alert-icon {
    margin-bottom: 17px;
  }
  .custom-alert-icon-bg {
    width: 50px;
    height: 50px;
    font-size: 30px;
  }
  .custom-alert-icon-bg.bg-point-light {
    font-size: 26px;
  }

  /* alert 버튼 */
  .swal2-actions {
    margin-top: 15px;
  }
  .swal2-popup .swal2-styled {
    width: 120px !important;
    height: 40px !important;
    line-height: 40px !important;
    font-size: 14px !important;
  }

  /* ### 완료 페이지 ### */
  .custom-complete-icon img {
    width: 55px;
  }
  .custom-complete-icon ~ strong {
    font-size: 20px;
  }
  .custom-complete-icon ~ p {
    font-size: 14px;
  }
}