/* main header */
header.main-header {
	width: 100%;
    height: auto;
	padding: 20px 0;
    z-index: 10;
    transition: transform 0.3s ease-in-out;
    background: #fff;

    font-size: 1.6rem;
}
header.main-header .inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
}
header.main-header .logo {
	width: 94px;
	height: 60px;
	background-image: url(/img/main/logo.svg);
    background-position: top center;
    background-repeat: no-repeat;
}
header.main-header .logo a {
	display: block;
	width: 100%;
    height: 100%;
}
header.main-header .logo a span {
	position: absolute !important;
	overflow: hidden;
	height: 1px;
	width: 1px;
	clip: rect(1px, 1px, 1px, 1px);
}
header.main-header .nav01 {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 16px;
	padding: 8px 0;
    margin-bottom: 8px;
}
header.main-header .nav01 li a:hover,
header.main-header .nav02 li a:hover {color: #ffcc33;}
header.main-header .nav01 .utilWrap {
    display: flex;
    align-items: center;
}
header.main-header .nav01 .utilWrap:before,
header.main-header .nav01 .utilWrap:after {
    content: "";
    display: inline-block;
    width: 1px;
    height: 16px;
    vertical-align: middle;
    background-color: rgba(0 0 0 / 10%);
}
header.main-header .nav01 .utilWrap:before {margin-right: 16px;}
header.main-header .nav01 .utilWrap:after {margin-left: 16px;}
header.main-header .nav01 > div ul {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 16px;
}
header.main-header .nav01 .utilLoginout {
    display: flex;
    justify-content: center;
    align-items: center;
}
header.main-header .nav01 .utilWrap li a:first-child,
header.main-header .nav01 button {
	padding-left: 28px;
	background-size: 18px auto;
	background-repeat: no-repeat;
	background-position: 0 center;
}
header.main-header .nav01 .utilWrap .utilLoginout a:first-child {
	position: relative;
	padding-right: 8px;
	background-size: 16px auto;
	background-image: url(/img/main/icon_gnb_loginout_b.png);
}
header.main-header .nav01 .utilWrap .utilLoginout a:last-child {padding-left: 2px;}
header.main-header .nav01 .utilWrap li.utilLoginout a:first-child::after {
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	display: block;
	content: '\002F';
}
header.main-header .nav01 .utilWrap li.utilMypage a {background-image: url(/img/main//icon_gnb_mypage_b.png);}
header.main-header .nav01 .utilWrap li.utilHelp a {background-image: url(/img/main/icon_gnb_help_b.png);}
header.main-header .nav01 button {background-image: url(/img/main/icon_gnb_school_b.png);}
header.main-header .nav01 button.on {
	background-image: url(/img/main/icon_gnb_school_y.png);
	color: #ffcc33;
}
header.main-header .nav02 {padding: 8px 0px;}
header.main-header .nav02 .menuWrap ul {
    display: flex;
    justify-content: flex-end;
    align-items: flex-end;
    gap: 46px;
}
header.main-header .nav02 .menuWrap a {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 8px;

    font-size: 2rem;
    font-weight: 500;
}
header.main-header .nav02 .sub-title {
    color: #aaa;
    font-size: 1.6rem;
}

@media screen and (min-width:1280px) and (max-width: 1440px) {
    header.main-header .inner {padding: 0px 40px;}
}
@media screen and (min-width: 1024px) and (max-width: 1279px) {
    header.main-header .inner {padding: 0px 40px;}
} 
@media screen and (min-width: 841px) and (max-width: 1023px) {
    header.main-header .inner {padding: 0px 40px;}
}
@media screen and (min-width: 721px) and (max-width: 840px) {
    header.main-header .inner {flex-direction: column;}
}


/* sub header */
header.sub-header {
	width: 100%;
    height: auto;
	padding: 20px 0;
    z-index: 10;
    transition: transform 0.3s ease-in-out;
    background: #fff;
}
header.sub-header > .inner {
    display: flex;
    align-items: center;
    justify-content: space-between;

    width: 1316px;
}
header.sub-header .logo {
	width: 94px;
	height: 60px;
	background-image: url(/img/main/logo.svg);
    background-position: top center;
    background-repeat: no-repeat;
}
header.sub-header .logo a {
	display: block;
	width: 100%;
    height: 100%;
}
header.sub-header .logo a span {
	position: absolute !important;
	overflow: hidden;
	height: 1px;
	width: 1px;
	clip: rect(1px, 1px, 1px, 1px);
}
header.sub-header .nav01 {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 16px;
	padding: 8px 0;
    margin-bottom: 8px;
}
header.sub-header .nav01 li a:hover,
header.sub-header .nav02 li a:hover {color: #ffcc33;}
header.sub-header .nav01 .utilWrap {
    display: flex;
    align-items: center;
}
header.sub-header .nav01 .utilWrap:before,
header.sub-header .nav01 .utilWrap:after {
    content: "";
    display: inline-block;
    width: 1px;
    height: 16px;
    vertical-align: middle;
    background-color: rgba(0 0 0 / 10%);
}
header.sub-header .nav01 .utilWrap:before {margin-right: 16px;}
header.sub-header .nav01 .utilWrap:after {margin-left: 16px;}
header.sub-header .nav01 > div ul {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 16px;
}
header.sub-header .nav01 .utilLoginout {
    display: flex;
    justify-content: center;
    align-items: center;
}
header.sub-header .nav01 .utilWrap li a:first-child,
header.sub-header .nav01 button {
	padding-left: 28px;
	background-size: 18px auto;
	background-repeat: no-repeat;
	background-position: 0 center;
}
header.sub-header .nav01 .utilWrap .utilLoginout a:first-child {
	position: relative;
	padding-right: 8px;
	background-size: 16px auto;
	background-image: url(/img/main/icon_gnb_loginout_b.png);
}
header.sub-header .nav01 .utilWrap .utilLoginout a:last-child {padding-left: 2px;}
header.sub-header .nav01 .utilWrap li.utilLoginout a:first-child::after {
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	display: block;
	content: '\002F';
}
header.sub-header .nav01 .utilWrap li.utilMypage a {background-image: url(/img/main//icon_gnb_mypage_b.png);}
header.sub-header .nav01 .utilWrap li.utilHelp a {background-image: url(/img/main/icon_gnb_help_b.png);}
header.sub-header .nav01 button {background-image: url(/img/main/icon_gnb_school_b.png);}
header.sub-header .nav01 button.on {
	background-image: url(/img/main/icon_gnb_school_y.png);
	color: #ffcc33;
}
header.sub-header .nav02 {padding: 8px 0px;}
header.sub-header .nav02 .menuWrap ul {
    display: flex;
    justify-content: flex-end;
    align-items: flex-end;
    gap: 46px;
}
header.sub-header .nav02 .menuWrap a {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 8px;

    font-size: 1.25rem;
    font-weight: 500;
}
header.sub-header .nav02 .sub-title {
    color: #aaa;
    font-size: 1rem;
}

@media screen and (min-width:1280px) and (max-width: 1440px) {
    header.sub-header .inner {padding: 0px 40px;}
}
@media screen and (min-width: 1024px) and (max-width: 1279px) {
    header.sub-header .inner {padding: 0px 40px;}
} 
@media screen and (min-width: 841px) and (max-width: 1023px) {
    header.sub-header .inner {padding: 0px 40px;}
}
@media screen and (min-width: 721px) and (max-width: 840px) {
    header.sub-header .inner {flex-direction: column;}
}

/* css 무효화 */
header .nav01 button {margin-left: 0px !important;}
header .nav01 .submenuWrap li, header .nav01 .utilWrap li {margin-right: 0px;}
header .nav01 > div {padding: 0px 20px 0px 0px;}
header .nav01 .submenuWrap {padding: 0px;}
header .nav02 li {margin: 0px;}