/* GENERATED by tools/build_nvy.py from the Nvy theme skeleton, 2026-10-17T11:41:40Z. Do not edit. */

form, 
form * {
	all: revert;
}
[data-hsfc-id=Renderer] .hsfc-Row,
[data-hsfc-id=Renderer] .hsfc-DropdownField>*:not(:last-child),
[data-hsfc-id=Renderer] .hsfc-EmailField>*:not(:last-child),
[data-hsfc-id=Renderer] .hsfc-PhoneField>*:not(:last-child),
[data-hsfc-id=Renderer] .hsfc-TextField>*:not(:last-child),
[data-hsfc-id=Renderer] .hsfc-TextareaField>*:not(:last-child),
[data-hsfc-id=Renderer] .hsfc-DateField>*:not(:last-child),
[data-hsfc-id=Renderer] .hsfc-RadioFieldGroup>*:not(:last-child),
[data-hsfc-id=Renderer] .hsfc-CheckboxFieldGroup>*:not(:last-child),
[data-hsfc-id=Renderer] .hsfc-NumberField>*:not(:last-child)
{
    margin-bottom: 0 !important; 
}

[data-hsfc-id=Renderer] .hsfc-Heading {
	margin-bottom: 0 !important;
	padding-bottom: 1em;
	border-bottom: var(--form-border-width) solid var(--form-input-border-color);
}


[data-hsfc-id=Renderer] .hsfc-RichText *:first-child {
	margin-top: 0 !important;
}

[data-hsfc-id=Renderer] .hsfc-RichText *:last-child {
	margin-bottom: 0 !important;
}



.hsfc-Step__Content { padding: 0 !important;}


form .grecaptcha-logo * {
	all: initial;
}


/* FORMS  * * * * * * * * * * * * * * * * * * * * * * * */

    form,
    .hsfc-Step__Content {

        --font-color: var(--form-text-color);
        --font-weight: 400;

        --structure-column-gap: var(--form-margin-bottom);
        --structure-row-gap: var(--form-margin-bottom);

        --field-font-color: var(--form-input-text-color);
        --field-font-family: var(--font-family-base);
        --field-font-size: var(--form-font-size);
        --field-font-weight: var(--font-weight-normal);
        --field-background: var(--form-input-background-color);
        --field-background-focus: var(--form-input-background-color--focus);
        --field-border-size: var(--form-border-width);
        --field-border-type: solid;
        --field-border-colour: var(--form-input-border-color);
        --field-border-colour-focus: var(--form-input-border-color--focus);
        --field-padding-inline: var(--atom-standard);
        --field-padding-block: var(--atom-large);
        --field-border-radius: var(--form-border-radius);
        --field-min-height: 50px;

        --label-font-size: var(--form-font-size);
        --label-line-height: var(--form-line-height);
        --label-font-family: var(--font-family-base);
        --label-font-weight: 600;
        --label-color: var(--form-label-color);
        --label-background: transparent;
        --label-padding-inline: 0;
        --label-padding-block: 0 0.5em;

        --group-label-font-size: var(--form-font-size);
        --group-label-line-height: var(--form-line-height);
        --group-label-font-family: var(--font-family-base);
        --group-label-font-weight: 600;
        --group-label-color: var(--form-label-color);
        --group-label-background: transparent;
        --group-label-padding-inline: var(--label-padding-inline);
        --group-label-padding-block: var(--label-padding-block);

        --check-radio-column-gap: 0.5em;
        --check-radio-row-gap: 0.5em;
        --check-radio-font-size: var(--form-font-size);
        --check-radio-font-color: var(--form-text-color);
        --check-radio-font-family: var(--font-family-base);
        --check-radio-font-weight: 400;

        --alert-text-colour: var(--form-error-color);
        --alert-text-size: var(--font-size-sm);
        
        container-type: inline-size;
        display: grid;
        row-gap: var(--structure-row-gap);
		width: 100% !important;
		padding: 0 !important;
		margin: 0 !important;
    }

    form fieldset,
	form.hs-form fieldset{
        all: unset;
        display: grid;
        gap: var(--structure-column-gap);
        align-items: flex-start;
		max-width: 100%;
    }
    
    form div.input                              /* OLD */
    {
		display: grid;
		padding: 0 !important;
		margin: 0 !important;
		width: 100% !important;
    }


    form div:has( > label)                      /* BOTH */
    {
		display: grid;
		padding: 0 !important;
		margin: 0 !important;
		width: 100% !important;
    }




    form ul,                                    /* OLD */
    .hsfc-CheckboxFieldGroup__Options,          /* NEW */
    .hsfc-RadioFieldGroup__Options,             /* NEW */
    .hsfc-CheckboxFieldGroup,                   /* NEW */
    .hsfc-RadioFieldGroup                       /* NEW */
    {
		padding: 0 !important;
		margin: 0 !important;
		list-style-type: none !important;
		display: grid !important;
		row-gap: var(--check-radio-row-gap) !important;
    }

    .hsfc-CheckboxFieldGroup,                   /* NEW */
    .hsfc-RadioFieldGroup                       /* NEW */
    {
		row-gap: 0 !important;
    }



    /* Elements */

    textarea,
    select,
    input[type="text"],
    input[type="email"],
    input[type="tel"],
	input[type="password"],
	input[type="date"] {
		display: grid;
		width: 100% !important;
		box-sizing: border-box !important;
		font-family: var(--field-font-family) !important;
		font-size: var(--field-font-size) !important;
		font-weight: var(--field-font-weight) !important;
		padding-inline: var(--field-padding-inline) !important;
		padding-block: var(--field-padding-block) !important;
		border-radius: var(--field-border-radius) !important;
		color: var(--field-font-color) !important;
		background-color: var(--field-background) !important;
		border: var(--field-border-size) var(--field-border-type) var(--field-border-colour) !important;
		min-height: var(--field-min-height) !important;
    }

    textarea:focus,
    select:focus,
    input[type="text"]:focus,
    input[type="email"]:focus,
    input[type="tel"]:focus,
    input[type="password"]:focus,
    input[type="date"]:focus {
        outline: none !important;
        background-color: var(--field-background-focus) !important;
        border-color: var(--field-border-colour-focus) !important;
        color: var(--form-input-text-color--focus) !important;
    }

    input[type="radio"],
    input[type="checkbox"] {
        margin: 0 !important;
        width: auto !important;
    }

    /* Labels */
    label 
    {
		display: block;
		width: 100% !important;
		font-size: var(--label-font-size) !important;
		color: var(--label-color) !important;
		font-family: var(--label-font-family) !important;
		font-weight: var(--label-font-weight) !important;
		padding-block: var(--label-padding-block) !important;
		padding-inline: var(--label-padding-inline) !important;
		line-height: var(--label-line-height) !important;
    }


    .hs-fieldtype-radio > label,                /* OLD */
    .hs-fieldtype-checkbox > label,             /* OLD */
    .hsfc-CheckboxFieldGroup > label,           /* NEW */
    .hsfc-RadioFieldGroup > label {             /* NEW */
		font-size: var(--group-label-font-size) !important;
		font-weight: var(--group-label-font-weight) !important;
		color: var(--group-label-color) !important;
		font-family: var(--group-label-font-family) !important;
		padding-block: var(--group-label-padding-block) !important;
		padding-inline: var(--group-label-padding-inline) !important;
		line-height: var(--group-label-line-height) !important;
    }



    /* Radio and checkboxes */
    .hs-form-booleancheckbox-display,           /* OLD */
    .hs-form-radio-display,                     /* OLD */
    .hs-form-checkbox-display,                  /* OLD */
    .hsfc-CheckboxField .hsfc-FieldLabel,       /* NEW */
    .hsfc-RadioField .hsfc-FieldLabel,          /* NEW */
    .hsfc-CheckboxFieldGroup__Options label,    /* NEW */
    .hsfc-RadioFieldGroup__Options label        /* NEW */
    {
		display: grid !important;
		grid-template-columns: auto 1fr !important;
		align-items: center !important;
		line-height: 1.1 !important;
		padding: 0 !important;
		gap: var(--check-radio-column-gap) !important;
		font-size: var(--check-radio-font-size) !important;
		color: var(--check-radio-font-color) !important;
		font-family: var(--check-radio-font-family) !important;
		font-weight: var(--check-radio-font-weight) !important;
    }


    /* For the AU part on the phone numbers */ 

    .hsfc-PhoneInput                            /* NEW */
    {
		display: grid !important;
		grid-template-columns: auto 1fr !important;
		align-items: center !important;
    }

    .hsfc-PhoneInput input[type="tel"]         /* NEW */
    {
		border-radius: 0 var(--field-border-radius) var(--field-border-radius) 0 !important;
    }

    .hsfc-PhoneInput__FlagAndCaret             /* NEW */
    {
		box-sizing: border-box !important;
		height: 100% !important;
		padding: 0.5em !important;
		display: grid !important;
		place-content: center !important;
		background: var(--field-border-colour) !important;
		color: #fff !important;
		line-height: 1 !important;
		border-radius: var(--field-border-radius) 0  0 var(--field-border-radius) !important;
		border: none !important;
    }








    /* Errors - This will need work way more added to it for the old styles  */
    .hs-error-msgs,
    .hs-error-msg,
    .hsfc-ErrorAlert,
    .hs-error-msgs .hs-main-font-element,
    .hs-error-msg .hs-main-font-element
    {
		color: var(--alert-text-colour) !important;
		font-size: var(--alert-text-size) !important;
		font-weight: 400 !important;
    }


    textarea.invalid.error,
    select.invalid.error,
    input.invalid.error {
			border-color: var(--alert-text-colour) !important;
		}




/* ── Shared module form submit ─────────────────────────────
   Used by text-form and columns modules.
   Colour vars (--mvs-s-*) are set per module via modifier classes.
   ─────────────────────────────────────────────────────────── */

.mvs-text-form__form .hs-button.primary,
.mvs-text-form__form .hs-submit input[type="submit"],
.mvs-columns__col--form .hs-button.primary,
.mvs-columns__col--form .hs-submit input[type="submit"] {
  -webkit-appearance: none;
  appearance: none;
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  gap: 0.5em;
  padding: var(--button-padding, 0.75rem 1.25rem);
  font-family: var(--font-family-base);
  font-size: var(--button-font-size, 1rem);
  font-weight: var(--button-font-weight, 600);
  line-height: 1.2;
  border-radius: 0;
  cursor: pointer;
  text-decoration: none;
  outline: none;
  transition: var(--button-transition, background 0.2s, color 0.2s, border-color 0.2s);
  background-color: var(--mvs-s-bg, var(--button-primary-bg));
  color: var(--mvs-s-txt, var(--button-primary-text));
  border: var(--button-border-width, 2px) solid var(--mvs-s-bdr, var(--button-primary-border));
}
.mvs-text-form__form .hs-button.primary:hover,
.mvs-text-form__form .hs-submit input[type="submit"]:hover,
.mvs-columns__col--form .hs-button.primary:hover,
.mvs-columns__col--form .hs-submit input[type="submit"]:hover {
  font-size: var(--button-font-size, 1rem);
  padding: var(--button-padding, 0.75rem 1.25rem);
  border-width: var(--button-border-width, 2px);
  border-style: solid;
  background-color: var(--mvs-s-bg-h, var(--button-primary-bg-hover));
  color: var(--mvs-s-txt-h, var(--button-primary-text-hover));
  border-color: var(--mvs-s-bg-h, var(--button-primary-bg-hover));
}

/* Hollow */
.mvs-text-form__form--ss-hollow .hs-button.primary,
.mvs-text-form__form--ss-hollow .hs-submit input[type="submit"],
.mvs-columns__col--ss-hollow .hs-button.primary,
.mvs-columns__col--ss-hollow .hs-submit input[type="submit"] {
  background-color: transparent;
  color: var(--mvs-s-bg, var(--button-primary-bg));
  border-color: var(--mvs-s-bg, var(--button-primary-bg));
}
.mvs-text-form__form--ss-hollow .hs-button.primary:hover,
.mvs-text-form__form--ss-hollow .hs-submit input[type="submit"]:hover,
.mvs-columns__col--ss-hollow .hs-button.primary:hover,
.mvs-columns__col--ss-hollow .hs-submit input[type="submit"]:hover {
  background-color: var(--mvs-s-bg, var(--button-primary-bg));
  color: var(--mvs-s-txt, var(--button-primary-text));
}

/* Text only */
.mvs-text-form__form--ss-text .hs-button.primary,
.mvs-text-form__form--ss-text .hs-submit input[type="submit"],
.mvs-columns__col--ss-text .hs-button.primary,
.mvs-columns__col--ss-text .hs-submit input[type="submit"] {
  background-color: transparent;
  color: var(--mvs-s-bg, var(--button-primary-bg));
  border-color: transparent;
}
.mvs-text-form__form--ss-text .hs-button.primary:hover,
.mvs-text-form__form--ss-text .hs-submit input[type="submit"]:hover,
.mvs-columns__col--ss-text .hs-button.primary:hover,
.mvs-columns__col--ss-text .hs-submit input[type="submit"]:hover {
  color: var(--mvs-s-bg-h, var(--button-primary-bg-hover));
}

	form input[type="submit"].hs-button {
		display: inline-flex;
		justify-content: space-between;
		gap: 0.5em;
		align-items: center;
		padding: var(--button-padding);
		font-size: var(--button-font-size);
		font-weight: var(--button-font-weight);
		line-height: var(--button-line-height);
		border-radius: var(--mvs-corner-accent, 0) var(--button-border-radius) var(--button-border-radius) var(--button-border-radius);
		text-align: center;
		text-decoration: none;
		cursor: pointer;
		transition: var(--button-transition);
		box-sizing: border-box;
		text-decoration: none;
		
    background-color: var(--button-primary-bg);
    color: var(--button-primary-text);
    border: none;
	}

	form input[type="submit"].hs-button:hover {
    background-color: var(--button-primary-bg-hover);
    color: var(--button-primary-text-hover);
    border: none;
		
  }

div[data-hs-forms-root="true"]:has( > form) {
	display: flex;
	justify-content: center;
}

form {
	margin-inline: auto;
	/* max-width: 760px; */
}




    /* Main Structure ******************************************************************/

    fieldset.form-columns-1,                    /* OLD */
    .hsfc-Row                                   /* NEW */
    {
        display: grid;
        grid-template-columns: 1fr !important;
        gap: var(--structure-column-gap) !important;
        align-items: flex-start !important;
    }

    @container (width > 460px) {
        fieldset.form-columns-2,                /* OLD */
        .hsfc-Row:has(> div:nth-child(2))       /* NEW */
        {
            grid-template-columns: 1fr 1fr !important;
        }

    }

    @container (width > 800px) {

        fieldset.form-columns-3,                /* OLD */
        .hsfc-Row:has(> div:nth-child(3))       /* NEW */
        {
            grid-template-columns: 1fr 1fr 1fr !important;
        }

    }



.mvsImageText.enclosed label {
	--label-color: rgba(255,255,255,0.5) !important;
}

.mvsImageText.enclosed label.hs-error-msg {
	--alert-text-colour: white !important;
}


.widget-type-form {
	padding-inline: 0 !important;
	margin-inline: auto !important;
	max-width: 760px !important;
	
}

.widget-type-form h3 {
	margin-top: 0 !important;
	margin-bottom: var(--molecule-standard);
}
