#content .txtTop {
  padding-bottom: 23px;
  position: relative;
  border-bottom: 1px solid rgba(48, 45, 44, 0.3);
  display: flex;
  justify-content: space-between;
  align-items: center; }
  #content .txtTop h3 {
    font-size: 2.19rem;
    font-weight: 600; }
  #content .txtTop::before {
    content: "";
    display: block;
    width: 90px;
    height: 3px;
    background: var(--text-color);
    position: absolute;
    left: 0;
    bottom: 0; }
  #content .txtTop::after {
    content: "";
    display: block;
    width: 90px;
    height: 3px;
    background: var(--text-color);
    position: absolute;
    right: 0;
    bottom: 0; }
  #content .txtTop .noticeSearch form input {
    padding: 10px 0;
    font-size: 18px;
    opacity: .5; }
  #content .txtTop .noticeSearch form input::placeholder {
    font-weight: 500; }
  #content .txtTop .noticeSearch form button {
    background: none;
    cursor: pointer; }
#content .gridBox {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 50px;
  margin-top: 80px; }
  #content .gridBox a {
    position: relative;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    justify-content: space-between; }
    #content .gridBox a .ntInfo {
      margin: 32px 0;
      flex-grow: 1;
      display: flex;
      min-width: 200px;
      flex-direction: column;
      justify-content: space-between; }
      #content .gridBox a .ntInfo .ntTitle {
        font-size: 1.53rem;
        font-weight: 600;
        margin: 14px 0;
        text-overflow: ellipsis;
        white-space: nowrap;
        width: 100%;
        overflow: hidden; }
      #content .gridBox a .ntInfo .ntContents {
        text-overflow: ellipsis;
        white-space: nowrap;
        width: 100%;
        overflow: hidden; }
    #content .gridBox a .ntThumbnail {
      border-radius: 25px;
      overflow: hidden;
      border: 1px solid #C9C9C9;
      position: relative;
      width: 250px;
      height: 163px; }
      #content .gridBox a .ntThumbnail > img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: center; }
      #content .gridBox a .ntThumbnail .hoverImg {
        width: 100%;
        height: 100%;
        background: rgba(204, 204, 204, 0.7);
        position: absolute;
        left: 0;
        top: 0;
        backdrop-filter: blur(10px);
        opacity: 0;
        transition: .3s ease-out; }
        #content .gridBox a .ntThumbnail .hoverImg div {
          display: flex;
          color: #fff;
          align-items: center;
          gap: 10px;
          position: absolute;
          left: 50%;
          top: 50%;
          transform: translate(-50%, -50%); }
    #content .gridBox a::before {
      content: "";
      display: block;
      width: 35px;
      height: 3px;
      background: #C9C9C9;
      position: absolute;
      left: 0;
      top: 0; }
#content .catalogGrid a .ntThumbnail {
  height: 350px; }
#content .totalSearchBox {
  padding: 115px 0; }
  #content .totalSearchBox .searchListBox {
    margin-bottom: 115px; }
    #content .totalSearchBox .searchListBox > div {
      display: flex;
      gap: 38px;
      align-items: center;
      padding-bottom: 13px;
      border-bottom: 1px solid var(--text-color); }
      #content .totalSearchBox .searchListBox > div .sListTitle {
        position: relative;
        font-size: 25px;
        font-weight: 600; }
        #content .totalSearchBox .searchListBox > div .sListTitle::before {
          content: "";
          display: block;
          width: 35px;
          height: 3px;
          background: var(--main-color);
          position: absolute;
          left: 0;
          top: -30px; }
      #content .totalSearchBox .searchListBox > div .sCountBox {
        position: relative; }
        #content .totalSearchBox .searchListBox > div .sCountBox::before {
          content: "";
          display: block;
          width: 6px;
          height: 6px;
          border-radius: 50px;
          background: var(--text-color);
          position: absolute;
          left: -12px;
          top: 50%;
          transform: translateY(-50%); }
    #content .totalSearchBox .searchListBox .sList li {
      border-bottom: 1px solid rgba(48, 45, 44, 0.3); }
      #content .totalSearchBox .searchListBox .sList li a {
        padding: 32px 0;
        display: flex;
        gap: 50px;
        align-items: center; }
        #content .totalSearchBox .searchListBox .sList li a img {
          border-radius: 26px;
          border: 1px solid #C9C9C9;
          width: 264px;
          height: 172px;
          object-fit: cover;
          object-position: center; }
        #content .totalSearchBox .searchListBox .sList li a div .searchBc {
          font-size: 18px;
          font-weight: 600;
          margin-bottom: 14px; }
        #content .totalSearchBox .searchListBox .sList li a .scHightLight {
          background: rgba(237, 107, 0, 0.48); }
  #content .totalSearchBox > div:last-child {
    margin-bottom: 0; }
#content .pagination {
  margin-top: 82px; }
  #content .pagination ul {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 16px; }
    #content .pagination ul li a {
      font-size: 1.13rem;
      opacity: .5;
      position: relative;
      padding: 5px; }
    #content .pagination ul li .pActive {
      opacity: 1;
      font-weight: 600; }
      #content .pagination ul li .pActive::before {
        content: "";
        display: block;
        width: 90%;
        height: 1px;
        background: var(--main-color);
        position: absolute;
        left: 50%;
        bottom: 2px;
        transform: translateX(-50%); }
    #content .pagination ul li .toBefore {
      opacity: 1;
      margin-top: 3px;
      margin-right: 20px; }
    #content .pagination ul li .toNext {
      opacity: 1;
      margin-top: 3px;
      margin-left: 20px; }
      #content .pagination ul li .toNext img {
        transform: scaleX(-1); }
    #content .pagination ul li .toFirst {
      opacity: 1;
      margin-top: 3px; }
    #content .pagination ul li .toLast {
      opacity: 1;
      margin-top: 3px; }
      #content .pagination ul li .toLast img {
        transform: scaleX(-1); }

@media (hover: hover) {
  #content .gridBox a:hover::before {
    background: var(--main-color); }

  #content .gridBox a:hover .hoverImg {
    opacity: 1; } }
@media screen and (max-width: 1280px) {
  #content .txtTop h3 {
    font-size: 1.88rem; }

  #content .txtTop .noticeSearch form input {
    width: 170px; }

  #content .gridBox {
    gap: 30px; }

  #content .gridBox a .ntInfo .ntTitle {
    font-size: 1.38rem; }

  #content .gridBox a .ntThumbnail {
    border-radius: 30px;
    width: 320px;
    height: 210px; }

  #content .catalogGrid a .ntThumbnail {
    width: auto;
    height: 448px; } }
@media screen and (max-width: 1024px) {
  #content .txtTop h3 {
    font-size: 1.56rem; }

  #content .gridBox {
    grid-template-columns: repeat(2, 1fr); }

  #content .gridBox a .ntInfo .ntTitle {
    font-size: 1.25rem; }

  #content .totalSearchBox .searchListBox .sList li a {
    gap: 35px; }

  #content .totalSearchBox .searchListBox > div .sListTitle {
    font-size: 20px; }

  #content .totalSearchBox .searchListBox .sList li a div .searchBc {
    font-size: 16px;
    margin-bottom: 10px; }

  #content .catalogGrid a .ntThumbnail {
    width: auto;
    height: 100%; } }
@media screen and (max-width: 768px) {
  #content .txtTop {
    flex-direction: column;
    align-items: flex-start;
    padding-bottom: 15px; }

  #content .txtTop h3 {
    margin-bottom: 20px; }

  #content .txtTop .noticeSearch {
    width: 100%; }

  #content .txtTop .noticeSearch form {
    width: 100%;
    display: flex;
    justify-content: space-between; }

  #content .txtTop .noticeSearch form input {
    width: 100%; }

  #content .gridBox {
    grid-template-columns: 1fr;
    gap: 50px; }

  #content .gridBox a::before {
    background: var(--main-color); }

  #content .totalSearchBox .searchListBox .sList li a {
    gap: 20px; }

  #content .totalSearchBox .searchListBox .sList li a img {
    width: 40%;
    border-radius: 20px; }

  #content .totalSearchBox .searchListBox .sList li a div .searchBc {
    font-size: 15px; } }
@media screen and (max-width: 640px) {
  #content .totalSearchBox .searchListBox .sList li a {
    flex-direction: column;
    align-items: flex-start; }

  #content .totalSearchBox .searchListBox .sList li a img {
    width: 100%;
    height: 100%; }

  #content .pagination ul li .toBefore {
    margin-right: 0; }

  #content .pagination ul li .toNext {
    margin-left: 0; } }
@media screen and (max-width: 400px) {
  #content .pagination ul {
    gap: 10px; }

  #content .gridBox a .ntThumbnail {
    width: 100%; } }
