@charset "UTF-8";
img {
  -webkit-user-drag: none;
  user-select: none;
}

a {
  text-decoration: none;
  color: unset;
}
a:visited {
  color: unset;
}
a:hover {
  text-decoration: underline;
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.disFlex {
  display: flex;
  align-items: center;
}

.lineBreak {
  width: 100%;
  border-bottom: 0.4rem solid #F0F0F0;
  background-color: #F7F7F9;
}

select {
  padding: 0.4rem;
  border: none;
  border-radius: 0;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  color: #717171;
  font-weight: 400;
  background: url(../images/btnArrowBottom16.svg) no-repeat 95% 50%;
}
select:focus-visible {
  outline: none;
  border: 1px solid #F0F0F0;
}
select:focus-visible option:focus-visible {
  outline: none;
  border: 1px solid #F0F0F0;
}
select:active, select:focus {
  outline: none;
  border: 1px solid #2D2D2D;
}
select option:active, select option:focus {
  outline: none;
  border: 1px solid #2D2D2D;
}

.selectBoxWrap .SelectBox {
  display: flex;
  align-items: center;
  padding-left: 1.6rem;
  width: 20rem;
  height: 4rem;
  color: #1d1d1d;
  font-size: 1.5rem;
  cursor: pointer;
}
.selectBoxWrap .SelectBox .btnArrowDown {
  margin-left: auto;
  margin-right: 0.8rem;
  display: inline-block;
  transition: transform 0.3s ease;
}
.selectBoxWrap .SelectBox .btnArrowDown.rotate img {
  transform: rotate(180deg);
}
.selectBoxWrap .SelectList {
  padding: 0.8rem;
  border: 1px solid #E4E4E4;
  background-color: #fff;
  display: none;
}
.selectBoxWrap .SelectList li {
  display: flex;
  align-items: center;
  padding-left: 1.6rem;
  width: calc(100% - 1.6rem);
  height: 4rem;
  font-size: 1.5rem;
  cursor: pointer;
}
.selectBoxWrap .SelectList li.hover {
  border-radius: 6px;
  background-color: #EDF1F5;
  color: #003675;
}

.scrollbar {
  overflow-y: auto;
}

.scrollbar::-webkit-scrollbar-track {
  background-color: #eee;
}

.scrollbar::-webkit-scrollbar {
  width: 0.8rem;
  background-color: #F5F5F5;
}

.scrollbar::-webkit-scrollbar-thumb {
  background-color: #ddd;
}

.scrollbarHori::-webkit-scrollbar-track {
  background-color: #eee;
}

.scrollbarHori::-webkit-scrollbar {
  height: 0.8rem;
  background-color: #F5F5F5;
}

.scrollbarHori::-webkit-scrollbar-thumb {
  background-color: #ddd;
}

.hashtag {
  cursor: pointer;
  margin-right: 0.8rem;
  margin-bottom: 0.8rem;
  float: left;
  border-radius: 100px;
}
.hashtag.medium {
  padding: 0.8rem 1.2rem;
  font-size: 1.4rem;
}
.hashtag.between {
  padding: 0.5rem 0.9rem;
  font-size: 1.3rem;
}
.hashtag.small {
  padding: 0.3rem 0.6rem;
  font-size: 1.2rem;
}
.hashtag.default, .hashtag.white {
  background-color: #fff;
  border: 1px solid #E4E4E4;
}
.hashtag.white {
  cursor: unset;
}
.hashtag.default:hover {
  box-shadow: 0 0 0 2px #3447D2 inset;
  transition-duration: 0.1s;
  border: 1px solid #3447D2;
}
.hashtag.blue {
  background-color: rgba(36, 107, 235, 0.8);
  border: 1px solid rgba(36, 107, 235, 0.8);
  color: #fff;
}
.hashtag.click {
  background-color: #3447D2;
  color: #fff;
  border: 1px solid #3447D2;
}
.hashtag.disabled {
  background-color: #F8F8F8;
  border: 1px solid #E4E4E4;
  color: #717171;
  cursor: default;
}

.moreViewBtn {
  display: flex;
  align-items: center;
  height: 2.4rem;
  font-size: 1.3rem;
  color: #3447D2;
  cursor: pointer;
}

.moreView_ReverBtn {
  display: flex;
  align-items: center;
  height: 2.4rem;
  font-size: 1.3rem;
  color: #1d1d1d;
  cursor: pointer;
}

.TitLg700 {
  font-size: 1.9rem;
  font-weight: 700;
}
.TitLg700 span {
  margin-left: 0.5rem;
  vertical-align: middle;
  cursor: pointer;
}

.TitSm700 {
  font-size: 1.5rem;
  font-weight: 700;
}

.TitSm500 {
  font-size: 1.5rem;
  font-weight: 500;
}

.Detail13gray400 {
  font-size: 1.3rem;
  font-weight: 300;
  color: #717171;
}

.Detail13blue400 {
  font-size: 1.3rem;
  font-weight: 400;
  color: #3447D2;
}

button {
  margin-top: 1.2rem;
  padding: 0.8rem;
  width: 100%;
  font-size: 1.3rem;
  background-color: #fff;
  border-radius: 0.4rem;
  color: #1d1d1d;
  border: 1px solid #E4E4E4;
  cursor: pointer;
  transition: 0.3s;
}
button:hover {
  background-color: #3447D2;
  color: #fff;
}
button.sm {
  padding: 0.4rem 0.8rem;
}
button.right {
  width: auto;
  margin-left: auto;
  padding: 0.8rem 1.6rem;
}
button.center {
  width: auto;
  margin-right: 2rem;
}
button.whiteBtn {
  background-color: #fff;
  color: #1d1d1d;
  border: none;
}
button.whiteBtn:hover {
  background-color: #fff;
  color: #1d1d1d;
}

button.defaultBtn {
  background-color: #F8F8F8;
}
button.defaultBtn:hover {
  background-color: #3447D2;
  color: #fff;
}

button.activeBtn {
  background-color: rgba(36, 107, 235, 0.8);
  color: #fff;
}
button.activeBtn:hover {
  background-color: #3447D2;
  color: #fff;
}

button.dagerBtn {
  background-color: #F8F8F8;
}
button.dagerBtn:hover {
  background-color: #FF1805;
  color: #fff;
}

button.grayBtn {
  background-color: #F8F8F8;
  color: #2D2D2D;
}
button.grayBtn:hover {
  background-color: #F8F8F8;
  color: #1d1d1d;
}

input[type=text], input[type=password] {
  margin-top: 1.2rem;
  padding: 0.8rem;
  width: 100%;
  font-size: 1.3rem;
  background-color: #F8F8F8;
  border: 1px solid #E4E4E4;
  box-sizing: border-box;
}
input[type=text]:active, input[type=password]:active {
  border: 1px solid #2D2D2D;
}
input[type=text].sm, input[type=password].sm {
  width: 16rem;
}
input[type=text].md, input[type=password].md {
  width: 24rem;
}
input[type=text].lg, input[type=password].lg {
  width: 32rem;
}

input[type=color] {
  padding: 0;
  width: 2.4rem; /* 정사각형으로 맞추기 */
  height: 2.4rem;
  border: none;
  border-radius: 50%; /* ← 동그랗게 만들기 */
  background: none;
  cursor: pointer;
  appearance: none; /* 브라우저 기본 스타일 제거 */
  -webkit-appearance: none; /* Safari용 */
}

/* Webkit 기반 브라우저(크롬, 사파리)용 내부 사각형 제거 */
input[type=color]::-webkit-color-swatch-wrapper {
  padding: 0;
}

input[type=color]::-webkit-color-swatch {
  border: none;
  border-radius: 50%; /* 내부 색상 부분도 동그랗게 */
}

.borderSelect {
  margin-top: 1.2rem;
  padding: 0.8rem;
  width: 100%;
  font-size: 1.3rem;
  background-color: #F8F8F8;
  border: 1px solid #E4E4E4;
  box-sizing: border-box;
  background-color: #fff;
}
.borderSelect:focus-visible {
  outline: none;
  border: 1px solid #F0F0F0;
}
.borderSelect option:focus-visible {
  outline: none;
  border: 1px solid #F0F0F0;
}
.borderSelect:active, .borderSelect:focus {
  outline: none;
  border: 1px solid #2D2D2D;
}
.borderSelect option:active, .borderSelect option:focus {
  outline: none;
  border: 1px solid #2D2D2D;
}
.borderSelect.sm {
  width: 16rem;
}
.borderSelect.md {
  width: 24rem;
}
.borderSelect.lg {
  width: 32rem;
}

textarea, .istTextarea {
  padding: 0.6rem;
  margin-top: 0.8rem;
  width: 100%;
  min-height: 8rem;
  resize: vertical;
  border: 1px solid #E4E4E4;
  box-sizing: border-box;
  font-size: 1.4rem;
  font-family: "Pretendard";
  font-weight: 300;
}

.centerModalWrap {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 901;
}
.centerModalWrap::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.6);
}

.topModalWrap {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 901;
}
.topModalWrap .mdTxt {
  white-space: pre-line;
  line-height: initial;
}
.topModalWrap .topModal {
  padding: 2rem;
  position: absolute;
  left: 50%;
  top: 3rem;
  transform: translate(-50%, 0);
  background-color: #fff;
  border-radius: 0.8rem;
  box-shadow: 0 6px 16px 0 rgba(0, 0, 0, 0.08), 0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 9px 28px 8px rgba(0, 0, 0, 0.05);
}
.topModalWrap .topModal.sm {
  width: 40rem;
}
.topModalWrap .topModal .foot {
  display: flex;
}
.topModalWrap .topModal .foot.btn {
  margin-top: 1rem;
  text-align: center;
  align-items: center;
  justify-content: center;
}
.topModalWrap .topModal .foot button {
  width: auto;
}

.centerModal {
  padding: 2rem;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  max-height: 80vh;
  overflow-y: auto;
  background-color: #fff;
  border-radius: 0.8rem;
  box-shadow: 0 6px 16px 0 rgba(0, 0, 0, 0.08), 0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 9px 28px 8px rgba(0, 0, 0, 0.05);
}
.centerModal.sm {
  width: 40rem;
}
.centerModal.md {
  width: 60rem;
}
.centerModal.xl {
  width: 80rem;
}
.centerModal .head {
  display: flex;
  align-items: center;
  padding: 0.8rem;
  height: 2.4rem;
  font-size: 1.8rem;
  color: #1d1d1d;
  font-weight: 700;
  border-bottom: 1px solid #E4E4E4;
}
.centerModal .head .closeBtn {
  margin-left: auto;
  cursor: pointer;
}
.centerModal .body {
  padding: 1.2rem 0;
}
.centerModal .body .smTxt {
  font-size: 1.4rem;
  color: #555555;
}
.centerModal .body .smTxt li {
  margin-bottom: 0.8rem;
  line-height: 130%;
}
.centerModal .body .mdTxt {
  font-size: 1.6rem;
  color: #1d1d1d;
}
.centerModal .body.join label {
  display: block;
  margin-top: 1.2rem;
  font-size: 1.4rem;
  color: #1d1d1d;
}
.centerModal .body.join input[type=text], .centerModal .body.join input[type=password] {
  margin-top: 0.6rem;
}
.centerModal .foot {
  display: flex;
  align-items: center;
}
.centerModal .foot button {
  height: 4rem;
  font-weight: 600;
}
.centerModal .foot .oneBtnWrap {
  margin-top: 0;
  margin-left: auto;
  width: auto;
  min-width: 7rem;
}

.formGroup.error input {
  border: 1px solid #FF1805;
}

.errorMsg {
  display: block;
  margin: 0.6rem 0 0.4rem;
  font-size: 1.3rem;
  line-height: 130%;
  font-weight: 400;
  color: #FF1805;
}

span.txtNotice {
  font-size: 1.3rem;
  color: #FF1805;
  font-weight: 300;
}

span.txtInfo {
  font-size: 1.3rem;
  color: #003675;
  font-weight: 300;
  line-height: 2rem;
}

.twoBtnWrap {
  display: flex;
  align-items: center;
  gap: 0.8rem;
}

.mgT0 {
  margin-top: 0;
}

/* http://meyerweb.com/eric/tools/css/reset/ 
   v2.0 | 20110126
   License: none (public domain)
*/
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-size: 100%;
  font: inherit;
  vertical-align: baseline;
}

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block;
}

body {
  line-height: 1;
}

ol, ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after,
q:before, q:after {
  content: "";
  content: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

html {
  font-size: 10px;
  font-family: "Pretendard", Roboto, "Helvetica Neue", "Segoe UI", "Apple SD Gothic Neo", "Noto Sans KR", "Malgun Gothic", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", sans-serif;
}

body {
  font-size: 1.6rem;
  overflow: hidden;
}

.hidden {
  display: none !important;
}

.clone {
  display: none !important;
}

.header {
  position: relative;
  display: flex;
  align-items: center;
  width: 100%;
  height: 4rem;
  background-color: #1a4c9a;
  box-shadow: 2px 2px 16px 0px rgba(0, 0, 0, 0.08);
  z-index: 10;
}
.header .logo {
  margin-left: 1.6rem;
  font-size: 2.2rem;
  line-height: 2.2rem;
  color: #fff;
  font-weight: 700;
}
.header .logo a {
  text-decoration: none;
}
.header .logo a img.newLogo {
  width: 3rem;
  margin-bottom: -0.4rem;
}
.header .logo .subLogo {
  font-size: 1.8rem;
  font-weight: 600;
}
.header .globLang {
  display: flex;
  margin-left: auto;
  height: 100%;
}
.header .globLang .googleTrans {
  position: absolute;
  right: 23rem;
  bottom: 0.2rem;
  margin-left: auto;
  text-align: right;
}
.header .globLang .SelectBox {
  height: 100%;
  color: #D3E1FB;
  border-left: 1px solid rgba(211, 225, 251, 0.2705882353);
}
.header .globLang .SelectList {
  width: 20rem;
  border-radius: 0 0 0.4rem 0.4rem;
}
.header .globLang .icGlobal {
  margin-right: 0.8rem;
  width: 2rem;
  height: 2rem;
  display: none !important;
}
.header .globLang li.translate {
  width: 100%;
  margin-top: 0.8rem;
  padding-left: 0;
  height: auto;
}
.header .globLang li.translate p {
  margin: 0rem -0.8rem -0.8rem -0.8rem;
  padding: 0.8rem;
  width: 100%;
  font-size: 1.3rem;
  line-height: 140%;
  color: #8E8E8E;
  background-color: #F8F8F8;
  border-top: 1px solid #E4E4E4;
  font-weight: 400;
  border-radius: 0 0 0.4rem 0.4rem;
}
.header .globLang li.translate p .MBgoogleTrans {
  display: none;
}
.header .util {
  display: flex;
  align-items: center;
  margin-left: auto;
  margin-right: 0.8rem;
  gap: 0.6rem;
}
.header .util li a {
  padding: 0.4rem 0.8rem;
  font-size: 1.3rem;
  color: #fff;
  border: 1px solid rgba(255, 255, 255, 0.5);
  font-weight: 300;
}
.header .util li a.active {
  background-color: #fff;
  color: #3447D2;
  font-weight: 600;
  cursor: default;
  text-decoration: none;
}

.container {
  display: flex;
  height: calc(100vh - 4rem);
}

.leftAside {
  display: flex;
  position: relative;
  z-index: 2;
}
.leftAside .panerHideBtn {
  position: absolute;
  left: 36.4rem;
  top: 50%;
  transform: none;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 2.4rem;
  height: 4.6rem;
  border-radius: 0px 4px 4px 0;
  background-color: #fff;
  box-shadow: 6px 2px 8px 0px rgba(0, 0, 0, 0.08);
  cursor: pointer;
}
.leftAside .panerHideBtn:has(img.rotate) {
  left: 6.4rem;
}
.leftAside .weatherModal {
  position: absolute;
  left: 8rem;
  bottom: 1.6rem;
  display: flex;
  gap: 2rem;
  padding: 1.6rem;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.85);
  backdrop-filter: blur(2px);
  white-space: nowrap;
  z-index: 3;
}
.leftAside .weatherModal .temper {
  margin-top: 2rem;
  font-size: 2.5rem;
  font-weight: 700;
  color: #1d1d1d;
}
.leftAside .weatherModal .img img {
  width: 6rem;
}

.leftMenu {
  position: relative;
  width: 6.4rem;
  height: 100%;
  background-color: #fff;
  box-shadow: 2px 2px 8px 0px rgba(0, 0, 0, 0.04);
  z-index: 3;
}
.leftMenu .btnAllmenu {
  margin: 1.2rem;
  width: 4rem;
  cursor: pointer;
}
.leftMenu .imgHistory {
  position: absolute;
  left: 1.2rem;
  bottom: 1.2rem;
  width: 4rem;
  z-index: 1;
}
.leftMenu .imgHistory .imgBox {
  margin-top: 0.8rem;
  width: 4rem;
  height: 4rem;
  border-radius: 0.8rem;
  border: 1px solid #F0F0F0;
  overflow: hidden;
  cursor: pointer;
}
.leftMenu .imgHistory .imgBox img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.leftMenu .imgHistory::before {
  content: "";
  display: inline-block;
  margin-bottom: 0.4rem;
  width: 100%;
  height: 1px;
  border-top: 1px solid #F0F0F0;
}
.leftMenu .navIcon {
  position: relative;
  z-index: 2;
}
.leftMenu .navIcon > ul {
  margin-top: 2rem;
  text-align: center;
}
.leftMenu .navIcon > ul > li {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 3.2rem;
  margin-left: auto;
  margin-right: auto;
  width: 2.4rem;
  height: 2.4rem;
  cursor: pointer;
}
.leftMenu .navIcon > ul > li.hover {
  padding: 8px;
  justify-content: center;
  align-items: center;
  align-self: stretch;
  border-radius: 8px;
  background: #3447D2;
}
.leftMenu .navIcon > ul > li.hover img {
  filter: invert(100%) sepia(96%) saturate(15%) hue-rotate(276deg) brightness(106%) contrast(104%);
}
.leftMenu .navIcon > ul .moreBtn {
  margin-top: -1.6rem;
}
.leftMenu .navIcon > ul .moreBtn li {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-top: 0.8rem;
}
.leftMenu .navIcon > ul .moreBtn li > span {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 0.8rem;
  width: 4rem;
  height: 4rem;
  background-color: #fff;
  box-shadow: 1px 1px 8px 0px rgba(0, 0, 0, 0.16);
  border-radius: 0.8rem;
  cursor: pointer;
}

.leftPanelWrap {
  display: flex;
}

.leftPanel, .archPanel, .archIstPanel, .archMyPanel {
  position: relative;
  width: 30rem;
  height: 100%;
  box-shadow: 2px 2px 8px 0px rgba(0, 0, 0, 0.04);
  background-color: #fff;
  z-index: 2;
}

.topHeadFix {
  position: sticky;
  left: 0;
  top: 0;
  box-shadow: 2px 2px 8px 0px rgba(0, 0, 0, 0.12);
  z-index: 2;
}

.optionSelectWrap {
  padding: 1.2rem;
  background-color: #F7F7F9;
}
.optionSelectWrap.border {
  border: 1px solid #ddd;
  border-radius: 10%;
  margin: 0 0.5rem 1rem 0.5rem;
}
.optionSelectWrap .backBtn {
  cursor: pointer;
}
.optionSelectWrap .TitSm700 {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.optionSelectWrap .btnClose {
  position: absolute;
  top: 0.6rem;
  right: 0.8rem;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 3.2rem;
  height: 3.2rem;
  border-radius: 100px;
  background-color: #fff;
  box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.16);
  cursor: pointer;
  z-index: 3;
}
.optionSelectWrap .btnClose:hover {
  box-shadow: 0 0 0 2px #E4E4E4 inset;
}
.optionSelectWrap .topBtnWrap {
  display: flex;
  align-items: center;
  gap: 0.8rem;
}
.optionSelectWrap .topBtnWrap button {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.4rem;
}
.optionSelectWrap .topBtnWrap button:hover img {
  filter: invert(100%) sepia(100%) saturate(0%) hue-rotate(288deg) brightness(102%) contrast(102%);
}
.optionSelectWrap .optionBtn {
  position: relative;
  margin-top: 1.2rem;
}
.optionSelectWrap .optionBtn .slide-container {
  position: relative;
  overflow: hidden;
  margin: 0 1.6rem 0 2.2rem;
  padding-top: 0.4rem;
}
.optionSelectWrap .optionBtn .slide-container .slide-wrapper {
  display: flex;
  gap: 0.3rem;
  transition: transform 0.3s ease;
  align-items: center;
}
.optionSelectWrap .optionBtn .slide-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 2.4rem;
  height: 2.4rem;
  background-color: rgba(255, 255, 255, 0.9);
  border: 1px solid #E4E4E4;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  z-index: 2;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}
.optionSelectWrap .optionBtn .slide-arrow:hover {
  background-color: #fff;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
}
.optionSelectWrap .optionBtn .slide-arrow.prev {
  left: -0.8rem;
}
.optionSelectWrap .optionBtn .slide-arrow.prev img {
  transform: rotate(180deg);
}
.optionSelectWrap .optionBtn .slide-arrow.next {
  right: -0.8rem;
}
.optionSelectWrap .optionBtn .slide-arrow img {
  width: 1.2rem;
  height: 1.2rem;
}
.optionSelectWrap .optionBtn .slide-arrow.disabled {
  opacity: 0.3;
  cursor: not-allowed;
  pointer-events: none;
}
.optionSelectWrap .optionBtn .btnWrap {
  flex: 0 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  min-width: 5.6rem;
  max-width: 7.2rem;
  text-align: center;
  position: relative;
}
.optionSelectWrap .optionBtn .btnWrap span {
  display: block;
  width: 100%;
  font-size: 1.4rem;
  color: #717171;
  padding: 0.8rem 0.4rem 0 0.4rem;
  font-weight: 500;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.optionSelectWrap .optionBtn .btnWrap .iconBtn {
  display: block;
  position: relative;
  width: 4.8rem;
  height: 4.8rem;
  background-size: cover;
  background-position: center;
  box-sizing: border-box;
}
.optionSelectWrap .optionBtn .btnWrap .checkBtn {
  display: flex;
  position: absolute;
  justify-content: center;
  align-items: center;
  top: -0.6rem;
  right: -0.8rem;
  width: 2rem;
  height: 2rem;
  background-color: #fff;
  border-radius: 50%;
  border: 1px solid #F0F0F0;
  box-shadow: 0 0.2rem 0.4rem rgba(0, 0, 0, 0.2);
  z-index: 10;
  background-image: url("../images/icCheck.svg");
  background-repeat: no-repeat;
  background-position: center center;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s ease;
}
.optionSelectWrap .optionBtn .btnWrap .checkBtn:hover {
  box-shadow: 0 0.2rem 0.4rem rgba(0, 0, 0, 0.4);
}
.optionSelectWrap .optionBtn .btnWrap .checkBtn img {
  width: 1.2rem;
  height: 1.2rem;
}
.optionSelectWrap .optionBtn .btnWrap:hover .checkBtn {
  opacity: 0;
}
.optionSelectWrap .optionBtn .btnWrap.hover .checkBtn {
  opacity: 1;
}
.optionSelectWrap .optionBtn .btnWrap:hover .iconBtn {
  border: 2px solid #3447D2;
  box-shadow: 0.2rem 0.2rem 0.3rem rgba(0, 0, 0, 0.2);
}
.optionSelectWrap .optionBtn .btnWrap.hover .iconBtn {
  border: 2px solid #3447D2;
  box-shadow: 0.2rem 0.2rem 0.3rem rgba(0, 0, 0, 0.2);
}
.optionSelectWrap .optionBtn .btnWrap:hover span, .optionSelectWrap .optionBtn .btnWrap.hover span {
  color: #3447D2;
  font-weight: 600;
}
.optionSelectWrap .optionBtn .theme1 .iconBtn {
  background: url(../images/theme1.svg) 50% 50% no-repeat;
  background-size: cover;
}
.optionSelectWrap .optionBtn .theme1:hover .iconBtn, .optionSelectWrap .optionBtn .theme1.hover .iconBtn {
  background: url(../images/theme1_hover.svg) 50% 50% no-repeat;
  background-size: cover;
}
.optionSelectWrap .optionBtn .theme2 .iconBtn {
  background: url(../images/theme2.svg) 50% 50% no-repeat;
  background-size: cover;
}
.optionSelectWrap .optionBtn .theme2:hover .iconBtn, .optionSelectWrap .optionBtn .theme2.hover .iconBtn {
  background: url(../images/theme2_hover.svg) 50% 50% no-repeat;
  background-size: cover;
}
.optionSelectWrap .optionBtn .theme3 .iconBtn {
  background: url(../images/theme3.svg) 50% 50% no-repeat;
  background-size: cover;
}
.optionSelectWrap .optionBtn .theme3:hover .iconBtn, .optionSelectWrap .optionBtn .theme3.hover .iconBtn {
  background: url(../images/theme3_hover.svg) 50% 50% no-repeat;
  background-size: cover;
}
.optionSelectWrap .optionBtn .theme4 .iconBtn {
  background: url(../images/theme4.svg) 50% 50% no-repeat;
  background-size: cover;
}
.optionSelectWrap .optionBtn .theme4:hover .iconBtn, .optionSelectWrap .optionBtn .theme4.hover .iconBtn {
  background: url(../images/theme4_hover.svg) 50% 50% no-repeat;
  background-size: cover;
}
.optionSelectWrap .optionBtn .roundBtn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 5.6rem;
  height: 5.6rem;
  border-radius: 0.8rem;
  cursor: pointer;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}
.optionSelectWrap .optionBtn .roundBtn img {
  width: 5.6rem;
}
.optionSelectWrap .hashtagMapWrap {
  display: block;
  margin-top: 1.6rem;
}
.optionSelectWrap .hashtagMapWrap .hashtag {
  margin-right: 0.4rem;
  margin-bottom: 0.4rem;
}
.optionSelectWrap .hashtagMapWrap::after {
  content: "";
  display: block;
  clear: both;
}
.optionSelectWrap .kwHeadWrap {
  display: flex;
  align-items: center;
  justify-content: unset;
}

#themeTypePanel .optionBtn {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  justify-content: center;
}
#themeTypePanel .optionBtn .btnWrap {
  position: relative;
  flex: 0 0 calc(25% - 1rem);
  display: flex;
  flex-direction: column;
  align-items: center;
  min-width: auto;
  text-align: center;
}
#themeTypePanel .optionSelectWrap .btnClose.MBshow767 {
  display: none;
}

.themeSearchWrap {
  display: flex;
  align-items: center;
  gap: 0.8rem;
}
.themeSearchWrap form {
  width: 100%;
}
.themeSearchWrap input {
  height: 3.6rem;
}
.themeSearchWrap button {
  padding: 0.8rem 1.6rem;
  width: auto;
  height: 3.6rem;
  white-space: nowrap;
}

.travleListWrap {
  position: relative;
  padding: 1.2rem;
  overflow-y: auto;
}

.bottomBtn {
  position: sticky;
  bottom: 0;
  left: 0;
  right: 0;
  width: 100%;
}

.listOptionWrap {
  display: flex;
  align-items: center;
}
.listOptionWrap .viewOption {
  display: flex;
  align-items: center;
  gap: 0.4rem;
}
.listOptionWrap .viewOption a {
  text-decoration: none;
  height: 2.5rem;
}
.listOptionWrap .viewOption a.hover img, .listOptionWrap .viewOption a:hover img {
  filter: invert(51%) sepia(0%) saturate(11%) hue-rotate(142deg) brightness(90%) contrast(81%);
}
.listOptionWrap select {
  padding: 0.4rem 4rem 0.4rem 0.4rem;
  margin-left: auto;
  min-width: 8rem;
  font-size: 1.3rem;
}

.archWrap {
  background-color: #fff;
}

.keywordClickWrap, .archClickWrap {
  margin-top: 1.6rem;
}
.keywordClickWrap .hashtagMapWrap, .archClickWrap .hashtagMapWrap {
  max-height: 7rem;
  overflow-y: auto;
}
.keywordClickWrap .moreViewBtn, .keywordClickWrap .moreView_ReverBtn, .archClickWrap .moreViewBtn, .archClickWrap .moreView_ReverBtn {
  margin-top: 0.8rem;
}

input[type=text].search-box {
  padding-right: 4rem;
  background-color: #fff;
  font-weight: 400;
}

.text-clear {
  position: relative;
}

.text-clear:after {
  content: "✚";
  display: block;
  width: 1.6rem;
  height: 1.6rem;
  position: absolute;
  z-index: 1;
  right: 0.8rem;
  top: -3.2rem;
  bottom: 0;
  margin: auto;
  padding: 0.5rem;
  text-align: center;
  color: #aaa;
  font-weight: normal;
  font-size: 1.4rem;
  cursor: pointer;
  -ms-transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  background: #fff;
  border-radius: 50%;
  line-height: 1.6rem;
  -webkit-transition: 300ms all;
}

.text-clear:hover:after {
  color: tomato;
  -webkit-transition: 300ms all;
}

.search-box:not(:valid) ~ .text-clear {
  display: none;
}

.archListWrap {
  margin-top: 0.8rem;
}
.archListWrap .disFlexCont {
  display: flex;
  flex-wrap: wrap;
  gap: 0.8rem;
}
.archListWrap .disFlexCont > div {
  position: relative;
  flex: 1 1 40%;
  height: 8.8rem;
  border-radius: 0.8rem;
  overflow: hidden;
  cursor: pointer;
}
.archListWrap .disFlexCont > div:hover img {
  transform: scale(1.2);
  transition: transform 0.5s; /* Animation */
  animation-timing-function: ease;
}
.archListWrap .disFlexCont > div > img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.archListWrap .disFlexCont > div.hover {
  box-sizing: border-box;
  border: 3px solid #3447D2;
}

.pagination {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 0rem;
}
.pagination .page-navis {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.8rem;
}
.pagination .page-navis a {
  text-decoration: none;
}
.pagination .page-navis a:hover {
  color: #3447D2;
}
.pagination .page-navis .page-navi {
  display: flex;
  height: 3.2rem;
  padding: 0.6rem 0.8rem 0.6rem 0.4rem;
  justify-content: center;
  align-items: center;
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 150%;
}
.pagination .page-navis .navi-next img {
  transform: rotate(180deg);
}
.pagination .page-links {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1.6rem;
  font-size: 1.4rem;
}
.pagination .page-links input, .pagination .page-links button {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 0.8rem;
  width: 4rem;
  height: 4rem;
  text-align: center;
}
.pagination .page-links button {
  margin-top: 0;
  min-width: 4.8rem;
  width: auto;
  border: 1px solid #3447D2;
  color: #3447D2;
}
.pagination .page-links button:hover {
  color: #fff;
}

.cardListWrap {
  margin: 0 0 1.6rem;
}

.cardList {
  margin-top: 1.2rem;
  padding: 0.4rem;
  padding-right: 0.8rem;
  background-color: #fff;
  border-radius: 1.2rem;
  box-shadow: 0px 1px 8px 0px rgba(0, 0, 0, 0.08);
  transition-duration: 0.1s;
  border: 2px solid #fff;
  cursor: default;
}
.cardList:hover {
  box-shadow: 0px 1px 8px 0px rgba(0, 0, 0, 0.23);
  cursor: pointer;
}
.cardList.hover {
  border: 2px solid #3447D2;
}
.cardList .imgBox {
  position: relative;
  width: 10.8rem;
  height: 8.8rem;
  border-radius: 0.8rem;
  overflow: hidden;
  background-color: #fff;
}
.cardList .imgBox.disabled img {
  opacity: 50%;
}
.cardList .imgBox img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.cardList .imgBox .btmLikeView .likeNum {
  margin-left: 0.4rem;
  gap: 0.2rem;
}
.cardList .imgBox .btmLikeView .likeNum > img {
  width: 1.6rem;
  height: 1.6rem;
  cursor: default;
}
.cardList .imgBox .btmLikeView .viewNum {
  margin-right: 0.4rem;
  gap: 0.2rem;
}
.cardList .textArea {
  position: relative;
  margin-top: 0.4rem;
  margin-left: 0.8rem;
  width: calc(100% - 10.8rem - 0.8rem);
  overflow: hidden;
}
.cardList .textArea .hashtag {
  display: inline-block;
  max-width: 12rem;
  margin-bottom: 0rem;
  cursor: default;
  float: none;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
}
.cardList .textArea .TitSm700 {
  margin-top: 0.4rem;
  width: 100%;
  font-size: 1.4rem;
  height: 3.4rem;
  line-height: 120%;
  display: -webkit-box;
  overflow: hidden;
  -webkit-line-clamp: 2; /*보여줄 줄의 수를 정함*/
  -webkit-box-orient: vertical; /*box의 배열 방향을 정함*/
}
.cardList .textArea .distance, .cardList .textArea .date {
  display: flex;
  align-items: center;
  gap: 0.8rem;
  margin-top: 0.6rem;
  font-size: 1.2rem;
  color: #717171;
  font-weight: 500;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
}
.cardList .textArea .date {
  margin-left: 0;
  gap: 0.4rem;
}
.cardList .textArea .editBtn {
  display: none;
  position: absolute;
  bottom: 0;
  right: 0;
  cursor: pointer;
}
.cardList:hover .editBtn, .cardList.hover .editBtn {
  display: block;
}
.cardList .moreText {
  margin-top: 0.8rem;
  padding: 0.4rem 0.4rem;
  border-top: 1px solid #F0F0F0;
  font-size: 1.3rem;
  color: #555555;
  line-height: 140%;
}
.cardList .moreText p {
  margin-top: 0rem !important;
  display: -webkit-box;
  overflow: hidden;
  -webkit-line-clamp: 3; /*보여줄 줄의 수를 정함*/
  -webkit-box-orient: vertical; /*box의 배열 방향을 정함*/
  font-weight: 300;
}
.cardList .moreText .moreBtn {
  display: flex;
  align-items: center;
  margin-top: 0.8rem;
  font-weight: 400;
  color: #3447D2;
  cursor: pointer;
}
.cardList .moreText .moreBtn > img {
  margin-left: auto;
}
.cardList .moreText .moreBtn:hover {
  font-weight: 600;
  transition: font-weight 0.2s;
}

.cardList_ThemeList {
  margin-top: 1.2rem;
  padding: 0.4rem;
  padding-right: 0.8rem;
  background-color: #fff;
  border-radius: 1.2rem;
  box-shadow: 0px 1px 8px 0px rgba(0, 0, 0, 0.08);
  transition-duration: 0.1s;
  border: 2px solid #fff;
  cursor: default;
}
.cardList_ThemeList:hover {
  box-shadow: 0px 1px 8px 0px rgba(0, 0, 0, 0.2);
  cursor: pointer;
}
.cardList_ThemeList.hover {
  border: 2px solid #3447D2;
}
.cardList_ThemeList .imgBox {
  flex-shrink: 0;
  position: relative;
  width: 6.4rem;
  height: 6.4rem;
  border-radius: 0.8rem;
  overflow: hidden;
  background-color: #fff;
}
.cardList_ThemeList .imgBox.disabled img {
  opacity: 50%;
}
.cardList_ThemeList .imgBox img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.cardList_ThemeList .imgBox .btmLikeView .likeNum {
  margin-left: 0.4rem;
  gap: 0.2rem;
}
.cardList_ThemeList .imgBox .btmLikeView .likeNum > img {
  width: 1.6rem;
  height: 1.6rem;
  cursor: default;
}
.cardList_ThemeList .imgBox .btmLikeView .viewNum {
  margin-right: 0.4rem;
  gap: 0.2rem;
}
.cardList_ThemeList .textArea {
  position: relative;
  align-self: flex-start;
  flex: 1;
  min-width: 0;
  margin-left: 0.8rem;
  overflow: hidden;
  height: 6.4rem;
}
.cardList_ThemeList .textArea .hashtag {
  display: inline-block;
  margin-bottom: 0rem;
  cursor: default;
  float: none;
}
.cardList_ThemeList .textArea .TitSm700 {
  margin-top: 0.2rem;
  width: 100%;
  font-size: 1.4rem;
  max-height: 3.4rem;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
}
.cardList_ThemeList .textArea .infoText {
  font-size: 1.4rem;
  color: #717171;
  font-weight: 300;
  line-height: 120%;
  display: -webkit-box;
  overflow: hidden;
  -webkit-line-clamp: 2; /*보여줄 줄의 수를 정함*/
  -webkit-box-orient: vertical; /*box의 배열 방향을 정함*/
}
.cardList_ThemeList .textArea .moreBtn {
  display: none;
  align-items: end;
  gap: 0.4rem;
  padding: 0.4rem 2rem 0.2rem 0.2rem;
  font-size: 1.2rem;
  color: #3447D2;
  font-weight: 500;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
  width: fit-content;
}
.cardList_ThemeList .textArea .moreBtn:hover {
  font-weight: 600;
  transition: font-weight 0.2s;
}
.cardList_ThemeList .textArea .markerIcons {
  position: absolute;
  right: 0;
  bottom: 0;
  width: 3.6rem;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 0.4rem;
  min-height: 1.8rem;
}
.cardList_ThemeList .textArea .markerIcons img {
  width: 1.6rem;
  height: 1.6rem;
  object-fit: contain;
}
.cardList_ThemeList .textArea .editBtn {
  display: none;
  position: absolute;
  bottom: 0;
  right: 0;
  cursor: pointer;
}
.cardList_ThemeList.hover .moreBtn {
  display: flex;
}
.cardList_ThemeList:hover .editBtn, .cardList_ThemeList.hover .editBtn {
  display: block;
}
.cardList_ThemeList .moreText {
  margin-top: 0.8rem;
  padding: 0.4rem 0.4rem;
  border-top: 1px solid #F0F0F0;
  font-size: 1.3rem;
  color: #555555;
  line-height: 140%;
}
.cardList_ThemeList .moreText p {
  margin-top: 0rem !important;
  display: -webkit-box;
  overflow: hidden;
  -webkit-line-clamp: 3; /*보여줄 줄의 수를 정함*/
  -webkit-box-orient: vertical; /*box의 배열 방향을 정함*/
  font-weight: 300;
}
.cardList_ThemeList .moreText .moreBtn {
  display: flex;
  align-items: center;
  margin-top: 0.8rem;
  font-weight: 400;
  color: #3447D2;
  cursor: pointer;
}
.cardList_ThemeList .moreText .moreBtn > img {
  margin-left: auto;
}

.cardList_ThemeGrid {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 1.2rem 0;
  margin-top: 1.2rem;
}
.cardList_ThemeGrid .gallBox {
  width: calc((100% - 2.4rem) / 4);
  min-width: calc((100% - 2.4rem) / 4);
  margin-bottom: 0;
}
.cardList_ThemeGrid .gallBox img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.cardList_ThemeGrid::after {
  content: "";
  width: calc((100% - 2.4rem) / 4);
}
.cardList_ThemeGrid .tooltipImageItem {
  margin-bottom: 0;
  width: 6rem;
  height: 6rem;
  overflow: hidden;
  transition: height 0.3s ease;
  border-radius: 0.8rem;
}
.cardList_ThemeGrid .tooltipImageItem button {
  width: calc(100% - 0.8rem);
  white-space: nowrap;
  margin: 0.4rem;
  padding: 0.4rem;
  box-sizing: border-box;
  font-size: 1.1rem;
  font-weight: 500;
  color: #3447D2;
  background-color: #fff;
  border: 1px solid #E4E4E4;
  border-radius: 0.4rem;
  opacity: 0;
  transform: translateY(-100%);
  transition: all 0.3s ease;
  cursor: pointer;
}
.cardList_ThemeGrid .tooltipImageItem button:hover {
  margin-top: 0;
  background-color: #3447D2;
  color: #fff;
}
.cardList_ThemeGrid .tooltipImageItem .tootipImgBox {
  width: 100%;
  box-shadow: unset;
}
.cardList_ThemeGrid .tooltipImageItem .tootipImgBox img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.cardList_ThemeGrid .tooltipImageItem.hover .tootipImgBox img {
  padding: 0.2rem;
  box-sizing: border-box;
}
.cardList_ThemeGrid .tooltipImageItem.hover {
  width: 6.2rem;
  height: auto;
  border: 2px solid #3447D2;
  box-sizing: border-box;
  cursor: pointer;
}
.cardList_ThemeGrid .tooltipImageItem.hover button {
  opacity: 1;
  transform: translateY(0);
  white-space: normal;
  overflow-wrap: anywhere;
}
.cardList_ThemeGrid .tooltipImageItem:hover {
  box-shadow: 0px 1px 8px 0px rgba(0, 0, 0, 0.2);
  cursor: pointer;
}

.cardList_CateList {
  margin-top: -0.1rem;
  border-top: 1px solid #E4E4E4;
  border-bottom: 1px solid #E4E4E4;
  transition-duration: 0.1s;
  cursor: default;
}
.cardList_CateList > .disFlex {
  cursor: pointer;
}
.cardList_CateList > .disFlex:hover {
  cursor: pointer;
}
.cardList_CateList > .disFlex {
  gap: 0.8rem;
  background: rgba(247, 247, 249, 0.5019607843);
  padding: 0.8rem;
}
.cardList_CateList .imgBox {
  flex-shrink: 0;
  position: relative;
  width: 4rem;
  height: 4rem;
  border-radius: 0.8rem;
  overflow: hidden;
  background-color: #fff;
}
.cardList_CateList .imgBox.disabled img {
  opacity: 50%;
}
.cardList_CateList .imgBox img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.cardList_CateList .imgBox .btmLikeView .likeNum {
  margin-left: 0.4rem;
  gap: 0.2rem;
}
.cardList_CateList .imgBox .btmLikeView .likeNum > img {
  width: 1.6rem;
  height: 1.6rem;
  cursor: default;
}
.cardList_CateList .imgBox .btmLikeView .viewNum {
  margin-right: 0.4rem;
  gap: 0.2rem;
}
.cardList_CateList .textArea {
  position: relative;
  overflow: hidden;
  flex: 1;
}
.cardList_CateList .textArea .TitSm700 {
  width: 100%;
  font-size: 1.4rem;
  max-height: 3.4rem;
  line-height: 130%;
  display: -webkit-box;
  overflow: hidden;
  -webkit-line-clamp: 2; /*보여줄 줄의 수를 정함*/
  -webkit-box-orient: vertical; /*box의 배열 방향을 정함*/
}
.cardList_CateList .textArea .editBtn {
  display: none;
  position: absolute;
  bottom: 0;
  right: 0;
  cursor: pointer;
}
.cardList_CateList .dropdownBtn {
  width: 2.4rem;
  height: 2.4rem;
  background-color: rgba(255, 255, 255, 0.9);
  border: 1px solid #E4E4E4;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  transition: all 0.2s ease;
  flex-shrink: 0;
}
.cardList_CateList .dropdownBtn:hover {
  background-color: #fff;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
}
.cardList_CateList .dropdownBtn img {
  width: 1.2rem;
  height: 1.2rem;
  transition: transform 0.3s ease;
  transform: rotate(90deg);
}
.cardList_CateList .dropdownBtn.active {
  border-color: #3447D2;
}
.cardList_CateList .dropdownBtn.active img {
  transform: rotate(-90deg);
}
.cardList_CateList:hover .editBtn, .cardList_CateList.hover .editBtn {
  display: block;
}
.cardList_CateList .moreText {
  margin-top: 0.8rem;
  padding: 0.4rem 0.4rem;
  border-top: 1px solid #F0F0F0;
  font-size: 1.3rem;
  color: #555555;
  line-height: 140%;
}
.cardList_CateList .moreText p {
  margin-top: 0rem !important;
  display: -webkit-box;
  overflow: hidden;
  -webkit-line-clamp: 3; /*보여줄 줄의 수를 정함*/
  -webkit-box-orient: vertical; /*box의 배열 방향을 정함*/
  font-weight: 300;
}
.cardList_CateList .moreText .moreBtn {
  display: flex;
  align-items: center;
  margin-top: 0.8rem;
  font-weight: 400;
  color: #3447D2;
  cursor: pointer;
}
.cardList_CateList .moreText .moreBtn > img {
  margin-left: auto;
}

.mapModalStyleWrap {
  position: absolute;
  left: 0;
  bottom: -0.2rem;
  width: 100%;
  z-index: 2;
}
.mapModalStyleWrap > .disFlex {
  background-color: rgba(255, 255, 255, 0.9);
}
.mapModalStyleWrap .mapDetailWrap {
  border: 0;
}

.searchResultList .TitSm700 span {
  color: #3447D2;
}
.searchResultList .listOptionWrap {
  margin: 0.8rem 0;
}
.searchResultList .dropdownMenu {
  margin-bottom: 0.8rem;
}
.searchResultList .dropdownMenu .listOptionWrap {
  padding: 0 0.8rem;
}
.searchResultList .dropdownMenu .listOptionWrap .moreViewBtn {
  margin-left: auto;
}
.searchResultList .cardList_CateList > .disFlex {
  gap: 0.8rem;
}
.searchResultList .cardList_CateList > .disFlex .textArea.disFlex {
  gap: 0.4rem;
}
.searchResultList .cardList_CateList > .disFlex .textArea.disFlex .TitSm700 {
  width: auto;
}
.searchResultList .cardList_CateList > .disFlex .textArea.disFlex .hashtag {
  margin-right: 0;
  margin-bottom: 0;
  background-color: #717171;
  border: 0;
}
.searchResultList .dropdownMenu .cardList_ThemeList {
  margin: 0.8rem 0.4rem;
}
.searchResultList .dropdownMenu .cardList_ThemeList .textArea {
  min-height: 3.6rem;
}
.searchResultList .dropdownMenu .cardList {
  margin: 0.8rem 0.4rem;
  padding-left: 0.8rem;
}
.searchResultList .dropdownMenu .cardList .textArea {
  margin-top: 0;
  margin-left: 1.2rem;
}
.searchResultList .dropdownMenu .cardList .textArea .TitSm700 {
  margin-top: 0;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
  max-height: fit-content;
}
.searchResultList .dropdownMenu .cardList .textArea .distance {
  margin-top: 0.4rem;
  gap: 0.2rem;
}
.searchResultList .dropdownMenu .cardList .textArea .distance .hashtag {
  margin-right: 0rem;
  white-space: unset;
  text-overflow: unset;
  overflow: unset;
}
.searchResultList .dropdownMenu .cardList .textArea .distance .text {
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
}

.pinBox {
  flex-shrink: 0;
  position: relative;
  width: 3.2rem;
  height: 4rem;
  z-index: 1;
}
.pinBox.color1 .pin {
  background: #fe3884;
}
.pinBox.color1 .pulse:after {
  box-shadow: 0 0 0.1rem 0.2rem #fe3884;
}
.pinBox.color2 .pin {
  background: #ffa70f;
}
.pinBox.color2 .pulse:after {
  box-shadow: 0 0 0.1rem 0.2rem #ffa70f;
}
.pinBox.color3 .pin {
  background: #2cb372;
}
.pinBox.color3 .pulse:after {
  box-shadow: 0 0 0.1rem 0.2rem #2cb372;
}
.pinBox.color4 .pin {
  background: #002d99;
}
.pinBox.color4 .pulse:after {
  box-shadow: 0 0 0.1rem 0.2rem #002d99;
}
.pinBox.color5 .pin {
  background: #bb5bd0;
}
.pinBox.color5 .pulse:after {
  box-shadow: 0 0 0.1rem 0.2rem #bb5bd0;
}
.pinBox.color6 .pin {
  background: #0aa1c6;
}
.pinBox.color6 .pulse:after {
  box-shadow: 0 0 0.1rem 0.2rem #0aa1c6;
}
.pinBox .pin {
  width: 3.2rem;
  height: 3.2rem;
  border-radius: 50% 50% 50% 0;
  position: absolute;
  transform: rotate(-45deg);
  left: 0%;
  top: 0%;
}
.pinBox .pin:after {
  content: "";
  width: 1.4rem;
  height: 1.4rem;
  margin: 0.8rem 0 0 0.8rem;
  position: absolute;
  border-radius: 50%;
}
.pinBox .pinNum {
  position: absolute;
  top: 0.8rem;
  left: 50%;
  font-size: 1.5rem;
  font-weight: 500;
  color: #fff;
  transform: translateX(-50%);
  z-index: 1;
}
.pinBox .bounce {
  animation-name: bounce;
  animation-fill-mode: both;
  animation-duration: 1s;
}
.pinBox .pulse {
  background: rgba(255, 255, 255, 0.6);
  border-radius: 50%;
  height: 1.4rem;
  width: 1.4rem;
  position: absolute;
  left: 0.9rem;
  bottom: -0.6rem;
  transform: rotateX(55deg);
  box-shadow: 0 0 1rem 1rem rgba(0, 0, 0, 0.25);
  z-index: -2;
}
.pinBox .pulse:after {
  content: "";
  border-radius: 50%;
  height: 4rem;
  width: 4rem;
  position: absolute;
  margin: -1.3rem 0 0 -1.3rem;
  animation: pulsate 1s ease-out;
  animation-iteration-count: infinite;
  opacity: 0;
  animation-delay: 1.1s;
}
@keyframes pulsate {
  0% {
    transform: scale(0.1, 0.1);
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  100% {
    transform: scale(1.2, 1.2);
    opacity: 0;
  }
}
@keyframes bounce {
  0% {
    opacity: 0;
    transform: translateY(-200rem) rotate(-45deg);
  }
  60% {
    opacity: 1;
    transform: translateY(3rem) rotate(-45deg);
  }
  80% {
    transform: translateY(-1rem) rotate(-45deg);
  }
  100% {
    transform: translateY(0) rotate(-45deg);
  }
}

.themeBtnWrap {
  gap: 0.4rem;
}
.themeBtnWrap .btn {
  margin-top: 0.8rem;
  padding: 0.4rem;
  height: auto;
}

.dropdownMenu {
  display: none;
  cursor: default;
  overflow: hidden;
}
.dropdownMenu.open {
  display: block;
  border-top: 1px solid #E4E4E4;
}
.dropdownMenu.open.dropdownPanel {
  max-height: 50rem;
  overflow-y: auto;
}
.dropdownMenu .themeBtnWrap .btn {
  cursor: pointer;
}
.dropdownMenu .textWrap {
  margin: 0.8rem;
  position: relative;
  font-size: 1.4rem;
  color: #717171;
  font-weight: 300;
  line-height: 120%;
  cursor: text;
  white-space: pre-wrap;
  display: -webkit-box;
  overflow: hidden;
  -webkit-line-clamp: 3; /*보여줄 줄의 수를 정함*/
  -webkit-box-orient: vertical; /*box의 배열 방향을 정함*/
  transition: all 0.3s ease;
}

.treeMenu {
  list-style: none;
  padding: 0.8rem;
  margin: 1.2rem 0;
  border-radius: 0.8rem;
  border: 1px solid #F0F0F0;
  box-shadow: 0px 1px 8px 0px rgba(0, 0, 0, 0.08);
}
.treeMenu .treeHead .themeBtnWrap {
  display: flex;
  margin: 0 0 0 auto;
  min-width: 0;
  gap: 0.4rem;
}
.treeMenu .treeHead .themeBtnWrap .btn {
  margin-top: 0;
  width: auto;
  max-width: 7rem;
  min-width: 0;
  flex: 0 1 auto;
  line-height: 1.2;
  text-align: center;
}
.treeMenu .hoverCheck {
  background-color: #3447D2;
  border-color: #3447D2;
  width: 2.4rem;
  height: 2.4rem;
  border: 1px solid #E4E4E4;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  transition: all 0.2s ease;
  flex-shrink: 0;
}
.treeMenu .hoverCheck.off {
  background-color: #fff;
  border-color: #3447D2;
}
.treeMenu .hoverCheck img {
  width: 1.6rem;
}
.treeMenu .treeCategory .treeItemHeader {
  position: relative;
  display: flex;
  align-items: center;
  padding: 0.8rem 0.4rem;
  border-radius: 0.8rem;
  cursor: pointer;
  transition: all 0.1s ease;
}
.treeMenu .treeCategory .treeItemHeader:hover {
  background-color: #F8F8F8;
}
.treeMenu .treeCategory .treeItemHeader.disabled {
  cursor: default;
}
.treeMenu .treeCategory .treeItemHeader.disabled .textArea {
  opacity: 0.7;
}
.treeMenu .treeCategory .treeItemHeader.disabled .hoverCheck {
  opacity: 1;
}
.treeMenu .treeCategory .treeItemHeader.disabled:hover {
  background: transparent;
}
.treeMenu .treeCategory .treeItemHeader .toggleIcon {
  width: 1.6rem;
  height: 1.6rem;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.6rem;
  font-weight: 600;
  color: #3447D2;
  margin-right: 0.8rem;
  flex-shrink: 0;
  transition: all 0.2s ease;
}
.treeMenu .treeCategory .treeItemHeader .toggleIcon.disabled {
  color: #999999;
  cursor: not-allowed;
  opacity: 0.5;
}
.treeMenu .treeCategory .treeItemHeader .itemContent {
  display: flex;
  align-items: center;
  flex: 1;
  gap: 0.4rem;
}
.treeMenu .treeCategory .treeItemHeader .itemContent .imgBox {
  width: 3.2rem;
  height: 3.2rem;
  border-radius: 0.4rem;
  overflow: hidden;
  margin-right: 0.4rem;
  flex-shrink: 0;
}
.treeMenu .treeCategory .treeItemHeader .itemContent .imgBox img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.treeMenu .treeCategory .treeItemHeader .itemContent .textArea {
  flex: 1;
}
.treeMenu .treeCategory .treeItemHeader .itemContent .textArea .TitSm700 {
  font-size: 1.3rem;
  font-weight: 600;
  color: #1d1d1d;
}
.treeMenu .treeCategory .subMenu {
  display: none;
  background: #fff;
  border-radius: 0.4rem;
}
.treeMenu .treeCategory .subMenu.open {
  display: block;
  cursor: default;
}
.treeMenu .treeCategory .subMenu .treeSubItem {
  position: relative;
  margin-top: 0;
  padding: 0.8rem 0.8rem;
  padding-right: 0.4rem;
  border-radius: 0.8rem;
  transition: all 0.1s ease;
}
.treeMenu .treeCategory .subMenu .treeSubItem:hover {
  background: #F8F8F8;
}
.treeMenu .treeCategory .subMenu .treeSubItem.hover {
  border: 2px solid #3447D2;
}
.treeMenu .treeCategory .subMenu .treeSubItem .itemContent {
  display: flex;
  align-items: center;
  transition: all 0.2s ease;
  padding-left: 1.2rem;
}
.treeMenu .treeCategory .subMenu .treeSubItem .itemContent .treeIcon {
  width: 1.6rem;
  height: 1.6rem;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-right: 0.4rem;
  flex-shrink: 0;
  font-size: 1.2rem;
  color: #717171;
}
.treeMenu .treeCategory .subMenu .treeSubItem .itemContent .imgBox {
  width: 2.4rem;
  height: 2.4rem;
  border-radius: 0.4rem;
  margin-right: 0.8rem;
  flex-shrink: 0;
  overflow: hidden;
}
.treeMenu .treeCategory .subMenu .treeSubItem .itemContent .imgBox img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.treeMenu .treeCategory .subMenu .treeSubItem .itemContent .textArea {
  flex: 1;
}
.treeMenu .treeCategory .subMenu .treeSubItem .itemContent .textArea .TitSm700 {
  font-size: 1.3rem;
  font-weight: 500;
  color: #2D2D2D;
}
.treeMenu .treeCategory.collapsed .treeItemHeader .toggleIcon {
  transform: rotate(45deg);
}
.treeMenu .treeCategory.collapsed .subMenu {
  display: none !important;
}

.cardList_CateList2 {
  margin-top: 1.6rem;
  padding: 0.4rem;
  padding-right: 0.8rem;
  transition-duration: 0.1s;
  cursor: default;
}
.cardList_CateList2 .disFlex {
  align-items: start;
}
.cardList_CateList2 .imgBox {
  flex-shrink: 0;
  position: relative;
  width: 5.6rem;
  height: 5.6rem;
  border-radius: 0.8rem;
  overflow: hidden;
  background-color: #fff;
}
.cardList_CateList2 .imgBox.disabled img {
  opacity: 50%;
}
.cardList_CateList2 .imgBox img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.cardList_CateList2 .imgBox .btmLikeView .likeNum {
  margin-left: 0.4rem;
  gap: 0.2rem;
}
.cardList_CateList2 .imgBox .btmLikeView .likeNum > img {
  width: 1.6rem;
  height: 1.6rem;
  cursor: default;
}
.cardList_CateList2 .imgBox .btmLikeView .viewNum {
  margin-right: 0.4rem;
  gap: 0.2rem;
}
.cardList_CateList2 .textArea {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-height: 5.6rem;
  position: relative;
  margin-left: 0.8rem;
  overflow: hidden;
}
.cardList_CateList2 .textArea .hashtag {
  display: inline-block;
  margin-bottom: 0rem;
  cursor: default;
  float: none;
}
.cardList_CateList2 .textArea .TitSm700 {
  width: 100%;
  font-size: 1.4rem;
  max-height: 3.4rem;
  line-height: 130%;
  display: -webkit-box;
  overflow: hidden;
  -webkit-line-clamp: 2; /*보여줄 줄의 수를 정함*/
  -webkit-box-orient: vertical; /*box의 배열 방향을 정함*/
}
.cardList_CateList2 .textArea .textWrap {
  position: relative;
  font-size: 1.4rem;
  color: #717171;
  font-weight: 300;
  line-height: 120%;
  white-space: pre-wrap;
  display: -webkit-box;
  overflow: hidden;
  -webkit-line-clamp: 2; /*보여줄 줄의 수를 정함*/
  -webkit-box-orient: vertical; /*box의 배열 방향을 정함*/
  transition: all 0.3s ease;
}
.cardList_CateList2 .textArea .textWrap::after {
  content: "[더보기]";
  position: absolute;
  bottom: 0;
  right: 0;
  padding-left: 0.8rem;
  background: linear-gradient(to right, transparent, #fff 30%);
  color: #3447D2;
  font-weight: 500;
  cursor: pointer;
  font-size: 1.3rem;
}
.cardList_CateList2 .textArea .textWrap::after:hover {
  text-decoration: underline;
}
.cardList_CateList2 .textArea .textWrap.expanded {
  display: block;
  -webkit-line-clamp: unset;
}
.cardList_CateList2 .textArea .textWrap.expanded::after {
  content: "[숨기기]";
  position: absolute;
  bottom: 0;
  right: 0;
  padding-left: 0.8rem;
  background: linear-gradient(to right, transparent, #fff 30%);
  color: #3447D2;
  font-weight: 500;
  cursor: pointer;
  font-size: 1.3rem;
}
.cardList_CateList2 .textArea .textWrap.expanded::after:hover {
  text-decoration: underline;
}
.cardList_CateList2 .textArea .date {
  display: flex;
  align-items: end;
  gap: 0.4rem;
  font-size: 1.2rem;
  color: #3447D2;
  font-weight: 500;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
}
.cardList_CateList2 .textArea .editBtn {
  display: none;
  position: absolute;
  bottom: 0;
  right: 0;
  cursor: pointer;
}
.cardList_CateList2:hover .editBtn, .cardList_CateList2.hover .editBtn {
  display: block;
}
.cardList_CateList2 .moreText {
  margin-top: 0.8rem;
  padding: 0.4rem 0.4rem;
  border-top: 1px solid #F0F0F0;
  font-size: 1.3rem;
  color: #555555;
  line-height: 140%;
}
.cardList_CateList2 .moreText p {
  margin-top: 0rem !important;
  display: -webkit-box;
  overflow: hidden;
  -webkit-line-clamp: 3; /*보여줄 줄의 수를 정함*/
  -webkit-box-orient: vertical; /*box의 배열 방향을 정함*/
  font-weight: 300;
}
.cardList_CateList2 .moreText .moreBtn {
  display: flex;
  align-items: center;
  margin-top: 0.8rem;
  font-weight: 400;
  color: #3447D2;
  cursor: pointer;
}
.cardList_CateList2 .moreText .moreBtn > img {
  margin-left: auto;
}

.selectedThemePreview {
  padding: 0.8rem 1.2rem;
  background-color: #F7F7F9;
}
.selectedThemePreview .previewHeader {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.selectedThemePreview .previewHeader .TitSm500 {
  margin: 0;
  color: #717171;
}
.selectedThemePreview .previewHeader .moreBtn {
  display: inline-block;
  margin-top: 0;
  padding: 0.8rem 1.2rem;
  width: auto;
  font-size: 1.3rem;
  font-weight: 400;
  color: #1d1d1d;
  background-color: #fff;
  border: 1px solid #E4E4E4;
  border-radius: 0.4rem;
  white-space: normal;
  overflow-wrap: anywhere;
  cursor: pointer;
  transition: 0.3s;
}
.selectedThemePreview .previewHeader .moreBtn:hover {
  background-color: #3447D2;
  color: #fff;
}
.selectedThemePreview .previewImageWrap {
  display: flex;
  gap: 0.6rem;
  overflow-x: hidden;
}
.selectedThemePreview .previewImageWrap .tooltipImageItem {
  padding-top: 1.2rem;
  overflow: visible;
}

.tooltipImageItem {
  position: relative;
  flex: 0 0 auto;
  width: 4rem;
  text-align: center;
  overflow: hidden;
  transition: all 0.3s ease;
}
.tooltipImageItem button {
  width: 100%;
  padding: 0.4rem;
  font-size: 1.1rem;
  font-weight: 500;
  color: #3447D2;
  background-color: #fff;
  border: 1px solid #E4E4E4;
  border-radius: 0 0 0.6rem 0.6rem;
  opacity: 0;
  transform: translateY(-100%);
  transition: all 0.3s ease;
  cursor: pointer;
}
.tooltipImageItem button:hover {
  background-color: #3447D2;
  color: #fff;
}
.tooltipImageItem:hover button {
  opacity: 1;
  transform: translateY(0);
}
.tooltipImageItem:hover .removeBtn {
  display: flex;
}

.tootipImgBox {
  position: relative;
  width: 4rem;
  height: auto;
  border-radius: 0.6rem;
  box-shadow: 0 0.2rem 0.8rem rgba(0, 0, 0, 0.1);
}
.tootipImgBox img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.tootipImgBox .removeBtn {
  display: none;
  position: absolute;
  justify-content: center;
  align-items: center;
  top: -0.4rem;
  right: -0.4rem;
  width: 2rem;
  height: 2rem;
  background-color: #fff;
  border-radius: 50%;
  border: 1px solid #F0F0F0;
  box-shadow: 0 0.2rem 0.4rem rgba(0, 0, 0, 0.2);
  cursor: pointer;
  z-index: 10;
}
.tootipImgBox .removeBtn:hover {
  box-shadow: 0 0.2rem 0.4rem rgba(0, 0, 0, 0.4);
}
.tootipImgBox .removeBtn img {
  width: 1.2rem;
  height: 1.2rem;
}

.tootipTitle {
  display: none;
}

.select2Wrap {
  margin-top: 0.8rem;
}
.select2Wrap .selectWrapLine {
  display: flex;
  align-items: center;
  gap: 0.8rem;
}
.select2Wrap .selectWrapLine select {
  width: 100%;
  height: 3.6rem;
  border: 1px solid #E4E4E4;
  background-color: #fff;
  padding: 0.8rem;
  font-size: 1.3rem;
  font-weight: 400;
}
.select2Wrap .themeSearchWrap {
  margin-top: -0.4rem;
}

.js-tooltip {
  position: fixed;
  padding: 0.6rem 1.2rem;
  background-color: rgba(0, 0, 0, 0.7);
  color: #fff;
  font-size: 1.2rem;
  font-weight: 500;
  line-height: 120%;
  border-radius: 0.4rem;
  white-space: nowrap;
  max-width: 20rem;
  text-overflow: ellipsis;
  overflow: hidden;
  z-index: 1000;
  pointer-events: none;
  box-shadow: 0 0.4rem 1.2rem rgba(0, 0, 0, 0.3);
  opacity: 0;
  transition: opacity 0.3s ease;
}
.js-tooltip.show {
  opacity: 1;
}

/* .tootipText용 동적 툴팁 스타일 (긴 텍스트 정보용) */
.js-tooltip.tootip-text-type {
  background-color: rgba(0, 0, 0, 0.9);
  color: white;
  padding: 1.2rem;
  border-radius: 0.8rem;
  box-shadow: 0 0.2rem 1rem rgba(0, 0, 0, 0.3);
  max-width: 35rem;
  min-width: 20rem;
  width: max-content;
  text-align: left;
  white-space: normal;
  word-wrap: break-word;
  line-height: 1.5;
}

.js-tooltip.tootip-text-type h3 {
  padding: 0;
  font-size: 1.4rem;
  font-weight: 600;
  line-height: 1.4;
  color: white;
}

.js-tooltip.tootip-text-type p {
  margin: 0;
  padding: 0;
  font-size: 1.2rem;
  line-height: 1.5;
  color: #f0f0f0;
}

.categoryHead .selectedThemePreview {
  padding: 0;
  margin-top: 1.2rem;
}
.categoryHead .themeCateList {
  margin-top: 1.2rem;
}

.themeBtnWrap {
  align-items: stretch;
}
.themeBtnWrap .btn {
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1.25;
  white-space: normal;
  word-break: keep-all;
  overflow-wrap: anywhere;
}

.themeTypeSearchWrap {
  position: absolute;
  left: 0;
  top: 0;
  width: 30rem;
  background-color: #FFFFFF;
  box-shadow: 2px 2px 8px 0 rgba(0, 0, 0, 0.26);
  box-sizing: border-box;
  z-index: 2;
}
.themeTypeSearchWrap .themeTypeDetailSearchWrap .themeType-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1.6rem;
  background-color: rgb(80, 137, 239);
  cursor: pointer;
}
.themeTypeSearchWrap .themeTypeDetailSearchWrap .themeType-title .title-wrap {
  display: flex;
  align-items: center;
  gap: 0.8rem;
  filter: invert(1);
}
.themeTypeSearchWrap .themeTypeDetailSearchWrap .themeType-title .btn-live-area {
  filter: brightness(0.1) invert(1);
}
.themeTypeSearchWrap .themeTypeDetailSearchWrap .themeType-container {
  margin: 1.6rem;
}
.themeTypeSearchWrap .line {
  display: none;
  height: 1px;
  margin: 1rem 0;
  background: rgba(255, 255, 255, 0.2);
  border: none;
}
.themeTypeSearchWrap .optionBtn,
.themeTypeSearchWrap .hashtagMapWrap {
  padding-bottom: 1rem;
}

.optionSelectWrap:has(.searchCondition) {
  padding-bottom: 0;
}
.optionSelectWrap:has(.searchCondition) .line {
  margin-top: 1.2rem;
  width: 100%;
  height: 1px;
  background-color: #E4E4E4;
}
.optionSelectWrap:has(.searchCondition) .searchCondition {
  margin-top: 4rem;
}
.optionSelectWrap:has(.searchCondition) .searchCondition .TitSm500 {
  color: #717171;
  margin-bottom: 0.8rem;
}
.optionSelectWrap:has(.searchCondition) .searchCondition p.expln {
  height: auto;
  color: #717171;
  font-weight: 400;
  white-space: pre-wrap;
}

.themeSearchWrap {
  position: relative;
  margin-top: 4rem;
}

.searchConditionInput {
  margin-top: 0;
}

p.expln {
  color: #717171;
  font-size: 1.2rem;
  margin-top: 0.4rem;
  display: -webkit-box;
  overflow: hidden;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  font-weight: 300;
  line-height: 114%;
  height: 2.6rem;
  white-space: pre-wrap;
}

.cardListCourse {
  margin-top: 1.2rem;
  height: 9.6rem;
  background-color: #1d1d1d;
  border-radius: 1.2rem;
  border: 1px solid #eee;
  overflow: hidden;
  cursor: pointer;
}

.cardListCourse, .workCourse {
  position: relative;
}
.cardListCourse .BGimg > img, .workCourse .BGimg > img {
  width: 100%;
  height: 9.6rem;
  object-fit: cover;
}
.cardListCourse .BGimgBlack, .workCourse .BGimgBlack {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: #000;
  opacity: 0.5;
}
.cardListCourse .frontText, .workCourse .frontText {
  position: absolute;
  top: 0;
  left: 0;
  width: calc(100% - 3.2rem);
  padding: 1.2rem 1.6rem;
  height: calc(100% - 2.4rem);
}
.cardListCourse .frontText .TitSm700, .workCourse .frontText .TitSm700 {
  width: 100%;
  color: #fff;
  line-height: 120%;
  display: -webkit-box;
  overflow: hidden;
  -webkit-line-clamp: 2; /*보여줄 줄의 수를 정함*/
  -webkit-box-orient: vertical; /*box의 배열 방향을 정함*/
}
.cardListCourse .frontText .courseInfo, .workCourse .frontText .courseInfo {
  position: absolute;
  bottom: 1.6rem;
  left: 1rem;
  width: 100%;
  display: flex;
  align-items: center;
  gap: 0.8rem;
  font-size: 1.3rem;
  color: #fff;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
}
.cardListCourse .frontText .courseInfo img, .workCourse .frontText .courseInfo img {
  width: auto;
  height: auto;
}
.cardListCourse .frontText .courseInfo span.tn, .workCourse .frontText .courseInfo span.tn {
  width: 15.7rem;
  display: -webkit-box;
  display: block;
  -webkit-box-orient: vertical;
  overflow: hidden;
  -webkit-line-clamp: 3;
  text-overflow: ellipsis;
  line-height: 120%;
}

.travMap .TitSm700::after {
  content: "";
  position: absolute;
  left: 1.6rem;
  bottom: 1.2rem;
  display: block;
  width: 3.2rem;
  height: 3.2rem;
  background: url(../images/icTravMap.svg) 5% 50% no-repeat;
}

.cardList.workCourse {
  padding-right: 0.4rem;
}
.cardList.workCourse .imgBox {
  width: 100%;
}
.cardList.workCourse .moreList {
  margin-top: 0.8rem;
  max-height: 19rem;
  overflow-y: auto;
  border-top: 1px solid #F0F0F0;
  font-size: 1.3rem;
  color: #555555;
  line-height: 140%;
}
.cardList.workCourse .listBox {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  margin: 0.8rem 0;
  padding: 0 0.8rem;
  height: 3.6rem;
  border: 1px solid #ddd;
  border-radius: 50px;
  box-shadow: 0px 1px 4px 0px rgba(0, 0, 0, 0.12);
  cursor: pointer;
}
.cardList.workCourse .listBox.hover {
  background-color: #3447D2;
  color: #fff;
  border: 1px solid #3447D2;
}
.cardList.workCourse .listBox.hover span img {
  filter: invert(100%) sepia(5%) saturate(1%) hue-rotate(240deg) brightness(106%) contrast(102%);
}
.cardList.workCourse .listBox span {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-left: auto;
}
.cardList.workCourse .listBox span img {
  transform: rotate(-90deg);
}
.cardList.workCourse .listBox p {
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
}

.cardList.workCourse .viewNum,
.mapImgModal .viewNum,
.archListWrap .disFlexCont > div .viewNum {
  margin-right: 0.4rem;
  display: flex;
  align-items: center;
  gap: 0.4rem;
  position: absolute;
  right: 1.2rem;
  bottom: 1.5rem;
}

.cardList.workCourse .viewNum span,
.mapImgModal .viewNum span,
.archListWrap .disFlexCont > div .viewNum span {
  font-size: 1.3rem;
  color: #fff;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.archListWrap .disFlexCont > div .viewNum {
  right: 0.4rem;
  bottom: 0.4rem;
}

.btmLikeView {
  display: flex;
  align-items: center;
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 3.2rem;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.9) 100%);
  color: #fff;
  font-size: 1.2rem;
}
.btmLikeView .likeNum {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  margin-left: 0.8rem;
}
.btmLikeView .likeNum > img {
  cursor: pointer;
}
.btmLikeView .viewNum {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  margin-left: auto;
  margin-right: 0.8rem;
}

.detailPanel {
  position: relative;
  width: 32rem;
  box-shadow: 2px 2px 8px 0px rgba(0, 0, 0, 0.04);
  background-color: #fff;
  overflow-y: auto;
  z-index: 1;
}
.detailPanel .btnFixed {
  position: fixed;
  width: 32rem;
  z-index: 1;
}
.detailPanel .btnClose {
  position: absolute;
  top: 0.8rem;
  right: 1.6rem;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 3.6rem;
  height: 3.6rem;
  border-radius: 100px;
  background-color: #fff;
  box-shadow: 0px 4px 8px 0px rgba(0, 0, 0, 0.16);
  cursor: pointer;
  z-index: 3;
}
.detailPanel .btnClose:hover {
  box-shadow: 0 0 0 2px #E4E4E4 inset;
}
.detailPanel .detailImgWrap {
  position: relative;
  display: flex;
  width: 100%;
  height: 17.2rem;
  overflow: hidden;
  cursor: pointer;
}
.detailPanel .detailImgWrap .lgImg {
  width: 100%;
  height: 100%;
  box-shadow: 0 0 0 1px #fff inset;
  border: 1px solid #fff;
}
.detailPanel .detailImgWrap .lgImg .smImg {
  position: relative;
  float: left;
  width: 50%;
  height: 50%;
  background-color: blue;
}
.detailPanel .detailImgWrap .lgImg .smImg::after {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  box-shadow: 0 0 0 1px #fff inset;
}
.detailPanel .detailImgWrap .lgImg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.detailPanel .detailImgWrap .prev {
  position: absolute;
  width: 2.4rem;
  height: 2.4rem;
  bottom: 50%;
  left: 0.4rem;
}
.detailPanel .detailImgWrap .next {
  position: absolute;
  width: 2.4rem;
  height: 2.4rem;
  bottom: 50%;
  right: 0.4rem;
}
.detailPanel .detailImgWrap .slider-wrapper {
  display: flex;
  transition: transform 0.5s ease-in-out;
  height: 17.2rem;
  width: 31.2rem;
}
.detailPanel .detailImgWrap .contImg {
  width: 31.2rem;
  height: 100%;
  flex: 0 0 100%;
}
.detailPanel .descriptWrap {
  padding: 1.6rem 1.6rem 0.5rem 1.6rem;
}
.detailPanel .descriptWrap h1 {
  color: #2D2D2D;
  line-height: 120%;
}
.detailPanel .descriptWrap h2 {
  margin-top: 0.5rem;
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 140%;
  color: #2D2D2D;
}
.detailPanel .descriptWrap p {
  margin: 1.6rem 0 0.8rem;
  line-height: 140%;
  font-size: 1.4rem;
  display: -webkit-box;
  overflow: hidden;
  -webkit-line-clamp: 5; /*보여줄 줄의 수를 정함*/
  -webkit-box-orient: vertical; /*box의 배열 방향을 정함*/
}
.detailPanel .descriptWrap .TitLg700:has(.contsThemeCopy) {
  display: flex;
  align-items: start;
  gap: 1.6rem;
}
.detailPanel .descriptWrap .conts_nm {
  display: -webkit-box;
  overflow: hidden;
  -webkit-line-clamp: 2; /*보여줄 줄의 수를 정함*/
  -webkit-box-orient: vertical; /*box의 배열 방향을 정함*/
  word-break: break-all;
}
.detailPanel .descriptWrap .contsThemeCopy {
  margin-left: auto;
  cursor: pointer;
}
.detailPanel .detailInfoWrap {
  padding: 0rem 1.6rem 1rem;
  font-size: 1.5rem;
  color: #555555;
  word-break: break-all;
}
.detailPanel .detailInfoWrap h3 {
  margin: 2rem 0 1rem;
  width: 100%;
  font-weight: 700;
  word-break: keep-all;
}
.detailPanel .detailInfoWrap p, .detailPanel .detailInfoWrap ul {
  margin: 1.2rem 0 1rem;
  width: 100%;
  font-size: 1.4rem;
  font-weight: 300;
  line-height: 140%;
}
.detailPanel .detailInfoWrap ul li {
  margin-left: 2rem;
  line-height: 150%;
  list-style-type: disclosure-closed;
}
.detailPanel .detailInfoWrap .searchLinkBox {
  margin: 1.2rem 0 2.4rem;
  display: flex;
  align-items: center;
  border: 1px solid #E4E4E4;
  border-radius: 0.4rem;
}
.detailPanel .detailInfoWrap .searchLinkBox a {
  width: 33%;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.4rem;
  border-right: 1px solid #E4E4E4;
  height: 4rem;
  font-size: 1.4rem;
}
.detailPanel .detailInfoWrap .searchLinkBox a:last-child {
  border-right: 0;
}
.detailPanel .detailInfoWrap .hashtagMapWrap {
  margin-top: 1.2rem;
}
.detailPanel .detailInfoWrap .hashtagMapWrap::after {
  content: "";
  display: block;
  clear: both;
}
.detailPanel .detailInfoWrap .addrCopy {
  width: 1.5rem;
  height: 1.5rem;
  padding-left: 0.3rem;
}
.detailPanel .detailInfoWrap .linkIcon {
  margin: 1.5rem 0 1rem;
  width: 100%;
  line-height: 30%;
  font-weight: 700;
  word-break: keep-all;
}
.detailPanel .detailInfoWrap .lineBreak {
  margin-left: -1.6rem;
  margin-right: -1.6rem;
  width: calc(100% + 3.2rem);
  margin-top: 1rem;
}

.choiceWrap {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  margin: 1rem 0;
}
.choiceWrap input[type=radio],
.choiceWrap input[type=checkbox] {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
  pointer-events: none;
}
.choiceWrap label {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.8rem 0.8rem;
  font-size: 1.3rem;
  font-weight: 300;
  color: #717171;
  background-color: #f9f9f9;
  border: 1px solid #E4E4E4;
  border-radius: 0.4rem;
  cursor: pointer;
  transition: all 0.2s ease;
  white-space: nowrap;
}
.choiceWrap input[type=radio]:checked + label,
.choiceWrap input[type=checkbox]:checked + label {
  background-color: rgba(227, 242, 253, 0.5);
  border-color: #3447D2;
  color: #3447D2;
  font-weight: 400;
  opacity: 0.9;
}
.choiceWrap input[type=radio]:disabled + label,
.choiceWrap input[type=checkbox]:disabled + label {
  pointer-events: none;
}

.keywordsToggleWrap {
  display: flex;
  justify-content: flex-end;
  margin-top: 0.4rem;
}
.keywordsToggleWrap .keywordsMoreBtn,
.keywordsToggleWrap .keywordsFoldBtn {
  padding: 0;
  border: 0;
  background: transparent;
  color: #555555;
  font-size: 1.3rem;
  cursor: pointer;
}

.courseCard .oneDayWrap {
  margin-top: 1.6rem;
}
.courseCard .tit {
  display: flex;
  align-items: center;
}
.courseCard .tit .hideBtn {
  margin-left: auto;
  transform: rotate(270deg);
  cursor: pointer;
}
.courseCard .tit .hideBtn.rever {
  transform: rotate(90deg);
}
.courseCard .CosListWrap {
  position: relative;
  margin-top: 0.8rem;
  width: 100%;
  height: 100%;
}
.courseCard .CosListWrap::before {
  content: "";
  position: absolute;
  left: 2.1rem;
  top: 0;
  display: inline-block;
  border: 1px solid #F0F0F0;
  height: 100%;
}
.courseCard .CosListWrap .cardWrap {
  position: relative;
}
.courseCard .CosListWrap .cosNumWrap {
  position: absolute;
  left: 1.2rem;
  top: 50%;
  transform: translate(0%, 0%);
}
.courseCard .CosListWrap .cosNumWrap .cosNum {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  font-size: 1.2rem;
  font-weight: 600;
  line-height: 150%;
  border-radius: 100px;
  color: #fff;
  background-color: #3447D2;
  box-shadow: 1px 2px 4px 0px rgba(0, 0, 0, 0.16);
}
.courseCard .CosListWrap .KmNum {
  position: absolute;
  left: 2.1rem;
  bottom: 0;
  transform: translate(-50%, 2.6rem);
  margin-left: -0.4rem;
  padding: 0 0.4rem;
  height: 2.4rem;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 4px;
  border: 1px solid #F0F0F0;
  background: #F8F8F8;
  color: #555555;
  font-size: 1.2rem;
  font-weight: 500;
  line-height: 150%; /* 18px */
}
.courseCard .CosListWrap .cardList {
  margin-left: 4.4rem;
}
.courseCard .CosListWrap .cardList.hover {
  border: 2px solid #3447D2;
}

.themeCateList .cardList_CateList {
  background-color: #fff;
}
.themeCateList .cardList_CateList .dropdownMenu {
  margin-bottom: 0.8rem;
}
.themeCateList .cardList_CateList .dropdownMenu .optionSelectWrap {
  background-color: #fff;
}
.themeCateList .listOptionWrap {
  margin: 0.8rem 0;
  padding: 0 0.8rem;
}
.themeCateList .listOptionWrap .moreViewBtn {
  margin-left: auto;
}
.themeCateList .optionSelectWrap {
  padding-top: 0;
}
.themeCateList .optionSelectWrap .hashtagMapWrap {
  margin-top: 0;
}

.leftAsideLogin {
  padding: 1.6rem;
  height: calc(100vh - 4rem);
  width: 24rem;
  background-color: #fff;
  z-index: 3;
}
.leftAsideLogin .btnAllmenu {
  margin: 0;
}
.leftAsideLogin .head {
  display: flex;
  align-items: center;
}
.leftAsideLogin .head .btnClose {
  margin-left: auto;
  cursor: pointer;
}
.leftAsideLogin h1 {
  margin: 1.6rem 0;
  font-size: 1.7rem;
  font-weight: 400;
  color: #717171;
}
.leftAsideLogin .list {
  margin-bottom: 1.6rem;
  cursor: pointer;
}
.leftAsideLogin .list .tit {
  display: flex;
  align-items: center;
  gap: 0.8rem;
}
.leftAsideLogin .list h2 {
  display: block;
  margin: 0.8rem 0;
  width: 100%;
  font-size: 1.5rem;
  color: #555555;
  font-weight: 300;
}
.leftAsideLogin .list .arrowBtn {
  margin-left: auto;
}
.leftAsideLogin .list .arrowOpen {
  margin-top: 0.8rem;
  padding: 0.8rem 0 0;
  border-top: 1px solid #F0F0F0;
}
.leftAsideLogin .list .arrowOpen.twoColumns {
  display: flex;
  flex-wrap: wrap;
  gap: 3%;
}
.leftAsideLogin .list .flexItem {
  margin-bottom: 0.8rem;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.4rem;
  width: 47%;
  padding: 0.8rem 0;
  background-color: #F8F8F8;
  border: 1px solid #E4E4E4;
  color: #555555;
  border-radius: 0.4rem;
}
.leftAsideLogin .list .flexItem.hover {
  background-color: #3447D2;
  color: #fff;
}
.leftAsideLogin .list.copyright .arrowOpen > div {
  display: flex;
  align-items: center;
  margin-bottom: 1.2rem;
  padding-left: 0.8rem;
  width: 100%;
}
.leftAsideLogin .list.copyright .arrowOpen > div > a:hover {
  color: #3447D2;
}
.leftAsideLogin .loginList {
  cursor: default;
}
.leftAsideLogin .loginList .joinTxt {
  padding: 0.8rem 0;
  font-size: 1.4rem;
  text-align: left;
  color: #3447D2;
  cursor: pointer;
}
.leftAsideLogin .loginList .alertLogin {
  padding: 0.8rem 0;
  font-size: 1.4rem;
  text-align: left;
  color: red;
}
.leftAsideLogin .loginList .orTxt {
  position: relative;
  font-size: 1.5rem;
  color: #717171;
  text-align: center;
}
.leftAsideLogin .loginList .orTxt .txt {
  display: inline-block;
  position: relative;
  background-color: #fff;
}
.leftAsideLogin .loginList .orTxt .bg {
  content: "";
  position: absolute;
  left: calc(50% - 2rem);
  height: 0;
  width: 4rem;
  height: 2rem;
  background-color: #fff;
}
.leftAsideLogin .loginList .orTxt:before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  width: 100%;
  height: 1px;
  background-color: #E4E4E4;
}
.leftAsideLogin .loginList .snsLogin {
  margin-bottom: 2rem;
}
.leftAsideLogin .loginList .snsLogin button {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.8rem;
  padding: 0.8rem;
  width: 100%;
  height: 4rem;
  border-radius: 0.4rem;
  font-size: 1.4rem;
  font-weight: 400;
  color: #fff;
}
.leftAsideLogin .loginList .snsLogin button.naver {
  background-color: #03C75A;
}
.leftAsideLogin .loginList .snsLogin button.kakao {
  background-color: #FEE500;
  color: #1d1d1d;
}
.leftAsideLogin .loginList .snsLogin button.facebook {
  background-color: #1A76F2;
}
.leftAsideLogin .loginList .snsLogin button.google {
  background-color: #fff;
  color: #1d1d1d;
}

.rangeSlide {
  margin-top: 1.6rem;
  width: 100%;
}
.rangeSlide .range {
  margin-left: 0.3rem;
  position: relative;
  width: 94%;
  height: 0.2rem;
}
.rangeSlide .range input {
  width: 100%;
  position: absolute;
  top: -0.1rem;
  height: 0;
  -webkit-appearance: none;
}
.rangeSlide .range input::-webkit-slider-thumb {
  -webkit-appearance: none;
  width: 1.8rem;
  height: 1.8rem;
  margin: -0.8rem 0 0;
  border-radius: 50%;
  background: #3447D2;
  cursor: pointer;
}
.rangeSlide .range input::-moz-range-thumb {
  width: 1.8rem;
  height: 1.8rem;
  margin: -0.8rem 0 0;
  border-radius: 50%;
  background: #3447D2;
  cursor: pointer;
}
.rangeSlide .range input::-ms-thumb {
  width: 1.8rem;
  height: 1.8rem;
  margin: -0.8rem 0 0;
  border-radius: 50%;
  background: #3447D2;
  cursor: pointer;
}
.rangeSlide .range input::-webkit-slider-runnable-track {
  width: 100%;
  height: 0.2rem;
  cursor: pointer;
  background: #3447D2;
}
.rangeSlide .range input::-moz-range-track {
  width: 100%;
  height: 0.2rem;
  cursor: pointer;
  background: #3447D2;
}
.rangeSlide .range input::-ms-track {
  width: 100%;
  height: 0.2rem;
  cursor: pointer;
  background: #3447D2;
}
.rangeSlide .range input:focus {
  background: none;
  outline: none;
}
.rangeSlide .range input::-ms-track {
  width: 100%;
  cursor: pointer;
  background: transparent;
  border-color: transparent;
  color: transparent;
}
.rangeSlide .range-labels {
  margin: 1.2rem -3.2rem 0px -0.7rem;
  padding: 0;
  list-style: none;
}
.rangeSlide .range-labels li {
  position: relative;
  float: left;
  margin-top: -1rem;
  padding: 1rem 0;
  width: 15%;
  text-align: center;
  color: #717171;
  font-size: 1.2rem;
  cursor: pointer;
  font-weight: 300;
}
.rangeSlide .range-labels li::before {
  position: absolute;
  top: -0.9rem;
  right: 0;
  left: 0;
  content: "";
  margin: 0 auto;
  width: 0.6rem;
  height: 0.6rem;
  background: #fff;
  border: 3px solid #3447D2;
  border-radius: 50%;
}
.rangeSlide .range-labels .active {
  color: #3447D2;
}
.rangeSlide .range-labels .selected::before {
  background: #3447D2;
}
.rangeSlide .range-labels .active.selected::before {
  display: none;
}

.mapContainer {
  position: relative;
  width: 100%;
  overflow: hidden;
}
.mapContainer .mapSearchWrap {
  position: absolute;
  left: 3rem;
  top: 2.4rem;
  z-index: 901;
  height: auto;
}
.mapContainer .mapSearchWrap .search {
  display: flex;
  align-items: center;
  position: relative;
  height: 4rem;
  width: 4rem;
  box-sizing: border-box;
  padding: 0.4rem 0.8rem;
  border: 0.3rem solid #fff;
  border-radius: 50px;
  transition: all 200ms ease;
  background: none;
  cursor: text;
  box-shadow: 0px 0px 16px 0px rgba(0, 0, 0, 0.5);
  color: #1d1d1d;
  background-color: #fff;
}
.mapContainer .mapSearchWrap .search:after {
  content: "";
  position: absolute;
  width: 2.4rem;
  height: 2.4rem;
  right: 50%;
  top: 50%;
  transform: translate(50%, -50%);
  transition: all 200ms ease;
  background-image: url("../images/btnSearchBlue.svg");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}
.mapContainer .mapSearchWrap .search.active, .mapContainer .mapSearchWrap .search:hover, .mapContainer .mapSearchWrap .search:focus-within {
  width: 24rem;
  margin-right: 0px;
}
.mapContainer .mapSearchWrap .search.active:after, .mapContainer .mapSearchWrap .search:hover:after, .mapContainer .mapSearchWrap .search:focus-within:after {
  height: 0px;
}
.mapContainer .mapSearchWrap .search.active .searchBtn, .mapContainer .mapSearchWrap .search.active .text-clear, .mapContainer .mapSearchWrap .search:hover .searchBtn, .mapContainer .mapSearchWrap .search:hover .text-clear, .mapContainer .mapSearchWrap .search:focus-within .searchBtn, .mapContainer .mapSearchWrap .search:focus-within .text-clear {
  margin-top: 0;
  padding: 0.4rem 0.8rem;
  width: auto;
  white-space: nowrap;
  opacity: 1;
  visibility: visible;
  transition: opacity 300ms ease, visibility 300ms ease;
  transition-delay: 0.3s;
}
.mapContainer .mapSearchWrap .search.active {
  background: #fff;
}
.mapContainer .mapSearchWrap .search input {
  margin: 0;
  padding: 0;
  width: 100%;
  border: none;
  box-sizing: border-box;
  font-family: Helvetica;
  font-size: 1.3rem;
  color: inherit;
  background: transparent;
  outline-width: 0px;
}
.mapContainer .mapSearchWrap .search input::placeholder {
  color: #717171;
}
.mapContainer .mapSearchWrap .search .searchBtn, .mapContainer .mapSearchWrap .search .text-clear {
  opacity: 0;
  visibility: hidden;
  transition: opacity 0ms ease, visibility 0ms ease;
}
.mapContainer .mapSearchWrap .search .text-clear {
  background-color: unset;
  border: unset;
}
.mapContainer .mapSearchWrap .search .text-clear::after {
  position: relative;
  right: unset;
  top: unset;
}
.mapContainer .mapResetBtn {
  position: absolute;
  left: 50%;
  top: 2.4rem;
  transform: translate(-50%, 0);
  padding: 0.8rem 1.6rem;
  border-radius: 50px;
  background-color: #3447D2;
  color: #fff;
  box-shadow: 0 0 0.5rem 0.2rem rgba(0, 0, 0, 0.25);
  z-index: 901;
  font-size: 1.4rem;
  box-sizing: border-box;
  border: 2px solid transparent;
  cursor: pointer;
}
.mapContainer .mapResetBtn:hover {
  border: 2px solid #fff;
}
.mapContainer .hashtagMapWrap {
  position: absolute;
  left: 1.2rem;
  top: 0rem;
}
.mapContainer .hashtagMapWrap .hashtag {
  margin-top: 0.8rem;
  margin-bottom: 0;
  float: left;
}
.mapContainer .kwLegendBtn {
  position: absolute;
  left: 1.2rem;
  padding: 1rem;
  top: 5rem;
  background-color: #fff;
  border-radius: 0.8rem;
  z-index: 901;
  height: auto;
}
.mapContainer .kwLegendWrap, .mapContainer .swipeWrap {
  position: absolute;
  right: 5.8rem;
  bottom: 1rem;
  padding: 1.2rem;
  background-color: #fff;
  border-radius: 0.8rem;
  z-index: 901;
  height: auto;
}
.mapContainer .kwLegendWrap .btnClose, .mapContainer .swipeWrap .btnClose {
  position: absolute;
  top: 0.8rem;
  right: 0.8rem;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 3rem;
  height: 3rem;
  border-radius: 100px;
  background-color: #fff;
  box-shadow: 0px 4px 8px 0px rgba(0, 0, 0, 0.16);
  cursor: pointer;
  z-index: 3;
}
.mapContainer .kwLegendWrap .swipeUl, .mapContainer .swipeWrap .swipeUl {
  display: flex;
}
.mapContainer .kwLegendWrap .swipeUl li, .mapContainer .swipeWrap .swipeUl li {
  margin: 0.5rem;
}
.mapContainer .kwLegendUl {
  max-height: 32rem;
  overflow-y: auto;
  width: 15rem;
}
.mapContainer .kwLegendUl li {
  display: flex;
  align-items: center;
  text-align: left;
  margin-bottom: 0.5rem;
}
.mapContainer .kwLegendUl li img {
  width: 2.4rem;
  position: relative;
  left: -1px;
  top: 0px;
}
.mapContainer .kwLegendUl li span {
  font-size: 1.3rem;
  line-height: 120%;
}
.mapContainer .tit {
  display: flex;
  align-items: center;
  gap: 1.2rem;
}
.mapContainer .tit h4 {
  font-size: 1.4rem;
  font-weight: 700;
}
.mapContainer .tit .btnX {
  margin-left: auto;
  display: flex;
  align-items: center;
  cursor: pointer;
}

.MapClickMenu {
  position: absolute;
  bottom: 0;
  background: #fff;
  border-radius: 0.8rem;
  box-shadow: 0 0.4rem 1.2rem rgba(0, 0, 0, 0.15);
  padding: 0;
  margin: 0;
  list-style: none;
  min-width: 14rem;
  font-size: 1.4rem;
  z-index: 901;
}
.MapClickMenu::after {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  width: 0;
  height: 0;
  border-left: 0.8rem solid transparent;
  border-right: 0.8rem solid transparent;
  border-top: 0.8rem solid #fff;
  filter: drop-shadow(0 0.2rem 0.4rem rgba(0, 0, 0, 0.1));
}
.MapClickMenu li {
  position: relative;
  cursor: pointer;
  border-bottom: 0.1rem solid #f0f0f0;
  color: #2D2D2D;
}
.MapClickMenu li:first-child {
  border-top-left-radius: 0.8rem;
  border-top-right-radius: 0.8rem;
}
.MapClickMenu li:first-child .dropdownBtn:hover {
  border-top-left-radius: 0.8rem;
  border-top-right-radius: 0.8rem;
}
.MapClickMenu li:last-child {
  border-bottom: none;
  border-bottom-left-radius: 0.8rem;
  border-bottom-right-radius: 0.8rem;
}
.MapClickMenu li:hover:not(.dropdown-card) {
  background-color: #f8f9fa;
  color: #3447D2;
}
.MapClickMenu li:not(.dropdown-card) {
  padding: 0.8rem 1.2rem;
}
.MapClickMenu .dropdown-card {
  width: 16rem;
}
.MapClickMenu .dropdown-card .dropdownBtn {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0.8rem 1.2rem;
}
.MapClickMenu .dropdown-card .dropdownBtn:hover {
  background-color: #f8f9fa;
  color: #3447D2;
}
.MapClickMenu .dropdown-card .dropdownBtn .menu-text {
  flex: 1;
  font-size: 1.4rem;
}
.MapClickMenu .dropdown-card .dropdownBtn .menu-arrow {
  width: 1.6rem;
  height: 1.6rem;
  background-image: url("../images/btnArrowBottom16.svg");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  transform-origin: center center;
  transition: transform 0.3s ease;
  opacity: 0.6;
  flex-shrink: 0;
}
.MapClickMenu .dropdown-card .dropdownBtn.active .menu-arrow {
  transform: rotate(180deg);
}
.MapClickMenu .dropdown-card .dropdownMenu.open {
  display: block;
}
.MapClickMenu .dropdownMenu {
  display: none;
  border-top: 0.1rem solid #e9ecef;
}
.MapClickMenu .dropdownMenu .service-options {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 0.4rem;
  padding: 0.6rem 1rem;
}
.MapClickMenu .dropdownMenu .service-options .service-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 0.4rem 0.6rem;
  border-radius: 0.4rem;
  cursor: pointer;
  transition: all 0.2s ease;
  min-width: 3.2rem;
}
.MapClickMenu .dropdownMenu .service-options .service-item .service-icon {
  width: 2.4rem;
  height: 2.4rem;
  margin-bottom: 0.4rem;
  transition: transform 0.2s ease;
}
.MapClickMenu .dropdownMenu .service-options .service-item .service-label {
  font-size: 1.2rem;
  color: #666;
  font-weight: 500;
  text-align: center;
  line-height: 1.1;
}
.MapClickMenu .dropdownMenu .service-options .service-item:hover {
  transform: translateY(-0.2rem);
}

.mapMarkerInfo {
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
  border-radius: 0.8rem;
  padding: 1.2rem;
  margin: 0;
  list-style: none;
  font-size: 1.4rem;
  background: #fff;
  box-shadow: 0 0.4rem 1.2rem rgba(0, 0, 0, 0.15);
  z-index: 901;
  bottom: 0;
}
.mapMarkerInfo .info-item {
  display: flex;
  align-items: center;
  gap: 0.8rem;
}
.mapMarkerInfo .info-item h1 {
  margin: 0;
  white-space: nowrap;
}
.mapMarkerInfo .info-item p {
  margin: 0;
  color: #2D2D2D;
  font-weight: 300;
  white-space: nowrap;
}
.mapMarkerInfo .mapMarkerInfo-title {
  font-family: "Pretendard", Roboto, "Helvetica Neue", "Segoe UI", "Apple SD Gothic Neo", "Noto Sans KR", "Malgun Gothic", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", sans-serif !important;
  font-size: 1.5rem;
  font-weight: 700;
  color: #3447D2;
}
.mapMarkerInfo::after {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  width: 0;
  height: 0;
  border-left: 0.8rem solid transparent;
  border-right: 0.8rem solid transparent;
  border-top: 0.8rem solid #fff;
  filter: drop-shadow(0 0.2rem 0.4rem rgba(0, 0, 0, 0.1));
}

#charmLeafletMap {
  z-index: 0;
}

.leaflet-pane {
  transition-property: unset;
  transition-duration: 0s;
  transition-timing-function: unset;
}

.mapCirclePin {
  pointer-events: none;
}

.mapCoursePin, .mapCirclePin, .hashtagMapWrap {
  z-index: 110;
}

.mapCoursePin {
  position: absolute;
  left: 20%;
  top: 20%;
}
.mapCoursePin .icCosPin {
  position: relative;
  width: 5rem;
  cursor: pointer;
}
.mapCoursePin .icCosPin .cosPinBG {
  width: 5rem;
}
.mapCoursePin .icCosPin .cosNum {
  position: absolute;
  left: 50%;
  top: 0;
  transform: translate(-50%, 0.7rem);
  width: 3.4rem;
  height: 3.4rem;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.2rem;
  color: #fff;
  font-weight: 700;
}
.mapCoursePin .cosLine1 {
  margin-bottom: 2rem;
  width: 8rem;
  border-top: 1rem dotted #40A3DA;
  display: block;
}
.mapCoursePin .cosLine2 {
  margin-bottom: 2rem;
  width: 8rem;
  border-top: 1rem dotted #E961EC;
  display: block;
}
.mapCoursePin .cosLine3 {
  margin-bottom: 2rem;
  width: 8rem;
  border-top: 1rem dotted #FE9C28;
  display: block;
}
.mapCoursePin .cosLine4 {
  margin-bottom: 2rem;
  width: 8rem;
  border-top: 1rem dotted #6C57F2;
  display: block;
}

.centerModalWrap .graph_popup {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  width: 106rem;
  background-color: #fff;
  z-index: 9999;
  border-radius: 8px;
  -webkit-box-shadow: 0px 0px 82px rgba(0, 0, 0, 0.24);
  box-shadow: 0px 0px 82px rgba(0, 0, 0, 0.24);
  gap: 0.5rem;
  overflow-y: hidden;
}
.centerModalWrap .graph_popup .close {
  padding: 2rem 2rem 0 0;
  align-self: flex-end;
}
.centerModalWrap .graph_popup h1 {
  font-size: 2.4rem;
  color: #1d1d1d;
  font-weight: 700;
}
.centerModalWrap .graph_popup .chartBtn {
  margin-top: 50px;
  background-color: #ffffff;
  width: 98%;
  margin: 0 auto;
  border-bottom: 2px solid #3447D2;
}
.centerModalWrap .graph_popup .chartBtn input[name=tab_item] {
  display: none;
}
.centerModalWrap .graph_popup .chartBtn input:checked + label {
  background-color: #3447D2;
  color: #fff;
}
.centerModalWrap .graph_popup .showBtn {
  width: 12rem;
  height: auto;
  font-size: 1.5rem;
  text-align: center;
  color: #333333;
  display: block;
  float: left;
  text-align: center;
  transition: all 0.2s ease;
  border-radius: 8px 8px 0px 0px;
  padding: 1.2rem 0rem;
  cursor: pointer;
}
.centerModalWrap .graph_popup .chartWrap {
  justify-content: center;
  gap: 0.8rem;
  width: 98%;
  height: 44rem;
  padding: 1rem 0;
}
.centerModalWrap .graph_popup .chartWrap .popupChart, .centerModalWrap .graph_popup .chartWrap .tableWrap {
  width: 100%;
  height: 100%;
  min-height: 30rem;
}
.centerModalWrap .graph_popup .chartWrap .popupChart .highcharts-root {
  font-family: "Pretendard", sans-serif !important;
}
.centerModalWrap .graph_popup .tableWrap {
  height: 100%;
  overflow-y: visible;
  display: flex;
  flex-direction: column;
}
.centerModalWrap .graph_popup .tableWrap .topHeadGrid:not(.clone) {
  animation: tableSlideIn 0.3s ease-out;
}
@keyframes tableSlideIn {
  from {
    opacity: 0;
    transform: translateY(-10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.centerModalWrap .graph_popup .tableWrap .TitSm500 {
  gap: 0.4rem;
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 130%;
  flex-shrink: 0;
}
.centerModalWrap .graph_popup .tableWrap .TitSm500 .btnCloseLegend {
  margin-top: 0;
  padding: 0;
  width: 3.2rem;
  min-width: 3.2rem;
  height: 3.2rem;
  border-radius: 100px;
  border: 0;
  background: #fff url("../images/btnClose.svg") no-repeat center/1.8rem 1.8rem;
  box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.16);
  color: transparent;
  font-size: 0;
  line-height: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.centerModalWrap .graph_popup .tableWrap .TitSm500 .btnCloseLegend:hover {
  box-shadow: 0 0 0 2px #E4E4E4 inset;
}
.centerModalWrap .graph_popup .tableWrap .TitSm500:not(.hidden) {
  animation: tableSlideIn 0.3s ease-out;
}
.centerModalWrap .graph_popup .tableWrap .TitSm500 .disFlex {
  margin-bottom: 0.8rem;
  gap: 0.4rem;
}
.centerModalWrap .graph_popup .tableWrap .TitSm500 .stepBg {
  padding: 0.4rem 0.8rem;
  border-radius: 1.6rem;
  font-size: 1.6rem;
  font-weight: 600;
  white-space: nowrap;
}
.centerModalWrap .graph_popup .tableWrap .TitSm500 .countTxt {
  white-space: nowrap;
}
.centerModalWrap .graph_popup .tableWrap .topHeadGrid {
  flex: 1;
  display: flex;
  flex-direction: column;
  min-height: 0;
  --col1-width: 1fr;
  --col2-width: 1fr;
  --col3-width: 1fr;
  --col4-width: 1fr;
}
.centerModalWrap .graph_popup .tableWrap .topHeadGrid .sortable {
  cursor: pointer;
  position: relative;
  display: inline-flex;
  align-items: center;
}
.centerModalWrap .graph_popup .tableWrap .topHeadGrid .sortable::after {
  content: "⇅";
  font-size: 12px;
  opacity: 0.5;
  margin-left: 4px;
}
.centerModalWrap .graph_popup .tableWrap .topHeadGrid .sortable.asc::after {
  content: "▲";
  opacity: 0.8;
}
.centerModalWrap .graph_popup .tableWrap .topHeadGrid .sortable.desc::after {
  content: "▼";
  opacity: 0.8;
}
.centerModalWrap .graph_popup .tableWrap .topHeadGrid .sortable:hover::after {
  opacity: 1;
}
.centerModalWrap .graph_popup .tableWrap .topHeadGrid .row {
  grid-template-columns: var(--col1-width) var(--col2-width) var(--col3-width) var(--col4-width);
  display: grid;
  width: 100%;
  box-sizing: border-box;
  min-height: auto;
}
.centerModalWrap .graph_popup .tableWrap .topHeadGrid .row .cell {
  word-break: break-all;
  overflow-wrap: break-word;
  white-space: normal;
}
.centerModalWrap .graph_popup .tableWrap .topHeadGrid .row.detailRow {
  display: block;
  background-color: #fbfbfb;
  animation: tableSlideIn 0.3s ease-out;
}
.centerModalWrap .graph_popup .tableWrap .topHeadGrid .row.detailRow .detailContent {
  position: relative;
  padding: 1.6rem;
}
.centerModalWrap .graph_popup .tableWrap .topHeadGrid .row.detailRow .detailContent .closeDetail {
  margin-top: 0;
  padding: 0;
  position: absolute;
  top: 0.8rem;
  right: 0.8rem;
  width: 2.4rem;
  height: 2.4rem;
  border: none;
  background: none;
  font-size: 2rem;
  cursor: pointer;
  color: #717171;
}
.centerModalWrap .graph_popup .tableWrap .topHeadGrid .row.detailRow .detailContent .closeDetail:hover {
  color: #1d1d1d;
}
.centerModalWrap .graph_popup .tableWrap .topHeadGrid .row.detailRow .detailContent .detailTitle {
  font-weight: 600;
  font-size: 1.4rem;
  margin-bottom: 0.8rem;
  color: #1d1d1d;
}
.centerModalWrap .graph_popup .tableWrap .topHeadGrid .row.detailRow .detailContent .detailAddr {
  font-size: 1.3rem;
  color: #717171;
  margin-bottom: 1.2rem;
}
.centerModalWrap .graph_popup .tableWrap .topHeadGrid .row.detailRow .detailContent .detailDesc {
  font-weight: 500;
  font-size: 1.3rem;
  color: #1d1d1d;
  line-height: 1.6;
  margin-bottom: 0.8rem;
}
.centerModalWrap .graph_popup .tableWrap .topHeadGrid .row.detailRow .detailContent .detailDesc:last-child {
  margin-bottom: 0;
}
.centerModalWrap .graph_popup .tableWrap .topHeadGrid .row.detailRow .detailContent .detailDesc span {
  font-weight: 300;
  color: #2D2D2D;
}
.centerModalWrap .graph_popup .tableWrap .topHeadGrid .row:hover .cell {
  background-color: #f6f9fc;
}
.centerModalWrap .graph_popup .tableWrap .topHeadGrid .tableHead {
  flex-shrink: 0;
}
.centerModalWrap .graph_popup .tableWrap .topHeadGrid .tableBody {
  flex: 1;
  min-height: 0;
}
.centerModalWrap .graph_popup .tableWrap .topHeadGrid .cell {
  padding: 1.2rem 0.4rem;
  width: 100%;
  height: 100%;
  line-height: 130%;
  text-align: center;
  box-sizing: border-box;
  cursor: pointer;
}
.centerModalWrap .graph_popup .tableWrap .txtInfo {
  display: block;
  padding: 2rem;
  margin: 0 auto;
  width: 90%;
  background-color: #F8F8F8;
  text-align: center;
  box-sizing: border-box;
  border-radius: 1.2rem;
  flex-shrink: 0;
}
.centerModalWrap .userLang {
  margin-bottom: 1rem;
}
.centerModalWrap .userLang .disFlex {
  margin-bottom: 0.5rem;
  display: flex;
  align-items: center;
  gap: 0.8rem;
}
.centerModalWrap .userLang label {
  display: inline-flex;
  align-items: center;
  white-space: nowrap;
  font-size: 1.4rem;
  color: #555555;
  margin: 0.6rem 0 !important;
}
.centerModalWrap .userLang select {
  padding: 0.4rem 4rem 0.4rem 0.4rem;
  min-width: 8rem;
  font-size: 1.3rem;
  border: 0.5px #ddd solid;
  border-radius: 0.4rem;
  margin-top: 0;
}

.topHeadGrid {
  display: flex;
  flex-direction: column;
  height: 50vh;
}
.topHeadGrid .row {
  grid-template-columns: 10rem 7rem 7.5rem;
  display: grid;
  align-items: center;
  border-bottom: 0.1rem solid #E4E4E4;
  font-size: 1.3rem;
  background-color: #fff;
  width: 85%;
}
.topHeadGrid .row.headerRow {
  background-color: #f6f9fc;
}
.topHeadGrid .row.headerRow .cell {
  font-weight: 600;
}
.topHeadGrid .tableBody {
  max-height: 46rem;
}
.topHeadGrid .cell {
  padding: 0.8rem 0.4rem;
  display: grid;
  align-items: center;
  justify-content: center;
}
.topHeadGrid .cell.leftTxt {
  justify-content: flex-start;
}
.topHeadGrid .cell.twoBtnWrap {
  display: flex;
  align-items: center;
}
.topHeadGrid .clickTxt {
  color: #1d1d1d;
  text-decoration: underline;
  cursor: pointer;
}
.topHeadGrid .clickTxt:hover {
  color: #3447D2;
}
.topHeadGrid .btnWrap button {
  padding: 0.4rem 0.8rem;
  margin-right: 0.8rem;
}
.topHeadGrid .hoverCheck {
  background-color: #3447D2;
  border-color: #3447D2;
  width: 2.4rem;
  height: 2.4rem;
  border: 1px solid #E4E4E4;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.2s ease;
  flex-shrink: 0;
  background-image: url("../images/cate_tree_on.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 1.6rem 1.6rem;
}
.topHeadGrid .hoverCheck.off {
  background-color: #fff;
  border-color: #3447D2;
  background-image: url("../images/cate_tree_off.svg");
}
.topHeadGrid .hoverCheck img {
  width: 1.6rem;
}

#choroPopupWrap .graph_popup {
  width: 40rem;
}
#choroPopupWrap .stepBg {
  font-size: 1.4rem;
  font-weight: 500;
  white-space: nowrap;
  text-shadow: -1px -1px 0 #dedcdc, 1px -1px 0 #dedcdc, -1px 1px 0 #dedcdc, 1px 1px 0 #dedcdc;
}
#choroPopupWrap .TitSm500 {
  margin: 0 0 1rem;
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 130%;
}
#choroPopupWrap .topHeadGrid {
  height: auto;
  --col1-width: 1fr;
  --col2-width: 1fr;
  --col3-width: 1fr;
  max-height: 74vh;
}
#choroPopupWrap .topHeadGrid .row {
  grid-template-columns: var(--col1-width) var(--col2-width) var(--col3-width);
  width: 100%;
}
#choroPopupWrap .topHeadGrid .tableBody {
  margin-bottom: 1rem;
}
#choroPopupWrap .tableWrap {
  width: 90%;
  min-height: 24rem;
  height: auto;
  max-height: 100%;
  overflow-y: none;
}

.topHeadGrid {
  display: flex;
  flex-direction: column;
  height: 50vh;
}
.topHeadGrid .row {
  grid-template-columns: 10rem 7rem 7.5rem;
  display: grid;
  align-items: center;
  border-bottom: 0.1rem solid #E4E4E4;
  font-size: 1.3rem;
  background-color: #fff;
  width: 85%;
}
.topHeadGrid .row.headerRow {
  background-color: #f6f9fc;
}
.topHeadGrid .row.headerRow .cell {
  font-weight: 600;
}
.topHeadGrid .tableBody {
  max-height: 46rem;
  overflow-y: auto;
}
.topHeadGrid .cell {
  padding: 0.8rem 0.4rem;
  display: grid;
  align-items: center;
  justify-content: center;
}
.topHeadGrid .cell.leftTxt {
  justify-content: flex-start;
}
.topHeadGrid .cell.twoBtnWrap {
  display: flex;
  align-items: center;
}
.topHeadGrid .clickTxt {
  color: #1d1d1d;
  text-decoration: underline;
  cursor: pointer;
}
.topHeadGrid .clickTxt:hover {
  color: #3447D2;
}
.topHeadGrid .btnWrap button {
  padding: 0.4rem 0.8rem;
  margin-right: 0.8rem;
}
.topHeadGrid .hoverCheck {
  background-color: #3447D2;
  border-color: #3447D2;
  width: 2.4rem;
  height: 2.4rem;
  border: 1px solid #E4E4E4;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.2s ease;
  flex-shrink: 0;
  background-image: url("../images/cate_tree_on.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 1.6rem 1.6rem;
}
.topHeadGrid .hoverCheck.off {
  background-color: #fff;
  border-color: #3447D2;
  background-image: url("../images/cate_tree_off.svg");
}
.topHeadGrid .hoverCheck img {
  width: 1.6rem;
}

.topHeadGrid {
  display: flex;
  flex-direction: column;
  height: 50vh;
}
.topHeadGrid .row {
  grid-template-columns: 10rem 7rem 7.5rem;
  display: grid;
  align-items: center;
  border-bottom: 0.1rem solid #E4E4E4;
  font-size: 1.3rem;
  background-color: #fff;
  width: 85%;
}
.topHeadGrid .row.headerRow {
  background-color: #f6f9fc;
}
.topHeadGrid .row.headerRow .cell {
  font-weight: 600;
}
.topHeadGrid .tableBody {
  max-height: 46rem;
  overflow-y: auto;
}
.topHeadGrid .cell {
  padding: 0.8rem 0.4rem;
  display: grid;
  align-items: center;
  justify-content: center;
}
.topHeadGrid .cell.leftTxt {
  justify-content: flex-start;
}
.topHeadGrid .cell.twoBtnWrap {
  display: flex;
  align-items: center;
}
.topHeadGrid .clickTxt {
  color: #1d1d1d;
  text-decoration: underline;
  cursor: pointer;
}
.topHeadGrid .clickTxt:hover {
  color: #3447D2;
}
.topHeadGrid .btnWrap button {
  padding: 0.4rem 0.8rem;
  margin-right: 0.8rem;
}
.topHeadGrid .hoverCheck {
  background-color: #3447D2;
  border-color: #3447D2;
  width: 2.4rem;
  height: 2.4rem;
  border: 1px solid #E4E4E4;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.2s ease;
  flex-shrink: 0;
  background-image: url("../images/cate_tree_on.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 1.6rem 1.6rem;
}
.topHeadGrid .hoverCheck.off {
  background-color: #fff;
  border-color: #3447D2;
  background-image: url("../images/cate_tree_off.svg");
}
.topHeadGrid .hoverCheck img {
  width: 1.6rem;
}

.popMapWrap {
  position: relative;
  width: 100%;
  height: 48rem;
  border: 0.1rem solid #E4E4E4;
  background-color: #717171;
}
.popMapWrap input[type=text],
.popMapWrap input[type=password],
.popMapWrap input[type=email],
.popMapWrap input[type=tel],
.popMapWrap input[type=number],
.popMapWrap input[type=date],
.popMapWrap textarea,
.popMapWrap select {
  margin-top: 0;
  font-size: 1.4rem;
  background-color: #fff;
  border: 0.1rem solid #E4E4E4;
  border-radius: 0.4rem;
  box-sizing: border-box;
  color: #56575B;
}
.popMapWrap .mapCont {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 48rem;
  z-index: 0;
}
.popMapWrap .styleNameWrap {
  position: absolute;
  top: 0.8rem;
  left: 0.8rem;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.6rem;
  padding: 0.6rem 1rem;
  background: #fff;
  border-radius: 0.4rem;
  border: 1px solid #E4E4E4;
}
.popMapWrap .styleNameWrap input[type=checkbox] {
  margin: 0;
}
.popMapWrap .styleNameWrap label {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.popMapWrap .styleNameWrap input, .popMapWrap .styleNameWrap button {
  margin-top: 0;
}
.popMapWrap .mapOptionWrap {
  position: absolute;
  left: 0.8rem;
  top: 4.4rem;
  z-index: 1;
}
.popMapWrap .mapOptionWrap .selectBtn {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.8rem;
}
.popMapWrap .mapOptionWrap .selectBtn button {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.4rem;
  padding: 0.4rem;
  margin-top: 0;
  min-width: auto;
}
.popMapWrap .mapOptionWrap .selectBtn button img {
  width: 2.4rem;
  height: 2.4rem;
}
.popMapWrap button:hover {
  background-color: #F0F0F0;
  color: #1d1d1d;
}

.mapDetailWrap {
  position: relative;
  background-color: #fff;
  padding: 0.8rem;
  border: 1px solid #E4E4E4;
}
.mapDetailWrap .closeModalBtn {
  position: absolute;
  top: 0.8rem;
  right: 0.8rem;
  z-index: 3;
  cursor: pointer;
}
.mapDetailWrap .lineBreak {
  margin-top: 1.6rem;
  margin-bottom: 0.8rem;
  border-bottom: 0.1rem solid #F0F0F0;
}
.mapDetailWrap .lineSettingWrap {
  display: flex;
  align-items: center;
  gap: 1.2rem;
  margin: 0.8rem 0;
  font-size: 1.4rem;
}
.mapDetailWrap .lineSettingWrap .form-group {
  display: flex;
  align-items: center;
  gap: 0.4rem;
}
.mapDetailWrap .lineSettingWrap .form-group label {
  margin-right: 0;
}
.mapDetailWrap .lineSettingWrap .form-group input, .mapDetailWrap .lineSettingWrap .form-group select {
  padding: 0.4rem;
  width: 10rem;
}
.mapDetailWrap .lineSettingWrap .form-group input[type=number] {
  width: 4rem;
}
.mapDetailWrap .lineSettingWrap .form-group input[type=color] {
  width: 2rem !important;
  height: 2rem;
  box-shadow: 0 0.2rem 0.4rem rgba(0, 0, 0, 0.2);
  padding: 0;
}
.mapDetailWrap form.defaultStyleForm .form-group input, .mapDetailWrap form.defaultStyleForm .form-group select {
  margin: 0;
  font-weight: 400;
  width: auto;
}
.mapDetailWrap form.defaultStyleForm .form-group input:placeholder, .mapDetailWrap form.defaultStyleForm .form-group select:placeholder {
  color: #1d1d1d;
}

.onboardPop {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  z-index: 2100;
}
.onboardPop .popClose {
  position: absolute;
  top: 2rem;
  right: 2rem;
  display: flex;
  width: 4.8rem;
  height: 4.8rem;
  justify-content: center;
  align-items: center;
  gap: 0.2rem;
  border-radius: 100px;
  background: var(--Color, #FFF);
  box-shadow: 4px 2px 8px 0px rgba(0, 0, 0, 0.36);
  z-index: 2;
  cursor: pointer;
}
.onboardPop .TopInfoLink {
  position: absolute;
  top: 6rem;
  right: 0rem;
  padding: 2rem;
  width: 38rem;
  max-height: calc(100vh - 38rem);
  overflow-y: auto;
  z-index: 1;
}
.onboardPop .TopInfoLink .infoWrap {
  margin-bottom: 3.2rem;
}
.onboardPop .TopInfoLink .infoWrap .popInfoText {
  width: 100%;
}
.onboardPop .TopInfoLink .tit {
  margin-bottom: 1.6rem;
  padding-bottom: 1.6rem;
  display: flex;
  align-items: center;
  gap: 0.8rem;
  border-bottom: 1px solid #fff;
}
.onboardPop .TopInfoLink .tit.aboutSeoul {
  border-bottom: 0px solid #fff;
  margin-bottom: 0.8rem;
  padding: 0.8rem;
}
.onboardPop .TopInfoLink .tit span {
  color: #fff;
  font-size: 2rem;
  font-weight: 700;
}
.onboardPop .TopInfoLink .tit .goBtn {
  padding: 0.4rem 0.8rem;
  margin-left: auto;
  font-weight: 400;
  color: #fff;
  font-size: 1.3rem;
  border-radius: 30px;
  border: 2px solid #fff;
  cursor: pointer;
}
.onboardPop .TopInfoLink .script {
  color: #fff;
  font-size: 1.5rem;
  font-weight: 400;
  line-height: 130%;
}
.onboardPop .TopInfoLink .btnWrap {
  margin-top: 1.6rem;
  display: flex;
  flex-wrap: wrap;
  gap: 1.2rem 0.6rem;
}
.onboardPop .TopInfoLink .btnWrap .btn {
  display: inline-flex;
  padding: 0 1.2rem;
  justify-content: center;
  align-items: center;
  gap: 0.4rem;
  height: 3.2rem;
  border-radius: 50px;
  border: 0.2rem solid var(--Color, #FFF);
  cursor: pointer;
}
.onboardPop .TopInfoLink .btnWrap .btn p {
  font-size: 14px;
  font-style: normal;
  font-weight: 600;
  color: #fff;
}
.onboardPop .TopInfoLink .btnWrap .btn span {
  width: 2rem;
  height: 2rem;
}
.onboardPop .TopInfoLink .btnWrap .btn span img.arrow {
  transform: rotate(-90deg);
  filter: invert(100%) sepia(96%) saturate(15%) hue-rotate(276deg) brightness(106%) contrast(104%);
}
.onboardPop .TopInfoLink .btnWrap.publicTrans .btn {
  padding: 0.4rem 1.2rem;
}

.btmBanner {
  position: relative;
  width: 100%;
  height: 20rem;
  box-shadow: -2px -2px 8px 3px rgba(0, 0, 0, 0.4);
  overflow: hidden;
}
.btmBanner .sild {
  height: calc(100% - 4rem);
  overflow-y: hidden;
}
.btmBanner .sild img {
  width: 100%;
  object-fit: cover;
}
.btmBanner .closeBar {
  position: absolute;
  left: 0;
  bottom: 0;
  display: flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0 1.2rem;
  width: 100%;
  height: 3rem;
  background: rgba(0, 0, 0, 0.8);
}
.btmBanner .closeBar label {
  color: #fff;
  font-size: 1.3rem;
}
.btmBanner .closeBar .viewBtn {
  display: flex;
  align-items: center;
  gap: 0.8rem;
  margin-left: auto;
  margin-right: 2rem;
  padding: 0.4rem 0.6rem;
  border-radius: 20px;
  font-size: 1.3rem;
  color: #fff;
  cursor: pointer;
}
.btmBanner .dot {
  position: absolute;
  left: calc(50% + 3px);
  bottom: 4.5rem;
  transform: translateX(-50%);
}
.btmBanner .dot > li {
  float: left;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background-color: #fff;
  margin-right: 6px;
  text-indent: -9999px;
  cursor: pointer;
}
.btmBanner .prev {
  position: absolute;
  width: 2rem;
  height: 2rem;
  bottom: 3rem;
  transform: translateY(-50%);
  left: 13rem;
  cursor: pointer;
}
.btmBanner .next {
  position: absolute;
  width: 2rem;
  height: 2rem;
  bottom: 3rem;
  transform: translateY(-50%);
  right: 13rem;
  cursor: pointer;
}
.btmBanner .dot > li.on {
  background-color: #4f97c3;
}
.btmBanner .panel img {
  vertical-align: top;
  border: none;
  width: 30rem;
  height: 20rem;
}
.btmBanner .btnClose {
  position: absolute;
  top: 0.8rem;
  right: 0.8rem;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 3.6rem;
  height: 3.6rem;
  border-radius: 100px;
  background-color: #fff;
  box-shadow: 0px 4px 8px 0px rgba(0, 0, 0, 0.16);
  cursor: pointer;
  z-index: 3;
}
.btmBanner .btnClose:hover {
  box-shadow: 0 0 0 2px #E4E4E4 inset;
}

.mapCirclePin {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  /* Size and Background  */
}
.mapCirclePin .menu .pinClickIcon img {
  width: 2rem;
}
.mapCirclePin {
  /* Menu Items */
}
.mapCirclePin .menu {
  position: relative;
  width: 284px;
  height: 23.5rem;
  display: flex;
  justify-content: center;
  align-items: center;
}
.mapCirclePin .menu .pinClickIcon {
  position: absolute;
  left: 0;
  list-style: none;
  transition: 0.5s;
  transition-delay: calc(0.1s * var(--i));
  transform-origin: 140px;
  transform: rotate(0deg) translateX(110px);
  opacity: 0;
}
.mapCirclePin {
  /* Animations */
}
.mapCirclePin .menu.active .pinClickIcon {
  transform: rotate(calc(45deg * var(--i))) translateX(33px);
  opacity: 1;
}
.mapCirclePin .menu .pinClickIcon .icCircle {
  position: relative;
  transform: rotate(calc(-45deg * var(--i)));
}
.mapCirclePin .menu .pinClickIcon .icCircle .tooltiptext {
  visibility: hidden;
  padding: 0.6rem 0.8rem;
  background-color: #fff;
  color: #555555;
  font-size: 1.3rem;
  white-space: nowrap;
  border-radius: 0.4rem;
  transition-duration: 0.3s;
  opacity: 0;
  text-align: right;
  /* Position the tooltip */
  position: absolute;
  top: 50%;
  left: -16%;
  transform: translate(-100%, -50%);
  z-index: 1;
}
.mapCirclePin .menu .pinClickIcon .icCircle .tooltiptext.top {
  text-align: center;
  top: -16%;
  left: 50%;
  transform: translate(-50%, -100%);
}
.mapCirclePin .menu .pinClickIcon .icCircle .tooltiptext.right {
  text-align: left;
  top: 50%;
  left: unset;
  right: -16%;
  transform: translate(100%, -50%);
}
.mapCirclePin .menu .pinClickIcon .icCircle .tooltiptext::after {
  content: "";
  position: absolute;
  width: 0.8rem;
  height: 0.8rem;
  transition-delay: 0.5s;
  top: 0.8rem;
  background: #fff;
  right: calc(0% - 0.3rem);
  transform: rotate(45deg);
  border-radius: 2px;
  transition: 0.5s;
}
.mapCirclePin .menu .pinClickIcon .icCircle .tooltiptext.top::after {
  top: unset;
  bottom: -0.3rem;
  left: calc(50% - 0.3rem);
}
.mapCirclePin .menu .pinClickIcon .icCircle .tooltiptext.right::after {
  top: unset;
  bottom: 0.8rem;
  left: calc(0% - 0.3rem);
}
.mapCirclePin .menu .pinClickIcon .icCircle .icCircleInner {
  text-align: center;
  font-family: "Pretendard";
}
.mapCirclePin .menu .pinClickIcon .icCircle {
  background: rgba(52, 71, 210, 0.9);
  color: #333;
}
.mapCirclePin .menu .pinClickIcon .icCircle:hover {
  box-shadow: 0 0 10px rgba(52, 71, 210, 0.9), 0 0 30px rgba(52, 71, 210, 0.9), 0 0 50px rgba(52, 71, 210, 0.9);
}
.mapCirclePin .menu .pinClickIcon .icCircle .tooltiptext {
  opacity: 1;
  visibility: visible;
}
.mapCirclePin .menu .pinClickIcon .icCircle {
  background: rgba(52, 71, 210, 0.9);
  color: #333;
}
.mapCirclePin .menu .pinClickIcon .icCircle:hover {
  box-shadow: 0 0 10px rgba(52, 71, 210, 0.9), 0 0 30px rgba(52, 71, 210, 0.9), 0 0 50px rgba(52, 71, 210, 0.9);
}
.mapCirclePin .menu .pinClickIcon .icCircle .tooltiptext {
  opacity: 1;
  visibility: visible;
}
.mapCirclePin .menu .toggle {
  position: relative;
  width: 7.1rem;
  height: 8.3rem;
  color: white;
  display: flex;
  justify-content: center;
  text-align: center;
  z-index: 8;
  font-size: 2rem;
  transition: trasform 2.25s;
  cursor: pointer;
}
.mapCirclePin .menu .toggle .pinIcon {
  position: absolute;
  left: 50%;
  top: 0.6rem;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 7.1rem;
  height: 5.2rem;
  transform: translate(-50%, 0);
}
.mapCirclePin .menu .toggle .landName {
  position: absolute;
  bottom: -2.6rem;
  left: 50%;
  padding: 0.4rem 2rem;
  transform: translate(-50%, 0%);
  color: #fff;
  text-align: center;
  font-size: 16px;
  font-weight: 600;
  /*text-shadow: -1px 0px #fff, 0px 1px #fff, 1px 0px #fff, 0px -1px #fff;*/
  white-space: pre;
  background: rgba(52, 71, 210, 0.9);
  box-shadow: 0px 4px 16px 0px rgba(0, 0, 0, 0.16);
  border-radius: 50px;
  max-width: 30rem;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.navigation {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
}

.menuToggle {
  position: relative;
}

.menuToggle.active2::before {
  transform: rotate(225deg);
}

.pinClickIcon:has(.menuToggle.active2) {
  z-index: 9;
}

.pinClickIcon:has(.icCircle:hover) {
  z-index: 9;
}

.moreMenu {
  position: absolute;
  padding: 1.6rem 3.2rem;
  width: auto;
  height: auto;
  background: #fff;
  border-radius: 70px;
  z-index: 6;
  transition: transform 0.5s, width 0.5s, height 0.5s;
  transition-delay: 0.5s, 0.5s, 0.5s;
  transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  visibility: hidden;
}

.menuToggle.active2 .moreMenu {
  padding: 1.6rem 3.2rem;
  width: auto;
  height: auto;
  z-index: 7;
  transform: translateY(-8rem);
  transition-delay: 0s, 0.7s, 0.7s;
  box-shadow: 0 15px 25px rgba(0, 0, 0, 0.1);
  transition: transform 0.5s, width 0.5s, height 0.5s;
  transition-delay: 0.5s, 0.5s, 0.5s;
  transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  visibility: visible;
}

.moreMenu::before {
  content: "";
  position: absolute;
  width: 0px;
  height: 0px;
  background: #fff;
  left: calc(50% - 8px);
  bottom: 4px;
  transform: rotate(45deg);
  border-radius: 2px;
  transition: 0.5s;
}

.menuToggle.active2 .moreMenu::before {
  width: 1.6rem;
  height: 1.6rem;
  transition-delay: 0.5s;
  bottom: -0.4rem;
}

.moreMenu ul {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: start;
  gap: 2.4rem;
  padding: 0;
}

.moreMenu ul li {
  list-style: none;
  cursor: pointer;
  opacity: 0;
  visibility: hidden;
  transform: translateY(-30px);
  transition: 0.25s;
  transition-delay: calc(0s + var(--i));
  text-align: center;
}
.moreMenu ul li img {
  width: 3.2rem !important;
}
.moreMenu ul li .label {
  margin-top: 0.4rem;
  display: inline-block;
  width: 100%;
  color: #717171;
  font-size: 1.4rem;
  font-weight: 500;
  text-align: center;
  white-space: nowrap;
  transition: 0s;
  transition-delay: 0s;
}
.moreMenu ul li:hover .label {
  color: #1d1d1d;
  font-weight: 400;
  transition: 0s;
  transition-delay: 0s;
  transition-duration: 0s;
}

.menuToggle.active2 .moreMenu ul li {
  opacity: 1;
  visibility: visible;
  transform: translateY(0px);
  transition-delay: calc(0.3s + var(--i));
}

.moreMenu ul li a {
  display: block;
  font-size: 2em;
  text-decoration: none;
  color: #555;
}

.moreMenu ul li a:hover {
  color: #ff216d !important;
  cursor: pointer;
}

.icCircleInner {
  position: absolute;
  right: 0;
  top: 50%;
  transform: translate(50%, -12%);
}
.icCircleInner .img {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 3.2rem;
  min-width: 3.2rem;
  height: 3.2rem;
  border: 2px solid #fff;
  border-radius: 50px;
  background-color: rgba(52, 71, 210, 0.9);
  filter: drop-shadow(0px 1px 5px rgba(0, 0, 0, 0.1));
}
.icCircleInner .img.left {
  margin-left: unset;
}
.icCircleInner .bg {
  position: relative;
  padding: 0.4rem;
  height: 3.6rem;
  border-radius: 50px;
  background: rgba(255, 255, 255, 0.8);
  box-shadow: 0px 4px 16px 0px rgba(0, 0, 0, 0.16);
  cursor: pointer;
  border: 1px solid #4757d3;
}
.icCircleInner .bg .tit {
  padding: 0 2rem;
  max-width: 6rem;
  color: #1d1d1d;
  font-size: 1.5rem;
  text-align: center;
  word-break: keep-all;
  font-weight: 600;
  text-overflow: ellipsis;
  display: -webkit-box;
  overflow: hidden;
  -webkit-line-clamp: 2; /*보여줄 줄의 수를 정함*/
  -webkit-box-orient: vertical; /*box의 배열 방향을 정함*/
}
.icCircleInner .bg .moreMenu {
  left: 50%;
  top: 0;
  transform: translate(-50%, -110%);
  border: 1px solid #4757d3;
}

.icCircleInner.navi .bg {
  display: flex;
  align-items: center;
  padding: 0 2rem;
  border: 1px solid #4757d3;
}
.icCircleInner.navi .img {
  margin: 0.4rem auto 0;
  cursor: pointer;
}

#archive {
  top: -3rem;
}

#roadView {
  top: 3rem;
}

#search {
  margin-left: -1.6rem;
}

.fiveTit {
  margin-top: -2rem;
}

.mapCirclePin .videoBox {
  position: absolute;
  top: 19rem;
  width: 50rem;
  height: auto;
  /* background-color: #fff;*/
}
.mapCirclePin .videoBox iframe {
  height: 30rem;
}
.mapCirclePin .videoBox .detailImgWrap {
  position: relative;
  display: flex;
  width: 100%;
  height: 100%;
  overflow: hidden;
  cursor: pointer;
}
.mapCirclePin .videoBox .detailImgWrap .lgImg {
  width: 100%;
  height: 100%;
  box-shadow: 0 0 0 1px #fff inset;
  border: 1px solid #fff;
}
.mapCirclePin .videoBox .detailImgWrap .lgImg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.mapCirclePin .videoBox .detailImgWrap .prev {
  position: absolute;
  width: 2.4rem;
  height: 2.4rem;
  bottom: 50%;
  left: 0.4rem;
}
.mapCirclePin .videoBox .detailImgWrap .next {
  position: absolute;
  width: 2.4rem;
  height: 2.4rem;
  bottom: 50%;
  right: 0.4rem;
}

.switchBox {
  width: 40px;
  text-align: center;
  margin: 0 auto;
}

#switch {
  position: absolute;
  /* hidden */
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
}

.switch_label {
  position: relative;
  display: inline-block;
  margin: 0.4rem 0;
  width: 36px;
  height: 21px;
  background: #fff;
  border: 2px solid #C6C6C6;
  border-radius: 20px;
  transition: 0.2s;
  cursor: pointer;
}

.switch_label:hover {
  background: #F0F0F0;
}

.onf_btn {
  position: absolute;
  top: 3px;
  left: 3px;
  display: inline-block;
  width: 15px;
  height: 15px;
  border-radius: 20px;
  background: #C6C6C6;
  transition: 0.2s;
}

/* checking style */
#switch:checked + .switch_label {
  background: #3447D2;
  border: 2px solid #3447D2;
}

#switch:checked + .switch_label:hover {
  background: #3447D2;
}

/* move */
#switch:checked + .switch_label .onf_btn {
  left: 18px;
  background: #fff;
  box-shadow: 1px 2px 3px rgba(0, 0, 0, 0.1254901961);
}

.prev img, .next img {
  width: 100%;
  height: 100%;
  cursor: pointer;
}

.moreListWrap .btnContainer {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.moreListWrap .btnContainer .closeBtn {
  display: flex;
  align-items: center;
  height: 2.4rem;
  font-size: 1.3rem;
  color: #1d1d1d;
  cursor: pointer;
  padding-right: 0.5rem;
}

.ifCos {
  position: absolute;
  top: 4rem;
  left: 36.4rem;
  height: 100vh;
  z-index: 110;
}
.ifCos .headerTop {
  display: flex;
  align-items: center;
  padding: 0.8rem 0;
}
.ifCos .headerTop span {
  font-size: 1.5rem;
  font-weight: 600;
}
.ifCos .headerTop img, .ifCos .headerTop span {
  cursor: pointer;
}

.loadingPop {
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: black;
  z-index: 2200;
  background: rgba(0, 0, 0, 0.5);
  color: #fff;
}
.loadingPop .centerLoadingGraph {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: url(../images/loading.gif) center center rgb(221, 221, 221);
  opacity: 0.2;
  text-align: center;
}

.menu {
  pointer-events: none;
}

.menu > * {
  pointer-events: all;
}

/*#alertJoinId, #alertJoinPw{
     padding:0.8rem 0;
     font-size:1.4rem;
     text-align: left;
     color:red;
 }*/
.joinIdGroup .disFlex {
  gap: 0.8rem;
}
.joinIdGroup button {
  margin-top: 0.6rem;
  padding: 0;
  width: 12rem;
  height: 3.2rem;
}

.mapImgModal {
  position: absolute;
  padding: 0.8rem;
  width: 44rem;
  border-radius: 0.8rem;
  background-color: #fff;
  transform: translateX(-50%);
  left: 50%;
  bottom: 1.6rem;
  border: 3px solid #3447D2;
}
.mapImgModal .btnClose {
  position: absolute;
  top: 0.8rem;
  right: 0.8rem;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 3.6rem;
  height: 3.6rem;
  border-radius: 100px;
  background-color: #fff;
  box-shadow: 0px 4px 8px 0px rgba(0, 0, 0, 0.16);
  cursor: pointer;
  z-index: 3;
}
.mapImgModal .imgBox {
  position: relative;
  width: 100%;
  height: 28rem;
  border-radius: 0.4rem;
  overflow: hidden;
}
.mapImgModal .imgBox img.placeImg {
  height: 100%;
  object-fit: cover;
}
.mapImgModal .imgBox img.placeImg.popupImg {
  width: 100%;
}
.mapImgModal .imgBox .btnClose {
  position: absolute;
  top: -0.4rem;
  right: -0.4rem;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 3.6rem;
  height: 3.6rem;
  border-radius: 100px;
  background-color: #fff;
  box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.16);
  cursor: pointer;
  z-index: 3;
}
.mapImgModal .imgBox .btnClose:hover {
  box-shadow: 0 0 0 2px #E4E4E4 inset;
}
.mapImgModal .imgBox .viewNum {
  position: absolute;
  right: 0.8rem;
  bottom: 0.8rem;
}
.mapImgModal .tit {
  position: relative;
  width: 100%;
  margin: 0.8rem 0;
  display: flex;
  align-items: center;
  gap: 0.8rem;
  color: #1d1d1d;
}
.mapImgModal .tit .TitLg700 {
  flex: 1;
}
.mapImgModal .tit .infoBtn {
  margin-left: auto;
  display: flex;
  align-items: center;
  gap: 0.2rem;
  font-size: 1.3rem;
  color: #1d1d1d;
  cursor: pointer;
}
.mapImgModal .tit .infoBtn img {
  width: 2rem;
  filter: invert(1);
}
.mapImgModal .tit .btnSlideArrow {
  position: absolute;
  top: -1.6rem;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 4.8rem;
  height: 4.8rem;
  border-radius: 100px;
  background-color: #fff;
  box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.16);
  cursor: pointer;
  z-index: 3;
}
.mapImgModal .tit .btnSlideArrow:hover {
  box-shadow: 0 0 0 2px #E4E4E4 inset;
}
.mapImgModal .tit .btnSlideArrow.leftBtn {
  left: -6.8rem;
}
.mapImgModal .tit .btnSlideArrow.leftBtn img {
  width: 3.2rem;
}
.mapImgModal .tit .btnSlideArrow.rightBtn {
  right: -6.8rem;
}
.mapImgModal .tit .btnSlideArrow.rightBtn img {
  transform: rotate(180deg);
  width: 3.2rem;
}
.mapImgModal .modalHashWrap {
  padding-top: 0.8rem;
  width: 100%;
  height: auto;
  overflow-y: auto;
  border-top: 1px solid #F0F0F0;
}
.mapImgModal .modalHashWrap .hashtag {
  margin-right: 0.4rem;
  margin-bottom: 0.4rem;
}
.mapImgModal .modalContsWrap {
  padding-top: 0.8rem;
  width: 100%;
  border-top: 1px solid #F0F0F0;
  display: flex;
  align-items: center;
  margin-bottom: 0.8rem;
}
.mapImgModal .modalContsWrap p {
  margin: 0 !important;
  flex: 1;
}
.mapImgModal .modalContsWrap .searchLinkBox {
  flex: 3;
  display: flex;
  align-items: center;
  border: 1px solid #E4E4E4;
  border-radius: 0.4rem;
}
.mapImgModal .modalContsWrap .searchLinkBox a {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.4rem;
  height: 4rem;
  font-size: 1.4rem;
  color: #333333;
  border-right: 1px solid #E4E4E4;
}
.mapImgModal .modalContsWrap .searchLinkBox a:last-child {
  border-right: 0;
}
.mapImgModal .modalInfoWrap {
  margin-top: 0.5rem;
  padding-top: 0.5rem;
  border-top: 1px solid #F0F0F0;
}
.mapImgModal .modalInfoWrap .TitSm700 {
  font-size: 1.3rem;
  font-weight: 700;
}
.mapImgModal .modalInfoWrap .explnWrap {
  max-height: 10rem;
  overflow-y: auto;
  font-size: 1.3rem;
  font-weight: 300;
  margin: 0;
}
.mapImgModal {
  /*&:before{
      content:'';
      width:0;
      height:0;
      position:absolute;
      border-right: 1.2rem solid transparent;
      border-left: 1.2rem solid transparent;
      border-top:1.2rem solid #fff;
      left:50%;
      bottom: -1.2rem;
      transform: translate(-50%, 0);
      border-top-color: #3447D2;
  }*/
}
.mapImgModal:before {
  content: "";
  width: 0.3rem;
  height: 4rem;
  position: absolute;
  left: 50%;
  bottom: -4rem;
  transform: translate(-50%, 0);
  background-color: #3447D2;
}
.mapImgModal:after {
  content: "";
  width: 1.6rem;
  height: 1.6rem;
  position: absolute;
  left: 50%;
  bottom: -4rem;
  transform: translate(-50%, 0);
  border-radius: 50px;
  background-color: #3447D2;
}
.mapImgModal .modalContBox {
  padding: 0 0.8rem;
}
.mapImgModal .modalContBox .TitSm700 {
  padding: 0.4rem 0;
  margin-bottom: 0.8rem;
  border-bottom: 1px solid #F0F0F0;
}
.mapImgModal .modalContBox .explnWrap {
  font-size: 1.3rem;
  font-weight: 400;
  line-height: 140%;
  max-height: 10rem;
  overflow-y: auto;
  color: #717171;
}
.mapImgModal .modalContBox .modalHashWrap {
  padding-top: 0;
  border-top: 0;
}

.mapModalTapWrap .panerTabs {
  position: relative;
  margin-top: 0.8rem;
}
.mapModalTapWrap .tabContWrap {
  margin: 1.2rem 0.8rem 1.6rem;
}
.mapModalTapWrap .tabContWrap a, .mapModalTapWrap .tabContWrap p {
  font-size: 1.4rem;
  font-weight: 400;
}
.mapModalTapWrap .searchLinkBox {
  display: flex;
  align-items: center;
  border: 1px solid #E4E4E4;
  border-radius: 0.4rem;
}
.mapModalTapWrap .searchLinkBox a {
  width: 33%;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.4rem;
  border-right: 1px solid #E4E4E4;
  height: 4rem;
  font-size: 1.4rem;
  color: unset;
}
.mapModalTapWrap .searchLinkBox a:last-child {
  border-right: 0;
}

.slide_Img {
  position: absolute;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
}
.slide_Img .sild {
  height: calc(100% - 4rem);
  overflow-y: hidden;
}
.slide_Img .sild img {
  width: 100%;
  object-fit: cover;
}
.slide_Img .closeBar {
  position: absolute;
  left: 0;
  bottom: 0;
  display: flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0 1.2rem;
  width: 100%;
  height: 4rem;
  background: rgba(0, 0, 0, 0.8);
  box-sizing: border-box;
}
.slide_Img .closeBar label {
  color: #fff;
  font-size: 1.3rem;
}
.slide_Img .closeBar .viewBtn {
  display: flex;
  align-items: center;
  gap: 0.8rem;
  margin-left: auto;
  padding: 0.4rem 0.6rem;
  border-radius: 20px;
  font-size: 1.3rem;
  color: #fff;
  cursor: pointer;
}
.slide_Img .dot {
  position: absolute;
  left: calc(50% + 3px);
  bottom: 53px;
  transform: translateX(-50%);
}
.slide_Img .dot > li {
  float: left;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background-color: #fff;
  margin-right: 6px;
  text-indent: -9999px;
  cursor: pointer;
}
.slide_Img .prev {
  position: absolute;
  width: 2rem;
  height: 2rem;
  bottom: 4rem;
  transform: translateY(-50%);
  left: 13rem;
  cursor: pointer;
}
.slide_Img .next {
  position: absolute;
  width: 2rem;
  height: 2rem;
  bottom: 4rem;
  transform: translateY(-50%);
  right: 13rem;
  cursor: pointer;
}
.slide_Img .dot > li.on {
  background-color: #4f97c3;
}
.slide_Img .panel img {
  vertical-align: top;
  border: none;
  width: 40rem;
  height: 24rem;
}

.blueNoticeWrap {
  padding: 1.2rem;
  background-color: #EDF1F5;
  border: 1px solid #E4E4E4;
  line-height: 100%;
  border-radius: 0.4rem;
}
.blueNoticeWrap.pickGeom {
  margin-top: 0.8rem;
  background-color: #fff;
}
.blueNoticeWrap h3 {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 1.3rem;
  font-weight: 700;
  color: #1d1d1d;
}
.blueNoticeWrap ul li, .blueNoticeWrap p {
  margin: 0.4rem 0 0 0.8rem;
  color: #555555;
  font-size: 1.3rem;
  font-weight: 300;
}
.blueNoticeWrap p {
  padding-top: 0.8rem;
  border-top: 1px dotted #717171;
}

.mbArchHead {
  position: sticky;
  left: 0;
  top: 0;
  box-shadow: 2px 2px 8px 0px rgba(0, 0, 0, 0.08);
  z-index: 1;
}

.archiTapWrap {
  position: relative;
}
.archiTapWrap .pageTit {
  padding: 1.6rem 1.6rem 0.8rem;
}

.archiUploadWrap input[type=text],
.archiUploadWrap input[type=number] {
  background-color: #fff;
  margin-top: 1.2rem;
  padding: 0.8rem;
  width: 100%;
  font-size: 1.3rem;
  border: 1px solid #E4E4E4;
  box-sizing: border-box;
}
.archiUploadWrap .TitSm500 {
  margin-top: 1rem;
  font-size: 1.4rem;
  color: #2D2D2D;
}
.archiUploadWrap .TitSm500:first-child {
  margin-top: 0;
}
.archiUploadWrap .optionSelectWrap {
  background-color: #fff;
}
.archiUploadWrap .optionSelectWrap.border {
  border: 1px solid #ddd;
  border-radius: 10%;
  margin: 0 0.5rem 1rem 0.5rem;
}
.archiUploadWrap .XYmapBox {
  position: relative;
  margin-top: 1.2rem;
  width: 100%;
  height: 20rem;
  background-color: #F0F0F0;
}
.archiUploadWrap .XYmapBox .lgViewBtn {
  width: auto;
  display: inline-block;
  position: absolute;
  right: 0.8rem;
  top: 0.8rem;
  padding: 0.6rem;
  background-color: #fff;
  border-radius: 0.4rem;
  cursor: pointer;
  box-shadow: 0px 0px 4px rgba(0, 0, 0, 0.2);
}
.archiUploadWrap .XYmapBox .lgViewBtn img {
  width: 1.6rem;
}
.archiUploadWrap .archAlert {
  font-size: 1.3rem;
  color: red;
  font-weight: 300;
  line-height: 2rem;
}
.archiUploadWrap .hashtagMapWrap {
  margin-top: 0.8rem;
}
.archiUploadWrap .drop_box {
  margin: 1.2rem 0 0.8rem;
  padding: 1.6rem;
  text-align: center;
  border: 0.3rem dotted #E4E4E4;
  border-radius: 0.8rem;
}
.archiUploadWrap .drop_box .preImg img {
  max-width: 100%;
  max-height: 12rem;
  overflow: hidden;
  object-fit: cover;
}
.archiUploadWrap .drop_box .seletedFile {
  display: flex;
  align-items: center;
  margin-top: 0.4rem;
}
.archiUploadWrap .drop_box .seletedFile .delete {
  margin-left: auto;
  cursor: pointer;
}
.archiUploadWrap .drop_box .seletedFile .delete img:hover {
  filter: invert(0%) sepia(4%) saturate(18%) hue-rotate(103deg) brightness(96%) contrast(104%);
}
.archiUploadWrap .drop_box .mapSelect {
  margin-top: 1.2rem;
  text-align: left;
  border-top: 1px solid #E4E4E4;
}
.archiUploadWrap .drop_box .mapSelect h4 {
  margin: 1.2rem 0 0.8rem;
  font-weight: 600;
}
.archiUploadWrap .drop_box .mapSelect .mapArea {
  margin-top: 1.2rem;
  width: 100%;
  height: 16rem;
  background-color: #E4E4E4;
  overflow: hidden;
  border: 1px solid #717171;
}
.archiUploadWrap .drop_box .mapSelect .blueNoticeWrap {
  padding: 0.8rem;
}
.archiUploadWrap .drop_box h4 {
  font-size: 1.4rem;
  font-weight: 400;
  color: #2D2D2D;
}
.archiUploadWrap .drop_box h5 {
  font-size: 1.4rem;
  font-weight: 400;
  color: #717171;
  word-break: break-all;
  text-align: left;
}
.archiUploadWrap .drop_box p {
  margin-top: 1rem;
  margin-bottom: 1rem;
  font-size: 1.3rem;
  color: #a3a3a3;
}
.archiUploadWrap .drop_box p.archAlert {
  font-size: 1.4rem;
  color: #FF1805;
  font-weight: 500;
  margin-top: 1rem;
  text-align: left;
}
.archiUploadWrap .btn {
  text-decoration: none;
  transition: 0.3s;
  background-color: #ffffff;
  color: #3447D2;
  border: none;
  outline: 1px solid #3447D2;
}
.archiUploadWrap .finish {
  color: #1d1d1d;
  text-decoration: none;
  transition: 0.3s;
  border: none;
  outline: 1px solid #b8b8b8;
  background-color: #F0F0F0;
}
.archiUploadWrap .btn:hover {
  text-decoration: none;
  background-color: #3447D2;
  color: #ffffff;
  border: none;
  outline: none;
}
.archiUploadWrap .form input {
  margin: 10px 0;
  width: 100%;
  background-color: #e2e2e2;
  border: none;
  outline: none;
  padding: 12px 20px;
  border-radius: 4px;
}
.archiUploadWrap .imgUse {
  display: flex;
  align-items: center;
  gap: 0.8rem;
}
.archiUploadWrap .imgUse button {
  background-color: #F0F0F0;
  color: #1d1d1d;
}
.archiUploadWrap .imgUse button.active {
  background-color: #3447D2;
  color: #fff;
}
.archiUploadWrap .flexImg {
  border: 1px #565656 solid;
  padding: 0.2rem;
  border-radius: 50%;
  margin-left: auto;
}
.archiUploadWrap .btn-add-transit {
  padding: 0.8rem;
  cursor: pointer;
  height: 1.8rem;
  border: none;
  justify-content: flex-start;
  margin: 0.8rem 0;
  display: flex;
  align-items: center;
  gap: 0.4rem;
  width: 100%;
}
.archiUploadWrap .btn-add-transit .icon-add {
  width: 1.6rem;
  height: 1.6rem;
}
.archiUploadWrap .btn-add-transit span {
  font-size: 1.3rem;
  color: #000;
  font-weight: 600;
}

.tooltipInfo {
  display: flex;
  align-items: center;
}
.tooltipInfo .tooltipImageItem {
  margin-left: auto;
  width: auto;
  cursor: pointer;
}
.tooltipInfo .tooltipImageItem .infoImg {
  width: 2.4rem;
  height: 2.4rem;
}
.tooltipInfo .tooltipImageItem .infoImg img {
  filter: invert(0.8);
}
.tooltipInfo .tooltipImageItem .tootipText {
  display: none;
}

.phoneNumWrap {
  display: flex;
  align-items: center;
  gap: 0.4rem;
}
.phoneNumWrap span {
  margin-top: 1.2rem;
}

.addressList {
  margin: 1.2rem 0 0.8rem;
  padding: 0.4rem 0.8rem;
  max-height: 20rem;
  text-align: center;
  border: 0.3rem dotted #E4E4E4;
  border-radius: 0.8rem;
}
.addressList li {
  margin: 0.8rem 0;
  text-align: left;
  cursor: pointer;
}
.addressList li h3 {
  font-size: 1.4rem;
  font-weight: 600;
  color: #1d1d1d;
}
.addressList li p {
  margin-top: 0.4rem;
  font-size: 1.3rem;
  color: #555555;
}
.addressList li:hover h3, .addressList li:hover p {
  color: #3447D2;
}
.addressList li.active h3, .addressList li.active p {
  color: #3447D2;
}
.addressList li.noData {
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: default;
}
.addressList li.noData:hover p {
  color: #555555;
}

.marginBtm.bottomBtn {
  width: calc(100% - 2.4rem);
  margin: 1.2rem;
}

.archiContentsWrap {
  padding: 1.6rem;
}
.archiContentsWrap ul {
  margin-top: 0.8rem;
}
.archiContentsWrap ul li {
  margin-top: 0.8rem;
  font-size: 1.5rem;
  display: flex;
  align-items: center;
  gap: 0.8rem;
  color: #1d1d1d;
  line-height: 120%;
}
.archiContentsWrap ul li:hover {
  color: #3447D2;
}
.archiContentsWrap .infoImg {
  margin-left: auto;
  cursor: pointer;
}
.archiContentsWrap .infoImg img {
  width: 2rem;
  filter: invert(1);
}

.panerTabs {
  position: sticky;
  left: 0;
  top: 0;
  z-index: 1;
}
.panerTabs ul {
  display: flex;
  align-items: center;
  justify-content: space-evenly;
  width: 100%;
  background-color: #fff;
}
.panerTabs ul li {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 2rem;
  padding: 0.8rem;
  word-break: keep-all;
  text-align: center;
  font-size: 1.4rem;
  line-height: 110%;
  font-weight: 500;
  cursor: pointer;
  border-bottom: 0.4rem solid #F7F7F9;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
}
.panerTabs ul li.active, .panerTabs ul li:hover {
  color: #3447D2;
  border-bottom: 0.4rem solid #3447D2;
}

.visualWrap {
  padding: 0 1.2rem 1.2rem;
}
.visualWrap input[type=text],
.visualWrap input[type=number] {
  margin-top: 0;
  background-color: #fff;
}
.visualWrap .TitSm700 {
  margin: 1.2rem 0 0.8rem;
}
.visualWrap .TitSm500 {
  margin: 0.8rem 0;
  font-size: 1.4rem;
}
.visualWrap .TitSm500.attrCheckTit {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.8rem;
  padding-right: 0.8rem;
}
.visualWrap .TitSm500.attrCheckTit .ts-right {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  cursor: pointer;
  font-size: 1.4rem;
  color: #2D2D2D;
  font-weight: 400;
}
.visualWrap .TitSm500.attrCheckTit .ts-right input[type=checkbox] {
  width: 1.8rem;
  height: 1.8rem;
  cursor: pointer;
}
.visualWrap .visualStyleWrap {
  display: flex;
  align-items: center;
  gap: 0.8rem;
}
.visualWrap .visualStyleWrap .visualStyleItem {
  width: 100%;
  height: 3rem;
  border: 1px solid #E4E4E4;
  border-radius: 0.4rem;
  transition: 0.2s;
  box-sizing: border-box;
  background-color: #F9F9F9;
  overflow: hidden;
  cursor: pointer;
}
.visualWrap .visualStyleWrap .visualStyleItem img {
  width: 100%;
  height: 100%;
}
.visualWrap .visualStyleWrap .visualStyleItem.select {
  border: 2px solid #3447D2;
}
.visualWrap .visualStyleWrap .visualStyleItem:hover {
  border: 2px solid #3447D2;
  transition: 0.2s;
}
.visualWrap .visualStyleWrap .visualStyleItem.disabled {
  opacity: 0.6;
  filter: grayscale(100%) brightness(0.7) contrast(0.5);
  cursor: not-allowed;
}
.visualWrap .visualStyleWrap .visualStyleItem.disabled:hover {
  border: 1px solid #E4E4E4;
}
.visualWrap .inputTotalWrap {
  display: flex;
  align-items: center;
  gap: 0.8rem;
}
.visualWrap .inputTotalWrap .inputWrap {
  margin-bottom: 0;
}
.visualWrap .inputWrap {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  margin-bottom: 0.8rem;
  z-index: 0;
}
.visualWrap .inputWrap:last-child {
  margin-bottom: 0;
}
.visualWrap .inputWrap.vertical {
  flex-direction: column;
  align-items: flex-start;
  gap: 0.4rem;
}
.visualWrap .inputWrap label, .visualWrap .inputWrap .stepName, .visualWrap .inputWrap .rangeWrap span {
  font-size: 1.4rem;
  color: #2D2D2D;
  font-weight: 400;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
}
.visualWrap .inputWrap.boundaryWrap label {
  width: 8rem;
}
.visualWrap .inputWrap label, .visualWrap .inputWrap .stepName {
  width: 5rem;
}
.visualWrap .inputWrap .stepName:disabled {
  border: none;
  padding: 0;
}
.visualWrap .inputWrap .stepName {
  padding-left: 0.4rem;
}
.visualWrap .inputWrap .borderSelect {
  margin-top: 0;
}
.visualWrap .inputWrap .borderSelect.disabled,
.visualWrap .inputWrap .borderSelect:disabled {
  background-color: #f5f5f5; /* 회색 배경 */
  color: #aaa; /* 흐린 글자색 */
  border: 1px solid #ddd;
  pointer-events: none; /* 클릭 방지 */
  cursor: not-allowed; /* 마우스 커서 금지표시 */
}
.visualWrap .inputWrap.clone {
  display: none !important;
}
.visualWrap #visualStyleForm .inputWrap label[for] {
  width: 3.4rem;
  text-align: right;
  flex-shrink: 0;
}
.visualWrap .colorButtonGroup {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  width: 100%;
}
.visualWrap .visually-hidden {
  position: absolute;
  width: 0.1rem;
  height: 0.1rem;
  padding: 0;
  margin: -0.1rem;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.visualWrap label.colorButton {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 0.5rem;
  width: auto;
  cursor: pointer;
  transition: all 0.3s ease;
  background-color: #fff;
}
.visualWrap label.colorButton:hover {
  border-color: #4a90e2;
  transform: translateY(-0.2rem);
}
.visualWrap label.colorButton:focus-within {
  border-color: #4a90e2;
  outline: none;
}
.visualWrap label.colorButton input[type=radio] {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
}
.visualWrap label.colorButton input[type=radio]:checked + .colorSwatch {
  box-shadow: 0 0 0 0.3rem #4a90e2, 0 0.2rem 0.4rem rgba(0, 0, 0, 0.2);
}
.visualWrap label.colorButton input[type=radio]:checked ~ .colorText {
  color: #4a90e2;
  font-weight: 600;
}
.visualWrap label.colorButton.red .colorSwatch {
  background-color: #ff4444;
}
.visualWrap label.colorButton.orange .colorSwatch {
  background-color: #ff8800;
}
.visualWrap label.colorButton.green .colorSwatch {
  background-color: #44cc44;
}
.visualWrap label.colorButton.sky .colorSwatch {
  background-color: #66ccff;
}
.visualWrap label.colorButton.blue .colorSwatch {
  background-color: #4488ff;
}
.visualWrap .userDefine .colorButtonGroup {
  width: auto;
}
.visualWrap .userDefine .colorButtonGroup .colorButton:hover {
  border: none;
  transform: translateY(0rem);
}
.visualWrap .colorSwatch {
  width: 2.4rem;
  height: 2.4rem;
  border-radius: 50%;
  border: 0.2rem solid #fff;
  box-shadow: 0 0.2rem 0.4rem rgba(0, 0, 0, 0.2);
  margin-bottom: 0.25rem;
}
.visualWrap .colorText {
  margin-top: 0.4rem;
  font-size: 1.2rem;
  font-weight: 500;
  color: #333;
}
.visualWrap .phoneNumWrap span {
  margin-top: 0;
}
.visualWrap .opctCircle {
  flex-shrink: 0;
  width: 2.4rem;
  height: 2.4rem;
  border-radius: 50px;
  background-color: red;
}
.visualWrap .rangeInput {
  flex: 1;
  min-width: 0;
}

#archInsertPanelWrap {
  position: relative;
  padding-bottom: 8rem;
}
#archInsertPanelWrap .TitSm500 {
  font-size: 1.4rem;
  font-weight: 400;
  color: #2D2D2D;
}
#archInsertPanelWrap .styled-textarea {
  padding: 0.8rem;
  width: 100%;
  font-size: 1.3rem;
  background-color: #F8F8F8;
  border: 1px solid #E4E4E4;
  box-sizing: border-box;
  height: 15rem;
  resize: none;
  transition: border-color 0.3s, box-shadow 0.3s;
  margin: 1rem 0rem;
}
#archInsertPanelWrap .styled-textarea:focus {
  border-color: #4a90e2;
  box-shadow: 0 0 5px rgba(74, 144, 226, 0.3);
  outline: none;
}
#archInsertPanelWrap .styled-textarea::placeholder {
  color: #aaa;
}
#archInsertPanelWrap .floatBtn {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  padding: 2rem;
  background-color: #fff;
  box-shadow: 0px 0px 8px 0px rgba(0, 0, 0, 0.08);
  box-sizing: border-box;
}
#archInsertPanelWrap .floatBtn button {
  margin-top: 0;
  background-color: #E4E4E4;
}
#archInsertPanelWrap .floatBtn button:hover {
  color: #717171;
}
#archInsertPanelWrap .floatBtn button.active {
  background-color: #3447D2;
  color: #fff;
}
#archInsertPanelWrap .btnClose {
  position: absolute;
  top: 0.6rem;
  right: 0.8rem;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 3.2rem;
  height: 3.2rem;
  border-radius: 100px;
  background-color: #fff;
  box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.16);
  cursor: pointer;
  z-index: 3;
}
#archInsertPanelWrap .btnClose:hover {
  box-shadow: 0 0 0 2px #E4E4E4 inset;
}
#archInsertPanelWrap .section.active {
  background: aliceblue;
}

.btnCloseApsol {
  position: absolute;
  top: 0.6rem;
  right: 0.8rem;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 3.2rem;
  height: 3.2rem;
  border-radius: 100px;
  background-color: #fff;
  box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.16);
  cursor: pointer;
  z-index: 3;
}
.btnCloseApsol:hover {
  box-shadow: 0 0 0 2px #E4E4E4 inset;
}

#archMyPanelWrap .btnFixed {
  position: fixed;
  width: 30rem;
  z-index: 1;
}
#archMyPanelWrap .btnClose.MBhide767 {
  position: absolute;
  top: -0.8rem;
  right: 2.4rem;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 3.2rem;
  height: 3.2rem;
  border-radius: 100px;
  background-color: #fff;
  box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.16);
  cursor: pointer;
  z-index: 3;
}
#archMyPanelWrap .btnClose.MBhide767:hover {
  box-shadow: 0 0 0 2px #E4E4E4 inset;
}

.hashtag-container {
  position: relative;
}

.suggestionsWrap {
  position: relative;
}
.suggestionsWrap .suggestions {
  position: absolute;
  height: 50rem;
  overflow-y: auto;
  background: #fff;
  width: 100%;
  border: 1px solid #ccc;
  max-height: 15rem;
  display: none;
  list-style-type: none;
  padding: 0;
  margin-top: 0.5rem;
  z-index: 10;
}
.suggestionsWrap .suggestions .suggestion-item {
  position: relative;
  padding: 0.6rem 0.4rem;
  cursor: pointer;
}
.suggestionsWrap .suggestions .suggestion-item.highlight {
  background-color: #d3d3d3; /* 선택된 항목 강조 */
}

.archListHeader {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.archListHeader .archResetBtn {
  margin-left: auto;
}

.introMain {
  position: relative;
  display: flex;
  z-index: 1;
}
.introMain article {
  position: relative;
  overflow: hidden;
  transition: all 1s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
  flex: 1;
  z-index: 1;
  height: 73vh; /* 동적인 높이 지정 후 삭제*/
}
@media all and (min-width: 991px) {
  .introMain article:hover {
    box-shadow: 3px 4px 65px 0px rgba(0, 0, 0, 0.95);
    flex: 1.3;
    z-index: 2;
  }
  .introMain article:hover .bgImg {
    transform: scale(1);
    cursor: pointer;
  }
  .introMain article:hover .textWrap {
    color: #fff;
  }
  .introMain article:hover .textWrap h1 {
    transition: 1s;
    font-size: 4.3vw;
    color: #011637;
    -webkit-text-stroke: 1px #fff;
    text-shadow: 2px 4px 4px rgba(0, 0, 0, 0.4);
    transition: all 1s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
  }
  .introMain article:hover .textWrap p {
    display: none;
  }
}
.introMain article .bgImg {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  transition: all 1s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
  transform: scale(1.05);
}
.introMain article .textWrap {
  position: relative;
  margin: 4vw 1vw 1vw 4vw;
  transition: all 1s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
  color: #fff;
}
.introMain article .textWrap h1 {
  font-size: 3.2vw;
  font-size: 6rem;
  font-weight: 900;
  text-shadow: 0.3rem 0.3rem 0.9rem rgba(0, 0, 0, 0.3);
}
.introMain article .textWrap h1 span {
  font-size: 3rem;
  font-weight: 700;
}
.introMain article .textWrap p {
  margin-top: 1.4rem;
  font-size: 2.4rem;
  line-height: 130%;
  font-weight: 400;
  text-shadow: 0rem 0.2rem 0.8rem rgba(0, 0, 0, 0.5);
}
.introMain .introLeft .bgImg {
  background-color: #060606;
  background-image: url("../images/introMainLeft2025.webp");
  background-size: cover;
}
@media all and (min-width: 991px) {
  .introMain .introLeft .bgImg:hover {
    background-image: url("../images/introMainLeft_hover.webp");
    background-position: left top;
    transition: all 1s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
  }
}
.introMain .introLeft .top10 {
  width: 76%;
  max-width: 72rem;
  position: absolute;
  left: 50%;
  bottom: 2rem;
  padding: 1.6rem;
  transform: translate(-50%, 0);
  border-radius: 0.8rem;
  border: 0.2rem solid #FFF;
  background: rgba(0, 0, 0, 0.4);
}
.introMain .introLeft .top10 h2 {
  font-size: 2.4rem;
  color: #fff;
  font-weight: 700;
  text-align: center;
}
.introMain .introLeft .top10 ul {
  margin-top: 1.6rem;
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: center;
  gap: 0.8rem;
}
.introMain .introLeft .top10 ul li {
  width: 10%;
  transition: 0.3s;
  border-radius: 0.8rem;
  overflow: hidden;
}
.introMain .introLeft .top10 ul li:hover {
  /*width:12%;
  min-width: 6.4rem;*/
  transition: 0.3s;
  text-shadow: 2px 4px 4px rgba(0, 0, 0, 0.4);
}
.introMain .introLeft .top10 ul li a img {
  width: 100%;
  transform: scale(0.9);
}
.introMain .introLeft .top10 ul li a img:hover {
  transform: scale(1);
}
.introMain .introRight .bgImg {
  background-color: #060606;
  background-image: url("../images/introMainRight2025.webp");
  background-size: cover;
}
@media all and (min-width: 991px) {
  .introMain .introRight .bgImg:hover {
    background-image: url("../images/introMainRight_hover.webp");
    background-position: left top;
    transition: all 1s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
  }
}
.introMain .introGoogleTrans {
  position: absolute;
  right: 2rem;
  bottom: 2rem;
  display: inline-flex;
  padding: 1.2rem 1.6rem;
  align-items: center;
  gap: 0.8rem;
  border-radius: 8px;
  border: 2px solid #FFF;
  background: rgba(0, 0, 0, 0.4);
}
.introMain .introGoogleTrans p {
  font-size: 2rem;
  font-weight: 600;
  color: #fff;
}

.mainBannerBG {
  position: relative;
  width: 100%;
  background-color: #DDE4EC;
  z-index: 2;
}

.banner-section {
  width: 100%;
  background: #DDE4EC;
  padding: 2.4rem;
  box-sizing: border-box;
  font-weight: 700;
}
.banner-section .bannerInner {
  width: 100%;
  max-width: 160rem; /* ← 웹 최대 너비 */
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
}

.banner-top {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.6rem;
  width: 100%;
}

.banner-top .card {
  position: relative;
  border-radius: 0.8rem;
  display: flex;
  align-items: center;
  height: 14rem; /* 상단 카드 고정 높이 */
  padding: 0 0 0 4rem;
  background: #376DC8;
  clip-path: inset(-0.4rem 0rem 0rem -0.4rem);
}
.banner-top .card.top-card--1 .card-text .title {
  text-shadow: -1px 0px #2655A3, 0px 1px #2655A3, 1px 0px #2655A3, 0px -1px #2655A3;
}
.banner-top .card.top-card--2 .card-text .title {
  text-shadow: -1px 0px #2655A3, 0px 1px #2655A3, 1px 0px #2655A3, 0px -1px #2655A3;
}
.banner-top .card:hover {
  box-shadow: 0 0.4rem 1.6rem 0 rgba(0, 0, 0, 0.16);
  transition: all 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
  cursor: pointer;
}
.banner-top .card:hover .card-img {
  transform: scale(1.05);
  transition: all 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
}
.banner-top .card::after {
  content: "";
  background: url(../images/newBadgeLeft.svg) no-repeat 0 0;
  width: 100%;
  height: 100%;
  position: absolute;
  left: -0.3rem;
  top: -0.6rem;
  bottom: 0;
}

/* 이미지 오른쪽 영역: 카드 너비의 45% */
.banner-top .card-img {
  position: absolute;
  right: 0;
  top: 0;
  bottom: 0;
  width: 50%; /* 카드 너비에 비례 */
  overflow: hidden;
  transition: width 0.2s;
  box-shadow: 0 0.4rem 1.6rem 0 rgba(0, 0, 0, 0.16);
  border-radius: 0 0 0.8rem 0;
}

.banner-top .card-img img {
  width: 100%;
  height: 100%;
  display: block;
  position: absolute;
  left: 0;
  top: 0.8rem;
  object-fit: cover;
  object-position: top left;
}

/* 텍스트: 이미지 영역(45%)만큼 오른쪽 패딩으로 겹침 방지 */
.banner-top .card-text {
  width: 55%; /* 이미지 45% → 텍스트 55% */
  min-width: 0;
  z-index: 1;
  padding-right: 1.2rem;
}

.banner-top .card-text .title {
  font-size: clamp(1.4rem, 1.6vw, 2.8rem);
  font-weight: 700;
  color: #fff;
  line-height: 1.3;
  word-break: keep-all;
}

.banner-top .card-text .sub {
  font-size: clamp(1rem, 1vw, 1.6rem);
  font-weight: 500;
  color: #fff;
  margin: 0.6rem 0 0.5rem;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  line-height: 130%;
}

.banner-bottom {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 1.6rem;
  width: 100%;
}

.banner-bottom .card {
  position: relative;
  background: #fff;
  border-radius: 0.8rem;
  overflow: hidden;
  aspect-ratio: 258/80; /* 광고 이미지 비율 기준 */
  display: flex;
  flex-direction: row; /* 아이콘 좌 + 텍스트 우 */
  align-items: center;
  gap: clamp(0.6rem, 1vw, 0.8rem);
  padding: 0 clamp(0.8rem, 1.2vw, 1.2rem);
  cursor: pointer;
  transition: box-shadow 0.2s;
  box-sizing: border-box;
}
.banner-bottom .card.ad-banner {
  padding: 0;
  aspect-ratio: 258/79;
}
.banner-bottom .card.ad-banner a {
  width: 100%;
  height: 100%;
}
.banner-bottom .card.ad-banner a img {
  width: 100%;
  height: 100%;
  object-fit: contain; /* 꾸겨짐/여백/짤림 방지 */
  display: block;
}
.banner-bottom .card {
  /* 카드 색상 */
}
.banner-bottom .card.card--blue {
  background: #F8FAFC;
  border: 1px solid #E6EFFF;
}
.banner-bottom .card.card--green {
  background: #F5FAF9;
  border: 1px solid #E7F7F3;
  overflow: visible;
  clip-path: inset(-0.8rem 0rem 0rem -0.8rem);
}
.banner-bottom .card.card--green::after {
  content: "";
  background: url(../images/newBadgeLeft.svg) no-repeat 0 0;
  background-size: auto 80%;
  width: 100%;
  height: 100%;
  position: absolute;
  left: -1.94%;
  top: -8.75%;
  bottom: 0;
}
.banner-bottom .card.card--pink {
  background: #FFFBF7;
  border: 1px solid #FFE8E8;
}
.banner-bottom .card.card--purple {
  background: #FAF5F9;
  border: 1px solid #E3E0FF;
}
.banner-bottom .card.card--orange {
  background: #FFFDEF;
  border: 1px solid #FFEEDA;
}
.banner-bottom .card.card--blue .card-icon {
  border: 1px solid #E6EFFF;
}
.banner-bottom .card.card--green .card-icon {
  border: 1px solid #E7F7F3;
}
.banner-bottom .card.card--pink .card-icon {
  border: 1px solid #FFE8E8;
}
.banner-bottom .card.card--purple .card-icon {
  border: 1px solid #E3E0FF;
}
.banner-bottom .card.card--orange .card-icon {
  border: 1px solid #FFEEDA;
}
.banner-bottom .card .card-icon {
  background: #fff;
}

.banner-bottom .card:hover {
  box-shadow: 0 0.3rem 1.2rem rgba(0, 0, 0, 0.13);
}

/* 아이콘 원형 */
.card-icon {
  flex: 0 0 auto;
  width: clamp(3.2rem, 3.2vw, 4.4rem);
  height: clamp(3.2rem, 3.2vw, 4.4rem);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #e0eaff;
}

.card-icon svg {
  width: 55%;
  height: 55%;
}

/* 텍스트 영역 */
.card-body {
  flex: 1 1 0;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
}

.card-label {
  font-size: clamp(1rem, 1.2vw, 1.8rem);
  font-weight: 700;
  color: #1d1d1d;
  line-height: 1.3;
  word-break: keep-all;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.card-desc {
  font-size: clamp(0.9rem, 0.8vw, 1.2rem);
  font-weight: 500;
  color: #555555;
  line-height: 1.3;
  word-break: keep-all;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.mainFootBG {
  background-color: #21262e;
  width: 100%;
  font-family: "Pretendard";
}

.mainFoot {
  width: 120rem;
  height: 9rem;
  margin: 0 auto;
  padding: 0;
}

.mainFoot .clear {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1.6rem;
}

.mainFoot li.con {
  margin-top: 2.4rem;
  display: flex;
  align-items: center;
  flex-flow: wrap;
  gap: 0.8rem;
}

.mainFoot li.con span {
  float: left;
}

.mainFoot li.con span.seoulLogo {
  width: 7.6rem;
  height: 4rem;
  background-size: 96px 33px !important;
  background: url(../images/logo_footer.png) -18px 0px no-repeat;
}

.mainFoot li.con span.txt {
  font-size: 3rem;
  color: #fff;
}

.mainFoot li.con span.txt2 {
  font-size: 1.4rem;
  color: rgba(255, 255, 255, 0.8);
}

.mainFoot li.line {
  display: block;
  float: left;
  margin-top: 3rem;
}

.mainFoot li.line span {
  display: block;
  width: 0.2rem;
  height: 3.1rem;
  margin-left: 0.4rem;
  background-color: rgba(255, 255, 255, 0.7);
}

.mainFoot li.con2 {
  margin-top: 1.6rem;
  font-size: 1.2rem;
  color: rgba(255, 255, 255, 0.6);
  line-height: 1.9rem;
}

.mainFoot li.con2 p {
  padding-top: 0;
}

.mainFoot li.con2 a {
  color: rgb(255, 255, 255);
}

.mainFoot li.con2 a:hover {
  color: #fff;
  text-decoration: underline;
}

/* 팝업 */
.overlay {
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.4);
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1100;
  visibility: hidden;
  opacity: 0;
  transition: all 0.5s ease;
  color: black;
}

#openPopDiv_report {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  max-width: 60rem;
  height: auto;
  color: black;
  font-size: 1.3rem;
  display: inline;
  width: 80%;
  background: #f4f4f6;
}
#openPopDiv_report .modal_content {
  width: 100%;
  box-sizing: border-box;
  height: auto;
}
#openPopDiv_report img {
  width: auto;
  max-width: 100%;
}
#openPopDiv_report .modal_footer_report {
  width: 100%;
  padding: 10px 0;
  font-size: 1.4rem;
}
#openPopDiv_report input[type=checkbox] {
  overflow: hidden;
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  border: 0;
  clip: rect(0, 0, 0, 0);
}
#openPopDiv_report input[type=checkbox] + label {
  margin-left: 12px;
  font-family: "맑은 고딕";
  font-size: 12px;
  display: inline-block;
  position: relative;
  line-height: 18px;
  cursor: pointer;
  user-select: none;
}
#openPopDiv_report input[type=checkbox] + label:before {
  content: "";
  display: inline-block;
  width: 1.3rem;
  height: 1.3rem;
  margin: -1px 4px 0 0;
  border: 1px solid #3587ba;
  background: #fff;
  line-height: 13px;
  text-align: center;
  vertical-align: middle;
}
#openPopDiv_report input[type=checkbox]:checked + label:before {
  content: "✔";
  font-size: 1.2rem;
  color: #3587ba;
}
#openPopDiv_report .close_report {
  position: absolute;
  bottom: 1.1rem;
  right: 1rem;
  color: #000000;
  cursor: pointer;
}

.themeCopyIcon {
  position: absolute;
  top: 1rem;
  right: 0.8rem;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  height: 2.5rem;
}

.ist_conts_id {
  display: flex;
  gap: 0.5rem;
}
.ist_conts_id input {
  flex: 3.5;
}
.ist_conts_id button {
  flex: 1;
  background-color: #F0F0F0;
  color: #1d1d1d;
}
.ist_conts_id button.active {
  background-color: #3447D2;
  color: #fff;
}

.alertMsg {
  font-weight: 500;
  font-size: 1rem;
  margin-top: 0.5rem;
}
.alertMsg.error {
  color: #ff0000;
}
.alertMsg.info {
  color: #3447D2;
}

.mobileNav {
  display: none;
}

#contSubInfoWrap {
  overflow-x: hidden;
}

/* 주소 */
.map_addArea {
  display: flex;
  align-items: center;
  height: 3rem;
  background: rgba(0, 0, 0, 0.6);
  border-radius: 30px;
  vertical-align: middle;
  position: absolute;
  bottom: 1rem;
  z-index: 600;
  left: 25%;
  width: 50%;
}
.map_addArea .addTxt {
  padding: 0 0.8rem;
  flex-grow: 1;
  color: #fff;
  text-align: center;
  font-weight: 500;
  font-size: 1.4rem;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  overflow: hidden;
  -webkit-line-clamp: 1;
}
.map_addArea .moveSeoulBtn {
  flex-shrink: 0;
  margin-right: 0.6rem;
  padding: 0.4rem 0.8rem;
  background-color: #fff;
  color: #1d1d1d;
  font-size: 1.2rem;
  border-radius: 30px;
  cursor: pointer;
  font-weight: 700;
}
@media (max-width: 991px) {
  .map_addArea {
    left: 10%;
    width: 80%;
  }
  .map_addArea .addTxt {
    font-size: 14px;
  }
}
