@font-face {
  font-family: 'Pretendard';
  font-weight: 900;
  font-display: swap;
  src: local('Pretendard Black'), url('/assets/fonts/pretendard/woff2/Pretendard-Black.woff2') format('woff2'), url('/assets/fonts/pretendard/woff/Pretendard-Black.woff') format('woff');
}

@font-face {
  font-family: 'Pretendard';
  font-weight: 800;
  font-display: swap;
  src: local('Pretendard ExtraBold'), url('/assets/fonts/pretendard/woff2/Pretendard-ExtraBold.woff2') format('woff2'), url('/assets/fonts/pretendard/woff/Pretendard-ExtraBold.woff') format('woff');
}

@font-face {
  font-family: 'Pretendard';
  font-weight: 700;
  font-display: swap;
  src: local('Pretendard Bold'), url('/assets/fonts/pretendard/woff2/Pretendard-Bold.woff2') format('woff2'), url('/assets/fonts/pretendard/woff/Pretendard-Bold.woff') format('woff');
}

@font-face {
  font-family: 'Pretendard';
  font-weight: 600;
  font-display: swap;
  src: local('Pretendard SemiBold'), url('/assets/fonts/pretendard/woff2/Pretendard-SemiBold.woff2') format('woff2'), url('/assets/fonts/pretendard/woff/Pretendard-SemiBold.woff') format('woff');
}

@font-face {
  font-family: 'Pretendard';
  font-weight: 500;
  font-display: swap;
  src: local('Pretendard Medium'), url('/assets/fonts/pretendard/woff2/Pretendard-Medium.woff2') format('woff2'), url('/assets/fonts/pretendard/woff/Pretendard-Medium.woff') format('woff');
}

@font-face {
  font-family: 'Pretendard';
  font-weight: 400;
  font-display: swap;
  src: local('Pretendard Regular'), url('/assets/fonts/pretendard/woff2/Pretendard-Regular.woff2') format('woff2'), url('/assets/fonts/pretendard/woff/Pretendard-Regular.woff') format('woff');
}

@font-face {
  font-family: 'Pretendard';
  font-weight: 300;
  font-display: swap;
  src: local('Pretendard Light'), url('/assets/fonts/pretendard/woff2/Pretendard-Light.woff2') format('woff2'), url('/assets/fonts/pretendard/woff/Pretendard-Light.woff') format('woff');
}

@font-face {
  font-family: 'Pretendard';
  font-weight: 200;
  font-display: swap;
  src: local('Pretendard ExtraLight'), url('/assets/fonts/pretendard/woff2/Pretendard-ExtraLight.woff2') format('woff2'), url('/assets/fonts/pretendard/woff/Pretendard-ExtraLight.woff') format('woff');
}

@font-face {
  font-family: 'Pretendard';
  font-weight: 100;
  font-display: swap;
  src: local('Pretendard Thin'), url('/assets/fonts/pretendard/woff2/Pretendard-Thin.woff2') format('woff2'), url('/assets/fonts/pretendard/woff/Pretendard-Thin.woff') format('woff');
}

@import url("https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap");

html.fzoom {
  font-size: 16px;
}

body {
  margin: 0;
  padding: 0;
}

* {
  --point-color: #1983DF;
  --hover-color: #F64356;
  --border-color: rgba(0, 0, 0, 0.07);
  --main-bg: #f0f6fe;
  --warning-bg: #f8ecec;
  --gray-bg: #efefef;
  --sub-text01: #777777;
  --sub-text02: #999;
  --color-placeholder: #aaaaaa;
  --color-white: #ffffff;
  --main-text: #333;
  --gnb-color: #013369;
  --color-blue: #1983DF;
  --color-red: #F64356;
  --color-green: #1FB99F;
  --color-purple: #b917d6;
  --color-black: #111;
  --color-yellow: #ffc400;
  --color-orange: #FF9C00;
  --dark-color: #04213c;
  --color-sky: #15afdd;
  --font-default: "Pretendard", sans-serif;

  font-family: var(--font-default);
  box-sizing: border-box;
}

*:before,
*:after {
  box-sizing: border-box;
}

/* 스크롤바 공통 */
::-webkit-scrollbar {
  width: 4px;
}

::-webkit-scrollbar-track {
  background: rgba(0, 0, 0, 0.01);
}

::-webkit-scrollbar-thumb {
  background: rgba(0, 0, 0, 0.1);
  border-radius: 5px;
}

::-webkit-scrollbar-thumb:hover {
  background: rgba(0, 0, 0, 0.2);
  border-radius: 5px;
}

iframe {
  display: block;
  margin: 0;
  padding: 0;
}

input,
textarea,
button {
  -moz-appearance: auto;
  -webkit-appearance: auto;
  appearance: auto;
}

a.btn,
button,
input[type="submit"] {
  transition: 0.3s;
}

ul,
dl,
dd,
p {
  margin: 0;
  padding: 0;
}

img {
  max-width: 100%;
}

h2 {
  font-size: 22px;
  letter-spacing: -1px;
}

h3 {
  font-size: 20px;
  letter-spacing: -1px;
}

h4 {
  font-size: 17px;
}

h5 {
  font-size: 15px;
}

h6 {
  font-size: 13px;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  margin: 0;
}

ul,
ol,
dl {
  list-style-type: none;
  margin: 0;
  padding: 0;
}

a {
  color: inherit;
  text-decoration: none;
}

.pointer {
  cursor: pointer;
}

.disabled,
a.disabled,
button.disabled {
  cursor: not-allowed;
  opacity: 0.5;
  color: currentColor;
}

input:focus,
textarea:focus {
  outline: none;
}

button {
  cursor: pointer;
}

[role="button"] {
  cursor: pointer;
}

button,
input,
optgroup,
select,
textarea {
  margin: 0;
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
}

hr {
  display: block;
  margin: 15px auto;
  background-color: var(--border-color);
  border: none;
  height: 1px;
}

small,
.small {
  font-size: smaller;
}

blockquote {
  background-color: var(--main-bg);
  border: 1px solid var(--border-color);
  margin-left: 0;
  margin-right: 0;
}

blockquote.sm {
  font-size: 12px;
  padding: 5px 15px;
  margin: 10px 0;
}

blockquote.md {
  font-size: 14px;
  padding: 10px 15px;
  margin: 10px 0;
}

.blind,
.d-none {
  display: none !important;
}

.block {
  display: block !important;
  width: 100%;
}

.block:after {
  content: "";
  display: table;
  clear: both;
}

.block + .block {
  margin: 5px 0;
}

.block + .block:last-child {
  margin-bottom: 0;
}

.inline-block {
  display: inline-block !important;
}

.m-auto {
  margin-left: auto;
  margin-right: auto;
}

.underline {
  text-decoration: underline !important;
}

.overflow-auto {
  overflow: auto !important;
}

.overflow-hidden {
  overflow: hidden !important;
}

.thumbnail-img {
  border-radius: 0.5rem;
  object-fit: cover;
}

.thumbnail-img.large {
  border-radius: 1rem;
}

/* list style */
ul.dot {
  list-style-type: square;
  list-style-position: inside;
}

/* Grid */
.grid2 {
  display: grid;
  grid-template-columns: repeat(2, 1fr)
}

.grid3 {
  display: grid;
  grid-template-columns: repeat(3, 1fr)
}

.grid4 {
  display: grid;
  grid-template-columns: repeat(4, 1fr)
}

.grid5 {
  display: grid;
  grid-template-columns: repeat(5, 1fr)
}

.grid6 {
  display: grid;
  grid-template-columns: repeat(6, 1fr)
}

.grid7 {
  display: grid;
  grid-template-columns: repeat(7, 1fr)
}

.grid8 {
  display: grid;
  grid-template-columns: repeat(8, 1fr)
}

/* FORM */
button:not(:disabled),
[type="button"]:not(:disabled),
[type="reset"]:not(:disabled),
[type="submit"]:not(:disabled) {
  cursor: pointer;
}

.btn {
  display: inline-block;
  font-weight: 600;
  text-align: center;
  white-space: nowrap;
  vertical-align: middle;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  border: 1px solid transparent;
  padding: 0.375rem 0.75rem;
  line-height: 1.5;
  cursor: pointer;
  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out,
    border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}

.btn-border {
  border-width: 1px;
  border-style: solid;
}

.btn:not(:disabled):not(.disabled) {
  cursor: pointer;
}

.btn-normal {
  background-color: var(--color-white);
  color: #333;
  border: 1px solid var(--border-color);
}

.btn-default {
  background-color: var(--color-white);
  color: #333;
}

.btn-point {
  background-color: var(--point-color);
  border: 1px solid #1f6db1;
  color: var(--color-white) !important;
}

.btn-default:hover {
  background-color: var(--hover-color);
  color: var(--color-white);
}

.btn-normal:hover,
.btn-point:hover {
  background-color: var(--hover-color);
  border: 1px solid var(--hover-color);
  color: var(--color-white) !important;
}

.btn-default-line {
  background-color: var(--color-white);
  border-color: rgba(0, 0, 0, 0.1);
}

.btn-default-line:hover {
  background-color: var(--hover-color);
  color: var(--color-white);
  border-color: rgba(0, 0, 0, 0.1);
}

.btn-point-line {
  background-color: var(--color-white);
  border-color: var(--point-color);
  color: var(--point-color) !important;
}

.btn-point-line:hover {
  background-color: var(--hover-color);
  color: var(--color-white) !important;
  border-color: rgba(0, 0, 0, 0.1);
}

.btn-reload,
.btn-power {
  padding: 4px 8px;
  font-size: 1rem;
}

.btn-date {
  display: flex;
  align-items: center;
  text-align: center;
  justify-content: center;
  width: 50px;
  height: 30px;
  text-indent: -9999px;
}

.btn-next span {
  display: block;
  background-image: url("/imgs/next_date.png");
  background-size: 30px 30px;
  background-repeat: no-repeat;
  background-position: center center;
  width: 20px;
  height: 20px;
}

.btn-next:hover span {
  background-image: url("/imgs/next_date_on.png");
}

.btn-last span {
  display: block;
  background-image: url("/imgs/last_date.png");
  background-size: 30px 30px;
  background-repeat: no-repeat;
  background-position: center center;
  width: 20px;
  height: 20px;
}

.btn-last:hover span {
  background-image: url("/imgs/last_date_on.png");
}

.btn-plus span {
  display: block;
  background-image: url("/imgs/pattern_plus.png");
  background-size: 30px 30px;
  background-repeat: no-repeat;
  background-position: center center;
  width: 20px;
  height: 20px;
}

.btn-plus:hover span {
  background-image: url("/imgs/pattern_plus_on.png");
}

.btn-minus span {
  display: block;
  background-image: url("/imgs/pattern_minus.png");
  background-size: 30px 30px;
  background-repeat: no-repeat;
  background-position: center center;
  width: 20px;
  height: 20px;
}

.btn-minus:hover span {
  background-image: url("/imgs/pattern_minus_on.png");
}

.btn-dark {
  color: var(--color-white) !important;
  background-color: #666;
  cursor: pointer;
}

.btn-dark:hover {
  background-color: var(--hover-color);
}

.btn-round {
  border-radius: 5px;
}

.btn-xs {
  font-size: 0.625rem;
  font-weight: 400;
  padding: 1px 5px;
}

.btn-sm {
  font-size: 0.75rem;
  font-weight: 400;
  padding: 1px 10px;
}

.btn-lg {
  font-size: 0.875rem;
  font-weight: 500;
  padding: 0.675rem 1.125rem;
}

.btn-group {
  position: relative;
  background-color: #fff;
  display: inline-flex;
  vertical-align: middle;
  overflow: hidden;
}

.btn-group > input + .btn {
  margin-left: 0 !important;
}

.btn-group > .btn {
  position: relative;
  flex: 1 1 auto;
}

.btn-group .btn {
  border-radius: 0;
}

.btn-group.half {
  display: grid;
  grid-template-columns: repeat(2, 50%);
}

.btn-group .btn-default-line:not(:first-child) {
  border-left: none;
}

.btn-check {
  position: absolute;
  clip: rect(0, 0, 0, 0);
  pointer-events: none;
}

.btn-group > .btn-check:checked + .btn {
  z-index: 1;
}

.btn-group.full {
  display: flex;
}

.btn-check:checked + .btn-default-line,
.btn-default-line.active {
  color: #fff;
  border: 1px solid rgba(0, 0, 0, 0.2);
  background-color: var(--point-color);
}

.btn.current {
  background-color: var(--point-color);
  color: var(--color-white) !important;
  border: 1px solid var(--point-color);
}

.btn.disabled,
.btn:disabled {
  opacity: 0.65;
  background-color: #888;
  border: 1px solid #888;
  pointer-events: none;
  color: rgba(255, 255, 255, 0.5)
}

.btn.btn-default-line.disabled {
  pointer-events: none;
  background-color: var(--color-white);
  border: 1px solid #eee;
  color: rgba(0, 0, 0, 0.5)
}

a.btn.disabled,
fieldset:disabled a.btn {
  pointer-events: none;
}

.btn:hover .highlight,
.btn:hover .text-blue,
.btn:hover .text-red {
  color: var(--color-white) !important;
}

/* 유저 관련*/
.logging,
.logoff {
  display: inline-block;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  line-height: 100%;
  margin: 0 5px;
  text-indent: -9999px;
}

.logging {
  background-color: var(--point-color);
}

.logoff {
  background-color: #ccc;
}

/* FLEX 모음 */
.flex {
  display: flex;
}

.v-start {
  align-items: flex-start;
}

.v-center {
  align-items: center;
}

.v-end {
  align-items: flex-end;
}

.space-between {
  justify-content: space-between;
}

.space-around {
  justify-content: space-around;
}

.flex-center {
  justify-content: center;
}

.flex-start {
  justify-content: flex-start;
}

.flex-end {
  justify-content: flex-end;
}

.flex-column {
  flex-direction: column;
}

.flex-row {
  flex-direction: row;
}

.gap-1 {
  gap: 0.25rem !important;
}

.gap-2 {
  gap: 0.5rem !important;
}

.gap-3 {
  gap: 1rem !important;
}

.gap-4 {
  gap: 1.5rem !important;
}

.gap-5 {
  gap: 2rem !important;
}

.row-gap-1 {
  gap: 0.25rem !important;
}

.row-gap-2 {
  gap: 0.5rem !important;
}

.row-gap-3 {
  gap: 1rem !important;
}

.row-gap-4 {
  gap: 1.5rem !important;
}

.row-gap-5 {
  gap: 2rem !important;
}

/* Panel */
.panel {
  background-color: var(--color-white);
  /*border: 1px solid var(--border-color);*/
  min-height: 1px;
  margin-bottom: 0.75rem;
}

.panel .panel-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 15px 20px;
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}

.panel .panel-header.pbladder-header {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 10px;
}

.panel .panel-header.pbladder-header .btn-group-wrap {
  display: flex;
  justify-content: space-between;
}

.panel .panel-header .more {
  font-size: 0.875rem;
}

.panel .panel-body {
  position: relative;
  padding: 15px 10px;
}

.panel.large .panel-body {
  padding: 20px;
}

.panel .panel-footer {
  padding: 10px 15px;
}

.title-flex {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.title-flex.bg {
  background-color: var(--gnb-color);
  color: var(--color-white);
}

.title-flex.bg a {
  color: var(--color-white);
}

.title-flex.light-bg {
  background-color: var(--main-bg);
  border-bottom: 1px solid var(--border-color);
}

.title-flex.border {
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}

.panel .title-flex {
  padding: 10px;
  border-bottom: 1px solid var(--border-color);
}

.panel.large .title-flex {
  padding: 10px 20px;
}

.panel.light {
  background-color: var(--main-bg);
}

.panel.light.border-line {
  border: 2px solid var(--point-color);
}

.panel.dark {
  background-color: var(--gnb-color);
  color: var(--color-white)
}

.panel.hidden {
  overflow: hidden;
}

/* OWL CAROUCEL */
.owl-carousel .owl-item img {
  width: inherit;
}

.owl-nav {
  position: absolute;
  top: 50%;
  width: 100%;
  transform: translateY(-50%);
  z-index: 2;
}

.owl-nav button {
  position: absolute;
  background-color: rgba(255, 255, 255, 0.7) !important;
  width: 45px;
  height: 45px;
  line-height: 45px;
  border-radius: 50%;
}

.owl-nav button.owl-prev {
  left: -30px;
}

.owl-nav button.owl-next {
  right: -30px;
}

.owl-nav button span {
  display: block;
  font-size: 55px;
  line-height: 45px;
}

.owl-dots {
  position: absolute;
  left: 50%;
  bottom: 0;
  transform: translateX(-50%);
  z-index: 10;
}

.owl-dots button {
  margin: 3px;
}

.owl-dots button span {
  background: #eee;
  display: block;
  width: 10px;
  height: 10px;
  border-radius: 3rem;
}

.owl-dots button.active span {
  background: #ddd;
  width: 25px;
}

/* Shadow */
.shadow {
  box-shadow: 0px 0px 2px 0px rgba(0, 0, 0, 0.2);
  -webkit-box-shadow: 0px 0px 2px 0px rgba(0, 0, 0, 0.2);
  -moz-box-shadow: 0px 0px 2px 0px rgba(0, 0, 0, 0.2);
}

.shadow-sm {
  box-shadow: 0px 0px 2px 0px rgba(0, 0, 0, 0.2);
  -webkit-box-shadow: 0px 0px 2px 0px rgba(0, 0, 0, 0.2);
  -moz-box-shadow: 0px 0px 2px 0px rgba(0, 0, 0, 0.2);
}

.text-shadow {
  text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.2);
}

/* Board & Table */
table,
th,
td {
  border-spacing: 0 0;
}

table {
  width: 100%;
  line-height: 1.2;
  border: none;
  background-color: var(--color-white);
  border-top: 1px solid var(--gnb-color);
  table-layout: fixed;
  border-collapse: collapse;
}

table th {
  background-color: var(--color-white);
  font-weight: 600;
  text-align: center;
}

table th,
table td {
  padding: 10px 5px;
  border-bottom: 1px solid var(--border-color);
  text-align: center;
}

table th.left,
table td.title,
table td.left {
  text-align: left;
}

table th.right,
table td.right {
  text-align: right;
}

table.onLink tr {
  cursor: pointer;
}

table.onLink tr:hover td {
  background-color: #f6f6f6;
}

table.thtd th,
table.thtd td {
  padding: 10px 15px;
}

table.thtd th {
  background-color: var(--gray-bg);
  border-right: 1px solid var(--border-color);
}

table.thtd td {
  display: flex;
  justify-content: space-between;
  align-items: center;
  text-align: left;
}

table.contour,
table.contour th,
table.contour td {
  border: 1px solid var(--border-color);
  border-collapse: collapse;
}

table.contour th {
  background-color: var(--main-bg);
}

table.contour th:last-child,
table.contour td:last-child {
  border-right: none;
}

table.line th:not(:first-child),
table.line td:not(:first-child) {
  border-left: 1px solid var(--border-color);
}

/* Board Accessory*/
.badge-bubble {
  position: relative;
  background: #f1491e;
  border-radius: 0.4em;
  color: var(--color-white);
  font-size: 10px;
  padding: 2px 5px;
  margin-right: 5px;
}

.badge-bubble:after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 0;
  height: 0;
  border: 5px solid transparent;
  border-top-color: #f1491e;
  border-bottom: 0;
  border-left: 0;
  margin-left: -4px;
  margin-bottom: -5px;
}

i.go-write {
  display: inline-block;
  background-image: url(/imgs/write_icon.png);
  background-size: 12px 12px;
  background-position: 0 0;
  width: 12px;
  height: 12px;
  margin-right: 5px;
}

.btn:hover > i.go-write {
  background-image: url(/imgs/write_icon_on.png);
}

/* Gallery Style list */
.gal-list-box {
  border: 1px solid var(--border-color);
}

.gal-list-box figure {
  margin: 20px;
}

.gal-list-box h4 {
  margin: 10px 0;
  font-size: 16px;
}

.gal-list-box p {
  margin: 10px 0;
}

/* Sweet Alert */
.swal-button {
  background-color: var(--point-color);
}

.swal-button:not([disabled]):hover {
  background-color: var(--hover-color);
}

.swal-button--cancel {
  background-color: var(--main-bg);
  border: 1px solid var(--border-color);
}

.swal-button--cancel:not([disabled]):hover {
  background-color: var(--main-bg);
}


/* Custom Selectbox */
.custom_selectbox * {
  box-sizing: border-box;
}

.custom_selectbox {
  position: relative;
  z-index: 1;
  width: 155px;
  border: none;
  font-weight: 400;
  cursor: pointer;
}

.custom_selectbox .show_arrow:after {
  content: '\f107';
  font-family: 'Font Awesome 6 Pro';
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 5px;
}

.custom_selectbox.select_active .show_arrow:after {
  content: '\f106';
  font-family: 'Font Awesome 6 Pro';
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 5px;
}

.custom_selectbox .selected_label {
  display: flex;
  align-items: center;
  width: inherit;
  border: 1px solid var(--border-color);
  outline: 0 none;
  background-color: #fff;
  padding: 5px 10px;
  cursor: pointer;
}

.custom_selectbox .optionList {
  position: absolute;
  top: 28px;
  left: 0;
  width: 100%;
  background: #ffffff;
  list-style-type: none;
  padding: 0;
  overflow: hidden;
  max-height: 0;
  transition: .3s ease-in;
}

.optionList:not(.custom_selectbox) {
  color: var(--main-text);
}

.custom_selectbox.select_active {
  z-index: 10;
}

.custom_selectbox.select_active .optionList {
  max-height: 500px;
}

.custom_selectbox .optionItem {
  border: 1px solid var(--border-color);
  padding: 5px 15px 5px;
  transition: .1s;
}

.custom_selectbox .optionItem:hover {
  background: #fff;
}

.custom_selectbox .optionItem {
  border-bottom: 0 none;
}

.custom_selectbox .optionItem:last-child {
  border: 1px solid var(--border-color);
}

.custom_selectbox.main-list .selected_label {
  background-color: rgba(0, 0, 0, 0.1);
  color: #fff;
}

.custom_selectbox.main-list .optionList {
  top: 31px;
}

.custom_selectbox.main-list .show_arrow:after {
  color: #fff;
}