@font-face { font-family: 'YESMyoungjo'; src: url("https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_13@1.0/YESMyoungjo-Regular.woff") format("woff"); font-weight: normal; font-style: normal; }

@font-face { font-family: 'YESMyoungjo'; src: url("https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_13@1.0/YESMyoungjo-Bold.woff") format("woff"); font-weight: bold; font-style: normal; }

.main-header { position: fixed; top: 0; left: 0; width: 100%; height: 80px; background-color: #fff; z-index: 90; transition: transform 0.3s cubic-bezier(0.17, 0.67, 0.21, 1); }

.main-header.hide { transform: translateY(-100%); }

.main-header .logo { position: absolute; top: 50%; left: 60px; margin-top: -16px; width: 220px; height: 33px; background: url(../images/logo.svg) no-repeat; background-size: 100%; z-index: 111; transition: left 0.5s cubic-bezier(0.17, 0.67, 0.21, 1), opacity 1s; transition-delay: 0s, 3s; }

.main-header .logo a { display: block; height: 100%; text-indent: -9999px; }

.main-header .gnb-container { position: fixed; top: 0; bottom: 0; left: 0; right: 0; background-color: #fff; visibility: hidden; z-index: 100; }

.main-header .gnb-bg { position: absolute; top: 0; bottom: 0; right: 0; left: 0; background: url(../images/gnb_brush.png) no-repeat 50% 100%; background-size: cover; }

.main-header .gnb-links-wrapper { position: absolute; top: 18.5vh; left: 50%; width: 50%; height: 55vh; max-height: 500px; }

.main-header .gnb-links { font-family: 'Lora', 'YESMyoungjo', serif; box-sizing: border-box; flex: 1; display: flex; height: 100%; flex-direction: column; justify-content: space-between; }

.main-header .gnb-links::after { content: ''; position: absolute; top: 0; bottom: 0; left: 0; border-left: 1px solid #ddd; }

.main-header .gnb-links > li { position: relative; margin-left: -267px; width: 267px; transform: translateY(100%); opacity: 0; z-index: 2; }

.main-header .gnb-links > li:first-child .gnb-sublinks { display: flex; flex-wrap: wrap; }

.main-header .gnb-links > li:first-child .gnb-sublinks > li { min-width: 65px; }

.main-header .gnb-links > li:first-child .gnb-sublinks > li:last-child { position: relative; left: -12px; }

.main-header .gnb-links > li > a { position: relative; display: inline-block; font-size: 3rem; font-weight: 700; line-height: normal; color: #999; transition: .5s; }

.main-header .gnb-links > li > a:hover { color: #000; }

.main-header .gnb-links > li > a:hover::before { opacity: 1; transition: opacity 1s; }

.main-header .gnb-links > li > a::before { content: ''; position: absolute; top: -60px; left: -70px; width: 140px; height: 140px; background: url(../images/gnb_hover.png) no-repeat; opacity: 0; }

.main-header .gnb-links > li > a span { position: relative; z-index: 1; }

.main-header .gnb-sublinks { position: absolute; top: 0; left: 268px; box-sizing: content-box; padding-left: 39px; width: 340px; }

.main-header .gnb-sublinks > li > a { position: relative; font-size: 1.5rem; line-height: 2em; color: #999; }

.main-header .gnb-sublinks > li > a::before { content: ''; position: absolute; top: -10px; left: -24px; width: 49px; height: 49px; background: url(../images/gnb_hover.png) no-repeat; background-size: 100%; opacity: 0; }

.main-header .gnb-sublinks > li > a:hover::before { opacity: 1; transition: opacity 1s; }

.main-header .gnb-sublinks > li > a:hover { color: #000; }

.main-header .gnb-sublinks > li > a span { position: relative; z-index: 1; }

.main-header .sns-links { position: fixed; top: 50%; right: 60px; transform: translateY(-50%); z-index: 111; }

.main-header .sns-links li + li { margin-top: 30px; }

.main-header .sns-links li a { margin: 0 auto; }

.main-header .select-lang { position: absolute; top: 50%; right: 140px; transform: translateY(-50%); z-index:110;}

.main-header .select-lang a { margin: 0 5px; color: #fff; text-transform: uppercase; opacity: 0.5; }

.main-header .select-lang a.on { border-bottom: 2px solid #fff; opacity: 1; }

.open-gnb .main-header .select-lang a {color:#000;}

.open-gnb .main-header .select-lang a.on {border-bottom: 2px solid #000;}

.main-header .gnb-toggle { position: absolute; top: 50%; right: 50px; display: block; margin-top: -15px; width: 50px; text-align: center; z-index: 101; transition: opacity 1s; transition-delay: 3s; }

.main-header .gnb-toggle .btn-hamburger { display: block; width: 30px; height: 30px; border: none; background: none; padding: 0; font-family: 'Open Sans', sans-serif; font-size: 1rem; text-align: center; position: relative; transition: all 1s; cursor: pointer; margin: 0 auto; }

.main-header .gnb-toggle .btn-hamburger:focus { outline: none; }

.main-header .gnb-toggle .btn-hamburger:before, .main-header .gnb-toggle .btn-hamburger:after { content: ""; display: block; width: 100%; height: 2px; background: #000; position: absolute; transition: all 0.2s ease-out; }

.main-header .gnb-toggle .btn-hamburger:before { top: 0; }

.main-header .gnb-toggle .btn-hamburger:after { bottom: 0; }

.main-header .gnb-toggle .btn-hamburger-center { display: block; height: 2px; position: relative; transition: all 0.2s ease-out; overflow: hidden; }

.main-header .gnb-toggle .btn-hamburger-center:before, .main-header .gnb-toggle .btn-hamburger-center:after { content: ''; display: block; width: 100%; height: 1px; background: #000; position: absolute; }

.main-header .gnb-toggle .btn-hamburger-center:before { top: 0px; }

.main-header .gnb-toggle .btn-hamburger-center:after { bottom: 0px; }

.main-header .gnb-toggle .btn-hamburger-text { display: block; line-height: 26px; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); opacity: 0; transition: all 0.2s ease-out; }

.main-header .gnb-toggle .btn-hamburger:hover { width: 50px; height: 30px; }

.main-header .gnb-toggle .btn-hamburger:hover .btn-hamburger-center { height: 28px; }

.main-header .gnb-toggle .btn-hamburger:hover .btn-hamburger-text { opacity: 1; }

body.open-gnb { overflow: hidden; }

body.open-gnb .main-header { transform: none !important; }

body.open-gnb .main-header .logo { filter: invert(0) !important; }

body.open-gnb .main-header .gnb-container { visibility: visible; transition: 0.5s cubic-bezier(0.17, 0.67, 0.21, 1); transition-property: opacity, visibility, left; }

body.open-gnb .main-header .gnb-links > li { transform: translateY(0) !important; opacity: 1; transition: all 0.5s cubic-bezier(0.17, 0.67, 0.21, 1); }

body.open-gnb .main-header .gnb-links > li:nth-child(1) { transition-delay: .1s; }

body.open-gnb .main-header .gnb-links > li:nth-child(2) { transition-delay: .2s; }

body.open-gnb .main-header .gnb-links > li:nth-child(3) { transition-delay: .3s; }

body.open-gnb .main-header .gnb-links > li:nth-child(4) { transition-delay: .4s; }

body.open-gnb .main-header .gnb-links > li:nth-child(5) { transition-delay: .5s; }

body.open-gnb .main-header .gnb-toggle .btn-hamburger { animation-name: hamburger; animation-duration: 1s; animation-fill-mode: forwards; }

body.open-gnb .main-header .gnb-toggle .btn-hamburger:before { animation-name: hamburger-before; animation-duration: 1s; animation-fill-mode: forwards; background: #000 !important; }

body.open-gnb .main-header .gnb-toggle .btn-hamburger:after { animation-name: hamburger-after; animation-duration: 1s; animation-fill-mode: forwards; background: #000 !important; }

body.open-gnb .main-header .gnb-toggle .btn-hamburger .btn-hamburger-center { animation-name: hamburger-center; animation-duration: 1s; animation-fill-mode: forwards; }

body.open-write .main-header .logo { left: calc(370px + 50px); }

body.open-write .main-header .gnb-container { left: 370px; }

body.init .main-header .logo, body.init .main-header .gnb-toggle { opacity: 1; }

@media (max-width: 800px) { body.open-gnb .main-header .gnb-toggle { margin-top: -10px; }
  body.open-gnb .main-header .gnb-toggle .btn-hamburger { width: 20px; height: 20px; font-size: 0.625rem; }
  body.open-gnb .main-header .gnb-toggle .btn-hamburger:active { width: 30px; height: 20px; }
  body.open-gnb .main-header .gnb-toggle .btn-hamburger:active .btn-hamburger-center { height: 19px; }
  .main-header { height: 60px; }
  .main-header .logo { margin-top: -10px; left: 15px; width: 130px; height: 20px; }
  .main-header .gnb-container .gnb-bg { display: none; }
  .main-header .gnb-container .gnb-links-wrapper { position: static; margin: 80px 0 0 50px; width: auto; height: 60vh; }
  .main-header .gnb-container .gnb-links-wrapper .gnb-links::after { display: none; }
  .main-header .gnb-container .gnb-links-wrapper .gnb-links > li { margin-left: 0; width: auto; transform: translateY(50px); }
  .main-header .gnb-container .gnb-links-wrapper .gnb-links > li:first-child .gnb-sublinks > li { min-width: 44px; }
  .main-header .gnb-container .gnb-links-wrapper .gnb-links > li:first-child .gnb-sublinks > li:last-child { left: -9px; }
  .main-header .gnb-container .gnb-links-wrapper .gnb-links > li > a { font-size: 1.875rem; }
  .main-header .gnb-container .gnb-links-wrapper .gnb-links > li > a::before { display: none; }
  .main-header .gnb-container .gnb-links-wrapper .gnb-sublinks { position: static; margin-top: 1vh; padding-left: 20px; width: 230px; }
  .main-header .gnb-container .gnb-links-wrapper .gnb-sublinks > li > a { font-size: 1.125rem; }
  .main-header .gnb-container .gnb-links-wrapper .gnb-sublinks > li > a::before { display: none; }
  .main-header .sns-links { top: auto; bottom: 30px; left: 50px; display: flex; transform: none; }
  .main-header .sns-links li + li { margin: 0 0 0 30px; }
  .main-header .select-lang { right: 50px; }
  .main-header .select-lang a { font-size: 13px; }
  .main-header .gnb-toggle { margin-top: -10px; right: 10px; width: 30px; }
  .main-header .gnb-toggle .btn-hamburger { width: 20px; height: 20px; font-size: 0.625rem; }
  .main-header .gnb-toggle .btn-hamburger:hover { width: 20px; height: 20px; }
  .main-header .gnb-toggle .btn-hamburger:hover .btn-hamburger-center { height: 2px; } }

@media (max-height: 860px) { .main-header .gnb-links-wrapper { height: 65vh; } }

@media (max-height: 640px) { .main-header .gnb-links-wrapper { height: 60vh; }
  .main-header .gnb-links > li > a { font-size: 2.125rem; }
  .main-header .gnb-links > li > a::before { top: -25px; left: -60px; width: 90px; height: 90px; background-size: cover; }
  .main-header .gnb-sublinks > li > a { font-size: 1.125rem; }
  .main-header .gnb-sublinks > li > a::before { top: -15px; left: -24px; width: 40px; height: 40px; }
  .main-header .sns-links { top: auto; bottom: 40px; right: 40px; display: flex; justify-content: space-between; width: 140px; transform: none; }
  .main-header .sns-links li + li { margin-top: 0; } }

@keyframes hamburger { 50% { width: 30px;
    height: 30px; }
  75% { width: 30px;
    height: 30px; }
  100% { width: 30px;
    height: 30px; } }

@keyframes hamburger-before { 50% { top: 50%;
    transform: translateY(-1px); }
  75% { top: 50%;
    transform: translateY(-1px) rotate(45deg); }
  100% { top: 50%;
    transform: translateY(-1px) rotate(45deg); } }

@keyframes hamburger-after { 50% { top: 50%;
    transform: translateY(-1px); }
  75% { top: 50%;
    transform: translateY(-1px); }
  100% { top: 50%;
    transform: translateY(-1px) rotate(135deg); } }

@keyframes hamburger-center { 50% { height: 0; }
  75% { height: 0; }
  100% { height: 0; } }

.main-footer { position: fixed; bottom: 0; left: 0; right: 0; height: 300px; background-color: #f5f5f5; transition: left 0.5s cubic-bezier(0.17, 0.67, 0.21, 1); }

.main-footer .wrapper { position: relative; margin: 0 140px; padding-top: 75px; }

.main-footer .wrapper .logo { display: block; margin-bottom: 10px; width: 220px; }

.main-footer .wrapper .title { font-family: 'Lora', 'YESMyoungjo', serif; margin-bottom: 30px; padding-bottom: 67px; font-size: 0.875rem; letter-spacing: 1px; line-height: 1; border-bottom: 1px solid #000; }

.main-footer .wrapper .copy { display: inline; font-size: 0.875rem; line-height: 1; }

.main-footer .wrapper .sns-links { position: absolute; bottom: 0; right: 0; display: flex; align-items: center; }

.main-footer .wrapper .sns-links li + li { margin-left: 19px; }

.main-footer .wrapper .sns-links a { transform: scale(0.9); transform-origin: 100% 100%; }

.main-footer .wrapper .login-menu { display: inline; margin-left: 29px; background: none; text-decoration: underline; line-height: 1; }

body.open-write .main-footer { left: 370px; }

@media (min-width: 801px) and (max-width: 1440px) { .main-footer .wrapper { margin: 0 70px; } }

@media (max-width: 800px) { .main-footer { height: 250px; }
  .main-footer .wrapper { margin: 0 15px; padding-top: 50px; }
  .main-footer .wrapper .logo { width: 130px; }
  .main-footer .wrapper .title { margin-bottom: 30px; font-size: 0.6875rem; }
  .main-footer .wrapper .sns-links { bottom: 70px; left: 0; right: auto; }
  .main-footer .wrapper .copy { margin-top: 20px; }
  .main-footer .login-menu { display: none !important; } }

.sns-links a { display: block; text-indent: -9999px; background-repeat: no-repeat; background-position: 50% 50%; background-size: 100%; opacity: .4; transition: opacity 0.3s cubic-bezier(0.17, 0.67, 0.21, 1); }

.sns-links a:hover { opacity: .8; }

.sns-links a.youtube { width: 32px; height: 25px; background-image: url(../images/icons/icon_youtube.svg); }

.sns-links a.insta { width: 25px; height: 25px; background-image: url(../images/icons/icon_insta.svg); }

.sns-links a.facebook { width: 13px; height: 26px; background-image: url(../images/icons/icon_facebook.svg); }

.main { position: relative; z-index: 10; }

.main .section { background-color: #000; }

.main .section.section-dummy { display: block !important; width: 0 !important; height: 300px !important; backgrond-color: transparent; }

.main-header { background-color: transparent; }

.main-footer .wrapper .login-menu { display: none; }

body.bg-dark .main-header .logo { filter: invert(100%); }

body.bg-dark .main-header .gnb-toggle .btn-hamburger:before, body.bg-dark .main-header .gnb-toggle .btn-hamburger:after { background: #fff; }

body.bg-dark .main-header .gnb-toggle .btn-hamburger-text { color: #fff; }

body.bg-dark .main-header .gnb-toggle .btn-hamburger-center:before, body.bg-dark .main-header .gnb-toggle .btn-hamburger-center:after { background: #fff; }
