@charset "utf-8";

/*font color*/
.blueTxt {
    color: #2958FF;
}

/*scrollbar custom*/
::-webkit-scrollbar {
    height: 12px;
    width: 12px;
}

::-webkit-scrollbar-thumb {
    background: #2958FF;
    border-radius: 20px;
}

::-webkit-scrollbar-track {
    background: transparent;
}

::-webkit-scrollbar-button {
    display: none;
}

/*GNB*/

.headerWrap  {
    width: 100%;
    background: #fff;
    position: fixed;
    left: 0;
    top: 0;
    z-index: 99999;
}

header[role="gnb"] {
    width: 1400px;
    margin: 0 auto;
    padding: 15px 0 30px;
}

header[role="gnb"] > nav.join {
    padding-bottom: 15px;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: flex-end;
    align-items: center;
}

header[role="gnb"] > nav.join > a {
    font-size: 16px;
    font-weight: 400;
    margin-right: 20px;
}

header[role="gnb"] > nav.join > a:last-child {
    margin-right: 0;
}

header[role="gnb"] > header {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: space-between;
    align-items: flex-start;
    padding-top: 30px;
    position: relative;
    z-index: 9;
}

header[role="gnb"] .menuBg {
    width: 100%;;
    height: 376px;
    background: #fff url(../img/main2024/menuBg.png) left bottom no-repeat;
    background-size: 700px;
    display: none;
    position: absolute;
    z-index: 8;
    left: 0;
    top: 142px;
}

header[role="gnb"] .menuBg.show {
    display: block;
}


header[role="gnb"] > header > h1 {
    width: 180px;
    height: 36px;
    background: url(../img/main2024/logo.png) center center no-repeat;
    flex-grow: 0;
}

header[role="gnb"] > header > .search {
   width: 200px;
   height: 36px;
   border-radius: 18px;
   background: #f3f3f3; 
   display: flex;
   flex-direction: row;
   align-items: center;
   padding: 0 12px 0 24px;
   margin: 0 80px;
}

header[role="gnb"] > header > .search > input[type="text"] {
    width: 140px;
    height: 36px;
    border: 0;
    background: transparent;
    font-size: 14px;
    font-weight: 400;
    color: #999;
    outline: none;
}

header[role="gnb"] > header > .search > button {
    width: 24px;
    height: 24px;
    border: 0;
    background: url(../img/main2024/search.png) center center no-repeat;
}

header[role="gnb"] > header > nav.gnb {
    margin-top: 8px;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: space-between;
}

header[role="gnb"] > header > nav.gnb > ul.depth1 {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: space-between;
    width: 1060px;
    
}

header[role="gnb"] > header > nav.gnb > ul.depth1 > li {
    display: flex;
    justify-content: flex-start;
    flex-direction: column;  
    flex-basis: 178px;   
}

header[role="gnb"] > header > nav.gnb ul.depth1 a {
    font-size: 20px;
    font-weight: 500;
}

header[role="gnb"] > header > nav.gnb ul.depth1 li:hover > a {
    color: #2958FF;
    position: relative;
    display: inline-flex;
}

header[role="gnb"] > header > nav.gnb ul.depth1  > li:hover > a::after {
    content: "";
    display: block;
    position: absolute;
    width: 30px;
    height: 2px;
    background: #2958FF;
    bottom: -8px;
    left: 0;
}

header[role="gnb"] > header > nav.gnb ul.depth2.show {
    display: flex;
    flex-direction: column;
    margin: 48px 5px 0 0;
    position: absolute;
    z-index: 9;
    
}

header[role="gnb"] > header > nav.gnb ul.depth2 {
    display: none;

}

header[role="gnb"] > header > nav.gnb ul.depth2 li {
    width: 100%;
    margin-bottom: 16px;
    position: relative;
}

header[role="gnb"] > header > nav.gnb ul.depth2 li::before {
    position: absolute;
    content: "";
    display: block;
    width: 4px;
    height: 4px;
    background: #ccc;
    border-radius: 4px;
    top: 9px;
    left: -12px;
}


header[role="gnb"] > header > nav.gnb ul.depth2 a {
    font-size: 18px;
    font-weight: 400;
    line-height: 24px;
    width: 100%;
}

header[role="gnb"] > header > nav.gnb ul.depth2 a:hover {
    font-weight: 500;
}

header[role="gnb"] > header > nav.gnb button.allMenu {
    width: 24px;
    height: 24px;
    background: url(../img/main2024/menu.png) center right no-repeat;
    border: 0;
    cursor: pointer;
    display: none; /* PC에서 기본적으로 숨김 */
}

/*main slide*/
article[role="mainSlide"] {
    width: 100%;
    height: 700px;
    position: relative;
    margin: 142px auto 0;
}
wxx 
.bx-wrapper {
    border: 0!important;
    box-shadow: none!important;
   
}

article[role="mainSlide"] .bx-wrapper .bx-pager, 
article[role="mainSlide"] .bx-wrapper .bx-controls-auto {
    bottom: 7%!important;
    right: 0%!important
}

.bx-wrapper .bx-pager.bx-default-pager a.active {
    width: 40px!important;
    background: #2958ff!important;
}

.bx-wrapper .bx-pager.bx-default-pager a {
    background: #ddd!important;
}

article[role="mainSlide"] .main01 {
    background: url(../img/main2024/mainslider01.png) center center no-repeat;
    height: 547px;
    background-size: cover;
}

article[role="mainSlide"] .main01 > hgroup {
    width: 1400px;
    height: auto;
    margin: 0 auto;
    padding-left: 40px;
    top: 220px;
    position: relative;
}

article[role="mainSlide"] .main01 > hgroup > h1 {
    font-size: 48px;
    font-weight: 700;
    color: #2958ff;
    line-height: 140%;
    margin-top: 16px;
}

article[role="mainSlide"] .main01 > hgroup > h2 {
    font-size: 28px;
    font-weight: 700;
    line-height: 140%;
    color: #2958ff;
}

article[role="mainSlide"] .main01 > hgroup > h3 {
    font-size: 30px;
    font-weight: 700;
    color: #222;
    line-height: 140%;
}

/*status board*/
article[role="statusBoard"] {
    width: 480px;
    padding: 24px;
    border-radius: 8px;
    position: absolute;
    left: calc(50% + 222px);
    top: 6px; /* 24.10.04 수정 */
    background: rgba(0,7,41,.5);
    backdrop-filter: blur(8px);
    transition:  top .3s;
    z-index: 7;
 }

 article[role="statusBoard"] header {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
 }

 article[role="statusBoard"] header.hr {
    border-bottom: 1px solid rgba(255,255,255,.3);
    padding-bottom: 12px;
 }

 article[role="statusBoard"] header > h1 {
    color: #fff;
    font-size: 22px;
    font-weight: 500;
    line-height: 32px;
 }

 article[role="statusBoard"] header > nav {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: flex-end;
 }

 article[role="statusBoard"] header > nav > * {
    min-width: 24px;
    height: 24px;
    background: transparent;
    border: 0;
    cursor: pointer;
 }

 article[role="statusBoard"] header > nav > button {
    margin-right: 12px;
    font-size: 12px;
    color: #fff;
    padding-left: 30px;
 }
/* 24.10.04 버튼 png 수정 */
 article[role="statusBoard"] header > nav > .sizeMin {
    background: url(../img/main2024/BtnSizeMax.png) left center no-repeat;
 }

 article[role="statusBoard"] header > nav > .sizeMax {
    background: url(../img/main2024/BtnSizeMin.png) left center no-repeat;
    display: none;
 }

 article[role="statusBoard"] header > nav > .statusMore {
    background: url(../img/main2024/BtnMore.png) center center no-repeat;
 }

 article[role="statusBoard"] section > h1 {
    font-size: 16px;
    font-weight: 500;
    color: #eee;
    margin: 24px 0 16px 0;
 }

 article[role="statusBoard"] section > a.list {
    display: flex;
    flex-wrap: nowrap;
    flex-direction: row;
    justify-content: space-around;
    align-items: center;
 }

 article[role="statusBoard"] section > a.list > div {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-around;
    border-radius: 12px;
    margin-right: 12px;
    width: 100%;
 }

 article[role="statusBoard"] section > a.list > div:last-child {
    margin-right: 0;
 }

 article[role="statusBoard"] section[role="normal"] > a.list > div {
    height: auto;
    padding-top: 15px;
    padding-bottom: 15px;
    padding-left: 35px;
    font-size: 16px;
    line-height: 22px;
    font-weight: 400;
    color: #444;
 }

 article[role="statusBoard"] section > a.list >  div > span.num {
    font-size: 16px;
    font-weight: 700;
    color: #fff;
 }

 article[role="statusBoard"] section[role="normal"] > a.list >  div > span.num {
    color: #444;
 }


 article[role="statusBoard"] section[role="normal"] > a.list > .receipt {
    background: #ffdd80 url(../img/main2024/accept.png) 15px 23px no-repeat;
    background-size: 28px;
 }

 article[role="statusBoard"] section[role="normal"] > a.list > .select {
    background: #85a0ff url(../img/main2024/selection.png) 15px 23px no-repeat;
    background-size: 30px;
 }


 article[role="statusBoard"] section[role="normal"] > a.list > .completedNormal {
    background: #5dc0a7 url(../img/main2024/complete.png) 15px 23px no-repeat;
    background-size: 28px;
 }


 article[role="statusBoard"] section[role="profession"] > a.list > div {
    height: auto;
    padding-top: 15px;
    padding-bottom: 15px;
    padding-left: 35px;
    font-size: 16px;
    line-height: 22px;
    font-weight: 300;
    color: #fff;
 }

 article[role="statusBoard"] section[role="profession"] > a.list > .expert {
    background: #003664 url(../img/main2024/expertPro.png) 15px 23px no-repeat;
    background-size: 28px;
 }

 article[role="statusBoard"] section[role="profession"] > a.list > .step1 {
   background: #2975a7 url(../img/main2024/sourcingPro.png) 15px 23px no-repeat;  
   background-size: 28px;
 }

  article[role="statusBoard"] section[role="profession"] > a.list > .completed {
    background:  #c1ae9e url(../img/main2024/completePro.png) 15px 23px no-repeat; 
    background-size: 28px; 
  }

  article[role="statusBoard"] section[role="ideaList"] {
    width: 100%;
    background: #fff;
    border-radius: 8px;
    box-shadow: 0 3px 8px rgba(0,0,0,.12);
    margin-top: 24px;
    padding: 15px;
  }

  article[role="statusBoard"] section[role="ideaList"] + section[role="ideaList"] {
    margin-top: 12px;
  }

  article[role="statusBoard"] section[role="ideaList"] > a.detailList {
    display: flex;
    flex-direction: column;
  }

  article[role="statusBoard"] section[role="ideaList"] > a.detailList > h2 {
    font-size: 16px;
    font-weight: 500;
    color: #222;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  article[role="statusBoard"] section[role="ideaList"] > a.detailList > h2 > sup {
    background: #85a0ff;
    font-size: 12px;
    font-weight: 400;
    color: #fff;
    padding: 6px 8px;
    border-radius: 20px;
    display: inline-block;
    margin-bottom:0px;
  }
  
  article[role="statusBoard"] section[role="ideaList"] > a.detailList > h3 {
    display: flex;
    margin-top: 8px;
    flex-wrap: wrap;
  }

  article[role="statusBoard"] section[role="ideaList"] > a.detailList > h3 > span {
    font-size: 14px;
    color: #666;
    font-weight: 400;
    display: flex;
    flex-direction: row;
    flex-basis: 50%;
    flex-grow: 0;
    margin-bottom: 8px;
}

article[role="statusBoard"] section[role="ideaList"] > a.detailList > h3 > span:nth-child(3),
article[role="statusBoard"] section[role="ideaList"] > a.detailList > h3 > span:nth-child(4) {
    margin-bottom: 0;
}

article[role="statusBoard"] section[role="ideaList"] > a.detailList > h3 > span > sup {
    border: 1px solid rgb(133, 160, 255);
    border-radius: 3px;
    font-size: 11px;
    font-weight: 400;
    padding: 2px 4px;
    color: rgb(133, 160, 255);
    display: inline-block;
    margin: 0 6px 0 0;
    min-width: 54px;
    text-align: center;
    margin-left: 2px;
}

/*idea strorage banner 24.10.04 추가 */
a.ideaStorage {
    position: absolute;
    top: 628px;
    left: calc(50% + 222px);
    width: 480px;
    height: 65px;
    background: #fff url(../img/main2024/ideaStorage.png) 40px center no-repeat;
    background-size: 60px 60px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: left;
    padding: 0 0 0 120px;
    border-radius: 8px;
    font-size: 18px;
    font-weight: 500;
    line-height: 24px;
    color: #222;
    border: 1px solid #eee;
}

a.ideaStorage span {
    font-size: 14px;
    font-weight: 500;
    color: #666;
}



/*body title*/
header.ttl {
    display: flex;
    flex-wrap: nowrap;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    padding-bottom: 12px;
}

header.ttl > h1 {
    font-size: 28px;
    font-weight: 700;
    height: 36px;
    color: #333;
}

header.ttl > a.more {
    width: 36px;
    height: 36px;
    background: url(../img/main2024/plus.png) center right no-repeat;
    opacity: .6;
}

/*pr content*/
article[role="prCon"] {
    width: 1400px;
    background: #fff;
    padding: 80px 0;
    margin: 0 auto;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
}

section[role="content"] {
    width: 50%;
    padding-right: 40px;
}

section[role="content"]:only-child {
    padding: 0;
}

section[role="content"] + section[role="content"] {
    padding-left: 40px;
    padding-right: 0;
}

article[role="prCon"] > section[role="content"] > section[role="prSlide"] > .bx-wrapper,
article[role="prCon"] > section[role="content"] > section[role="prSlide"] > .bx-controls.bx-has-pager {
    width: 660px;
}

article[role="prCon"] > section[role="content"] > section[role="prSlide"] .bx-viewport {
    height: auto!important;
}

article[role="prCon"] > section[role="content"] > section[role="prSlide"] .slider2 {
    padding-top: 32px;
}

article[role="prCon"] > section[role="content"] > section[role="prSlide"] .slider2 .prCon > h2 {
    font-size: 24px;
    font-weight: 500;
    color: #444;
    margin: 16px 0 20px 0;
}

article[role="prCon"] > section[role="content"] > section[role="prSlide"] .slider2 > .prCon > h3 {
    font-size: 16px;
    font-weight: 400;
    color: #666;
    margin: 16px 0 20px 0;
}

article[role="prCon"] > section[role="content"] > section[role="prSlide"] .slider2 > .prCon > figure {
    width: 100%;
    max-width: 660px;
    height: 366px;
}

article[role="prCon"] > section[role="content"] > section[role="prSlide"] .slider2 > .prCon > figure > img {
    max-width: 100%;
    height: auto;
    border-radius: 8px;
}

article[role="prCon"] > section[role="content"] > section[role="prSlide"] .bx-wrapper .bx-pager {
    bottom: -40px!important;
}

/*notice*/
article[role="prCon"] > section[role="content"] > ul {
    width: 100%;
}

article[role="prCon"] > section[role="content"] > ul > li {
    border-bottom: 1px solid #eee;
    transition: all .3s;
    padding: 10px 0;
    cursor: pointer; 
}

article[role="prCon"] > section[role="content"] > ul > li:last-child {
    border-bottom: 0;
}

article[role="prCon"] > section[role="content"] > ul > li:hover {
    transform: scale(1.01);
}

article[role="prCon"] > section[role="content"] > ul > li > a > h1 { 
    display: flex;
    flex-direction: column;
}

article[role="prCon"] > section[role="content"] > ul > li > a > h1 > sup {
    margin-bottom: 8px;
}

article[role="prCon"] > section[role="content"] > ul > li > a > h1 > sup > span {
    padding: 6px 12px;
    border-radius: 20px;
    font-size: 16px;
    font-weight: 400;
    display: inline-block;
}

article[role="prCon"] > section[role="content"] > ul > li > a > h1 > sup > span.label {
    border: 1px solid #3986f6;
    color: #3986f6;
}

article[role="prCon"] > section[role="content"] > ul > li > a > h1 > sup > span.new {
    border: 1px solid #f54c6a;
    color: #f54c6a;
    margin-left: 8px;
}

article[role="prCon"] > section[role="content"] > ul > li > a > h1 > span  { 
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
}

article[role="prCon"] > section[role="content"] > ul > li > a > h1 > span > span.ttl {
    font-size: 22px;
    font-weight: 500;
    color: #444;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    line-height: 140%;
    width: calc(100% - 100px);
}

article[role="prCon"] > section[role="content"] > ul > li > a > h1 > span > sub {
    font-size: 16px;
    font-weight: 400;
    color: #999;
    width: 100px;
    display: flex;
    justify-content: flex-end;
}


/*challenge normal*/

article[role="challNormal"] {
    background: #f3f3f3;
    padding: 80px 0;
    margin-top: -60px;
}

article[role="challNormal"] > section[role="content"] {
    width: 1400px;
    margin: 0 auto;
}

section[role="challList"] > div {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
    padding-top: 32px;
    gap: 40px;
}

section[role="challList"]  .card {
    display: block;
    width: 320px;
    height: 325px;
    overflow: hidden;
    border-radius: 12px;
    box-shadow: 0 4px 8px rgba(133,160,255, .3);
    cursor: pointer;
    background: #fff;
}

section[role="challList"] .card > figure > img {
    transition: all .3s;
    max-width: 100%;
    min-width: 318px;
    height: 180px;
}

section[role="challList"] .card > figure > img:hover {
    transform: scale(1.05);
}

section[role="challList"] .card > hgroup.ttl {
    padding: 24px 24px 0 24px;
    display: flex;
    flex-direction: column;
}

section[role="challList"] .card > hgroup.ttl > h1 > span {
    font-size: 18px;
    font-weight: 500;
    line-height: 140%;
    color: #333;
    word-break: break-word;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
}

section[role="challList"] .card > hgroup.ttl > h1 > sup {
    height:24px;
    padding: 3px 8px 2px 8px;
    border-radius: 12px;
    border: 1px solid;
    font-size: 14px;
    font-weight: 400;
    display: inline-flex;
    align-items: center;
    margin-bottom: 12px;
}

section[role="challList"] .card > hgroup.ttl > h1 > sup.blue {
    border-color: #2958ff;
    color: #2958ff;
}

section[role="challList"] .card > hgroup.ttl > h1 > sup.green {
    border-color: #2cc84e;
    color: #2cc84e;   
}

section[role="challList"] .card > hgroup.ttl > h1 > sup.red {
    border-color: #f54c6a;
    color: #f54c6a;   
}
section[role="challList"] .card > hgroup.ttl > h1 > sub {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: space-between;
    align-items: center;
    margin-top: 8px;
}

section[role="challList"] .card > hgroup.ttl > h1 > sub > span  {
    font-size: 14px;
    font-weight: 400;
    color: #666;
}

section[role="challList"] .card > hgroup.label {
    padding: 0 24px 24px 24px;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: space-between;
    align-items: center;
    margin-top: 20px;
}

section[role="challList"] .card > hgroup.label > h2 {
    padding: 8px 16px;
    background: #dfe6ff;
    border-radius: 12px;
    font-size: 14px;
    font-weight: 400;
    color: #6184ff;
}

section[role="challList"] .card > hgroup.label > h3 {
    padding: 8px 16px;
    background: #fff;
    border: 1px solid #f54c6a;
    border-radius: 12px;
    font-size: 14px;
    font-weight: 400;
    color: #f54c6a;
}

/*challenge profession + market*/
article[role="challProMarket"] {
    width: 1400px;
    margin: 0 auto;
    background: #fff;
    padding: 80px 0;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
}

article[role="challProMarket"] > section[role="content"] > ul {
    width: 100%;
    padding-top: 32px;
}

article[role="challProMarket"] > section[role="content"] > ul > li {
    padding-bottom: 40px;
}

article[role="challProMarket"] > section[role="content"] > ul > li:last-child {
    padding-bottom: 0;
}

article[role="challProMarket"] > section[role="content"] > ul > li > a > h1 {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    flex-wrap: nowrap;
    margin-bottom: 12px;
}

article[role="challProMarket"] > section[role="content"] > ul > li > a > h1 > span {
    font-size: 20px;
    font-weight: 500;
    color: #444;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    width: calc(100% - 100px);
}

article[role="challProMarket"] > section[role="content"] > ul > li > a > h1 > sub  {
    font-size: 16px;
    font-weight: 400;
    color: #999;
    width: 100px;
    display: flex;
    justify-content: flex-end;
}

/*FAQ EVENT*/
article[role="faqEvent"] {
    width: 100%;
    background: #f9fafb;
    padding: 80px 0 40px 0;
    display: flex;
    flex-direction: column;
}

article[role="faqEvent"] > .pcWidth {
    width: 1400px;
    margin: 0 auto;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
}

article[role="faqEvent"] section[role="content"] > ul {
    width: 100%;
    padding-top: 32px;
}

article[role="faqEvent"] section[role="content"] > ul > li {
    height: 60px;
    display: flex;
    align-items: center;
    cursor: pointer;
    width: 100%;
    transition: all .3s;
}

article[role="faqEvent"] section[role="content"] > ul > li:hover {
    background: #fff;
    border-radius: 8px;
    box-shadow: 0 4px 8px rgba(133,160,255, .3);
    padding: 0 24px;
}

article[role="faqEvent"] section[role="content"] > ul > li > a {
    width: inherit;
}

article[role="faqEvent"] section[role="content"] > ul > li > a > h1 {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: flex-start;
    width: inherit;
}

article[role="faqEvent"] section[role="content"] > ul > li > a > h1 > sup {
    font-size: 18px;
    font-weight: 400;
    color: #999;
    margin-right: 32px;
    transition: all .3s;
}

article[role="faqEvent"] section[role="content"] > ul > li > a > h1 > span {
    font-size: 20px;
    font-weight: 500;
    color: #444;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    width: inherit;
    max-width: calc(100% - 180px);
}

article[role="faqEvent"] section[role="content"] > ul > li > a > h1 > span span {
    display: block;
}

article[role="faqEvent"] > hgroup.inquiry {
    width: 1400px;
    height: 80px;
    margin: 80px auto 0 auto;
    display: flex;
    justify-content: center;
    align-items: center;
    background: #e7edf9;
    border-radius: 8px;
}

article[role="faqEvent"] > hgroup.inquiry > h1 {
    font-size: 16px;
    font-weight: 400;
    color: #666;
    text-align: center;
    line-height: 24px;
}

article[role="faqEvent"] > hgroup.inquiry > a {
    padding: 16px 20px 16px 56px ;
    background: #2958ff url(../img/main2024/office.png) 20px center no-repeat;
    font-size: 16px;
    font-weight: 500;
    color:#fff;
    margin-left: 36px;
    border-radius: 8px;
}

/*footer*/
footer {
    width: 100%;
    background: #36435a;
    padding: 40px 0;
    display: flex;
    flex-direction: column;
}

footer > div {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    flex-wrap: nowrap;
    width: 1400px;
    margin: 0 auto 32px auto;
}

footer > div > nav > a {
    margin-right: 24px;
    font-size: 14px;
    color: #eee;
}

footer > div > nav > a.privacy {
    color: #ffdd80;
}

footer > div > nav > a:last-child {
    margin-right: 0;
}

footer > div > select  {
    width: 240px;
    height: 40px;
    background: transparent;
    border-radius: 6px;
    font-size: 14px;
    color: #ddd;
    padding-left: 16px;
    background: url(../img/main2024/select_arrow.png) no-repeat center right 16px;
    border-color:#ddd;
    transform:translate(0px,6px);
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
}

footer > div > select > option {
    background-color: #36435E;
    color: #ddd;
    font-size: 16px;
    font-weight: 400;
}

footer > p {
    width: 1400px;
    font-size: 13px;
    color: #bbb;
    margin: 0 auto 16px auto;
    line-height: 18px;
}

footer > p + p {
    margin-bottom: 0;
}

@media screen and (max-width: 1399px) {

    header[role="gnb"] {
        width: 100%;
        padding: 15px 20px 30px;
    }

    header[role="gnb"] > header > .search  {
        margin: 0 20px;
        width: 160px;        
    }

    header[role="gnb"] > header > .search > input[type="text"] {
        width: 100px;
    }

    article[role="mainSlide"] {
        margin: 66px auto 0;
    }

    article[role="statusBoard"] {
        left: calc(50% + 120px);
        top: 100px;
    }
	/* 24.10.04 스토리지 추가 */
   a.ideaStorage {
        left: calc(50% - 380px);
        top: 640px;
    }
	

    article[role="mainSlide"] .main01 > hgroup {
        width: 100%;
    }

    article[role="prCon"],
    article[role="challProMarket"],
    article[role="challNormal"] > section[role="content"],
    article[role="faqEvent"] > .pcWidth {
        width: 100%;
        padding: 80px 20px;
    }

    section[role="challList"]{
        width: 100%;
        overflow-x: auto;
    }

    section[role="challList"] .card {
        flex-grow: 0;
        flex-basis: 320px;
    }

    article[role="challNormal"]  section[role="challList"] > div {
        width: 1400px;
        padding-bottom: 20px
    }

    article[role="challProMarket"]  section[role="challList"] > div {
        width: 700px;
        padding-left: 2px;
        padding-bottom: 20px
    }

    article[role="faqEvent"] > hgroup.inquiry  {
        width: calc(100% - 40px);
        margin: 80px 20px 0;
        padding: 0 20px;
    }

    footer > div,
    footer > p {
        width: 100%;
        padding: 0 20px;
    }
}

@media screen and (max-width: 1279px) {

    header[role="gnb"] {
        padding-bottom: 15px;
    }

    header[role="gnb"] > header {
        padding-top: 0;
    }


    header[role="gnb"] > header > nav.gnb ul:not(.showM) {
        display: none!important;
    }

    header[role="gnb"] .menuBg.show,
    header[role="gnb"] > nav.join,
    header[role="gnb"] > header > .search {
        display: none;
    }

    header[role="gnb"] .menuBg.showM,
    header[role="gnb"] > nav.join.showM,
    header[role="gnb"] > header > .search.showM,
    header[role="gnb"] > header  nav.gnb ul {
        display: flex!important;
    }

    header[role="gnb"] .menuBg.showM {
        height: 100vh;
        top: 60px;
        border-top: 1px solid #eee;
        position: fixed;
        background: #fff;
    }

    header[role="gnb"] > nav.join {
        position: absolute;
        top: 80px;
        right: 20px;
        z-index: 12;
        height: 36px;
        justify-content: flex-end;
        padding-bottom: 0;
    }

    header[role="gnb"] > header > .search {
        position: absolute;
        top: 66px;
        left: 0;
        z-index: 12;
        width: 200px;
        margin: 0;
    }

    header[role="gnb"] > header > .search > input[type="text"] {
        width: 140px;
    }

    header[role="gnb"] > header nav.gnb > ul.depth1 {
        position: absolute;
        top: 136px;
        left: 32px;
        width: calc(100% - 40px);
        flex-direction: row;
        justify-content: space-between;
        align-items: flex-start;
        flex-basis: 20%;
    }

    header[role="gnb"] > header nav.gnb ul.depth2 {
        flex-direction: column;
        flex-direction: column;
        margin: 48px 5px 0 0;
        position: absolute;
        z-index: 9;
    }

    article[role="mainSlide"] {
        height: 700px;
    }

    article[role="mainSlide"] .main01 {
        height: 547px;
    }

    article[role="mainSlide"] .main01 > hgroup {
        top: 80px;
    }

    article[role="mainSlide"] .bx-wrapper .bx-pager, 
    article[role="mainSlide"] .bx-wrapper .bx-controls-auto {
        right: 0!important;
    }

    article[role="statusBoard"] {
        width: 100%;
        left: 0;
        border-radius: 0;
        top: 700px;
    }
	/* 24.10.04 스토리지 추가 */
    a.ideaStorage {
        width: 100%;
        border-radius: 0;
        top: 546px; 
        left: 0;
    }

    article[role="prCon"],
    article[role="challProMarket"],
    article[role="faqEvent"] > .pcWidth {
        flex-direction: column;
    }

    section[role="content"] {
        width: 100%;
        padding: 20px 0;
    }

    section[role="content"] + section[role="content"] {
        padding-left: 0;
        padding-top: 80px;
    }

    article[role="prCon"] > section[role="content"] > section[role="prSlide"] .slider2 > .prCon > figure {
        max-width: 100%;
    }

    article[role="prCon"] > section[role="content"] > section[role="prSlide"] > .bx-wrapper, 
    article[role="prCon"] > section[role="content"] > section[role="prSlide"] > .bx-controls.bx-has-pager,
    article[role="challProMarket"] section[role="challList"] > div {
        margin: 0 auto;
    }

    footer > div {
        flex-direction: column;
        justify-content: center;
        gap: 16px;
    }

    footer > p {
        text-align: center;
    }

}

@media screen and (max-width: 767px) {

    header[role="gnb"] > header > h1 {
        width: 120px;
        height: 24px;
        background-size: cover;
        margin-top: 8px;
    }

    header[role="gnb"] > header > .search {
        width: 140px;
    }

    header[role="gnb"] > header > .search > input[type="text"] {
        width: 80px;
    }

    header[role="gnb"] > header nav.gnb > ul.depth1 {
        flex-direction: column;
        left: -20px;
        width: calc(100% + 20px);
        min-height: 450px;
        overflow-y: scroll; 
        overflow-x: hidden;  
        justify-content: flex-start;
        flex-basis: unset;
        height: calc(100% - 60px);
    }

    header[role="gnb"] > header nav.gnb > ul.depth1 > li {
        width: inherit;
        flex-basis: unset;
    }

    header[role="gnb"] > header nav.gnb > ul.depth1 > li:hover > a::after {
        display: none;
    }

    header[role="gnb"] > header nav.gnb > ul.depth1 > li > a {
        border-bottom: 1px solid #eee;
        height: 60px;
        padding: 20px;
        display: flex;
        align-items: center;
        width: 100%;
    }

    header[role="gnb"] > header nav.gnb ul.depth2:not(.showM2) {
        display: none!important;
    }

    header[role="gnb"] > header nav.gnb ul.depth2.showM2 {
        padding-left: 40px;
        margin: 24px 5px 24px 0!important;
        position: relative;
        display: flex!important;
    }

    header[role="gnb"] > header nav.gnb ul.depth2 > li br {
        display: none;
    }
    
    header[role="gnb"] .menuBg {
        background-position: center 85%;
    }

    article[role="mainSlide"] .main01 > hgroup {
        top: 20px;
        padding-left: 20px;
    }

    article[role="mainSlide"] .main01 > hgroup > h1 {
        font-size: 36px;
        margin-top: 8px;
    }
    
    article[role="mainSlide"] .main01 > hgroup > h2 {
        font-size: 18px;
    }
    
    article[role="mainSlide"] .main01 > hgroup > h3 {
        font-size: 20px;
    }

    article[role="statusBoard"] section[role="normal"] > a.list > div,
    article[role="statusBoard"] section[role="profession"] > a.list > div {
        padding-left: 0;
        background-image: none!important;
    }

    article[role="statusBoard"] section[role="ideaList"] > a.detailList > h3 > span {
        flex-basis: 100%;
    }

    article[role="statusBoard"] section[role="ideaList"] > a.detailList > h3 > span > sup {
        min-width: 100px;
    }

    article[role="prCon"],
    article[role="challProMarket"],
    article[role="challNormal"] {
        padding: 40px 20px;
    }


    article[role="challNormal"] > section[role="content"] {
        padding: 0;
    }

    section[role="content"] + section[role="content"] {
        padding-top: 40px;
    }

    header.ttl > h1 {
        font-size: 22px;
        line-height: 36px;
    }
    
    article[role="prCon"] > section[role="content"] > ul > li > a > h1 > sup > span.label {
        font-size: 13px;
    }

    article[role="prCon"] > section[role="content"] > ul > li > a > h1 > sup {
        margin-bottom: 4px;
    }

    article[role="prCon"] > section[role="content"] > ul > li > a > h1 > span,
    article[role="challProMarket"] > section[role="content"] > ul > li > a > h1 {
        flex-direction: column;
        align-items: flex-start;
        gap: 5px;
    }

    article[role="prCon"] > section[role="content"] > ul > li > a > h1 > span > span.ttl,
    article[role="challProMarket"] > section[role="content"] > ul > li > a > h1 > span,
    article[role="faqEvent"] section[role="content"] > ul > li > a > h1 > span {
        font-size: 16px;
        width: 100%;
        max-width: 100%;
    }

    article[role="prCon"] > section[role="content"] > ul > li > a > h1 > span > sub,
    article[role="challProMarket"] > section[role="content"] > ul > li > a > h1 > sub {
        width: 100%;
        font-size: 13px;
        justify-content: flex-start;
    }

    section[role="challList"] .card {
        flex-basis: 280px;
        height: auto;
    }

    article[role="faqEvent"] section[role="content"] > ul > li:hover {
        background: unset;
        box-shadow: none;
    }

    article[role="faqEvent"] section[role="content"] > ul > li:hover sup {
        padding: 0;
    }

    article[role="prCon"] > section[role="content"] > section[role="prSlide"] .slider2 > .prCon > figure {
        height: auto;
    }

    article[role="prCon"] > section[role="content"] > section[role="prSlide"] .slider2 .prCon > h2 {
        font-size: 16px;
    }

    article[role="prCon"] > section[role="content"] > section[role="prSlide"] .slider2 > .prCon > h3 {
        font-size: 14px;
    }

    article[role="faqEvent"] {
        padding: 0 20px;
    }

    article[role="faqEvent"] section[role="content"] > ul > li > a > h1 {
        flex-direction: column;
        align-items: flex-start;
        width: 100%;
    }

    article[role="faqEvent"] section[role="content"] > ul > li > a > h1 > sup {
        margin-bottom: 12px;
        font-size: 14px;
    }
    
    article[role="faqEvent"] > .pcWidth {
        padding: 40px 0;
    }

    article[role="faqEvent"] > hgroup.inquiry {
        flex-direction: column;
        padding: 20px;
        height: auto;
        margin: 0 0 40px;
        width: 100%;
    }

    article[role="faqEvent"] > hgroup.inquiry > h1 {
        font-size: 14px;
        line-height: 22px;
    }

    article[role="faqEvent"] > hgroup.inquiry > a {
        margin-top: 16px;
        margin-left: 0;
    }

    footer > div > nav {
        display: flex;
        flex-wrap: wrap;
        gap: 24px;
        justify-content: center;
    }

    footer > div > nav > a {
        margin-right: 0;
    }
}


/**과제현황판**/

article[role="statusBoardTop"] {
    width: 100%;
    background: #9CCBF5;
    height: 290px;
    margin-top: 142px;
}

article[role="statusBoardTop"] > .content {
    width: 1400px;
    height: inherit;
    margin: 0 auto;
    padding-top: 40px;
    background: url(../img/main2024/statusBoardTop.png) 108% 0 no-repeat;
    background-size: 532px auto;
    display: flex;
    flex-direction: column;
    gap: 24px;
}

article[role="statusBoardTop"] > .content > h1 {
    font-size: 32px;
    color: #333;
    line-height: 48px;
    font-weight: 700;
}

article[role="statusBoardTop"] > .content > section[role="stBoard"] {
    width: 800px;
    border-radius: 8px;
    background: #2958FF;
    padding: 20px 40px;
    display: flex;
    flex-direction: row;
    gap: 40px;
}

article[role="statusBoardTop"] > .content > section[role="stBoard"] > div {
    display: flex;
    flex-direction: column;
    padding-left: 60px;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    flex-basis: 150px;
}

article[role="statusBoardTop"] > .content > section[role="stBoard"] > div.status01 {
    background: url(../img/main2024/statusIcon01.png) left center no-repeat;   
    background-size: 48px auto;
}

article[role="statusBoardTop"] > .content > section[role="stBoard"] > div.status02 {
    background: url(../img/main2024/statusIcon02.png) left center no-repeat;
    background-size: 48px auto;
}

article[role="statusBoardTop"] > .content > section[role="stBoard"] > div.status03 {
    background: url(../img/main2024/statusIcon03.png) left center no-repeat;
    background-size: 48px auto;
}

article[role="statusBoardTop"] > .content > section[role="stBoard"] > div.status04 {
    background: url(../img/main2024/statusIcon04.png) left center no-repeat;
    background-size: 48px auto;
}

article[role="statusBoardTop"] > .content > section[role="stBoard"] > div > h2 {
    color: #9CCBF5;
    font-size: 16px;
    line-height: 20px;
    font-weight: inherit;
    text-align: center;
    width: 100%;
}

article[role="statusBoardTop"] > .content > section[role="stBoard"] > div > p {
    color: #fff;
    font-size: 24px;
    line-height: 36px;
    font-weight: inherit;
    text-align: center;
    width: 100%;
}

article[role="statusBoardCon"] {
    width: 1400px;
    margin: 0 auto;
    position: relative;
}

article[role="statusBoardCon"] > hgroup {
    width: 800px;
    height: 50px;
    display: flex;
    flex-direction: row;
    position: relative;
    top: 49px;
    left: 0;
    box-shadow: 0 4px 8px rgba(133, 160, 255, .3);
}

article[role="statusBoardCon"] > hgroup > h1 {
    border-top-left-radius: 4px;
    border-bottom-left-radius: 4px;
    border: 1px solid #003A6C;
    background: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-basis: 50%;
    font-size: 20px;
    font-weight: 500;
    color: #999;
    cursor: pointer;
}

article[role="statusBoardCon"] > hgroup > h1 + h1 {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
    border-top-right-radius: 4px;
    border-bottom-right-radius: 4px;
}

article[role="statusBoardCon"] > hgroup > h1.active {
    background: #003A6C;
    color: #fff;
    font-weight: 700;
}

article[role="statusBoardCon"] >  section[role="tabCon"] {
   /*  display: none; */
    padding-bottom: 80px;
}

article[role="statusBoardCon"]  > section[role="tabCon"] fieldset {
    width: 100%; 
    margin-bottom: 24px;
    display: flex;
    flex-direction: row;
    justify-content: flex-end;
    align-items: center;
    gap: 8px;
}

article[role="statusBoardCon"]  > section[role="tabCon"] fieldset > legend,
article[role="statusBoardCon"]  > section[role="tabCon"].pro > .scroll > table > caption {
    color: transparent;
    text-indent: -9999px;
    width: 0;
    height: 0;
    font-size: 0;
    line-height: 0;
}

article[role="statusBoardCon"] > section[role="tabCon"] fieldset > select {
    width: 160px;
    height: 48px;
    border-radius: 4px;
    border: 1px solid #ddd;
    font-size: 16px;
    line-height: 24px;
    font-weight: 400;
    color: #333;
    padding-left: 16px;
    background: url(../img/main2024/selectBg.png) right center no-repeat;
}

article[role="statusBoardCon"]  > section[role="tabCon"] fieldset > button {
    width: 80px;
    height: 48px;
    border-radius: 4px;
    background: #003A6C;
    font-size: 16px;
    font-weight: 700;
    color: #fff;
    cursor: pointer;  
    display: flex;
    justify-content: center;
    align-items: center;  
}

article[role="statusBoardCon"]  > section[role="tabCon"] > .scroll {
    width: 100%;
    margin-bottom: 40px;
}


article[role="statusBoardCon"]  > section[role="tabCon"] > .scroll > table {
    width: 100%;
    border-collapse: collapse;
    border-top: 3px solid #9CCBF5;
    table-layout: fixed;
    min-width: 1280px;
}

article[role="statusBoardCon"]  > section[role="tabCon"].pro > .scroll > table {
    border-top: 3px solid #9CA3F5;
}   

article[role="statusBoardCon"]  > section[role="tabCon"] > .scroll > table th,
article[role="statusBoardCon"]  > section[role="tabCon"] > .scroll > table td {
    border-bottom: 1px solid #d8ecff;
    text-align: center;
    padding: 18px 5px;
}

article[role="statusBoardCon"]  > section[role="tabCon"] > .scroll > table td {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

article[role="statusBoardCon"]  > section[role="tabCon"] > .scroll > table td a {
    font-weight: 500;
}

article[role="statusBoardCon"]  > section[role="tabCon"].pro > .scroll > table th,
article[role="statusBoardCon"]  > section[role="tabCon"].pro > .scroll > table td {
    border-bottom: 1px solid #D8E0FF;
    padding: 18px 5px;
}

article[role="statusBoardCon"]  > section[role="tabCon"] > .scroll > table tbody tr:last-child td {
    border-bottom: 2px solid #9CCBF5;
}

article[role="statusBoardCon"]  > section[role="tabCon"].pro > .scroll > table tbody tr:last-child td {
    border-bottom: 2px solid #9CA3F5;
}

article[role="statusBoardCon"]  > section[role="tabCon"] > .scroll > table th {
    font-size: 18px;
    line-height: 20px;
    font-weight: 700;
    color: #333;
}

article[role="statusBoardCon"]  > section[role="tabCon"] > .scroll > table td {
    font-size: 16px;
    line-height: 20px;
    font-weight: 500;
    color: #444;
}

article[role="statusBoardCon"]  > section[role="tabCon"] > .paging {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: row;
    gap: 10px;
}

article[role="statusBoardCon"]  > section[role="tabCon"] > .paging button {
    width: 40px;
    height: 40px;
    border-radius: 4px;
}

article[role="statusBoardCon"]  > section[role="tabCon"] > .paging > .btn-first {
    background: url(../img/main2024/pagingFirstNormal.png) center center no-repeat;
    background-size: 40px auto;
    text-indent: -999em;
}

article[role="statusBoardCon"]  > section[role="tabCon"].pro > .paging > .btn-first {
    background: url(../img/main2024/pagingFirstPro.png) center center no-repeat;
    background-size: 40px auto;
    text-indent: -999em;
}

article[role="statusBoardCon"]  > section[role="tabCon"] >  .paging > .btn-prev {
    background: url(../img/main2024/pagingPrevNormal.png) center center no-repeat;
    background-size: 40px auto;
    text-indent: -999em;
}

article[role="statusBoardCon"]  > section[role="tabCon"].pro > .paging > .btn-prev {
    background: url(../img/main2024/pagingPrevPro.png) center center no-repeat;
    background-size: 40px auto;
    text-indent: -999em;
}

article[role="statusBoardCon"]  > section[role="tabCon"] > .paging > .btn-next {
    background: url(../img/main2024/pagingNextNormal.png) center center no-repeat;
    background-size: 40px auto;
    text-indent: -999em;
}

article[role="statusBoardCon"]  > section[role="tabCon"].pro > .paging > .btn-next {
    background: url(../img/main2024/pagingNextPro.png) center center no-repeat;
    background-size: 40px auto;
    text-indent: -999em;
}

article[role="statusBoardCon"]  > section[role="tabCon"] > .paging > .btn-last {
    background: url(../img/main2024/pagingLastNormal.png) center center no-repeat;
    background-size: 40px auto;
    text-indent: -999em;
}

article[role="statusBoardCon"]  > section[role="tabCon"].pro > .paging > .btn-last {
    background: url(../img/main2024/pagingLastPro.png) center center no-repeat;
    background-size: 40px auto;
    text-indent: -999em;
}

article[role="statusBoardCon"]  > section[role="tabCon"] >  .paging > .paging {
    display: flex;
    flex-direction: row;
    gap: 10px;
}

article[role="statusBoardCon"]  > section[role="tabCon"] >  .paging > .paging > button{
    border: 1px solid #ddd;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 20px;
    font-weight: 400;
    color: #ddd;
}

article[role="statusBoardCon"]  > section[role="tabCon"] >  .paging > .paging > .active {
    border: 2px solid #9CCBF5;
    color: #9CCBF5;
    font-weight: 700;
}

article[role="statusBoardCon"]  > section[role="tabCon"].pro > .paging > .paging > .active {
    border: 2px solid #9CA3F5;
    color: #9CA3F5;
}

@media screen and (max-width: 1399px) {

    article[role="statusBoardTop"] > .content {
        width: 100%;
        padding: 40px 20px 0;
    } 

    article[role="statusBoardCon"] {
        width: 100%;
        padding: 60px 20px 0;
    }
}

@media screen and (max-width: 1279px) {

    article[role="statusBoardTop"] {
        margin-top: 66px;
    }
    
    article[role="statusBoardCon"]  > section[role="tabCon"] > .scroll {
        overflow-x: auto;
        padding-bottom: 20px;
    }
}

@media screen and (max-width: 999px) {

    article[role="statusBoardTop"] {
        height: 350px;
    }

    article[role="statusBoardTop"] > .content {
        background-position: 108% 0;
    }

    article[role="statusBoardTop"] > .content > section[role="stBoard"] {
        width: 100%;
        max-width: 800px;
        flex-wrap: wrap;
    }

    article[role="statusBoardTop"] > .content > section[role="stBoard"] > div {
        flex-basis: calc(50% - 20px);
    }

    article[role="statusBoardTop"] > .content > section[role="stBoard"] > div br {
        display: none;
    }
 
    article[role="statusBoardCon"] > hgroup {
        width: 100%;
        max-width: 800px;
    }
}

@media screen and (max-width: 767px) {
    
    article[role="statusBoardCon"] > section[role="tabCon"] > .paging {
        flex-wrap: wrap;
        justify-content: flex-start;
        gap: 40px 10px;
    }
}

@media screen and (max-width: 515px) {

    article[role="statusBoardTop"] {
        height: 399px;
    }

    article[role="statusBoardTop"] > .content {
        background-position: 80px -50px;
    }

    article[role="statusBoardTop"] > .content > section[role="stBoard"] > div > h2 {
        font-size: 14px;
        height: 40px;
    }

    article[role="statusBoardTop"] > .content > section[role="stBoard"] > div > p {
        font-size: 22px;
    }

    article[role="statusBoardTop"] > .content > section[role="stBoard"] {
        gap: 28px;
        padding: 28px;
    }

    article[role="statusBoardTop"] > .content > section[role="stBoard"] > div {
        flex-basis: calc(50% - 14px);
        padding-left: 48px;
    }

    article[role="statusBoardTop"] > .content > section[role="stBoard"] > div br {
        display: block;
    }
 
    article[role="statusBoardTop"] > .content > section[role="stBoard"] > div.status01 {  
        background-size: 36px auto;
    }
    
    article[role="statusBoardTop"] > .content > section[role="stBoard"] > div.status02 {
        background-size: 36px auto;
    }
    
    article[role="statusBoardTop"] > .content > section[role="stBoard"] > div.status03 {
        background-size: 36px auto;
    }
    
    article[role="statusBoardTop"] > .content > section[role="stBoard"] > div.status04 {
        background-size: 36px auto;
    }
}

@media screen and (max-width: 358px) {

    article[role="statusBoardTop"] > .content > section[role="stBoard"] > div  {
        background: none!important;
        padding-left: 0;
    }
}
.title_box {margin-top: 148px !important; }



/* 현황판 내부의 아이디어 스토리지 크기 조정 */
article[role="statusBoard"] a.ideaStorage {
    position: relative;
    top: auto;
    left: auto;
    width: 100%; /* 현황판 전체 너비에 맞춤 */
    height: 65px;
    background: #fff url(../img/main2024/ideaStorage.png) 40px center no-repeat;
    background-size: 60px 60px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: left;
    padding: 0 0 0 120px;
    border-radius: 8px;
    font-size: 18px;
    font-weight: 500;
    line-height: 24px;
    color: #222;
    border: 1px solid #eee;
    margin-top: 24px;
    text-decoration: none;
    box-sizing: border-box; /* padding 포함한 전체 크기 계산 */
}

/* 기존 독립된 아이디어 스토리지는 숨김 처리 */
a.ideaStorage:not(article[role="statusBoard"] a.ideaStorage) {
    display: none;
}


/* 1280px 이하에서만 allMenu 버튼 표시 */
@media screen and (max-width: 1279px) {
    header[role="gnb"] > header > nav.gnb button.allMenu {
        display: block; 
    }
}




/* 1280px 이하에서 과제현황판과 성공사례 겹침 방지 */
@media screen and (max-width: 1279px) {
    
    /* 과제현황판 위치 */
    article[role="statusBoard"] {
        width: 100%;
        left: 0;
        border-radius: 0;
        top: 0px;
        position: relative; /* fixed에서 relative로 변경 */
        margin-bottom: 40px; /* 하단 여백 추가 */
    }

    /* 아이디어 스토리지 위치 조정 */
    a.ideaStorage {
        width: 100%;
        border-radius: 0;
        position: relative; /* absolute에서 relative로 변경 */
        top: auto;
        left: auto;
        margin-top: 24px;
    }

    /* 성공사례 섹션이 과제현황판 아래에 오도록 */
    article[role="prCon"] {
        clear: both; /* float 해제 */
        margin-top: 0; /* 기본 마진 제거 */
    }

    /* 메인 슬라이드와 과제현황판을 하나의 컨테이너로 묶기 */
    article[role="mainSlide"] {
        margin-bottom: 0; /* 하단 마진 제거 */
    }
}


/* 이벤트 슬라이드 스타일 */
article[role="prCon"] > section[role="content"] > section[role="prSlide"] .slider3 {
    padding-top: 32px;
}

article[role="prCon"] > section[role="content"] > section[role="prSlide"] .slider3 .prCon > h2 {
    font-size: 24px;
    font-weight: 500;
    color: #444;
    margin: 16px 0 20px 0;
}

article[role="prCon"] > section[role="content"] > section[role="prSlide"] .slider3 > .prCon > h3 {
    font-size: 16px;
    font-weight: 400;
    color: #666;
    margin: 16px 0 20px 0;
}

article[role="prCon"] > section[role="content"] > section[role="prSlide"] .slider3 > .prCon > figure {
    width: 100%;
    max-width: 660px;
    height: 366px;
}

article[role="prCon"] > section[role="content"] > section[role="prSlide"] .slider3 > .prCon > figure > img {
    max-width: 100%;
    height: auto;
    border-radius: 8px;
}



/* 이벤트 슬라이드 스타일 추가/수정 */

/* 기본 이벤트 슬라이드 컨테이너 */
article[role="faqEvent"] section[role="content"] > section[role="prSlide"] {
    width: 100%;
    margin-top: 32px;
}

/* 이벤트 슬라이드 wrapper */
article[role="faqEvent"] section[role="content"] > section[role="prSlide"] > .bx-wrapper {
    width: 100% !important;
    max-width: 660px;
}

article[role="faqEvent"] section[role="content"] > section[role="prSlide"] .bx-viewport {
    height: auto !important;
}

/* 이벤트 슬라이드 내용 */
article[role="faqEvent"] section[role="content"] > section[role="prSlide"] .slider3 {
    padding-top: 0;
}

article[role="faqEvent"] section[role="content"] > section[role="prSlide"] .slider3 .prCon {
    width: 100%;
}

article[role="faqEvent"] section[role="content"] > section[role="prSlide"] .slider3 .prCon > h2 {
    font-size: 20px;
    font-weight: 500;
    color: #444;
    margin: 16px 0 20px 0;
    line-height: 140%;
}

article[role="faqEvent"] section[role="content"] > section[role="prSlide"] .slider3 > .prCon > figure {
    width: 100%;
    max-width: 660px;
    height: 300px;
    overflow: hidden;
    border-radius: 8px;
}

article[role="faqEvent"] section[role="content"] > section[role="prSlide"] .slider3 > .prCon > figure > img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 8px;
    transition: all 0.3s ease;
}

article[role="faqEvent"] section[role="content"] > section[role="prSlide"] .slider3 > .prCon > figure > img:hover {
    transform: scale(1.05);
}

/* 이벤트 슬라이드 페이저 */
article[role="faqEvent"] section[role="content"] > section[role="prSlide"] .bx-wrapper .bx-pager {
    bottom: -40px !important;
    text-align: center;
}

/* 모바일 대응 */
@media screen and (max-width: 767px) {
    article[role="faqEvent"] section[role="content"] > section[role="prSlide"] .slider3 .prCon > h2 {
        font-size: 16px;
        margin: 12px 0 16px 0;
    }
    
    article[role="faqEvent"] section[role="content"] > section[role="prSlide"] .slider3 > .prCon > figure {
        height: 200px;
    }
}



/* 기존 article[role="prCon"] 안의 성공사례 스타일을 article[role="faqEvent"] 안에도 적용 */

/* 성공사례 슬라이더 컨테이너 스타일 - faqEvent 안에 있는 경우 */
article[role="faqEvent"] section[role="content"] > section[role="prSlide"] > .bx-wrapper,
article[role="faqEvent"] section[role="content"] > section[role="prSlide"] > .bx-controls.bx-has-pager {
    width: 660px;
}

article[role="faqEvent"] section[role="content"] > section[role="prSlide"] .bx-viewport {
    height: auto!important;
}

article[role="faqEvent"] section[role="content"] > section[role="prSlide"] .slider2 {
    padding-top: 32px;
}

article[role="faqEvent"] section[role="content"] > section[role="prSlide"] .slider2 .prCon > h2 {
    font-size: 24px !important;
    font-weight: 500 !important;
    color: #444 !important;
    margin: 16px 0 20px 0 !important;
    display: block !important;
    visibility: visible !important;
}

article[role="faqEvent"] section[role="content"] > section[role="prSlide"] .slider2 > .prCon > h3 {
    font-size: 16px;
    font-weight: 400;
    color: #666;
    margin: 16px 0 20px 0;
}

article[role="faqEvent"] section[role="content"] > section[role="prSlide"] .slider2 > .prCon > figure {
    width: 100%;
    max-width: 660px;
    height: 366px;
}

article[role="faqEvent"] section[role="content"] > section[role="prSlide"] .slider2 > .prCon > figure > img {
    max-width: 100%;
    height: auto;
    border-radius: 8px;
    display: block !important;
    visibility: visible !important;
}

article[role="faqEvent"] section[role="content"] > section[role="prSlide"] .bx-wrapper .bx-pager {
    bottom: -30px!important;
}

/* 성공사례 컨테이너 전체 스타일 */
article[role="faqEvent"] section[role="content"] > section[role="prSlide"] .slider2 > .prCon {
    color: #444 !important;
    background: transparent !important;
}

/* 모바일 대응 */
@media screen and (max-width: 767px) {
    article[role="faqEvent"] section[role="content"] > section[role="prSlide"] .slider2 .prCon > h2 {
        font-size: 16px !important;
    }
    
    article[role="faqEvent"] section[role="content"] > section[role="prSlide"] .slider2 > .prCon > figure {
        height: auto;
    }
}

@media screen and (max-width: 1279px) {
    article[role="faqEvent"] section[role="content"] > section[role="prSlide"] .slider2 > .prCon > figure {
        max-width: 100%;
    }

    article[role="faqEvent"] section[role="content"] > section[role="prSlide"] > .bx-wrapper, 
    article[role="faqEvent"] section[role="content"] > section[role="prSlide"] > .bx-controls.bx-has-pager {
        margin: 0 auto;
    }
     article[role="faqEvent"] section[role="content"]:last-child {
        padding-top: 80px !important;
    }
}

/* 성공사례 섹션에 흰색 배경 적용 */
article[role="faqEvent"] section[role="content"]:has(section[role="prSlide"]) {
    background: #fff;
    padding: 40px;
    border-radius: 8px;
    margin-bottom: 40px;
}

/* 또는 더 구체적으로 성공사례가 있는 섹션만 */
article[role="faqEvent"] section[role="content"] > header.ttl h1:contains("성공사례") {
    background: #fff;
}

/* 성공사례 전체 컨테이너에 흰색 배경 */
article[role="faqEvent"] section[role="content"]:last-child {
    background: #fff;
    padding: 40px;
    border-radius: 8px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
}




/* footer 하단 정보를 2열로 배치 */
footer .footer-bottom {
    width: 1400px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 40px;
}

footer .footer-bottom .footer-section {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
}

footer .footer-bottom .footer-section:last-child {
    align-items: flex-end;
    text-align: right;
}

footer .footer-bottom .footer-section .img {
    margin-bottom: 8px;
}

footer .footer-bottom .footer-section .img img {
    display: block;
    max-width: 100%;
    height: auto;
}

footer .footer-bottom .footer-section p {
    font-size: 13px;
    color: #bbb;
    line-height: 18px;
    margin: 0;
}

/* 기존 footer의 직계 자식 img와 p 태그들만 숨기기 (새 구조 제외) */
footer > .img,
footer > p {
    display: none;
}

/* 새 구조(.footer-bottom 내부)의 요소들은 표시 */
footer .footer-bottom .img,
footer .footer-bottom p {
    display: flex !important;
}

footer .footer-bottom .img {
    display: block !important;
}

/* 반응형 대응 */
@media screen and (max-width: 1399px) {
    footer .footer-bottom {
        width: 100%;
        padding: 0 20px;
        align-items: center;
    }
    footer .footer-bottom .footer-section {
    align-items: center;
    text-align: center;
    word-break: keep-all;
}
    footer .footer-bottom .footer-section:last-child {
    align-items: center;
    text-align: center;
}
}

@media screen and (max-width: 767px) {
    footer .footer-bottom {
        flex-direction: column;
        align-items: center;
        gap: 32px;
    }
    
    footer .footer-bottom .footer-section:last-child {
        align-items: center;
        text-align: center;
    }
}




/* FAQ를 공지사항과 동일한 스타일로 수정 */

/* FAQ 리스트 기본 스타일 */
article[role="faqEvent"] section[role="content"] > ul > li {
    border-bottom: 1px solid #eee;
    transition: all .3s;
    padding: 10px 0;
    cursor: pointer; 
    height: auto; /* 기존 고정 높이 해제 */
    display: flex;
    align-items: flex-start; /* 상단 정렬로 변경 */
}

article[role="faqEvent"] section[role="content"] > ul > li:last-child {
    border-bottom: 0;
}

article[role="faqEvent"] section[role="content"] > ul > li:hover {
    transform: scale(1.01);
    background: transparent; /* 배경 투명 */
    border-radius: 0; /* 둥근 모서리 제거 */
    box-shadow: none; /* 그림자 제거 */
    padding: 10px 0; /* 기본 패딩 유지 */
}

/* FAQ 링크 전체 너비 */
article[role="faqEvent"] section[role="content"] > ul > li > a {
    width: 100%;
}

/* FAQ h1 구조를 공지사항과 동일하게 */
article[role="faqEvent"] section[role="content"] > ul > li > a > h1 {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    width: 100%;
}

/* FAQ sup 스타일 (카테고리 라벨) - 공지사항과 동일하게 */
article[role="faqEvent"] section[role="content"] > ul > li > a > h1 > sup {
    margin-bottom: 8px;
    font-size: 16px;
    font-weight: 400;
    color: #3986f6;
    margin-right: 0;
    transition: all .3s;
    padding: 6px 12px;
    border: 1px solid #3986f6;
    border-radius: 20px;
    display: inline-block;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 200px; /* 최대 너비 설정 */
}

/* FAQ span 컨테이너 스타일 */
article[role="faqEvent"] section[role="content"] > ul > li > a > h1 > span {
    font-size: 22px;
    font-weight: 500;
    color: #444;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    line-height: 140%;
    width: 100%;
    max-width: 100%;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
}

/* 모바일에서 FAQ 스타일 조정 */
@media screen and (max-width: 767px) {
    
    /* 기존 hover 효과 제거 */
    article[role="faqEvent"] section[role="content"] > ul > li:hover {
        background: unset;
        box-shadow: none;
        padding: 18px 0; /* 패딩 원복 */
    }

    article[role="faqEvent"] section[role="content"] > ul > li:hover sup {
        padding: 0;
    }

    /* FAQ h1 세로 정렬 */
    article[role="faqEvent"] section[role="content"] > ul > li > a > h1 {
        flex-direction: column;
        align-items: flex-start;
        width: 100%;
    }

    /* FAQ sup 마진 조정 */
    article[role="faqEvent"] section[role="content"] > ul > li > a > h1 > sup {
        margin-bottom: 4px;
        font-size: 13px;
        padding: 4px 8px;
        max-width: 150px; /* 모바일에서 최대 너비 줄임 */
    }
    
    /* FAQ span 텍스트 크기 조정 */
    article[role="faqEvent"] section[role="content"] > ul > li > a > h1 > span {
        font-size: 16px;
        width: 100%;
        max-width: 100%;
        display: block;
    }
}



/* 홍보자료 섹션 배경 수정 - FAQ와 동일하게 투명 배경으로 변경 */

/* 기존 흰색 배경 제거 */
article[role="faqEvent"] section[role="content"]:last-child {
    background: transparent !important; /* 흰색 배경 제거 */
    padding: 0 !important; /* 패딩 제거 */
    border-radius: 0 !important; /* 둥근 모서리 제거 */
    box-shadow: none !important; /* 그림자 제거 */
    margin-bottom: 0 !important; /* 하단 마진 제거 */
}

/* 홍보자료 섹션의 다른 배경 관련 스타일도 제거 */
article[role="faqEvent"] section[role="content"]:has(section[role="prSlide"]) {
    background: transparent !important;
    padding: 0 !important;
    border-radius: 0 !important;
    margin-bottom: 0 !important;
}

/* 홍보자료 리스트가 FAQ와 동일한 스타일을 가지도록 */
article[role="faqEvent"] section[role="content"]:last-child > ul {
    width: 100%;
    padding-top: 32px;
    background: transparent; /* 배경 투명 */
}

/* 홍보자료 제목 헤더도 동일하게 */
article[role="faqEvent"] section[role="content"]:last-child > header.ttl {
    background: transparent;
}


/* 메인 슬라이드의 bx-wrapper만 수정하고 싶다면 */
article[role="mainSlide"] .bx-wrapper {
    border: 0!important;
    box-shadow: none!important;
}

/* 또는 모든 bx-wrapper에 강제 적용 */
.bx-wrapper {
    border: 0!important;
    box-shadow: none!important;
    background: transparent!important;
}




header[role="gnb"] > nav.join > span.txt {
    font-size: 16px;
    font-weight: 400;
    margin-right: 20px;
    color: inherit; /* 링크가 아니므로 기본 텍스트 색상 */
}

@media screen and (max-width: 1279px) {

    /* .title_box { margin-top: 60px !important; } */
    section[role="content"] + section[role="content"], 
    article[role="faqEvent"] section[role="content"]:last-child {
        padding-top: 40px !important;
    }
    
}
@media screen and (max-width: 1024px) {
    
    header[role="gnb"] > header nav.gnb ul.depth2,
    header[role="gnb"] > header > nav.gnb ul.depth2.show {
        margin: 20px 0 0;
        position: relative;
    }
}
