/*
 *  - Optics form
 *  - with dropzone
 *  - with custom radios (because Optics doensn't do them)
 *  - no select2s
 */
html {
  font-size: 16px; /* base for REMs */
}
html body {
  margin: 0;
  padding: 0;
  background-color: #ffffff;
  font-family: "DM Sans", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 1rem;
  -webkit-font-smoothing: antialiased;
  text-align: left;
}

#page-wrap {
  display: block;
  padding: 20px 20px 30px;
  margin: 0 auto;
  max-width: 1120px;
  font-family: "DM Sans", sans-serif;
}
#page-wrap h3 {
  display: block;
  font-weight: normal;
  font-size: 34px;
  margin: 0 0 20px 0;
  font-family: "DM Sans", sans-serif;
}
#page-wrap p {
  display: block;
  font-weight: normal;
  font-size: 15px;
  margin: 0 0 0 0;
  font-family: "DM Sans", sans-serif;
}
#page-wrap a {
  color: #000;
  text-decoration: underline;
}
#page-wrap a:hover {
  color: #000;
  text-decoration: none;
}
#page-wrap .bold {
  font-weight: 700;
}
#page-wrap .small {
  font-size: 0.875rem;
}
#page-wrap li:not(.select2-selection__choice):not(.select2-search) {
  display: block;
  width: calc(100% - 1em);
  position: relative;
  padding: 0 0 0 1em;
  margin: 0 0 1em 0;
}
#page-wrap li:not(.select2-selection__choice):not(.select2-search):after {
  display: block;
  width: 0.4em;
  height: 0.4em;
  border-radius: 50%;
  background: #000;
  position: absolute;
  left: 0;
  top: 0.6em;
  content: "";
}
#page-wrap input, #page-wrap textarea, #page-wrap select {
  font-family: "DM Sans", sans-serif;
}
#page-wrap input.error, #page-wrap textarea.error, #page-wrap select.error {
  border-color: #e4022d;
}
#page-wrap input:focus-visible, #page-wrap textarea:focus-visible, #page-wrap select:focus-visible {
  outline-color: transparent;
  outline-style: none;
}
#page-wrap textarea {
  width: 100%;
  min-height: 150px;
}
#page-wrap textarea.textarea-short {
  min-height: 100px;
}
#page-wrap .ppat-submit,
#page-wrap .button {
  display: flex;
  width: fit-content;
  border: 0.5px solid #000;
  border-radius: 0;
  padding: 10px 20px;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  max-width: 200px;
  width: 100%;
  color: white;
  font-family: "DM Sans", sans-serif;
  font-weight: normal;
  font-size: 1rem;
  line-height: 1.2rem;
  background-color: #000;
  background-image: none;
  margin: 20px auto 0 auto;
  text-align: center;
  cursor: pointer;
}
#page-wrap .ppat-submit:hover,
#page-wrap .button:hover {
  border-color: #E9E9E9;
  color: white;
}
#page-wrap .ppat-submit:disabled,
#page-wrap .button:disabled {
  cursor: not-allowed;
  opacity: 0.25;
}

.ppat-form {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  width: 100%;
  position: relative;
}
.ppat-form.submitting {
  pointer-events: none;
  opacity: 0.2 !important;
}
.ppat-form.submitted {
  display: none !important;
}
.ppat-form .col-50 {
  display: flex;
  flex-direction: column;
  flex-basis: 48%;
}
.ppat-form .ppat-form-row {
  display: flex;
  flex-direction: column;
  flex-basis: 100%;
  align-items: left;
  position: relative;
  margin: 0 0 20px 0;
}
.ppat-form .ppat-form-row.ppat-form-row-dropzone label {
  display: none;
}
.ppat-form .ppat-form-row.ppat-form-row-checkbox {
  flex-direction: row;
  margin-bottom: 10px;
}
.ppat-form .ppat-form-row.ppat-form-row-age, .ppat-form .ppat-form-row.ppat-form-row-selfies_per_month {
  flex-direction: row;
  flex-wrap: wrap;
}
.ppat-form .ppat-form-row.ppat-form-row-age .ppat-form-label, .ppat-form .ppat-form-row.ppat-form-row-selfies_per_month .ppat-form-label {
  flex-basis: 100%;
}
.ppat-form .ppat-form-row.ppat-form-row-age label:not(.ppat-form-label), .ppat-form .ppat-form-row.ppat-form-row-selfies_per_month label:not(.ppat-form-label) {
  margin-right: 20px;
  cursor: pointer;
  user-select: none;
}
.ppat-form .ppat-form-row.ppat-form-row-age label:not(.ppat-form-label)::before, .ppat-form .ppat-form-row.ppat-form-row-selfies_per_month label:not(.ppat-form-label)::before {
  display: inline-block;
  content: "";
  width: 14px;
  height: 14px;
  border: 2px solid #000;
  border-radius: 2px;
  margin: 3px 5px -3px 0;
}
.ppat-form .ppat-form-row.ppat-form-row-age label:not(.ppat-form-label) input, .ppat-form .ppat-form-row.ppat-form-row-selfies_per_month label:not(.ppat-form-label) input {
  appearance: none;
  margin: 0;
  white-space: nowrap;
}
.ppat-form .ppat-form-row.ppat-form-row-age label:not(.ppat-form-label).checked::before, .ppat-form .ppat-form-row.ppat-form-row-selfies_per_month label:not(.ppat-form-label).checked::before {
  background-image: url("../../../assets/img/icon-check.svg");
  background-repeat: no-repeat;
  background-size: auto 60%;
  background-position: 50% 60%;
}
.ppat-form .ppat-form-row .ppat-field-feedback-msg {
  position: absolute;
  left: 0;
  bottom: -12px;
  font-size: 12px;
  pointer-events: none;
}
.ppat-form .ppat-form-row input:has(+ .ppat-field-error) {
  border-color: #e4022d;
  background-color: rgba(255, 0, 0, 0.2);
}

.ppat_el_p {
  display: block !important;
  width: 100% !important;
  text-align: left !important;
  margin: 0 auto 10px auto !important;
  pointer-events: all !important;
  font-size: 14px !important;
}
.ppat_el_p a {
  cursor: pointer !important;
  font-weight: bold !important;
}

.ppat_el_p.ppat_el_footer_p {
  text-align: center !important;
}

.ppat_el_h2 {
  display: block !important;
  width: 100% !important;
  text-align: left !important;
  margin: 0 auto 15px auto !important;
  pointer-events: all !important;
  font-size: 32px !important;
  font-weight: normal;
  text-align: center !important;
  font-family: "DM Sans", sans-serif;
}
.ppat_el_h2 a {
  cursor: pointer !important;
  font-weight: bold;
}

.ppat_sp {
  margin: 0 0 20px 0 !important;
  font-size: 10px !important;
  line-height: 12px !important;
}

.ppat-form-label {
  display: block;
  width: 100%;
  font-family: "DM Sans", sans-serif;
  font-weight: 700;
  color: #377084;
  margin-bottom: 10px;
}
.ppat-form-label[for=country], .ppat-form-label[for=state_can] {
  width: calc(40% - 7px);
}

.ppat-form-label a {
  color: black;
  text-decoration: underline;
  cursor: pointer;
}
.ppat-form-label a:hover {
  text-decoration: none;
}

.ppat-text,
.ppat-email,
.select2-selection,
.ppat-textarea {
  display: block;
  width: 100%;
  height: 40px;
  background-color: #fff;
  border: 1px solid #bfbfbf;
  border-radius: 2px;
  font-size: 14px;
  padding: 10px 20px;
}

.ppat-select {
  appearance: none;
  background: url("https://fujifilm-x.com/global/special/imaging-solution/assets/images/common/mrk_down.png") no-repeat right 20px top 50%/10px 7px #fff;
  padding-right: 40px;
  cursor: pointer;
  height: 40px;
  width: 100%;
  background-color: #fff;
  border: 1px solid #bfbfbf;
  font-size: 14px;
  padding: 5px 20px;
}

.ppat-dropzone {
  border: 1px solid #bfbfbf !important;
  font-size: 14px !important;
  width: 100%;
  text-align: center;
}
.ppat-dropzone .dropzone-instructions, .ppat-dropzone .dz-msg {
  pointer-events: none;
}
.ppat-dropzone .upload-icon {
  display: block;
  content: "";
  width: 44px;
  height: 50px;
  margin: 0 auto 20px;
  background: url("../img/upload-icon-blue.svg");
}
.ppat-dropzone h4 {
  display: block !important;
  width: 80% !important;
  text-align: center !important;
  margin: 10px auto 0 auto !important;
  pointer-events: none !important;
  font-size: 14px !important;
  font-weight: bold !important;
}
.ppat-dropzone p {
  display: block !important;
  width: 80% !important;
  text-align: center !important;
  margin: 20px auto 0 auto !important;
  pointer-events: none !important;
  font-size: 16px !important;
}

.ppat-checkbox {
  display: block;
  width: 20px;
  height: 20px;
  appearance: auto;
  margin: 0 10px 0 0;
  border-radius: 0 !important;
  outline-color: none;
  position: relative;
  cursor: pointer;
}
.ppat-checkbox:after {
  content: " ";
  display: block;
  width: 100%;
  height: 100%;
  background: none;
  position: absolute;
  z-index: 10;
  background: #fff;
  color: #000;
  background-repeat: no-repeat;
  background-size: auto 60%;
  background-position: 50% 50%;
  font-family: "DM Sans", sans-serif;
  font-weight: bold;
  top: 0;
  left: 0;
  border: 1px solid #bfbfbf;
}
.ppat-checkbox:checked:after {
  display: block;
  width: 100%;
  height: 100%;
  content: " ";
  background: none;
  position: absolute;
  z-index: 10;
  background: #fff;
  color: #000;
  background-image: url("../../../assets/img/icon-check.svg");
  background-repeat: no-repeat;
  background-size: auto 60%;
  background-position: 50% 50%;
  content: " ";
  font-family: "DM Sans", sans-serif;
  font-weight: bold;
  top: 0;
  left: 0;
  border: 1px solid #bfbfbf;
}

.ppat-form-row-checkbox .ppat-form-label {
  width: 100%;
  font-weight: 400;
  color: #000;
  font-size: 0.875rem;
  cursor: pointer;
  user-select: none;
}

.ppat-field-feedback-msg {
  display: block;
  width: 100%;
  position: relative;
  font-size: 12px;
  text-align: left;
  color: #e4022d;
}

[class*=ppat-field-feedback-msg-main] {
  display: none;
}

.ppat-field-feedback-msg-complete {
  display: none;
  font-size: 18px;
  font-weight: bold;
  padding: 30px 0;
  text-align: center;
  width: 100%;
}
.ppat-field-feedback-msg-complete.complete {
  display: block;
}

.ppat-field-feedback-msg-cf-upload {
  text-align: left;
  font-size: 12px;
  transform: translateY(-1em);
}

@media all and (max-width: 700px) {
  #page-wrap .col-50 {
    flex-basis: 100%;
  }
  #page-wrap .ppat-form-label {
    width: 100%;
    margin-bottom: 3px;
  }
  #page-wrap .ppat-form-row {
    display: block;
    flex-basis: 100%;
  }
  #page-wrap .ppat-form-row.ppat-form-row-checkbox {
    display: flex;
    margin-bottom: 20px;
  }
  #page-wrap .ppat-form-row .ppat-field-feedback-msg {
    bottom: -16px;
  }
  #page-wrap .ppat-field-feedback-msg-cf-upload {
    bottom: 6px;
    text-align: left;
  }
  #page-wrap .ppat_sp {
    margin: 0 0 3px 0 !important;
  }
  #page-wrap .accordion .accordion-content .accordion-fields {
    display: block;
  }
}

/*# sourceMappingURL=form.css.map */
