.elementor-51 .elementor-element.elementor-element-81848a2{--display:flex;--min-height:80vh;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;--gap:3px 3px;--row-gap:3px;--column-gap:3px;--overlay-opacity:0.28;--padding-top:3%;--padding-bottom:0%;--padding-left:0%;--padding-right:0%;}.elementor-51 .elementor-element.elementor-element-81848a2:not(.elementor-motion-effects-element-type-background), .elementor-51 .elementor-element.elementor-element-81848a2 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://ravin.co.kr/wp-content/uploads/2026/04/13608.webp");background-position:center center;background-repeat:no-repeat;background-size:cover;}.elementor-51 .elementor-element.elementor-element-81848a2::before, .elementor-51 .elementor-element.elementor-element-81848a2 > .elementor-background-video-container::before, .elementor-51 .elementor-element.elementor-element-81848a2 > .e-con-inner > .elementor-background-video-container::before, .elementor-51 .elementor-element.elementor-element-81848a2 > .elementor-background-slideshow::before, .elementor-51 .elementor-element.elementor-element-81848a2 > .e-con-inner > .elementor-background-slideshow::before, .elementor-51 .elementor-element.elementor-element-81848a2 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-color:#000000;--background-overlay:'';}.elementor-51 .elementor-element.elementor-element-4c62392{--display:flex;}.elementor-51 .elementor-element.elementor-element-ae0619c{padding:0% 0% 0% 0%;text-align:center;}.elementor-51 .elementor-element.elementor-element-ae0619c .elementor-heading-title{font-size:17px;font-weight:700;color:#FFFFFF;}.elementor-51 .elementor-element.elementor-element-ae0619c {---ui-speed:1500ms;---ui-delay:200ms;---ui-stagger:15ms;}.elementor-51 .elementor-element.elementor-element-3c79175{text-align:center;}.elementor-51 .elementor-element.elementor-element-3c79175 .elementor-heading-title{color:#FFFFFF;}.elementor-51 .elementor-element.elementor-element-3c79175 {---ui-speed:1500ms;---ui-delay:200ms;---ui-stagger:15ms;}.elementor-51 .elementor-element.elementor-element-8d94400{--display:flex;}.elementor-51 .elementor-element.elementor-element-1026867{--display:flex;}.elementor-51 .elementor-element.elementor-element-a764f2b{--display:flex;}.elementor-51 .elementor-element.elementor-element-a97ad9e{--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:center;--align-items:center;}.elementor-51 .elementor-element.elementor-element-c109071 .elementor-button{background-color:#172F6078;border-style:none;}.elementor-51 .elementor-element.elementor-element-c109071 .elementor-button:hover, .elementor-51 .elementor-element.elementor-element-c109071 .elementor-button:focus{background-color:var( --e-global-color-uicore_primary );}.elementor-widget .tippy-tooltip .tippy-content{text-align:center;}@media(min-width:768px){.elementor-51 .elementor-element.elementor-element-81848a2{--content-width:80rem;}}@media(max-width:1024px){.elementor-51 .elementor-element.elementor-element-81848a2{--min-height:28vh;}.elementor-51 .elementor-element.elementor-element-ae0619c .elementor-heading-title{font-size:14px;}}@media(max-width:767px){.elementor-51 .elementor-element.elementor-element-81848a2{--min-height:30vh;--padding-top:7.5rem;--padding-bottom:0rem;--padding-left:0rem;--padding-right:0rem;}.elementor-51 .elementor-element.elementor-element-ae0619c .elementor-heading-title{font-size:13px;}.elementor-51 .elementor-element.elementor-element-3c79175{padding:0rem 0rem 03rem 0rem;}.elementor-51 .elementor-element.elementor-element-8d94400.e-con{--order:99999 /* order end hack */;--flex-grow:1;--flex-shrink:0;}.elementor-51 .elementor-element.elementor-element-1026867.e-con{--flex-grow:1;--flex-shrink:0;}}/* Start custom CSS for html, class: .elementor-element-6ff3a86 *//* 히어로 부모 */
.ravin-hero {
  position: relative;
  overflow: visible !important;
}

/* 모바일 메뉴 바깥 래퍼 */
.ravin-mobile-location-wrap {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  margin: 0 !important;
  padding: 0 !important;
  z-index: 999;
}

/* 실제 모바일 메뉴 */
.ravin-mobile-location {
  position: relative;
  width: 100%;
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

/* 토글 버튼 */
.ravin-mobile-location-toggle {
  width: 100%;
  height: 40px;
  min-height: 50px;
  margin: 0;
  padding: 0 18px;
  border: 0;
  border-radius: 0;
  background: #172F60;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  font-size: 16px;
  font-weight: 700;
  line-height: 1;
  text-align: center;
  cursor: pointer;
  box-sizing: border-box;
}

/* 현재 메뉴명 */
.ravin-mobile-location-current {
  display: block;
  line-height: 1;
}

/* 화살표 */
.ravin-mobile-location-arrow {
  position: absolute;
  right: 18px;
  top: 50%;
  width: 9px;
  height: 9px;
  border-right: 2px solid #fff;
  border-bottom: 2px solid #fff;
  transform: translateY(-60%) rotate(45deg);
  transition: transform 0.35s ease;
  box-sizing: border-box;
}

.ravin-mobile-location.open .ravin-mobile-location-arrow {
  transform: translateY(-35%) rotate(-135deg);
}

/* 메뉴 리스트 */
.ravin-mobile-location-menu {
  list-style: none;
  margin: 0;
  padding: 0;
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  background: #172F60;
  border-top: 1px solid rgba(255,255,255,0.08);
  box-sizing: border-box;
  z-index: 1000;

  /* 부드럽게 열리기 */
  max-height: 0;
  opacity: 0;
  overflow: hidden;
  visibility: hidden;
  transform: translateY(-8px);
  transition:
    max-height 0.45s ease,
    opacity 0.3s ease,
    transform 0.35s ease,
    visibility 0s linear 0.45s;
}

/* 열렸을 때 */
.ravin-mobile-location.open .ravin-mobile-location-menu {
  max-height: 260px;
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
  transition:
    max-height 0.45s ease,
    opacity 0.3s ease,
    transform 0.35s ease,
    visibility 0s linear 0s;
}

/* 메뉴 아이템 */
.ravin-mobile-location-menu li {
  margin: 0;
  padding: 0;
}

.ravin-mobile-location-menu li a {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  padding: 0 18px;
  color: rgba(255,255,255,0.78);
  font-size: 15px;
  font-weight: 500;
  text-decoration: none;
  text-align: center;
  border-top: 1px solid rgba(255,255,255,0.08);
  transition: background 0.3s ease, color 0.3s ease;
  box-sizing: border-box;
  background: #172F60;
}

.ravin-mobile-location-menu li:first-child a {
  border-top: 0;
}

.ravin-mobile-location-menu li a:hover {
  color: #fff;
  background: #1d3c78;
}

.ravin-mobile-location-menu li.on a {
  color: #fff;
  font-weight: 700;
}

/* 모바일에서만 표시 */
@media (max-width: 767px) {
  .ravin-mobile-location-wrap {
    display: block;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  .ravin-mobile-location {
    width: 100% !important;
    max-width: 100% !important;
  }

  .ravin-mobile-location-toggle {
    width: 100% !important;
    max-width: 100% !important;
  }

  .ravin-mobile-location-menu {
    width: 100% !important;
    max-width: 100% !important;
  }

  /* 제목이 토글바에 너무 붙지 않게 */
  .ravin-hero-inner {
    padding-bottom: 60px !important;
    box-sizing: border-box;
  }
}

@media (max-width: 767px) {
  .ravin-mobile-location-toggle {
    position: relative;
  }

  .ravin-mobile-location-toggle::before {
    content: "";
    position: absolute;
    top: 0; /* 딱 붙이기 */
    left: 50%;
    transform: translateX(-50%);
    width: 150px;
    height: 4px;
    background: #ffffff;
    z-index: 2;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-81848a2 *//* ================= 히어로 탭 바 ================= */
.ravin-hero-tabs {
  position: absolute;
  left: 50%;
  bottom: 0;
  transform: translateX(-50%);
  width: min(800px, calc(100% - 60px));
  display: flex;
  align-items: stretch;
  justify-content: center;
  z-index: 3;

  /* 🔥 컬러 변경 */
  background: rgba(23, 47, 96, 0.85);
  backdrop-filter: blur(10px);
}

/* ================= 버튼 컨테이너 ================= */
.ravin-hero-tabs .elementor-widget-button {
  flex: 1;
  margin: 0;
}

/* ================= 버튼 전체 ================= */
.ravin-tab-item .elementor-button {
  position: relative;

  /* 🔥 가운데 정렬 핵심 */
  display: flex;
  align-items: center;
  justify-content: center;

  width: 100%;
  min-height: 60px;

  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;

  /* 🔥 텍스트 스타일 */
  font-size: 16px;
  font-weight: 500;
  color: rgba(255,255,255,0.7) !important;

  padding: 0 !important;

  transition: all 0.3s ease;
}

/* ================= 버튼 내부 텍스트 강제 중앙 ================= */
.ravin-tab-item .elementor-button .elementor-button-content-wrapper {
  display: flex;
  align-items: center;
  justify-content: center;
}

.ravin-tab-item .elementor-button .elementor-button-text {
  display: block;
  text-align: center;
}

/* ================= 호버 효과 ================= */
.ravin-tab-item .elementor-button:hover {
  color: #ffffff !important;
}

/* ================= 위쪽 라인 (기본 숨김) ================= */
.ravin-tab-item .elementor-button::before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  width: 0;
  height: 3px;
  background: #ffffff;
  transform: translateX(-50%);
  transition: width 0.3s ease;
}

/* ================= 호버 시 라인 등장 ================= */
.ravin-tab-item .elementor-button:hover::before {
  width: 60%;
}

/* ================= 활성 탭 ================= */
.ravin-tab-item.is-active .elementor-button {
  color: #ffffff !important;
  font-weight: 600;
}

/* 활성 상태는 항상 라인 유지 */
.ravin-tab-item.is-active .elementor-button::before {
  width: 60%;
}

/* ================= 구분선 ================= */
.ravin-hero-tabs .elementor-widget-button:not(:last-child) .elementor-button {
  border-right: 1px solid rgba(255,255,255,0.1);
}/* End custom CSS */