/* 
 * Last modified: 17/07
 */

/****************
* Contact Form 7 plugin styling
****************/

.wpcf7 {
    text-align: left;
	--gl--contact--form--field--width: 140px;
}


body {
--gl--contact--label--text: var(--wp--preset--color--contrast-3);
--gl--contact--label--text--active: var(--wp--preset--color--accent-2);
--gl--contact--error: var(--wp--preset--color--attack-red);
--gl--contact--input--text: black;
--gl--contact--form--text: var(--wp--preset--color--contrast-2);
--gl--contact--button--color: var(--wp--preset--color--accent-3);
--gl--contact--button--text: var(--wp--preset--color--base);
--gl--contact--button--hover--color: var(--wp--custom--color-accent-6);
--gl--contact--button--hover--text: var(--wp--preset--color--accent-3);
--gl--contact--input--border: var(--wp--preset--color--contrast-3);
}

/* Set form outer container to 100% width */
.wpcf7 {
    width: 100%;
}
/* Make input containers relative so position:absolute children work */
.wpcf7 .wpcf7-form-control-wrap {
    position: relative;
}

/* Label styling (note: label contains the input, too) */
.wpcf7 label {
    position: relative;
    overflow: hidden;
    font-size: var(--wp--preset--font-size--small);
}

/* Input styling */
.wpcf7 .wpcf7-form-control-wrap input {
    font-size: var(--wp--preset--font-size--small);
    padding: 1.2em .6em .4em .6em;
    transition: all 0.2s ease;
    color: var(--gl--contact--input--text);
    border-width: 1px;
    border-style: solid;
    border-radius: 2px;
    width: 100%;
    border-color: var(--gl--contact--input--border);
    box-sizing: border-box;
    margin-bottom: 1rem;
    transition: margin 0.1s;
}

/* Input with focus state */
.wpcf7 .wpcf7-form-control-wrap input:focus {
    outline: none;
    color: var(--wp--preset--color--contrast);
    border-left-width: 4px;
    width: calc(100%);
}

/* Line breaks in form output <br> but we just neutralise this */
.wpcf7 br {
    display: none;
}

/* Floating labels in their 'placeholder' state */
.wpcf7 label span.float-label {
     z-index: 1;
     display: block;
     left: .6em;
     top: .2em;
     color: var(--gl--contact--label--text);
     /* min-width: 200px; */
     width: calc(100% - .6em);
     position: absolute;
     line-height: 0;
     right: 0;
     padding: 0;
     margin: 0;
     -webkit-transition: all 0.2s ease, width 0s;
     -moz-transition: all 0.2s ease, width 0s;
     -ms-transition: all 0.2s ease, width 0s;
     -o-transition: all 0.2s ease, width 0s;
     transition: all 0.2s ease, width 0s;
}


/* Floating labels in their 'floating' state */
.wpcf7 label.active span.float-label {
    top: -.8em;
    bottom: unset;
    left: .6em;
    padding: .2em .3em;
    color: var(--gl--contact--label--text--active);
    font-size: 12px;
    font-family: var(--wp--preset--font-family--body);
}

/* Input with focus has a bigger left border, so we move the floating label to match that */
.wpcf7 label.active:has(input:focus) span.float-label {
    transform: translateX(3px);
}

/* Inline validation messages */
.wpcf7 .wpcf7-not-valid-tip {
    position: relative;
    font-size: 90%;
    color: var(--gl--contact--form--text);
    font-family: var(--wp--preset--font-family--body);
    /* padding-bottom: .5rem; */
    transition: all 0.2s;
    transform: translateY(-30%);
}

/* Insert an icon before inline validation messages */
.wpcf7 .wpcf7-not-valid-tip::before {
    content:"";
    display: inline-block;
    height: .8em;
    min-width: .2em;
    padding-right: .5em;
    margin-right: .3em;
		margin-left: -.75em;
    background-repeat: no-repeat;
    transform: scaleX(-100%);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 384 512' style='fill:%23cc212c'%3E%3Cpath d='M32 448c-17.7 0-32 14.3-32 32s14.3 32 32 32l96 0c53 0 96-43 96-96l0-306.7 73.4 73.4c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3l-128-128c-12.5-12.5-32.8-12.5-45.3 0l-128 128c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L160 109.3 160 416c0 17.7-14.3 32-32 32l-96 0z'/%3E%3C/svg%3E");
}

.has-accent-orange-background-color > .wpcf7 .wpcf7-not-valid-tip::before {
	    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 384 512' style='fill:%23A21A23'%3E%3Cpath d='M32 448c-17.7 0-32 14.3-32 32s14.3 32 32 32l96 0c53 0 96-43 96-96l0-306.7 73.4 73.4c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3l-128-128c-12.5-12.5-32.8-12.5-45.3 0l-128 128c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L160 109.3 160 416c0 17.7-14.3 32-32 32l-96 0z'/%3E%3C/svg%3E");

}

/* Submit button styling */
.wpcf7 .wpcf7-submit  {

    border-color: var(--wp--preset--color--accent-3);
    background-color: var(--gl--contact--button--color);
    color: var(--gl--contact--button--text);
    border-style: solid;
    font-weight: 600;
    padding-top: 0.5em;
    padding-right: 1.6em;
    padding-bottom: 0.5em;
    padding-left: 1.6em;
    text-transform: uppercase;
    font-family: var(--wp--preset--font-family--roboto-condensed);
    font-size: var(--wp--preset--font-size--medium);
    border-radius: .3em;
    border-width: calc(2px + .02em);
    border-style: solid;
}

/* Submit button hover state */
.wpcf7 .wpcf7-submit:hover,
.wpcf7 .wpcf7-submit:focus-visible {
    background-color: var(--gl--contact--button--hover--color);
    border-color: var(--gl--contact--button--hover--color);
    color: var(--gl--contact--button--hover--text);
}

/* Make main form responses a flex so the :before icon is aligned vertically */
.wpcf7-response-output {
    display: flex;
}

/* Negative main form responses */
.wpcf7 form.invalid .wpcf7-response-output, 
.wpcf7 form.unaccepted .wpcf7-response-output, 
.wpcf7 form.payment-required .wpcf7-response-output {
    color: var(--gl--contact--error);
    font-size: var(--wp--preset--font-size--small);
    padding: .5em .5em;
    margin: 1em 0 0 0;
    border: none;
    font-weight: 600;
    font-family: var(--wp--preset--font-family--body);
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: flex-start;
    line-height: 1.1em;
	border-radius: 3px;
	text-align: left;
}

div:not(.outline-form) .wpcf7 form.invalid .wpcf7-response-output, 
div:not(.outline-form) .wpcf7 form.unaccepted .wpcf7-response-output, 
div:not(.outline-form) .wpcf7 form.payment-required .wpcf7-response-output {
	margin: .5em 0 .5em 0;
}

/* Add an icon before negative main form responses - icon colour included in background-image value ('fill:%23[hexcode without #]')*/
.wpcf7 form.invalid .wpcf7-response-output:before, 
.wpcf7 form.unaccepted .wpcf7-response-output::before, 
.wpcf7 form.payment-required .wpcf7-response-output::before {
    content: "\f06a";
    font-family: "Font Awesome 6 Free";
    display: inline-block;
    min-width: 1.4em;
    margin-right: .2em;
    background-repeat: no-repeat;
    font-size: 140%;
}




/* All checkbox items */ 
.wpcf7 .wpcf7-list-item {
    margin: 0;
    height: 100%;
}

/* All checkbox labels */
.wpcf7 .wpcf7-list-item label{
    display: flex;
    column-gap: .3em;
    flex-direction: row;
    flex-wrap: nowrap;
}

/* wrap checkboxes in <p> with class="checkbox-row" to make them a row */
.wpcf7 .checkbox-row {
    display: flex;
    flex-direction: row;
    row-gap: 1em;
    column-gap: 1em;
}

/* wrap checkboxes in <p> with class="checkbox-row" to make them a row */

.wpcf7 .checkbox-row,
.wpcf7 p:not(.checkbox-column):not(.checkbox-row):has(.wpcf7-form-control.wpcf7-checkbox)  {
    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
    row-gap: 1em;
    column-gap: 1em;
    line-height: 1.2em;

}

.wpcf7 p:not(.checkbox-column):not(.checkbox-row):has(.wpcf7-form-control.wpcf7-checkbox) .wpcf7-form-control {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    width: 100%;
    row-gap: 1em;
    column-gap: 1em;
}

.wpcf7 .checkbox-row .wpcf7-list-item{
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.wpcf7 p:has(.wpcf7-list-item.first.last) {
	width: 100%;
}

.wpcf7 .wpcf7-form-control-wrap .wpcf7-list-item input {
	max-width: 30px;
	margin: 0;
}

.wpcf7 p:has(.wpcf7-list-item.first.last) {
	margin-bottom: 1.25rem;
	margin-top: .75rem;
}

.wpcf7 p:has(.wpcf7-list-item.first.last) .wpcf7-form-control-wrap,
.wpcf7 p:has(.wpcf7-list-item.first.last) .wpcf7-form-control-wrap .wpcf7-form-control,
.wpcf7 .wpcf7-form-control-wrap .wpcf7-list-item span {
	max-width: unset;
	width: 100%;
	display: block;
}

.wpcf7 p:not(.checkbox-column):not(.checkbox-row):has(.wpcf7-form-control.wpcf7-checkbox) .wpcf7-list-item {
	display: flex;
	flex-direction: row;
	justify-content: center;
	flex-wrap: nowrap;
	height: auto;
}

/* wrap checkboxes in <p> with class="checkbox-column" to make them a column */
.wpcf7 .checkbox-column {
    display: flex;
    flex-direction: column;
    row-gap: 0em;
}

.wpcf7 .checkbox-column .wpcf7-list-item input[type="checkbox"] {
    margin-left: 0;
}

.wpcf7 p.checkbox-row,
.wpcf7 p.checkbox-column,
.wpcf7 p:has(.wpcf7-form-control.wpcf7-checkbox) {
    position: relative;
    font-size: var(--wp--preset--font-size--small)
}

.wpcf7 p.checkbox-row,
.wpcf7 p.checkbox-column,
.wpcf7 p:has(.wpcf7-form-control.wpcf7-checkbox)  {
    position: relative;
    transition: padding 0.2s ease;

}

.wpcf7 p.checkbox-row:has(.wpcf7-not-valid-tip),
.wpcf7 p.checkbox-column:has(.wpcf7-not-valid-tip),
.wpcf7 p:has(.wpcf7-form-control.wpcf7-checkbox):has(.wpcf7-not-valid-tip)  {
    padding-bottom: 25px;
}

.wpcf7 p.checkbox-row .wpcf7-not-valid-tip,
.wpcf7 p.checkbox-column .wpcf7-not-valid-tip,
.wpcf7 p:has(.wpcf7-form-control.wpcf7-checkbox) .wpcf7-not-valid-tip 
{
    position: relative;
    top: 30px;
}

/* updates */

.wpcf7 .wpcf7-form p {
	line-height: 0;
	margin: 0;
}

/* ported back from staging to testing - check if necessary */
.has-background:not(.has-base-background-color) > p.message,
.has-background:not(.has-base-background-color) > .wp-block-contact-form-7-contact-form-selector p.message{
color: white;
line-height: 1.2;
margin-bottom: var(--wp--preset--spacing--30);
	width: 100%;
}

/* for the forms that still have <p> tags */
.wpcf7 p > label  .wpcf7-form-control-wrap input {margin-bottom: 1.25rem;}

.wpcf7 p > label  .wpcf7-not-valid-tip {
    transform: translateY(-10px);
    height: fit-content;
    line-height: 1.2em;
	padding-left: .75em;
}


.wpcf7-not-valid-tip {
    max-height: 0; 
    overflow: hidden;
    animation: expand 1s forwards;
    
}

@keyframes expand {
  0% {
    max-height: 0;
  }
  100% {
    max-height: 50px;
  }
}

/* stop animation of hidden contact form spinner */ 

form .wpcf7-spinner::before {
	animation-name: unset;
}

form.submitting .wpcf7-spinner::before {
	animation-name: spin;
	animation-duration: 1000ms;
	animation-timing-function: linear;
	animation-iteration-count: infinite;
}

/* forms on a background */

.has-background:not(.has-base-background-color) > .wpcf7,
.has-background:not(.has-base-background-color) > .wp-block-contact-form-7-contact-form-selector .wpcf7  {
--gl--contact--label--text: var(--wp--preset--color--contrast-3);
--gl--contact--label--text--active: var(--wp--preset--color--accent-2);
--gl--contact--error: var(--wp--preset--color--base);
--gl--contact--error--background: var(--wp--preset--color--attack-red);
--gl--contact--input--text: black;
--gl--contact--form--text: var(--wp--preset--color--base);
--gl--contact--button--color: transparent;
--gl--contact--button--text: var(--wp--preset--color--base);
--gl--contact--button--hover--color: var(--wp--custom--color-accent-6);
--gl--contact--button--hover--text: var(--wp--preset--color--accent-3);
    --gl--contact--input--border: var(--wp--preset--color--base);
}
.has-background:not(.has-base-background-color) > .wpcf7 [type="submit"],
.has-background:not(.has-base-background-color) > .wp-block-contact-form-7-contact-form-selector .wpcf7 [type="submit"]{
border: 2px solid var(--gl--contact--input--border);
}

.has-background.has-accent-orange-background-color:not(.has-base-background-color) > .wpcf7,
.has-background.has-accent-orange-background-color:not(.has-base-background-color) > .wp-block-contact-form-7-contact-form-selector .wpcf7 {
--gl--contact--button--hover--color: var(--wp--custom--color-accent-orange-6);
--gl--contact--button--hover--text: var(--wp--custom--color-accent-orange-4);
}



.has-background:not(.has-base-background-color) > .wpcf7 [type="submit"]:hover,
.has-background:not(.has-base-background-color) > .wpcf7 [type="submit"]:focus-visible,
.has-background:not(.has-base-background-color) > .wp-block-contact-form-7-contact-form-selector .wpcf7 [type="submit"]:hover,
.has-background:not(.has-base-background-color) > .wp-block-contact-form-7-contact-form-selector .wpcf7 [type="submit"]:focus-visible{
border: 2px solid var(--gl--contact--input--border);
background-color: var(--gl--contact--button--hover--color);
border-color: var(--gl--contact--button--hover--color);
color: var(--gl--contact--button--hover--text);
}

.has-background:not(.has-base-background-color) > .wpcf7 input,
.has-background:not(.has-base-background-color) > .wp-block-contact-form-7-contact-form-selector .wpcf7 input {
    border-top-width: 0;
    border-right-width: 0;
    border-bottom-width: 0;
    border-left-width: 0;
}

.has-background:not(.has-base-background-color) > .wpcf7 .wpcf7-form-control-wrap input:focus,
.has-background:not(.has-base-background-color) > .wp-block-contact-form-7-contact-form-selector .wpcf7 .wpcf7-form-control-wrap input:focus {
    border-left-width: 3px;
}

.has-background:not(.has-base-background-color) > .wpcf7 .wpcf7-form-control-wrap,
.has-background:not(.has-base-background-color) > .wp-block-contact-form-7-contact-form-selector .wpcf7 .wpcf7-form-control-wrap {
    color: white;
}

.has-background:not(.has-base-background-color) > .wpcf7 .wpcf7-response-output,
.has-background:not(.has-base-background-color) > .wp-block-contact-form-7-contact-form-selector .wpcf7 .wpcf7-response-output {
background: var(--gl--contact--error--background);
    color: var(--gl--contact--error);
    width: auto;
    display: flex;
    max-width: max-content;
    padding: .5em .5em;
}

.outline-form {
    --gl--contact--label--text: var(--wp--preset--color--base);
--gl--contact--label--text--active: var(--wp--custom--color-accent-6);
--gl--contact--error: var(--wp--preset--color--base);
--gl--contact--error--background: var(--wp--preset--color--attack-red);
--gl--contact--input--text: var(--wp--preset--color--base);
--gl--contact--form--text: var(--wp--preset--color--base);
--gl--contact--button--color: var(--wp--preset--color--base);
--gl--contact--button--text: var(--wp--preset--color--accent-3);
--gl--contact--button--hover--color: var(--wp--custom--color-accent-6);
--gl--contact--button--hover--text: var(--wp--preset--color--accent-4);
--gl--contact--input--border: var(--wp--preset--color--base);
}

.outline-form .wpcf7 input {
    backdrop-filter: blur(10px);
    background-color: rgba(0, 0, 0, 0.05);
}

.outline-form .wpcf7 .wpcf7-form-control-wrap input:focus{
    color: var(--gl--contact--input--text);
}

.outline-form .wpcf7 [type="submit"] {
    background-color: var(--gl--contact--button--color);
    border: none;
}

.outline-form .wpcf7 [type="submit"]:hover,
.outline-form .wpcf7 [type="submit"]:focus {
    background-color: var(--gl--contact--button--hover--color);
    color: var(--gl--contact--button--hover--text);
    border: none;
}



.wpcf7 .wpcf7-form {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	column-gap: 1rem;
}


.wpcf7 p:has(>label .wpcf7-form-control) {
	width: 100%;
}

.wpcf7 p:has(>label .wpcf7-form-control.width75) {
	width: calc(75% - .5rem);
	flex-grow: 1;
}

.wpcf7 p:has(>label .wpcf7-form-control.width66) {
	width: calc(66.6% - .5rem);
	flex-grow: 1;
	min-width: var(--gl--contact--form--field--width);
}

.wpcf7 p:has(>label .wpcf7-form-control.width50) {
	width: calc(50% - .5rem);
	flex-grow: 1;
	min-width: var(--gl--contact--form--field--width);
}

.wpcf7 p:has(>label .wpcf7-form-control.width33) {
	width: calc(33.3% - .5rem);
	flex-grow: 1;
	min-width: var(--gl--contact--form--field--width);
}

.wpcf7 p:has(>label .wpcf7-form-control.width25) {
	width: calc(25% - .5rem);
	min-width: var(--gl--contact--form--field--width);
}

.wpcf7 p:has(.wpcf7-form-control.width25[type="submit"]) {
		width: calc(25% - .5rem);
		flex-grow: 1;
	margin-top: -1px;
	    min-width: min(150px, 100%);
}
.wpcf7 p:has(.wpcf7-form-control.width33[type="submit"]) {
		width: calc(33% - .5rem);
		flex-grow: 1;
		margin-top: -1px;
		min-width: min(150px, 100%);
}
.wpcf7 p:has(.wpcf7-form-control.width50[type="submit"]) {
		width: calc(50% - .5rem);
		flex-grow: 1;
	margin-top: -1px;
	    min-width: min(150px, 100%);
}
.wpcf7 p:has(.wpcf7-form-control.width66[type="submit"]) {
		width: calc(66% - .5rem);
		flex-grow: 1;
	margin-top: -1px;
	    min-width: min(150px, 100%);
}
.wpcf7 p:has(.wpcf7-form-control.width75[type="submit"]){
	width: calc(75% - .5rem);
	flex-grow: 1;
	margin-top: -1px;
	    min-width: min(150px, 100%);
}

.wpcf7 p:has(.wpcf7-form-control[type="submit"]) [type="submit"]{
	min-width: min(200px, 100%);
	max-width: 100%;
	position: relative;
}

.wpcf7 p:has(.wpcf7-form-control.width25[type="submit"]) [type="submit"],
.wpcf7 p:has(.wpcf7-form-control.width33[type="submit"]) [type="submit"],
.wpcf7 p:has(.wpcf7-form-control.width50[type="submit"]) [type="submit"],
.wpcf7 p:has(.wpcf7-form-control.width66[type="submit"]) [type="submit"],
.wpcf7 p:has(.wpcf7-form-control.width75[type="submit"]) [type="submit"] {
	width: 100%;
	position: relative;
}

form p .wpcf7-spinner,
form p .wpcf7-spinner::before {
	display: none;
}

form.submitting p .wpcf7-submit::after {
	content: "\f110";
	font-family: "Font Awesome 6 Free";
	position: absolute;
	right: .5rem;
	aspect-ratio: 1;
	overflow: hidden;
	display: inline-block;
	color: inherit;
	height: 1em;
	width: 1em;
	margin-top: 1px;
	transform-origin: center;
	visibility: visible;
	animation-name: spin;
    -webkit-animation-direction: normal;
    animation-direction: normal;
    -webkit-animation-duration: 1s;
    animation-duration: 1s;
    -webkit-animation-iteration-count: infinite;
    animation-iteration-count: infinite;
    -webkit-animation-timing-function: steps(8);
    animation-timing-function: steps(8);
	}

.wpcf7-response-output:empty {
	opacity: 0;
}

.wpcf7-response-output {

}

.outline-form .wpcf7 .wpcf7-response-output {
background-color: var(--gl--contact--error--background);
padding: 1em 1em;
}

.outline-form .wpcf7 .wpcf7-not-valid-tip::before {
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 384 512' style='fill:%23e67509'%3E%3Cpath d='M32 448c-17.7 0-32 14.3-32 32s14.3 32 32 32l96 0c53 0 96-43 96-96l0-306.7 73.4 73.4c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3l-128-128c-12.5-12.5-32.8-12.5-45.3 0l-128 128c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L160 109.3 160 416c0 17.7-14.3 32-32 32l-96 0z'/%3E%3C/svg%3E");
}


.wpcf7 p:last-of-type {
	flex-grow: 1;
}

.wpcf7 p:last-of-type:has(button) {
	margin-top: auto;
	margin-bottom: auto;
}

.is-front-cover .wpcf7 p:last-of-type:has(button) {
	margin-top: 2px;
	margin-bottom: auto;
}

.wpcf7 p:has(.wpcf7-submit) ~ p {
	display: none;
}

.wpcf7-form.submitting .wpcf7-submit {
    pointer-events: none;
}


.wpcf7 .wpcf7-list-item.first.last {
	flex-direction: row;
}

.wpcf7 .wpcf7-submit[disabled] {
	cursor: not-allowed;
	transition: background-color 0.2s, color 0.2s;
	background-color: #CCCCCC !important;
	color: var(--wp--preset--color--contrast-2) !important;
	    border-color: #CCCCCC !important;
}


.wpcf7 .wpcf7-form[data-status="sent"] .wpcf7-response-output {
	background-color: var(--wp--preset--color--accent-2);
	border: none;
	margin-left: 0;
    color: var(--wp--preset--color--base);
    font-size: var(--wp--preset--font-size--small);
    padding: .75em .5em;
    margin: 10px 0 10px 0;
    border: none;
    font-weight: 600;
    font-family: var(--wp--preset--font-family--body);
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: flex-start;
    line-height: 1.1em;
    border-radius: 3px;
	text-align: left;
}

.wpcf7 .wpcf7-form[data-status="sent"] .wpcf7-response-output:before {
	content: "\f058";
    font-family: "Font Awesome 6 Free";
    display: inline-block;
    min-width: 1.4em;
    margin-right: .2em;
	font-weight: 700 !important;
    font-size: 140%;
}

.wpcf7  p.message {
	font-size: 0.775rem;
}

/* wpcf7 wrong postcode message */

.wpcf7 .wrong-postcode-container {
	display: grid;
	overflow: hidden;
	grid-template-rows: 0fr;
	  transition: 250ms grid-template-rows ease !important;
}

.wpcf7  .wrong-postcode-container.show-message {
	grid-template-rows: 1fr;
}

.wpcf7 .wrong-postcode-container.show-message span {
		padding: .5em .75em;
	margin-bottom: 20px;
}

.wpcf7 .wrong-postcode-container span {
	overflow: hidden;
	display: block;
	line-height: 1.3em;
	padding: 0 .75em;
	margin-bottom: 0;
	transition: padding 250ms ease, margin 250ms ease;
	background-color: #F1F1F1;
	border-radius: 3px;
}

/* Contact form checkbox fix */
.wpcf7 p:has(.wpcf7-list-item.first.last) .wpcf7-form-control-wrap .wpcf7-list-item.first.last input[type="checkbox"] {
    display: inline-block;
    max-width: 30px;
    width: 40px;
}

/* Pattern Styling */ 

/* For policy-block pattern */
.policy-block .is-nowrap {
    display: flex;
    flex-direction: row;
    justify-content: center;
    flex-wrap: wrap;
}

.policy-block p {
    flex-basis: min(calc(100% - 100px), 60%); 
    flex-shrink: 0;
    flex-grow: 1;
}

/* Explore More */

.is-explore-more a {
	text-decoration: none;
}

/* Mobile Nav */

html.has-modal-open .wp-block-navigation li.menu-button.outline-button a,
html.has-modal-open .wp-block-navigation li.menu-button.white-button a {
	padding: 0.2em 0.4em;
}

html.has-modal-open li a:focus {
	border: 0px !important;
	outline-width: 0px !important;
}

html.has-modal-open li a:focus-visible {
	outline-width: 2px;
}

html.has-modal-open .is-style-candidate_lockup {
	/*display: none; */
}

html.has-modal-open .button-wrapper .is-style-candidate_lockup {
	display: block
}

html.has-modal-open .button-wrapper .is-style-candidate_lockup {
	max-width: fit-content;
}

header .button-wrapper .wp-block-site-title.is-style-candidate_lockup {
	margin-bottom: unset;
}

html.has-modal-open .wp-block-navigation__responsive-container-content ul {
	margin-top: 0;
}



/* Footer */ 
footer.wp-block-template-part {
	margin-block-start:0;
}

/* stop small margin above the sub footer */
.wp-block-template-part:has(.is-sub-footer) {
	margin-block-start: 0 !important;
}

/* Petition */

.is-petition-cover {
		padding-left: var(--wp--preset--spacing--50);
		padding-right: var(--wp--preset--spacing--50);
	}

@media (min-width: 950px) {
	.is-petition-group {
		display: flex;
		flex-direction: row-reverse;
		gap: var(--wp--preset--spacing--60);
	}
	
	.is-petition-group .is-petition-background,
	.block-editor-block-list__block.is-petition-group .block-editor-block-list__block.is-petition-background {
		position: relative;
		z-index: 100;
		margin-top: -22.5rem;
	}
}

@media (max-width: 949px) {
	.is-petition-banner-columns, .is-petition-heading-columns {
		flex-direction: column;
		gap: 0;
		flex-basis: 0;
		flex-grow: 0;
	}
	
	.is-petition-cover .wp-block-cover__background {
		background: linear-gradient(to top, #005221d9 50%, #00000000 100%) !important;
	}
	
}

/****** Recaptcha Logo ******/
.grecaptcha-badge {
	visibility: hidden;
	max-width: 1px;
	max-height: 1px;
	overflow: hidden;
	z-index: 0;
	pointer-events: none;
	position:absolute;
	right: -1000px;
} 

/* Editor */ 
.wp-block-post-title.block-editor-block-list__block.editor-post-title {
	text-transform: unset;
}
