/*  
----------------------------------------------------------------------------------------------------
All Forms
---------------------------------------------------------------------------------------------------- 
*/

.umbraco-forms-fieldset .row-fluid,
.umbraco-forms-navigation.row-fluid { 
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-right: -15px;
    margin-left: -15px;
}

@media (min-width: 0) and (max-width: 767px) {
    .umbraco-forms-fieldset .row-fluid .umbraco-forms-container,
    .umbraco-forms-navigation.row-fluid .umbraco-forms-container {
        -ms-flex: 0 0 100%;
        flex: 0 0 100%;
        max-width: 100%;
    } 
}

.form > .inner { 
    padding:var(--base-spacing);
}

.form > .inner .info { 
    margin-bottom:var(--base-half-spacing);
}

footer#site-footer .form .inner { 
    padding:0!important; border:0 none!important;
} 

textarea {
    resize: none;
}

fieldset {
    margin: 0 0 var(--base-half-spacing);
}

fieldset.buttons {
    margin: 0;
}

.heading.umbraco-forms-caption:not(.main) {
    color: inherit;
}

legend {
    color: inherit;
    border-color: inherit;
    padding: 0 0 8px;
    margin: 10px 0 var(--base-half-spacing);
}

.form-group, 
.umbraco-forms-field:not(.hidden) {
    position: relative;
    margin-bottom:1rem;
}

.umbraco-forms-field .umbraco-forms-field-wrapper { 
    position: relative;
}

.form-group.titleanddescription:not(:first-child) {
    margin-top: var(--base-spacing);
}

/*
.form-group.shortanswer {}*/

/*
.form-group.date {}*/

/*
.form-group.longanswer {}*/

/*
.form-group.uploadafile {}*/

/*
.form-group.password {}*/

/*
.form-group.dropdown {}*/

/*
.form-group.dropdownselect {}*/

/*
.form-group.checkbox {}*/

/*
.form-group.checkbox.checkboxlist {}*/

/*
.form-group.singlecheckbox {}*/

/*
.form-group.radio {}*/

/*
.form-group.multiplechoice {}*/

/*
.form-group.singlechoice {}*/

/*
.form-group.titleanddescription {}*/

.form-group.titleanddescription:first-child .heading {
    margin-top: 0;
}

label {
    position: relative;
    font-weight: normal;
    display: block;
    cursor: pointer;
}

.radio label,
.checkbox label {
    padding-left: 22px;
    margin-bottom: 5px;
}

.umbraco-forms-field.multiplechoice .umbraco-forms-field-wrapper label,
.umbraco-forms-field.singlechoice .umbraco-forms-field-wrapper label {
    cursor: pointer;
    margin-bottom: 5px;
}

label em.req,
.umbraco-forms-indicator {
    font-style: normal;
    color: rgba(var(--form-errors), 1);
}

.form-group .note,
.umbraco-forms-tooltip.help-block { 
    display:block;
    margin-top:5px; font-size:85%; opacity:0.8;
}
.umbraco-forms-tooltip.help-block { 
    margin:0 0 5px;
}

.umbraco-forms-field:not(.checkbox):not(.multiplechoice):not(.title):not(.recaptcha):not(.dataconsent):not(.singlechoice) input,
.umbraco-forms-field.longanswer textarea,
.umbraco-forms-field.dropdown select {
    display: block;
    width: 100%;
    height: calc(1.5em + 0.75rem + 2px);
    min-height: 40px;
    box-shadow: none;
    padding: 0.375rem 0.75rem;
    font-size: 1rem;
    color: #495057;
    background-color: #fff;
    background-clip: padding-box;
    border: var(--form-field-border-width) solid rgba(var(--base-borders), 1);
    border-radius: var(--form-field-border-radius);
    transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out;
}

.umbraco-forms-field.longanswer textarea { 
    height: 200px;
}

.form-control {
    min-height: 40px;
    border: var(--form-field-border-width) solid rgba(var(--base-borders), 1);
    border-radius: var(--form-field-border-radius);
    box-shadow:none;
}

header#site-header .form-control:not(:focus) {
    border: var(--form-field-border-width) solid rgba(var(--header-borders), 1);
}
footer#site-footer .form-control:not(:focus) {
    border: var(--form-field-border-width) solid rgba(var(--footer-borders), 1);
}

.form-control:focus,
.form-check-input:focus,
.umbraco-forms-field:not(.checkbox):not(.multiplechoice):not(.title):not(.recaptcha):not(.dataconsent):not(.singlechoice) input:focus,
.umbraco-forms-field.longanswer textarea:focus,
.umbraco-forms-field.dropdown select:focus {
    border-color: rgba(var(--base-highlight), 1);
    box-shadow: 0 0 5px rgba(var(--base-highlight), 1);
    box-shadow: none !important;
}

.form-control:focus-visible,
.form-check-input:focus-visible,
.umbraco-forms-field input:focus-visible,
.umbraco-forms-field.longanswer textarea:focus-visible,
.umbraco-forms-field.dropdown select:focus-visible {
    outline: 2px dashed rgba(var(--base-highlight), 1) !important;
    outline-offset: 2px !important;
}

header#site-header .form-control:focus-visible,
header#site-header .form-check-input:focus-visible,
header#site-header .umbraco-forms-field input:focus-visible,
header#site-header .umbraco-forms-field.longanswer textarea:focus-visible,
header#site-header .umbraco-forms-field.dropdown select:focus-visible {
    outline: 2px dashed rgba(var(--header-highlight), 1) !important;
}

footer#site-footer .form-control:focus-visible,
footer#site-footer .form-check-input:focus-visible,
footer#site-footer .umbraco-forms-field input:focus-visible,
footer#site-footer .umbraco-forms-field.longanswer textarea:focus-visible,
footer#site-footer .umbraco-forms-field.dropdown select:focus-visible {
    outline: 2px dashed rgba(var(--footer-highlight), 1) !important;
}

.form-group.uploadafile .form-control,
.umbraco-forms-field.fileupload:not(.checkbox):not(.multiplechoice):not(.title):not(.recaptcha):not(.dataconsent):not(.singlechoice) input {
    padding-top: 5px;
}

/*
.form-group.shortanswer .form-control {}*/

/*
.form-group.date .form-control {}*/

/*
.form-group.longanswer .form-control {}*/

/*
.form-group.uploadafile .form-control {}*/

/*
.form-group.password .form-control {}*/

.form-group.dropdown .form-control {
    padding-right: 35px;
}

/*
.form-group.dropdownselect .form-control {}*/

.umbraco-forms-field.checkbox .umbraco-forms-field-wrapper {
    position: absolute; top:0;
}

.form-group.checkbox .form-control {
    min-height:auto; height:auto;
    width: auto;
}

.form-group.checkbox.checkboxlist .form-control {
    min-height:auto; height:auto;
    width: auto;
}

.form-group.singlecheckbox {
    min-height:auto; height:auto;
}

.form-group.radio .form-control,
.form-group.radiobutton .form-control {
    min-height:auto; height:auto;
    width: auto;
}

.form-group.multiplechoice .form-control {
    min-height:auto; height:auto;
    width: auto;
}

.form-group.singlechoice .form-control {
    min-height:auto; height:auto;
    width: auto;
}

.form-group.radio label input[type="radio"],
.form-group.checkbox label input[type="checkbox"] {
    position:absolute;
    top: 5px;
    left: 0;
    margin: 0;
    width: auto;
    cursor: pointer;
}

.umbraco-forms-field.dataconsent .umbraco-forms-field-wrapper input,
.umbraco-forms-field.multiplechoice .umbraco-forms-field-wrapper input,
.umbraco-forms-field.singlechoice .umbraco-forms-field-wrapper input { 
    position:relative; top:1px;
}

.umbraco-forms-field.dataconsent .umbraco-forms-field-wrapper label,
.umbraco-forms-field.multiplechoice .umbraco-forms-field-wrapper label,
.umbraco-forms-field.singlechoice .umbraco-forms-field-wrapper label {
    display: inline-block;
    width: calc(100% - 30px); 
    padding-left:5px;
}

select,
select option {
    -webkit-appearance: none;
    -moz-appearance: none;
    -ms-appearance: none;
    appearance: none;
}

.form-group.dropdown .form-control,
.form-group.date .form-control,
.umbraco-forms-field.date .umbraco-forms-field-wrapper input,
.umbraco-forms-field.dropdown .umbraco-forms-field-wrapper select {
    position: relative;
    z-index: 1;
    padding-top: 0;
    padding-bottom: 0;
    background: none!important;
}

.form-group.dropdown::after,
.form-group.date::after,
.umbraco-forms-field.date .umbraco-forms-field-wrapper::after,
.umbraco-forms-field.dropdown .umbraco-forms-field-wrapper::after {
    font-family: "Ionicons";
    content: "\f280";
    position: absolute;
    top: 32px;
    right: 0;
    left: 0;
    z-index: 0;
    display: block;
    width: 100%;
    min-height: 38px;
    padding: 6px 15px 3px 0;
    font-size: 20px;
    text-align: right;
    color: rgba(var(--base-text), 1);
    background-color: rgba(var(--true-white), 1);
    box-sizing: border-box;
    border-radius: var(--form-field-border-radius);
}

/* Triangle */
.directional-icons-triangle .form-group.dropdown::after,
.directional-icons-triangle .umbraco-forms-field.dropdown .umbraco-forms-field-wrapper::after { 
    content: "\f280";
}
/* Arrow */
.directional-icons-arrow .form-group.dropdown::after,
.directional-icons-arrow .umbraco-forms-field.dropdown .umbraco-forms-field-wrapper::after { 
    content: "\f118";
}
/* Chevron */
.directional-icons-chevron .form-group.dropdown::after,
.directional-icons-chevron .umbraco-forms-field.dropdown .umbraco-forms-field-wrapper::after { 
    content: "\f3d0";
}

.form-group.date::after,
.umbraco-forms-field.date .umbraco-forms-field-wrapper::after { 
    content: "\f2ab";
}

.form-group.dropdown.no-label::after,
.form-group.date.no-label::after,
.umbraco-forms-field.date .umbraco-forms-field-wrapper::after,
.umbraco-forms-field.dropdown .umbraco-forms-field-wrapper::after {
    top: 0;
}

html[dir="ltr"] .buttons .btn.prev + .btn.submit,
html[dir="ltr"] .buttons .btn.prev + .btn.next,
html[dir="ltr"] .umbraco-forms-navigation .btn.prev + .btn.submit,
html[dir="ltr"] .umbraco-forms-navigation .btn.prev + .btn.next,
html[dir="ltr"] .umbraco-forms-navigation .btn.next,
html[dir="ltr"] .umbraco-forms-navigation .btn.prev + .btn[name="__next"] {
    float: right;
}

html[dir="rtl"] .buttons .btn.prev + .btn.submit,
html[dir="rtl"] .buttons .btn.prev + .btn.next,
html[dir="rtl"] .umbraco-forms-navigation .btn.prev + .btn.submit,
html[dir="rtl"] .umbraco-forms-navigation .btn.prev + .btn.next,
html[dir="rtl"] .umbraco-forms-navigation .btn.next,
html[dir="rtl"] .umbraco-forms-navigation .btn.prev + .btn[name="__next"] {
    float: left;
}

.buttons + .return-link {
    margin-top: var(--base-half-spacing);
}


/* VALIDATION */

.form-control.input-validation-error,
.umbraco-forms-field:not(.checkbox):not(.multiplechoice):not(.title):not(.recaptcha):not(.dataconsent):not(.singlechoice) input.input-validation-error,
.umbraco-forms-field.longanswer textarea.input-validation-error,
.umbraco-forms-field.dropdown select.input-validation-error {
    border-color: rgba(var(--form-errors), 1)!important;
    box-shadow:none;
    border-radius: var(--form-field-border-radius) var(--form-field-border-radius) 0 0;
}

.form-control.input-validation-error:focus {
    border-color: rgba(var(--form-errors), 1)!important;
    box-shadow: 0 1px 1px rgba(var(--true-black), 0.75) inset, 0 0 8px rgba(var(--form-errors), 0.5)!important;
    box-shadow:none!important;
    border-radius: var(--form-field-border-radius) var(--form-field-border-radius) 0 0;
}

.field-validation-error {
    display: block;
    padding: 5px;
    font-size: 12px;
    background-color: rgba(var(--form-errors), 1);
    color: rgba(var(--true-white), 1);
}

.validation-summary-errors {
    color: rgba(var(--form-errors), 1);
}

.field-validation-valid {
    display: none;
}

.validation-summary-valid {
    display: none;
}

.form .info + .alert,
.form .info + .form-inner { 
    margin-top: var(--base-half-spacing);
}
.form .info + .form-inner > .alert {
    margin-bottom: var(--base-half-spacing);
}


/* Recaptcha */

.item_form-single_field .g-recaptcha, 
.item_form-single_field .h-captcha {
    margin-top: var(--base-half-spacing);
}

.justify-content-center .item_form-single_field .g-recaptcha > div,
.justify-content-center .item_form-single_field .h-captcha > div {
    margin: 0 auto;
}

.grecaptcha-badge { visibility: hidden!important; }

.note-recaptcha { 
    margin-top: var(--base-spacing);
}

.note-recaptcha > p {
    margin:0;
}

.note-recaptcha a {
    display: inline!important;
}

.note-recaptcha span { 
    opacity:0.8;
}


/* Radio & Checkbox styling */
/* Had to be a little creative in writing the CSS for the Umbraco Forms generated HTML */
.umbraco-forms-field.checkbox label,
.umbraco-forms-field.dataconsent .umbraco-forms-field-wrapper label,
.umbraco-forms-field.multiplechoice .umbraco-forms-field-wrapper label,
.umbraco-forms-field.singlechoice .umbraco-forms-field-wrapper label,
.form-group.checkbox label
.form-group.radio label {
	padding-left: 22px;
    z-index: 10;
}

.umbraco-forms-field.checkbox .umbraco-forms-field-wrapper input,
.umbraco-forms-field.dataconsent .umbraco-forms-field-wrapper input,
.umbraco-forms-field.multiplechoice .umbraco-forms-field-wrapper input,
.umbraco-forms-field.singlechoice .umbraco-forms-field-wrapper input,
.form-group.checkbox .form-control
.form-group.radio .form-control {
	position: absolute;
	opacity: 0;
	cursor: pointer;
	width: 0; height: 0;
}
.umbraco-forms-field.checkbox .umbraco-forms-field-wrapper::before,
.umbraco-forms-field.dataconsent .umbraco-forms-field-wrapper::before,
.umbraco-forms-field.multiplechoice .umbraco-forms-field-wrapper .checkboxlist label::before,
.umbraco-forms-field.singlechoice .umbraco-forms-field-wrapper .radiobuttonlist label::before {
    content: "";
}
.umbraco-forms-field.checkbox .umbraco-forms-field-wrapper::before,
.umbraco-forms-field.dataconsent .umbraco-forms-field-wrapper::before,
.umbraco-forms-field.multiplechoice .umbraco-forms-field-wrapper .checkboxlist label::before,
.umbraco-forms-field.singlechoice .umbraco-forms-field-wrapper .radiobuttonlist label::before,
.form-group.checkbox span,
.form-group.radio span {
	position: absolute;
	top: 4px; left: 0;
	width: 15px; height: 15px;
	background-color: rgba(var(--true-white), 1);
	border: var(--form-field-border-width) solid rgba(var(--base-borders), 0.75);
	transition: all 0.35s ease-in-out 0s;
}
.umbraco-forms-field.singlechoice .umbraco-forms-field-wrapper .radiobuttonlist label::before,
.form-group.radio span {
	border-radius: 50%;
}

.umbraco-forms-field.checkbox:has(label:hover) .umbraco-forms-field-wrapper::before,
.umbraco-forms-field.checkbox:has(.umbraco-forms-field-wrapper:hover) .umbraco-forms-field-wrapper::before,
.umbraco-forms-field.dataconsent:has(label:hover) .umbraco-forms-field-wrapper::before,
.umbraco-forms-field.multiplechoice .umbraco-forms-field-wrapper .checkboxlist label:hover::before,
.umbraco-forms-field.singlechoice .umbraco-forms-field-wrapper .radiobuttonlist label:hover::before,
.form-group.checkbox:hover .form-control ~ span,
.form-group.radio:hover .form-control ~ span {
    border: var(--form-field-border-width) solid rgba(var(--base-borders), 1);
    box-shadow: inset 2px 2px 1px rgba(var(--true-black), 0.1);
}

.umbraco-forms-field.checkbox:has(input:checked) .umbraco-forms-field-wrapper::before,
.umbraco-forms-field.dataconsent:has(input:checked) .umbraco-forms-field-wrapper::before,
.umbraco-forms-field.multiplechoice .umbraco-forms-field-wrapper .checkboxlist input:checked + label::before,
.umbraco-forms-field.singlechoice .umbraco-forms-field-wrapper .radiobuttonlist input:checked + label::before,
.form-group.checkbox .form-control:checked ~ span,
.form-group.radio .form-control:checked ~ span {
    border: var(--form-field-border-width) solid rgba(var(--base-borders), 1);
    box-shadow: inset 2px 2px 1px rgba(var(--true-black), 0.1);
}

.umbraco-forms-field.checkbox .umbraco-forms-field-wrapper::after,
.umbraco-forms-field.dataconsent .umbraco-forms-field-wrapper::after,
.umbraco-forms-field.multiplechoice .umbraco-forms-field-wrapper .checkboxlist label::after,
.umbraco-forms-field.singlechoice .umbraco-forms-field-wrapper .radiobuttonlist label::after,
.form-group.checkbox span::after,
.form-group.radio span::after {
	content: "";
	position: absolute;
	opacity: 0;
	transition: all 0.35s ease-in-out 0s;
}

.umbraco-forms-field.checkbox:hover .umbraco-forms-field-wrapper::after,
.umbraco-forms-field.dataconsent:hover .umbraco-forms-field-wrapper::after,
.umbraco-forms-field.multiplechoice .umbraco-forms-field-wrapper .checkboxlist label:hover::after,
.umbraco-forms-field.singlechoice .umbraco-forms-field-wrapper .radiobuttonlist label:hover::after,
.form-group.checkbox:hover span::after,
.form-group.radio:hover span::after {
	/*opacity: 0.25;
	transform: rotate(45deg) scale(0.5);*/
}

.umbraco-forms-field.checkbox:has(input:checked) .umbraco-forms-field-wrapper::after,
.umbraco-forms-field.dataconsent:has(input:checked) .umbraco-forms-field-wrapper::after,
.umbraco-forms-field.multiplechoice .umbraco-forms-field-wrapper .checkboxlist input:checked + label::after,
.umbraco-forms-field.singlechoice .umbraco-forms-field-wrapper .radiobuttonlist input:checked + label::after,
.form-group.checkbox .form-control:checked ~ span::after,
.form-group.radio .form-control:checked ~ span::after {
	opacity: 1;
	transform: rotate(45deg) scale(1);
}

.umbraco-forms-field.checkbox .umbraco-forms-field-wrapper::after,
.umbraco-forms-field.dataconsent .umbraco-forms-field-wrapper::after,
.umbraco-forms-field.multiplechoice .umbraco-forms-field-wrapper .checkboxlist label::after,
.form-group.checkbox span::after {
	top: 0; left: 4.5px;
	width: 5px; height: 10px;
	border: solid rgba(var(--true-black), 1);
	border-width: 0 2px 2px 0;
	transform: rotate(45deg) scale(0.25);
}
.umbraco-forms-field.checkbox .umbraco-forms-field-wrapper::after,
.umbraco-forms-field.dataconsent .umbraco-forms-field-wrapper::after,
.umbraco-forms-field.multiplechoice .umbraco-forms-field-wrapper .checkboxlist label::after {
	top: 5px; left: 5.5px;
}

.umbraco-forms-field.singlechoice .umbraco-forms-field-wrapper .radiobuttonlist label::after,
.form-group.radio span::after {
	top: 2.5px; left: 2.5px;
	width: 8px; height: 8px;
	background-color: rgba(var(--true-black), 1);
	border-radius: 50%;
	transform: scale(0.25);
}
.umbraco-forms-field.singlechoice .umbraco-forms-field-wrapper .radiobuttonlist label::after {
	top: 7.5px; left: 3.5px;
}

.umbraco-forms-field.checkbox:has(input:focus-visible) .umbraco-forms-field-wrapper::before,
.umbraco-forms-field.dataconsent:has(input:focus-visible) .umbraco-forms-field-wrapper::before,
.umbraco-forms-field.multiplechoice .umbraco-forms-field-wrapper .checkboxlist input:focus-visible + label::before,
.umbraco-forms-field.singlechoice .umbraco-forms-field-wrapper .radiobuttonlist input:focus-visible + label::before {
    outline: 2px dashed rgba(var(--base-highlight), 1) !important;
    outline-offset: 2px;
}