/**
 * Fonts
 */
@font-face {
  font-family: 'CenturyGothic';
  src: url('fonts/CenturyGothic.woff2') format('woff2'),
      url('fonts/CenturyGothic.woff') format('woff');
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'CenturyGothic';
  src: url('fonts/CenturyGothic-Bold.woff2') format('woff2'),
      url('fonts/CenturyGothic-Bold.woff') format('woff');
  font-weight: bold;
  font-style: normal;
  font-display: swap;
}

/**
 * Main CSS
 */
body {
  --primary-rgb: 255, 255, 255;
  --primary: rgb(var(--primary-rgb));
  --primary-2-rgb: 0, 0, 0;
  --primary-2: rgb(var(--primary-2-rgb));
  --primary-3-rgb: 60, 60, 60;
  --primary-3: rgb(var(--primary-3-rgb));
  --primary-border-color-rgb: 0,0,0;
  --primary-border-color: rgb(var(--primary-border-color-rgb));

  font-family: CenturyGothic, var(--bs-font-sans-serif);
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}

#root {
  margin: 0 auto;
  position: relative;
  min-width: 100%;
  width: 100%;
  padding-bottom: 2rem;
  flex-grow: 1;
}

/* #root > section > .section_content {
  padding-left: 1rem;
  padding-right: 1rem;
} */

.site_logo {
  padding: 0;
}

.brand_logo {
  margin: 0 auto;
  padding: .375rem 0;
  max-height: 2.5rem;
}

.locale-switch .locale-option {
  color: black;
}

a[href^="tel"], a[href^="mailto"] {
  color: var(--primary-3);
  text-decoration: underline;
}

/**
 * Project Form Control
 */
.col-form-label {
  color: var(--primary-2);
  padding-left: .75rem;
  font-weight: bold;
  font-size: .8em;
}

.form-control ~ .invalid-feedback,
.form-select ~ .invalid-feedback,
.form-control ~ .valid-feedback,
.form-select ~ .valid-feedback {
  /* padding-left: .75rem; */
}

.form-select {
  background-image: url('../assets/image/select_icon.svg') !important;
  background-size: 12px 8px !important;
}

.form-select:not(:valid) {
  color: rgb(143, 125, 121);
}

.form-select option {
  color: var(--primary-2);
}

.input-group>.region-code-select {
  flex-basis: 5rem !important;
  flex-grow: unset !important;
  padding-left: .5rem;
  padding-right: 0;
  z-index: 0 !important;
}

.input-group>.region-code-select+* {
  z-index: 1;
}

.input-group>.mobile-input {
  border-right-width: 0;
}

.input-group>.btn_verify {
  border-left-width: 0;
}

.input-group>.first-input {
  border-top-left-radius: 0.75rem !important;
  border-bottom-left-radius: 0.75rem !important;
}

.input-group>.last-input {
  border-top-right-radius: 0.75rem !important;
  border-bottom-right-radius: 0.75rem !important;
}

.form-control, .form-select {
  background-color: rgba(var(--primary-rgb));
  border-color: rgba(var(--primary-3-rgb));
  border-width: 1px;
}

.form-check-input,
.form-check-input:focus {
  margin-top: calc(.25em + .1em);
  border-color: var(--primary-3);
}

.form-check-input:checked[type=checkbox] {
  background-image: url(../assets/image/checkbox.svg);
}

.form-check-input+label {
  font-size: .8em;
  padding-top: .35em;
}

.form-check-input:not(:checked) + label > .active {
  display: none;
}

.form-check-input:checked + label > .inactive {
  display: none;
}

.form-switch > .form-check-input {
  background-image: url(../assets/image/form_switch.svg);
}

.form-switch > .form-check-input:not(:checked) {
  background-color: #777777;
}

.form-switch > .form-check-input:checked {
  background-color: var(--primary-3);
}

@media (max-width: 425px) {
  /* input::-ms-input-placeholder {
    font-size: .8em;
    margin-top: .1em;
  }
  input::-webkit-input-placeholder {
    font-size: .8em;
    margin-top: .1em;
  }
  input::placeholder {
    font-size: .8em;
    margin-top: .1em;
  }
  .form-select:not(:valid) {
    font-size: .8em;
    margin-top: .1em;
  } */
}

input:-webkit-autofill {
  -webkit-text-fill-color: var(--primary-2);
  -webkit-box-shadow: 0 0 0px 1000px rgba(var(--primary-rgb, 1)) inset;
}

input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
input:-webkit-autofill:active {
  -webkit-text-fill-color: var(--primary-2);
  -webkit-box-shadow: 0 0 0px 1000px rgba(var(--primary-rgb, 1)) inset;
  /* transition: background-color 5000s ease-in-out 0s; */
}

/**
 * Project btn
 */
.project_btn {
  min-width: 7.5rem;
  text-align: center;
  line-height: 1.25em;
}

@media (min-width: 425px) {
  .project_btn {
    min-width: 10rem;
  }
}

.btn,
.btn:active,
.btn:focus,
.btn:hover {
  color: var(--primary);
  border-color: var(--primary-2);
}

.btn {
  line-height: 1.2em;
}

.input-group>.btn {
  line-height: unset;
}

.btn:not(.disabled) .inactive {
  display: none;
}

.btn.disabled .active {
  display: none;
}

.btn.disabled {
  background-color: #888888;
  border-color: #888888;
}

.is-invalid .btn.input-select-dropdown-toggle {
  border-color: #dc3545;
}

.btn.input-select-dropdown-toggle {
  position: relative !important;
  background-color: white;
  border-radius: .75rem;
  color: black;
  min-height: calc(2.25em + 2px);
  padding-left: 2rem;
  padding-right: 2rem;
  white-space: normal;
}

.btn.input-select-dropdown-toggle::after {
  position: absolute;
  display: block;
  top: 50%;
  right: .5rem;
  width: 1em;
  height: 1em;
  transform: translateY(-50%);
  background-image: url(../assets/image/select_icon.svg);
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  border: none;
}

.dropdown-select-item {
  padding: 0 .5em;
}

.dropdown-select-item:not(:last-child) {
  border-bottom: 1px solid rgb(0, 0, 0, .175);
}

/**
 * Slick Overrides
 */
#root .slick-prev,
#root .slick-next {
  border-width: 0;
  border-style: none;
}

#root .slick-prev {
  transform: translate(50%, -50%);
}

#root .slick-next {
  transform:  translate(-50%, -50%);
}

#root .slick-prev:before,
#root .slick-next:before {
  border-width: 0;
  color: var(--primary-2);
  content: " ";
  border-color: var(--primary-border-color);
  transform: rotate(45deg);
  border-style: solid;
  width: 20px;
  height: 20px;
  position: absolute;
  left: 0;
  top: 0;
}

#root .slick-prev:before {
  border-bottom-width: 2px;
  border-left-width: 2px;
}

#root .slick-next:before {
  border-top-width: 2px;
  border-right-width: 2px;
}

#root .slick-dots li {
  width: 14px;
  height: 14px;
}

#root .slick-dots li button {
  width: 14px;
  height: 14px;

  border-radius: 50%;
  border: 1px solid var(--primary-3);
}

#root .slick-dots li button:before {
  content: " ";
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background-color: var(--primary-3);
  opacity: 0;
  top: 3px;
  left: 3px;
}

#root .slick-dots li.slick-active button:before {
  opacity: 1;
}

/**
 * Bootstrap Modal CSS
 */
.modal-sm {
  max-width: 300px;
  margin: 0.5rem auto;
}

.modal .modal-title {
  position: relative;
  min-height: 1em;
}

.modal .modal-title .btn-close {
  position: absolute;
  top: 0;
  right: 0;
  background: url("../assets/image/modal_close.svg") center/ 1.5em auto no-repeat;
  opacity: 1;
}

.modal .modal-content {
  filter: drop-shadow(2px 2px 4px #666666);
  border-radius: .5rem;
  border-color: var(--primary-border-color);
}

.long-modal .modal-content {
  --scroll-fadeIn-height: 2rem;
}

.long-modal .modal-header::after {
  content: " ";
  position: absolute;
  top: 100%;
  left: 0;
  height: var(--scroll-fadeIn-height);
  width: 100%;
  background: linear-gradient(to bottom, rgba(255, 255, 255, 1), rgba(255, 255, 255, 0));
  z-index: 1;
}

.long-modal .modal-footer::before {
  content: " ";
  position: absolute;
  bottom: 100%;
  left: 0;
  height: var(--scroll-fadeIn-height);
  width: 100%;
  background: linear-gradient(to top, rgba(255, 255, 255, 1), rgba(255, 255, 255, 0));
  z-index: 1;
}

.modal .modal-body::-webkit-scrollbar {
  width: 4px;
}

.modal .modal-body::-webkit-scrollbar-thumb {
  border-radius: 2px;
  background-color: var(--primary);
}

.modal-header,
.modal-footer {
  position: relative;
  border: 0 !important;
}

.modal-body {
  padding: 0rem 2rem 0rem 2rem;
}

.long-modal .modal-body {
  padding-top: 2rem;
  padding-bottom: 2rem;
}

.footer-nav .footer-item {
  z-index: 999; 
}

.tnc-modal .modal-body,
#agreement_modal .modal-body {
  font-size: .8em;
}

.tnc-modal a,
#agreement_modal a {
  color: var(--primary-2);
  word-break: break-all;
}

/**
 * Custom CSS class 
 **/
.fw-700 {
  font-weight: 700;
}

.cs-ptr {
  cursor: pointer;
}

.text-description span {
  white-space: nowrap;
  word-break:keep-all;
}

w {
  display: inline-block
}

.place_middle {
  margin-left: 50%;
  margin-right: 50%;
  transform: translateX(-50%);
}

.dropdown-menu.show{
  max-height: 12rem;
  overflow-y: scroll;
}

.datepicker input {
  text-align: center;
}
