@charset "UTF-8";

@import url("https://img.seoul.co.kr/css/webfont_pretendard.css");
/* @import url("https://fonts.googleapis.com/css2?family=Montserrat:wght@100;200;300;400;500;600;700;800;900&display=swap"); */
/* @import url("https://cdn.jsdelivr.net/gh/fonts-archive/Paperlogy/Paperlogy.css"); */

/*
@font-face {
  font-family: "Paperlogy";
  font-weight: 900;
  font-style: normal;
  font-display: swap;
  src: url("https://cdn.jsdelivr.net/gh/fonts-archive/Paperlogy/Paperlogy-9Black.woff2")
      format("woff2"),
    url("https://cdn.jsdelivr.net/gh/fonts-archive/Paperlogy/Paperlogy-9Black.woff")
      format("woff"),
    url("https://cdn.jsdelivr.net/gh/fonts-archive/Paperlogy/Paperlogy-9Black.otf")
      format("opentype"),
    url("https://cdn.jsdelivr.net/gh/fonts-archive/Paperlogy/Paperlogy-9Black.ttf")
      format("truetype");
}
*/

/*
@font-face {
  font-family: "Pretendard-ExtraBold";
  src: url("https://fastly.jsdelivr.net/gh/Project-Noonnu/noonfonts_2107@1.1/Pretendard-ExtraBold.woff") format("woff");
  font-weight: 800;
  font-style: normal;
}
*/

@font-face {
  font-family: "Pretendard-Black";
  src: url("https://fastly.jsdelivr.net/gh/Project-Noonnu/noonfonts_2107@1.1/Pretendard-Black.woff") format("woff");
  font-weight: 900;
  font-style: normal;
}

/* reset css */

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,
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;
}

iframe {
  pointer-events: auto;
  touch-action: manipulation;
}

caption {
  display: none;
}

html {
  scroll-behavior: smooth;
}

body {
  position: relative;
  font-family: "Pretendard";
  font-style: normal;
  font-weight: 500;
  line-height: 170%;
}

ol,
li,
dl,
dt,
dd {
  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;
}

a,
a:hover,
a:active,
a:link,
a:visited {
  text-decoration: none;
  outline: none;
  cursor: pointer;
}

a {
  font-family: inherit;
  font-size: inherit;
  font-style: inherit;
  font-weight: inherit;
  line-height: inherit;
  letter-spacing: inherit;
  color: inherit;
}

img {
  width: 100%;
  vertical-align: middle;
}

:root {
  --bg-primary-100: #f26930;
  --bg-b-bg: #262323;
  --text-gray-100: #f8f8f8;
  --text-gray-200: #f4f4f4;
  --text-gray-300: #eee;
  --text-gray-400: #ddd;
  --text-gray-500: #999;
  --text-gray-600: #666;
  --text-gray-700: #444;
  --text-black: #111;
  --text-white: #fff;
  --etc-notice: #f00;
  --etc-notice-blue: #3a84ff;
}

/* headline text */
.h44 {
  color: var(--text-black, #111);
  /* PC/H_44 */
  font-family: Pretendard;
  font-size: 44px;
  font-style: normal;
  font-weight: 700;
  line-height: 60px;
  /* 136.364% */
  letter-spacing: -0.44px;
}

.h38 {
  color: var(--text-black, #111);
  /* PC/H_38 */
  font-family: Pretendard;
  font-size: 38px;
  font-style: normal;
  font-weight: 700;
  line-height: 48px;
  /* 126.316% */
  letter-spacing: -0.38px;
}

.h32 {
  color: var(--text-black, #111);
  /* PC/H_32 */
  font-family: Pretendard;
  font-size: 32px;
  font-style: normal;
  font-weight: 700;
  line-height: 44px;
  /* 137.5% */
  letter-spacing: -0.32px;
}

.h28 {
  color: var(--text-black, #111);
  /* PC/H_28 */
  font-family: Pretendard;
  font-size: 28px;
  font-style: normal;
  font-weight: 700;
  line-height: 40px;
  /* 142.857% */
  letter-spacing: -0.28px;
}

.h24 {
  color: var(--text-black, #111);
  /* PC/H_24 */
  font-family: Pretendard;
  font-size: 24px;
  font-style: normal;
  font-weight: 700;
  line-height: 34px;
  /* 141.667% */
  letter-spacing: -0.24px;
}

.h20 {
  color: var(--text-black, #111);
  /* PC/H_20 */
  font-family: Pretendard;
  font-size: 20px;
  font-style: normal;
  font-weight: 700;
  line-height: 30px;
  /* 150% */
  letter-spacing: -0.2px;
}

.h18 {
  color: var(--text-black, #111);
  /* PC/H_18 */
  font-family: Pretendard;
  font-size: 18px;
  font-style: normal;
  font-weight: 700;
  line-height: 30px;
  /* 166.667% */
  letter-spacing: -0.18px;
}

.h16 {
  color: var(--text-black, #111);
  /* PC/H_16 */
  font-family: Pretendard;
  font-size: 16px;
  font-style: normal;
  font-weight: 700;
  line-height: 26px;
  /* 162.5% */
  letter-spacing: -0.16px;
}

.h15 {
  color: var(--text-black, #111);
  /* PC/H_15 */
  font-family: Pretendard;
  font-size: 15px;
  font-style: normal;
  font-weight: 700;
  line-height: 22px;
  /* 146.667% */
  letter-spacing: -0.15px;
}

.h14 {
  color: var(--text-black, #111);
  /* PC/H_14 */
  font-family: Pretendard;
  font-size: 14px;
  font-style: normal;
  font-weight: 700;
  line-height: 24px;
  /* 171.429% */
  letter-spacing: -0.14px;
}

.e14 {
  color: var(--text-black, #111);
  /* PC/EN_14 */
  /*font-family: Montserrat;*/
  font-family: Pretendard;
  font-size: 14px;
  font-style: normal;
  font-weight: 700;
  line-height: 24px;
  /* 171.429% */
  letter-spacing: -0.28px;
}

/* body text */
.body20 {
  color: var(--text-black, #111);
  /* PC/body_20 */
  font-family: Pretendard;
  font-size: 20px;
  font-style: normal;
  font-weight: 500;
  line-height: 32px;
  /* 160% */
  letter-spacing: -0.2px;
}

.body18 {
  color: var(--text-black, #111);
  /* PC/body_18 */
  font-family: Pretendard;
  font-size: 18px;
  font-style: normal;
  font-weight: 500;
  line-height: 32px;
  /* 177.778% */
  letter-spacing: -0.18px;
}

.body16 {
  color: var(--text-black, #111);
  /* PC/body_16 */
  font-family: Pretendard;
  font-size: 16px;
  font-style: normal;
  font-weight: 500;
  line-height: 28px;
  /* 175% */
  letter-spacing: -0.16px;
}

.body15 {
  color: var(--text-black, #111);
  font-family: Pretendard;
  font-size: 15px;
  font-style: normal;
  font-weight: 500;
  line-height: 24px;
  /* 160% */
  letter-spacing: -0.15px;
}

.body14 {
  color: var(--text-black, #111);
  /* PC/body_14 */
  font-family: Pretendard;
  font-size: 14px;
  font-style: normal;
  font-weight: 500;
  line-height: 24px;
  /* 171.429% */
  letter-spacing: -0.14px;
}

.body13 {
  color: var(--text-black, #111);
  /* PC/body_13 */
  font-family: Pretendard;
  font-size: 13px;
  font-style: normal;
  font-weight: 500;
  line-height: 20px;
  /* 153.846% */
  letter-spacing: -0.13px;
}

.body12 {
  color: var(--text-black, #111);
  font-family: Pretendard;
  font-size: 12px;
  font-style: normal;
  font-weight: 500;
  line-height: 20px;
  letter-spacing: -0.12px;
}

.colorPrimary {
  color: var(--bg-primary-100);
}

.colorRed {
  color: var(--etc-notice);
}

.color111 {
  color: var(--text-black);
}

.color000 {
  color: var(--bg-b-bg);
}

.colorFFF {
  color: var(--text-white);
}

.color700 {
  color: var(--text-gray-700);
}

.color600 {
  color: var(--text-gray-600);
}

.color500 {
  color: var(--text-gray-500);
}

.color400 {
  color: var(--text-gray-400);
}

.color300 {
  color: var(--text-gray-300);
}

.color200 {
  color: var(--text-gray-200);
}

.color100 {
  color: var(--text-gray-100);
}

/* 2025 vote jhr add css style */

.layoutWrap {
  margin: 0 auto;
  max-width: 1280px;
}

.column2-layout {
  display: flex;
  gap: 40px;
}

.column2-layout .rightSide {
  width: 300px;
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  gap: 100px;
}
.column2-layout .leftSide .section,
.column2-layout .rightSide .section {
  margin: 0;
}

/* ---- header ---- */
header {
  background: #eff1f9;
  border-bottom: 1px solid var(--text-gray-400);
  overflow: hidden;
}

.headerWrap {
  position: relative;
  height: 220px;
  display: flex;
  flex-direction: column;
  margin: 0 auto;
  max-width: 1280px;
  justify-content: space-between;
}

.header {
  display: flex;
  gap: 16px;
  justify-content: space-between;
  padding: 37px 0 23px;
}

.headerLogoWrap {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.headerlogo {
  display: block;
  width: 96px;
}

nav .voteMenuList {
  position: relative;
  z-index: 10;
  display: flex;
  gap: 80px;
  padding: 0 0 12px;
}
nav .voteMenuList li {
  position: relative;
}
nav .voteMenuList .menu:hover,
nav .voteMenuList .menu.on {
  transition: all 0.3s ease-in-out;
  position: relative;
  color: #111;
  font-weight: 700;
}
nav .voteMenuList .menu:hover:after,
nav .voteMenuList .menu.on:after {
  transition: all 0.3s;
  background: linear-gradient(60deg, #3d73eb 13.4%, #de8fff 65.37%);
  width: 100%;
}

nav .voteMenuList .menu:after {
  content: "";
  display: block;
  position: absolute;
  z-index: 100;
  bottom: -12px;
  left: 0;
  width: 0;
  height: 4px;
  border-radius: 12px;
  background: linear-gradient(60deg, #3d73eb 13.4%, #de8fff 65.37%);
  transition: all 0.3s ease-in-out;
  clip-path: inset(0);
}

.bgImage {
  z-index: 0;
  position: absolute;
  top: 0;
  right: -170px;
  width: 100%;
  height: 100%;
  background: url("https://img.seoul.co.kr/img/election2025/header-dDay-bg.png") no-repeat right;
}

.imageWrap {
  display: flex;
  align-items: center;
  justify-content: center;
}

.imageWrap img {
  width: 100%;
}
.dDayWrap {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 2px;
  justify-content: center;
  align-items: center;
  margin-top: 20px;
}
/* 
.dDayWrap:after{
    content: '';
    position: absolute;
    display: block;
    top:0;
    left:0;
    width: 100%;
    background: url("https://img.seoul.co.kr/img/election2025/header-dDay-bg.png") no-repeat right;
} */

.dDayWrap .dDaySub {
  color: #394888;
}
.dDayWrap .dDayTit {
  font-family: Pretendard;
  font-size: 60px;
  font-style: normal;
  font-weight: 700;
  line-height: 60px;
  letter-spacing: -0.6px;
  background: -webkit-linear-gradient(60deg, #3d73eb 13.4%, #de8fff 65.37%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
/* ---- header ---- */

/* ---- main top ---- */
.margin100 {
  margin: 100px 0;
}
.bgBlock {
  padding: 50px 0 60px;
  background: url("https://img.seoul.co.kr/img/election2025/video-bg.png");
}

.bgBlock02 {
  padding: 100px 0;
  background: #eff1f9;
}

.sectionTitWrap,
.section .sectionTitWrap {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 24px;
  position: relative;
  z-index: 10;
  justify-content: space-between;
}

/* 추가 */
.section-pledge .sectionTitWrap {
  justify-content: flex-start;
}
.section-pledge .sectionTitWrap span {
  padding-left: 12px;
  color: var(--text-gray-600);
}
/*///*/

section .sectionTit.arrowBg {
  position: relative;
}

section .sectionTit.arrowBg:after {
  display: block;
  content: "";
  position: absolute;
  top: 50%;
  right: -20px;
  transform: translateY(-50%);
  background: url("https://img.seoul.co.kr/img/election2025/vote2025-icon.png") no-repeat;
  background-position: -272px -15px;
  width: 11px;
  height: 20px;
}

.maniTop-section {
  display: flex;
  flex-direction: column;
  gap: 60px;
  margin: 60px auto 100px;
}

.maniTop-section .topSide {
  max-width: 1280px;
  margin: 0 auto;
}

.mainTop-bottomSide {
  max-width: 1280px;
  margin: 0 auto;
}

.mainTop-bottomSide .owl-btn-large .owl-prev {
  top: calc(50% - 25px);
}

.mainTop-bottomSide .owl-btn-large .owl-next {
  top: calc(50% - 25px);
}

section.module-2 {
  flex-shrink: 1;
  width: 300px;
}

/* main Top slide */
.mainTop {
  width: 100%;
  max-width: 932px;
}

.maniTop-section {
  margin: 0 auto;
  padding: 60px 0 100px;
  border-bottom: 1px solid var(--text-gray-400);
}

.vote-mainTopSide .articleBox {
  display: flex;
  gap: 32px;
}

.vote-mainTopSide .articleContentWrap {
  width: 100%;
  max-width: 400px;
  display: flex;
  flex-direction: column;
  gap: 32px;
  margin-top: 40px;
}

.vote-mainTopSide .articleImage {
  position: relative;
  border-radius: 12px;
  width: 500px;
  height: 355px;
  overflow: hidden;
}

/* .vote-mainTopSide .articleImage img {
    height: 100%;
    width: auto;
} */

.vote-mainTopSide .articleImage img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  margin: auto;
}

#vote-mainTop-arrowSlider {
  position: absolute;
  right: 200px;
  bottom: 40px;
}

/* main bottom slide */

.vote-mainTopBottom .articleBox {
  position: relative;
  width: 300px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.vote-mainTopBottom li .articleImage {
  width: 300px;
  border-radius: 12px;
  overflow: hidden;
}

.vote-mainTopBottom .articleBoxDate {
  position: absolute;
  top: -34px;
  display: flex;
  align-items: center;
  gap: 8px;
  background: #fff;
  z-index: 10;
}

.vote-mainTopBottom .articleBoxDate .icon {
  display: block;
  width: 18px;
  height: 18px;
  background: url("https://img.seoul.co.kr/img/election2025/vote2025-icon.png") no-repeat;
  background-position: -324px -16px;
}

.vote-mainTopBottom .articleBoxDate:after {
  content: "";
  display: block;
  position: relative;
  z-index: 10;
  background: var(--text-gray-400);
  width: 236px;
  height: 0.1px;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}

/* 대선톡톡 */
.scrollWrap {
  max-height: 304px;
  overflow-y: auto;
  overflow-x: hidden;
  padding-right: 14px;
}

.talk-section .sectionTitWrap {
  margin-bottom: 20px;
}
.talk-section .sectionTit {
  position: relative;
  padding-left: 20px;
}
.talk-section .sectionTit::before {
  position: absolute;
  content: "";
  display: block;
  top: 5px;
  left: 0;
  width: 14px;
  height: 20px;
  background: url(https://img.seoul.co.kr/img/election2025/vote2025-icon.png) no-repeat;
  background-position: -299px -15px;
}

.voteTalkTalkList {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.talkBox.rightBox .talkPerson {
  order: 2;
}

.talkBox.rightBox .talkContent {
  order: 1;
}
.talkBox {
  display: flex;
  gap: 20px;
}
.talkBox .talkPerson {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  flex-shrink: 0;
}
.talkBox .thumbImage {
  height: 40px;
  width: 40px;
  overflow: hidden;
}

.talkBox .thumbImage img {
  width: 100%;
  height: auto;
}

.talkBox .talkContent {
  position: relative;
  box-sizing: border-box;
  background: #d7dcf6;
  border-radius: 12px;
  padding: 9px 16px 7px 15px;
  max-width: 220px;
  min-width: 220px;
}

.talkBox.leftBox .talkContent::before {
  content: "";
  position: absolute;
  top: 5px;
  left: -9px;
  border-top: 10px solid transparent;
  border-bottom: 10px solid transparent;
}

.talkBox.rightBox .talkContent::before {
  content: "";
  position: absolute;
  top: 5px;
  right: -9px;
  border-top: 10px solid transparent;
  border-bottom: 10px solid transparent;
}

/* .talkBox.blue .talkPerson,
.talkBox.blue .talkName {
    color: #003b96;
}

.talkBox.red .talkPerson,
.talkBox.red .talkName {
    color: #e61e2b;
}

.talkBox.orange .talkPerson,
.talkBox.orange .talkName {
    color: #ed6d00;
} */

/* --------------- blue --------------- */

.talkBox.blue .talkContent {
  background-color: #d7dcf6;
}

.talkBox.blue.leftBox .talkContent::before {
  border-right: 16px solid #d7dcf6;
}

.talkBox.blue.rightBox .talkContent::before {
  border-left: 16px solid #d7dcf6;
}

/* --------------- red --------------- */

.talkBox.red .talkContent {
  background-color: #fee1e4;
}

.talkBox.red.leftBox .talkContent::before {
  border-right: 16px solid #fee1e4;
}
.talkBox.red.rightBox .talkContent::before {
  border-left: 16px solid #fee1e4;
}

/* --------------- orange --------------- */

.talkBox.orange .talkContent {
  background-color: #fad4b3;
}

.talkBox.orange.leftBox .talkContent::before {
  border-right: 16px solid #fad4b3;
}

.talkBox.orange.rightBox .talkContent::before {
  border-left: 16px solid #fad4b3;
}

/* voteNewest */
.voteNewest {
  display: flex;
  flex-direction: column;
  width: 940px;
}

.voteNewest .articleBox {
  display: flex;
  gap: 40px;
}

.voteNewest .articleBox.noImage .articleImageWrap {
  display: none;
}

.voteNewest .articleBox.noImage .articleContent {
  display: -webkit-box;
  margin-top: 12px;
  margin-bottom: 32px;
}

.voteNewest li {
  padding: 50px 0;
  border-bottom: 1px solid var(--text-gray-300);
}

.voteNewest li:first-child {
  padding-top: 0;
}

.voteNewest li:last-child {
  padding-bottom: 0;
  border-bottom: 0;
}
.voteNewest .articleImageWrap {
  flex-shrink: 0;
}
.voteNewest .articleBox .articleImage {
  width: 230px;
  height: 153px;
  overflow: hidden;
  border-radius: 12px;
}

.voteNewest .articleContent {
  display: none;
}

.voteNewest .articleContentWrap {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding-right: 20px;
}

.voteNewest .articleTitle {
  overflow: unset;
  text-overflow: unset;
}

.voteNewest .badge {
  margin-bottom: 6px;
}

.voteNewest .articleInfo {
  display: flex;
  gap: 25px;
}

.voteNewest .articleInfo span {
  display: block;
}
.voteNewest .articleInfo .writeDate {
  position: relative;
}
.voteNewest .articleInfo .writeDate:before {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: -13px;
  display: block;
  width: 1px;
  height: 10px;
  background: var(--text-gray-400);
}

/* 현장속으로 */

.slideWrap {
  position: relative;
}

#module-2-slide {
  width: 300px;
}
#module-2-slide li,
#module-2-slide .moduleContentBox {
  width: 300px;
}

#module-2-slide .moduleContentBox {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

#module-2-slide .owl-dots {
  display: none;
}

.module-2 .arrowBtnWrap {
  margin-top: 32px;
}

.module-2 .moduleImage {
  display: flex;
  align-items: center;
  justify-self: center;
  overflow: hidden;
  border-radius: 12px;
  width: 300px;
  height: 266px;
}
.module-2 .moduleImage img {
  height: 100%;
  width: auto;
}
/* 많이 본 대선 뉴스 */
.pageTopNews .newsBox .orderNum {
  color: #6e48e5;
}

.pageTopNews li {
  padding: 16px 0;
  border-bottom: 1px solid var(--text-gray-300);
}

.videosWrap {
  justify-content: space-between;
}

/* 대선쇼츠 */
.section-shortsVideo {
  max-width: 871px;
  overflow: hidden;
}

.section-shortsVideo .btn-md {
  position: absolute;
  top: 4px;
  right: 32px;
}

.section-shortsVideo .owl-btn-small-b .owl-prev {
  cursor: pointer;
  position: absolute;
  top: 0;
  left: auto;
  right: 36px;
}

.section-shortsVideo .btn-md .owl-next {
  cursor: pointer;
  position: absolute;
  top: 0;
  left: auto;
  right: 0;
}

#vote-shortsVideo li {
  position: relative;
  width: 200px;
  height: 355px;
}

.shotsVideoBox {
  position: relative;
}
.candidateThumbImage:hover img,
.moduleContentBox:hover .moduleImage img,
.shotsVideoBox:hover .shortsImage img {
  transition: all 0.7s;
  transform: scale(1.05);
}
/* 
.moduleContentBox:hover h2,
.shotsVideoBox:hover h2{
    transition: all 0.7s;
    opacity: .7;
} */

#vote-shorts li .shrotsContentWrap {
  z-index: 100;
  position: absolute;
  bottom: 0;
  left: 0;
  padding: 0 22px 17px 20px;
}

#vote-shortsVideo li .shortsImage {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 200px;
  height: 355px;
  border-radius: 12px;
  background: var(--bg-b-bg);
  overflow: hidden;
}

#vote-shortsVideo .owl-item img {
  width: auto;
  height: 100%;
}

.shortsImage:before {
  z-index: 2;
  content: "";
  position: absolute;
  display: block;
  top: 185px;
  left: 50%;
  transform: translateX(-50%);
  width: 28px;
  height: 28px;
  background: url("https://img.seoul.co.kr/img/election2025/vote2025-icon.png") no-repeat;
  background-position: -356px -11px;
}

.shortsImage:after {
  z-index: 1;
  content: "";
  position: absolute;
  display: block;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.45);
}

/* 대선영상 */

#vote-video .moduleImage {
  overflow: hidden;
  border-radius: 12px;
}

.section-voteVideo .sectionBgWrap::before {
  content: "";
  display: block;
  position: absolute;
  z-index: 0;
  top: -80px;
  left: -40px;
  background: #7e75e6;
  width: 410px;
  height: 519px;
  border-radius: 12px;
}

.section-voteVideo,
#vote-video .moduleImage {
  width: 330px;
  height: 220px;
}

#vote-video li h2 {
  margin-top: 12px;
}
.section-voteVideo .moduleImage {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}

.section-voteVideo .moduleImage img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  margin: auto;
}

.section-voteVideo .moduleImage:after {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  content: "";
  display: block;
  width: 28px;
  height: 28px;
  background: url("https://img.seoul.co.kr/img/election2025/vote2025-icon.png") no-repeat;
  background-position: -356px -11px;
}

.section-voteVideo .owl-theme .owl-nav.disabled + .owl-dots {
  margin-top: 20px;
}

.section-voteVideo .owl-nav {
  position: absolute;
  top: 4px;
  right: 0;
}
.section-voteVideo .owl-btn-small-w .custom-prev {
  cursor: pointer;
  position: absolute;
  top: 0;
  right: 35px;
}
.section-voteVideo .owl-btn-small-w .custom-next {
  cursor: pointer;
  position: absolute;
  top: 0;
  right: 0;
}

.section-voteVideo .owl-next {
  cursor: pointer;
  position: absolute;
  top: 0;
  right: -32px;
}
.section-voteVideo .owl-theme .owl-dots .owl-dot.active span {
  opacity: 1;
}
.section-voteVideo .owl-theme .owl-dots .owl-dot span {
  background-color: #fff;
  opacity: 0.3;
}

.btn-md.owl-nav {
  z-index: 100;
}

/* 후보자한눈에 */
.sectionNotice {
  margin-top: 10px;
}

.candidateThumbImage {
  width: 290px;
  height: 295px;
  border-radius: 12px;
  overflow: hidden;
}

.candidateThumbImage .outBox{ position: absolute; z-index: 10; top: 50%; left: 50%; transform: translate(-50%, -50%); background: rgba(0, 0, 0, 0.55); width: 100%; height: 100%; border-radius: 12px; }
.candidateThumbImage .outBox .tit{ width: 100%; text-align: center; position: absolute; z-index: 10; top: 50%; left: 50%; transform: translate(-50%, -50%); }

/* 여론조사 */
.iframeWrap {
  width: 100%;
  overflow: hidden;
}
/* 
.opinionPollWrap {
    padding-top: 40px;
} */
.opinionPollIframe {
  width: 876px;
  height: 570px;
  overflow: hidden;
}

.section-opinionPoll {
  width: 100%;
}
.section-opinionPoll .graph {
  display: flex;
  overflow: hidden;
  max-width: 876px;
  height: 516px;
  background: #fff;
  border-radius: 12px;
  flex-direction: column;
  gap: 8px;
}

.graphTopside {
  display: flex;
  align-items: center;
}

.graphTopside .graphUnit {
  flex-shrink: 0;
  display: block;
  padding: 20px;
}

.section-opinionPoll .sectionTitWrap {
  align-items: flex-start;
}
.pollDate {
  padding-left: 0;
  margin-right: 78px;
  padding-top: 6px;
}

.poll_tabBtnList {
  display: flex;
  gap: 12px;
  padding: 24px 16px 16px;
  width: calc(100% - 32px) !important;
}

.poll_tabBtnList li {
  flex-shrink: 0;
  cursor: pointer;
  border-radius: 8px;
  padding: 0 12px;
}

.poll_tabBtnList li.on {
  background: #d7dcf6;
}

.poll_tabBtnList li:hover {
  transition: all 0.3s ease-in-out;
  opacity: 0.8;
}

.graphAreaTabBox {
  width: calc(100% - 32px) !important;
  padding: 0 16px;
}

.poll_tabBox {
  display: none;
}

.poll_tabBox.on {
  display: block;
}

/* iframe {
    width: 100%;
    pointer-events: none;
} */
.graphArea {
  height: 416px;
  overflow: hidden;
}
.graphArea .box {
  position: relative;
  display: none;
  display: flex;
  height: 100%;
  min-width: 100%;
  height: 340px;
  width: 100%;
}

.graphInfo {
  display: flex;
  justify-content: space-between;
  padding: 8px;
}

.poll_tabBox.on .graphArea .box {
  display: block;
}

.pollDate {
  padding-left: 8px;
}

.section-opinionPoll .owl-btn-small-w {
  position: absolute;
  top: 4px;
  right: 0;
}

/* 여론의 흐름 */
.section-voteNews {
  flex-shrink: 0;
  width: 364px;
}
.smallNewsList {
  padding: 32px;
  background: #fff;
  border-radius: 12px;
}
.smallNewsList li {
  padding: 16px 0;
  border-bottom: 1px solid var(--text-gray-300);
}

.smallNewsList li:first-child {
  padding-top: 0;
}

.smallNewsList li:last-child {
  padding-bottom: 0;
  border-bottom: 0;
}

.smallNewsList .articleBox {
  display: flex;
  gap: 20px;
  justify-content: space-between;
}

.smallNewsList .articleBox .articleImageWrap {
  order: 2;
}

.smallNewsList .articleBox .articleImage {
  width: 64px;
  height: 64px;
  border-radius: 8px;
  overflow: hidden;
}

.smallNewsList .articleBox .articleContentWrap {
  order: 1;
}

/* 선거일정 */
.section-schedule .voteSchedule {
  cursor: default;
  padding: 0 20px;
}

/*******************************************************/

/*************** page - 후보 한눈에 ********************/
.page-candidate {
  margin: 60px 0 0;
}

.page-candidate .voteNewest .articleContentWrap {
  padding-right: 40px;
}

.page-candidate .voteNewest {
  width: 100%;
}
.candidateDataBox .topSide {
  display: flex;
  align-items: stretch;
  gap: 120px;
  justify-content: space-between;
  box-sizing: border-box;
  background: linear-gradient(90deg, #17288a 0.04%, #177ec2 99.02%);
  border-radius: 12px;
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
  padding: 60px 72px 60px 40px;
  height: auto;
}
.candidateNameTabList {
  box-sizing: border-box;
  display: flex;
  gap: 20px;
  margin-bottom: 32px;
}

.candidateNameBox {
  display: flex;
  gap: 8px;
  padding: 0 12px;
}
.candidateNameTabList li {
  cursor: pointer;
}

.candidateNameTabList li .candidateNameBox {
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  opacity: 0.5;
}

.candidateNameTabList li.on .candidateNameBox {
  opacity: 1;
}

.candidateNameBox .nameWrap {
  display: flex;
  gap: 4px;
}
.candidateNameBox .dangImage {
  height: 25px;
  width: 40px;
  background: red;
  background: url("https://img.seoul.co.kr/img/election2025/vote2025-icon.png?ver=002") no-repeat;
}

.candidateNameBox .dangImage-100 {
  width: 35px;
  background-position: 1px -73px;
}

.candidateNameBox .dangImage-200 {
  width: 35px;
  background-position: -43px -74px;
}

.candidateNameBox .dangImage-5070 {
  width: 35px;
  background-position: -162px -74px;
}

.candidateNameBox .dangImage-730 {
  width: 44px;
  background-position: -88px -258px;
}

.candidateNameBox .dangImage-3040 {
  width: 44px;
  background-position: -217px -260px;
}

.candidateNameBox .dangImage-9999 {
  width: 44px;
  background-position: -269px -258px;
}

.candidateNameBox .nameWrap .name {
  display: flex;
  gap: 2px;
}
.candidateNameImage {
  flex-shrink: 0;
  width: 90px;
  height: 90px;
  border-radius: 50px;
  overflow: hidden;
}
.candidateDataBox .leftSide {
  display: flex;
  flex-direction: column;
  position: relative;
  justify-content: flex-start;
  margin-bottom: -60px;
}
.candidateDataBox .dangContent {
  position: absolute;
  display: flex;
  align-items: center;
  gap: 12px;
  top: 0;
  right: -40px;
}

.candidateDataBox .dangContent .personInfo {
  display: flex;
  flex-direction: column;
}
.candidateDataBox .dangContent .dangNum {
  font-family: "Pretendard-ExtraBold";
  font-size: 120px;
  font-style: normal;
  font-weight: 900;
  line-height: 110px; /* 91.667% */
  letter-spacing: -1.2px;
}
.candidateDataBox .dangContent .dangTitle {
  font-size: 18px;
  font-style: normal;
  font-weight: 500;
  line-height: 24px; /* 133.333% */
  letter-spacing: -0.18px;
}
.candidateDataBox .dangContent .dangPerson {
  font-family: Paperlogy;
  font-size: 64px;
  font-style: normal;
  font-weight: 900;
  line-height: normal;
  letter-spacing: -0.64px;
}

.candidateDataBox li.on {
  display: block;
}

.candidateDataBox .width1280 {
  max-width: 1280px;
  width: 1280px;
  margin: 0 auto;
}

.candidateDataBox .rightSide {
  padding: 0;
  background: 0;
  width: 100%;
  border-radius: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  margin-bottom: 0;
}

/* .candidateImage {
  max-width: 640px;
  min-width: 560px;
  width: 100%;
  height: auto;
  align-items: flex-end;
  opacity: 0.9;
} */

.candidateDataBox .item {
  display: none;
}

.candidateInfo li {
  display: flex;
  gap: 24px;
}

.candidateInfo strong {
  flex-shrink: 0;
}

.candidateInfo .snsLi {
  align-items: center;
  padding-top: 12px;
}

.candidateInfo .snsList {
  display: flex;
  gap: 12px;
}
.candidateInfo .snsList .snsIcon {
  width: 32px;
  height: 32px;
  border-radius: 40px;
}

.candidateInfo .snsList .snsIcon.homeBtn {
  background: url("https://img.seoul.co.kr/img/election2025/vote2025-icon.png") no-repeat;
  background-position: 0px -123px;
}

.candidateInfo .snsList .snsIcon.facebookBtn {
  background: url("https://img.seoul.co.kr/img/election2025/vote2025-icon.png") no-repeat;
  background-position: -56px -123px;
}

.candidateInfo .snsList .snsIcon.xBtn {
  background: url("https://img.seoul.co.kr/img/election2025/vote2025-icon.png") no-repeat;
  background-position: -112px -123px;
}

.candidateInfo .snsList .snsIcon.youtubeBtn {
  background: url("https://img.seoul.co.kr/img/election2025/vote2025-icon.png") no-repeat;
  background-position: -168px -123px;
}

.candidateInfo .snsList .snsIcon.instaBtn {
  background: url("https://img.seoul.co.kr/img/election2025/vote2025-icon.png") no-repeat;
  background-position: -224px -123px;
}
.candidateInfo .snsList .snsIcon.naverBtn {
  background: url("https://img.seoul.co.kr/img/election2025/vote2025-icon.png") no-repeat;
  background-position: -280px -123px;
}

/* 후보자 페이지 관련 신규 */
.candidateDataBox .rightSide > div {
  flex-shrink: 0;
  box-sizing: border-box;
  padding: 30px;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.2);
  width: 458px;
  margin-bottom: 0;
}

.toggleBox {
  display: none;
}

.toggleBtn .icon {
  cursor: pointer;
  display: inline-block;
  position: relative;
  width: 16px;
  height: 16px;
  margin-left: 8px;
}

.toggleBtn .icon:after {
  content: "";
  display: block;
  position: absolute;
  top: 5px;
  left: 6px;
  transform: rotate(45deg);
  height: 10px;
  width: 2px;
  background: #fff;
}

.toggleBtn .icon::before {
  content: "";
  display: block;
  position: absolute;
  top: 5px;
  left: 0;
  transform: rotate(-45deg);
  height: 10px;
  width: 2px;
  background: #fff;
}

.toggleBox.show {
  display: block;
}

.toggleBtn.show .icon:after {
  transform: rotate(-45deg);
}

.toggleBtn.show .icon::before {
  transform: rotate(45deg);
}

/* .candidate01 .dangContent {
  top: 43px;
  right: -40px;
} */

.candidate02 .dangContent {
  top: 43px;
  right: -70px;
}

/* .candidate04 .dangContent {
  top: 16px;
} */
/* 
.candidate05 .dangContent {
  top: 53px;
} */

/* .candidate06 .dangContent {
  top: 22px;
} */

/* .candidate07 .dangContent {
  top: 53px;
  right: -100px;
} */

/* .candidate08 .dangContent {
  top: 120px;
  right: -100px;
} */

/*  이미지 수정에 따른 추가수정  :: start */
.candidateImage {
  max-width: 640px;
  min-width: 100%;
  width: 100%;
  height: 460px;
  align-items: flex-end;
  /* opacity: 0.9; */
}

.candidateImage img {
  height: 100%;
  width: auto;
}

.candidate01 .topSide {
  padding: 60px 72px 60px 20px;
}
.candidate01 .dangContent {
  top: 26px;
  right: -20px;
}

.candidate01 .candidateImage {
  height: 458px;
}

.candidate02 .topSide {
  padding: 60px 72px 60px 37px;
}

.candidate02 .dangContent {
  top: 26px;
  right: -70px;
}
.candidate04 .topSide {
  gap: 80px;
}
.candidate04 .dangContent {
  top: 26px;
  right: 0;
}

.candidate04 .candidateImage {
  height: 467px;
}

.candidate05 .dangContent {
  top: 25px;
}

.candidate05 .candidateImage {
  height: 454px;
}

.candidate06 .topSide {
  padding: 60px 72px 60px 25px;
}

.candidate06 .dangContent {
  top: 32px;
}

.candidate07 .topSide {
  padding: 60px 72px 60px 12px;
}

.candidate07 .dangContent {
  top: 23px;
  right: -118px;
}

.candidate07 .candidateImage {
  height: 450px;
}

.candidate08 .topSide {
  padding: 60px 72px 60px 43px;
}

.candidate08 .dangContent {
  top: 48px;
  right: -128px;
}
.candidate08 .candidateImage {
  height: 440px;
}
/*  이미지 수정에 따른 추가수정  :: end */

/* 후보자 페이지 관련 신규 */

h3.infoTit {
  background: linear-gradient(90deg, rgba(61, 115, 235, 1) 0%, rgba(222, 143, 255, 1) 13%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  margin-bottom: 10px;
}

.secondBlock {
  box-sizing: border-box;
  width: 100%;
  display: flex;
  padding: 60px;
  gap: 40px;
  justify-content: space-between;
  background: #eff1f9;
  border-radius: 12px;
  border-top-right-radius: 0;
  border-top-left-radius: 0;
}

.academicSection strong {
  min-width: 100px;
}
.careerSection strong {
  min-width: 160px;
}
.pledgeBox {
  box-sizing: border-box;
  width: 305px;
  height: 418px;
  border-radius: 12px;
  background: #eff1f9;
  padding: 24px;
}
.pledgeBox .pledgeTit {
  margin-bottom: 20px;
  color: #080158;
}

.pledgeBlock {
  margin: 100px auto 0;
  padding: 100px 0;
  background: #c8c4f1;
}

.pledgeBox .pledgeTit {
  min-height: 90px;
  margin-bottom: 8px;
  color: #080158;
}

.pledgeBoxScroll {
  padding-bottom: 20px;
  max-height: 240px;
}

.section-pledge {
  position: relative;
}
.section-pledge .owl-nav {
  cursor: pointer;
  z-index: 10;
  position: absolute;
  top: 0;
  right: 0;
}

.section-pledge .owl-nav .owl-prev {
  width: 26px;
  height: 26px;
  position: absolute;
  z-index: 10;
  top: 0;
  right: 40px;
}

.section-pledge .owl-nav .owl-next {
  width: 26px;
  height: 26px;
  position: relative;
  right: 0;
}

/* ======================== menu page ======================== */

/*************** page - 대선톡톡 ********************/
.pageTit {
  margin-bottom: 60px;
}
.page-talktalk .talkBox {
  position: relative;
  gap: 50px;
}
.page-talktalk .voteTalkTalkList {
  gap: 60px;
}

.page-talktalk li:not(:last-child) .talkBox:after {
  content: "";
  display: block;
  position: absolute;
  bottom: -66px;
  left: 50%;
  transform: translateX(-50%);
  width: 6px;
  height: 63px;
  background: url("https://img.seoul.co.kr/img/election2025/vote2025-icon.png") no-repeat;
  background-position: 0 -181px;
}
.page-talktalk .talkBox .talkContent {
  max-width: 100%;
  min-width: 720px;
  padding: 37px 60px;
}

.page-talktalk .talkBox .thumbImage {
  width: 110px;
  height: 110px;
}
.page-talktalk .talkPerson .personInfo {
  display: flex;
  gap: 6px;
  align-items: center;
}
.page-talktalk .talkPerson .dangImage {
  height: 25px;
}

.page-talktalk .dangImage {
  background-image: url("https://img.seoul.co.kr/img/election2025/vote2025-icon.png");
}
.page-talktalk .dangImage-100 {
  height: 25px;
  width: 35px;
  background-position: 1px -74px;
}

.page-talktalk .dangImage-200 {
  height: 25px;
  width: 66px;
  background-position: -86px -74px;
}

.page-talktalk .dangImage-5070 {
  height: 25px;
  width: 42px;
  background-position: -208px -74px;
}

.page-talktalk .dangImage-730 {
  height: 25px;
  width: 44px;
  background-position: -88px -258px;
}

.page-talktalk .dangImage-3040 {
  width: 44px;
  background-position: -217px -260px;
}

.page-talktalk .dangImage-9999 {
  height: 25px;
  width: 44px;
  background-position: -269px -259px;
}

.page-talktalk .dangImage-730 {
  height: 25px;
  width: 46px;
  background-position: -86px -259px;
}

.page-talktalk .talkPerson .dangImage img {
  height: 100%;
  width: auto;
}

.page-talktalk .talkBox .talkContent .talkDate {
  display: none;
}

.page-talktalk .goArticleLink {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}
.page-talktalk .goArticleLink .goLinkBtn {
  display: flex;
  gap: 4px;
  align-items: center;
}
.page-talktalk .goArticleLink .goLinkBtn .icon {
  display: block;
  width: 24px;
  height: 24px;
  background: url("https://img.seoul.co.kr/img/election2025/vote2025-icon.png") no-repeat;
  background-position: -36px -13px;
}

.page-talktalk .talkBox.leftBox .talkContent::before {
  content: "";
  position: absolute;
  top: 3px;
  left: -9px;
  border-top: 10px solid transparent;
  border-bottom: 10px solid transparent;
}

.page-talktalk .talkBox.rightBox .talkContent::before {
  content: "";
  position: absolute;
  top: 3px;
  right: -9px;
  border-top: 10px solid transparent;
  border-bottom: 10px solid transparent;
}

.page-talktalk .talkBox.leftBox {
  padding-right: 160px;
}

.page-talktalk .talkBox.rightBox {
  padding-left: 160px;
}

/* 대선 톡톡 당 색상 */
.dang-100 .talkContent {
  background: #d7dcf6;
}
.dang-100.leftBox .talkContent::before {
  border-right: 16px solid #d7dcf6;
}
.dang-100.rightBox .talkContent::before {
  border-left: 16px solid #d7dcf6;
}

.dang-200 .talkContent {
  background: #fee1e4;
}
.dang-200.leftBox .talkContent::before {
  border-right: 16px solid #fee1e4;
}
.dang-200.rightBox .talkContent::before {
  border-left: 16px solid #fee1e4;
}

.dang-5070 .talkContent {
  background: #fad4b3;
}
.dang-5070.leftBox .talkContent::before {
  border-right: 16px solid #fad4b3;
}
.dang-5070.rightBox .talkContent::before {
  border-left: 16px solid #fad4b3;
}

.dang-730 .talkContent {
  background: #FFF89C;
}
.dang-730.leftBox .talkContent::before {
  border-right: 16px solid #FFF89C;
}
.dang-730.rightBox .talkContent::before {
  border-left: 16px solid #FFF89C;
}

.dang-3040 .talkContent {
  background: #e27249;
}
.dang-3040.leftBox .talkContent::before {
  border-right: 16px solid #e27249;
}
.dang-3040.rightBox .talkContent::before {
  border-left: 16px solid #e27249;
}

.dang-9999 .talkContent {
  background: #E0E0E0;
}
.dang-9999.leftBox .talkContent::before {
  border-right: 16px solid #E0E0E0;
}
.dang-9999.rightBox .talkContent::before {
  border-left: 16px solid #E0E0E0;
}
/* 대선 톡톡 당 색상 */

.showMoreList {
  cursor: pointer;
  box-sizing: border-box;
  border: 1px solid var(--text-gray-400);
  padding: 12px 16px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  width: 268px;
  margin: 60px auto;
}

.showMoreList:hover {
  transition: all 0.3s ease-in-out;
  background: #eff1f9;
  border: 1px solid #eff1f9;
  /* transform: scale(.97); */
}

.showMoreList .icon {
  width: 16px;
  height: 16px;
  display: block;
  background: url("https://img.seoul.co.kr/img/election2025/vote2025-icon.png") no-repeat;
  background-position: -36px -179px;
}

.width150 {
  flex-shrink: 0;
  width: 150px;
}

footer {
  background: var(--text-gray-600);
}

.footerWrap {
  width: 100%;
  display: flex;
  justify-content: center;
  text-align: center;
  padding: 60px 0;
}

.olnyMO {
  display: none;
}

.articleBox:hover .articleImage {
  overflow: hidden;
}

.articleBox:hover .articleImage img {
  transition: all 0.7s;
  transform: scale(1.05);
}
.articleBox:hover .textTit {
  transition: all 0.3s ease-in-out;
  opacity: 0.7;
}

/* 사전투표율 */

/* 프로모션 */

.promotionTitHeader {
  position: absolute;
  left: 50%;
  top: 24px;
  transform: translate(-50%, 0);
}
.promotionTitHeader .imageTit {
  width: 142px;
  height: 32px;
}

.section-outBox .sectionHeader,
.section-voterTurnout .sectionHeader {
  display: flex;
  justify-content: space-between;
  padding: 0 40px;
}

.section-outBox,
.section-voterTurnout {
  position: relative;
  max-width: 1280px;
  margin: 60px auto 0;
}
.section-outBox .contentWrap,
.section-voterTurnout .contentWrap {
  background: #eff1f9;
  border-radius: 12px;
  padding: 24px 40px;
  padding: 24px 0;
}
.section-outBox .sectionHeader .leftSide,
.section-voterTurnout .sectionHeader .leftSide {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
}

.section-exitPoll .turnoutBox {
  width: auto;
}

.sectionHeader .leftSide .progressTit {
  flex-shrink: 0;
}

.sectionInfoTextWrap {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: 8px;
}
.sectionInfoTextWrap .infoText {
  display: flex;
  align-items: center;
  gap: 12px;
}

.sectionInfoTextWrap .dateInfo {
  display: flex;
  align-items: center;
  gap: 4px;
}

.sectionInfoTextWrap .clockIcon {
  display: inline-block;
  width: 18px;
  height: 18px;
  background: url("https://img.seoul.co.kr/img/election2025/vote2025-icon.png") no-repeat;
  background-position: -324px -17px;
}

.voterTurnoutSlideWrap {
  display: flex;
  align-items: center;
  gap: 16px;
}

.voterTurnoutSlideWrap .boxTitle {
  flex-shrink: 0;
}

.voterTurnoutBox {
  position: relative;
}

.voterTurnoutBox .owl-btn-small-w .custom-prev:before {
  background: url("https://img.seoul.co.kr/img/election2025/vote2025-icon.png") no-repeat;
  background-position: -23px -300px;
}

.voterTurnoutBox .owl-btn-small-w .custom-next:before {
  background: url("https://img.seoul.co.kr/img/election2025/vote2025-icon.png") no-repeat;
  background-position: -40px -300px;
}

#vote-voterTurnout-slide {
  width: 98px;
  padding: 0 32px;
}
#vote-voterTurnout-slide li {
  width: 100px;
}

.turnoutBox {
  display: flex;
  align-items: center;
  gap: 6px;
  width: 100px;
}
.turnoutBox .region {
  flex-shrink: 0;
}

.turnoutBox .persentData {
  /* min-width: 32px; */
  font-family: "Pretendard-Black";
  display: flex;
  align-items: baseline;
  font-size: 21px;
  font-style: normal;
  font-weight: 900;
  line-height: 22px; /* 104.762% */
  letter-spacing: -0.42px;
  background: linear-gradient(60deg, #3d73eb 13.4%, #de8fff 65.37%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.turnoutBox .persentData .percent {
  font-size: 11px;
  font-style: normal;
  font-weight: 900;
  line-height: 12px;
  letter-spacing: -0.22px;
}

.voterTurnoutBox .owl-nav .custom-prev {
  position: absolute;
  z-index: 10;
  left: 0;
  top: 50%;
  transform: translate(0, -50%);
}
.voterTurnoutBox .owl-nav .custom-next {
  position: absolute;
  z-index: 10;
  right: 0;
  top: 50%;
  transform: translate(0, -50%);
}

.turnoutSlide {
  display: inline-flex;
  align-items: center;
  gap: 40px;
  background: #080058;
  border-radius: 8px;
  padding: 0 24px;
  float: right;
}

.turnoutSlide .slideTitle {
  flex-shrink: 0;
}

.section-voterTurnout .contentSide {
  display: flex;
  align-items: center;
  gap: 30px;
  padding: 16px 40px 30px;
}

.contentSide .progress-text .progressNum {
  font-family: "Pretendard-Black";
  font-size: 38px;
  font-weight: 900;
  line-height: 48px; /* 126.316% */
  letter-spacing: -1.14px;
  background: -webkit-linear-gradient(60deg, #3d73eb 18.4%, #de8fff 62%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.contentSide .progress-text .percent {
  font-size: 20px;
  line-height: 30px;
  letter-spacing: -0.6px;
}

.contentSide .progress-bar {
  position: relative;
  width: 100%;
  height: 36px;
  background-color: var(--text-white);
  border-radius: 8px;
}

.contentSide .progress-bar .personNum {
  position: absolute;
  z-index: 10;
  right: -100px;
  top: 50%;
  transform: translate(0, -50%);
}

.contentSide .progress-bar .num50 {
  position: absolute;
  bottom: -28px;
  left: 50%;
  transform: translateX(-50%);
}

/*
.contentSide .progress-bar::before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  height: 100%;
  width: 1px;
  height: 100%;
  border-left: 1px dashed #ddd;
}
*/

.contentSide .progress-bar::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 26.7%;
  transform: translateX(-50%);
  height: 100%;
  width: 1px;
  border-left: 1px dashed var(--etc-notice);
}

.contentSide .progress-bar .progress {
  position: relative;
  width: 15.84%;
  height: 36px;
  padding: 0;
  text-align: center;
  background-color: #6e48e5;
  color: #111;
  border-radius: 8px;
}

.contentSide .p-now {
  position: relative;
  width: 100%;
  animation: p-now 1.5s;
}

.contentSide .progressBar-info {
  margin-top: 8px;
  display: flex;
  gap: 12px;
}

.contentSide .lastVote {
  position: absolute;
  bottom: -36px;
  left: 26.7%;
  transform: translateX(-50%);
  display: inline-flex;
  justify-content: center;
  align-items: center;
  padding: 2px 12px;
  gap: 4px;
  border-radius: 50px;
  border: 1px solid var(--etc-notice);
  background: #fcf3f1;
}

.bottomContentSide .foldBoxBtn {
  display: flex;
  gap: 8px;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  margin: 20px 40px 0;
}

.bottomContentSide .foldBoxBtn .icon {
  width: 26px;
  height: 26px;
  background: url("https://img.seoul.co.kr/img/election2025/vote2025-icon.png") no-repeat;
  background-position: 3px -306px;
}

.bottomContentSide .foldBoxBtn .arrowIcon {
  width: 14px;
  height: 14px;
  background: url("https://img.seoul.co.kr/img/election2025/vote2025-icon.png") no-repeat;
  background-position: -36px -180px;
}

.bottomContentSide .foldBoxBtn.open .arrowIcon {
  transform: rotate(180deg);
  background-position: -38px -179px;
}

.bottomContentSide .foldBox {
  display: none;
  margin: 24px 0 8px;
}

.detailGraphBox {
  box-sizing: border-box;
  background: #fff;
  padding: 20px;
  border-radius: 12px;
}
.detailGraphBox01 {
  width: 474px;
  height: 355px;
}

.detailGraphBox02 {
  width: 678px;
  height: 355px;
  margin-left: 14px;
}

.detailGraphBox02 .chartGraph {
  min-width: 100%;
}

.bottomContentSide .foldBox.open {
  display: flex;
  justify-content: space-between;
  padding: 0 28px 0 40px;
}

.detailGraphBoxWrap {
  display: none;
}

.detailGraphBox .graphTitleWrap {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 15px;
}

.detailGraphBox .graphTitleWrap .leftSide {
  display: flex;
  align-items: center;
  gap: 8px;
}

.graphBoxInfo {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
}
.graphBoxInfo .mark {
  display: flex;
  gap: 12px;
}

.graphBoxInfo .mark div {
  display: flex;
  align-items: center;
  gap: 4px;
  flex-shrink: 0;
}
.graphBoxInfo .mark div:nth-child(1) span {
  display: block;
  width: 10px;
  height: 10px;
  border-radius: 5px;
  background: #080158;
}
.graphBoxInfo .mark div:nth-child(2) span {
  display: block;
  width: 10px;
  height: 10px;
  border-radius: 5px;
  background: var(--text-gray-500);
}

.graphBoxInfo .subInfo {
  display: flex;
  align-items: center;
  gap: 4px;
}

.detailGraphBox01 .detailGraphBox {
  background: #fff;
}

.detailGraphBox02Wrap {
  position: relative;
  width: 702px;
}

.detailGraphBox02 {
  width: 678px;
}

.detailGraphBox02 .graphContent .tablePartTurnoutArrow {
  position: relative;
}

.detailGraphBox01 .owl-btn-small-b {
  display: flex;
  width: 60px;
  height: 24px;
  gap: 12px;
}

.detailGraphBox01 .owl-btn-small-b #timePrevBtn,
.detailGraphBox01 .owl-btn-small-b #timeNextBtn {
  cursor: pointer;
  width: 24px;
  height: 24px;
}

.detailGraphBox01 .graphContent #timePrevBtn,
.detailGraphBox02 .graphContent #prevBtn {
  cursor: pointer;
  position: absolute;
  z-index: 10;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  width: 26px;
  height: 26px;
}
.detailGraphBox01 .graphContent #timeNextBtn,
.detailGraphBox02 .graphContent #nextBtn {
  cursor: pointer;
  position: absolute;
  z-index: 10;
  top: 50%;
  right: 0;
  left: auto;
  transform: translateY(-50%);
  width: 26px;
  height: 26px;
}

/* 출구조사 */

.ballotboxTopSide {
  position: relative;
  display: flex;
  justify-content: center;
  margin: 24px 0 0;
}
.ballot-box {
  position: relative;
  width: 600px;
  display: flex;
  gap: 32px;
  align-items: center;
}

.ballot-mainSide {
  display: flex;
  gap: 32px;
  align-items: center;
}

.ballot-ranked:after {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 12px;
  border-radius: 10px;
}
.ballot-ranked.dang-100 .ballot-result {
  color: #003b96;
}

.ballot-ranked.dang-200 .ballot-result {
  color: #e61e2b;
}

.ballot-ranked.dang-100:after {
  background: #003b96;
}

.ballot-ranked.dang-200:after {
  background: #e61e2b;
}

.ballot-ranked .badgeTit {
  position: absolute;
  top: 0;
  left: 0;
  box-sizing: border-box;
  width: 50px;
  height: 50px;
  border-radius: 30px;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* 1위 */
.ballot-box .badgeTit.rank01 {
  background: linear-gradient(60deg, #3d73eb 13.4%, #de8fff 65.37%);
  color: var(--text-white);
}
.ballot-box .badgeTit.rank01:after { content: '1위'; }

/* 2위 */
.ballot-box .badgeTit.rank02 {
  left: auto;
  right: 0;
  border: 1px solid transparent;
  background-image: linear-gradient(#fff, #fff), linear-gradient(60deg, #3d73eb 13.4%, #de8fff 65.37%);
  background-origin: border-box;
  background-clip: content-box, border-box;
}
.ballot-box .badgeTit.rank02:after { content: '2위'; }

/* 유력 */
.ballot-box .badgeTit.prime {
  background: #d46dff;
  color: var(--text-white);
}
.ballot-box .badgeTit.prime:after { content: '유력'; }

/* 확실 */
.ballot-box .badgeTit.certain {
  background: #6e48e5;
  color: var(--text-white);
}
.ballot-box .badgeTit.certain:after { content: '확실'; }

/* 당선 */
.ballot-box .badgeTit.elected {
  top: -16px;
  padding: 0;
  width: 93px;
  height: 82px;
  background: url("https://img.seoul.co.kr/img/election2025/vote2025-icon.png") no-repeat;
  background-position: -92px -307px;
  border-radius: 0;
  font-size: 0;
}

.ballot-box .badgeTit .ballot-mainSide {
  display: flex;
  gap: 32px;
  align-items: center;
}

.ballot-rank01 .ballot-mainSide {
  padding-left: 80px;
}
.ballot-rank02 {
  justify-content: flex-end;
}
.ballot-rank02 .ballot-mainSide {
  padding-right: 80px;
}

.ballot-rank02 .ballot-mainSide .ballot-personImage {
  order: 2;
}
.ballot-rank02 .ballot-mainSide .ballot-content {
  order: 1;
}

.ballot-rank02 .ballot-candidate .candidateName {
  order: 2;
}

.ballot-rank02 .ballot-candidate .dangLogo {
  order: 1;
}

.ballot-personImage {
  width: 205px;
  height: 182px;
}

.ballot-content {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.ballot-content .ballot-candidate {
  display: flex;
  gap: 6px;
  align-items: center;
}

.dangLogo {
  height: 25px;
  width: 33px;
}
.ballot-box .dangLogo {
  background-image: url("https://img.seoul.co.kr/img/election2025/vote2025-icon.png");
}

.dangImage-100 {
  height: 25px;
  width: 35px;
  background-position: 1px -74px;
}

.dangImage-200 {
  height: 25px;
  width: 64px;
  background-position: -87px -74px;
}

.dangImage-5070 {
  width: 41px;
  height: 16px;
  background-position: -208px -80px;
}

.dangImage-730 {
  width: 44px;
  height: 25px;
  background-position: -86px -259px;
}

.dangImage-9999 {
  width: 44px;
  background-position: -269px -258px;
}

.ballot-content .ballot-result {
  display: flex;
  align-items: baseline;
  min-width: 70px;
  justify-content: flex-end;
}
.ballot-content .ballot-result .num {
  font-size: 48px;
  font-style: normal;
  font-weight: 700;
  line-height: 48px; /* 100% */
  letter-spacing: -1.44px;
}
.ballot-content .ballot-result .persent {
  font-size: 20px;
  font-style: normal;
  font-weight: 700;
  line-height: 30px;
  letter-spacing: -0.2px;
}

.ballotboxBottomSide {
  box-sizing: border-box;
  display: flex;
  justify-content: space-between;
  background: var(--text-white);
  padding: 24px 0;
  margin: 32px 40px 0;
  border-radius: 12px;
}

.ballotboxBottomSide .ballot-box {
  width: 33.333%;
  gap: 20px;
  justify-content: center;
}
.ballotboxBottomSide .ballot-box:not(:last-child):after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  transform: translate(0, -50%);
  right: 0;
  height: 70px;
  width: 1px;
  background: var(--text-gray-300);
}
.ballotboxBottomSide .ballot-box .ballot-personImage {
  width: 70px;
  height: 70px;
  border-radius: 50px;
  overflow: hidden;
  border: 1px solid var(--text-gray-300);
}

.ballotboxBottomSide .ballot-leftSide {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: auto;
}
.ballotboxBottomSide .badgeTit {
  margin-top: -16px;
  position: relative;
  box-sizing: border-box;
  background: var(--text-gray-600);
  border-radius: 12px;
  padding: 0 10px;
  width: 41px;
}

.ballotboxBottomSide .ballot-content {
  align-items: flex-start;
  gap: 4px;
}

.ballotboxBottomSide .ballot-content .ballot-candidate {
  gap: 8px;
}
.ballotboxBottomSide .ballot-content .candidateName {
  flex-shrink: 0;
}
.ballotboxBottomSide .ballot-result .num {
  font-size: 20px;
  font-style: normal;
  font-weight: 700;
  line-height: 28px; /* 140% */
  letter-spacing: -0.6px;
}

.ballotboxBottomSide .ballot-result .persent {
  font-size: 14px;
  font-style: normal;
  font-weight: 700;
  line-height: 24px;
  letter-spacing: -0.14px;
}

/* 전국 개표 현황 */
.ballotCounts {
  display: inline-flex;
}
.differenceValuesWrap {
  position: absolute;
  top: 24px;
  text-align: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 3px;
  width: 120px;
  height: 120px;
  border-radius: 60px;
  border: 1px solid transparent;
  background-image: linear-gradient(#fff, #fff), linear-gradient(60deg, #3d73eb 13.4%, #de8fff 65.37%);
  background-origin: border-box;
  background-clip: content-box, border-box;
}
.differenceValuesWrap .tit {
  box-sizing: border-box;
  background: #080158;
  border-radius: 12px;
  padding: 0 16px;
}

.differenceValues {
  display: flex;
  align-items: baseline;
}

.differenceValues .num {
  font-size: 24px;
  font-style: normal;
  font-weight: 700;
  line-height: 34px; /* 141.667% */
  letter-spacing: -0.48px;
}

.differenceValues .persent {
  font-size: 13px;
  font-style: normal;
  font-weight: 500;
  line-height: 20px;
  letter-spacing: -0.13px;
}

.countValues {
  margin-top: -8px;
}

.ballotboxBottomSide .ballot-content .resultWrap {
  display: flex;
  align-items: center;
  gap: 8px;
}
.ballotboxBottomSide .ballotCounts .num {
  font-size: 14px;
  font-style: normal;
  font-weight: 500;
  line-height: 24px; /* 171.429% */
  letter-spacing: -0.14px;
}

/* 전국 개표 현황 */
.ballotCounts {
  display: inline-flex;
}
.differenceValuesWrap {
  position: absolute;
  top: 24px;
  text-align: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 3px;
  width: 120px;
  height: 120px;
  border-radius: 60px;
  border: 1px solid transparent;
  background-image: linear-gradient(#fff, #fff), linear-gradient(60deg, #3d73eb 13.4%, #de8fff 65.37%);
  background-origin: border-box;
  background-clip: content-box, border-box;
}
.differenceValuesWrap .tit {
  box-sizing: border-box;
  background: #080158;
  border-radius: 12px;
  padding: 0 16px;
}

.differenceValues {
  display: flex;
  align-items: baseline;
}

.differenceValues .num {
  font-size: 24px;
  font-style: normal;
  font-weight: 700;
  line-height: 34px; /* 141.667% */
  letter-spacing: -0.48px;
}

.differenceValues .persent {
  font-size: 13px;
  font-style: normal;
  font-weight: 500;
  line-height: 20px;
  letter-spacing: -0.13px;
}

.countValues {
  margin-top: -8px;
}

.ballotboxBottomSide .ballot-content .resultWrap {
  display: flex;
  align-items: center;
  gap: 8px;
}
.ballotboxBottomSide .ballotCounts .num {
  font-size: 14px;
  font-style: normal;
  font-weight: 500;
  line-height: 24px; /* 171.429% */
  letter-spacing: -0.14px;
}

.ballot-content .ballotCounts {
  min-width: 100px;
  justify-content: flex-end;
}

.section-resultVote { margin-bottom: 60px; }
.section-resultVote .contentWrap {
  padding: 24px 40px;
  display: flex;
  justify-content: space-between;
}
.section-resultVote .sectionHeader {
  padding: 0;
  margin-bottom: 12px;
  align-items: flex-start;
}
.section-resultVote .mapArea {
  box-sizing: border-box;
  width: 674px;
  background: var(--text-white);
  border-radius: 12px;
  padding: 20px 24px;
}
.section-resultVote .rankArea {
  position: relative;
  box-sizing: border-box;
  width: 502px;
  padding: 20px 24px;
  background: var(--text-white);
  border-radius: 12px;
}

.section-resultVote .turnoutBox {
  flex-direction: column;
  gap: 0;
  align-items: flex-end;
  width: auto;
}

.section-resultVote .turnoutBox .box {
  display: flex;
  gap: 8px;
  align-items: center;
}

.section-resultVote .turnoutBox .box02 .persentData {
  background: none;
  -webkit-text-fill-color: unset;
}

.section-resultVote .turnoutBox {
  flex-direction: column;
  gap: 0;
}

.section-resultVote .turnoutBox .box02 {
  margin-top: -1px;
}

.section-resultVote .turnoutBox .box02 .body16 {
  font-size: 14px;
  font-style: normal;
  font-weight: 500;
  line-height: 24px; /* 171.429% */
  letter-spacing: -0.14px;
}

.turnoutBox .persentData {
  font-weight: 500;
}
.section-resultVote .turnoutBox .box02 .persentData {
  font-family: "Pretendard";
  font-size: 16px;
  font-style: normal;
  font-weight: 500;
  line-height: 22px; /* 137.5% */
  letter-spacing: -0.32px;
}

.section-resultVote .rankArea .title {
  display: flex;
}

.regionListBtn {
  cursor: pointer;
  position: relative;
  padding: 0 8px 0 20px;
  color: #6e48e5;
}

.regionListBtn:after {
  display: block;
  content: "";
  position: absolute;
  top: 9px;
  left: 0;
  width: 12px;
  height: 12px;
  background: url("https://img.seoul.co.kr/img/election2025/vote2025-icon.png") no-repeat;
  background-position: -68px -308px;
}

.regionListBtn.pick:after {
  transform: rotate(180deg);
}

/* .countBallotRank {
  counter-reset: rankingTop 0;
}
.countBallotRank li {
  position: relative;
  padding-left: 26px;
  margin-bottom: 10px;
}

.countBallotRank li:before {
  position: absolute;
  left: 0;
  display: inline-block;
  counter-increment: rankingTop;
  content: counter(rankingTop);
  font-size: 16px;
  font-style: normal;
  font-weight: 700;
  line-height: 26px; 
  letter-spacing: -0.16px;
  color: var(--text-gray-600);
  width: 20px;
  height: 20px;
} */

.countBallotRank .countBox {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0;
  padding: 28px 0;
  border-top: thin solid #c8c4f1;
}
.countBallotRank .countBox .leftSide {
  display: flex;
  align-items: center;
  gap: 32px;
}

.countBallotRank .countBox .rankNum {
  flex-shrink: 0;
}

.countBallotRank li:last-child .countBox {
  border-bottom: 0;
  padding-bottom: 0;
}

.countBallotRank .countBox .personWrap {
  display: flex;
  align-items: center;
  gap: 20px;
  min-width: 210px;
}
.countBallotRank .countBox .personImage {
  width: 50px;
  height: 50px;
}
.countBallotRank .ballot-box {
  width: 100%;
}

.countBallotRank .ballot-content {
  display: flex;
  flex-direction: row;
  gap: 0;
}

.countBallotRank .ballot-content .ballot-result .num {
  font-size: 20px;
  font-style: normal;
  font-weight: 700;
  line-height: 28px;
  letter-spacing: -0.6px;
}
.countBallotRank .ballot-content .ballot-result .persent {
  font-size: 14px;
  font-style: normal;
  font-weight: 700;
  line-height: 24px;
  letter-spacing: -0.14px;
}
.regionListContent {
  display: none;
  z-index: 10;
  position: absolute;
  top: 52px;
  left: 24px;
  box-sizing: border-box;
  width: 212px;
  height: 440px;
  padding: 16px 16px;
  border-radius: 4px;
  border: 1px solid #c8c4f1;
  background: var(--text-white);
}
.regionListContent.open {
  display: block;
}
.regionListContent .conListTit {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 8px;
}

.regionListContent ul {
  display: flex;
  flex-wrap: wrap;
}
.regionListContent ul li {
  border-top: 1px solid #c8c4f1;
}

.regionListContent .regionTitBox {
  cursor: pointer;
  display: flex;
  gap: 8px;
  padding: 7px 0 8px;
  width: 85px;
}

.regionListContent .regionTit.pick {
  color: #6e48e5;
}

.regionListContent li:nth-child(odd) .regionTitBox {
  padding-right: 8px;
}

/*  지역별 득표 결과 map style  */
.mapTooltipBox {
  box-sizing: border-box;
  background: #fff;
  padding: 8px 12px;
  width: max-content;
}

.mapTooltipBox .sidoName {
  font-family: Pretendard;
  font-size: 18px;
  font-style: normal;
  font-weight: 700;
  line-height: 30px; /* 166.667% */
  letter-spacing: -0.18px;
  padding-bottom: 8px;
  border-bottom: 1px solid #c8c4f1;
}

.mapTooltipBox .rankList {
  padding: 8px 0 0;
}

.mapTooltipBox .rankList li {
  display: flex;
  gap: 8px;
}
.mapTooltipBox .rankNum {
  font-family: Pretendard;
  font-size: 16px;
  font-style: normal;
  font-weight: 700;
  line-height: 26px; /* 162.5% */
  letter-spacing: -0.16px;
  color: #666;
}
.mapTooltipBox .rankList .persentWrap .num {
  font-family: Pretendard;
  font-size: 16px;
  font-style: normal;
  font-weight: 700;
  line-height: 26px;
  letter-spacing: -0.16px;
  color: #666;
}

.mapTooltipBox .rankList .name {
  font-family: Pretendard;
  font-size: 16px;
  font-style: normal;
  font-weight: 700;
  line-height: 26px;
  letter-spacing: -0.16px;
  color: #111;
}
.mapTooltipBox .rankList .persentWrap {
  display: flex;
  align-items: baseline;
}
.mapTooltipBox .rankList .persentWrap .num {
  color: inherit;
  font-family: Pretendard;
  font-size: 16px;
  font-style: normal;
  font-weight: 700;
  line-height: 26px;
  letter-spacing: -0.16px;
}
.mapTooltipBox .rankList .persentWrap .persent {
  color: inherit;
  font-family: Pretendard;
  font-size: 10px;
  font-style: normal;
  font-weight: 700;
  line-height: 24px;
  letter-spacing: -0.1px;
}

.mapTooltipBox .resultNum,
.mapTooltipBox .resultNum .num {
  display: inline-flex;
  font-family: Pretendard;
  font-size: 14px;
  font-style: normal;
  font-weight: 500;
  line-height: 24px;
  letter-spacing: -0.14px;
  color: #666;
}
/* 전국 개표 현황 */

/* 전국 투표율/개표율 D-DAY 영역 */
.topResultWrap{
  min-width: 124px;
}
.topResultWrap .resultTit{
  font-size: 52px;
}

.topResultWrap .resultTit .persent{
  font-size: 26px;
}

/* 디데이 -- openDdayTit */
.dDayWrap .openDdayTit{
  font-size:46px;
}

/* 선거종료 --- endTit */
.topResultWrap .endTit{
  font-size:38px;
}
/* 전국 투표율/개표율 D-DAY 영역 */

.onlyPc-flex {
  display: inline-flex;
}
.onlyPc {
  display: block;
}

.onlyMo {
  display: none;
}

@media screen and (max-width: 1450px) {
  .pledgeBlock {
    width: 1280px;
  }
  .mainTopBottomslide .owl-nav,
  .squere-slide .owl-nav {
    display: none;
  }

  .min1280 {
    min-width: 1280px;
    /* overflow: hidden; */
  }

  .layoutWrap {
    min-width: 1280px;
  }

  .mainTop-bottomSide {
    overflow: hidden;
  }
  /* 
    .noMain,
    .noMain-layout {
        min-width: auto;
        margin: 0 auto;
    }
    .noMain-layout {
        width: calc(100% - 37px);
        overflow: unset;
    } */
  /* menu- 후보 한눈에 */
  /* .candidateDataBox .noMain {
        width: calc(100% - 37px);
    } */
  .secondBlock {
    padding: 24px;
    gap: 20px;
  }
}
@media screen and (max-width: 1280px) {
  .min1280 {
    overflow: hidden;
  }
  .page-talktalk .talkBox .talkContent {
    padding: 16px 20px;
  }
  .page-talktalk .talkBox {
    gap: 20px;
  }

  .noMain nav .voteMenuList {
    gap: 40px;
  }

  /* menu- 후보 한눈에 */
  /* .candidateDataBox .width1280 {
        width: 100%;
    }
    .candidateDataBox .secondBlock{
        flex-direction: column;
        gap: 40px;
        padding: 40px;
        position: relative;
        z-index: 1;
        margin-top: -10px;
    }

    .pledgeBlock{
        margin: -10px 0 50px 0;
    } */

  .section-pledge {
    overflow: hidden;
  }
  .section-pledge .sectionTitWrap {
    padding-left: 19px;
  }

  .section-pledge .owl-nav {
    right: 18px;
  }

  #pledgeList-slide {
    padding-left: 19px;
  }
}

@media screen and (max-width: 660px) {
  .onlyPc-flex {
    display: none;
  }
  .onlyPc {
    display: none;
  }

  .onlyMo {
    display: block;
  }

  iframe {
    /* width: 700px !important; */
    width: 100%;
    height: 340px;
  }

  .mt40 {
    margin-top: 40px;
  }
  .layoutWrap {
    min-width: calc(100% - 37px);
    width: calc(100% - 37px);
  }
  .min1280 {
    min-width: 100%;
  }
  .olnyMO {
    display: block;
  }
  .margin100 {
    margin: 50px 0;
  }

  section {
    margin: 40px 0;
  }
  .column2-layout {
    gap: 50px;
    flex-direction: column;
  }

  .column2-layout .rightSide {
    width: 100%;
    gap: 50px;
  }

  /* header */
  .headerWrap {
    overflow: hidden;
    height: 140px;
  }
  .headerLogoWrap {
    gap: 0;
  }
  .headerlogo {
    width: 80px;
  }

  .header {
    padding: 21px 20px 0 19px;
    z-index: 1;
  }

  /* .noMain nav .voteMenuList {
        padding: 0 0 12px;
    } */
  .headerTit {
    width: 127px;
    height: 43px;
    display: flex;
    align-items: center;
  }
  .dDayWrap {
    margin-top: 4px;
  }
  .dDayWrap .dDaySub {
    font-size: 12px;
    font-weight: 500;
    line-height: 20px; /* 166.667% */
    letter-spacing: -0.12px;
  }

  .dDayWrap .dDayTit {
    font-size: 29px;
    font-weight: 700;
    line-height: 30px;
    letter-spacing: -0.29px;
  }

  nav {
    padding: 0 11px 0 17px;
  }

  nav .voteMenuList {
    gap: 22px;
    padding: 12px 0;
    flex-wrap: wrap;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    flex-wrap: nowrap;

    font-size: 15px;
    font-style: normal;
    font-weight: 500;
    line-height: 22px; /* 146.667% */
    letter-spacing: -0.15px;
  }

  nav .voteMenuList li {
    white-space: nowrap;
  }

  nav .voteMenuList .menu:after {
    height: 3px;
  }

  .bgImage {
    /* right: -8%; */
    right: -23px;
    background: url("https://img.seoul.co.kr/img/election2025/header-dDay-bg-mo.png") no-repeat right;
    background-size: 100%;
  }
  /* main top */
  .maniTop-section {
    padding: 0 0 50px;
    overflow: hidden;
  }
  .maniTop-section .topSide {
    width: 100%;
    gap: 24px;
  }

  .maniTop-section .topSide .owl-dots {
    display: none;
  }

  .vote-mainTopSide .articleTitle {
    font-size: 20px;
    font-style: normal;
    font-weight: 700;
    line-height: 30px; /* 150% */
    letter-spacing: -0.2px;
  }

  .maniTop-section .talk-section .scrollWrap {
    max-height: auto;
    width: 100%;
  }

  .maniTop-section .talk-section {
    width: calc(100% - 37px);
    padding: 0 18px 0 19px;
  }

  #talktalk-slide li {
    width: calc(100% - 37px);
  }

  .maniTop-section .talkBox .talkContent {
    max-width: calc(100% - 60px);
    min-width: calc(100% - 60px);
  }
  .maniTop-section .talkBox.rightBox .talkContent {
    order: 2;
  }

  .maniTop-section .talkBox.rightBox .talkPerson {
    order: 1;
  }

  .topSide .talkBox.rightBox .talkContent::before {
    left: -9px;
    right: auto;
    border-left: 0;
  }

  .topSide .talkBox.dang-100.rightBox .talkContent::before {
    border-right: 16px solid #d7dcf6;
  }

  .topSide .talkBox.dang-200.rightBox .talkContent::before {
    border-right: 16px solid #fee1e4;
  }

  .topSide .talkBox.dang-5070.rightBox .talkContent::before {
    border-right: 16px solid #fad4b3;
  }

  .topSide .talkBox.dang-5070.rightBox .talkContent::before {
    border-right: 16px solid #fad4b3;
  }

  .vote-mainTopSide .articleTitle {
    padding: 0 18px 0 19px;
  }

  .maniTop-section .talkBox .talkDate {
    display: block;
    padding-left: 0;
  }

  .mainTop-bottomSide {
    max-width: calc(100% - 19px);
    padding-left: 19px;
  }
  .navigationLayout {
    display: none !important;
  }

  .vote-mainTopSide .articleImage {
    border-radius: 0;
  }

  .vote-mainTopSide .articleBox {
    flex-direction: column;
    gap: 24px;
  }

  .vote-mainTopSide .articleContent {
    display: none;
  }
  .vote-mainTopSide .articleImage {
    position: relative;
    width: 100%;
    height: 300px;
  }

  .vote-mainTopSide .articleImage img {
    position: relative;
    /* top: 0; */
    /* left: 0; */
    height: auto;
    width: 100%;
    /* object-fit: contain; */
    margin: auto;
  }

  .vote-mainTopSide .articleContentWrap {
    width: 100%;
    max-width: 100%;
    margin-top: 0;
  }

  /* mainTopBottom */
  .vote-mainTopBottom .articleBox {
    position: relative;
    width: 200px;
  }
  .vote-mainTopBottom li .articleImage {
    width: 200px;
    height: 133px;
  }

  .vote-mainTopBottom .articleBoxDate:after {
    content: "";
    display: block;
    position: relative;
    z-index: 10;
    background: var(--text-gray-400);
    width: 136px;
    height: 1px;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
  }

  #module-2-slide li,
  #module-2-slide .moduleContentBox,
  section.module-2,
  #module-2-slide {
    width: 100%;
  }

  .moduleImage {
    width: 100%;
  }

  .candidateNameTabList {
    flex-wrap: wrap;
    box-sizing: border-box;
    width: 100%;
  }

  .candidateNameTabList li {
    flex-shrink: 0;
  }

  /* 대선톡톡 */

  .page-talktalk .talkBox.leftBox {
    padding-right: 0;
  }

  .page-talktalk .talkBox.rightBox {
    padding-left: 0;
  }
  .talk-section .sectionTit {
    font-size: 16px;
    font-style: normal;
    font-weight: 700;
    line-height: 26px; /* 162.5% */
    letter-spacing: -0.16px;
  }

  .talk-section .sectionTit::before {
    top: 2px;
    width: 14px;
    height: 20px;
    background: url("https://img.seoul.co.kr/img/election2025/vote2025-icon-mo.png") no-repeat;
    background-size: 382px;
    background-position: -299px -15px;
  }

  section .sectionTit.arrowBg:after {
    background: url("https://img.seoul.co.kr/img/election2025/vote2025-icon-mo.png") no-repeat;
    background-size: 382px;
    background-position: -273px -15px;
  }

  .vote-mainTopBottom .articleBoxDate .icon {
    background: url("https://img.seoul.co.kr/img/election2025/vote2025-icon-mo.png") no-repeat;
    background-size: 382px;
    background-position: -323px -17px;
  }
  /* 최신뉴스 */
  .voteNewest {
    width: auto;
  }
  .voteNewest li {
    padding: 24px 0;
  }

  .voteNewest .articleBox.noImage .articleContent {
    display: none;
  }

  .voteNewest .articleContentWrap {
    padding-right: 0;
  }
  .voteNewest .articleBox {
    flex-direction: row;
    gap: 16px;
  }
  .voteNewest .articleBox .articleImage {
    width: 106px;
    height: 106px;
  }
  .voteNewest .articleBox .articleImage img {
    height: 100%;
    width: auto;
  }
  .voteNewest .articleInfo span {
    color: var(--text-gray-500);
  }

  .voteNewest .articleTitle {
    font-size: 18px;
    font-style: normal;
    font-weight: 700;
    line-height: 30px; /* 166.667% */
    letter-spacing: -0.18px;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    /* 라인수 */
    -webkit-box-orient: vertical;
    white-space: normal;
    overflow: hidden;
    /* max-height: 4.2em; */
    text-overflow: ellipsis;
  }

  .voteNewest .textTit {
    display: inline;
  }

  .voteNewest .badge {
    display: inline-block;
    margin-bottom: 0;
    vertical-align: middle;
  }

  /* 많이 본 대선 뉴스 */
  .section-dailyBestNews {
    display: none;
  }

  /* 현장 속으로 */

  .module-2 .moduleImage {
    width: 100%;
    height: 360px;
  }

  .module-2 .moduleImage img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .section-showPlace .arrowBtnWrap {
    display: none;
  }

  .section-showPlace .owl-theme .owl-nav.disabled + .owl-dots {
    margin-top: 20px;
  }

  #module-2-slide .owl-dots {
    display: block;
  }

  /* 대선 톡톡 */
  .section-mo-talktalk {
    width: calc(100% - 37px);
    margin: 50px auto 50px;
    border-top: 1px solid var(--text-gray-300);
    padding: 50px 18px 0 19px;
  }

  .section-mo-talktalk .talkBox .talkContent {
    max-width: 100%;
    min-width: calc(100% - 60px);
  }

  /* 대선 쇼츠 */
  .section-shortsVideo .sectionTit {
    color: #111;
  }
  .btn-md {
    display: none;
  }

  .layoutWrap.onlyPC {
    width: 100%;
  }

  /* 대선 쇼츠 */
  .bgBlock {
    padding: 0;
    border-radius: 12px;
    /* background: none; */
  }

  .section-shortsVideo {
    padding-left: 20px;
    margin: 40px 0 0;
  }

  /* 대선 영상 */
  .section-voteVideo {
    background: #7e75e6;
  }

  .section-voteVideo .sectionBgWrap::before {
    display: none;
  }

  .section-voteVideo {
    width: calc(100% - 37px);
    height: auto;
    padding: 40px 18px 40px 19px;
    margin: 0 0;
    border-radius: 12px;
  }

  .section-voteVideo .owl-dots {
    margin-top: 20px !important;
  }
  #vote-video li {
    width: 100%;
    height: auto;
  }
  #vote-video .moduleImage {
    width: 100%;
    height: 300px;
  }

  .section-voteVideo .owl-nav {
    display: none;
  }

  .section-voteVideo .owl-theme .owl-dots .owl-dot span {
    background: var(--bg-b-bg);
  }

  /* 후보자 한눈에 */

  .page-candidate .voteNewest .articleContentWrap {
    padding-right: 0;
  }

  #vote-ct-arrowSlider {
    display: none;
  }

  .squere-slide {
    margin: 0 0 50px;
  }

  .squere-slide .owl-carousel .owl-dots {
    display: block;
  }

  .squere-slide .owl-dots {
    margin-top: 20px !important;
  }

  .candidateThumbImage {
    width: 200px;
    height: 203px;
  }

  .sectionNotice {
    display: none;
  }

  .squere-slide .owl-nav {
    display: none;
  }

  /* 여론조사 */
  .opinionPollIframe {
    width: 100%;
    height: 620px;
    overflow: hidden;
  }
  .graphArea {
    height: 560px;
  }
  .graphArea .box {
    height: 340px;
  }
  .section-opinionPoll {
    margin: 40px 0 10px;
  }
  .section-opinionPoll .graph {
    gap: 0;
    width: 100%;
  }

  .section-pledge .sectionTitWrap {
    justify-content: space-between;
  }

  .section-opinionPoll .sectionTitWrap {
    align-items: center;
  }
  .pollDate {
    padding-top: 3px;
  }

  .section-opinionPoll .owl-dots {
    display: none;
  }

  .graphInfo {
    flex-direction: column;
    gap: 4px;
  }

  .graphInfo ul {
    order: 2;
  }

  .graphInfo .graphUnit {
    order: 1;
  }

  /* 여론의흐름 */
  .section-voteNews {
    width: 100%;
  }

  .section-voteNews h2 {
    font-size: 16px;
    font-weight: 500;
    line-height: 28px; /* 175% */
    letter-spacing: -0.16px;
  }

  .bgBlock02 {
    padding: 0;
    border-radius: 12px;
  }

  .section-voteNews {
    margin: 0 0 40px;
  }

  /* 선거일정 */
  .section-schedule .voteSchedule {
    cursor: grab;
    padding: 0;
  }

  .pollTabDragbox {
    padding: 8px 16px;
  }
  .poll_tabBox.on .graphArea .box.on {
    height: 300px;
  }

  .voteScheduleImage img {
    height: 100%;
    width: auto;
  }

  .section-schedule {
    overflow: hidden;
  }

  /* ======================== menu page ======================== */
  .mt40 {
    margin-top: 40px;
  }
  .pageTit {
    font-size: 32px;
    font-style: normal;
    font-weight: 700;
    line-height: 44px; /* 137.5% */
    letter-spacing: -0.32px;
    margin-bottom: 24px;
  }
  /* page - 대선 톡톡 */
  .page-talktalk .voteTalkTalkList {
    gap: 40px;
  }
  .page-talktalk .voteTalkTalkList .talkName {
    font-size: 14px;
    line-height: 24px;
    letter-spacing: -0.14px;
  }
  .page-talktalk .talkBox {
    gap: 20px;
  }
  .page-talktalk .talkBox .thumbImage {
    width: 40px;
    height: 40px;
  }
  .page-talktalk .talkPerson .dangImage {
    display: none;
  }

  .page-talktalk .talkBox .talkPerson {
    gap: 0;
  }
  .page-talktalk .talkBox .talkContent {
    padding: 9px 16px 7px 15px;
    min-width: calc(100% - 64px);
  }

  .page-talktalk .talkBox .talkText {
    font-size: 15px;
    font-style: normal;
    font-weight: 700;
    line-height: 24px; /* 160% */
    letter-spacing: -0.15px;
  }
  .page-talktalk .talkBox .talkContent .talkDate {
    display: block;
  }

  .page-talktalk .goArticleLink {
    display: none;
  }

  /* page - 후보 한눈에 */

  .candidateDataBox .width1280 {
    width: 100%;
    max-width: 100%;
  }

  .candidateDataBox .dangContent {
    position: absolute;
    /* bottom: 8px; 
        left: 170px; */
    top: 0;
    bottom: -40px;
    left: 160px;
    right: auto;
    gap: 4px;
  }

  .candidateDataBox .topSide {
    flex-direction: column;
    gap: 0;
    background: linear-gradient(180deg, #17288a 0.04%, #177ec2 99.02%);
  }

  .candidateDataBox .leftSide {
    display: flex;
    width: 100%;
    align-items: flex-start;
    min-height: auto;
    margin-bottom: 0;
  }

  .candidateDataBox .dangContent {
    gap: 4px;
  }
  .candidateDataBox .dangContent .dangNum {
    font-size: 80px;
    font-style: normal;
    font-weight: 900;
    line-height: normal;
    letter-spacing: -0.8px;
  }

  .candidateDataBox .dangContent .dangPerson {
    font-size: 42px;
    font-style: normal;
    font-weight: 900;
    line-height: normal;
    letter-spacing: -0.42px;
  }

  .candidateDataBox .dangContent .dangTitle {
    font-size: 14px;
    font-style: normal;
    font-weight: 500;
    line-height: normal;
    letter-spacing: -0.14px;
  }

  .candidateDataBox .candidateImage {
    width: 180px;
    max-width: 100%;
    min-width: auto;
    height: 128px !important;
    padding-left: 8px;
  }

  .candidateDataBox .dangContent .dangNum {
    font-family: "Pretendard-Black";
    font-weight: 900;
  }

  .candidateNameImage {
    width: 40px;
    height: 40px;
  }
  .candidateNameBox {
    padding: 0;
    gap: 2px;
  }

  .candidateNameTabList {
    gap: 8px;
    margin: 16px 0;
  }
  .candidateNameBox .dangImage {
    display: none;
  }

  .candidateNameBox .nameWrap .name .num {
    display: none;
  }
  .page-candidate {
    margin: 0 0 50px;
  }
  .candidateDataBox .topSide {
    flex-direction: column;
    padding: 45px 24px !important;
    height: auto;
    gap: 0;
  }
  .candidateDataBox .rightSide {
    margin: 0;
  }

  .candidateInfo li {
    gap: 20px;
  }
  .candidateInfo strong {
    font-size: 15px;
    font-style: normal;
    font-weight: 700;
    line-height: 24px; /* 160% */
    letter-spacing: -0.15px;
  }

  .candidateInfo {
    font-size: 15px;
    font-style: normal;
    font-weight: 500;
    line-height: 24px; /* 160% */
    letter-spacing: -0.15px;
  }
  .candidateInfo .snsLi {
    padding-top: 20px;
  }
  .candidateInfo .snsList {
    gap: 8px;
  }

  .candidateDataBox {
    width: 100%;
  }

  .candidateInfo .snsList .snsIcon.homeBtn {
    background: url("https://img.seoul.co.kr/img/election2025/vote2025-icon-mo.png") no-repeat;
    background-size: 382px;
    background-position: 0px -123px;
  }

  .candidateInfo .snsList .snsIcon.facebookBtn {
    background: url("https://img.seoul.co.kr/img/election2025/vote2025-icon-mo.png") no-repeat;
    background-size: 382px;
    background-position: -56px -123px;
  }

  .candidateInfo .snsList .snsIcon.xBtn {
    background: url("https://img.seoul.co.kr/img/election2025/vote2025-icon-mo.png") no-repeat;
    background-size: 382px;
    background-position: -112px -123px;
  }

  .candidateInfo .snsList .snsIcon.youtubeBtn {
    background: url("https://img.seoul.co.kr/img/election2025/vote2025-icon-mo.png") no-repeat;
    background-size: 382px;
    background-position: -168px -123px;
  }

  .candidateInfo .snsList .snsIcon.instaBtn {
    background: url("https://img.seoul.co.kr/img/election2025/vote2025-icon-mo.png") no-repeat;
    background-size: 382px;
    background-position: -224px -123px;
  }
  .candidateInfo .snsList .snsIcon.naverBtn {
    background: url("https://img.seoul.co.kr/img/election2025/vote2025-icon-mo.png") no-repeat;
    background-size: 382px;
    background-position: -280px -123px;
  }

  .candidateNameBox .dangImage-blue {
    width: 35px;
    background: url("https://img.seoul.co.kr/img/election2025/vote2025-icon-mo.png") no-repeat;
    background-size: 382px;
    background-position: 1px -73px;
  }

  .candidateNameBox .dangImage-red {
    width: 35px;
    background: url("https://img.seoul.co.kr/img/election2025/vote2025-icon-mo.png") no-repeat;
    background-size: 382px;
    background-position: -43px -74px;
  }

  .candidateNameBox .dangImage-orange {
    width: 35px;
    background: url("https://img.seoul.co.kr/img/election2025/vote2025-icon-mo.png") no-repeat;
    background-size: 382px;
    background-position: -162px -74px;
  }

  /* 후보자 페이지 신규 */
  .candidateDataBox .rightSide > div {
    padding: 20px;
    width: 100%;
    margin: 0;
  }

  .candidate04 .candidateImage {
    width: 194px;
  }
  .candidate05 .candidateImage {
    width: 170px;
  }
  .candidate06 .candidateImage {
    width: 184px;
  }
  .candidate08 .candidateImage {
    width: 150px;
  }

  .candidate04 .dangContent {
    left: 158px;
  }
  .candidate05 .dangContent {
    left: 154px;
  }
  .candidate06 .dangContent {
    left: 148px;
  }
  .candidate07 .dangContent {
    left: 170px;
  }
  .candidate08 .dangContent {
    left: 148px;
  }
  /* 후보자 페이지 신규 */

  .candidateDataBox .secondBlock {
    position: relative;
    z-index: 1;
    border-radius: 12px;
    margin-top: -10px;
    flex-direction: column;
    padding: 40px 18px 40px 19px;
    gap: 20px;
  }

  .secondBlock section {
    margin: 0;
  }
  .academicSection strong,
  .careerSection strong {
    min-width: 140px;
  }

  .pledgeBlock {
    position: relative;
    width: calc(100% - 19px);
    z-index: 0;
    margin: -10px 0 50px 0;
    padding: 38px 0 50px 19px;
  }

  .secondBlock section strong {
    font-size: 15px;
    font-style: normal;
    font-weight: 700;
    line-height: var(--spacing-32, 32px); /* 213.333% */
    letter-spacing: -0.15px;
  }

  .secondBlock .candidateInfo {
    color: var(--text-gray-600);
    font-size: 15px;
    font-style: normal;
    font-weight: 500;
    line-height: var(--spacing-32, 32px); /* 213.333% */
    letter-spacing: -0.15px;
  }

  .section-pledge .sectionTitWrap {
    width: calc(100% - 19px);
    justify-content: space-between;
  }
  .section-pledge .sectionTitWrap span {
    font-size: 13px;
    font-style: normal;
    font-weight: 500;
    line-height: 20px; /* 153.846% */
    letter-spacing: -0.13px;
    color: var(--text-gray-500);
  }

  .pledgeBox {
    line-height: 26px;
  }

  .page-candidate .showMoreList {
    display: flex;
    width: calc(100% - 37px);
  }

  .width150 {
    width: 42px;
  }

  .showMoreList {
    margin: 32px auto;
    width: 100%;
  }

  .page-talktalk li:not(:last-child) .talkBox:after {
    background: url("https://img.seoul.co.kr/img/election2025/vote2025-icon-mo.png") no-repeat;
    background-size: 382px !important;
    background-position: -18px -178px;
  }

  .owl-btn-small-w .custom-prev:before {
    background: url("https://img.seoul.co.kr/img/election2025/vote2025-icon-mo.png") no-repeat !important;
    background-size: 382px !important;
    background-position: 1px -12px !important;
  }

  .owl-btn-small-w .custom-next:before {
    background: url("https://img.seoul.co.kr/img/election2025/vote2025-icon-mo.png") no-repeat !important;
    background-size: 382px !important;
    background-position: -35px -12px !important;
  }

  .shortsImage:before {
    background: url("https://img.seoul.co.kr/img/election2025/vote2025-icon-mo.png") no-repeat;
    background-size: 382px;
    background-position: -356px -12px;
  }

  #pledgeList-slide,
  .section-pledge .sectionTitWrap {
    padding-left: 0;
  }

  .showMoreList .icon {
    width: 16px;
    height: 16px;
    display: block;
    background: url("https://img.seoul.co.kr/img/election2025/vote2025-icon-mo.png") no-repeat;
    background-size: 382px;
    background-position: -36px -178px;
  }

  /* 대선2차 - 투표율 */

  /* 프로모션 */

  .promotionTitHeader {
    position: relative;
    top: 0;
    left: 0;
    transform: unset;
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: calc(100% - 37px);
    margin: 0 auto 8px;
  }

  .promotionTitHeader .imageTit {
    width: 99px;
    height: 32px;
  }

  .section-voterTurnout {
    margin: 20px auto 60px;
  }

  .section-voterTurnout .contentWrap {
    padding: 16px 18px 16px 19px;
  }

  .sectionInfoTextWrap {
    padding: 0 18px 0 19px;
  }

  .sectionHeader .leftSide .progressTit {
    flex-shrink: 0;
    font-size: 18px;
    font-style: normal;
    font-weight: 700;
    line-height: 30px; /* 166.667% */
    letter-spacing: -0.18px;
  }

  #vote-voterTurnout-slide {
    width: 140px;
    padding: 0;
  }
  .contentSide {
    align-items: flex-start;
  }
  .contentSide .progress-bar .progress {
    height: 30px;
  }
  .contentSide .progress-bar {
    height: 30px;
  }
  .boxTitle {
    font-size: 14px;
    font-style: normal;
    font-weight: 700;
    line-height: 24px; /* 171.429% */
    letter-spacing: -0.14px;
  }

  .voterTurnoutSlideWrap {
    gap: 8px;
  }
  .turnoutBox {
    justify-content: center;
    width: 135px;
  }
  .turnoutBox .region {
    font-size: 14px;
    font-style: normal;
    font-weight: 500;
    line-height: 24px; /* 171.429% */
    letter-spacing: -0.14px;
  }

  .turnoutBox .persentData {
    font-family: "Pretendard-Black";
    font-size: 20px;
    font-style: normal;
    font-weight: 900;
    line-height: 22px;
    letter-spacing: -0.4px;
  }
  .contentSide {
    gap: 12px;
  }
  .contentSide .progress-bar .num50 {
    bottom: 4px;
    left: calc(50% - 10px);
    transform: none;
  }
  .contentSide .progress-text .progressNum {
    font-size: 30px;
    font-style: normal;
    font-weight: 900;
    line-height: 30px; /* 100% */
    letter-spacing: -0.9px;
  }
  .contentSide .lastVote .lastVoteTit {
    font-size: 0;
    flex-shrink: 0;
  }

  .contentSide .lastVote .lastVoteTit::before {
    content: "20대";
    font-size: 13px;
    font-weight: 500;
    line-height: 20px; /* 153.846% */
    letter-spacing: -0.13px;
    position: relative;
    vertical-align: middle;
    color: inherit;
  }

  .bottomContentSide {
    padding: 8px 0;
    background: var(--text-white);
    border-radius: 8px;
    border: 1px solid var(--text-gray-400);
    margin: 20px 0 0;
  }
  .bottomContentSide .foldBoxBtn {
    margin: 0 0;
    gap: 4px;
    font-size: 14px;
    font-style: normal;
    font-weight: 500;
    line-height: 24px; /* 171.429% */
    letter-spacing: -0.14px;
  }

  .bottomContentSide .foldBox.open {
    padding: 20px 0 0;
  }

  .bottomContentSide .foldBox {
    flex-direction: column;
    margin: 0;
  }

  .contentSide .lastVote {
    bottom: -34px;
  }
  .contentSide .progress-text .progressNum {
    background: -webkit-linear-gradient(60deg, #3d73eb 36.4%, #de8fff 63%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
  }

  .section-voterTurnout .sectionHeader {
    padding: 0;
  }

  .section-voterTurnout .contentSide {
    padding: 16px 0 30px;
  }

  .detailGraphBox01Wrap iframe,
  .detailGraphBox02Wrap iframe {
    width: 100% !important;
    height: 360px;
  }

  .detailGraphBox01Wrap {
    height: 348px;
    overflow: hidden;
  }

  .detailGraphBox01 {
    width: 100%;
  }

  .detailGraphBox02Wrap {
    width: 100%;
    height: 344px;
    overflow: hidden;
  }

  .detailGraphBox02 {
    margin-left: 0 !important;
    width: 100%;
  }

  .detailGraphBox02 {
    width: 100%;
  }
  .detailGraphBox02 .graphContent {
    /* width: 100%; */
    width: auto !important;
    min-width: unset !important;
  }

  .detailGraphBox02 .chartGraph {
    min-width: auto;
    width: 1020px;
  }

  .btn-group {
    display: none;
  }

  .detailGraphBox02 .owl-btn-small-b {
    display: none;
  }

  .sectionInfoTextWrap .clockIcon {
    display: inline-block;
    width: 18px;
    height: 18px;
    background: url("https://img.seoul.co.kr/img/election2025/vote2025-icon-mo.png") no-repeat;
    background-size: 382px;
    background-position: -324px -17px;
  }
  .bottomContentSide .foldBoxBtn .icon {
    background-image: url("https://img.seoul.co.kr/img/election2025/vote2025-icon-mo.png");
    background-repeat: no-repeat;
    background-size: 382px;
    background-position: 3px -306px;
  }
  .bottomContentSide .foldBoxBtn .arrowIcon {
    background-image: url("https://img.seoul.co.kr/img/election2025/vote2025-icon-mo.png");
    background-repeat: no-repeat;
    background-size: 382px;
    background-position: -36px -179px;
  }

  .voterTurnoutBox .owl-btn-small-w .custom-prev:before {
    background-image: url("https://img.seoul.co.kr/img/election2025/vote2025-icon-mo.png") !important;
    background-repeat: no-repeat;
    background-size: 382px !important;
    background-position: -23px -300px !important;
  }

  .voterTurnoutBox .owl-btn-small-w .custom-next:before {
    background: url("https://img.seoul.co.kr/img/election2025/vote2025-icon-mo.png") no-repeat !important;
    background-size: 382px !important;
    background-position: -40px -300px !important;
  }

  .owl-btn-small-b .custom-prev:before {
    background: url("https://img.seoul.co.kr/img/election2025/vote2025-icon-mo.png") no-repeat !important;
    background-size: 382px !important;
    background-position: -70px -12px !important;
  }

  .owl-btn-small-b .custom-next:before {
    background: url("https://img.seoul.co.kr/img/election2025/vote2025-icon-mo.png") no-repeat !important;
    background-size: 382px !important;
    background-position: -107px -12px !important;
  }

  /* 출구조사 */
  .section-exitPoll .sectionHeader .leftSide {
    gap: 6px;
  }
  .section-exitPoll .sectionInfoTextWrap .infoText {
    flex-direction: column;
    align-items: flex-start;
    gap: 0;
  }
  .ballotboxBottomSide {
    justify-content: space-between;
    padding: 14px 40px;
    margin: 12px 0 0;
  }
  .ballotboxTopSide {
    margin: 12px auto 0;
  }

  .ballot-personImage {
    width: 88px;
    height: 78px;
  }
  .ballotboxTopSide .ballot-box {
    padding-bottom: 10px;
  }

  .ballot-mainSide {
    gap: 2px;
  }
  .ballot-rank01 .ballot-mainSide {
    padding-left: 8px;
  }

  .ballot-rank02 .ballot-mainSide {
    padding-right: 8px;
  }

  .ballot-rank01 .ballot-content {
    align-items: flex-start;
  }
  .ballot-rank02 .ballot-content {
    align-items: flex-end;
  }

  .section-exitPoll {
    margin: 20px 0 60px;
  }

  .ballotboxBottomSide .ballot-leftSide {
    min-height: auto;
  }
  .ballot-content .candidateName {
    font-size: 16px;
    font-style: normal;
    font-weight: 700;
    line-height: 26px; /* 162.5% */
    letter-spacing: -0.16px;
    margin-bottom: -4px;
  }
  .ballotboxBottomSide .ballot-content {
    gap: 0;
    align-items: center;
  }
  .ballotboxBottomSide .ballot-content .candidateName {
    font-size: 16px;
    font-style: normal;
    font-weight: 500;
    line-height: 28px; /* 175% */
    letter-spacing: -0.16px;
  }

  .ballot-content .ballot-result .num {
    font-size: 20px;
    font-style: normal;
    font-weight: 700;
    line-height: 30px; /* 150% */
    letter-spacing: -0.2px;
  }

  .ballot-content .ballot-result .persent {
    font-size: 14px;
    font-style: normal;
    font-weight: 700;
    line-height: 24px;
    letter-spacing: -0.14px;
  }

  .ballotboxBottomSide .ballot-content .ballot-result .num {
    font-size: 16px;
    font-style: normal;
    font-weight: 700;
    line-height: 26px; /* 162.5% */
    letter-spacing: -0.16px;
  }

  .ballotboxBottomSide .ballot-content .ballot-result .persent {
    font-size: 13px;
    font-style: normal;
    font-weight: 500;
    line-height: 20px;
    letter-spacing: -0.13px;
  }
  .ballot-box .dangLogo {
    display: none;
  }
  .ballotboxBottomSide .ballot-box {
    flex-direction: column;
    gap: 4px;
    width: auto;
  }
  .ballotboxBottomSide .ballot-box .ballot-personImage {
    width: 64px;
    height: 64px;
  }

  .ballotboxBottomSide .ballot-box:not(:last-child):after {
    display: none;
  }

  .ballot-ranked .badgeTit {
    width: 30px;
    height: 30px;
    bottom: 20px;
    position: absolute;
    top: auto;
    font-size: 12px;
    font-style: normal;
    font-weight: 700;
    line-height: 16px; /* 133.333% */
    letter-spacing: -0.12px;
  }

  .ballot-box .badgeTit.elected {
    background: url("https://img.seoul.co.kr/img/election2025/vote2025-icon-mo.png") no-repeat;
    background-position: -198px -308px;
    background-size: 382px;
    width: 56px;
    height: 49px;
    top: auto;
    bottom: 12px;
    left: -10px;
  }

  .section-exitPoll .contentWrap {
    padding: 16px 18px 16px 18px;
  }

  .section-exitPoll .sectionHeader {
    padding: 0;
    align-items: center;
  }

  .ballot-ranked:after {
    height: 10px;
  }

  /* 전국 개표 현황 */
  .differenceValuesWrap {
    display: none;
  }

  .ballotboxTopSide .ballotCounts {
    margin-top: -4px;
    font-size: 11px;
    font-style: normal;
    font-weight: 500;
    line-height: 18px; /* 163.636% */
    letter-spacing: -0.11px;
  }
  .ballotboxBottomSide .ballot-content .resultWrap {
    flex-direction: column;
    gap: 0;
  }
  .ballotboxBottomSide .ballotCounts .num,
  .ballotboxBottomSide .ballotCounts {
    font-size: 11px;
    font-style: normal;
    font-weight: 500;
    line-height: 18px; /* 163.636% */
    letter-spacing: -0.11px;
  }
  .ballotboxBottomSide .ballot-result {
    margin-top: -4px;
    margin-bottom: -4px;
  }

  .section-resultVote {
    margin: -28px 0 60px;
  }
  /* 전국 개표 현황 */
  .differenceValuesWrap {
    display: none;
  }

  .ballotboxTopSide .ballotCounts {
    margin-top: -4px;
    font-size: 11px;
    font-style: normal;
    font-weight: 500;
    line-height: 18px; /* 163.636% */
    letter-spacing: -0.11px;
  }
  .ballotboxBottomSide .ballot-content .resultWrap {
    flex-direction: column;
    gap: 0;
  }
  .ballotboxBottomSide .ballotCounts .num,
  .ballotboxBottomSide .ballotCounts {
    font-size: 11px;
    font-style: normal;
    font-weight: 500;
    line-height: 18px; /* 163.636% */
    letter-spacing: -0.11px;
  }
  .ballotboxBottomSide .ballot-result {
    margin-top: -4px;
    margin-bottom: -4px;
  }

  .section-resultVote .contentWrap {
    flex-direction: column;
    gap: 24px;
    width: calc(100% - 37px);
    padding: 16px 18px 24px 19px;
  }

  .section-resultVote .mapArea {
    width: 100%;
  }

  .section-resultVote .rankArea {
    width: 100%;
  }
  .section-resultVote .rankArea .title {
    font-size: 18px;
    font-style: normal;
    font-weight: 700;
    line-height: 30px; /* 166.667% */
    letter-spacing: -0.18px;
  }
  .countBallotRank .countBox .leftSide {
    gap: 16px;
  }

  .countBallotRank .countBox .personWrap {
    width: 173px;
    gap: 8px;
  }

  .countBallotRank .countBox {
    gap: 16px;
    padding: 16px 0;
  }

  .countBallotRank .ballot-content {
    flex-direction: column;
    gap: 0;
  }

  .rankArea .ballot-box .dangLogo {
    display: block;
  }

  .rankArea .ballot-box .personName {
    font-size: 16px;
    font-style: normal;
    font-weight: 700;
    line-height: 26px; /* 162.5% */
    letter-spacing: -0.16px;
  }
  .rankArea .ballot-box .ballotCounts {
    font-size: 12px;
    font-style: normal;
    font-weight: 500;
    line-height: 24px; /* 200% */
    letter-spacing: -0.12px;
    margin-top: -4px;
  }

  .section-outBox .sectionHeader .leftSide {
    flex-direction: column;
    gap: 0;
    align-items: flex-start;
  }

  .ballot-box .dangLogo {
    background-image: url("https://img.seoul.co.kr/img/election2025/vote2025-icon-mo.png");
    background-size: 382px;
  }

  .ballotboxBottomSide .badgeTit {
    font-size: 12px;
    font-style: normal;
    font-weight: 500;
    line-height: 20px; /* 166.667% */
    letter-spacing: -0.12px;
    width: 38px;
  }

  .countBallotRank .ballot-content {
    flex-direction: column;
    gap: 0;
  }

  .ballot-content .ballot-result {
    min-width: auto;
  }

  .ballot-content .ballotCounts {
    min-width: auto;
    justify-content: center;
  }

  .regionListBtn:after {
    background: url("https://img.seoul.co.kr/img/election2025/vote2025-icon-mo.png") no-repeat;
    background-size: 382px;
    background-position: -69px -307px;
  }

  /* 전국 투표율/개표율 */
  .topResultWrap{
    min-width: 70px;
  }
  .topResultWrap .resultTit{
    font-size:29px;
  }

  .topResultWrap .resultTit .persent {
    font-size: 19px;
  }

  /* 디데이 -- openDdayTit */
  .dDayWrap .openDdayTit{
    font-size:26px;
  }

  /* 선거종료 --- endTit */
  .topResultWrap .endTit{
    font-size:20px;
  }
}

@media screen and (max-width: 430px) {
  .vote-mainTopSide .articleImage {
    height: 227px;
  }
  .bgImage {
    /* right: -8%; */
    right: -15px;
  }

  .module-2 .moduleImage {
    width: 100%;
    height: 266px;
  }

  #vote-video .moduleImage {
    height: 225px;
  }
}

.buttomRelative {
  position: relative;
}
.arrow-btn button {
  cursor: pointer;
}
.arrow-btn .owl-prev {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: -80px;
}

.arrow-btn .owl-next {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: -80px;
}
.arrowBtnWrap {
  z-index: 10;
  position: relative;
  top: 0;
  right: 0;
  display: flex;
  justify-content: center;
  gap: 12px;
}

.owl-prev span,
.owl-next span {
  display: none;
}

.numcount {
  position: relative;
  align-items: center;
  display: flex;
  justify-content: center;
  gap: 4px;
}

.numcount span {
  display: inline-block !important;
}

#todayNews-prevArrow {
  cursor: pointer;
  position: absolute;
  z-index: 1;
  top: -3px;
  left: calc(50% - 56px);
  width: 30px;
  height: 30px;
}

#todayNews-nextArrow {
  cursor: pointer;
  position: absolute;
  z-index: 1;
  top: -3px;
  transform: 0;
  left: auto;
  right: calc(50% - 56px);
  width: 30px;
  height: 30px;
}

#todayNews-prevArrow:before {
  content: "";
  opacity: 1;
  position: absolute;
  background: url("https://imgmo.seoul.co.kr/img/n24/seoulIcon-mo.png") no-repeat;
  background-size: 772px;
  background-position: -274px -85px;
  width: 30px;
  height: 30px;
}

#todayNews-nextArrow:before {
  content: "";
  opacity: 1;
  position: absolute;
  background: url("https://imgmo.seoul.co.kr/img/n24/seoulIcon-mo.png") no-repeat;
  background-size: 772px;
  background-position: -297px -85px;
  width: 30px;
  height: 30px;
}

.owl-btn-large .owl-prev {
  border: 0;
  background: 0;
  cursor: pointer;
  position: absolute;
  top: 50%;
  left: -80px;
  transform: translateY(-50%);
  transition: all 0.3s;
  width: 50px;
  height: 50px;
}

.owl-btn-large .owl-prev:before {
  content: "";
  opacity: 1;
  position: absolute;
  top: 0;
  left: 0;
  background: url("https://img.seoul.co.kr/img/election2025/vote2025-icon.png") no-repeat;
  background-position: -144px 0;
  width: 50px;
  height: 50px;
}

.owl-btn-large .owl-next {
  border: 0;
  background: 0;
  cursor: pointer;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: auto;
  right: -80px;
  width: 50px;
  height: 50px;
}

.owl-btn-large .owl-next:before {
  content: "";
  opacity: 1;
  position: absolute;
  top: 0;
  left: 0;
  background: url("https://img.seoul.co.kr/img/election2025/vote2025-icon.png") no-repeat;
  background-position: -206px 0;
  width: 50px;
  height: 50px;
}

/* custom-navigation */
.navigationLayout {
  z-index: 10;
  position: absolute;
  bottom: 20px;
  right: 0;
  width: 400px;
  height: 32px;
}

.mainTop .custom-navigation {
  z-index: 11;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  align-items: center;
  gap: 12px;
}

.custom-navigation .custom-dots {
  display: block;
  width: 8px;
  height: 8px;
  border-radius: 10px;
  background: #ddd;
}

.custom-navigation .owl-dots {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 10px;
}

.custom-navigation .owl-dot .dot {
  pointer-events: none;
  display: block;
  width: 8px;
  height: 8px;
  background-color: #262323;
  opacity: 0.3;
  border-radius: 50%;
  cursor: pointer;
}

.custom-navigation .owl-dot.active .dot {
  opacity: 1;
}
.owl-theme .owl-dots {
  pointer-events: none;
}

.owl-btn-small-w {
  display: flex;
  gap: 12px;
}
.owl-btn-small-w .custom-prev,
.owl-btn-small-w .custom-next {
  cursor: pointer;
  width: 26px;
  height: 26px;
}
.owl-btn-small-w .custom-prev:before {
  content: "";
  opacity: 1;
  position: absolute;
  background: url(https://img.seoul.co.kr/img/election2025/vote2025-icon.png) no-repeat;
  background-position: 1px -12px;
  width: 26px;
  height: 26px;
}

.owl-btn-small-w .custom-next:before {
  content: "";
  opacity: 1;
  position: absolute;
  background: url(https://img.seoul.co.kr/img/election2025/vote2025-icon.png) no-repeat;
  background-position: -34px -12px;
  width: 26px;
  height: 26px;
}

.owl-btn-small-b .custom-prev:before {
  content: "";
  opacity: 1;
  position: absolute;
  background: url(https://img.seoul.co.kr/img/election2025/vote2025-icon.png) no-repeat;
  background-position: -72px -12px;
  width: 26px;
  height: 26px;
}

.owl-btn-small-b .custom-next:before {
  content: "";
  opacity: 1;
  position: absolute;
  background: url(https://img.seoul.co.kr/img/election2025/vote2025-icon.png) no-repeat;
  background-position: -107px -12px;
  width: 26px;
  height: 26px;
}

.dragBox {
  width: 100%;
  overflow-x: auto;
  overflow-y: hidden;
  white-space: nowrap;
  user-select: none;
  cursor: pointer;
  will-change: transform;
  position: relative;
  perspective: 500px;
}

.dragBox.active {
  cursor: grabbing;
  cursor: -webkit-grabbing;
}

.lineclamp1 {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  line-height: 1.4em;
}

.lineclamp2 {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  /* 라인수 */
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: normal;
  /* max-height: 2.8em; */
  /* text-align:left; */
}

.lineclamp3 {
  display: -webkit-box;
  -webkit-line-clamp: 3;
  /* 라인수 */
  -webkit-box-orient: vertical;
  white-space: normal;
  overflow: hidden;
  /* max-height: 4.2em; */
  text-overflow: ellipsis;
}

.lineclamp4 {
  display: -webkit-box;
  -webkit-line-clamp: 4;
  /* 라인수 */
  -webkit-box-orient: vertical;
  white-space: normal;
  overflow: hidden;
  text-overflow: ellipsis;
}

.lineclamp5 {
  display: -webkit-box;
  -webkit-line-clamp: 5;
  /* 라인수 */
  -webkit-box-orient: vertical;
  white-space: normal;
  overflow: hidden;
  text-overflow: ellipsis;
}

.lineclamp6 {
  display: -webkit-box;
  -webkit-line-clamp: 6;
  /* 라인수 */
  -webkit-box-orient: vertical;
  white-space: normal;
  overflow: hidden;
  text-overflow: ellipsis;
}

/*    scorll */

.column-scroll::-webkit-scrollbar {
  width: 5px;
  height: 5px;
}
.column-scroll::-webkit-scrollbar-thumb {
  background-color: var(--text-gray-400);
  border-radius: 10px;
}
.column-scroll::-webkit-scrollbar-track {
  background-color: var(--text-gray-200);
  border-radius: 10px;
}

.scrollStyle::-webkit-scrollbar {
  display: none;
}

.w-scroll {
  overflow-x: scroll;
  width: 100%;
}

.row-scroll {
  overflow-x: scroll;
  width: calc(100% - 37px);
  margin: 0 auto;
}

/* highChart */

#tableRealmeter {
  height: 340px;
}
