@charset "UTF-8";
/** 버튼 기본 ****************************************/
/** 버튼 border-radius 타입 ****************************************/
/** 버튼 배경 유무 ****************************************/
/** 텍스트 + 아이콘 버튼 ****************************************/
/**  자주 사용하는 버튼 ****************************************/
.country-selector {
  position: relative;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  min-width: 200px;
}
.country-selector .bx-flag {
  display: inline-block;
  width: 22px;
  height: 15px;
  background-image: url("/js/lib/intl-tel-input/img/flags.png");
  background-repeat: no-repeat;
  background-size: 5652px 15px;
  background-position: 0 0;
  vertical-align: middle;
  -webkit-box-shadow: none;
          box-shadow: none;
  background-color: transparent;
}
.country-selector .bx-flag.bx-flag-kr {
  height: 14px;
  background-position: -2786px 0px;
}
.country-selector .bx-flag.bx-flag-us {
  height: 11px;
  background-position: -5263px 0px;
}
.country-selector .bx-flag.bx-flag-jp {
  height: 14px;
  background-position: -2611px 0px;
}
.country-selector .bx-flag.bx-flag-cn {
  height: 14px;
  background-position: -1049px 0px;
}
.country-selector .bx-flag.bx-flag-de {
  height: 12px;
  background-position: -1269px 0px;
}
.country-selector .bx-flag.bx-flag-gb {
  height: 10px;
  background-position: -1775px 0px;
}
.country-selector .bx-flag.bx-flag-tw {
  height: 14px;
  background-position: -5131px 0px;
}
.country-selector .bx-flag.bx-flag-vn {
  height: 14px;
  background-position: -5434px 0px;
}
.country-selector .bx-flag.bx-flag-th {
  height: 14px;
  background-position: -4911px 0px;
}
.country-selector .bx-flag.bx-flag-sg {
  height: 14px;
  background-position: -4449px 0px;
}
.country-selector .bx-flag.bx-flag-fr {
  height: 14px;
  background-position: -1731px 0px;
}
.country-selector .bx-flag.bx-flag-au {
  height: 10px;
  background-position: -286px 0px;
}
.country-selector .bx-flag.bx-flag-ca {
  height: 10px;
  background-position: -834px 0px;
}
.country-selector .bx-flag.bx-flag-nz {
  height: 10px;
  background-position: -3855px 0px;
}
.country-selector .bx-flag.bx-flag-hk {
  height: 14px;
  background-position: -2171px 0px;
}
.country-selector .bx-flag.bx-flag-my {
  height: 10px;
  background-position: -3578px 0px;
}
.country-selector .bx-flag.bx-flag-ph {
  height: 10px;
  background-position: -3987px 0px;
}
.country-selector .bx-flag.bx-flag-id {
  height: 14px;
  background-position: -2325px 0px;
}
.country-selector .bx-flag.bx-flag-it {
  height: 14px;
  background-position: -2523px 0px;
}
.country-selector .bx-flag.bx-flag-es {
  height: 14px;
  background-position: -1555px 0px;
}
.country-selector .bx-flag.bx-flag-nl {
  height: 14px;
  background-position: -3752px 0px;
}
.country-selector .bx-flag.bx-flag-ch {
  width: 15px;
  height: 15px;
  background-position: -944px 0px;
}
.country-selector .bx-flag.bx-flag-se {
  height: 13px;
  background-position: -4427px 0px;
}
.country-selector .bx-flag.bx-flag-no {
  height: 15px;
  background-position: -3774px 0px;
}
.country-selector .bx-flag.bx-flag-dk {
  height: 15px;
  background-position: -1335px 0px;
}
.country-selector .bx-flag.bx-flag-fi {
  height: 12px;
  background-position: -1621px 0px;
}
.country-selector .bx-flag.bx-flag-be {
  width: 18px;
  height: 15px;
  background-position: -440px 0px;
}
.country-selector .bx-flag.bx-flag-at {
  height: 14px;
  background-position: -264px 0px;
}
.country-selector .bx-flag.bx-flag-pt {
  height: 14px;
  background-position: -4141px 0px;
}
.country-selector .bx-flag.bx-flag-gr {
  height: 14px;
  background-position: -2039px 0px;
}
.country-selector .bx-flag.bx-flag-pl {
  height: 13px;
  background-position: -4031px 0px;
}
.country-selector .bx-flag.bx-flag-cz {
  height: 14px;
  background-position: -1247px 0px;
}
.country-selector .bx-flag.bx-flag-hu {
  height: 10px;
  background-position: -2281px 0px;
}
.country-selector .bx-flag.bx-flag-ru {
  height: 14px;
  background-position: -4295px 0px;
}
.country-selector .bx-flag.bx-flag-in {
  height: 14px;
  background-position: -2413px 0px;
}
.country-selector .bx-flag.bx-flag-br {
  height: 14px;
  background-position: -680px 0px;
}
.country-selector .bx-flag.bx-flag-mx {
  height: 12px;
  background-position: -3556px 0px;
}
.country-selector .bx-flag.bx-flag-ar {
  height: 13px;
  background-position: -220px 0px;
}
.country-selector .bx-flag.bx-flag-cl {
  height: 14px;
  background-position: -1005px 0px;
}
.country-selector .bx-flag.bx-flag-za {
  height: 14px;
  background-position: -5588px 0px;
}
.country-selector .bx-flag.bx-flag-eg {
  height: 14px;
  background-position: -1489px 0px;
}
.country-selector .bx-flag.bx-flag-ae {
  height: 10px;
  background-position: -44px 0px;
}
.country-selector .bx-flag.bx-flag-sa {
  height: 14px;
  background-position: -4339px 0px;
}
.country-selector .bx-flag.bx-flag-il {
  height: 15px;
  background-position: -2369px 0px;
}
.country-selector .bx-flag.bx-flag-tr {
  height: 14px;
  background-position: -5065px 0px;
}
.country-selector .bx-flag.bx-flag-eu {
  height: 14px;
  background-position: -1599px 0px;
}
@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
  .country-selector .bx-flag {
    background-image: url("/js/lib/intl-tel-input/img/flags@2x.png");
  }
}
.country-selector.is-disabled {
  opacity: 0.6;
  pointer-events: none;
}
.country-selector.is-open .country-selector-dropdown {
  display: block;
}
.country-selector.is-open .dropdown-arrow {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}

.country-selector-single .country-selector-head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 10px;
  padding: 10px 14px;
  border: 1px solid var(--input-stroke-color);
  border-radius: 6px;
  background: var(--bg-color);
  cursor: pointer;
  -webkit-transition: border-color 0.2s, -webkit-box-shadow 0.2s;
  transition: border-color 0.2s, -webkit-box-shadow 0.2s;
  transition: border-color 0.2s, box-shadow 0.2s;
  transition: border-color 0.2s, box-shadow 0.2s, -webkit-box-shadow 0.2s;
}
.country-selector-single .country-selector-head:hover {
  border-color: var(--main-green-color);
}
.country-selector-single .country-selector-head:focus {
  outline: none;
  border-color: var(--main-green-color);
  -webkit-box-shadow: 0 0 0 2px rgba(0, 200, 150, 0.1);
          box-shadow: 0 0 0 2px rgba(0, 200, 150, 0.1);
}
.country-selector-single .country-selector-head .selected-text {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  font-size: 14px;
  color: var(--main-text-color);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.country-selector-single .country-selector-head .dropdown-arrow {
  width: 12px;
  height: 12px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23666' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") no-repeat center;
  background-size: contain;
  -webkit-transition: -webkit-transform 0.2s;
  transition: -webkit-transform 0.2s;
  transition: transform 0.2s;
  transition: transform 0.2s, -webkit-transform 0.2s;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

.country-selector-multi .country-selector-chips {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 8px;
  padding: 8px 12px;
  border: 1px solid var(--input-stroke-color);
  border-radius: 6px;
  background: var(--bg-color);
  min-height: 44px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.country-selector-multi .country-chip {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 6px;
  padding: 4px 8px 4px 10px;
  background: var(--tag-green-bg-color);
  border-radius: 16px;
  font-size: 13px;
  color: var(--main-green-color);
  font-weight: 500;
}
.country-selector-multi .country-chip .chip-remove {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 16px;
  height: 16px;
  padding: 0;
  border: none;
  background: transparent;
  color: var(--main-green-color);
  font-size: 14px;
  cursor: pointer;
  border-radius: 50%;
  -webkit-transition: background 0.2s;
  transition: background 0.2s;
}
.country-selector-multi .country-chip .chip-remove:hover {
  background: rgba(0, 200, 150, 0.2);
}
.country-selector-multi .add-country-btn {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 4px;
  padding: 4px 10px;
  border: 1px dashed var(--input-stroke-color);
  border-radius: 16px;
  background: transparent;
  font-size: 13px;
  color: var(--sub-text-color);
  cursor: pointer;
  -webkit-transition: border-color 0.2s, color 0.2s;
  transition: border-color 0.2s, color 0.2s;
}
.country-selector-multi .add-country-btn:hover {
  border-color: var(--main-green-color);
  color: var(--main-green-color);
}
.country-selector-multi .add-country-btn:focus {
  outline: none;
  border-color: var(--main-green-color);
  color: var(--main-green-color);
}
.country-selector-multi .add-country-btn .plus-icon {
  font-size: 14px;
  font-weight: 600;
}

.country-selector-dropdown {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  min-width: 240px;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  max-width: 320px;
  margin-top: 4px;
  background: var(--bg-color);
  border: 1px solid var(--input-stroke-color);
  border-radius: 6px;
  -webkit-box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
          box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  z-index: 1000;
  max-height: 280px;
  overflow-y: auto;
}
.country-selector-dropdown.dropdown-up {
  top: auto;
  bottom: 100%;
  margin-top: 0;
  margin-bottom: 4px;
}
.country-selector-dropdown .country-list {
  list-style: none;
  margin: 0;
  padding: 4px 0;
}

.country-selector-search {
  position: sticky;
  top: 0;
  padding: 8px 10px;
  background: var(--bg-color);
  border-bottom: 1px solid var(--input-stroke-color);
  z-index: 1;
}
.country-selector-search .country-search-input {
  width: 100%;
  padding: 8px 12px;
  border: 1px solid var(--input-stroke-color);
  border-radius: 4px;
  font-size: 13px;
  background: var(--input-bg-color);
  color: var(--main-text-color);
  outline: none;
  -webkit-transition: border-color 0.2s;
  transition: border-color 0.2s;
}
.country-selector-search .country-search-input::-webkit-input-placeholder {
  color: var(--sub-text-color);
}
.country-selector-search .country-search-input::-moz-placeholder {
  color: var(--sub-text-color);
}
.country-selector-search .country-search-input:-ms-input-placeholder {
  color: var(--sub-text-color);
}
.country-selector-search .country-search-input::-ms-input-placeholder {
  color: var(--sub-text-color);
}
.country-selector-search .country-search-input::placeholder {
  color: var(--sub-text-color);
}
.country-selector-search .country-search-input:focus {
  border-color: var(--main-green-color);
}

.country-no-results {
  padding: 20px 14px;
  text-align: center;
  font-size: 13px;
  color: var(--sub-text-color);
}

.country-option {
  padding: 0;
}
.country-option label {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 10px;
  padding: 10px 14px;
  cursor: pointer;
}
.country-option label:has(input[type=radio])::after {
  left: 14px;
}
.country-option label input[type=checkbox] {
  width: 16px;
  height: 16px;
  margin: 0;
  accent-color: var(--main-green-color);
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
.country-option label .option-text {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  font-size: 14px;
  color: var(--main-text-color);
}
.country-option.is-selected label {
  background: var(--tag-green-bg-color);
}
.country-option.is-selected label .option-text {
  color: var(--main-green-color);
  font-weight: 500;
}
.country-option.is-disabled label {
  opacity: 0.5;
  cursor: not-allowed;
}

.country-group-header {
  padding: 8px 14px 4px;
  font-size: 11px;
  font-weight: 600;
  color: var(--sub-text-color);
  text-transform: uppercase;
  letter-spacing: 0.5px;
  border-top: 1px solid var(--input-stroke-color);
}
.country-group-header:first-child {
  border-top: none;
}

@media (max-width: 768px) {
  .country-selector {
    min-width: 100%;
  }
  .country-selector-multi .country-selector-chips {
    padding: 6px 10px;
  }
  .country-selector-multi .country-chip {
    font-size: 12px;
    padding: 3px 6px 3px 8px;
  }
  .country-selector-dropdown {
    max-height: 240px;
  }
  .country-option label {
    padding: 8px 12px;
  }
  .country-option label .option-text {
    font-size: 13px;
  }
}