@charset "utf-8";


.rb_carousel {
    position: relative;
    height: 100vh;
    max-height: 600px;
    overflow: hidden;
    width: 100vw;
    margin-left: min(0px, calc(50% - 50vw));
    margin-right: min(0px, calc(50% - 50vw));
    left: auto;
    right: auto;
    transform: none;
}
.rb_carousel .rb_carousel_img{position:relative;width:100%;height:100%;overflow:hidden}
.rb_carousel .rb_carousel_img li{display:none;position:absolute;left:0;top:0;width:100%;height:100%;overflow:hidden}
.rb_carousel .rb_carousel_img li:first-child{display:block}
.rb_carousel .rb_carousel_img li.on{display:block;}
.rb_carousel .rb_carousel_img li .bg{position:absolute;left:0;top:0;width:100%;height:100%;transform:scale(1.1) rotate(0.02deg);transition:all 5s;}
.rb_carousel .rb_carousel_img li.motion .bg{transform:scale(1)}
.rb_carousel .bg_bl {
    display: none !important;
    background: transparent !important;
}
.rb_carousel .rb_carousel_img li .slogan{position:absolute;left:0;top:50%;transform: translateY(-50%);width:100%;text-align:left; z-index: 97;}
.rb_carousel .rb_carousel_img li .slogan .inner {padding-left: 200px; padding-right: 200px; box-sizing: border-box;}
.rb_carousel .rb_carousel_img li .slogan .text1{display:block;position:relative;font-size:40px;color:#fff;top:0;opacity:0;transition:0.5s 0.5s}
.rb_carousel .rb_carousel_img li .slogan .text2{display:block;position:relative;font-size:22px;color:#fff;top:0;opacity:0;transition:0.5s 1s}
.rb_carousel .rb_carousel_img li .slogan .text1 span {color:#000;}
.rb_carousel .rb_carousel_img li .slogan .text2 span {color:#000;}
.rb_carousel .rb_carousel_img li .slogan .text2 button span {color:#000}
.rb_carousel .rb_carousel_img li.motion .slogan .text1{top:0px;opacity:1}
.rb_carousel .rb_carousel_img li.motion .slogan .text2{top:0px;opacity:1}
.rb_carousel .rb_carousel_btn {position:absolute;width:100%;bottom:60px;text-align:center;z-index:30}
.rb_carousel .rb_carousel_btn li{display:inline-block;width:10px;height:10px;border:1px solid rgba(255,255,255,0.4);margin:0 4px;cursor:pointer;border-radius:50%;text-indent:-9999px}
.rb_carousel .rb_carousel_btn li.on{background:#fff; border:1px solid #fff;}
.rb_carousel .rb_carousel_btn_prev,
.rb_carousel .rb_carousel_btn_next{position:absolute;top:50%;transform:translateY(-50%);width:100px;height:100px;text-indent:-9999px;opacity:0.5;cursor:pointer; z-index: 98}
.rb_carousel .rb_carousel_btn_prev{left:0;background:url('../img/prev.png') no-repeat center; background-size: 30%;}
.rb_carousel .rb_carousel_btn_next{right:0;background:url('../img/next.png') no-repeat center; background-size: 30%;}
.rb_carousel .rb_carousel_btn_prev:hover,
.rb_carousel .rb_carousel_btn_next:hover{opacity:1}

.rb_carousel .rb_carousel_link {
    display: inline-block;
    padding: 10px 30px;
    background-color: white;
    color: #000000;
    border: none;
    border-radius: 60px;
    font-size: 18px;
    cursor: pointer;
    text-decoration: none;
    width: auto;
    height: auto;
    margin-top: 40px;
}
.rb_carousel .rb_carousel_link span {float: left;}
.rb_carousel .rb_carousel_link i {float: right;margin-top: 1px;}
.rb_carousel_img li .slogan .text2 p {margin-top: 10px; display: block;}

.rb_theme_box { display:flex; gap:20px; align-items:flex-start; }
.rb_theme_img { width:100px; max-width:30vw; border-radius:10px; overflow:hidden; flex:0 0 auto; }
.rb_theme_img img { width:100%; height:auto; display:block; }
.rb_theme_meta { flex:1 1 auto; }
.rb_theme_meta .rb_theme_title { font-size:14px; line-height:1.3; margin:0 0 6px; }
.rb_theme_meta .rb_theme_row { font-size:12px; line-height:1.3; }

.po_rel {position: relative;}

.rb_theme_config_si {}
.rb_theme_config_si .rb_swiper .rb_swiper_paging_btn {right:0px; top:39px;}
.no_flex {display: block !important;}
#rb_cas_1 .rb-swiper-slide img {height:50px; object-fit: cover; border-top-left-radius: 6px; border-top-right-radius: 6px;}
.rb_th_sw_card {padding: 10px 15px; background-color: #f0f5f9; border-bottom-left-radius: 6px; border-bottom-right-radius: 6px;}
.no_ca_data {border:1px dashed #ddd; text-align: center; padding: 20px; text-align: center; border-radius: 10px; margin-top: 10px; color:#999; font-size: 13px;}
.rb_theme_config_si h6 {display: flex; gap:5px; align-items: center;}
.rb_theme_config_si h6 span.ca_cnt {color:#fff; font-size: 10px; padding: 3px 7px; border-radius: 20px; background-color: var(--rb-main-color);}

.rb_btm_skey .no_data {flex:1}
#theme_ca_add_btn {width: 100%;color: #fff;height: 47px;border-radius: 10px;border: 0px;}

@media all and (max-width:1024px) {
    .rb_carousel .rb_carousel_img li .slogan {box-sizing: border-box; text-align: center;}
    .rb_carousel .rb_carousel_img li .slogan .text1 {text-align: center !important; font-size: 24px !important; word-break: keep-all;}
    .rb_carousel .rb_carousel_img li .slogan .text2 {text-align: center !important; font-size: 18px !important; word-break: keep-all;}
    .rb_carousel .rb_carousel_img li .slogan .text2 .text2_sub {word-break: keep-all; text-align: center !important; font-size: 16px !important;}
    .rb_carousel .rb_carousel_img li .slogan .rb_carousel_btn_more {text-align: center !important;}
    .rb_carousel .rb_carousel_img li .slogan .inner {padding-left: 0; padding-right: 0;}
    .rb_carousel .rb_carousel_btn_prev, .rb_carousel .rb_carousel_btn_next {width: 60px;}
    .rb_carousel .rb_carousel_btn_prev, .rb_carousel .rb_carousel_btn_next {width: 60px;}


}

/* 지정된 Mobile 항목만 기존 1024px 반응형 규칙을 덮어쓴다. */
@media all and (max-width:1024px) {
    .rb_carousel .rb_carousel_img li[data-rb-carousel-mobile~="main_align"] .slogan .text1 {text-align:var(--rb-carousel-main-align) !important;}
    .rb_carousel .rb_carousel_img li[data-rb-carousel-mobile~="main_weight"] .slogan .text1 {font-family:var(--rb-carousel-main-weight) !important;}
    .rb_carousel .rb_carousel_img li[data-rb-carousel-mobile~="main_color"] .slogan .text1 {color:var(--rb-carousel-main-color) !important;}
    .rb_carousel .rb_carousel_img li[data-rb-carousel-mobile~="main_size"] .slogan .text1 {font-size:var(--rb-carousel-main-size) !important;}
    .rb_carousel .rb_carousel_img li[data-rb-carousel-mobile~="sub_align"] .slogan .text2 .text2_sub {text-align:var(--rb-carousel-sub-align) !important;}
    .rb_carousel .rb_carousel_img li[data-rb-carousel-mobile~="sub_weight"] .slogan .text2 .text2_sub {font-family:var(--rb-carousel-sub-weight) !important;}
    .rb_carousel .rb_carousel_img li[data-rb-carousel-mobile~="sub_color"] .slogan .text2 .text2_sub {color:var(--rb-carousel-sub-color) !important;}
    .rb_carousel .rb_carousel_img li[data-rb-carousel-mobile~="sub_size"] .slogan .text2 .text2_sub {font-size:var(--rb-carousel-sub-size) !important;}
    .rb_carousel .rb_carousel_img li[data-rb-carousel-mobile~="sub_margin"] .slogan .text2 .text2_sub {margin-top:var(--rb-carousel-sub-margin) !important;}
    .rb_carousel .rb_carousel_img li[data-rb-carousel-mobile~="btn_bg_color"] .slogan .rb_carousel_link {background-color:var(--rb-carousel-btn-bg-color) !important;}
    .rb_carousel .rb_carousel_img li[data-rb-carousel-mobile~="btn_text_color"] .slogan .rb_carousel_link {color:var(--rb-carousel-btn-text-color) !important;}
    .rb_carousel .rb_carousel_img li[data-rb-carousel-mobile~="btn_border_color"] .slogan .rb_carousel_link {border-color:var(--rb-carousel-btn-border-color) !important;}
    .rb_carousel .rb_carousel_img li[data-rb-carousel-mobile~="btn_border"] .slogan .rb_carousel_link {border-width:var(--rb-carousel-btn-border) !important;}
    .rb_carousel .rb_carousel_img li[data-rb-carousel-mobile~="btn_radius"] .slogan .rb_carousel_link {border-radius:var(--rb-carousel-btn-radius) !important;}
    .rb_carousel .rb_carousel_img li[data-rb-carousel-mobile~="btn_padding"] .slogan .rb_carousel_link {padding-top:var(--rb-carousel-btn-padding) !important; padding-bottom:var(--rb-carousel-btn-padding) !important;}
    .rb_carousel .rb_carousel_img li[data-rb-carousel-mobile~="btn_padding_lr"] .slogan .rb_carousel_link {padding-left:var(--rb-carousel-btn-padding-lr) !important; padding-right:var(--rb-carousel-btn-padding-lr) !important;}
    .rb_carousel .rb_carousel_img li[data-rb-carousel-mobile~="btn_size"] .slogan .rb_carousel_link {font-size:var(--rb-carousel-btn-size) !important;}
    .rb_carousel .rb_carousel_img li[data-rb-carousel-mobile~="btn_weight"] .slogan .rb_carousel_link {font-family:var(--rb-carousel-btn-weight) !important;}
    .rb_carousel .rb_carousel_img li[data-rb-carousel-mobile~="btn_align"] .slogan .rb_carousel_btn_more {text-align:var(--rb-carousel-btn-align) !important;}
    .rb_carousel .rb_carousel_img li[data-rb-carousel-mobile~="btn_margin"] .slogan .rb_carousel_btn_more {margin-top:var(--rb-carousel-btn-margin) !important;}
}

/* ==========================================================
   SOSODODAM CAROUSEL 3D EFFECTS
   ========================================================== */

.rb_carousel.rb-carousel-3d {
    perspective: 1800px;
}

.rb_carousel.rb-carousel-3d .rb_carousel_img {
    perspective: 1800px;
    transform-style: preserve-3d;
}

.rb_carousel.rb-carousel-3d .rb_carousel_img > li {
    transform-style: preserve-3d;
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
    transform-origin: 50% 50%;
    will-change: transform, opacity, filter;
    animation-duration: var(--rb-carousel-speed, 600ms);
    animation-timing-function: cubic-bezier(.22,.61,.36,1);
    animation-fill-mode: both;
}

.rb_carousel.rb-carousel-3d .rb_carousel_img > li.rb-3d-enter-next,
.rb_carousel.rb-carousel-3d .rb_carousel_img > li.rb-3d-enter-prev {
    animation-name: rbCarousel3dEnter;
}

.rb_carousel.rb-carousel-3d .rb_carousel_img > li.rb-3d-leave-next,
.rb_carousel.rb-carousel-3d .rb_carousel_img > li.rb-3d-leave-prev {
    animation-name: rbCarousel3dLeave;
}

/* DEPTH 3D */
.rb_carousel.rb-active-depth3d .rb-3d-enter-next {
    --rb-enter-transform: translate3d(18%, 0, -420px) rotateY(-18deg) scale(.86);
    --rb-enter-filter: blur(3px) brightness(.86);
}
.rb_carousel.rb-active-depth3d .rb-3d-leave-next {
    --rb-leave-transform: translate3d(-13%, 0, -520px) rotateY(14deg) scale(.80);
    --rb-leave-filter: blur(4px) brightness(.76);
}
.rb_carousel.rb-active-depth3d .rb-3d-enter-prev {
    --rb-enter-transform: translate3d(-18%, 0, -420px) rotateY(18deg) scale(.86);
    --rb-enter-filter: blur(3px) brightness(.86);
}
.rb_carousel.rb-active-depth3d .rb-3d-leave-prev {
    --rb-leave-transform: translate3d(13%, 0, -520px) rotateY(-14deg) scale(.80);
    --rb-leave-filter: blur(4px) brightness(.76);
}

/* FLIP 3D */
.rb_carousel.rb-active-flip3d .rb-3d-enter-next {
    --rb-enter-transform: translate3d(10%, 0, -120px) rotateY(72deg) scale(.94);
    --rb-enter-filter: brightness(.82);
}
.rb_carousel.rb-active-flip3d .rb-3d-leave-next {
    --rb-leave-transform: translate3d(-10%, 0, -150px) rotateY(-72deg) scale(.94);
    --rb-leave-filter: brightness(.72);
}
.rb_carousel.rb-active-flip3d .rb-3d-enter-prev {
    --rb-enter-transform: translate3d(-10%, 0, -120px) rotateY(-72deg) scale(.94);
    --rb-enter-filter: brightness(.82);
}
.rb_carousel.rb-active-flip3d .rb-3d-leave-prev {
    --rb-leave-transform: translate3d(10%, 0, -150px) rotateY(72deg) scale(.94);
    --rb-leave-filter: brightness(.72);
}

/* TILT 3D */
.rb_carousel.rb-active-tilt3d .rb-3d-enter-next {
    --rb-enter-transform: translate3d(15%, 3%, -260px) rotateX(8deg) rotateY(-27deg) rotateZ(-1.5deg) scale(.90);
    --rb-enter-filter: blur(2px) brightness(.86);
}
.rb_carousel.rb-active-tilt3d .rb-3d-leave-next {
    --rb-leave-transform: translate3d(-12%, -2%, -330px) rotateX(-6deg) rotateY(23deg) rotateZ(1.2deg) scale(.84);
    --rb-leave-filter: blur(3px) brightness(.75);
}
.rb_carousel.rb-active-tilt3d .rb-3d-enter-prev {
    --rb-enter-transform: translate3d(-15%, 3%, -260px) rotateX(8deg) rotateY(27deg) rotateZ(1.5deg) scale(.90);
    --rb-enter-filter: blur(2px) brightness(.86);
}
.rb_carousel.rb-active-tilt3d .rb-3d-leave-prev {
    --rb-leave-transform: translate3d(12%, -2%, -330px) rotateX(-6deg) rotateY(-23deg) rotateZ(-1.2deg) scale(.84);
    --rb-leave-filter: blur(3px) brightness(.75);
}

/* ZOOM 3D */
.rb_carousel.rb-active-zoom3d .rb-3d-enter-next {
    --rb-enter-transform: translate3d(8%, 0, 250px) rotateY(-7deg) scale(1.16);
    --rb-enter-filter: blur(2px) brightness(1.06);
}
.rb_carousel.rb-active-zoom3d .rb-3d-leave-next {
    --rb-leave-transform: translate3d(-8%, 0, -520px) rotateY(9deg) scale(.74);
    --rb-leave-filter: blur(5px) brightness(.68);
}
.rb_carousel.rb-active-zoom3d .rb-3d-enter-prev {
    --rb-enter-transform: translate3d(-8%, 0, 250px) rotateY(7deg) scale(1.16);
    --rb-enter-filter: blur(2px) brightness(1.06);
}
.rb_carousel.rb-active-zoom3d .rb-3d-leave-prev {
    --rb-leave-transform: translate3d(8%, 0, -520px) rotateY(-9deg) scale(.74);
    --rb-leave-filter: blur(5px) brightness(.68);
}

@keyframes rbCarousel3dEnter {
    0% {
        transform: var(--rb-enter-transform, translate3d(15%,0,-300px));
        opacity: 0;
        filter: var(--rb-enter-filter, brightness(.8));
    }
    100% {
        transform: translate3d(0,0,0) rotateX(0) rotateY(0) rotateZ(0) scale(1);
        opacity: 1;
        filter: none;
    }
}

@keyframes rbCarousel3dLeave {
    0% {
        transform: translate3d(0,0,0) rotateX(0) rotateY(0) rotateZ(0) scale(1);
        opacity: 1;
        filter: none;
    }
    100% {
        transform: var(--rb-leave-transform, translate3d(-15%,0,-300px));
        opacity: .08;
        filter: var(--rb-leave-filter, brightness(.7));
    }
}

@media all and (max-width:1024px) {
    .rb_carousel.rb-carousel-3d,
    .rb_carousel.rb-carousel-3d .rb_carousel_img {
        perspective: 1200px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .rb_carousel.rb-carousel-3d .rb_carousel_img > li {
        animation: none !important;
        transform: none !important;
        filter: none !important;
    }
}


/* ==========================================================
   SOSODODAM CAROUSEL ADAPTIVE RATIO - FIXED
   ========================================================== */

.rb_carousel.rb_carousel_main {
    height: var(--rb-carousel-height-pc, 600px);
    max-height: var(--rb-carousel-height-pc, 600px);
    min-height: 0;
    transition: height .45s cubic-bezier(.22,.61,.36,1);
}

.rb_carousel .rb_carousel_img li .bg {
    background-size: cover !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
}

.rb_carousel .rb_carousel_img li .bg.rb-bg-fit-contain,
.rb_carousel .rb_carousel_img li .bg.rb-bg-fit-cover {
    background-size: cover !important;
}

@media all and (max-width:1024px) {
    .rb_carousel.rb_carousel_main {
        height: var(--rb-carousel-height-mo, 600px);
        max-height: var(--rb-carousel-height-mo, 600px);
    }
}


/* ==========================================================
   SOSODODAM CAROUSEL OUTER SPACING
   ========================================================== */

.rb_carousel.rb_carousel_main {
    margin-top: clamp(14px, 2vw, 26px);
    margin-bottom: clamp(18px, 2.4vw, 32px);
}

@media all and (max-width:1024px) {
    .rb_carousel.rb_carousel_main {
        margin-top: 12px;
        margin-bottom: 18px;
    }
}

@media all and (max-width:640px) {
    .rb_carousel.rb_carousel_main {
        margin-top: 10px;
        margin-bottom: 14px;
    }
}
