* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}
html {
  scroll-behavior: smooth;
  scroll-padding-top: 20px;
  -webkit-tap-highlight-color: transparent;
}
ul {
  list-style-type: disc;
}
body {
  min-height: 100dvh;
  display: flex;
  flex-direction: column;
  background-color: #fff;
}
/* Chrome, Safari, Edge, Opera */
input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
/* Firefox */
input[type="number"] {
  -moz-appearance: textfield;
}
[data-number-input-button] {
  opacity: 0.7;
  cursor: pointer;
}
[data-number-input-button]:hover {
  opacity: 1;
}

.form-input[data-validity="invalid"] {
  border-color: #cd5252 !important;
  box-shadow: 0 0 0px 3px #ff000038;
}
[data-openbox-container] > [data-openbox-content] {
  display: none;
}
.chevron-down {
  transition: all 0.2s;
}
[data-openbox-container][data-state="open"]
  [data-openbox-toggle]
  .chevron-down {
  transform: rotate(180deg);
}
[data-openbox-container][data-state="open"] > [data-openbox-content] {
  display: flex;
}

.bullet-start {
  color: #ffd91a;
  font-size: 36px;
  line-height: 72%;
}

.w80 {
  max-width: 80px;
}
.w60 {
  max-width: 60px;
}
.w100 {
  max-width: 100px;
}
.w90 {
  max-width: 90px;
}
a {
  color: inherit;
  text-decoration: none;
}
.btn {
  height: 60px;
  width: fit-content;
  border-radius: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 20px;
  border: 1px solid #ffd91a;
  background: #ffd91a;
  flex-shrink: 0;
  border: none;
  font-size: 18px;
  font-weight: 600;
  color: black;
  padding: 0 40px;
  position: relative;
  cursor: pointer;
  transition: all 0.2s;
}
.btn:disabled {
  opacity: 0.5;
  pointer-events: none;
}
.btn:hover {
  background-color: #ffba1a;
  border-color: #ffba1a;
}
.btn[data-size="sm"] {
  height: 52px;
  padding: 0 40px;
}
.btn[data-size="xs"] {
  height: 40px;
  padding: 0 28px;
  font-size: 16px;
}
.btn[data-color="yellow-darker"] {
  background-color: #ffba1a;
}
.btn[data-color="yellow-darker"]:hover {
  background-color: #ff941a;
}
.btn[data-variant="transparency"] {
  background-color: #ffffff33;
  color: white;
}
.btn[data-variant="transparency"]:hover {
  background-color: #ffffff66;
}

.btn[data-variant="outline"] {
  border: 1px solid #ffd91a;
  background-color: transparent;
}
.btn[data-variant="outline"]:hover {
  border: 1px solid #ffd91a;
  background: #ffd91a;
}
.btn[data-variant="ghost"] {
  background-color: transparent;
  color: white;
}
.btn[data-variant="ghost"]:hover {
  background: #ffffff33;
}
.btn[data-variant="facebook"] {
  background: #4f67b3;
  border: none;
  white-space: nowrap;
  color: white;
}
.btn[data-variant="facebook"]:hover {
  background: #3753b0;
}
.btn[data-variant="google"] {
  background: #5d84f5;
  border: none;
  white-space: nowrap;
  color: white;
}
.btn[data-variant="google"]:hover {
  background: #4473ff;
}
.link {
  color: white;
  font-size: 14px;
  font-weight: 600;
  opacity: 0.8;
  transition: opacity 0.3s;
}
.link:hover {
  opacity: 1;
}

.desc {
  color: #00283cb2;
}
.title {
  font-size: 64px;
  flex-direction: column;
  font-weight: normal;
  margin-bottom: 14px;
  line-height: 77.95px;
  color: #00283c;
}
.title strong {
  font-weight: 800;
}
.title[data-variant="white"] {
  color: white;
}

.radio-container {
  width: 100%;
  display: flex;
}
.radio-container > input {
  display: none;
}
.radio-container > label {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  border-radius: 16px;
  cursor: pointer;
  color: #00283cb6;
  font-size: 18px;
  font-weight: 600;
  gap: 12px;
  height: 60px;
}
.radio-container input:checked + label {
  background-color: #ffd91a;
  color: #000000;
}
.radio-container input:checked + label svg path {
  fill: black;
  fill-opacity: 1;
}
.radio-container input + label:hover {
  color: #ff8c1a;
}
.radio-container input:checked + label:hover {
  color: black;
}
.separator {
  height: 1px;
  width: 100%;
  background: #ffffff7b;
  margin: 20px 0;
}
.container-large {
  margin: 0 auto;
  padding: 0 15px;
  height: 100%;
  width: 100%;
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
}
.content-container {
  width: 100%;
  margin: 0 auto;
  flex: 1 1 auto;
}
.page-container {
  width: 100%;
  display: flex;
  height: 100%;
  flex: 1 1 auto;
  padding: 20px 0;
  gap: 40px;
}
.page-content {
  width: 100%;
  display: flex;
  flex-direction: column;
}
.page-box {
  width: 100%;
  flex: 1 1 auto;
  box-shadow: 0 24px 100px #00283c2b;
  border-radius: 16px;
  padding: 40px;
  background: white;
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.page-title-box {
  display: flex;
  align-items: center;
  margin-bottom: 20px;
  gap: 30px;
  margin-top: 27px;
  justify-content: space-between;
}
.page-title {
  display: flex;
  align-items: center;
  gap: 15px;
}
.page-title > h1 {
  font-size: 28px;
  font-weight: 600;
}
.page-title .page-title-back {
  display: none;
  width: 30px;
  height: 30px;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  opacity: 0.7;
}
.page-title .page-title-back:hover {
  opacity: 1;
}
.star-gif {
  display: inline;
  width: 32px;
  height: 32px;
}
.page-footer {
  padding: 20px 0;
}
.page-footer-container {
  display: flex;
  width: 100%;
  justify-content: space-between;
  align-items: center;
}
.page-footer-copy {
  font-size: 12px;
  color: #00000075;
}
.page-footer-links {
  display: flex;
  gap: 40px;
  align-items: center;
  flex-wrap: wrap;
}
.page-footer-links a {
  font-size: 12px;
  color: #00000075;
}
.page-footer-links a:hover {
  text-decoration: underline;
}
.default-text-input {
  height: 60px;
  width: 100%;
  border-radius: 16px;
  border: 1px solid #00283c36;
  font-size: 18px;
  font-weight: 600;
  padding: 0 20px;
  outline: none;
}
.default-text-input::placeholder {
  color: #00283c58;
}
.default-text-input:focus {
  outline: none;
  border: 1px solid #00283c;
}
[data-validation-error] {
  color: #cd5252;
}

[data-validation-success] {
  color: green;
}

[data-validation-error] > [data-error-type] {
  display: none;
}

[data-validation-error][data-validation-error="email"]
  > [data-error-type="email"],
[data-validation-error][data-validation-error="required"]
  > [data-error-type="required"] {
  display: block;
}

[data-validation-container][data-validity="invalid"] [data-validation-field] {
  border-color: #cd5252;
  box-shadow: 0 0 0px 3px #ff000038;
}
[data-validation-container] {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.label-1 {
  font-size: 18px;
  font-weight: 600;
  color: #00283cb2;
  line-height: 100%;
  margin-bottom: 18px;
}
.default-dialog-content {
  max-width: 720px;
  width: 100%;
  border-radius: 16px;
  padding: 40px;
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.default-dialog-content-title {
  font-size: 28px;
  font-weight: 600;
  display: flex;
  align-items: center;
}
.default-dialog-content-close {
  margin-left: auto;
  opacity: 0.7;
  transition: all 0.2s;
}
.default-dialog-content-close:hover {
  opacity: 1;
}
.default-dialog-content-desc {
  font-size: 20px;
  color: #00283c;
}
.default-dialog-content-footer {
  width: 100%;
  display: flex;
  align-items: center;
  gap: 20px;
}
.default-dialog-content-footer button {
  width: 100%;
  flex: 1 1 auto;
  max-width: none;
  /* height: 60px; */
  border-radius: 16px;
  font-weight: 600;
}
.dipc {
  height: 80%;
  width: 80px;
  display: flex;
  align-items: center;
  border-right: 1px solid #00283c1f;
  margin-right: 20px;
  font-size: 16px;
  flex-shrink: 0;
}
.dipc > input {
  background: transparent;
  border: none;
  outline: none;
  height: 100%;
  width: 100%;
  font-size: 16px;
}

@media screen and (max-width: 1024px) {
  .btn {
    border-radius: 12px;
    height: 45px;
    font-size: 16px;
  }
  .default-text-input {
    height: 45px;
    border-radius: 12px;
  }
  .btn[data-size="sm"] {
    height: 40px;
    padding: 0 32px;
    font-size: 16px;
  }
  .btn[data-size="xs"] {
    padding: 0 24px;
    font-size: 14px;
  }
  .page-title-box {
    flex-direction: column;
    margin-top: 30px;
    margin-bottom: 30px;
    gap: 25px;
  }
  .page-title-box {
    flex-direction: column;
  }
  .page-title .page-title-back {
    display: flex;
  }
  .page-title .page-title-back {
    display: flex;
  }
  .page-box {
    box-shadow: none;
    padding: 0;
  }
  .page-container {
    flex-direction: column;
    gap: 0;
  }
}
@media screen and (max-width: 768px) {
  .title {
    font-size: 52px;
    line-height: 63px;
  }
  .radio-container > label {
    height: 45px;
  }

  .default-dialog-content {
    padding: 30px;
  }
  .dipc {
    width: 55px;
  }
}
@media screen and (max-width: 480px) {
  .title {
    font-size: 40px;
    line-height: 48px;
  }
  .default-dialog-content-footer {
    flex-direction: column;
  }
  .default-dialog-content {
    padding: 20px;
  }
  .default-text-input {
    padding: 0 15px;
  }
}
