/*
 * @file
 * Overall specifications for Base+.
 */
:root {
  --mt-text-size: 16px;
  --mt-modular-ratio: 1.287;
  /* you need to enable the coresponding theme setting first */
  --mt-headings-letter-spacing: 0.1em;
}
body {
  font-size: var(--mt-text-size);
  font-weight: 400;
  line-height: 1.6;
  text-rendering: optimizeLegibility;
}

/*Paragraphs and links*/
p {
  margin: 0;
  padding: 0 0 18px 0;
}
p.large {
  font-size: 28px;
  line-height: 1.45;
  font-weight: 700;
  margin-bottom: 20px;
}
p.extra-large {
  font-size: 30px;
  line-height: 1.30;
}
.mt-text-muted {
  opacity: 0.65;
}
a {
  -webkit-transition: all 0.2s ease-in-out;
  -moz-transition: all 0.2s ease-in-out;
  -ms-transition: all 0.2s ease-in-out;
  -o-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
}
a:not([class]),
a.mt-link-stylable:not(:hover) {
  text-decoration: none;
}
a:hover {
  text-decoration: underline;
}
a:focus {
  outline: none;
  text-decoration: underline;
}
a.link--bordered,
.link--bordered a {
  border-bottom-width: 1px;
  border-bottom-style: solid;
  text-decoration: none;
}
.region--default-background a.link--bordered,
.region--default-background .link--bordered a,
.region--default-background a.link--bordered:hover,
.region--default-background .link--bordered a:hover,
.region--default-background a.link--bordered:focus,
.region--default-background .link--bordered a:focus {
    color: var(--mt-color-default-contrast);
}
.region--bright-background a.link--bordered,
.region--bright-background .link--bordered a,
.region--bright-background a.link--bordered:hover,
.region--bright-background .link--bordered a:hover,
.region--bright-background a.link--bordered:focus,
.region--bright-background .link--bordered a:focus {
  color: var(--mt-color-bright-contrast);
}
.region--accent-background a.link--bordered,
.region--accent-background .link--bordered a,
.region--accent-background a.link--bordered:hover,
.region--accent-background .link--bordered a:hover,
.region--accent-background a.link--bordered:focus,
.region--accent-background .link--bordered a:focus {
  color: var(--mt-color-accent-contrast);
}
.region--tint-background a.link--bordered,
.region--tint-background .link--bordered a,
.region--tint-background a.link--bordered:hover,
.region--tint-background .link--bordered a:hover,
.region--tint-background a.link--bordered:focus,
.region--tint-background .link--bordered a:focus {
  color: var(--mt-color-tint-contrast);
}
.region--shade-background a.link--bordered,
.region--shade-background .link--bordered a,
.region--shade-background a.link--bordered:hover,
.region--shade-background .link--bordered a:hover,
.region--shade-background a.link--bordered:focus,
.region--shade-background .link--bordered a:focus {
  color: var(--mt-color-shade-contrast);
}
.region--colored-background a.link--bordered,
.region--colored-background .link--bordered a,
.region--colored-background a.link--bordered:hover,
.region--colored-background .link--bordered a:hover,
.region--colored-background a.link--bordered:focus,
.region--colored-background .link--bordered a:focus {
  color: var(--mt-color-colored-contrast);
}
.region--dark-colored-background a.link--bordered,
.region--dark-colored-background .link--bordered a,
.region--dark-colored-background a.link--bordered:hover,
.region--dark-colored-background .link--bordered a:hover,
.region--dark-colored-background a.link--bordered:focus,
.region--dark-colored-background .link--bordered a:focus {
  color: var(--mt-color-dark-colored-contrast);
}
.region--dark-background a.link--bordered,
.region--dark-background .link--bordered a,
.region--dark-background a.link--bordered:hover,
.region--dark-background .link--bordered a:hover,
.region--dark-background a.link--bordered:focus,
.region--dark-background .link--bordered a:focus {
  color: var(--mt-color-dark-contrast);
}
.region--pattern a.link--bordered,
.region--pattern .link--bordered a,
.region--pattern a.link--bordered:hover,
.region--pattern .link--bordered a:hover,
.region--pattern a.link--bordered:focus,
.region--pattern .link--bordered a:focus {
  color: var(--mt-color-pattern-contrast);
}
a.link--bordered:hover,
.link--bordered a:hover {
  border-bottom-width: 1px;
  border-bottom-style: solid;
  text-decoration: none;
  border-color: transparent;
}
a.link--hover-style-2,
.link--hover-style-2 a {
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
  position: relative;
  display: inline-block;
}
a.link--hover-style-2:before,
.link--hover-style-2 a:before {
  font-family: 'Font Awesome 5 Free', 'Font Awesome 5 Pro';
  content: "\f105";
  font-weight: 900;
  position: absolute;
  left: -15px;
  top: 50%;
  margin-top: -6px;
  font-size: 14px;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
  -webkit-transition-delay: 0s;
  transition-delay: 0s;
  opacity: 0;
  filter: alpha(opacity=0);
  line-height: 1;
}
a.link--hover-style-2:hover,
.link--hover-style-2 a:hover {
  padding-left: 20px;
  text-decoration: none;
}
a.link--hover-style-2:hover:before,
.link--hover-style-2 a:hover:before {
  left: 0;
  opacity: 1;
  filter: alpha(opacity=100);
  -webkit-transition-delay: 0.1s; /* Safari */
  transition-delay: 0.1s;
}
.link--hover-style-3 {
  background-repeat: repeat-x;
  background-size: 0px 0px;
  background-position: 0 25%;
  transition: 150ms ease-in-out;
}
.link--hover-style-3:hover {
  background-size: 1.2em 1.4em;
  text-decoration: none;
}
.region--default-background .link--hover-style-3:hover,
.region--default-background .link--hover-style-3:focus {
  color: var(--mt-color-secondary-contrast);
}
.region--bright-background .link--hover-style-3:hover,
.region--bright-background .link--hover-style-3:focus {
  color: var(--mt-color-secondary-contrast);
}
.region--accent-background .link--hover-style-3:hover,
.region--accent-background .link--hover-style-3:focus {
  color: var(--mt-color-secondary-contrast);
}
.region--tint-background .link--hover-style-3:hover,
.region--tint-background .link--hover-style-3:focus {
  color: var(--mt-color-secondary-contrast);
}
.region--shade-background .link--hover-style-3:hover,
.region--shade-background .link--hover-style-3:focus {
  color: var(--mt-color-secondary-contrast);
}
.region--colored-background .link--hover-style-3:hover,
.region--colored-background .link--hover-style-3:focus {
  background-image: linear-gradient(var(--mt-color-colored-contrast) 0%, var(--mt-color-colored-contrast) 100%);
  color: var(--mt-color-colored);
}
.region--dark-colored-background .link--hover-style-3:hover,
.region--dark-colored-background .link--hover-style-3:focus {
  color: var(--mt-color-secondary-contrast);
}
.region--dark-background .link--hover-style-3:hover,
.region--dark-background .link--hover-style-3:focus {
  color: var(--mt-color-secondary-contrast);
}
.region--pattern .link--hover-style-3:hover,
.region--pattern .link--hover-style-3:focus {
  color: var(--mt-color-secondary-contrast);
}
.text--drop-cap:first-letter {
  float: left;
  font-size: 2.77em;
  line-height: 0.8;
  padding-top: 9px;
  padding-right: 12px;
}
.drop-cap {
  text-align: center;
  display: inline-block;
  font-size: 1.66em;
  line-height: 44px;
  width: 45px;
  height: 45px;
  border-radius: 100%;
  border-width: 1px;
  border-style: solid;
  float: left;
  margin-right: 10px;
}

/*Basic elements*/
img {
  height: auto;
  max-width: 100%;
  border-radius: 0;
}
img.img--bordered,
.img--bordered img {
  border: 1px solid #e5e5e5;
}
code,
pre {
  word-wrap: break-word;
  word-break: break-all;
  white-space: pre;
  white-space: pre-wrap;
  font-family: 'Source Code Pro', Consolas, Monaco, Courier;
}
pre {
  background: #f6f6f6;
  border:none;
  border-left: 10px solid #d3d1cd;
  -webkit-border-radius: 0px;
  -moz-border-radius: 0px;
  border-radius: 0px;
  padding: 20px;
  font-size: 12px;
  max-height: 58px;
  overflow: hidden;
  margin: 40px 0 40px 45px;
}
pre:hover,
pre:focus {
  max-height: 10000px;
 -webkit-transition: all ease-in-out 2s;
 -moz-transition: all ease-in-out 2s;
 -o-transition: all ease-in-out 2s;
 -ms-transition: all ease-in-out 2s;
 transition: all ease-in-out 2s;
}
blockquote {
  font-size: 18px;
  line-height: 1.5;
  font-weight: 500;
  padding: 0;
  border-left: none;
  text-align: left;
  position: relative;
  margin: 20px 0px;
  padding: 0 0 0 65px;
}

/*blockquote quote symbol*/
blockquote:before {
  content: "\201C";
  font-size: 48px;
  position: absolute;
  text-align: center;
  font-style: normal;
  font-weight: 700;
  top: -15px;
  width: 65px;
  left: 0;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, Ubuntu, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
}
@media (max-width: 767px) {
  blockquote.text-center {
    padding: 0 32px;
  }
  blockquote.text-center:before {
    width: 32px;
  }
  blockquote {
    padding: 0 0 0 45px;
  }
  blockquote:before {
    width: 45px;
  }
}

hr {
  border-top-width: 1px;
  border-top-style: solid;
  margin-bottom: 40px;
  margin-top: 40px;
}
.region--default-background hr {
  border-color: rgba(var(--mt-color-default-contrast-value), 0.3);
}
.region--bright-background hr {
  border-color: rgba(var(--mt-color-bright-contrast-value), 0.3);
}
.region--pattern hr {
  border-color: rgba(var(--mt-color-pattern-contrast-value), 0.3);
}
.region--accent-background hr {
  border-color: rgba(var(--mt-color-accent-contrast-value), 0.3);
}
.region--tint-background hr {
  border-color: rgba(var(--mt-color-tint-contrast-value), 0.3);
}
.region--shade-background hr {
  border-color: rgba(var(--mt-color-shade-contrast-value), 0.3);
}
.region--colored-background hr {
  border-color: rgba(var(--mt-color-colored-contrast-value), 0.3);
}
.region--dark-colored-background hr {
  border-color: rgba(var(--mt-color-dark-colored-contrast-value), 0.3);
}
.region--dark-background hr {
  border-color: rgba(var(--mt-color-dark-contrast-value), 0.3);
}
.mt-separator {
  display: block;
  border: 0;
  padding: 30px 0;
  margin: 0;
  width: 100%;
}
@media (max-width: 767px) {
  .mt-separator {
    padding: 15px 0;
  }
}

/*Headings*/
h1,
h2,
h3,
h4,
h5,
h6 {
  line-height: 1.20;
  padding: 0;
  margin: 20px 0 10px 0;
  font-weight: 700;
  color: var(--mt-color-high-contrast);
}
.headings-wide-spacing-enabled h1,
.headings-wide-spacing-enabled h2,
.headings-wide-spacing-enabled h3,
.headings-wide-spacing-enabled h4,
.headings-wide-spacing-enabled h5,
.headings-wide-spacing-enabled h6 {
  letter-spacing: var(--mt-headings-letter-spacing);
  text-transform: uppercase;
}
h6 {
  font-size: calc(var(--mt-text-size) * 1.125);
  margin-top: var(--mt-text-size);
}
h5 {
  font-size: calc(var(--mt-text-size) * var(--mt-modular-ratio));
  margin-top: var(--mt-text-size);
}
h4 {
  font-size: calc((var(--mt-text-size) * var(--mt-modular-ratio)) * var(--mt-modular-ratio));
  margin-top: var(--mt-text-size);
}
h3 {
  font-size: calc(((var(--mt-text-size) * var(--mt-modular-ratio)) * var(--mt-modular-ratio)) * var(--mt-modular-ratio));
  margin-top: var(--mt-text-size);
}
h2 {
  font-size: calc((((var(--mt-text-size) * var(--mt-modular-ratio)) * var(--mt-modular-ratio)) * var(--mt-modular-ratio)) * var(--mt-modular-ratio));
  margin-top: var(--mt-text-size);
}
h1 {
  font-size: calc(((((var(--mt-text-size) * var(--mt-modular-ratio)) * var(--mt-modular-ratio)) * var(--mt-modular-ratio)) * var(--mt-modular-ratio)) * var(--mt-modular-ratio));
  margin-top: var(--mt-text-size);
}
h1.title {
  margin-top: 0;
}
h1.page-title {
  margin-bottom: 40px;
}
@media (max-width: 576px) {
  h1 {
    font-size: calc(((var(--mt-text-size) * var(--mt-modular-ratio)) * var(--mt-modular-ratio)) * var(--mt-modular-ratio));
  }
}
.mt-view-header-enabled h1.page-title {
  margin-top: 0;
  margin-bottom: 16px;
}
@media (max-width: 576px) {
  .mt-view-header-enabled h1.page-title {
    font-size: 20px;
  }
}
.banner__section h1.page-title {
  text-align: center;
  margin-bottom: 0;
  margin-top: 0;
}
.banner__section .block:last-child h1.page-title {
  margin-bottom: 90px;
}
@media (max-width: 767px) {
  .banner__section .block:last-child h1.page-title {
    margin-bottom: 35px;
  }
}
.banner__section .block:first-child:last-child h1.page-title {
  margin: 30px 0;
}
.banner__section .block:first-child h1.page-title {
  margin-bottom: 0;
}

/*resposinve text align*/
@media (min-width: 1200px) {
  .lg-text-center {
    text-align: center;
  }
}
@media (min-width: 992px) and (max-width: 1199px) {
  .md-text-center {
    text-align: center;
  }
}
@media (min-width: 768px) and (max-width: 991px) {
  .sm-text-center {
    text-align: center;
  }
}
@media (max-width: 767px) {
  .xs-text-center {
    text-align: center;
  }
}

/*Block title*/
.block-title {
  font-size: 30px;
  margin: 0 0 15px 0;
  padding-bottom: 15px;
  text-transform: uppercase;
}
.block-title.block-title--border {
  border-bottom-width: 2px;
  border-bottom-style: solid;
  border-bottom-color: transparent;
  margin: 0 0 12px 0;
}
.block-title--medium {
  font-size: 42px;
  margin-bottom: 15px;
}
.block-title--large {
  font-size: 55px;
  margin-bottom: 15px;
}
.block-title--extra-large {
  font-size: 60px;
  margin-bottom: 15px;
  text-transform: uppercase;
}
@media (max-width: 767px) {
  .block-title--medium {
    font-size: 24px;
  }
  .block-title--large {
    font-size: 30px;
  }
  .block-title--extra-large {
    font-size: 48px;
  }
}
.headings-wide-spacing-enabled .block-title--large,
.headings-wide-spacing-enabled .block-title--extra-large {
  letter-spacing: var(--mt-headings-letter-spacing);
  text-transform: uppercase;
}
h4.title,
h2.title,
nav > h2,
.block-search > h2 {
  font-size: 22px;
  margin: 0 0 15px 0;
}
.hero__section h4.title,
.hero__section h2.title,
.hero__section nav > h2,
.hero__section .block-search > h2 {
  padding-bottom: 10px;
}
.hero-top.region--no-paddings + .hero .hero__section h4.title,
.hero-top.region--no-paddings + .hero .hero__section h2.title,
.hero-top.region--no-paddings + .hero .hero__section nav > h2,
.hero-top.region--no-paddings + .hero .hero__section .block-search > h2 {
  margin-top: 10px;
}
.footer__section h4.title,
.footer__section h2.title,
.footer__section nav > h2,
.footer__section .block-search > h2 {
  font-size: 18px;
  font-weight: 500;
}

/* Sidebar Block title */
.sidebar__section h4.title,
.sidebar__section h2.title,
.sidebar__section nav > h2,
.sidebar__section .block-search > h2 {
  padding-left: 30px;
  position: relative;
  margin-bottom: 25px;
}
.sidebar__section h4.title:before,
.sidebar__section h2.title:before,
.sidebar__section nav > h2:before,
.sidebar__section .block-search > h2:before {
  content: "";
  position: absolute;
  width: 15px;
  height: 4px;
  background-color: transparent;
  left: 0;
  top: 50%;
  margin-top: -2px;
}
.region--colored-background .sidebar__section h4.title:before,
.region--colored-background .sidebar__section h2.title:before,
.region--colored-background .sidebar__section nav > h2:before,
.region--colored-background .sidebar__section .block-search > h2:before {
  background-color: var(--mt-color-colored-contrast);
  background: var(--mt-color-colored-contrast);
}
.region--dark-colored-background .sidebar__section h4.title:before,
.region--dark-colored-background .sidebar__section h2.title:before,
.region--dark-colored-background .sidebar__section nav > h2:before,
.region--dark-colored-background .sidebar__section .block-search > h2:before {
  background-color: var(--mt-color-dark-colored-contrast);
  background: var(--mt-color-dark-colored-contrast);
}
.region--shade-background .sidebar__section h4.title:before,
.region--shade-background .sidebar__section h2.title:before,
.region--shade-background .sidebar__section nav > h2:before,
.region--shade-background .sidebar__section .block-search > h2:before {
  background-color: var(--mt-color-shade-contrast);
  background: var(--mt-color-shade-contrast);
}
.region--dark-background .sidebar__section h4.title:before,
.region--dark-background .sidebar__section h2.title:before,
.region--dark-background .sidebar__section nav > h2:before,
.region--dark-background .sidebar__section .block-search > h2:before {
  background-color: var(--mt-color-dark-contrast);
  background: var(--mt-color-dark-contrast);
}

/* block titles at full width regions */
.col-12 h2.title,
.col-12 nav > h2,
.col-12 .block-search > h2 {
  margin: 20px 0 60px;
  border-bottom: none;
  position: relative;
  font-size: 48px;
  text-align: center;
}
.col-12 .content-bottom-highlighted__section h2.title,
.col-12 .content-bottom-highlighted__section nav > h2,
.col-12 .content-bottom-highlighted__section .block-search > h2 {
  margin-top: 0;
  text-align: center;
}
@media (max-width: 575px) {
  .col-12 h2.title,
  .col-12 nav > h2,
  .col-12 .block-search > h2 {
    font-size: 30px;
  }
}
.col-12 .sub-featured__section h2.title,
.col-12 .sub-featured__section nav > h2,
.col-12 .sub-featured__section .block-search > h2 {
  text-align: center;
}
.col-12 .footer__section h4.title,
.col-12 .footer__section h2.title,
.col-12 .footer__section nav > h2,
.col-12 .footer__section .block-search > h2 {
  font-size: 22px;
  margin: 0 0 15px 0;
  text-align: left;
}

/* news-hero block titles*/
.region-content .mt-news-hero h2.title {
  font-size: 30px;
  margin-top: 0;
  text-align: left;
  margin-bottom: 30px;
}

/*slideout region*/
.slideout__section h2.title,
.slideout__section nav > h2,
.slideout__section .block-search > h2 {
  margin: 0 0 20px 0;
}

/*spacing*/
.bottom-spacing-small {
  padding-bottom: 25px;
}
.bottom-spacing-medium {
  padding-bottom: 50px;
}
.bottom-spacing-large {
  padding-bottom: 90px;
}
.top-spacing-small {
  padding-top: 25px;
}
.top-spacing-medium {
  padding-top: 50px;
}
.top-spacing-large {
  padding-top: 90px;
}

/*misc*/
.mt-no-opacity {
  opacity: 0;
}

/*Bootstrap 5 related issues*/
em.placeholder {
  background-color: inherit;
  opacity: 1;
}
a.layout-builder__link:not(:hover) {
  text-decoration: none;
}



#main-content > div > div > div > section > div > div > article > div > div > div:nth-child(4){
  background: #f6f6f6;
    text-align: center;
        border-top-width: 1px;
    border-top-style: solid;
    border-top-color: rgba(0, 0, 0, 0.08);
        text-align: center;

    margin-top: 50px;
    padding: 50px 0px 100px 0px;

}

/* 기본 상태 */
#main-content > div > div > div > section > div > div > article > div > div > div:nth-child(4) a > img {
    width: 180px;
    height: auto;

    opacity: 0.9;             /* 약간 투명하게 */
    transition: all 0.4s ease; /* 부드러운 변화 */
    border-radius: 8px;       /* 모서리 곡선 */
}

/* 마우스 오버(Hover) 시 */
#main-content > div > div > div > section > div > div > article > div > div > div:nth-child(4) a:hover > img {
    filter: grayscale(0%);    /* 원래 색상으로 */
    opacity: 1;               /* 선명하게 */
    transform: translateY(-5px); /* 살짝 위로 이동 */
}

/* 기본 컨테이너 */
.news-item {
    display: flex;
    gap: 24px;
    margin-bottom: 32px;
    padding-bottom: 32px;
    border-bottom: 1px solid #eee;
    font-family: 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
}

/* 이미지 스타일 */
.news-image {
    flex: 0 0 300px; /* 이미지 너비 고정 */
    max-width: 300px;
}

.news-image img {
    width: 100%;
    height: 180px;
    object-fit: cover;
    border-radius: 12px;
}

/* 텍스트 콘텐츠 영역 */
.news-content {
    flex: 1; /* 남은 공간을 모두 차지 */
    display: flex;
    flex-direction: column;
    justify-content: center;
}

/* 상단 메타 정보 (카테고리 등) */
.news-meta-top {
    font-size: 13px;
    font-weight: bold;
    margin-bottom: 8px;
}

.news-meta-top .category {
    color: #0056b3;
    text-transform: uppercase;
}

.news-meta-top .source {
    color: #5e5e5e;
}

/* 제목 스타일 */
.news-title {
    margin: 0 0 8px 0;
    font-size: 22px;
    line-height: 1.3;
    font-weight: 700;
}

.news-title a {
    color: #1d1d1f;
    text-decoration: none;
    transition: color 0.2s;
}

.news-title a:hover {
    color: #0056b3;
    text-decoration: underline;
}

/* 본문 요약 (2줄 제한) */
.news-body {
    font-size: 16px;
    color: #5e5e5e;
    line-height: 1.5;
    margin-bottom: 12px;
    display: -webkit-box;
    -webkit-line-clamp: 2; /* 2줄까지만 표시 */
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* 하단 메타 정보 (날짜 등) */
.news-meta-bottom {
    font-size: 13px;
    color: #828587;
}

/* --- 이미지 없는 경우의 처리 --- */
.news-item.no-image .news-content {
    max-width: 100%;
}

.news-item.no-image .news-title {
    font-size: 24px; /* 이미지가 없으면 제목을 더 크게 강조 가능 */
}

/* 모바일 대응 */
@media (max-width: 768px) {
    .news-item {
        flex-direction: column;
        gap: 16px;
    }
    .news-image {
        flex: none;
        max-width: 100%;
    }
    .news-image img {
        height: auto;
        aspect-ratio: 16 / 9;
    }
}

#main-content > div > div > div > section > div > div > article > div > div > div:nth-child(3){
      margin-top: 70px;
    margin-bottom: 50px;
}

/* 사이드바 컬럼 설정 */
.layout-builder__layout > .col-lg-3 {
    /* 부모가 Flexbox일 때 높이를 100% 유지해야 sticky가 작동함 */
    height: inherit; 
}

/* 실제 공지사항 블록 고정 */
.block-views-blockfront-last-block-2 {
    position: -webkit-sticky; /* 사파리 브라우저 대응 */
    position: sticky;
    top: 20px; /* 스크롤 시 상단에서 20px 떨어진 지점에 고정 (헤더 높이에 따라 조절) */
    z-index: 10;
}

body > div.dialog-off-canvas-main-canvas > div > div.page-top-container > div.header-container > div.sticky-wrapper > header{
      background-color: gold !important;
}

/* 그리드 컨테이너 최적화 */
.views-view-responsive-grid {
    display: grid !important;
    /* 화면 크기에 따라 자동으로 열 개수 조절 (최소 220px) */
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)) !important; 
    gap: 24px !important;
    padding: 15px 0;
    --views-responsive-grid--column-count: none !important;
}

/* 개별 카드 아이템 (seoul_main_event) */
.seoul_main_event {
    background: #ffffff;
    border: 1px solid #dee2e6;
    border-radius: 12px;
    padding: 30px 20px;
    text-align: center;
    transition: all 0.3s ease-in-out;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.03);
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    position: relative;
    cursor: pointer;
}

/* 카드 상단에 5.18 블루 포인트 라인 */
.seoul_main_event::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 5px;
    background-color: #0056b3; /* 메인 블루 */
    border-radius: 12px 12px 0 0;
}

/* 호버 시 효과: 살짝 올라가며 파란색 강조 */
.seoul_main_event:hover {
    transform: translateY(-10px);
    box-shadow: 0 15px 30px rgba(0, 86, 179, 0.1);
    border-color: #0056b3;
}

/* 제목(h5) 스타일 */
.seoul_main_event h5 {
    margin: 0 0 15px 0;
    font-size: 1.2rem;
    font-weight: 700;
    color: #333;
    line-height: 1.4;
    word-break: keep-all; /* 단어 단위 줄바꿈으로 깔끔하게 */
}

.seoul_main_event h5 a {
    color: inherit;
    text-decoration: none;
}

.seoul_main_event h5 a:hover {
    color: #0056b3;
}

/* 관련글 숫자 배지 스타일 */
.seoul_main_event p {
    margin: 0;
    font-size: 0.9rem;
    font-weight: 500;
    color: #0056b3; /* 파란색 강조 */
    background: #eef4ff;
    padding: 6px 16px;
    border-radius: 30px;
    display: inline-block;
}

/* 반응형 모바일 대응 */
@media (max-width: 600px) {
    .views-view-responsive-grid {
        grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)) !important;
        gap: 15px !important;
    }
    .seoul_main_event {
        padding: 20px 10px;
    }
    .seoul_main_event h5 {
        font-size: 1rem;
    }
}

/* 그리드 설정 (부모 컨테이너) */
.views-view-responsive-grid {
    gap: 30px !important;
}

/* 카드 전체 스타일 */
.seoul-gallery-card {
    background: #fff;
    border-radius: 15px;
    overflow: hidden;
    border: 1px solid #eee;
    transition: all 0.3s ease;
    height: 100%;
    display: flex;
    flex-direction: column;
}

.seoul-gallery-card:hover {
    transform: translateY(-10px);
    box-shadow: 0 15px 35px rgba(0,0,0,0.1);
}

/* 이미지 영역 및 오버레이 */
.gallery-thumb {
    position: relative;
    width: 100%;
    aspect-ratio: 4 / 3; /* 이미지 비율 고정 */
    overflow: hidden;
    background: #f8f9fa;
}

.gallery-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s ease;
}

.seoul-gallery-card:hover .gallery-thumb img {
    transform: scale(1.1);
}

/* 수상년도 & 타입 배지 */
.gallery-status {
    position: absolute;
    top: 12px;
    left: 12px;
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.badge-year {
    background: #d7191f; /* 5.18 로고의 레드 */
    color: #fff;
    padding: 3px 10px;
    font-size: 0.75rem;
    font-weight: 700;
    border-radius: 4px;
    box-shadow: 2px 2px 5px rgba(0,0,0,0.2);
}

.badge-type {
    background: #0056b3; /* 5.18 로고의 블루 */
    color: #fff;
    padding: 3px 10px;
    font-size: 0.75rem;
    font-weight: 700;
    border-radius: 4px;
    box-shadow: 2px 2px 5px rgba(0,0,0,0.2);
}

/* 텍스트 상세 영역 */
.gallery-details {
    padding: 20px;
    flex-grow: 1;
    display: flex;
    flex-direction: column;
}

.gallery-title {
    margin: 0 0 10px 0;
    font-size: 1.1rem;
    font-weight: 700;
    color: #222;
    line-height: 1.4;
}

.gallery-body {
    font-size: 0.9rem;
    color: #666;
    margin-bottom: 15px;
    display: -webkit-box;
    -webkit-line-clamp: 2; /* 2줄까지만 노출 */
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* 태그 영역 */
.gallery-tags-wrap {
    margin-top: auto;
    font-size: 0.8rem;
    color: #0056b3;
}

.gallery-tags-wrap a {
    color: #0056b3;
    text-decoration: none;
    margin-right: 5px;
}

.gallery-tags-wrap a::before {
    content: "#";
}

/* 썸네일 영역 최적화 */
.gallery-thumb {
    position: relative;
    width: 100%;
    /* 이미지가 없어도 4:3 비율을 강제로 유지합니다. */
    aspect-ratio: 4 / 3; 
    overflow: hidden;
    /* 이미지가 없을 때 보여줄 기본 배경색 */
    background-color: #f1f3f5;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* 이미지가 없을 때 중앙에 표시될 아이콘 또는 텍스트 (선택사항) */
.gallery-thumb:not(:has(img))::after {
    content: "No Image"; /* 또는 이미지 아이콘 기호 */
    color: #adb5bd;
    font-size: 0.9rem;
    font-weight: 500;
}

/* 이미지 스타일 (있을 때만 작동) */
.gallery-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover; /* 비율에 맞춰 꽉 채움 */
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1; /* 이미지 출력 시 배경보다 위에 위치 */
}

/* 수상 배지 (이미지 위로 항상 노출) */
.gallery-status {
    position: absolute;
    top: 12px;
    left: 12px;
    display: flex;
    flex-direction: column;
    gap: 5px;
    z-index: 2; /* 이미지보다 항상 위에 배치 */
}