/* Retain the original site's Vuetify containers, green form and input styling. */
html { scroll-behavior: smooth; }
body { margin: 0; }
[hidden] { display: none !important; }
.keym-regulation-image { display: block; height: auto; }
.keym-term { margin-top: 26px; }
.keym-term p { margin: 0 0 14px; line-height: 1.8; }
.keym-application-subtitle { color: #fff; margin-top: 16px; font-size: 16px; line-height: 1.8; }
.keym-terms-in-form { margin-bottom: 28px; padding-bottom: 14px; border-bottom: 1px solid #dbe5df; }
.keym-terms-in-form .keym-term:first-child { margin-top: 0; }
.keym-terms-in-form p { color: #333; font-weight: 400; }
.keym-applicant-title { color: #fff; font-size: 20px; font-weight: 600; margin: 0 12px 18px; }
.keym-required { margin-left: 5px; color: #ffe2cf; }
.keym-original-input { min-height: 64px; }
.keym-original-input .v-input__control { padding-block: 6px; }
.keym-original-input input { width: 100%; min-height: 48px; }
.keym-original-select { clear: both; padding: 6px 8px; border-radius: 8px; background: #eee; }
.keym-original-select select { display: block; width: 100%; height: 50px; padding: 10px 14px; border: 0; border-radius: 4px; background: #fff; color: #333; appearance: auto; }
.keym-age { margin: 0; padding: 0; border: 0; color: #fff; min-width: 0; }
.keym-age legend { font-weight: 400; font-size: 16px; margin-bottom: 10px; line-height: 1; }
.keym-choice { display: flex; gap: 10px; align-items: flex-start; line-height: 1.8; margin-bottom: 14px; cursor: pointer; }
.keym-choice input { appearance: auto; -webkit-appearance: auto; width: 18px; height: 18px; flex-shrink: 0; margin: 5px 0 0; accent-color: #008c63; }
.keym-age .keym-choice { font-weight: 400; margin-bottom: 7px; }
.keym-field-help { color: #fff; font-size: 13px; margin: 0 0 18px; line-height: 1.8; }
.keym-agreement h3 { margin: 0 0 18px; color: #333; font-size: 19px; }
.keym-agreement .keym-choice { font-weight: 400; font-size: 15px; }
.keym-message { margin: 20px 0 0; padding: 14px 18px; background: #fff2ee; color: #912d21; }
.keym-form-bottom { margin-top: 12px !important; }
.keym-form-bottom .submit { white-space: normal; height: auto; min-height: 50px; padding: 10px 18px; }
.keym-confirmation { background: #fff; border-radius: 8px; padding: 32px; color: #333; scroll-margin-top: 24px; }
.keym-confirmation h3 { margin: 0 0 24px; color: #06381d; }
.keym-confirmation dt { font-weight: 700; margin-top: 18px; }
.keym-confirmation dd { margin: 6px 0 0; overflow-wrap: anywhere; }
.keym-button { background: #0c9; color: #002554; border: 0; border-radius: 4px; padding: 12px 24px; font: inherit; margin-top: 24px; cursor: pointer; }
:focus-visible { outline: 3px solid #159ac1; outline-offset: 4px; }
@media (min-width: 960px) {
  #keym-application-form .v-col-md-4 { flex: 0 0 33.333333%; max-width: 33.333333%; }
}
@media (max-width: 959px) {
  .keym-confirmation { padding: 24px 18px; }
}
@media (max-width: 600px) {
  .h-row-title[data-v-39109fa8] { font-size: 16px; }
  .keym-regulation-image { min-width: 0; width: 100%; }
  .keym-form-bottom .submit { font-size: 18px; }
  .keym-choice { font-size: 14px; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
