@media print {
  /* 숨길 요소들 */
  .header_wrap,
  .left_side_box,
  footer,
  .sub_title_box,
  #u_skip,
  .mobile_vs,
  .sub_submisstion_bt,
  .nav_wrap,
  #browse_list_modal,
  .footer_banner {
    display: none !important;
  }

  /* sb-site는 숨기지 않고 스타일만 초기화 */
  #sb-site {
    position: static !important;
    left: auto !important;
    right: auto !important;
    width: 100% !important;
    transform: none !important;
  }

  /* 페이지 설정 */
  @page {
    margin: 2cm;
    size: A4;
  }

  /* body 및 컨테이너 설정 */
  body {
    margin: 0;
    padding: 0;
    background: white;
    color: black;
    font-size: 12px;
  }

  /* 메인 컨텐츠 영역 전체 너비 설정 */
  .sub_container {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
  }

  .sub_contents {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .brick,
  .sub_con_inner {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .sub_middle_box {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
  }

  .md_box {
    padding: 20px !important;
  }

  /* 제목 스타일 */
  .con_title {
    color: #000 !important;
    margin-bottom: 20px !important;
    page-break-after: avoid;
    font-size: 24px !important;
    font-weight: bold !important;
    position: relative !important;
    padding-bottom: 10px !important;
    border-bottom: 1px solid #ddd !important;
  }

  .con_title span {
    color: #666 !important;
    font-size: 18px !important;
    margin-left: 10px !important;
  }

  /* 텍스트 스타일 */
  .public_text {
    color: #000 !important;
    line-height: 1.6 !important;
    margin-bottom: 20px !important;
  }

  /* 리스트 스타일 */
  .num_ol {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  .num_ol > li {
    position: relative !important;
    padding: 0 0 0 38px !important;
    line-height: 23px !important;
    margin-bottom: 20px !important;
    font-size: 15px !important;
    page-break-inside: avoid;
  }

  .num_ol > li > span {
    display: block !important;
    font-size: 13px !important;
    left: 0 !important;
    top: 1px !important;
    position: absolute !important;
    color: #222 !important;
    border-radius: 3px !important;
    line-height: 18px !important;
    border: 1px solid #7f4dcb !important;
    width: 20px !important;
    text-align: center !important;
  }

  .num_inner_ol {
    margin-top: 10px !important;
    margin-left: 0 !important;
  }

  .num_inner_ol > li {
    position: relative !important;
    padding: 0 0 0 100px !important;
    margin-bottom: 10px !important;
  }

  .num_inner_ol > li > span {
    border-radius: 12px !important;
    line-height: 20px !important;
    background: #f3f3f3 !important;
    display: block !important;
    border: 0px !important;
    font-size: 15px !important;
    width: 80px !important;
    text-align: center !important;
    left: 0 !important;
    top: 1px !important;
    position: absolute !important;
    color: #333 !important;
  }

  .num_inner_ol > li p {
    color: #777 !important;
  }

  .num_inner_ol > li p em {
    display: inline-block !important;
    margin-left: 4px !important;
    color: #333 !important;
  }

  .num_inner_ol li p .deadline_date {
    margin-right: 20px !important;
  }

  /* 테이블 스타일 */
  table {
    width: 100% !important;
    border-collapse: collapse !important;
    page-break-inside: avoid;
    margin-bottom: 20px !important;
  }

  table th,
  table td {
    border: 1px solid #000 !important;
    padding: 8px !important;
    color: #000 !important;
  }

  table th {
    background-color: #f0f0f0 !important;
    font-weight: bold !important;
  }

  .tbl_type {
    border: 1px solid #000 !important;
  }

  /* 링크 스타일 */
  a {
    color: #000 !important;
    text-decoration: underline !important;
  }

  .sub_link_t {
    color: #000 !important;
  }

  /* 페이지 브레이크 최적화 */
  h3, h4, dt {
    page-break-after: avoid;
  }

  h3, h4 {
    color: #000 !important;
    font-weight: bold !important;
  }

  /* definition list 스타일 (연구윤리 지침 등) */
  dl {
    margin: 0 !important;
    padding: 0 !important;
  }

  dt {
    font-weight: bold !important;
    margin-top: 15px !important;
    margin-bottom: 5px !important;
    color: #000 !important;
  }

  dd {
    margin-left: 20px !important;
    margin-bottom: 10px !important;
    line-height: 1.6 !important;
    color: #000 !important;
  }

  .group_terms dt strong {
    color: #000 !important;
  }

  .group_terms .gt_text {text-align: right !important; margin-bottom: 3px !important;}
  .group_terms h4 {font-size: 14px !important; font-weight: bold !important; margin: 20px 0 !important; color: #222 !important;}
  .group_terms dl {padding: 0 0 0 10px !important;}
  .group_terms dl dt {font-size: 12px !important; color: #333 !important; margin-top: 20px !important; margin-bottom: 10px !important;}
  .group_terms dl dd {color: #555 !important; margin-bottom: 10px !important;}
  .group_terms dl dd ul {text-indent: 6px !important; padding-left: 14px !important;}
  .group_terms dl dd ul li {margin-top: 3px !important;}
  .group_terms dl dd ul li .bullet {margin: 0 4px 0 -18px !important; font-size: 12px !important;}
  .group_terms dl dd ul ul {padding: 10px 0 15px 16px !important;}
  .group_terms dl dd ul ul li .bullet {font-size: 12px !important;}

  /* 마감일 강조 스타일 */
  .deadline_date {
    font-weight: bold !important;
    color: #000 !important;
  }

  /* 여백 클래스 */
  .mgb_10 {
    margin-bottom: 10px !important;
  }

  .mgb_20 {
    margin-bottom: 20px !important;
  }

  .mgb_30 {
    margin-bottom: 30px !important;
  }

  /* 텍스트 정렬 */
  .al_left {
    text-align: left !important;
  }

  /* 배경색 제거 */
  * {
    background: transparent !important;
    box-shadow: none !important;
    text-shadow: none !important;
  }

  /* 이미지 최적화 */
  img {
    max-width: 100% !important;
    page-break-inside: avoid;
  }

  /* 불필요한 요소 숨기기 */
  .tbl_download_bt {
    display: inline !important;
  }

  /* pre 태그 스타일 */
  .pre {
    white-space: pre-wrap !important;
    word-wrap: break-word !important;
  }

  .mgb_40 {
    margin-bottom: 40px !important;
  }
  .row {
    margin-right: -15px !important;
    margin-left: -15px !important;
  }
  .row:after {
    clear: both !important;
    display: table !important;
    content: " " !important;
  }
  .col-md-3 {
    width: 25% !important;
    float: left !important;
  }
  .element_research {
    text-align: center !important;
  }
  .element_research span {
    text-align: center !important;
    font-size: 13px !important;
    font-weight: bold !important;
    border-radius: 50% !important;
    width: 90px !important;
    height: 90px !important;
    border: 8px solid #4d93f3 !important;
    display: inline-block !important;
    line-height: 90px !important;
    margin-bottom: 10px !important;
  }
  .element_research p {
    text-align: center !important;
  }
  .circle_h4 {
    font-size: 13px !important;
    font-weight: bold !important;
    margin-bottom: 15px !important;
    color: #222 !important;
    text-align: left !important;
  }
  .round_h4 {
    display: inline-block !important;
    background: #ff6d33 !important;
    color: #fff !important;
    line-height: 26px !important;
    padding: 0 10px !important;
    border-radius: 13px !important;
    vertical-align: middle !important;
  }

  .rule_box li {
    margin-bottom: 30px !important;
  }
  .rule_box li dl dt {
    position: relative !important;
    padding: 4px 0 0 60px !important;
    margin-bottom: 20px !important;
    font-size: 16px !important;
    color: #222 !important;
  }
  .rule_box li dl dt span {
    display: block !important;
    position: absolute !important;
    left:0 !important;
    top:0 !important;
    text-align: center !important;
    font-size: 14px !important;
  }
  .rule_box li dl dt span strong {
    font-size: 32px !important;
    display: block !important;
    position: relative !important;
    padding: 6px 0 0 0 !important;
  }
  .rule_box li dl dt span strong:after {
    content: '' !important;
    display: block !important;
    clear: both !important;
    width: 20px !important;
    height: 2px !important;
    background: #4a4a4a !important;
    margin: 0 0 0 -10px !important;
    left:50% !important;
    top:0 !important;
    position: absolute !important;
  }
  .rule_box li dl dd {
    line-height: 30px !important;
    font-size: 14px !important;
    padding: 0 0 0 60px !important;
  }
  .rule_bottom_box {
    border-top: 1px dashed #ccc !important;
    padding: 20px 0 0 0 !important;
  }

  ol, ul, menu {
    list-style: none;
  }
}
