@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&display=swap');
@import url('https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/static/pretendard.min.css');

.sound_only {
    display: none;
}

body {
    font-family: 'Pretendard', sans-serif;
}


/* break-keep, letter-spacing 스타일 */

p,
div,
label,
h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: inherit;
    word-break: keep-all;
    overflow-wrap: break-word;
    letter-spacing: -0.02rem;
}


/* span 태그는 상위 태그의 letter-spacing 값을 상속받음 */
span {
    letter-spacing: inherit;
}



/* 구글 번역 부분 커스텀 css - 번역기능 있을 경우만 사용 */

body {
    position: static !important;
    top: 0px !important;
}

.goog-logo-link {
    display: none !important;
}

.goog-te-gadget {
    color: transparent !important;
    display: none !important;
}

body>.skiptranslate,
.goog-logo-link,
.gskiptranslate,
.goog-te-gadget span,
.goog-te-banner-frame,
#goog-gt-tt,
.goog-te-balloon-frame,
div#goog-gt- {
    display: none !important;
}

.goog-te-gadget {
    color: transparent !important;
    font-size: 0px;
    width: 100px;

}

.goog-text-highlight {
    background: none !important;
    box-shadow: none !important;
}

#google_translate_element select {
    background: transparent;
    color: #000;
    border: none;
    font-weight: bold;
    border-radius: 0px;
    padding: 8px 12px
}

.notranslate {
    translate: no !important;
}

/* 언어 선택 드롭다운 스타일 */
.lang-selector-wrapper {
    position: relative;
}

.lang-selector-current {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    cursor: pointer;
    padding: 0.25rem 0.5rem;
    transition: all 0.2s;
}

.lang-selector-current:hover {
    color: #E37D00;
}

.lang-selector-dropdown {
    position: absolute;
    right: 0;
    top: calc(100% + 0.5rem);
    background: #ffffff;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
    opacity: 0;
    visibility: hidden;
    transform: translateY(-10px);
    transition: all 0.3s ease;
    z-index: 1000;
    min-width: 120px;
}

.lang-selector-wrapper:hover .lang-selector-dropdown {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.lang-option {
    padding: 0.75rem 0.5rem;
    display: flex;
    align-items: center;
    gap: 0.25rem;
    text-decoration: none;
    color: #000000;
    transition: all 0.2s;
    font-size: 14px;
}

.lang-option:hover {
    color: #E37D00;
}

.lang-option .lang-code {
    font-weight: 500;
}

.lang-option .lang-name {
    color: #696969;
    font-size: 12px;
}


/* ===== FADEIN 애니메이션 - 공통 사용 가능 ===== */

/* FadeIn 애니메이션 - 이동 없음 */
.fadein {
    opacity: 0 !important;
    transition: all 0.8s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

.fadein.show {
    opacity: 1 !important;
}

/* FadeIn Up 애니메이션 - 재사용 가능한 클래스 */
.fadein-up {
    opacity: 0 !important;
    transform: translateY(40px) !important;
    transition: opacity 0.8s cubic-bezier(0.4, 0, 0.2, 1), transform 0.8s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

.fadein-up.show {
    opacity: 1 !important;
    transform: translateY(0) !important;
}


/* FadeIn Right 애니메이션 */
.fadein-right {
    opacity: 0 !important;
    transform: translateX(-60px) !important;
    transition: all 0.8s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

.fadein-right.show {
    opacity: 1 !important;
    transform: translateX(0) !important;
}

/* 애니메이션 지연 시간 */
.fadein-up[data-delay="0"] {
    transition-delay: 0s !important;
}

.fadein-up[data-delay="100"] {
    transition-delay: 0.1s !important;
}

.fadein-up[data-delay="200"] {
    transition-delay: 0.2s !important;
}

.fadein-up[data-delay="300"] {
    transition-delay: 0.3s !important;
}

.fadein-up[data-delay="400"] {
    transition-delay: 0.4s !important;
}

.fadein-up[data-delay="500"] {
    transition-delay: 0.5s !important;
}

.fadein-up[data-delay="600"] {
    transition-delay: 0.6s !important;
}

.fadein-up[data-delay="700"] {
    transition-delay: 0.7s !important;
}

.fadein-up[data-delay="800"] {
    transition-delay: 0.8s !important;
}

.fadein-up[data-delay="900"] {
    transition-delay: 0.9s !important;
}

.fadein-up[data-delay="1000"] {
    transition-delay: 1s !important;
}

.fadein-right[data-delay="0"] {
    transition-delay: 0s !important;
}

.fadein-right[data-delay="100"] {
    transition-delay: 0.2s !important;
}

.fadein-right[data-delay="200"] {
    transition-delay: 0.2s !important;
}

.fadein-right[data-delay="300"] {
    transition-delay: 0.4s !important;
}

.fadein-right[data-delay="400"] {
    transition-delay: 0.4s !important;
}

.fadein-right[data-delay="500"] {
    transition-delay: 0.5s !important;
}

.fadein-right[data-delay="600"] {
    transition-delay: 0.6s !important;
}

.fadein-right[data-delay="700"] {
    transition-delay: 0.7s !important;
}

.fadein-right[data-delay="800"] {
    transition-delay: 0.8s !important;
}

/* ===== SLIDE UP 애니메이션 - 아래에서 위로 밀어올리듯 드러나는 효과 ===== */

/* SlideUp 애니메이션 - 아래에 완전히 숨겨져 있다가 위로 올라오는 효과 */
.slide-up {
    overflow: hidden !important;
    position: relative !important;
    height: auto !important;
}

.slide-up>div {
    transform: translateY(calc(100% + 10px)) !important;
    transition: transform 0.8s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

.slide-up.show>div {
    transform: translateY(0) !important;
}

/* SlideUp 애니메이션 지연 시간 */
.slide-up[data-delay="0"] {
    transition-delay: 0s !important;
}

.slide-up[data-delay="100"] {
    transition-delay: 0.1s !important;
}

.slide-up[data-delay="200"] {
    transition-delay: 0.2s !important;
}

.slide-up[data-delay="300"] {
    transition-delay: 0.3s !important;
}

.slide-up[data-delay="400"] {
    transition-delay: 0.4s !important;
}

.slide-up[data-delay="500"] {
    transition-delay: 0.5s !important;
}

.slide-up[data-delay="600"] {
    transition-delay: 0.6s !important;
}

.slide-up[data-delay="700"] {
    transition-delay: 0.7s !important;
}

.slide-up[data-delay="800"] {
    transition-delay: 0.8s !important;
}

.slide-up[data-delay="900"] {
    transition-delay: 0.9s !important;
}

.slide-up[data-delay="1000"] {
    transition-delay: 1s !important;
}

.slide-up[data-delay="2000"] {
    transition-delay: 2s !important;
}

.slide-up[data-delay="3000"] {
    transition-delay: 3s !important;
}

/* ===== SCALE IN 애니메이션 - 중앙부터 크기 커지는 효과 ===== */

/* ScaleIn 애니메이션 - 중앙부터 크기 커지는 효과 */
.scale-in {
    opacity: 0 !important;
    transform: scale(0.3) !important;
    transition: all 1s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

.scale-in.show {
    opacity: 1 !important;
    transform: scale(1) !important;
}

/* ScaleIn 애니메이션 지연 시간 */
.scale-in[data-delay="0"] {
    transition-delay: 0s !important;
}

.scale-in[data-delay="100"] {
    transition-delay: 0.1s !important;
}

.scale-in[data-delay="200"] {
    transition-delay: 0.2s !important;
}

.scale-in[data-delay="300"] {
    transition-delay: 0.3s !important;
}

.scale-in[data-delay="400"] {
    transition-delay: 0.4s !important;
}

.scale-in[data-delay="500"] {
    transition-delay: 0.5s !important;
}

.scale-in[data-delay="600"] {
    transition-delay: 0.6s !important;
}

.scale-in[data-delay="700"] {
    transition-delay: 0.7s !important;
}

.scale-in[data-delay="800"] {
    transition-delay: 0.8s !important;
}

.scale-in[data-delay="900"] {
    transition-delay: 0.9s !important;
}

.scale-in[data-delay="1000"] {
    transition-delay: 1s !important;
}