/*************** 헤더 관련 css ********************/
.header {
  position: relative; /* 헤더 */
  z-index: 9;
  padding: 21.5px 0px;
  width: 100%;
  height: 88px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
}
.header_lang_bar{
  position:absolute;
  top:0px;
  width:100%;
  height:20px;
  text-align:right;
  padding-right:30px;
  font-size:12px;
  color:#FFF;
}
.header_lang_bar > span{
  vertical-align:middle;
}
.header_lang_bar > img{
  margin: 1px 8px 0px 8px;
  vertical-align:middle;
}
.header_footer_lang{
  cursor:pointer; 
}
.header_lang_selected{
  font-weight:bold;
}
.header_back {
  position: absolute;
  top: 0px;
  left: 0;
  background-color: #ffffff;
  width: 100%;
  height: 88px;
  z-index: -1;
  opacity: 10;
}
.header_logo,
.header_class_logo { /* 로고 */
  position: absolute;
  left: 30px;
  bottom: 8px;
  padding: 0px;
  margin: auto;
  line-height: 1;
}
.header_m_logo {
  display: none;
}
.header_logo a>.img,
.header_class_logo a>.img {
  /* background-image: url('/20250213125318oe_/https://cuscs.khcu.ac.kr/el/images/osms/0/main/header/logo.png'); */
  background-repeat: no-repeat;
  background-size: 100% 100%;
  width: 283px;
  height: 50px;
}
.header_login { /* 로그인 */
  display: block;
  position: absolute;
  top: 46.5px;
  right: 25px /* 검색 및 회원 가입, 로그인 용 div */
}
.header_login_nav {
  position: relative;
  float: right;
  cursor: pointer;
}
.header_nav {
  margin: 25px auto 0 auto;
  line-height: 1.5;
  overflow: hidden;
}
.header_mobile {
  display: none;
}
.header_menu {
  margin: 0;
  padding: 0;
  list-style: none;
  text-align: center;
  white-space: nowrap;
  overflow-x: auto;
  overflow-y: hidden;
  scrollbar-highlight-color:#FFFFFF; 
  scrollbar-3dlight-color:#B58E63; 
  scrollbar-face-color:#F2ECE6; 
  scrollbar-shadow-color:#B58E63; 
  scrollbar-darkshadow-color:white; 
  scrollbar-track-color:#FFFFFF; 
  scrollbar-arrow-color:#B58E63;
}
::-webkit-scrollbar {width: 12px; height: 12px;  }
::-webkit-scrollbar-button:start:decrement, 
::-webkit-scrollbar-button:end:increment {display: block; width: 12px;height: 12px; background: url() rgba(0,0,0,.05);}
::-webkit-scrollbar-track {     background: rgba(0,0,0,.05); }
::-webkit-scrollbar-thumb {  background: rgba(0,0,0,.1);  }

.header_menu_item {
  font-family: "Noto Sans Korean";
  font-size: 20px;
  line-height: 1;
  margin: 0 20px;
  display: inline-block;
  font-weight: 500;
  border-bottom: 0;
}
.header_menu_item:hover, .header_menu_item>a:hover {
  color: #3498db
}
.right_menu {
  display: block;
  float: right;
  position: relative;
  font-family: Dotum;
  font-size: 14px;
  padding-left: 10px;
  padding-right: 15px;
  font-weight: bold;
  margin: 2px 0 /* header_search안 회원가입 , 로그인 등 메뉴 */
}
.right_menu_item:first-child {
  display: inline-block;
  padding-right: 15px
}
.right_menu_item:last-child {
  display: inline-block;
  padding-top: 3px;
  padding-left: 18px;
  line-height: 0.7;
}
.right_menu>img {
  position: relative;
  top: -1px;
}
.header_menu_min {
  margin-left: 5px /* width 사이즈 648 이하 일때 오른쪽 메뉴 대신 보여줄 이미지용 */
}
.login_img {
  position: relative;
  float: right;
  margin-left: 10px;
  top: -7px; /* 로그인 시  이미지 div*/
  width: 30px;
  height: 30px;
  border-radius: 50%;
  display: inline-block;
  background-size: cover;
  background-position: center;
}
.header_menu_item:first-child {
  border-top: 0
}
.left_border .right_menu {
  padding-right: 0
}
.header_menu_min, .header_hidden {
  display: none
}
.name_menu {
  padding: 0 10px
}
.header_search {
  position: absolute;
  top: 0;
  left: -25px;
  width: 20px;
  line-height: 1;
}
.header_search>img {
  width: 100%;
}
.header_class_info {
  position: absolute;
  left: 360px;
  top: 21.5px;
  padding: 0px;
  margin: auto;
  width: calc(100% - 552px);
  white-space: nowrap;
  overflow: hidden;
  display: flex;
  align-items: baseline;
  font-size: 0;
}
.header_class_name {
  font-family: "Noto Sans Korean";
  font-size: 20px;
  line-height: 1;
  font-weight: 500;
  display: inline-block;
  text-overflow: ellipsis;
}
.header_class_sub {
  font-family: "Noto Sans Korean";
  font-size: 16px;
  line-height: 1;
  color: #666;
  display: inline-block;
  text-overflow: ellipsis;
  margin-left: 10px;
}
.header_warning {
  position: fixed;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: #ffffff;
  z-index: 101;
  overflow: auto;
  display: none;
}
.header_warning_top {
  background-color: #3498db;
  text-align: center;
}
.header_warning_bottom {
  text-align: center;
  padding: 40px 0;
}
.header_warning_logo {
  position: absolute;
  top: 20px;
  left: 50px;
  margin: 0;
}
.header_warning_notice {
  width: 900px;
  margin: 0;
}
.header_warning_link {
  display: none;
}
.header_warning_link > img {
  margin: 5px;
  width: 200px;
}
@media screen and (max-width: 1030px) {
  .header_menu_item {
    margin: 0 12px;
  }
  .header_search {
    left: -15px;
  }
  .header_class_logo {
    left: 30px;
  }
  .header_class_info {
    left: 340px;
    width: calc(100% - 492px);
  }
}
@media screen and (max-width: 940px) {
  .header_menu {
    margin-left: 10%;
  }
  .header_login {
    right: 5px;
  }
  .header_logo {
    left: 25px;
  }
  .header_class_logo {
    left: 25px;
  }
  .header_class_info {
    left: 330px;
    width: calc(100% - 482px);
  }
  .right_menu {
    padding-right: 5px;
  }
}
@media screen and (max-width: 800px) {
  .header_nav {
    margin: 40px 0px 0px 0px;
  }
  .header_search_m {
    position: relative;
    top: 4.84375vw;
    margin-right: 4.6875vw;
    width: 4.6875vw;
    line-height: 1;
  }
  .header_mobile {
    display: flex;
    float: right;
    padding-right: 30px;
  }
  .header_menu_mobile {
    position: relative;
    top: -2.5px;
  }
  .header_menu_mobile>img, .header_search_m>img {
    width: 30px;
  }
  .header_login { /* 로그인 */
    display: none;
  }
  .nav_menu {
    overflow-y: hidden;
    display: none; /* 메뉴 width 사이즈 648 이하 일때 표시용  */
  }
  .header_lang_bar{
    display: none;
  }
  .header_menu {
    margin: 0;
    padding: 0;
    list-style: none;
    background-color: #fff;
    text-align: center
  }
  .header_menu_item {
    display: block;
    width: 100%;
    margin: 0;
    font-size: 18px;
    line-height: 5;
    border-bottom: 1px solid #cccccc;
    font-weight: bold;
    color: #333;
  }
  .header {
    height: 63px;
  }
  .header_back {
    height: 63px;
  }
  .header_login{
    top: 21.5px;
  }
}
@media screen and (max-width:640px) {
  .header {
    position: relative;
    height: 15.625vw;
    padding: 0px;
  }
  .header:before, .header:after {
    content: " ";
    display: table
  }
  .header_back {
    height: 15.625vw;
  }
  .header_logo {
    position: absolute;
    left: 3.75vw;
    bottom: 0;
    padding: 2.7% 0px;
  }
  .header_class_logo {
    position: absolute;
    left: 4.6875vw;
    bottom: 0;
    padding: 4.5% 0px;
    width: 5.78125vw;
  }
  .header_pc_logo {
    display: none;
  }
  .header_m_logo {
    display: inline-block;
  }
  .header_logo a>.img,
  .header_class_logo a>.img {
    /* background-image: url('/20250213125318oe_/https://cuscs.khcu.ac.kr/el/images/osms/0/m/main/header/logo.png'); */
    width: 56.5625vw;
    height: 10vw;
  }
  .header_nav {
    margin: 14.53125vw 0px 0px 0px;
  }
  .header_mobile {
    padding-right: 0px;
  }
  .header_menu_mobile {
    position: relative;
    top: 5.15625vw;
    margin-right: 3.75vw;
    width: 5.3125vw;
    line-height: 1
  }
  .header_menu_mobile>img, .header_search_m>img {
    width: 100%
  }
  .header_login { /* 로그인 */
    display: none;
  }
  .nav_menu {
    overflow-y: hidden;
    display: none; /* 메뉴 width 사이즈 648 이하 일때 표시용  */
  }
  .header_menu {
    margin: 0;
    padding: 0;
    list-style: none;
    background-color: #fff;
    text-align: center
  }
  .header_menu_item {
    display: block;
    width: 100%;
    margin: 0;
    font-size: 2.96875vw;
    line-height: 5;
    border-bottom: 1px solid #cccccc;
    font-weight: bold;
    color: #333;
  }
  .header_menu_item:first-child {
    border-top: 1px solid #ededee /* 메뉴 width 사이즈 648 이하 일때 표시용  */
  }
  .header_class_info {
    top: 0;
    padding: 4.5% 0px;
    left: 15.15625vw;
    width: calc(100% - 29.21875vw);
  }
  .header_class_name {
    font-size: 4.6875vw;
    max-width: calc(100% - 6.25vw);
    overflow: hidden;
  }
  .header_class_sub {
    display: none;
  }
  .header_login_top {
    display: none;
  }
}
@media screen and (max-width: 480px) {
  .header_logo {
    left: 2px;
    padding: 4.5px 0;
  }
  .header_class_logo {
    padding: 14.5px 0;
    width: 18.5px;
  }
  .header_menu_mobile {
    top: 16.5px;
    margin-right: 12px;
    width: 17px;
  }
  .header_search_m {
    top: 15.5px;
    margin-right: 15px;
    width: 15px;
  }
  .header_logo a>.img,
  .header_class_logo a>.img {
    width: 220px;
    height: 40px;
  }
  .header {
    height: 50px;
  }
  .header_back {
    height: 50px;
  }
  .header_menu_item {
    font-size: 12px
  }
  .header_nav {
    margin: 47px 0px 0px 0px;
  }
  .header_class_info {
    padding: 14.5px 0;
    width: calc(100% - 9.375vw - 63.5px);
    left: calc(9.375vw + 18.5px);
  }
  .header_class_name {
    font-size: 15px;
    max-width: calc(100% - 22px);
  }
}
@media screen and (max-height: 480px) and (max-width: 640px) {
/*  .header_menu_item {
    line-height: 2;
  } */
}
/**************** 로그인 시 유저 메뉴 ***************/
.user_menu {
  display: none;
  position: absolute;
  top: 30px;
  right: 15px;
  width: auto;
  background-color: #434343;
  border-radius: 3px /* 유저용 서브 메뉴  */
}
.user_list {
  list-style: none;
  padding: 0 15px;
  margin: 0;
  min-width:150px;
  /* font-family: Dotum; */
  font-size: 13px;
  font-weight: bold;
}
.user_list_item:first-child {
  margin-top: 20px
}
.user_list_item:last-child {
  margin-bottom: 20px
}
.user_list_item {
  margin: 20px 0;
}
.user_list_item>a {
  color: #fff
}
.user_list_item>a>img {
  padding-right: 12px;
  vertical-align: bottom
}
/************* 로그인 시 이미지와 new 아이콘******************/
.icon_num {
  position: absolute;
  top: 0;
  right: -3px
}
.icon_num .a-new_icon {
  position: relative;
  top: -6px
}
/******* 푸터 ********/
.footer {
  box-flex: none;
  -webkit-box-flex: 0;
  -ms-flex: none;
  flex: none
}
.footer_logo {
  display: block;
  position: absolute;
  top: 17px;
}
.footer_title {
  margin-bottom: 12px;
  font-size: 16px;
  font-family: "Noto Sans Korean";
  line-height: normal;
}
.footer_text {
  margin-top: 12px;
  margin-bottom: 0;
  font-size: 12px;
  font-family: Dotum;
  line-height: calc(1.25em + 2px);
}
.footer_bottom {
  padding-top: 27px;
  padding-bottom: 27px
}
.menu_footer_secondary .menu_item {
  font-family: Dotum;
  font-size: 12px;
  font-weight: bold;
  display: inline-block;
  border-right: 1px solid
}
.footer_span {
  padding-right: 10px
}
.pc_footer {
  display: block;
}
.mobile_footer {
  display: none;
}
.footer_button {
  padding-right: 10px;
  padding-left: 5px;
  color: #bbbbbb
}
.footer_button:first-child {
  padding-left: 0px;
}
.menu {
  margin: 0;
  padding: 0;
  list-style: none
}
.menu_footer .menu_item {
  border-bottom: 0
}
.menu_footer_secondary {
  line-height: 1
}
.menu_footer_secondary .menu_item:last-child {
  border-right: none
}
.footer_lang_div{
  margin: 16px auto 0 auto;
  text-align: center;
  border-top: 1px solid rgba(187, 187, 187, .3);
  padding: 16px 0 0 0;
  font-size: 12px;
}
.footer_lang_div > span{
  vertical-align:middle;
}
.footer_lang{
  cursor:pointer; 
}
.footer_lang_selected{
  font-weight:bold;
}
.login_course_btn {
  font-weight: bold;  
}
@media screen and (max-width: 640px) {
  .footer_logo {
    display: none
  }
  .footer_title {
    margin-bottom: 4.6875vw;
    font-size: 4.0625vw;
  }
  .footer_text {
    margin-top: 4.6875vw;
    font-size: 3.125vw;
    line-height: 1.5;
  }
  .footer_bottom {
    padding-top: 6.25vw;
    padding-bottom: 6.25vw
  }
  .footer_span {
    padding-right: 1.5625vw
  }
  .footer_button {
    padding-right: 1.5625vw;
    padding-left: 0.78125vw;
    color: #bbbbbb
  }
  .menu_footer_secondary .menu_item {
    font-size: 3.4375vw;
    line-height: 1;
  }
  .pc_footer {
    display: none;
  }
  .mobile_footer {
    display: block;
  }
}
@media screen and (max-width: 480px) {
  .footer_bottom {
    padding-top: 20px;
    padding-bottom: 20px;
  }
  .menu_footer_secondary .menu_item {
    font-size: 13px;
  }
  .footer_title {
    margin-bottom: 14px;
    font-size: 16px;
  }
  .footer_text {
    margin-top: 14px;
    font-size: 12px;
    line-height: 1.5;
  }
  .mobile_footer {
    font-size: 12px;
    letter-spacing: 0px;
  }
  .footer_span {
    padding-right: 0px;
  }
}