/*---------------------------------------------------------------------------
  Global Forms
---------------------------------------------------------------------------*/

form {
  margin: 0;
  padding: 0;
  /* display: grid;
  gap: 15px !important; */
}

/* Labels  */

form input::placeholder,
form select::placeholder,
form textarea::placeholder {
  color: var(--text-grey) !important;
}

form label,
form .gfield_label,
form .gform-field-label,
form .form-row small,
form .form-row:after,
form .ginput_preview,
form .ginput_preview > *,
form p.description,
form .gfield_description,
form .ginput_container:after,
form .screen-reader-text,
form .ginput_counter,
form .wc-pao-addon-description > *,
form .quantity:before,
form .gfield_password_strength,
form .gfield_list_group_item:after,
form .form-row .screen-reader-text,
form .form-row .validation_message,
form .gfield_list_group_item:before {
  margin: 0 !important;
  font-size: 12px !important;
  line-height: 120% !important;
  padding: 0 !important;
  display: block !important;
  color: var(--text-grey) !important;
  font-weight: 500 !important;
}

form label a,
form label span,
form .gfield_label a,
form .gfield_label span {
  display: inline-block !important;
}

form p.description,
form .gfield_description,
form .screen-reader-text,
form .ginput_container:after,
form .ginput_counter,
form .form-row small,
form .form-row:after,
form .ginput_preview,
form .ginput_preview > *,
form .gfield_list_group_item:after,
form .wc-pao-addon-description > *,
form .gfield_password_strength {
  font-weight: 400 !important;
  color: rgba(var(--text-grey-rgb), 50%) !important;
}

form label .required,
form label .gfield_required,
form legend .gfield_required,
form .ginput_preview > * .required,
form .ginput_preview > * .gfield_required {
  color: var(--red) !important;
}

form label,
form .gfield_label,
form .field_description_above .gfield_description,
form p.description,
form .gfield_list_group_item:before {
  margin-bottom: 5px !important;
}

form .field_description_below .gfield_description,
form .ginput_counter {
  margin-top: 5px !important;
}

/* Field Styles */

form input,
form select,
form textarea {
  -webkit-appearance: none;
  background: var(--white) !important;
  display: inline-block;
  margin: 0 !important;
  padding: 15px !important;
  width: 100% !important;
  font-size: 14px !important;
  color: var(--text-grey) !important;
  line-height: 18px !important;
  font-weight: 400;
  text-align: left;
  text-decoration: none;
  border: 1px solid var(--outline-grey) !important;
  border-radius: var(--border-radius-xs) !important;
  resize: none;
  cursor: pointer;
}

form textarea {
  max-height: 100px;
}

form input[disabled],
form select[disabled],
form textarea[disabled],
form button[disabled] {
  opacity: 0.5;
  pointer-events: none;
}

form input:hover,
form input:focus,
form select:hover,
form select:focus,
form textarea:hover,
form textarea:focus {
  outline: 0;
}

form input:-webkit-autofill,
form input:-webkit-autofill:hover,
form input:-webkit-autofill:focus,
form input:-webkit-autofill:active,
form select:-webkit-autofill,
form select:-webkit-autofill:hover,
form select:-webkit-autofill:focus,
form select:-webkit-autofill:active,
form textarea:-webkit-autofill,
form textarea:-webkit-autofill:hover,
form textarea:-webkit-autofill:focus,
form textarea:-webkit-autofill:active {
  -webkit-box-shadow: 0 0 0 4rem var(--white) inset !important;
}

form .form-row {
  text-align: left;
}

/* Select */

form select {
  background: var(--white) url(../img/icon-chevron-down.svg) 50% no-repeat !important;
  background-position: center right 15px !important;
  background-size: 14px !important;
  padding-right: 35px !important;
}

.select2,
.select2 * {
  margin: 0 !important;
  padding: 0 !important;
}

.select2-container .select2-selection {
  height: auto !important;
  display: inline-block;
  margin: 0 !important;
  padding: 15px !important;
  width: 100% !important;
  font-size: 14px !important;
  color: var(--text-grey) !important;
  line-height: 18px !important;
  font-weight: 400;
  text-align: left;
  text-decoration: none;
  border: 1px solid var(--outline-grey) !important;
  border-radius: var(--border-radius-xs) !important;
  resize: none;
  cursor: pointer;
  background: var(--white) url(../img/icon-chevron-down.svg) 50% no-repeat !important;
  background-position: center right 15px !important;
  background-size: 14px !important;
  padding-right: 35px !important;
}

.select2-container .select2-selection,
.select2-container .select2-selection * {
  line-height: 18px !important;
}

.select2-container .select2-selection__arrow {
  display: none !important;
}

.select2-dropdown,
.select2-search input {
  border-color: var(--outline-grey) !important;
}

/* Checkbox/Radio */

input[type="checkbox"],
input[type="radio"] {
  cursor: pointer;
  vertical-align: middle;
  min-height: 18px;
  position: relative;
  min-width: 18px;
  max-width: 18px !important;
  max-height: 18px !important;
  padding: 0 !important;
  border: 1px solid var(--navy);
  background: var(--white) !important;
  border-radius: 2px !important;
  margin: 0 10px 0 0 !important;
  transition: none !important;
}

input[type="checkbox"] {
  background: var(--white) url(../img/icon-tick.svg) 50% no-repeat !important;
  background-size: 12px !important;
  border-color: var(--navy) !important;
}

input[type="checkbox"]:checked {
  background: var(--navy) url(../img/icon-tick.svg) 50% no-repeat !important;
  background-size: 12px !important;
}

input[type="radio"],
input[type="radio"]:before {
  border-radius: 50%;
}

input[type="radio"]:before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  display: block;
  border: 5px solid transparent;
}

input[type="radio"]:checked {
  background: var(--navy) !important;
}

input[type="radio"]:checked:before {
  border-color: var(--white) !important;
}

/* File Upload */

form .form-row:after {
  content: attr(data-after);
}

input[type="file"] {
  padding: 0;
  position: relative;
  background: transparent;
  border: 1px dashed var(--outline-grey) !important;
}

input[type="file"]::-webkit-file-upload-button {
  position: absolute;
  height: 100%;
  width: 100%;
  padding: 0;
  border: 0;
  width: 100%;
  color: transparent;
  background: transparent;
  top: 0;
  bottom: 0;
  left: 0;
  font-weight: 500;
  cursor: pointer;
}

input[type="file"]::-webkit-file-upload-button:focus {
  outline: 0;
}

input[type="file"]:before {
  content: "Upload File";
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  position: absolute;
  font-weight: 500;
  line-height: 48px;
  text-align: center;
  background: var(--light-grey);
}

/* Submit */

form .gform_next_button,
form .gform_previous_button,
form .gform_button_select_files,
form input[type="submit"], 
form button[type="submit"] {
  margin: 0 !important;
  outline: 0 !important;
  border: 0 !important;
  cursor: pointer;
  align-items: center;
  justify-content: center;
  border-radius: var(--border-radius-xs) !important;
  /* background: linear-gradient(120deg, var(--aqua), var(--aqua), #6DFDF3, var(--aqua), var(--aqua)) !important; */
  background: linear-gradient(120deg, var(--navy), var(--navy), #0B3365, var(--navy), var(--navy)) !important;
  background-size: 400% 100% !important;
  background-position: 100% 0 !important;
  padding: 15px 25px !important;
  color: var(--white) !important;
  font-weight: 600 !important;
  line-height: 20px !important;
  text-decoration: none !important;
  position: relative !important;
  transition: 0.5s ease all;
}

/* form .gform_next_button,
form .gform_previous_button {
  background: linear-gradient(120deg, var(--navy), var(--navy), #0B3365, var(--navy), var(--navy)) !important;
  background-size: 400% 100% !important;
  background-position: 100% 0 !important;
  color: var(--white) !important;
} */

form .gform_next_button:hover,
form .gform_next_button:focus,
form .gform_next_button:active,
form .gform_previous_button:hover,
form .gform_previous_button:focus,
form .gform_previous_button:active,
form .gform_button_select_files:hover,
form .gform_button_select_files:focus,
form .gform_button_select_files:active,
form input[type="submit"]:hover,
form input[type="submit"]:focus,
form input[type="submit"]:active,
form button[type="submit"]:hover,
form button[type="submit"]:focus,
form button[type="submit"]:active {
  background-position: 0 0 !important;
}

/*---------------------------------------------------------------------------
  Search Forms
---------------------------------------------------------------------------*/

.search-form {
  width: 250px;
  position: relative;
}

.search-form input:not([type="submit"]) {
  padding-right: 40px !important;
}

.search-form *[type="submit"] {
  border: 0 !important;
  background: transparent !important;
}

.search-form .search-link {
  content: "";
  width: 15px;
  height: 15px;
  display: block;
  position: absolute;
  pointer-events: none;
  right: 15px;
  top: 0;
  bottom: 0;
  margin: auto;
}

.search-form .search-link {
  pointer-events: all;
  -webkit-mask: url(../img/icon-search.svg) 50% no-repeat;
  -webkit-mask-size: contain;
  background: var(--navy) !important;
}

/* Clear  Search */

.clear-search {
  display: inline-block;
  position: relative;
  padding-left: 20px;
  color: var(--text-grey);
}

.clear-search:before,
.clear-search:after {
  content: "";
  display: block;
  position: absolute;
  height: 10px;
  width: 1px;
  background: var(--text-grey);
  top: 1px;
  bottom: 0;
  left: 5px;
  margin: auto;
  transition: 0.3s ease all;
}

.clear-search:before {
  transform: rotate(-45deg);
}

.clear-search:after {
  transform: rotate(45deg);
}

.clear-search:hover {
  color: var(--navy);
}

.clear-search:hover:before,
.clear-search:hover:after {
  background: var(--navy);
}

/*---------------------------------------------------------------------------
  Login Form
---------------------------------------------------------------------------*/

.section-login-form .container-small {
  max-width: 560px;
  padding: 30px;
  background: var(--white);
  border-radius: var(--border-radius-xs);
  width: 100%;
}

.section-login-form form{
  display: grid;
  gap: 15px;
}

.section-login-form p a {
  text-decoration: none;
}

.section-login-form p a:not(:hover) {
  color: var(--text-grey);
}

/*---------------------------------------------------------------------------
  Password Form
---------------------------------------------------------------------------*/

form.post-password-form,
form.post-password-form p {
  display: flex;
  flex-wrap: wrap;
  gap: 15px;
}

form.post-password-form p {
  flex: 100%;
}

form.post-password-form p,
form.post-password-form label {
  margin: 0 !important;
}

form.post-password-form label  {
  flex: 1;
}

form.post-password-form *[type="submit"] {
  width: 120px !important;
  text-align: center !important;
  align-self: flex-end;
}

/*---------------------------------------------------------------------------
  Gravity Forms
---------------------------------------------------------------------------*/

.gform_wrapper .gform_body,
.gform_wrapper .gform_footer {
  margin: 0;
  display: block;
}

.gform_wrapper .gform_fields,
.gform_wrapper .ginput_complex,
.gform_wrapper .gform-grid-row {
  gap: 15px;
  display: grid;
}

/* Legacy */

.gform_wrapper ul,
.gform_wrapper li {
  margin: 0;
  padding: 0 !important;
  list-style-type: none !important;
}

.gform_wrapper .gform_required_legend {
  display: none !important;
}

/* Labels */

.gform_wrapper .label_only {
  margin: 0;
}

.gform_wrapper .label_only .ginput_container {
  display: none;
}

.gform_wrapper .gfield_label {
  margin-bottom: 10px;
  display: block;
  text-align: left;
}

/* Signature */

.gform_wrapper .gfield_signature_container canvas {
  margin: 10px 0 !important;
}

/* HTML */

.gform_wrapper .gfield_html:nth-child(n + 2) {
  margin: 15px 0 !important;
}

/* File Upload */

.gform_wrapper .gfield--type-fileupload .gform_drop_area {
  border: 1px dashed var(--outline-grey) !important;
  background: var(--light-grey) !important;
  border-radius: var(--border-radius-xs) !important;
}

.gform_wrapper .gfield--type-fileupload .gform_drop_instructions {
  color: var(--text-grey) !important;
  font-weight: 500 !important;
}

.gform_wrapper .ginput_container_fileupload:after {
  content: attr(data-after);
  margin-top: 4px !important; 
}

.gform_wrapper .gfield--type-fileupload .ginput_preview {
  display: flex !important;
  align-items: center;
  gap: 10px;
}

.gform_wrapper .gfield--type-fileupload .ginput_preview button .dashicons {
  font-size: 14px !important;
  width: 14px !important;
  height: 14px !important;
  color: var(--red) !important;
}

.gform_wrapper .gform_button_select_files {
  margin: auto !important;
}

.gform_wrapper .ahpra-certificate input[type="file"]:before {
  content: "Upload AHPRA Certificate";
}

/* Address */

.gform_wrapper .ginput_container_address span,
.gform_wrapper .ginput_container_address input {
  display: block;
  width: 100% !important;
}

.gform_wrapper .ginput_container_address span {
  margin-bottom: 15px;
}

/* Checkbox/Radio */

.gform_wrapper .gfield_radio,
.gform_wrapper .gfield_checkbox,
.gform_wrapper .gfield_radio .gchoice,
.gform_wrapper .gfield_checkbox .gchoice,
.gform_wrapper .ginput_container_consent {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.gform_wrapper .gfield_radio .gchoice,
.gform_wrapper .gfield_checkbox .gchoice {
  flex-wrap: nowrap;
  cursor: pointer;
}

.gform_wrapper .gfield_radio .gchoice:last-child,
.gform_wrapper .gfield_checkbox .gchoice:last-child {
  flex: 1;
  margin: 0;
}

.gform_wrapper .ginput_container_checkbox {
  padding: 15px;
  background: var(--light-grey);
}

.gform_wrapper .list-columns .gchoice {
  flex: 0 0 30% !important;
  min-width: 30%;
}

.gform_wrapper .gchoice .ginput_price,
.gform_wrapper .ginput_container_consent .gchoice .ginput_price {
  margin-left: 8px;
}

.gform_wrapper .gfield_radio label,
.gform_wrapper .gfield_radio label *,
.gform_wrapper .gfield_checkbox label,
.gform_wrapper .gfield_checkbox label *,
.gform_wrapper .ginput_container_consent label *,
.gform_wrapper .ginput_container_consent label {
  color: var(--navy);
  line-height: 20px !important;
  vertical-align: top;
  font-weight: 400 !important;
  font-size: 14px !important;
  margin: 0 !important;
}

.gform_wrapper .gfield_radio label a,
.gform_wrapper .gfield_checkbox label a,
.gform_wrapper .ginput_container_consent label a {
  text-decoration: underline !important;
  color: var(--text-grey) !important
}

.gform_wrapper .gfield_radio input,
.gform_wrapper .gfield_checkbox input,
.gform_wrapper .ginput_container_consent input {
  display: inline-block !important;
}

.gform_wrapper .gfield_consent_description {
  margin-top: 10px !important;
}

/* Password */

.gform_wrapper .ginput_container_password {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.login-form form .login-password,
.gform_wrapper .ginput_container_password span {
  position: relative;
  width: 100%;
}

.gform_wrapper .ginput_container_password .dashicons {
  display: none !important;
}

.login-form form .login-password input.pwd-visibility,
.gform_wrapper .ginput_container_password button {
  position: absolute !important;
  right: 15px !important;
  /* top: 0 !important; */
  bottom: 18px !important;
  margin: auto !important;
  width: 12px !important;
  min-width: 12px !important;
  height: 12px !important;
  min-height: 12px !important;
  background: none !important;
  border: 0 !important;
  padding: 0 !important;
}

.login-form form .login-password input.pwd-visibility:before,
.gform_wrapper .ginput_container_password button:before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  margin: auto;
  -webkit-mask: url(../img/icon-hide.svg) 50% 50% no-repeat;
  -webkit-mask-size: contain;
  background: var(--navy);
}

.login-form form .login-password input.pwd-visibility:checked:before,
.gform_wrapper .ginput_container_password button.hide:before {
  -webkit-mask: url(../img/icon-show.svg) 50% 50% no-repeat;
  -webkit-mask-size: contain;
}

.gform_wrapper .ginput_container_password .gf_clear,
.gform_wrapper .ginput_container_password label {
  display: none;
}

.gform_wrapper .gfield_password_strength {
  border: 0 !important;
  margin-top: 5px !important;
}

.gform_wrapper .gfield_password_strength.strong {
  color: var(--green) !important;
  background: rgba(var(--green-rgb), 0.2) !important;
}

.gform_wrapper .gfield_password_strength.good {
  color: var(--orange) !important;
  background: rgba(var(--orange-rgb), 0.2) !important;
}

.gform_wrapper .gfield_password_strength.bad,
.gform_wrapper .gfield_password_strength.short {
  color: var(--red) !important;
  background: rgba(var(--red-rgb), 0.2) !important;
}

/* List Group */

.gform_wrapper .gfield_list_group,
.gform_wrapper .gfield_list_icons {
  padding: 0 !important;
  border: 0 !important;
  background: none !important;
}

.gform_wrapper .gfield_list .gform-grid-row *{
  margin: 0 !important;
}

.gform_wrapper .gfield_list .gfield_list_header {
  align-items: center;
  margin: 0 !important;
}

.gform_wrapper .gfield_list_icons {
  width: 45px !important;
  gap: 5px !important;
  justify-content: center !important;
}

.gform_wrapper .gfield_list_icons button {
  background: var(--navy) !important;
  width: 20px !important;
  height: 20px !important;
  padding: 0 !important;
  font-size: 0 !important;
  border-radius: 20px !important;
}

.gform_wrapper .gfield_list_icons button.add_list_item  {
  background: var(--navy) url(../img/icon-plus.svg) 50% no-repeat !important;
  background-size: 12px !important;
}

.gform_wrapper .gfield_list_icons button.delete_list_item  {
  background: var(--navy) url(../img/icon-minus.svg) 50% no-repeat !important;
  background-size: 12px !important;
}

@media (max-width: 640px) {
  .gform_wrapper .gfield_list_group {
    display: flex !important;
    flex-direction: column !important;
  }

  .gform_wrapper .gfield_list_icons {
    width: 100% !important;
    /* padding-top: 5px !important; */
  }
}

/* Complex */

.gform_wrapper .ginput_complex {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr);
}

.gform_wrapper .ginput_complex .ginput_container {
  max-width: 100% !important;
}

/* .gform_wrapper .ginput_complex div {
  width: calc(100% / 3 - 10px);
  position: relative;
} */

/* .gform_wrapper .ginput_complex .clear-multi div:after {
  content: "";
  display: block;
  position: absolute;
  width: 10px;
  height: 10px;
  border-bottom: 1px solid;
  border-right: 1px solid;
  color: rgba(58, 58, 66, 0.7);
  right: 1.5rem;
  top: 1.75rem;
  transform: rotate(45deg);
  pointer-events: none;
} */

/* Price */

.input-price {
  position: relative;
}

.input-price .ginput_container:before {
  content: "$ ";
  font-weight: 400;
  font-size: 14px;
  position: absolute;
  display: block;
  bottom: 15px;
  left: 15px;
  margin: auto;
  color: var(--outline-grey);
}

.input-price .ginput_container input {
  padding-left: 30px !important;
}

.gform_wrapper .gfield_shipping {
  margin-top: 15px;
}

.gform_wrapper .gfield_total,
.gform_wrapper .gfield_shipping {
  margin: 0;
  padding: 15px 0 !important;
  border-top: 1px solid var(--outline-grey);
}

.gform_wrapper .gfield_total label,
.gform_wrapper .gfield_total div,
.gform_wrapper .gfield_shipping label,
.gform_wrapper .gfield_shipping div {
  font-size: 12px !important;
  font-weight: 600 !important;
  display: inline-block !important;
}

.gform_wrapper .gfield_total label,
.gform_wrapper .gfield_shipping label {
  margin-right: 10px !important;
  min-width: 100px;
}

/* Progress Bar */

.gform_wrapper .gf_progressbar_wrapper {
  width: 100%;
  padding: 10px !important;
  margin: 0 0 30px 0 !important;
  background: rgba(var(--navy-rgb), 5%) !important;
  border-radius: var(--border-radius-xs) !important;
}

.gform_wrapper .gf_progressbar,
.gform_wrapper  .gf_progressbar_percentage {
  height: 14px !important;
  margin: 0 !important;
}

.gform_wrapper .gf_progressbar {
  border: 1px solid var(--navy) !important;
  background-color: var(--white) !important;
  /* display: none !important; */
}

.gform_wrapper  .gf_progressbar_percentage {
  background: var(--navy) !important;
  height: 12px !important;
}

.gform_wrapper .gf_progressbar_title,
.gform_wrapper  .gf_progressbar_percentage span {
  margin: 0 5px !important;
  font-size: 9px !important;
  color: var(--navy) !important;
  line-height: 12px !important;
  text-transform: uppercase !important;
  font-weight: 600 !important;
}

.gform_wrapper .gf_progressbar_title {
  margin: 0 5px 10px !important;
  text-align: center;
}

/* Errors */

.gform_wrapper .gfield.gfield_error,
.gform_wrapper .gform_validation_errors {
  margin: 0 0 20px !important;
}

.gform_wrapper .gfield.gfield_error,
.gform_wrapper .gform_validation_errors,
.gform_wrapper .validation_error,
.gform_wrapper .validation_message  {
  border: 0 !important;
  background: none !important;
  box-shadow: none !important;
}

.gform_wrapper .gform_validation_errors,
.gform_wrapper .gform_validation_errors *,
.gform_wrapper .gform_submission_error,
.gform_wrapper .gform_submission_error * {
  font-size: 14px !important;
  font-weight: 500 !important;
  color: var(--red) !important;
}

.gform_wrapper .gform_validation_errors {
  padding: 20px !important;
  margin-bottom: 20px !important;
  background: rgba(var(--red-rgb), 5%) !important;
  text-align: center;
}

.gform_wrapper .gfield.gfield_error input,
.gform_wrapper .gfield.gfield_error select,
.gform_wrapper .gfield.gfield_error textarea {
  border: 1px solid var(--red) !important;
}

.gform_wrapper .validation_error,
.gform_wrapper .validation_message {
  font-weight: 400 !important;
  text-align: center;
}

.gform_wrapper .gfield.gfield_error label,
.gform_wrapper .validation_error,
.gform_wrapper .validation_message {
  color: var(--red) !important;
}

.gform_confirmation_message {
  font-size: 12px;
  color: var(--navy);
  margin: 15px 0;
}

/* Footer */

.gform_wrapper .gform_footer,
.gform_wrapper .gform_page_footer {
  display: flex;
  justify-content: space-between;
  padding: 0 !important;
  margin-top: 15px !important;
}

.gform_wrapper .gform_footer input,
.gform_wrapper .gform_page_footer input {
  white-space: normal;
  text-align: center;
  width: auto !important;
}

/* Hidden */

/* .gform_wrapper .gfield_required, */
.gform_wrapper .gform_fileupload_rules,
.gform_wrapper .gform_ajax_spinner,
.gform_wrapper .gform_delete,
.gform_wrapper .gfield_visibility_hidden,
.gform_wrapper .gfield.gfield_error .validation_message,
.gform_wrapper .gform_validation_errors .gform-icon,
.gform_wrapper .hidden_label label {
  display: none !important;
}

/* Legacy Tweaks */

.gform_legacy_markup_wrapper li.gfield,
.gform_legacy_markup_wrapper li.gfield input,
.gform_legacy_markup_wrapper li.gfield select,
.gform_legacy_markup_wrapper li.gfield textarea {
  width: 100% !important;
}

.gform_legacy_markup_wrapper .gfield_checkbox li .ginput_price,
.gform_legacy_markup_wrapper .gfield_radio li .ginput_price,
.gform_legacy_markup_wrapper .ginput_container_consent li .ginput_price {
  margin-left: 8px;
}

.gform_legacy_markup_wrapper .gfield_total label,
.gform_legacy_markup_wrapper .gfield_total span.ginput_total {
  font-size: 16px !important;
}

.gform_legacy_markup_wrapper span.ginput_total {
  color: var(--aqua) !important;
}

/* Responsive */

@media screen and (max-width: 750px) {
  .gform_wrapper .gfield_radio li,
  .gform_wrapper .ginput_container_radio .gchoice,
  .gform_wrapper .gfield_checkbox li,
  .gform_wrapper .ginput_container_checkbox .gchoice {
    flex: 0 0 100%;
  }
}
