.elementor-15 .elementor-element.elementor-element-72b65c1{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-15 .elementor-element.elementor-element-2d7c7b0{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:space-between;--align-items:center;--gap:0px 0px;--row-gap:0px;--column-gap:0px;box-shadow:0px 0px 10px 0px rgba(0, 0, 0, 0.1);--padding-top:0px;--padding-bottom:0px;--padding-left:20px;--padding-right:20px;}.elementor-15 .elementor-element.elementor-element-2d7c7b0:not(.elementor-motion-effects-element-type-background), .elementor-15 .elementor-element.elementor-element-2d7c7b0 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-15 .elementor-element.elementor-element-c4e7986 .raven-site-logo{text-align:left;}.elementor-widget-raven-icon .raven-icon i::before, .elementor-widget-raven-icon .raven-icon svg{color:var( --e-global-color-primary );-webkit-text-fill-color:var( --e-global-color-primary );}.elementor-widget-raven-icon .raven-icon:hover i::before, .elementor-widget-raven-icon .raven-icon:hover svg{color:var( --e-global-color-primary );-webkit-text-fill-color:var( --e-global-color-primary );}.elementor-15 .elementor-element.elementor-element-d4b2bc8 .raven-icon > i, .elementor-15 .elementor-element.elementor-element-d4b2bc8 .raven-icon > svg{transform:rotate(0deg);}.elementor-15 .elementor-element.elementor-element-d4b2bc8 .raven-icon:hover > i{transform:rotate(0deg);}.elementor-15 .elementor-element.elementor-element-d4b2bc8 .raven-icon:hover > svg{transform:rotate(0deg);}.elementor-15 .elementor-element.elementor-element-d4b2bc8 .raven-icon-wrapper{text-align:center;}@media(max-width:1400px){.elementor-15 .elementor-element.elementor-element-2d7c7b0{--min-height:80px;}.elementor-15 .elementor-element.elementor-element-d4b2bc8 .raven-icon i{font-size:24px;}.elementor-15 .elementor-element.elementor-element-d4b2bc8 .raven-icon svg{width:24px;height:24px;}}@media(max-width:778px){.elementor-15 .elementor-element.elementor-element-c4e7986 .raven-site-logo img, .elementor-15 .elementor-element.elementor-element-c4e7986 .raven-site-logo svg{max-width:80%;}}/* Start custom CSS for html, class: .elementor-element-30d7794 */@media(max-width: 1600px){
    .header-inner{padding: 0 50px !important;}
    #custom-header.header-white .main-menu-area::before,
    #custom-header.header-white .main-menu-area::after{display: none !important;}
}
@media(max-width: 1300px){
    
    .header-inner {
        height: 70px !important; 
        padding: 0 20px !important;
    }

    .logo-area img {
        height: 28px !important; 
    }
    
    .main-menu-area,
    .lang-menu,
    .contact-btn.contact-icon-btn,
    #custom-header.header-white .main-menu-area::before,
    #custom-header.header-white .main-menu-area::after,
    #custom-header.header-white .main-nav > li:not(:last-child)::after {
        display: none;
    }

    
    body.fp-destroyed #fullpage-container > .fp-section:first-child {
        padding-top: 70px !important;
    }

}


@media(max-width: 776px){
    .fp-overflow{max-height: none !important;}
    .fp-scrollable .fp-section:not(.fp-auto-height):not([data-percentage]), .fp-scrollable .fp-slide:not(.fp-auto-height):not([data-percentage]), .fp-scrollable.fp-responsive .fp-is-overflow.fp-section:not(.fp-auto-height):not([data-percentage]){min-height: 1px !important;}
    #scroll-to-top-btn{display: none !important;}
    #fp-nav{display: none !important;}
    
    #custom-header,
    #custom-header.header-transparent,
    #custom-header.header-white {
        background-color: #fff !important;
        color: #111 !important;
        border-bottom: 1px solid #eee !important;
    }
    
    #custom-header .logo-white {
        display: block !important;
    }
    #custom-header .logo-color {
        display: none !important;
    }
    
    #custom-header .hamburger-menu .ham-white {
        display: block !important;
    }
     #custom-header .hamburger-menu .ham-black {
        display: none !important;
    }

    /* ----- [수정] 모바일에서는 그리드 메뉴(.offcanvas-content)를 숨깁니다. ----- */
    .offcanvas-content{display: none !important;}
    
    .offcanvas-menu{padding: 40px 30px 40px 30px !important;} 
    
    .offcanvas-menu .submenu-content{opacity: 1 !important;}

    
    .offcanvas-nav{
        opacity: 1 !important;
        display: block !important; 
    }   

    .offcanvas-nav a{
        opacity: 1 !important;
    
    } 

    .offcanvas-menu .lang-menu{display: none !important;}
    .offcanvas-content{border-bottom: 0 !important;}
}

@media(max-width: 500px){
    .lang-menu,
    .contact-btn{display: none !important;}
}

body.fp-destroyed .fp-section {
    height: auto !important;     
    position: static !important;   
    padding: 80px 20px !important; 
}


body.fp-destroyed .fp-tableCell {
    display: block !important;
    height: auto !important;
    width: 100% !important;
}


body.fp-destroyed #fullpage-container > .fp-section:first-child {
    padding-top: 150px !important; 
}

.dark-background .elementor-heading-title,
.dark-background .elementor-widget-text-editor p {
    color: #fff;
}

.fp-table{justify-content: flex-start !important;}

/* ----- 커스텀 헤더 스타일 ----- */
#custom-header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 100;
    transition: background-color .4s ease, border-bottom .4s ease;
}

.header-inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: 100px;
    padding: 0 100px;
    transition: color .4s ease;
}

#custom-header.header-transparent {
    background-color: #fff;
    color: #111;
    border-bottom: 1px solid rgba(255,255,255,0.3);
     box-shadow: 0 2px 5px rgba(0, 0, 0, .05);
}

#custom-header.header-white {
    background-color: transparent;
    color: #fff;
    border-bottom: 1px solid rgba(255,255,255,0.3);
    
}

.logo-area img {
    height: 35px;
}

.header-transparent .logo-color,
.header-white .logo-white {
    display: none;
}

.header-transparent .logo-white,
.header-white .logo-color {
    display: block;
}

.main-menu-area {
    position: relative;
}

.main-nav {
    display: flex;
    list-style: none;
    margin: 0;
    padding: 0;
    gap: 0 0px;
}

.main-nav>li {
    position: relative;
    margin: 0 0px;
    min-width: 220px;
    text-align: center;
    padding: 0 0px;
    
}

.main-nav a {
    text-decoration: none;
    font-size: 20px;
    font-weight: 600;
    color: inherit;
    line-height: 100px;
    display: inline-block;
    width: 100%;
    text-align: center;
    font-family:"Exo 2";
}


.submenu-bg {
    position: absolute;
    top: 100px; 
    left: 45%;/*lang menu 추가시 50%로 변경*/
    width: 100vw;
    transform: translateX(-50%);
    background-color: #fff;
    border-top: 1px solid #eee;
    box-shadow: 0 4px 10px rgba(0, 0, 0, .1);
    height: 280px;
    opacity: 0;
    visibility: hidden;
    transition: opacity .4s ease, visibility 0s .4s;
    z-index: 1; 
}

.main-nav>li:hover .submenu-content { border-top: 1px solid #c30000;
    background-color: #f5f5f5;
    z-index: 3; }

.submenu-content {
    position: absolute;
    top: 100px; 
    color: #000;
    height: 280px; 
    width: 100%;
    left: 0;
    text-align: center;
    opacity: 0;
    visibility: hidden;
    transition: opacity .4s ease, visibility 0s .4s;
    z-index: 2;
}

.main-nav > li:hover .submenu-content {
    border-top: 1px solid #c30000;
    background-color: #f5f5f5; 
}


.submenu-content h4 {
    font-size: 18px;
    margin-bottom: 20px;
    color: #333;
}

.submenu-content ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.submenu-content li a {
    text-decoration: none;
    color: #333;
    display: block;
    padding: 10px 0;
    line-height: 1.5;
    transition: color .2s;
    font-size: 16px;
}

.submenu-content li:first-child a{padding-top: 25px;}

.submenu-content li a:hover {
    color: #a01b20;
}

.main-menu-area.is-active .submenu-bg,
.main-menu-area.is-active .submenu-content {
    opacity: 1;
    visibility: visible;
    transition-delay: 0s;
}

/* ----- 버튼 영역 ----- */
.button-area {
    display: flex;
    align-items: center;
}

.lang-menu {
    position: relative;
    margin-right: 20px;
    font-weight: 500;
    cursor: pointer;
}

.lang-options {
    display: none;
    position: absolute;
    top: 100%;
    right: -30px;
    background: #fff;
    list-style: none;
    padding: 5px 0;
    margin: 10px 0 0 0;
    border: 1px solid #eee;
    border-radius: 4px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, .1);
    width: 100px;
    
}

.lang-menu.is-open .lang-options {
    display: block;
}


.lang-menu > span {
    cursor: pointer;
}

.lang-options a {
    color: #333;
    text-decoration: none;
    padding: 5px 15px;
    display: block;
}

.lang-options a img{
    margin-right: 5px;
}

.lang-options a:hover {
    background: #f5f5f5;
}

.contact-btn {
    text-decoration: none;
    padding: 8px 20px;
    border: 1px solid currentColor;
    border-radius: 20px;
    font-size: 14px;
    font-weight: 700;
    color: inherit;
    transition: background-color .3s, color .3s;
    margin-right: 20px;
}

.header-transparent .contact-btn:hover {
    background-color: #fff;
    color: #000;
}

.header-white .contact-btn:hover {
    background-color: #000;
    color: #fff;
}

.hamburger-menu {
    width: 24px;
    height: 18px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    cursor: pointer;
}

.hamburger-menu span {
    display: block;
    width: 100%;
    height: 2px;
    background-color: currentColor;
}

/* ----- 오프캔버스 메뉴 ----- */
.offcanvas-menu {
    position: fixed;
    top: -300%;
    right: 0;
    width: 100%;
    background-color: #c30000;
    z-index: 1001;
    transition: right .4s ease;
    padding: 100px;
    box-sizing: border-box;
    border-bottom: 1px solid rgba(255, 255, 255, 0.2);
}

.offcanvas-menu.is-open {
    top: 0;
}

.close-btn {
    position: absolute;
    top: 20px;
    right: 30px;
    background: none;
    border: none;
    color: #fff;
    font-size: 30px;
    cursor: pointer;
}

/* ----- [수정] .offcanvas-nav 전역 스타일 (기본 숨김) ----- */
.offcanvas-nav {
    list-style: none;
    padding: 0;
    margin-top: 40px;
    opacity: 0;
    display: none; /* 데스크톱에서는 숨김 (모바일에서 덮어쓸 예정) */
}

/* ----- [수정] .offcanvas-nav 링크 스타일 (모바일에서 이 규칙이 적용됨) ----- */
.offcanvas-nav a {
    text-decoration: none;
    color: #fff;
    font-size: 20px;
    display: block;
    padding: 15px 0;
    opacity: 1; /* opacity 0 -> 1 로 변경 */
}

/* ----- [수정] .offcanvas-content 전역 스타일 (데스크톱 기본) ----- */
.offcanvas-content {
    display: grid; /* 모바일에서는 이 부분이 display:none 처리됨 */
    grid-template-columns: repeat(auto-fit, minmax(100px, 1fr));
    gap: 40px 0px; 
    justify-items: center;
    border-bottom: 1px solid rgba(255,255,255,0.2);
    padding-bottom: 40px;
    
}
.offcanvas-column{
    width: 80%;
    
}
.offcanvas-column h3 {
    font-size: 22px;
    margin-bottom: 20px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.3); 
    padding-bottom: 15px;
    color: #fff; 
    font-weight: 600;
    font-family:"Exo 2";
}

.offcanvas-column ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.offcanvas-column li a {
    display: block;
    padding: 12px 10px; 
    text-decoration: none;
    color: rgba(255, 255, 255, 0.7); 
    transition: color 0.2s;
    font-family:"Exo 2";
}

.offcanvas-column li a:hover {
    color: #fff; 
}

.offcanvas-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, .5);
    z-index: 1000;
    opacity: 0;
    visibility: hidden;
    transition: opacity .4s, visibility .4s;
}

.offcanvas-overlay.is-open {
    opacity: 1;
    visibility: visible;
}




.fp-tableCell {
    background-color: transparent !important;
}


.fp-auto-height.fp-section {
    z-index: 10 !important;
}

.jupiterx-footer {
    position: relative; 
    z-index: 10 !important; 
    background-color: #fff; 
}


.lang-menu {
    display: flex;
    align-items: center;
    gap: 8px; 
}
.lang-menu .icon-globe {
    width: 22px;
    height: 22px;
}


.contact-btn.contact-icon-btn {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 40px;
    height: 40px;
    background-color: transparent;
    border: none;
    border-radius: 50%;
    padding: 0; 
    color: inherit; 
    text-decoration: none;
    transition: background-color 0.3s;
}


.contact-btn.contact-icon-btn svg {
    width: 22px;
    height: 22px;
}

.header-transparent .contact-icon-btn:hover {
    background-color: rgba(255, 255, 255, 0.15);
}
.header-white .contact-icon-btn:hover {
    background-color: rgba(0, 0, 0, 0.05);
}


.icon-globe, .icon-message {
    width: 22px;
    height: 22px;
    stroke-width: 2;
}


.lang-menu {
    display: flex;
    /*display: none;*/
    align-items: center;
    gap: 8px;
    font-family:"Exo 2";
}


.hamburger-menu {
    width: auto; 
    height: auto;
}

.hamburger-menu img {
    width: 24px;
    height: auto;
    display: none; 
}


.header-transparent .hamburger-menu .ham-white {
    display: block; 
}
.header-white .hamburger-menu .ham-black {
    display: block; 
}


#custom-header.header-white .main-menu-area::before,
#custom-header.header-white .main-menu-area::after {
    content: '';
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 1px;
    height: 40px;
    background-color: rgba(255, 255, 255, 0.3);
}


#custom-header.header-transparent .main-menu-area::before,
#custom-header.header-transparent .main-menu-area::after {
    content: '';
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 1px;
    height: 40px;
    background-color: #ddd;
}


#custom-header.header-white .main-menu-area::before,
#custom-header.header-transparent .main-menu-area::before{
    left: -100px; 
}


#custom-header.header-white .main-menu-area::after,
#custom-header.header-transparent .main-menu-area::after{
    right: -100px; 
}

#custom-header.header-white .main-nav > li:not(:last-child)::after {
    content: '';
    position: absolute;
    right: 0px; 
    top: 50%;
    transform: translateY(-50%);
    width: 1px;
    height: 20px;
    background-color: rgba(255, 255, 255, 0.3);
}

#custom-header.header-transparent .main-nav > li:not(:last-child)::after {
    content: '';
    position: absolute;
    right: 0px; 
    top: 50%;
    transform: translateY(-50%);
    width: 1px;
    height: 20px;
    background-color: #ddd;
}

body.fp-nav-dark #fp-nav ul li a span,
#fp-nav.fp-show-active a.active span {
    background: #333 !important; 
}


body.fp-nav-light #fp-nav ul li a span {
    background: rgba(255,255,255,0.5) !important; 
}

.fp-watermark{display: none !important;}


#scroll-to-top-btn {
    position: fixed;
    bottom: 40px;
    right: 40px;
    z-index: 99;   
    width: 50px;
    height: 50px;
    background-color: rgba(0, 0, 0, 0.5);
    border-radius: 50%;   
    display: flex;
    justify-content: center;
    align-items: center;    
    opacity: 0;
    visibility: hidden;
    transform: translateY(20px);
    transition: all 0.4s ease;
}

#scroll-to-top-btn svg {
    width: 24px;
    height: 24px;
    fill: #fff;
}


#scroll-to-top-btn.is-visible {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

#scroll-to-top-btn:hover {
    background-color: rgba(0, 0, 0, 0.7);
}


#custom-header.header-white:hover {
    background-color: #fff;
    color: #111;
    border-bottom-color: #eee;
}


#custom-header.header-white:hover .logo-white {
    display: block;
}
#custom-header.header-white:hover .logo-color {
    display: none;
}


#custom-header.header-white:hover .hamburger-menu .ham-white {
    display: block;
}
#custom-header.header-white:hover .hamburger-menu .ham-black {
    display: none;
}


/* ----- 오프캔버스 메뉴 확장 스타일 ----- */
/* ----- [수정] 이 규칙은 .offcanvas-nav 로 대체되어 제거합니다. ----- */
/* .offcanvas-menu .main-nav { ... } */

.offcanvas-menu .offcanvas-nav > li { /* .main-nav -> .offcanvas-nav */
    min-width: 100%; 
    text-align: left;
    border-bottom: 1px solid rgba(255, 255, 255, 0.2);
}

.offcanvas-menu .offcanvas-nav a { /* .main-nav -> .offcanvas-nav */
    color: #fff;
    font-size: 18px;
    font-weight: 500;
    line-height: 1.5; 
    padding: 15px 0;
    width: 100%;
    text-align: left;
    display: block;
    font-family:"Exo 2"; 
}

/* 오프캔버스 내부 서브메뉴 */
.offcanvas-menu .submenu-content {
    position: static;
    opacity: 1; /* 0 -> 1 */
    visibility: visible;
    height: auto;
    display: none; 
    text-align: left;
    padding: 0;
    width: 100%;
}

.offcanvas-menu .submenu-content li:hover{
    transition: all 0.3s ease-in-out;
    background: rgba(255,255,255,0.3);
}

.offcanvas-menu .submenu-content li a {
    font-size: 16px;
    font-weight: 400;
    padding: 15px 20px;
    font-family:"Exo 2";
    color: rgba(255,255,255,0.6);
}

.offcanvas-menu .submenu-content li:hover a{
    color: #fff;
}

.offcanvas-overlay.is-open {
    opacity: 1;
    visibility: visible;
}

.ow45{width: 45%;}
.ow50{width: 50%;}
.ow55{width: 55%;}
.ow60{width: 60%;}
.ow70{width: 70%;}
.ow85{width: 85%;}

/* ----- [수정] 오프캔버스 하단 언어 메뉴 (가로 정렬) ----- */
.offcanvas-menu .lang-menu {
    position: absolute;
    bottom: 30px;
    left: 30px;
    width: calc(100% - 60px);
    padding-top: 20px;
    border-top: 1px solid rgba(255, 255, 255, 0.2);
    
    display: flex;
   /*display: none;*/
    flex-direction: row; /* 가로 정렬 */
    justify-content: center; /* 중앙 정렬 */
    align-items: center;
    gap: 25px; /* KOR과 ENG 사이 간격 */

    cursor: default;
    transform: none;
}

.offcanvas-menu .lang-menu .lang-options {
    display: block;
    position: static;
    background: transparent;
    border: none;
    box-shadow: none;
    padding: 0;
    width: auto;
    margin: 0;
}

.offcanvas-menu .lang-options a {
    color: #fff;
    padding: 0; /* 패딩 리셋 */
    text-align: left;
    font-family:"Exo 2";
}

.offcanvas-menu .lang-options a:hover {
    background: transparent;
    text-decoration: underline;
}

/* ----- 오프캔버스 서브메뉴 아이콘 ----- */
.offcanvas-menu .has-submenu > a {
    position: relative; 
    padding-right: 30px; 
}

.offcanvas-menu .has-submenu > a::after {
    content: '+'; 
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    font-size: 22px;
    font-weight: 300;
    color: rgba(255, 255, 255, 0.7);
    transition: transform 0.3s ease; 
}

.offcanvas-menu .has-submenu.is-open > a::after {
    transform: translateY(-50%) rotate(45deg);
}/* End custom CSS */