/* ===================================
    Default CSS (Ver.2022.12.30)
=================================== */

:root {
  /* Layout */
  --layoutwidth: 1500px;
  --boldWeight: 400;
  /* Font */
  /* --mainfont: "SUIT"; */
  --mainfont: "Pretendard";
  --pointfont: "Impact", "Anton";
  /* --koSerif: "Noto Serif KR"; */
  --koSerif: "Pretendard";

  /* Color */
  --BodyColor: #fcfcfc; /* 만약,홈페이지 기본배경이 흰색이 아닌 다른 색상일때 수정 */
  --pointcolor: rgb(211, 76, 76);
  --subcolor: #fffff;
  --sub2color: rgb(35, 25, 176);
  --backcolor: #fcfcfd;

  --gray: rgb(195, 195, 195);
  --dark-gray: #838383;
  --light-gray: #acacac;

  /* 게시판 공통부분 Custom  (게시판 글자크기, 여백크기)*/
  --boardBodyColor: #f4f4f6; /* 만약, 기본배경이 흰색이 아닌 다른 색상일때 게시판색상 기본 body색상 수정*/
  --borderMargin: 7.5rem auto 10rem auto;
  --borderFontsize: 1rem;

  /* ============================================================
        만약 opacity 값을 줘야할 경우 사용법
        ex) color: rgba(var(--pointcolor-rgb), 0.5);
    ============================================================ */
  /* --pointcolor-rgb: 72, 96, 158; */
  --pointcolor-rgb: 35, 25, 176;
  --subcolor-rgb: 205, 218, 237;
  --sub2color-rgb: 237, 238, 243;
  --backcolor-rgb: 255, 255, 255;
  --gray-rgb: 195, 195, 195;

  --toolWidth:70%;
  --toolCustomWidth:85%;
  --toolMoWidth:100%;
  --buttonBorder:#d1d1d1;
  --clearBorder:#e97171;
  --cancelBorder:#e12828;
}

/* ========== Font family ========== */
.main-font {
  font-family: var(--mainfont), sans-serif;
}
.point-font {
  font-family: var(--pointfont), serif;
}

.font_serif {
  font-family: var(--koSerif), serif;
}

/* =============== Color ===============*/
.point-color {
  color: var(--pointcolor) !important;
  color: var(--pointcolor);
} /* 익스용 CSS > impotant 쓰면 적용안되는 부분으로 한줄더 작성 */
.sub-color {
  color: var(--subcolor) !important;
  color: var(--subcolor);
} /* 익스용 CSS > impotant 쓰면 적용안되는 부분으로 한줄더 작성 */
.sub2-color {
  color: var(--sub2color) !important;
  color: var(--sub2color);
} /* 익스용 CSS > impotant 쓰면 적용안되는 부분으로 한줄더 작성 */
.back-color {
  color: var(--backcolor) !important;
  color: var(--backcolor);
} /* 익스용 CSS > impotant 쓰면 적용안되는 부분으로 한줄더 작성 */

.point-bg {
  background-color: var(--pointcolor);
}
.sub-bg {
  background-color: var(--subcolor);
}
.sub2-bg {
  background-color: var(--sub2color);
}
.back-bg {
  background-color: var(--backcolor);
}

/* ==================================================================
    Reset 초기화
===================================================================== */

* {
  outline: none;
}
*,
:after,
:before {
  box-sizing: border-box;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
}

html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
  margin: 0;
  padding: 0;
  border: 0;
  font: inherit;
  vertical-align: baseline;
}

html,
body {
  font-family: var(--mainfont), sans-serif;
  font-weight: var(--boldWeight);
  line-height: 1.5;
  word-break: break-all;
  color: #27262b;
}
body {
  -webkit-font-smoothing: antialiased;
  -font-smoothing: antialiased;
  letter-spacing: -1.2px;
  background-color: var(--BodyColor);
}
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
  display: block;
}
div,
span,
p,
ul,
ol,
li,
dd,
dt,
dl,
h1,
h2,
h3,
h4,
h5,
h6 {
  word-break: keep-all;
} /* 줄바꿈 속성 (단어기준)*/
h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: 1em;
  margin: 0;
  padding: 0;
  font-family: inherit;
}
a {
  text-decoration: none;
  color: #333;
  -webkit-tap-highlight-color: transparent;
}
button {
  border: none;
  background-color: transparent;
  cursor: pointer;
}
ul,
li,
ol,
dl,
dt,
dd {
  list-style: none;
}
b,
strong {
  font-weight: 600;
}
small {
  font-size: 0.9em;
  vertical-align: text-bottom;
}
tbody,
tfoot,
thead,
tr,
th,
td {
  vertical-align: middle;
}
br {
  font-family: sans-serif;
}
img {
  image-rendering: -moz-auto; /* Firefox */
  image-rendering: -o-auto; /* Opera */
  image-rendering: -webkit-optimize-contrast; /* Webkit (non-standard naming) */
  image-rendering: auto;
  -ms-interpolation-mode: nearest-neighbor; /* IE (non-standard property) */
  max-width: 100%;
  display: block;
}

input,
button,
textarea,
select {
  margin: 0;
  padding: 0;
  font-family: var(--mainfont), sans-serif;
  font-size: 1em;
}
input[type="submit"] {
  width: auto;
}
input[type="button"],
input[type="text"],
input[type="email"],
input[type="search"],
input[type="password"],
textarea,
input[type="submit"] {
  appearance: none;
  -webkit-appearance: none;
  outline: none;
}

input:focus,
textarea:focus {
  border-color: #585858;
  outline: none;
}
input[type="button"]:focus {
  outline: none;
}
select::-ms-expand {
  display: none;
}

::-webkit-input-placeholder {
  color: #6f6f6f;
  text-overflow: ellipsis;
}
::-moz-placeholder {
  color: #6f6f6f;
  text-overflow: ellipsis;
  opacity: 1;
}
::-ms-input-placeholder {
  color: #6f6f6f;
  text-overflow: ellipsis;
  opacity: 1;
}

/* Scroll관련 */
::-webkit-scrollbar {
  width: 10px;
}
::-webkit-scrollbar-track {
  -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.1);
  box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.1);
  border-radius: 5px;
  background-color: rgba(220, 220, 220, 0.3);
}
::-webkit-scrollbar-thumb {
  background-clip: padding-box;
  border-radius: 5px;
  background: var(--pointcolor);
  border: 1px solid transparent;
}

@media (max-width: 500px) {
  div,
  span,
  p,
  ul,
  ol,
  li,
  dd,
  dt,
  dl,
  h1,
  h2,
  h3,
  h4,
  h5,
  h6 {
    word-break: keep-all;
  } /* 줄바꿈 속성 (글자기준)*/
}

/* ==============================================================
    ♥ Custom ♥
============================================================== */

/* ===== Basic ===== */
html,
body {
  font-size: 16px;
  letter-spacing: -1px;
}
@media (max-width: 1580px) {
  html,
  body {
    font-size: 14px;
  }
}
@media (max-width: 1240px) {
  html,
  body {
    font-size: 13px;
  }
}
@media (max-width: 1024px) {
  html,
  body {
    font-size: 11px;
  }
}
@media (max-width: 768px) {
  html,
  body {
    font-size: 10px;
  }
}

/* ========== Font size (16px 기준) ========== */
.font-12 {
  font-size: 0.75rem;
}
.font-14 {
  font-size: 0.875rem;
}
.font-15 {
  font-size: 0.9375rem;
}
.font-16 {
  font-size: 1rem;
}
.font-18 {
  font-size: 1.125rem;
}
.font-20 {
  font-size: 1.25rem;
}
.font-22 {
  font-size: 1.375rem;
}
.font-24 {
  font-size: 1.5rem;
}
.font-25 {
  font-size: 1.5625rem;
}
.font-26 {
  font-size: 1.625rem;
}
.font-28 {
  font-size: 1.75rem;
}
.font-30 {
  font-size: 1.875rem;
}
.font-32 {
  font-size: 2rem;
}
.font-34 {
  font-size: 2.125rem;
}
.font-35 {
  font-size: 2.1875rem;
}
.font-36 {
  font-size: 2.25rem;
}
.font-38 {
  font-size: 2.375rem;
}
.font-40 {
  font-size: 2.5rem;
}
.font-42 {
  font-size: 2.625rem;
}
.font-44 {
  font-size: 2.75rem;
}
.font-45 {
  font-size: 2.8125rem;
}
.font-46 {
  font-size: 2.875rem;
}
.font-48 {
  font-size: 3rem;
}
.font-50 {
  font-size: 3.125rem;
}
.font-55 {
  font-size: 3.4375rem;
}
.font-60 {
  font-size: 3.75rem;
}
.font-65 {
  font-size: 4.0625rem;
}
.font-70 {
  font-size: 4.375rem;
}
.font-75 {
  font-size: 4.6875rem;
}
.font-80 {
  font-size: 5rem;
}
.font-85 {
  font-size: 5.3125rem;
}
.font-90 {
  font-size: 5.625rem;
}
.font-95 {
  font-size: 5.9375rem;
}
.font-100 {
  font-size: 6.25rem;
}
.font-110 {
  font-size: 6.875rem;
}
.font-120 {
  font-size: 7.5rem;
}
.font-130 {
  font-size: 8.125rem;
}
.font-140 {
  font-size: 8.75rem;
}
.font-150 {
  font-size: 9.375rem;
}
.font-160 {
  font-size: 10rem;
}
.font-170 {
  font-size: 10.625rem;
}
.font-180 {
  font-size: 11.25rem;
}
.font-190 {
  font-size: 11.875rem;
}
.font-200 {
  font-size: 12.5rem;
}

@media (max-width: 768px) {
  .font-90 {
    font-size: 4.625rem;
  }
  .font-100 {
    font-size: 5.25rem;
  }
  .font-120 {
    font-size: 5.5rem;
  }
}

/* ========== Font weight ========= */
.bold100 {
  font-weight: 100;
}
.bold200 {
  font-weight: 200;
}
.bold300 {
  font-weight: 300;
}
.bold400 {
  font-weight: 400;
}
.bold500 {
  font-weight: 500;
}
.bold600 {
  font-weight: 600;
}
.bold700 {
  font-weight: 700;
}
.bold800 {
  font-weight: 800;
}
.bold900 {
  font-weight: 900;
}

/* ===== Basic color + background =====*/
.color-white {
  color: #ffffff;
}
.color-black {
  color: #000000;
}

.color-gray {
  color: var(--gray);
}
.color-dark-gray {
  color: var(--dark-gray);
}
.color-light-gray {
  color: var(--light-gray);
}

.bg-white {
  background-color: #ffffff;
}
.bg-black {
  background-color: #000000;
}

.bg-gray {
  background-color: var(--gray);
}
.bg-dark-gray {
  background-color: var(--dark-gray);
}
.bg-light-gray {
  background-color: var(--light-gray);
}

/* ========== Line-hight ========== */
.lh-10 {
  line-height: 1;
}
.lh-12 {
  line-height: 1.2;
}
.lh-14 {
  line-height: 1.4;
}
.lh-15 {
  line-height: 1.5;
}
.lh-16 {
  line-height: 1.6;
}
.lh-17 {
  line-height: 1.7;
}
.lh-20 {
  line-height: 2;
}

/* =============== Letter-spacing =============== */

.sp-1 {
  letter-spacing: -1px;
}
.sp-2 {
  letter-spacing: -2px;
}
.sp-20 {
  letter-spacing: 2px;
}
.ls-30 {
  letter-spacing: 0.3rem;
}
.ls-01 {
  letter-spacing: -1px;
}
.ls-02 {
  letter-spacing: -2px;
}
.ls-03 {
  letter-spacing: -0.3px;
}
.ls-04 {
  letter-spacing: -0.4px;
}
.ls-05 {
  letter-spacing: 0.5px;
}
.ls-08 {
  letter-spacing: 0.8px;
}
.ls-10 {
  letter-spacing: 1px;
}
.ls-20 {
  letter-spacing: 2px;
}
.ls-40 {
  letter-spacing: 4px;
}

/* =============== Display =============== */
.block {
  display: block;
}
.inline-block {
  display: inline-block;
}

.flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.flex-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  flex-wrap: wrap;
}
.flex-center {
  display: flex;
  align-items: center;
  justify-content: center;
}
.flex-between {
  display: flex;
  justify-content: space-between;
}

.justify-start {
  justify-content: flex-start !important;
}
.justify-center {
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}
.justify-between {
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}
.justify-around {
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-around;
}
.justify-end {
  justify-content: flex-end;
}

.items-start {
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
}
.items-center {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
.items-end {
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end;
}

.align-self-start {
  -ms-flex-item-align: start;
  align-self: flex-start;
}
.align-self-center {
  -ms-flex-item-align: center;
  align-self: center;
}
.align-self-end {
  -ms-flex-item-align: end;
  align-self: flex-end;
}

.shrink0 {
  flex-shrink: 0;
}
.flex-column {
  flex-direction: column;
}
/* ========== Section Common ==========*/
.section {
  padding: 200px 0;
}
.section_mini {
  padding: 150px 0;
}
.section-left {
  padding-left: calc((100% - var(--layoutwidth)) / 2);
  width: 100%;
}
.section-right {
  padding-right: calc((100% - var(--layoutwidth)) / 2);
  width: 100%;
}

.container {
  max-width: var(--layoutwidth);
  margin: auto;
}
.container_mini {
  max-width: 1240px;
  margin: auto;
}
.cont_box {
  margin-top: 7.5rem;
}

.mark {
  display: inline !important;
  box-shadow: inset 0 -0.65em 0 rgba(var(--markcolor), 0.3);
}
.shadow {
  box-shadow: 0 0 15px rgb(0 0 0 / 5%);
}
.shadow_lg {
  box-shadow: 1px 1px 26px rgb(0 0 0 / 10%);
}
.line-bar {
  width: 100%;
  height: 1px;
  border: none;
}
.clearfix {
  *zoom: 1;
}
.clearfix:before,
.clearfix:after {
  content: "";
  clear: both;
  display: block;
}
.basicZindex {
  z-index: 1;
}
.object_img {
  height: 100%;
  object-fit: cover;
}
@media (min-width: 1851px) {
  .container {
    width: 90%;
    margin: auto;
    padding: 0;
  }
}
@media (max-width: 1850px) {
  .container {
    width: 90%;
    margin: auto;
    padding: 0;
  }
}

@media (max-width: 1550px) {
  .container {
    width: 90%;
    margin: auto;
    padding: 0;
  }

  .section {
    padding: 130px 0;
  }
  .section_midini {
    padding: 100px 0;
  }
  .section-left {
    padding-left: 5%;
  }
  .section-right {
    padding-right: 5%;
  }
}

@media (max-width: 1240px) {
  .container_mini {
    width: 90%;
    margin: auto;
  }
}

@media (max-width: 990px) {
  .section {
    padding: 100px 0;
  }
  .section_midini {
    padding: 80px 0;
  }
}

@media (max-width: 768px) {
  .section {
    padding: 80px 0;
  }
  .section_midini {
    padding: 50px 0;
  }

  .cont_box {
    margin-top: 5.5rem;
  }
}

/* ========== Text-align ========== */
.text-left {
  text-align: left;
}
.text-right {
  text-align: right;
}
.text-center {
  text-align: center;
}

/* ========== Position & Visible ========== */
.hidden {
  overflow: hidden;
}
.relative {
  position: relative;
}
.absolute {
  position: absolute;
}
.pointerNon {
  pointer-events: none;
}

.visible-lg,
.visible-md,
.visible-sm,
.visible-xs,
.visible-xxs {
  display: none !important;
}

@media (max-width: 1550px) {
  .hidden-lg {
    display: none !important;
  }
  .visible-lg {
    display: block !important;
  }
}
@media (max-width: 1240px) {
  .hidden-md {
    display: none !important;
  }
  .visible-md {
    display: block !important;
  }
}
@media (max-width: 990px) {
  .hidden-sm {
    display: none !important;
  }
  .visible-sm {
    display: block !important;
  }
}
@media (max-width: 768px) {
  .hidden-xs {
    display: none !important;
  }
  .visible-xs {
    display: block !important;
  }
}
@media (max-width: 500px) {
  .hidden-xxs {
    display: none !important;
  }
  .visible-xxs {
    display: block !important;
  }
}

/* ===== Img & Width===== */
.img-responsive {
  max-width: 100%;
  display: block;
}

.width100 {
  width: 100% !important;
  width: 100%;
}
.width95 {
  width: 95%;
}
.width90 {
  width: 90%;
}
.width85 {
  width: 85%;
}
.width80 {
  width: 80%;
}
.width75 {
  width: 75%;
}
.width70 {
  width: 70%;
}
.width65 {
  width: 65%;
}
.width60 {
  width: 60%;
}
.width55 {
  width: 55%;
}
.width50 {
  width: 50%;
}
.width45 {
  width: 45%;
}
.width40 {
  width: 40%;
}
.width35 {
  width: 35%;
}
.width30 {
  width: 30%;
}
.width25 {
  width: 25%;
}
.width20 {
  width: 20%;
}
.width15 {
  width: 15%;
}
.width10 {
  width: 10%;
}
.width5 {
  width: 5%;
}

/* ===== Layout ===== */
.max1920 {
  max-width: 1920px;
}
.max1820 {
  max-width: 1820px;
}
.max1800 {
  max-width: 1800px;
}
.max1660 {
  max-width: 1660px;
}
.max1600 {
  max-width: 1600px;
}
.max1520 {
  max-width: 1520px;
}
.max1440 {
  max-width: 1440px;
}
.max1400 {
  max-width: 1400px;
}
.max1240 {
  max-width: 1240px;
}
.max1200 {
  max-width: 1200px;
}
.max1180 {
  max-width: 1180px;
}
.max1024 {
  max-width: 1024px;
}
.max990 {
  max-width: 990px;
}
.max890 {
  max-width: 890px;
}
.max768 {
  max-width: 768px;
}
.max600 {
  max-width: 600px;
}
.max500 {
  max-width: 500px;
}

/* ===== Margin ===== */
.no-margin {
  margin: 0 !important;
}
.m-zero-auto {
  margin: 0 auto;
}
.m-auto {
  margin: auto;
}

.ml-auto {
  margin-left: auto;
}
.mr-auto {
  margin-right: auto;
}
.mt-auto {
  margin-top: auto;
}
.mb-auto {
  margin-bottom: auto;
}
.mx-auto {
  margin-left: auto;
  margin-right: auto;
}
.my-auto {
  margin-top: auto;
  margin-bottom: auto;
}

.mt-0 {
  margin-top: 0 !important;
}
.mt-5 {
  margin-top: 0.3125rem;
}
.mt-10 {
  margin-top: 0.625rem;
}
.mt-15 {
  margin-top: 0.9375rem;
}
.mt-20 {
  margin-top: 1.25rem;
}
.mt-25 {
  margin-top: 1.5625rem;
}
.mt-30 {
  margin-top: 1.875rem;
}
.mt-35 {
  margin-top: 2.1875rem;
}
.mt-40 {
  margin-top: 2.5rem;
}
.mt-45 {
  margin-top: 2.8125rem;
}
.mt-50 {
  margin-top: 3.125rem;
}
.mt-60 {
  margin-top: 3.75rem;
}
.mt-70 {
  margin-top: 4.375rem;
}
.mt-80 {
  margin-top: 5rem;
}
.mt-90 {
  margin-top: 5.625rem;
}
.mt-100 {
  margin-top: 6.25rem;
}
.mt-120 {
  margin-top: 7.5rem;
}
.mt-140 {
  margin-top: 8.75rem;
}
.mt-150 {
  margin-top: 9.375rem;
}

.mb-0 {
  margin-bottom: 0 !important;
}
.mb-5 {
  margin-bottom: 0.3125rem;
}
.mb-10 {
  margin-bottom: 0.625rem;
}
.mb-15 {
  margin-bottom: 0.9375rem;
}
.mb-20 {
  margin-bottom: 1.25rem;
}
.mb-25 {
  margin-bottom: 1.5625rem;
}
.mb-30 {
  margin-bottom: 1.875rem;
}
.mb-35 {
  margin-bottom: 2.1875rem;
}
.mb-40 {
  margin-bottom: 2.5rem;
}
.mb-45 {
  margin-bottom: 2.8125rem;
}
.mb-50 {
  margin-bottom: 3.125rem;
}
.mb-60 {
  margin-bottom: 3.75rem;
}
.mb-70 {
  margin-bottom: 4.375rem;
}
.mb-80 {
  margin-bottom: 5rem;
}
.mb-90 {
  margin-bottom: 5.625rem;
}
.mb-100 {
  margin-bottom: 6.25rem;
}
.mb-120 {
  margin-bottom: 7.5rem;
}
.mb-140 {
  margin-bottom: 8.75rem;
}
.mb-150 {
  margin-bottom: 9.375rem;
}

.mr-0 {
  margin-right: 0 !important;
}
.mr-5 {
  margin-right: 0.3125rem;
}
.mr-10 {
  margin-right: 0.625rem;
}
.mr-15 {
  margin-right: 0.9375rem;
}
.mr-20 {
  margin-right: 1.25rem;
}
.mr-25 {
  margin-right: 1.5625rem;
}
.mr-30 {
  margin-right: 1.875rem;
}
.mr-35 {
  margin-right: 2.1875rem;
}
.mr-40 {
  margin-right: 2.5rem;
}
.mr-45 {
  margin-right: 2.8125rem;
}
.mr-50 {
  margin-right: 3.125rem;
}
.mr-60 {
  margin-right: 3.75rem;
}
.mr-70 {
  margin-right: 4.375rem;
}
.mr-80 {
  margin-right: 5rem;
}
.mr-90 {
  margin-right: 5.625rem;
}
.mr-100 {
  margin-right: 6.25rem;
}

.ml-0 {
  margin-left: 0 !important;
}
.ml-5 {
  margin-left: 0.3125rem;
}
.ml-10 {
  margin-left: 0.625rem;
}
.ml-15 {
  margin-left: 0.9375rem;
}
.ml-20 {
  margin-left: 1.25rem;
}
.ml-25 {
  margin-left: 1.5625rem;
}
.ml-30 {
  margin-left: 1.875rem;
}
.ml-35 {
  margin-left: 2.1875rem;
}
.ml-40 {
  margin-left: 2.5rem;
}
.ml-45 {
  margin-left: 2.8125rem;
}
.ml-50 {
  margin-left: 3.125rem;
}
.ml-60 {
  margin-left: 3.75rem;
}
.ml-70 {
  margin-left: 4.375rem;
}
.ml-80 {
  margin-left: 5rem;
}
.ml-90 {
  margin-left: 5.625rem;
}
.ml-100 {
  margin-left: 6.25rem;
}

/* ===== Padding ===== */
.no-padding {
  padding: 0 !important;
}

.pt-0 {
  padding-top: 0 !important;
}
.pb-0 {
  padding-bottom: 0 !important;
}
.pr-0 {
  padding-right: 0 !important;
}
.pl-0 {
  padding-left: 0 !important;
}

.pt-5 {
  padding-top: 0.3125rem;
}
.pt-6 {
  padding-top: 0.375rem;
}
.pt-7 {
  padding-top: 0.438rem;
}
.pt-10 {
  padding-top: 0.625rem;
}
.pt-15 {
  padding-top: 0.9375rem;
}
.pt-20 {
  padding-top: 1.25rem;
}
.pt-25 {
  padding-top: 1.5625rem;
}
.pt-30 {
  padding-top: 1.875rem;
}
.pt-35 {
  padding-top: 2.1875rem;
}
.pt-40 {
  padding-top: 2.5rem;
}
.pt-45 {
  padding-top: 2.8125rem;
}
.pt-50 {
  padding-top: 3.125rem;
}
.pt-60 {
  padding-top: 3.75rem;
}
.pt-70 {
  padding-top: 4.375rem;
}
.pt-80 {
  padding-top: 5rem;
}
.pt-90 {
  padding-top: 5.625rem;
}
.pt-100 {
  padding-top: 6.25rem;
}

.pb-5 {
  padding-bottom: 0.3125rem;
}
.pb-10 {
  padding-bottom: 0.625rem;
}
.pb-15 {
  padding-bottom: 0.9375rem;
}
.pb-20 {
  padding-bottom: 1.25rem;
}
.pb-25 {
  padding-bottom: 1.5625rem;
}
.pb-30 {
  padding-bottom: 1.875rem;
}
.pb-35 {
  padding-bottom: 2.1875rem;
}
.pb-40 {
  padding-bottom: 2.5rem;
}
.pb-45 {
  padding-bottom: 2.8125rem;
}
.pb-50 {
  padding-bottom: 3.125rem;
}
.pb-60 {
  padding-bottom: 3.75rem;
}
.pb-70 {
  padding-bottom: 4.375rem;
}
.pb-80 {
  padding-bottom: 5rem;
}
.pb-90 {
  padding-bottom: 5.625rem;
}
.pb-100 {
  padding-bottom: 6.25rem;
}

.pr-5 {
  padding-right: 0.3125rem;
}
.pr-10 {
  padding-right: 0.625rem;
}
.pr-15 {
  padding-right: 0.9375rem;
}
.pr-20 {
  padding-right: 1.25rem;
}
.pr-25 {
  padding-right: 1.5625rem;
}
.pr-30 {
  padding-right: 1.875rem;
}
.pr-35 {
  padding-right: 2.1875rem;
}
.pr-40 {
  padding-right: 2.5rem;
}
.pr-45 {
  padding-right: 2.8125rem;
}
.pr-50 {
  padding-right: 3.125rem;
}
.pr-60 {
  padding-right: 3.75rem;
}
.pr-70 {
  padding-right: 4.375rem;
}
.pr-80 {
  padding-right: 5rem;
}
.pr-90 {
  padding-right: 5.625rem;
}
.pr-100 {
  padding-right: 6.25rem;
}

.pl-5 {
  padding-left: 0.3125rem;
}
.pl-10 {
  padding-left: 0.625rem;
}
.pl-15 {
  padding-left: 0.9375rem;
}
.pl-20 {
  padding-left: 1.25rem;
}
.pl-25 {
  padding-left: 1.5625rem;
}
.pl-30 {
  padding-left: 1.875rem;
}
.pl-35 {
  padding-left: 2.1875rem;
}
.pl-40 {
  padding-left: 2.5rem;
}
.pl-45 {
  padding-left: 2.8125rem;
}
.pl-50 {
  padding-left: 3.125rem;
}
.pl-60 {
  padding-left: 3.75rem;
}
.pl-70 {
  padding-left: 4.375rem;
}
.pl-80 {
  padding-left: 5rem;
}
.pl-90 {
  padding-left: 5.625rem;
}
.pl-100 {
  padding-left: 6.25rem;
}

/* Padding (em)*/
.pt-1em {
  padding-top: 1em;
}
.pt-2em {
  padding-top: 2em;
}
.pt-3em {
  padding-top: 3em;
}
.pt-4em {
  padding-top: 4em;
}
.pb-1em {
  padding-bottom: 1em;
}
.pb-2em {
  padding-bottom: 2em;
}
.pb-3em {
  padding-bottom: 3em;
}
.pb-4em {
  padding-bottom: 4em;
}
.pr-1em {
  padding-right: 1em;
}
.pr-2em {
  padding-right: 2em;
}
.pr-3em {
  padding-right: 3em;
}
.pr-4em {
  padding-right: 4em;
}
.pl-1em {
  padding-left: 1em;
}
.pl-2em {
  padding-left: 2em;
}
.pl-3em {
  padding-left: 3em;
}
.pl-4em {
  padding-left: 4em;
}

.pd-1em {
  padding: 1em;
}
.pd-2em {
  padding: 2em;
}
.pd-3em {
  padding: 3em;
}
.pd-4em {
  padding: 4em;
}
.px-1em {
  padding-left: 1em;
  padding-right: 1em;
}
.px-2em {
  padding-left: 2em;
  padding-right: 2em;
}
.px-3em {
  padding-left: 3em;
  padding-right: 3em;
}
.px-4em {
  padding-left: 4em;
  padding-right: 4em;
}

.py-1em {
  padding-top: 1em;
  padding-bottom: 1em;
}
.py-2em {
  padding-top: 2em;
  padding-bottom: 2em;
}
.py-3em {
  padding-top: 3em;
  padding-bottom: 3em;
}
.py-4em {
  padding-top: 4em;
  padding-bottom: 4em;
}

.px-em-point {
  padding-left: 0.5em;
  padding-right: 0.5em;
}
.py-em-point {
  padding-top: 0.5em;
  padding-bottom: 0.5em;
}

/* ==================================================================
    기본 box style Layout
===================================================================== */
.flexList {
  --x-gap: 1.5rem;
  --y-gap: 1.5rem;
  display: flex;
  flex-wrap: wrap;
  gap: var(--y-gap) var(--x-gap);
}
.flexList > .box {
  width: calc(
    100% / var(--count) - (var(--x-gap) * (var(--count) - 1)) / var(--count)
  );
}
.flexList[layoutStyle="fullbox"] {
  --x-gap: 0;
  --y-gap: 10px;
}
.flexList[layoutStyle="fullbox"] > .box {
  width: calc(100% / var(--count));
}
/* boxCout */
[boxCount="1"] {
  --count: 1;
}
[boxCount="2"] {
  --count: 2;
}
[boxCount="3"] {
  --count: 3;
}
[boxCount="4"] {
  --count: 4;
}
[boxCount="5"] {
  --count: 5;
}
[boxCount="6"] {
  --count: 6;
}
[boxCount="8"] {
  --count: 8;
}

@media (min-width: 1550px) {
  .lg-direction {
    flex-direction: column;
  }
  .lg-w100 {
    width: 100%;
  }
  .lg-w90 {
    width: 90%;
  }
  .lg-w80 {
    width: 80%;
  }
  .lg-order {
    order: 1;
  }
  .lg-cont_box {
    margin-top: 4.68rem;
  }

  .lg-wrap3 {
    --count: 3;
  }
  .lg-wrap2 {
    --count: 2;
  }
  .lg-wrap1 {
    --count: 1;
  }
}

@media (max-width: 1550px) {
  .lg-direction {
    flex-direction: column;
  }
  .lg-w100 {
    width: 100%;
  }
  .lg-w90 {
    width: 90%;
  }
  .lg-w80 {
    width: 80%;
  }
  .lg-order {
    order: 1;
  }
  .lg-cont_box {
    margin-top: 4.68rem;
  }
  .lg-wrap4 {
    --count: 4;
  }
  .lg-wrap3 {
    --count: 3;
  }
  .lg-wrap2 {
    --count: 2;
  }
  .lg-wrap1 {
    --count: 1;
  }
}
@media (max-width: 1240px) {
  .md-direction {
    flex-direction: column;
  }
  .md-w100 {
    width: 100%;
  }
  .md-w90 {
    width: 90%;
  }
  .md-w80 {
    width: 80%;
  }
  .md-order {
    order: 1;
  }
  .md-cont_box {
    margin-top: 4.68rem;
  }
  .md-wrap4 {
    --count: 4;
  }
  .md-wrap3 {
    --count: 3;
  }
  .md-wrap2 {
    --count: 2;
  }
  .md-wrap1 {
    --count: 1;
  }
}
@media (max-width: 990px) {
  .sm-direction {
    flex-direction: column;
  }
  .sm-w100 {
    width: 100%;
  }
  .sm-w90 {
    width: 90%;
  }
  .sm-w80 {
    width: 80%;
  }
  .sm-order {
    order: 1;
  }
  .sm-cont_box {
    margin-top: 4.68rem;
  }

  .sm-wrap3 {
    --count: 3;
  }
  .sm-wrap2 {
    --count: 2;
  }
  .sm-wrap1 {
    --count: 1;
  }
}
@media (max-width: 768px) {
  .xs-direction {
    flex-direction: column;
  }
  .xs-w100 {
    width: 100%;
  }
  .xs-w90 {
    width: 90%;
  }
  .xs-w80 {
    width: 80%;
  }
  .xs-order {
    order: 1;
  }
  .lg-cont_box,
  .md-cont_box,
  .sm-cont_box,
  .xs-cont_box {
    margin-top: 3.5rem;
  }

  .xs-wrap6 {
    --count: 6;
  }
  .xs-wrap4 {
    --count: 4;
  }
  .xs-wrap3 {
    --count: 3;
  }
  .xs-wrap2 {
    --count: 2;
  }
  .xs-wrap1 {
    --count: 1;
  }
}

@media (max-width: 640px) {
 .xss-wrap4 {
    --count: 4;
  }
  .xss-wrap3 {
    --count: 3;
  }
  .xss-wrap2 {
    --count: 2;
  }
  .xss-wrap1 {
    --count: 1;
  }
}

@media (max-width: 500px) {
  .xxs-direction {
    flex-direction: column;
  }
  .xxs-w100 {
    width: 100%;
  }
  .xxs-w90 {
    width: 90%;
  }
  .xxs-w80 {
    width: 80%;
  }
  .xxs-order {
    order: 1;
  }
  .xxs-cont_box {
    margin-top: 3.5rem;
  }
  .xxs-wrap4 {
    --count: 4;
  }
  .xxs-wrap2 {
    --count: 2;
  }
  .xxs-wrap1 {
    --count: 1;
  }
}

/* ==================================================================
    그누보드 팝업 (기본제공)
===================================================================== */
@media (max-width: 1580px) {
  #hd_pop {
    width: 90% !important;
    z-index: 10000;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    align-items: flex-start;
  }
  .hd_pops {
    position: relative;
    width: 49% !important;
    left: auto !important;
    top: 10px !important;
    margin-bottom: 2%;
  }
  .hd_pops_con {
    width: 100% !important;
    height: auto !important;
  }
  .hd_pops img {
    width: 100% !important;
  }
}
@media (max-width: 1024px) {
  .hd_pops {
    width: 49% !important;
  }
}

@media (max-width: 768px) {
  .hd_pops {
    width: 100% !important;
    position: absolute;
  }
}

/* ==================================================================
    게시판 관련 CSS (수정예정)
===================================================================== */
#bo_list,
#bo_w,
#bo_v,
#bo_gall,
#board_FAQ,
#Membership {
  max-width: var(--layoutwidth) !important;
  width: 90% !important;
  margin: var(--borderMargin) !important;
  font-size: var(--borderFontsize);
}
.more_opt {
  font-size: 0.92rem;
} /* ... 옵션 관련 글자크기 */
.btn_submit {
  background: var(--pointcolor);
}
.btn_submit:hover {
  background: var(--pointcolor);
}

/* 게시판 background 색 설정시 */
body.board {
  background: var(--boardBodyColor);
}
.sub.board {
  background: var(--boardBodyColor);
}

/* list부분 */
.tbl_wrap table,
#bo_list tbody .even td {
  background: var(--boardBodyColor) !important;
}
.tbl_head01 tbody tr:hover td,
#bo_list tbody .even:hover td {
  background: rgba(var(--pointcolor-rgb), 0.05) !important;
}
/* view */
#bo_v,
.cmt_btn {
  background: var(--boardBodyColor) !important;
}
/* btn */
#bo_v_top ul,
.btn_bo_user li,
.more_opt li button,
.more_opt li a,
#bo_v_share .btn {
  background: var(--boardBodyColor) !important;
}

/* ==================================================================
    Animation 및 효과 설정부분
===================================================================== */

/* ========== Aos (fade) ========== */
[data-aos="fade-up2"] {
  transform: translate3d(0, 30px, 0);
}
[data-aos="fade-down2"] {
  transform: translate3d(0, -30px, 0);
}
[data-aos="fade-right2"] {
  transform: translate3d(-30px, 0, 0);
}
[data-aos="fade-left2"] {
  transform: translate3d(30px, 0, 0);
}
[data-aos="fade-up-right2"] {
  transform: translate3d(-30px, 30px, 0);
}
[data-aos="fade-up-left2"] {
  transform: translate3d(30px, 30px, 0);
}
[data-aos="fade-down-right2"] {
  transform: translate3d(-30px, -30px, 0);
}
[data-aos="fade-down-left2"] {
  transform: translate3d(30px, -30px, 0);
}
[data-aos="fade-in"] {
  transform: translate3d(0, 0, 0);
}
/* ========== Aos (zoom) ========== */
[data-aos*="bg-zoom-out"] {
  transform: scale(1.1);
}
[data-aos*="bg-zoom-out"].aos-animate {
  transform: scale(1);
}
[data-aos*="bg-zoom-in"] {
  transform: scale(1);
}
[data-aos*="bg-zoom-in"].aos-animate {
  transform: scale(1.1);
}

/* ========== Aos (reveal) ========== */
[data-aos="reveal-line"] {
  clip-path: polygon(0 0, 0 0, 0 100%, 0 100%);
}
[data-aos="reveal-line"].aos-animate {
  clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
}
[data-aos="reveal-line-revers"] {
  clip-path: polygon(100% 0, 100% 0, 100% 100%, 100% 100%);
}
[data-aos="reveal-line-revers"].aos-animate {
  clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
}

[data-aos="reveal-line-half"] {
  clip-path: polygon(0 0, 50% 0, 50% 100%, 0 100%);
}
[data-aos="reveal-line-half"].aos-animate {
  clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
}
[data-aos="reveal-line-half-revers"] {
  clip-path: polygon(50% 0, 100% 0, 100% 100%, 50% 100%);
}
[data-aos="reveal-line-half-revers"].aos-animate {
  clip-path: polygon(0 0, 100% 0, 100% 100%, 0% 100%);
}

[data-aos="reveal-top"] {
  clip-path: polygon(0 100%, 100% 100%, 100% 100%, 0% 100%);
}
[data-aos="reveal-top"].aos-animate {
  clip-path: polygon(0 100%, 100% 100%, 100% 0, 0 0);
}
[data-aos="reveal-bottom"] {
  clip-path: polygon(0 0, 100% 0, 100% 0, 0 0);
}
[data-aos="reveal-bottom"].aos-animate {
  clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
}
[data-aos="reveal-circle"] {
  clip-path: circle(0% at 50% 50%);
}
[data-aos="reveal-circle"].aos-animate {
  clip-path: circle(100% at 50% 50%);
}
[data-aos="reveal-open"] {
  clip-path: polygon(50% 0, 50% 0, 50% 100%, 50% 100%);
}
[data-aos="reveal-open"].aos-animate {
  clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
}

/* ========== Aos (animation 효과로 설정) ========== */
[data-aos="title"] {
  opacity: 0;
}
[data-aos="title"].aos-animate {
  animation: title 1s cubic-bezier(0.215, 0.61, 0.355, 1) both;
}
[data-aos="tit_mini"] {
  opacity: 0;
}
[data-aos="tit_mini"].aos-animate {
  animation: tit_mini 1.2s cubic-bezier(0.215, 0.61, 0.355, 1) both;
}
[data-aos="focus"] {
  opacity: 0;
}
[data-aos="focus"].aos-animate {
  animation: focus 1.2s cubic-bezier(0.25, 0.46, 0.45, 0.94) both;
}

/* ========== Animation ========== */
@keyframes title {
  0% {
    letter-spacing: -0.5em;
    opacity: 0;
  }
  40% {
    opacity: 0.6;
  }
  100% {
    opacity: 1;
  }
}
@keyframes tit_mini {
  0% {
    letter-spacing: 0.5em;
    opacity: 0;
  }
  40% {
    opacity: 0.6;
  }
  100% {
    letter-spacing: 0;
    opacity: 1;
  }
}
@keyframes focus {
  0% {
    -webkit-filter: blur(12px);
    filter: blur(12px);
    opacity: 0;
  }
  100% {
    -webkit-filter: blur(0px);
    filter: blur(0px);
    opacity: 1;
  }
}
@keyframes cycleM {
  0% {
    transform: translateY(0) scale(1);
  }
  100% {
    transform: translateY(1.5rem) scale(0.95);
  }
}
@keyframes rotate {
  from {
    transform: rotate(0);
  }
  to {
    transform: rotate(360deg);
  }
}
@keyframes scroll {
  0% {
    transform: translate(-50%, 0);
    opacity: 0;
  }
  40% {
    opacity: 1;
  }
  80% {
    transform: translate(-50%, 1.4rem);
    opacity: 0;
  }
  100% {
    opacity: 0;
  }
}
@keyframes bigger {
  0% {
    transform: scale(0);
    opacity: 1;
  }
  100% {
    transform: scale(5);
    opacity: 0;
  }
}
@keyframes bounce {
  to {
    transform: translateX(2rem);
    opacity: 0;
  }
}

/* 자체추가 지도 디폴트 */
/* .map{width: 100% !important; height: 100% !important; margin: 0 auto !important; padding: 0 !important;	border: 0 !important;} */

/*이부분은 맵 잡다한 부분 삭제처리*/
.root_daum_roughmap .wrap_btn_zoom {
  z-index: 1;
}
.root_daum_roughmap .wrap_controllers {
  display: none;
}
/*  .root_daum_roughmap .wrap_map{height: 100% !important;} */

/* 현정 필요한것 추가_베어글스 커피 */
h2,
h3 {
  line-height: normal;
}
p {
  line-height: 1.7;
}

.uppercase {
  text-transform: uppercase;
}
.point-font {
  font-family: var(--pointfont), serif;
  letter-spacing: 0.15rem;
  font-weight: 500;
}

/* 해더 모바일 폰트 크기 */
@media (max-width: 990px) {
  #mo_header .font-18 {
    font-size: 2.1875rem;
  }
  #mo_header .font-20 {
    font-size: 3.125rem;
  }
}

@media (max-width: 768px) {
  /* 폰트 모바일일때 크기 변함 */
  .font-15 {
    font-size: 1.25rem;
  } /* font-20 */
  .font-16 {
    font-size: 1.375rem;
  } /* font-22 */
  .font-18 {
    font-size: 1.5rem;
  } /* font-24 */
  .font-20 {
    font-size: 1.75rem;
  } /* font-28 */
  .font-25 {
    font-size: 1.875rem;
  } /* font-30 */
  .font-30 {
    font-size: 2.5rem;
  } /* font-40 */
  .font-40 {
    font-size: 3.125rem;
  } /* font-50 */
  .font-50 {
    font-size: 3.4375rem;
  } /* font-55 */
  .font-60 {
    font-size: 4.0625rem;
  } /* font-65 */
}
