/* Common */
.mnBlind {
  position: absolute !important;
  overflow: hidden;
  clip: rect(0 0 0 0);
  width: 1px;
  height: 1px;
  margin: -1px;
}
.mnButtonGroup {
  display: flex;
  gap: 8px;
  padding: 16px;
}
.mnButtonGroup.column {
  flex-direction: column;
}
.mnButton {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  border: 0;
  border-radius: 6px;
  width: 100%;
  height: 48px;
  font-size: 14px;
  font-weight: 600;
  line-height: 22px;
  outline: none;
}
.mnButton.outline {
  border: 1px solid #007EFF;
  background: #FFF;
  color: #007EFF;
}
.mnButton.primary {
  background: #007EFF;
  color: #FFF;
}
.mnButton.primary:disabled {
  background: #ABB0BB;
}
.mnButton.underline {
  background: transparent;
  color: #8F8F8F;
  text-decoration: underline;
}
.mnTerms.primary {
  margin: 0;
  padding: 16px;
  font-size: 10px;
  font-weight: 500;
  line-height: 16px;
  color: #8F8F8F;
  text-align: center;
}
.mnTerms.primary a {
  color: #007EFF;
  text-decoration: underline;
}
select.form-control,
input.form-control {
  border: 1px solid #C2C2C2;
  border-radius: 25px;
  height: 50px;
}
input.form-control + .input-group-text {
  border-radius: 0 25px 25px 0;
}
.list-profile-img {
  width: 5rem;
  height: 5rem;
  aspect-ratio: auto 1/1;
  object-fit: contain;
}

#temp-private-img-area img {
  width: 100%;
  height: auto;
  max-height: 20rem;
  aspect-ratio: auto 1/1;
  object-fit: contain;
}

.main-preview-img {
  object-fit: cover;
  width: inherit;
  height: 10rem;
}
.main-preview-img:hover {
  cursor: pointer;
  opacity: 50%;
}

.mentor-profile-img {
  width: 8rem;
  height: 8rem;
  aspect-ratio: auto 1/1;
  object-fit: contain;
}

.main-full-img {
  max-width: 100%;
  height: auto;
}

/* Absolute Center Spinner */
.loading {
  position: fixed;
  z-index: 999;
  height: 2em;
  width: 2em;
  overflow: show;
  margin: auto;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
}

/* Transparent Overlay */
.loading:before {
  content: '';
  display: block;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: radial-gradient(rgba(20, 20, 20, .8), rgba(0, 0, 0, .8));

  background: -webkit-radial-gradient(rgba(20, 20, 20, .8), rgba(0, 0, 0, .8));
}

/* :not(:required) hides these rules from IE9 and below */
.loading:not(:required) {
  /* hide "loading..." text */
  font: 0/0 a;
  color: transparent;
  text-shadow: none;
  background-color: transparent;
  border: 0;
}

.loading:not(:required):after {
  content: '';
  display: block;
  font-size: 10px;
  width: 1em;
  height: 1em;
  margin-top: -0.5em;
  -webkit-animation: spinner 150ms infinite linear;
  -moz-animation: spinner 150ms infinite linear;
  -ms-animation: spinner 150ms infinite linear;
  -o-animation: spinner 150ms infinite linear;
  animation: spinner 150ms infinite linear;
  border-radius: 0.5em;
  -webkit-box-shadow: rgba(255, 255, 255, 0.75) 1.5em 0 0 0, rgba(255, 255, 255, 0.75) 1.1em 1.1em 0 0, rgba(255, 255, 255, 0.75) 0 1.5em 0 0, rgba(255, 255, 255, 0.75) -1.1em 1.1em 0 0, rgba(255, 255, 255, 0.75) -1.5em 0 0 0, rgba(255, 255, 255, 0.75) -1.1em -1.1em 0 0, rgba(255, 255, 255, 0.75) 0 -1.5em 0 0, rgba(255, 255, 255, 0.75) 1.1em -1.1em 0 0;
  box-shadow: rgba(255, 255, 255, 0.75) 1.5em 0 0 0, rgba(255, 255, 255, 0.75) 1.1em 1.1em 0 0, rgba(255, 255, 255, 0.75) 0 1.5em 0 0, rgba(255, 255, 255, 0.75) -1.1em 1.1em 0 0, rgba(255, 255, 255, 0.75) -1.5em 0 0 0, rgba(255, 255, 255, 0.75) -1.1em -1.1em 0 0, rgba(255, 255, 255, 0.75) 0 -1.5em 0 0, rgba(255, 255, 255, 0.75) 1.1em -1.1em 0 0;
}

@-webkit-keyframes spinner {
  0% {
    -webkit-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg);
  }

  100% {
    -webkit-transform: rotate(360deg);
    -moz-transform: rotate(360deg);
    -ms-transform: rotate(360deg);
    -o-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}

@-moz-keyframes spinner {
  0% {
    -webkit-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg);
  }

  100% {
    -webkit-transform: rotate(360deg);
    -moz-transform: rotate(360deg);
    -ms-transform: rotate(360deg);
    -o-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}

@-o-keyframes spinner {
  0% {
    -webkit-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg);
  }

  100% {
    -webkit-transform: rotate(360deg);
    -moz-transform: rotate(360deg);
    -ms-transform: rotate(360deg);
    -o-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}

@keyframes spinner {
  0% {
    -webkit-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg);
  }

  100% {
    -webkit-transform: rotate(360deg);
    -moz-transform: rotate(360deg);
    -ms-transform: rotate(360deg);
    -o-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}

.hr-border {
  margin-top: 1rem;
  margin-bottom: 1rem;
  border: 0;
  border-top: 2px solid rgb(78 115 223);
}
.hr-border-wide {
  margin-top: 50px;
  margin-bottom: 50px;
  border: 0;
  border-top: 2px solid #5672D8;
  opacity: 100;
}

.custom-col-1 {
  position: relative;
  flex: 0 0 8.33333%;
  max-width: 8.33333%;
}
.custom-col-2 {
  position: relative;
  flex: 0 0 16.66667%;
  max-width: 16.66667%;
}
.custom-col-3 {
  position: relative;
  flex: 0 0 25%;
  max-width: 25%;
}
.custom-col-4 {
  position: relative;
  flex: 0 0 33.33333%;
  max-width: 33.33333%;
}
.custom-col-5 {
  position: relative;
  flex: 0 0 41.66667%;
  max-width: 41.66667%;
}
.custom-col-6 {
  position: relative;
  flex: 0 0 50%;
  max-width: 50%;
}
.custom-col-7 {
  position: relative;
  flex: 0 0 58.33333%;
  max-width: 58.33333%;
}
.custom-col-8 {
  position: relative;
  flex: 0 0 66.66667%;
  max-width: 66.66667%;
}
.custom-col-9 {
  position: relative;
  flex: 0 0 75%;
  max-width: 75%;
}
.custom-col-10 {
  position: relative;
  flex: 0 0 83.33333%;
  max-width: 83.33333%;
}
.custom-col-11 {
  position: relative;
  flex: 0 0 91.66667%;
  max-width: 91.66667%;
}
.custom-col-12 {
  position: relative;
  flex: 0 0 100%;
  max-width: 100%;
}

.custom-padding-1 {
  padding-right: 0.75rem;
  padding-left: 0.75rem;
}

.custom-height-37 {
  height: 37px;
}

.modal.policy .modal-body {
  overflow-x: hidden;
  overflow-y: auto;
  max-height: 70vh;
  text-align: left;
}
.modal.policy .policy__article {
  margin-top: 24px;
  font-weight: 500;
  font-size: 15px;
  line-height: 21px;
  letter-spacing: -0.02em;
  color: #454545;
}
.modal.policy .policy__article__title {
  margin-bottom: 24px;
  font-weight: 600;
  font-size: 15px;
  line-height: 21px;
  letter-spacing: -0.02em;
}
.modal.policy .policy__article__text {
  word-wrap: break-word;
}
.modal.policy .policy__article__text + .policy__article__text {
  margin-top: 20px;
}

.custom-asterisk-text{
  width: 7%;
  text-align: center;
}

.font-size-90 {
  font-size: 90%;
}
.font-size-100 {
  font-size: 100%;
}

/* Page */
.page_custom {
  margin: 0 auto;
  padding: 0 !important;
  max-width: 480px;
  min-height: 100vh;
  min-height: 100svh;
  font-weight: 500;
  background: #fff;
  -webkit-box-shadow: 0 0 4px rgba(0, 0, 0, 0.3);
  box-shadow: 0 0 4px rgba(0, 0, 0, 0.3);
}
.page_header {
  height: 62px;
}
.page_header .inner {
  position: relative;
  height: 62px;
  border-bottom: 1px solid #D9D9D9;
  background: #fff;
}
.page_header.long {
  position: relative;
  height: 114px;
}
.page_header.long .inner {
  height: 114px;
}
.page_header .page_title {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  padding: 0;
  height: 62px;
  font-size: 18px;
  line-height: 1;
  font-weight: 500;
  color: #161616;
  text-align: center;
}
.page_header .btn_back,
.page_header .btn_close {
  display: block;
  position: absolute;
  top: 18px;
  width: 26px;
  height: 26px;
  z-index: 1;
}
.page_header .btn_back {
  left: 20px;
  background: url(/img/btn/btn_page_back.svg) no-repeat center/cover;
}
.page_header .btn_close {
  right: 20px;
  background: url(/img/btn/btn_page_close.svg) no-repeat center/cover;
}
.page_header .tab_nav ul {
  list-style: none;
  display: flex;
  margin: 0;
  padding: 0 20px;
}
.page_header .tab_item {
  list-style: none;
  flex-grow: 1;
  margin: 0;
  padding: 0;
}
.page_header .tab_link {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  height: 51px;
  font-family: 'Poppins';
  font-size: 13px;
  line-height: 14px;
  font-weight: 500;
  color: #A2A2A2;
  text-align: center;
  text-decoration: none;
}
.page_header .tab_item.active .tab_link {
  color: #161616;
}
.page_header .tab_item.active .tab_link::after {
  content: '';
  display: block;
  position: absolute;
  bottom: -1px;
  left: 0;
  right: 0;
  width: 100%;
  height: 2px;
  background: #161616;
}
.page_header.fixed .inner {
  position: fixed;
  top: 0;
  left: 50%;
  width: 100%;
  max-width: 480px;
  z-index: 10;
  transform: translate(-50%, 0);
}
.overload_font {
  font-family: "Nunito", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
}

/* Modal: Search college name */
#searchSchoolNameautocomplete-list {
  overflow-x: hidden;
  overflow-y: auto;
  margin-top: 12px;
  max-height: 320px;
  border: 1px solid rgba(0,0,0,.125);
  border-radius: 6px;
}
#searchSchoolNameautocomplete-list .list-group-item {
  border: 0;
}
#searchSchoolNameautocomplete-list .list-group-item:nth-child(n+2) {
  border-top: 1px solid rgba(0,0,0,.125);
}

/* Components - Nav Tab(ROUNDED) */
.nav_tab.rounded {
  padding: 12px 20px;
  border-bottom: 1px solid #E8E8E8;
}
.nav_tab.rounded .nav_list {
  list-style: none;
  display: flex;
  align-items: center;
  gap: 0 10px;
  margin: 0;
  padding: 0;
}
.nav_tab.rounded .nav_link {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 15px;
  border-radius: 40px;
  height: 40px;
  font-weight: 500;
  font-size: 14px;
  line-height: 1;
  color: #A2A2A2;
  text-align: center;
  text-decoration: none;
  background: #EDEDED;
}
.nav_tab.rounded .nav_item.active .nav_link {
  color: #fff;
  background: #161616;
}

/* My Match - Study Upload */
.materials_upload_area {
  padding: 40px 20px;
}
.materials_upload_area .title {
  margin-bottom: 20px;
  font-weight: 500;
  font-size: 24px;
  line-height: 1;
  color: #161616;
  text-align: center;
}
.materials_upload_area .title em {
  font-style: normal;
  font-weight: 600;
}
.materials_upload_area .description {
  list-style: none;
  margin-bottom: 20px;
  padding: 0;
  font-weight: 500;
  font-size: 13px;
  line-height: 18px;
  color: #161616;
  text-align: center;
}
.materials_upload_area .description li:nth-child(n+2) {
  margin-top: 10px;
}
.materials_upload_area .btn_upload {
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 4px;
  margin: 0 auto;
  padding: 0 14px;
  width: auto;
  height: 32px;
  font-weight: 500;
  font-size: 12px;
  line-height: 1;
  color: #fff;
  background: #007EFF;
  vertical-align: top;
}
.materials_upload_area form.user {
  margin-top: 40px !important;
}

/* Guide Sample Modal */
#modalGuideSample .modal-dialog {overflow:hidden;margin:0 auto;padding:0;width:100%;height:100%}
#modalGuideSample .modal-content {overflow:hidden;display:flex;flex-direction:column;flex-wrap:nowrap;width:100%;height:100%;border:0;border-radius:0}
#modalGuideSample .modal-body {overflow-x:hidden;overflow-y:auto;flex-grow:1;padding:0;}

/* School Modal */
.school_modal_center {
  text-align: center;
  color: #C2C2C2;
  padding-bottom: 10px;
}
.school_modal_center_black {
  text-align: center;
  color: #7A7A7A;
  padding-bottom: 10px;
}

#teacherGreeting::placeholder {
  color: #bbb;
  font-weight: lighter;
}

/* Main Banner */
.mnMainBanner {
  overflow: hidden;
  position: relative;
  margin: 0 auto;
  height: 120px;

  img {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translate(-50%, 0);
  }
}

/* Form Common */
.form_fields {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.form_label {
  font-size: 12px;
  font-weight: 500;
  line-height: 20px;
  color: #8F8F8F;
}
.form_label em {
  color: #007EFF;
}
.form_input input[type='text'] {
  display: flex;
  align-items: center;
  padding: 0 15px;
  border: 1px solid #C2C2C2;
  border-radius: 25px;
  width: 100%;
  height: 50px;
  font-size: 12px;
  font-weight: 500;
  line-height: 18px;
  color: #161616;
}
.form_terms {
  margin: 0;
  font-size: 12px;
  font-weight: 400;
  line-height: 18px;
  color: #8F8F8F;
}
.form_terms a {
  color: #8F8F8F;
  text-decoration: underline;
}
.form_actions {
  display: flex;
  gap: 8px;
  margin-top: 30px;
}
.form_actions .btn {
  flex: 1 0 0%;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 6px;
  min-width: 0%;
  height: 48px;
  font-size: 14px;
  font-weight: 600;
  line-height: 22px;
}
.form_actions .btn.outline {
  border: 1px solid #007EFF;
  color: #007EFF;
}
.form_actions .btn.primary {
  border: 0;
  background: #007EFF;
  color: #FFF;
}

/* Sign Up Tab Navigation */
.page_header.signup {
  height: 116px;
}
.mnMemberTypeNav {
  background: #F2F2F2;
}
.mnMemberTypeList {
  list-style: none;
  display: flex;
  padding: 0;
}
.mnMemberTypeItem {
  flex: 1 0 0%;
  min-width: 0%;
}
.mnMemberTypeLink {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 100%;
  height: 54px;
  text-align: left;
}
.mnMemberTypeLink:hover {
  text-decoration: none;
}
.mnMemberTypeLink .mnIcon {
  display: block;
  width: 34px;
  height: 34px;
  background: url('/images/v2/icons/sp_icon_member.png') no-repeat;
  background-size: 84px;
}
.mnMemberTypeLink .mnIcon.mentor {
  background-position-y: -50px;
}
.mnMemberTypeLink .mnText {
  display: flex;
  flex-direction: column;
  font-size: 10px;
  font-weight: 500;
  line-height: 16px;
  color: #C2C2C2;
}
.mnMemberTypeLink .mnText em {
  font-style: normal;
  font-size: 16px;
  font-weight: 600;
  line-height: 24px;
  color: #8F8F8F;
}
.mnMemberTypeItem.active .mnMemberTypeLink {
  background: #FFF;
}
.mnMemberTypeItem.active .mnMemberTypeLink::after {
  content: none;
}
.mnMemberTypeItem.active .mnMemberTypeLink .mnIcon {
  background-position-x: -50px;
}
.mnMemberTypeItem.active .mnMemberTypeLink .mnText {
  color: #85BBFF;
}
.mnMemberTypeItem.active .mnMemberTypeLink .mnText em {
  color: #007EFF;
}

/* Form */
.mnForm {
  padding: 24px 16px 16px;
}
.mnFormTitle {
  margin: 0;
  font-size: 26px;
  font-weight: 600;
  line-height: 36px;
  color: #161616;
  text-align: center;
}
.mnFormPane {
  display: flex;
  flex-direction: column;
  gap: 16px;
  margin-top: 24px;
}
.mnFormActions {
  display: flex;
  gap: 8px;
  margin-top: 24px;
}

/* Log In Form */
.mnLogInForm {
  padding: 40px 16px 16px;
}
.mnLogInForm .mnBrand {
  display: flex;
  justify-content: center;
}
.mnLogInFormBox {
  margin-top: 16px;
  padding-top: 16px;
  border-top: 1px solid #C2C2C2;
}
.mnLogInFormBox .mnLogInGuide {
  margin: 0;
  font-size: 12px;
  font-weight: 500;
  line-height: 20px;
  color: #161616;
  text-align: center;
}
.mnLogInFormBox .tab-pane {
  margin-top: 16px;
}
.mnLogInForm .mnTerms {
  margin-top: 48px;
}
.mnLogInForm #country-number {
  border-radius: 25px 0 0 25px;
  height: 50px;
  outline: none;
}
.mnLogInForm #account-id,
.mnLogInForm #account-id-otp {
  border-radius: 0 25px 25px 0 !important;
  height: 50px;
}
.mnLogInForm .toggle-load {
  width: 16px;
  height: 16px;
}

/* Register Form */
.mnRegisterForm {
  background: #FFF;
}
.mnRegisterFormHeader {
  padding: 24px 16px 16px;
}
.mnRegisterFormTitle {
  margin: 0;
  font-size: 26px;
  font-weight: 600;
  line-height: 36px;
  color: #161616;
}
.mnRegisterFormContent {
  padding: 32px 16px 16px;
  background: linear-gradient(180deg, #F2F2F2 0%, #FFF 100%) no-repeat;
  background-size: 100% 36px;;
}
.mnMenteeType {
  margin-top: 16px;
  padding-bottom: 20px;
}
.mnMenteeTypeTitle {
  font-size: 12px;
  font-weight: 500;
  line-height: 20px;
  color: #8F8F8F;
}
.mnMenteeTypeList {
  list-style: none;
  display: flex;
  gap: 8px;
  margin: 8px auto 0;
  padding: 0;
}
.mnMenteeTypeItem {
  flex: 1 0 0%;
  min-width: 0%;
}
.mnMenteeTypeLink {
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #00174F;
  border-radius: 8px;
  height: 36px;
  font-size: 14px;
  font-weight: 600;
  line-height: 22px;
  color: #00174F;
  text-decoration: none;
}
.mnMenteeTypeLink:hover {
  text-decoration: none;
}
.mnMenteeTypeItem.active .mnMenteeTypeLink {
  border-color: #007EFF;
  background: #007EFF;
  color: #FFF;
  cursor: default;
}
.mnProfileField {
  margin-bottom: 32px;
}
.mnProfileField .mnMainProfile {
  position: relative;
  margin: 0 auto;
  width: 80px;
  height: 80px;
}
.mnProfileField .mnMainProfile img {
  border-radius: 100%;
  aspect-ratio: auto 1/1;
  object-fit: contain;
}
.mnProfileField #change-profile {
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  bottom: 0;
  right: 0;
  padding: 0;
  border: 0;
  border-radius: 24px;
  width: 24px;
  height: 24px;
  color: #FFF;
}
.mnProfileFieldLabel {
  margin: 16px 0 0;
  font-size: 12px;
  font-weight: 500;
  line-height: 20px;
  color: #161616;
  text-align: center;
}
.mnProfileFieldLabel em {
  color: #007EFF;
}
.sub-profile {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px;
}
.sub-profile .delete-btn {
  display: block;
  position: absolute;
  bottom: 0.5em;
  right: 0;
  border: 0;
  border-radius: 16px;
  width: 16px;
  height: 16px;
  background: red;
}
.sub-profile .delete-btn::after {
  content: '';
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  border-radius: 2px;
  width: 10px;
  height: 2px;
  background: #161616;
  transform: translate(-50%, -50%);
}

/* Identity Verification Form  */
.mnFormIdentifyField {
    display: flex;
  padding: 16px;
  border-radius: 8px;
  border: 1px dashed #ABB0BB;
    align-items: center;
    justify-content: center;
  /*height: 520px;*/
}
.mnFormIdentifyField:first-of-type {
    min-height: calc(100vh - 500px);
    height: 520px;
}
.mnFormIdentifyField:nth-of-type(2) {
    opacity: 0;
    /*pointer-events: none;*/
}

/* 이미지 업로드 후 클래스 추가 시 */
.uploaded .mnFormIdentifyField:first-of-type {
    min-height: 30vh;
}
.uploaded .mnFormIdentifyField:nth-of-type(2) {
    min-height: 30vh;
    opacity: 1;
    pointer-events: auto;
}

.mnFormIdentifyField #aadhaarImgTag {
  max-width: 100%;
  max-height: 360px;
}
.mnFormIdentifyField #aadhaarImgTag2 {
    max-width: 100%;
    max-height: 360px;
}
.mnFormIdentifyField .mnMessage {
  display: flex;
  flex-direction: column;
  justify-content: center;
    align-items: center;
  height: 100%;
}
.mnFormIdentifyField .mnMessageTitle {
  margin: 0;
  font-size: 20px;
  font-weight: 600;
  line-height: 30px;
  color: #161616;
  text-align: center;
}
.mnFormIdentifyField .mnMessageTitle em {
  color: #007EFF;
}
.mnFormIdentifyField .mnMessageDesc {
  margin: 8px 0 0;
  font-size: 12px;
  font-weight: 400;
  line-height: 18px;
  color: #8F8F8F;
  text-align: center;
}
.mnFormIdentifyField .mnButton {
  margin-top: 16px;
}
.mnFormIdentifyField .mnMessage2 {
  display: flex;
  flex-direction: column;
  gap: 24px;
  align-items: center;
  justify-content: center;
  position: relative;
  height: 100%;
  text-align: center;
  background-repeat: no-repeat;
  background-position: center;
    img {
        padding-top: 4px;
    }
}
.mnFormIdentifyField .mnMessageTitle2 {
  font-size: 22px;
  font-weight: 600;
  line-height: 32px;
  color: #FFF;
}
.mnFormIdentifyField .mnMessageDesc2 {
  font-size: 12px;
  font-weight: 600;
  line-height: 18px;
  color: #FFF;
}
.mnFormIdentifyField .mnMessage2.success {
  background-image: url('/images/v2/bg_identity_success.png');
}
.mnFormIdentifyField .mnMessage2.oops {
  background-image: url('/images/v2/bg_identity_oops.png');
}
.mnFormIdentifyField .mnReuploadButton {
  position: absolute;
  bottom: 102px;
  left: 50%;
  border: 0;
  height: 22px;
  background: transparent;
  font-size: 14px;
  font-weight: 600;
  line-height: 22px;
  color: #FFF;
  text-decoration: underline;
  transform: translate(-50%, 0);
}
.mnIdentityVerificationForm .mnTerms {
  margin: 0;
  font-size: 12px;
  font-weight: 400;
  line-height: 18px;
  color: #8F8F8F;
}
.mnIdentityVerificationForm .mnTerms a {
  color: #8F8F8F;
  text-decoration: underline;
}


.mentorRegister .invalid-feedback {
  display: none;
  width: 100%;
  margin-top: 0.25rem;
  font-size: 80%;
  color: #007eff;
}

.mentorRegister .is-invalid ~ .invalid-feedback,
.mentorRegister .is-invalid ~ .invalid-tooltip {
  display: block;
}

.mentorRegister .was-validated .form-control:invalid, .mentorRegister .form-control.is-invalid {
  border-color: #007eff;
  padding-right: calc(1.5em + 0.75rem);
  background-image: url("/img/warning.svg") !important;
  background-repeat: no-repeat;
  background-position: right 15px center;
  background-size: 19px 16px;
}

.mentorRegister .was-validated .form-control:invalid:focus, .mentorRegister .form-control.is-invalid:focus {
  border-color: #007eff;
  box-shadow: 0 0 0 0.2rem rgba(0, 126, 255, 0.25);
}

.mentorRegister .was-validated textarea.form-control:invalid, .mentorRegister textarea.form-control.is-invalid {
  padding-right: calc(1.5em + 0.75rem);
  background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem);
}

.mentorRegister .was-validated .custom-select:invalid, .mentorRegister .custom-select.is-invalid {
  border-color: #007eff;
  padding-right: calc(0.75em + 2.3125rem);
  background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%235a5c69' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") right 0.75rem center/8px 10px no-repeat, #fff url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23e74a3b' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23e74a3b' stroke='none'/%3e%3c/svg%3e") center right 1.75rem/calc(0.75em + 0.375rem) calc(0.75em + 0.375rem) no-repeat;
}

.mentorRegister .was-validated .custom-select:invalid:focus, .mentorRegister .custom-select.is-invalid:focus {
  border-color: #007eff;
}

.mentorRegister .was-validated .form-check-input:invalid ~ .form-check-label, .mentorRegister .form-check-input.is-invalid ~ .form-check-label {
  color: #007eff;
}

.mentorRegister .was-validated .form-check-input:invalid ~ .invalid-feedback,
.mentorRegister .was-validated .form-check-input:invalid ~ .invalid-tooltip, .mentorRegister .form-check-input.is-invalid ~ .invalid-feedback,
.mentorRegister .form-check-input.is-invalid ~ .invalid-tooltip {
  display: block;
}

.mentorRegister .was-validated .custom-control-input:invalid ~ .custom-control-label, .mentorRegister .custom-control-input.is-invalid ~ .custom-control-label {
  color: #007eff;
}

.mentorRegister .was-validated .custom-control-input:invalid ~ .custom-control-label::before, .mentorRegister .custom-control-input.is-invalid ~ .custom-control-label::before {
  border-color: #007eff;
}

.mentorRegister .was-validated .custom-control-input:invalid:checked ~ .custom-control-label::before, .mentorRegister .custom-control-input.is-invalid:checked ~ .custom-control-label::before {
  border-color: #689ded;
  background-color: #689ded;
}

.mentorRegister .was-validated .custom-control-input:invalid:focus ~ .custom-control-label::before, .mentorRegister .custom-control-input.is-invalid:focus ~ .custom-control-label::before {
  box-shadow: 0 0 0 0.2rem rgba(0, 126, 255, 0.25);
}

.mentorRegister .was-validated .custom-control-input:invalid:focus:not(:checked) ~ .custom-control-label::before, .mentorRegister .custom-control-input.is-invalid:focus:not(:checked) ~ .custom-control-label::before {
  border-color: #007eff;
}

.mentorRegister .was-validated .custom-file-input:invalid ~ .custom-file-label, .mentorRegister .custom-file-input.is-invalid ~ .custom-file-label {
  border-color: #007eff;
}

.mentorRegister .was-validated .custom-file-input:invalid:focus ~ .custom-file-label, .mentorRegister .custom-file-input.is-invalid:focus ~ .custom-file-label {
  border-color: #007eff;
}

.mnBottomTab {
    position: fixed;
    inset: 0;
    display: flex;
    justify-content: center;
    align-items: flex-end;
    pointer-events: none;
    z-index: 9999;
}

.mnBottomTabOverlay {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.4);
    opacity: 0;
    transition: opacity 0.3s ease;
}

.mnBottomTabContent {
    display: flex;
    flex-direction: column;
    align-items: center;
    position: fixed; /* relative → fixed로 변경 */
    bottom: 0;        /* 화면 맨 아래에 붙게 */
    left: 50%;
    transform: translateX(-50%) translateY(100%);
    width: 100%;
    max-width: 500px;
    background: #fff;
    border-radius: 16px 16px 0 0;
    transition: transform 0.35s ease;

    box-shadow: 0 -4px 20px rgba(0, 0, 0, 0.1);
    z-index: 10000;
}

.mnBottomTabHandle {
    width: 40px;
    height: 4px;
    background: #ccc;
    border-radius: 2px;
    margin: 0 auto 12px;
}

.mnBottomTabTitle {
    position: relative;
    width: 100%;
    font-size: 18px;
    font-weight: 600;
    padding: 16px 0;
    text-align: center;
    color: #161616;
    border-bottom: 1px solid #d5d5d5;
    margin-bottom: 0;
    button {
        position: absolute;
        top: 20px;
        right: 24px;
        cursor: pointer;
    }
}

.mnBottomTabDesc {
    font-size: 14px;
    color: #666;
    margin-bottom: 16px;
}
.mnBottomTabBtn {
    display: flex;
    flex-direction: row;
    gap: 16px;
    padding: 8px 20px 20px;
}
.customButton {
    all: unset; /* 버튼의 기본 스타일 제거 */
    cursor: pointer; /* 클릭 시 커서 표시 */
    display: inline-flex; /* 이미지와 텍스트 정렬 */
    align-items: center; /* 이미지와 텍스트 수직 정렬 */
    gap: 4px; /* 이미지와 텍스트 사이 간격 */
    padding: 0; /* 기본 패딩 제거 */
    margin: 0; /* 기본 마진 제거 */
    background: none; /* 배경 제거 */
    border: none; /* 테두리 제거 */
    font: inherit; /* 부모 폰트 상속 */
    color: inherit; /* 부모 컬러 상속 */
}

#undoBtn {
    display: flex;
    flex-direction: column;
}
#addMosaicBtn {
    display: flex;
    flex-direction: column;
}
#cropBtn {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding-top: 4px;
}
.mnBottomTabBody {
    display: flex;
    padding: 0 24px 24px;
    width: 100%;
}

/* 활성화 상태 */
.mnBottomTab.active {
    pointer-events: all;
}

.mnBottomTab.active .mnBottomTabOverlay {
    opacity: 1;
}

.mnBottomTab.active .mnBottomTabContent {
    transform: translateX(-50%) translateY(0); /* 맨 아래에서 올라오도록 */
}


/* 멘토 온보딩 */
.mnPromotionGuide {
  position: relative;
  height: 800px;
  background: url('/img/onboarding/promotion.png') no-repeat center top;
  background-size: 360px auto
}

.mnPromotionGuide .mnButtonGroup {
  gap: 12px;
  position: absolute;
  bottom: 0;
  left: 50%;
  padding: 16px 15px;
  width: 360px;
  transform: translate(-50%)
}

.mnOnboardingSlider {
  height: 800px
}

.mnOnboardingSlider .owl-item img {
  max-width: 360px
}

.mnOnboardingSlider .owl-dots {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  position: absolute;
  bottom: 86px;
  left: 50%;
  width: 360px;
  transform: translate(-50%)
}

.mnOnboardingSlider .owl-dot span {
  display: block;
  border-radius: 10px;
  width: 10px;
  height: 10px;
  background: #dfdfdf
}

.mnOnboardingSlider .owl-dot.active span {
  width: 18px;
  background: #abb0bb
}

.mnOnboardingSlide {
  position: relative
}

.mnOnboardingSlide img {
  display: block;
  margin: 0 auto
}

.mnOnboarding {
  position: relative;
  width: 360px;
  margin: 0 auto;
}

.mnOnboarding .mnCloseButton {
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  top: 15px;
  right: 16px
}

.mnOnboarding .mnButtonGroup {
  position: absolute;
  left: 50%;
  bottom: 0;
  padding: 16px 15px;
  width: 360px;
  transform: translate(-50%)
}

/* 첫 화면 fade-out */
#introSlide {
  opacity: 1;
  transition: opacity .4s ease;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 360px;
  height: 800px;
  z-index: 10; /* 슬라이더 위로 */
}
#introSlide.hide {
  opacity: 0;
  pointer-events: none;
}

/* 슬라이더를 처음부터 보이지만 투명하게 유지(깜빡임 방지) */
#onboardingSlider {
  opacity: 0;
  pointer-events: none;
  transition: opacity .4s ease;
}
#onboardingSlider.active {
  opacity: 1;
  pointer-events: auto;
}
