/* 기본 설정 */
@font-face {
    font-family: 'Cafe24ClassicType-Regular';
    src: url('https://fastly.jsdelivr.net/gh/projectnoonnu/noonfonts_2210-2@1.0/Cafe24ClassicType-Regular.woff2') format('woff2');
    font-weight: normal;
    font-style: normal;
}

html {font-size : 16px}
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
  margin: 0;  padding: 0;  border: 0;  font-size: 100%;  font: inherit;  vertical-align: baseline;
}
ol, ul {list-style: none;padding: 0;margin: 0;}
a{color: #343434;text-decoration: none;}
body {  font-family: 'Noto Sans KR', sans-serif;  background-color: #eff5ff; color: #343434;  margin: 0;  padding: 0;  overflow-x: hidden;  position: relative;}



/*  header  */
.header {
  position: relative;
  background-color: #fff;
}
.container_top{
  background: url(/images/vote/background_img.png) no-repeat top 1.3rem right 1rem;
  width: 100%;
  max-width: 1172px;
  margin: 0 auto;
  padding: 2rem 0;
}
.header .title_typing {
  font-family: 'Cafe24ClassicType-Regular';
  font-size: 4.3rem;
  color: #000;
  margin: 2rem 0;
  word-break:keep-all
}

/* 0605 소연 수정 */
.header .title_typing .highlight{
  color: #023c96;
}

#cursor {
  border-left: 2px solid #000;
  animation: blink 0.7s infinite;
  display: inline-block;
  margin-left: 2px;
  height: 4.3rem; 
  vertical-align: middle;
}
@keyframes blink {
  0% {opacity: 1;}
  50% {opacity: 0;}
  100% {opacity: 1;}
}
.logo a img{
  width: 6.5rem;
}
.header-inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.container {
  width: 100%;
  max-width: 1172px;
  margin: 0 auto;
  padding-top: 3rem;
}
.w_box,.w_boxLine{
  background: white;
  border-radius: 1rem;
  padding: 1.5rem 1.5rem 2rem;
  margin-bottom: 1.5rem;
  box-shadow: 0 0.2rem 1rem rgba(0, 0, 0, 0.1);
}

.section-title{
  display: inline-block;
  font-size: 1.3rem;
  margin: 0.5rem 0 1rem;
  font-weight: 900;
}

/*대통령*/
.president_con{
  width: auto;
  background: linear-gradient(270deg, #023b96, #3c99e0);
	background-size: 200% 200%;
	animation: MoveGrad 4s ease infinite;
  align-items: center;
  justify-content: center;
  text-align: center;
}
@keyframes MoveGrad {
    0%{background-position:0% 50%}
    50%{background-position:100% 50%}
    100%{background-position:0% 50%}
}
.president_con > h2.section-title{
  color: #fff;
  font-weight: 600;
  text-align: left;
}
.result_list{
  display: flex;
  flex-direction: column;
  justify-content: space-evenly; 
  align-items: center; 
  height: 9rem;
  font-weight: 600;
  margin-top: 1.5rem;
}
.president_con div img{
  max-width: 250px;
  border-radius: 1rem;
}
.result_list .party{
  background-color: #fff;
  color: #023b96;
  display: inline-block;
  padding: 0.3rem 1rem;
  border-radius: 0.5rem;
}
.result_list .president{
  color: #fff;
  font-size: 2rem;
}
.result_list .vote_rate{
  color: #fff;
  font-size: 1.2rem;
  margin-top: 0.5rem;
  line-height: 1.3;
}
.result_list .vote_rate span{
  font-size: 0.8rem;
  font-weight: 300;
}

/* 속보 */
span.t_tit_bl_ico_1, .t_tit_bl_ico_2{
  width: 3rem;
  height: 1.5rem;
  line-height: 1.7;
  display: inline-block;
  font-size: 0.9rem;
  font-weight: 400;
  border-radius: 4px;
  text-align: center;
  margin-right: 0.5rem;
}
span.t_tit_bl_ico_1{
      color: #fff;
      background: #ff581d;
}
span.t_tit_bl_ico_2{
      color: #fff;
      background: #3454a3;
}

/* 뉴스 */
.column2{
  display: flex;
  align-items: stretch;
  gap: 1rem;
}
.top_newsBox {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1rem;
}
.top_news {
  line-height: 1.39;
}
.top_news a:hover{
  text-decoration: underline;
  text-underline-offset: 3px
}
.top_news a img {
  width: 100%;
  height: 245px; /*PC와 비율을 맞추기 위해 높이값 설정, 지우시면 됩니다!!*/
}
.news_title {
  font-size: 1.2rem;
  font-weight: 800;
  padding: 1rem 0 0;
  margin-bottom: 0.5rem;
  display: -webkit-box;
  word-wrap: break-word;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  text-overflow: ellipsis;
  overflow: hidden;
}
.news_description {
  font-size: 1rem;
  color: #797979;
  display: -webkit-box;
  word-wrap: break-word;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  text-overflow: ellipsis;
  overflow: hidden;
  margin-bottom: 0.5rem;
}
.top_news span.keyword{
  display: inline-block;
  padding: 0.5rem 1rem;
  border-radius: 30px;
  margin: 1rem 0.5rem 0 0;
  font-size: 0.9rem;
  background: #efefef;
  font-weight: 600;
}
.top_news span.keyword:hover{
  background-color: #dbdbdb;
}

/*최신 뉴스*/
.new_newsBox{
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.5rem 4rem;
}
.icon_more {
  vertical-align: middle;
  line-height: 1.6;
  margin-left: 0.5rem;
}
.icon_more svg {
    width: 1.4rem;
}
.new_news{
  display: flex;
  gap: 1.5rem;
}
.new_news img{
  height: auto;
  max-height: 100%;
  object-fit: cover;
}
.new_news div{
  flex: 1;
}
.new_news p {
  font-size: 1rem;
  color: #797979;
  display: -webkit-box;
  word-wrap: break-word;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  text-overflow: ellipsis;
  overflow: hidden;
}
.new_news:hover{
  text-decoration: underline;
  text-underline-offset: 3px
}

/*footer*/
.footer{
  text-align: center;
  padding: 1rem 0 2.5rem;
}

/* 반응형 */
@media screen and (max-width: 76em){
  .container, .container_top{width: 96%;}
  .container_top{background-size: 20%}
  .header .title_typing{font-size: 3rem;}
  .president_con{width: 20%;}
  .president_con div img {width: 100%; height: auto;}
  .result_list{height: 8.5rem;}
  .result_list .president{font-size: 1.6rem;}
  .result_list .vote_rate{font-size: 1rem;}
  .name_row{display: block; text-align: center; padding: 0.5rem;}
  .name_row span{display: none}
  .name_row h3{font-size: 1.6rem;}
  .content_news{width: 65%;}
  .top_news a img{width: 100%; height: auto;}
  .new_newsBox{grid-template-columns: 1fr;}
}

@media screen and (max-width: 47.2em){
  .container{padding-top: 1.5rem;}
  .container_top{background:none; padding: 2rem 0 0;}
  .president_inner {display: flex;gap: 1.5rem;}
  .result_list {align-items: flex-start;justify-content: flex-end;height: 7rem;}
  .header-inner{display: block;}
  .logo {margin-left: 4%;}
  .logo a img{width: 5rem;}
  .w_box, .w_boxLine{padding: 1rem 1.5rem 1.5rem;}
  .w_boxLine {margin-bottom: 0;}
 

  /* 0605-2 소연 수정, 추가 */
  .header .title_typing{text-align: center; font-size: 2.3rem; margin: 1rem 0;}
  .header .title_typing span b{display: block;} */

  #cursor{height: 2.2rem;}
  .column2{flex-direction: column;}
  .president_con{width: auto;}
  .president_con .img{width: 40%; float: left;}
  .top_newsBox{grid-template-columns: auto; gap: 2rem;}
  .content_news{width: auto;}
  .top_news a img{padding-bottom: 0.8rem;}
  .top_news span.keyword{margin: 0 0.5rem 0 0;}
  .new_newsBox{gap: 1.5rem;}
  .news_title{padding: 0;}
  .new_news img{width: 40%;}
  .footer{font-size: 0.7rem;}
}

