html{--regFontSize:16px;--fontSizeSmall:12px;--borderRadius:15px;--btnRadius:6px;--btnFontWeight:600;--btnFontSize:14px;--btnBgColor:#2d74b9;--btnShadowColor:rgba(45, 116, 185, 0.2);--btnSubmitShadowColor:rgba(45, 116, 185, 0.4);--btnColor:#FFF;--btnBorderWidth:2px;--btnBorderColor:var(--btnBgColor);--btnBorderStyle:solid;--btnPadding:0.4rem 1rem;--btnAltBgColor:transparent;--btnAltColor:var(--btnBgColor);--btnHoverBgColor:#468cd2;--btnHoverColor:#FFF;--btnTransition:all 150ms ease-in-out;--pulse-duration:3000ms;--highlightColor:#ddeaf7;--optionBg:#eee;--optionPadding:0.5rem 1rem;--optionBorderRadius:20px;--optionFontSize:13px;--mainColor:#2d74b9;--mainColorHighlight:#2d74b933;--icon-external-link:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20"><g style="stroke:rgb(35,82,124);stroke-width:1"><line x1="5" y1="5" x2="5" y2="14" /><line x1="14" y1="9" x2="14" y2="14" /><line x1="5" y1="14" x2="14" y2="14" /><line x1="5" y1="5" x2="9" y2="5"  /><line x1="10" y1="2" x2="17" y2="2" /><line x1="17" y1="2" x2="17" y2="9" /><line x1="10" y1="9" x2="17" y2="2" style="stroke-width:1.5" /></g></svg>');
	--notQuiteBlack: #262626;
}

/* GENERAL STYLES, UTILITIES & HELPERS  */

/* site styles */
body {
	line-height: 1.4;
}
main {
  min-height:60vh;
  margin-block-start: 0;
	a {
		transition: var(--btnTransition);
		&:hover {
			color: var(--btnBgColor);
		}
	}
}
footer.wp-block-template-part {
	margin-block-start: 0 !important;
}

h1, h2, h3 { text-wrap: balance; }

/* external link styling */
a[target="_blank"]::after {
	content: '';
	background: no-repeat var(--icon-external-link);
	padding-right: 1em;
}

/* bulleted lists */
ul.bulleted { list-style-type: disc !important; }

.show_mobi { display: none; } /* show on mobile */

@media only screen and (max-width: 650px) {
	
	.page_grid { padding: 0; } /* page padding on mobile */
	.hide_mobi { display: none !important; } /* hide on mobile */
	.show_mobi { display: block !important; } /* show on mobile */
	.full_mobi { grid-column: span 12 !important; padding-left: 0 !important; } /* full width on mobile */
	.center_mobi { text-align: center !important; } /* center on mobile */

	h2 { 
		font-size: 22px !important;
		&.has-text-align-right { text-align: left !important; }
	}

	header {
		
		.wp-block-site-logo.alignright {
			margin-left: 0;
		}
		.wp-block-site-tagline {
			font-size: 12px !important; 
		}
	}
}

@media only screen and (max-width: 800px) {
	footer {
		p { text-align: center !important; } /* center footer text on small screens */
	}
}

/* GLOBAL FORM STYLES */

/* remove arrows on number fields */
body form input::-webkit-outer-spin-button,body form input::-webkit-inner-spin-button{-webkit-appearance:none !important;display:none !important;margin:0 !important}
input[type=number]{-moz-appearance:textfield !important;appearance:textfield !important}

/* remove character counter on textareas */
.ginput_container_textarea .ginput_counter { display:none !important; } 

/* labels and legends */
legend.gfield_label.gform-field-label,
label.gfield_label.gform-field-label,
p.label {
	font-weight: 600;
	font-size: var(--regFontSize);
	margin-top: 0;
}

/* headings */
form h3 {
	font-family: var(--wp--preset--font-family--domine);
	font-weight: 700;
	text-align: right;
	font-size: 24px;
	margin: 0;
}

@media only screen and (max-width: 650px) {
	form h3 {
		text-align: left;
		font-size: 20px;
		br { display: none; }
	}
}

form h4 {
	font-family: var(--wp--preset--font-family--opensans);
	font-weight: 600;
}

/* text styles */
.gfield.intro {
	grid-column-start: 4;
	grid-column-end: 13;
	padding-left: 20px;
	h3 {
		text-align: left;
	}
}

@media only screen and (max-width: 650px) {
	.gfield.intro {
		grid-column: span 12;
		padding-left: 0;
	}
}

/* hide required fields indicator */
.gform_required_legend, 
.gfield_required,
.gform_validation_errors { display: none !important; }

/* hide validation error coloring */
.gform-theme--framework .gfield_error input[type]:where(:not(.gform-text-input-reset):not([type=hidden])):where(:not(.gform-theme__disable):not(.gform-theme__disable *):not(.gform-theme__disable-framework):not(.gform-theme__disable-framework *)) {
	--gf-local-border-color: var(--gf-ctrl-border-color);
}

/* buttonize radio & checkbox fields */
body .gform_wrapper .gfield.buttonized .gfield_radio .gchoice,
body .gform_wrapper .gfield.buttonized .gfield_checkbox .gchoice {
	position: relative;
	text-align: center;
}
body .gform_wrapper .gfield.buttonized input[type="radio"],
body .gform_wrapper .gfield.buttonized input[type="checkbox"] {
	position: absolute;
	left: -9999px;
}
.gform-theme--framework .gfield--type-choice.gfield.buttonized .gchoice{display:block}
body .gform_wrapper .gfield.buttonized .gfield_radio label,
body .gform_wrapper .gfield.buttonized .gfield_checkbox label {
	display: block !important;
	position: relative;
	max-width: 300px;
	float: left;
	margin: 0 0 0 0 !important;
	padding: 0.5em 1em;
	border: 1px solid #dcd5ce;
	border-radius: 6px 0 0 6px;
	background-color: #FFF;
	cursor: pointer !important;
	&:hover {
		background-color: var(--highlightColor);
	}	
}
body .gform_wrapper .gfield.buttonized .gfield_radio,
body .gform_wrapper .gfield.buttonized .gfield_checkbox,
body .gform_wrapper .gfield.buttonized .gfield_radio,
body .gform_wrapper .gfield.buttonized .gfield_checkbox 
{ display: block; }
body .gform_wrapper .gfield.buttonized.gf_list_3col .gfield_radio .gchoice:nth-child(2) label {
	border-radius: 0 0 0 0 !important;
	border-left: 0 !important;
	border-right: 0 !important;
}
body .gform_wrapper .gfield.buttonized.gf_list_3col .gfield_radio .gchoice:nth-child(3) label {
	border-radius: 0 6px 6px 0 !important;
}
body .gform_wrapper .gfield.buttonized.gf_list_2col .gfield_radio .gchoice:nth-child(2) label {
	border-radius: 0 6px 6px 0 !important;
}
body .gform_wrapper .gfield.buttonized.solo .gfield_checkbox .gchoice label {
	border-radius: 6px 6px 6px 6px !important;
	width: 200px !important
}

body .gform_wrapper .gfield.buttonized input[type="radio"]:focus+label,
body .gform_wrapper .gfield.buttonized input[type="checkbox"]:focus+label {
	border-color: #040404;
}
body .gform_wrapper .gfield.buttonized input[type="radio"]:checked+label,
body .gform_wrapper .gfield.buttonized input[type="checkbox"]:checked+label {
	background-color: #1e73be;
	color: #FFF;
	overflow: hidden;
}
body .gform_wrapper .gfield.buttonized label.error{clear:both}
/* buttonize radio & checkbox fields */

/* Likert scale styling */
.gform-theme--framework table.gsurvey-likert .gsurvey-likert-choice-label {
	font-size: var(--fontSizeSmall);
	word-spacing: 99px;
}

td.gsurvey-likert-row-label:first-of-type { /* question label longer */
	width: 45% !important;
}

@media only screen and (max-width: 650px) { /* question label fullwidth on mobile */
	td.gsurvey-likert-row-label:first-of-type { width: 100% !important; }
}

.single_row table.gsurvey-likert tbody tr:nth-child(odd){ /* don't stripe the table if there's only one row */
	background: none;
}

table.gsurvey-likert tbody tr:hover td { /* highlight hovered rows */
	background-color: #4999dd33;
}

table.gsurvey-likert input[type=radio]:hover {
	border: 2px solid #4999dd;
} /* Likert scale styling */

/* Likert mobile */
@media only screen and (max-width: 650px) {

	.ginput_container_likert {
		table {
			tr {
				display: grid !important;
				grid-template-columns: 1fr 1fr;
				grid-row-gap: 15px !important;
				grid-column-gap: 5px !important;
				padding: 20px 0 !important;
				background-color: transparent !important;
				td {
					background-color: transparent !important;
					&:first-child { 
						grid-column: span 2; 
						font-weight: 600 !important;
					}
				}
				&:hover td {
					background-color: transparent !important;
				}
				.gsurvey-likert-choice {
					background-color: var(--optionBg) !important; 
					padding: 0.25rem 0.5rem !important; 
					border-radius: var(--optionBorderRadius) !important;
					&:hover { background-color: var(--mainColorHighlight) !important; }
					&:has(input:checked) { background-color: var(--mainColorHighlight) !important; }
					&::after { font-size: var(--optionFontSize) !important;  }
				}
			}
		}
	}

			

} /* Likert mobile */

/* hide "sections" HTML headings */
body .gform-theme--framework .gfield--type-section {
	border-block-end: 0px solid white;
	padding-block-end: 0;
}
body .gform-theme--framework .gfield--type-section.hide h3{display:none} 
.gfield--type-html {
	p:first-child { margin-top: 0; }
}

/* salary/rate input masking - not on mobile */
.gfield.masked input {
	-webkit-text-security: disc;
  -moz-text-security: circle;
  text-security: circle;
}
.gfield.unmasked input {
	-webkit-text-security: none;
  -moz-text-security: none;
  text-security: none;
}
@media only screen and (max-width: 650px) { 
	.gfield.masked input,
	.gfield.unmasked input {
		-webkit-text-security: none;
	  -moz-text-security: none;
	  text-security: none;
	}
}

/* salary/rate input/confirmation */
#gform_fields_26,
#gform_fields_26_2,
#gform_fields_27_3,
#gform_fields_27_4 {
	row-gap: 10px;
	.right {
		text-align: right;
	}	
}

@media only screen and (max-width: 650px) { 
	#gform_fields_26,
	#gform_fields_27_3,
	#gform_fields_27_4 {
		.right {
			text-align: left;
		}	
	}
}

/* alert: data missing */
#field_22_65 {
	text-align: center;
	border-radius: 15px;
	border: 2px solid var(--gf-ctrl-desc-color-error);
	padding: 20px 40px;
	p, a {
		color: var(--gf-ctrl-desc-color-error);	
	}
	p:before {
		display: inline-block;
		font-family: "Font Awesome 6 Pro";
		content: "\f071";	
		padding: 0 10px 0 0;
	}
}

/* "START" FORM */
#gform_33 {
	.right { 
		text-align: right; 
		p {
			font-style: italic;
			margin-bottom: 0;
		}	
	}
	.gfield p:first-child { margin-top: 0; }
	.gform_footer {
		display: grid;
		grid-template-columns: repeat(12, 1fr);
		column-gap: var(--gf-form-gap-x);
		margin-top: 40px;
		input[type=submit] {
			grid-column-start: 4;
			grid-column-end: 8;
			margin-left: 20px;
			max-width: 300px;
		}		
	}
	#field_33_7 { /* basis of employment heading and info block */
		display: block grid;
		grid-column-start: 1;
		grid-column-end: 4;
		grid-row-start: 1;
		grid-row-end: 3;
		text-align: right;
	}
	#field_33_2 { /* basis of employment question */
		padding-left: 20px;
		grid-column-start: 4;
		grid-column-end: 13;
		grid-row-start: 2;
		grid-row-end: 3;
	}
	#field_33_12 { /* employee-contractor notes heading and info block */
		display: block grid;
		grid-column-start: 1;
		grid-column-end: 4;
		grid-row-start: 3;
		grid-row-end: 4;
		text-align: right;
		padding-top: 20px;
		padding-bottom: 20px;
		/*border-top: 2px solid #2d57a5;
		border-bottom: 2px solid #2d57a5;*/
	}
	#field_33_10 { /* notes for employee-contractors */
		padding-left: 20px;
		grid-row-start: 3;
		grid-row-end: 4;
		padding-top: 20px;
		padding-bottom: 20px;
		/*border-top: 2px solid #2d57a5; 
		border-bottom: 2px solid #2d57a5;*/
	}
	#field_33_3 { /* employment status question - employee */
		padding-left: 20px;
		grid-column: span 4 !important;
		grid-row-start: 4;
		grid-row-end: 5;
	}
	#field_33_4 { /* employment status question - contractor */
		padding-left: 20px;
		grid-column: span 5 !important;
		grid-row-start: 4;
		grid-row-end: 5;
	}
	#field_33_13 { /* not working heading and info block */
		display: block grid;
		grid-column-start: 1;
		grid-column-end: 4;
		grid-row-start: 5;
		grid-row-end: 6;
		text-align: right;
	}
	#field_33_8 { /* note for unemployed employees */
		padding-left: 20px;
		grid-row-start: 5;
		grid-row-end: 6;
		grid-column: span 4 !important;
	}
	#field_33_9 { /* note for not working contractors */
		padding-left: 20px;
		grid-row-start: 5;
		grid-row-end: 6;
		grid-column: span 5 !important;
	}
	#field_33_11 { /* current employment status heading and info block */
		display: block grid;
		grid-column-start: 1;
		grid-column-end: 4;
		grid-row-start: 4;
		grid-row-end: 5;
		text-align: right;
	}
	

} /* "START" FORM */

/* "START" FORM - mobile */
@media only screen and (max-width: 650px) {
	#gform_33 {

		#field_33_7 { /* basis of employment heading and info block */
			grid-column: span 12 !important;
			grid-row-start: 1;
			grid-row-end: 2;
			text-align: left;
		}
		#field_33_2 { /* basis of employment question */ 
			padding-left: 0;
			grid-column: span 12;
			grid-row-start: 3;
			grid-row-end: 4;
		}
		#field_33_12 { /* employee-contractor notes heading and info block */
			grid-column: span 12;
			grid-row-start: 4;
			grid-row-end: 5;
			padding-top: 20px;
			border: none !important;
			padding-bottom: 0px;
		}
		#field_33_10 { /* notes for employee-contractors */
			padding: 0 !important;
			grid-column: span 12;
			grid-row-start: 5;
			grid-row-end: 6;
			border: none !important;
		}		
		#field_33_11 { /* current employment status heading and info block */
			grid-column: span 12;
			grid-row-start: 6;
			grid-row-end: 7;
		}
		#field_33_3 { /* employment status question - employee */
			padding-left: 0;
			grid-column: span 12 !important;
			grid-row-start: 7;
			grid-row-end: 8;
		}
		#field_33_4 { /* employment status question - contractor */
			padding-left: 0;
			grid-column: span 12 !important;
			grid-row-start: 8;
			grid-row-end: 9;
		}	
		#field_33_13 { /* not working heading and info block */
			grid-column: span 12;
			grid-row-start: 9;
			grid-row-end: 10;
			padding-top: 20px;
		}
		#field_33_8 { /* note for unemployed employees */
			padding-left: 0;
			grid-row-start: 10;
			grid-row-end: 11;
			grid-column: span 12 !important;
		}	
		#field_33_9 { /* note for not working contractors */
			padding-left: 0;
			grid-row-start: 11;
			grid-row-end: 12;
			grid-column: span 12 !important;
		}	
		.gform_fields { row-gap: 20px; }
		.right {
			text-align: left !important;
			h3 + p { margin-top: 0; }
		}
		.gform_footer {
			input[type=submit] {
				grid-column: span 12;
				margin-left: 0 auto !important;
				width: 100%;
			}		
		}

	}

}

/* "MAIN" FORM */
#gform_22 {
	.right { 
		text-align: right; 
		p {
			font-style: italic;
			margin-bottom: 0; margin-top: 0;
		}	
	}
	.gfield p:first-child { margin-top: 0; }
	.gform_footer {
		display: grid;
		grid-template-columns: repeat(12, 1fr);
		column-gap: var(--gf-form-gap-x);
		margin-top: 40px;
		input[type=submit] {
			grid-column-start: 4;
			grid-column-end: 8;
			margin-left: 20px !important;
			max-width: 300px;
		}		
	}
	.gform_fields { row-gap: 1rem !important; }
	.gfield--type-form {
		margin-top: 0;
		text-align: center !important;
		label { justify-content: center; }
	}
	.gfield.right {
		display: grid;
		grid-column-start: 1;
		grid-column-end: 4;
	}
	.gfield .gfield_description p { margin: 0; }
	hr {
		opacity: 20%;
		margin-top: 32px;
	}
	.gfield.intro {
		grid-column-start: 4;
		grid-column-end: 13;
		padding-left: 20px;
		h3 { text-align: left; }
	}
	#field_22_64, /* instructions - employees */
	#field_22_68, /* instructions - contractors */
	#field_22_69 { /* instructions - employee-contractors */
		display: block grid;
		grid-column-start: 4;
		grid-column-end: 13;
		padding-left: 20px;
	}
	label + .gfield_description { margin-top: 0; } /* description under label */
	label:has(+ .gfield_description) { margin-bottom: 0 !important; } /* description under label */
} /* "MAIN" FORM */


/* "MAIN" FORM - mobile */
@media only screen and (max-width: 650px) { /* regular small screens */
	#field_22_2, #field_22_13, #field_22_14, #field_22_15, #field_22_57 { grid-column-start: 1 !important; grid-column-end: 7 !important; } 
	#field_22_4, #field_22_22, #field_22_23, #field_22_16 { grid-column-start: 7 !important; grid-column-end: 13 !important; }
	#field_22_57 { grid-column-start: 4 !important; grid-column-end: 10 !important; } /* center final item */
	#field_22_73, #field_22_49, #field_22_50 { display: none !important; } /* hide spacers */
}

@media only screen and (max-width: 420px) { /* super small screens */
	#field_22_2, #field_22_13, #field_22_14, #field_22_15, #field_22_57 { grid-column: span 12 !important; } 
	#field_22_4, #field_22_22, #field_22_23, #field_22_16 { grid-column: span 12 !important; }
	#field_22_73, #field_22_49 { display: none; } /* hide spacers */
}

@media only screen and (max-width: 650px) {

	#gform_22 {

		hr { margin-top: 16px; }
		.gfield.right {
			grid-column: span 12;
			padding-left: 0;
			text-align: left;
			p {
				margin-top: 0;
			}
			br { display: none; }
		}		
		#field_22_64, /* instructions - employees */
		#field_22_68, /* instructions - contractors */
		#field_22_69 { /* instructions - employee-contractors */
			grid-column: span 12;
			padding-left: 0;
		}
		.gform_footer {
			input[type=submit] {
				grid-column: span 12;
				margin: 0 auto !important;
				width: 100%;
			}		
		}

	} /* #gform_22 */

	} /* "MAIN" FORM - mobile */

/* NESTED FORMS */
.tingle-modal {
	.tingle-modal-box {
		width: clamp(850px, 80%, 1050px); /* sizing of the modal dialog on desktop */
		border-radius: 0 4px 4px 4px;
		
		.tingle-modal-box__content {
			position: relative !important;
			padding: 1rem;
			min-height: 250px;
			
			.gpnf-modal-header { display: none; /* get rid of the title bar */ }
			
			p, .gfield_description { font-size: var(--regFontSize); }
			
			.gfield_description.gfield_validation_message { /* validation message */
				margin: 1.5em 0 !important;
				font-weight: 500;
				font-size: 15px !important;		
				&&:before {
					font-family: "Font Awesome 6 Pro";
					font-size: 18px !important;
					content:"\f06a";
					display: inline-block;
					padding: 0 0.5em 0 0;
				}
			} 

			.alert { /* alert icon for validation */
				p {
					font-weight: 500;
					font-size: 15px !important;
					color: var(--wp--preset--color--custom-survey-blue);
					&&:before{
						font-family: "Font Awesome 6 Pro";
						font-size: 18px !important;
						content: "\f071";
						display: inline-block;
						padding: 0 0.5em 0 0;
					}
				}
			}

			.gchoice:not(.comments_toggle .gchoice,.buttonized .gchoice,.confirm .gchoice,.nobg *) { /* option styling */
				background-color: var(--optionBg); 
				padding: var(--optionPadding); 
				border-radius: var(--optionBorderRadius);
				&&:hover { background-color: var(--mainColorHighlight); }
				&&:has(input:checked) { background-color: var(--mainColorHighlight); }
			}

			.gfield_checkbox {
				margin-top: 1rem !important;
				display: grid;
				grid-row-gap: 0.5rem !important;
				grid-column-gap: 0.5rem !important; 
				.gchoice:not(.comments_toggle .gchoice,.buttonized .gchoice,.confirm .gchoice,.nobg *) {
					label {
						font-size: var(--optionFontSize) !important;
						margin-left: 10px !important;
						width: 100%;
					}
				}
			}

			.gfield_radio {
				margin-top: 1rem !important;
				display: grid;
				grid-row-gap: 0.5rem !important;
				grid-column-gap: 0.5rem !important; 
				.gchoice:not(.comments_toggle .gchoice,.buttonized .gchoice,.confirm .gchoice,.nobg *) {
					margin: 0 0 0.5rem 0;
					label {
						font-size: var(--optionFontSize) !important;
						margin-left: 10px !important;
						width: 100%;
					}
				}
			}

			input[type=text]:not(.nobg),
			input[type=number]:not(.nobg),
			textarea:not(.nobg) {
				border-width: 0;
				box-shadow: none;
				background-color: var(--optionBg); 
				padding: var(--optionPadding); 
				border-radius: var(--btnRadius);
			}			

			textarea { margin-top: 1rem; }
			input[type=text] { inline-size: calc(100% - 40px) !important; }		
			input[type=number].small {
				inline-size: 5rem !important;
				text-align: center;
			}

			.gfield--type-select,
			.ginput_address_country {
				.ts-control, select {
					border-width: 0;
					box-shadow: none;
					background-color: var(--optionBg); 
					padding: var(--optionPadding); 
					border-radius: var(--btnBorderRadius);
				}
				.ts-control, .ts-wrapper.single.input-active .ts-control { background: var(--optionBg); }
				select { padding-top: 0 !important; }
				.nobg input { background-color: transparent !important; }
			}

			/* contract rates entry */
			#field_27_38 { grid-column: span 3; display: flex; align-items: center; }
			#field_27_41 { grid-column: span 3; display: flex; align-items: center; p.label { margin: 0 !important; } }
			#field_27_40 { grid-column: span 6; display: flex; justify-content: center; align-items: flex-start; flex-direction: column-reverse; .ginput_container, .gfield_checkbox { margin: 0 !important; } }
			#field_27_21, #field_27_22, #field_27_28, #field_27_29, #field_27_31, #field_27_32 { display: grid; }
			#validation_message_27_21, #validation_message_27_22, #validation_message_27_28, #validation_message_27_29, #validation_message_27_31, #validation_message_27_32 { grid-column-start: 1; grid-column-end: 2; grid-row-start: 2; grid-row-end: 3; } 

			.toggle_salary { margin: 0 0 1rem 0; }

			/* steps */
			.gf_page_steps {
				position: absolute;
				left: 0;
				top: -2.1rem;;
				gap: 0;

				.gf_step {
					gap: 0;
				}
				
				.gwmpn-page-link:hover {
					text-decoration: none;
				}

				.gf_step:not(.gf_step_active) {
					.gf_step_label {
						background-color: #CCC;
						color: #888 !important;
					}
					&:hover .gf_step_label {
						background-color: #DDD;
						color: #666 !important;
					}
				}

				.gf_step_number { display: none !important; }

				.gf_step_completed .gf_step_number:after {
					display: none !important;
				}

				.gf_step_label {
					text-align: center;
					font-weight: 200;
					font-size: var(--fontSizeSmall);
					font-weight: 600;
					white-space: nowrap;
					line-height: 1.5;					
					background-color: #FFF;
					border-radius: 4px 4px 0 0;
					padding: 0.5rem 2rem;
					letter-spacing: 0.04em;
					color: #111;
				}

			}

		} /* tingle-modal-box__content */

		.tingle-modal-box__footer { /* tingle-modal-box__footer */
			padding: 1rem;			
		} /* tingle-modal-box__footer */

	} /* tingle-modal-box */


} /* NESTED FORMS */

/* NESTED FORMS - mobile */

@media only screen and (max-width: 650px) {
	
	.tingle-modal {
		
		.tingle-modal__close { display: block; width: 3rem; left: unset; right: 0; text-align: center; background-color: transparent; }
		.tingle-modal__closeIcon { margin: 0; color: #000; }
		.tingle-modal__closeLabel { display: none; }

		.tingle-modal-box { /* sizing of the modal dialog on desktop */
			width: 100% !important; max-width: 100% !important; min-width: 100% !important;
			min-height: 100%;
			overflow: visible !important;
			display: grid; align-content: space-between;
		
			.tingle-modal-box__content {				
				overflow-y: visible;
				.gf_page_steps { display: none; } /* hide tabs */
				.toggle_salary { display: none !important; } /* hide salary masking toggle */
				#field_27_41 { grid-column: span 12; }
				#field_27_43 p:first-child, #field_27_45 p:first-child, #field_27_46 p:first-child { margin-top: 1rem; }
			} /* tingle-modal-box__content */

			.tingle-modal-box__footer {
				height: auto !important;
				display: grid !important;
				grid-template-columns: 1fr 1fr;
				grid-column-gap: 20px;
				grid-row-gap: 10px;
				/* buttons */
				.tingle-btn { float: none; margin: 0 !important; }
				.gpnf-btn-next { grid-column-start: 2; }
				.gpnf-btn-previous { grid-column-start: 1; }
				.gpnf-btn-submit { grid-column: span 2; }
			} /* tingle-modal-box__footer */

		} /* tingle-modal-box */

	}	

} /* NESTED FORMS - mobile */


/* ALL BUTTONS  */
.wp-block-button a,
input[type=submit],
input[type=submit].gform_button,
button.wtd-btn-default,
button.wtd-btn-editable,
.tingle-btn {
	border-radius: var(--btnRadius) !important;
	background-color: var(--btnBgColor);
	color: var(--btnColor) !important;
	padding: var(--btnPadding) !important;
	margin: 1rem 0.25rem !important;
	font-size: var(--btnFontSize) !important;
	font-weight: var(--btnFontWeight) !important;
	border: var(--btnBorderWidth) var(--btnBorderStyle) var(--btnBorderColor) !important;
	text-decoration: none !important;
	transition: var(--btnTransition) !important;
	cursor: pointer !important;
	-webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
	box-shadow: 0 0 40px 40px var(--btnShadowColor) inset, 0 0 0 0 var(--btnShadowColor) !important;
}

/* only add hover state when there is a real hover state */
@media only screen and (min-width: 651px) {
	.wp-block-button a,
	input[type=submit],
	input[type=submit].gform_button,
	button.wtd-btn-default,
	button.wtd-btn-editable,
	.tingle-btn {
		&:hover:not(:disabled) {
			background-color: transparent !important;
			color: var(--btnBgColor) !important;
			box-shadow: 0 0 10px 0 var(--btnShadowColor) inset, 0 0 10px 4px var(--btnShadowColor) !important;
		}
	}
	/* tingle ajax spinner on buttons */
	.tingle-btn.gpnf-spinner:hover:before { border-top-color: #2d74b9 !important; }
}

/* nested forms spinner */
.wtd-survey-section { position: relative; }
img.gfspinner {
	position: absolute;
	left: 50%; top: 10px;
}

/* gravity forms default spinner */
body .gform-loader {
	left: -50px !important;
}
@media only screen and (max-width: 650px) {
	body .gform-loader {
		position: static;
	}
}

/* disabled buttons */
input[type=submit].gform_button:disabled {
	opacity: 0.6 !important;
	cursor: not-allowed !important;
}

/* site content buttons */
.wp-block-button a {
	font-size: 16px !important;
}

/* answer questions buttons */
button.wtd-btn-default { 
	background-color: #FFF !important;
	color: var(--btnBgColor) !important;
	width: calc(100% - 40px) !important;
	box-shadow: none !important;
	margin-top: 0.25rem !important;
}

/* review responses button */
button.wtd-btn-editable { 
	background-color: var(--btnBgColor) !important;
	color: var(--btnColor) !important;
	width: calc(100% - 40px) !important;
	margin-top: 0.25rem !important;
}

.gpnf-btn-delete,
.gpnf-btn-cancel,
.gpnf-btn-cancel-mobile,
.gform_last_page_button { display: none !important; /* get rid of extra buttons */ }

@media only screen and (min-width: 651px) {
	.gpnf-btn-next { float: right; width: 100%; max-width: 100px; }
	.gpnf-btn-previous { float: left; width: 100%; max-width: 100px;  }
}

/* final submit button */
.gform_footer input[type=submit] {
	font-size: 18px !important;
	line-height: 1.5;
	font-weight: 700 !important;
	margin-left: 20px !important;
}

@media only screen and (max-width: 650px) {
	#gform_22 {
		button.wtd-btn-editable, button.wtd-btn-default { /* answer/review buttons on mobile */
			max-width: 300px !important;
		}
	}
	.gform_footer input[type=submit] { /* final submit button on mobile */
		grid-column: span 12;
		margin: 0 auto !important;
		width: 100% !important;
	}
	.full_mobi {
		.wp-block-buttons { 
			margin-top: 1.5rem !important;	
			.wp-block-button a { 
				margin: 0 !important; 
			}
		}
	}
}


/* Mailchimp form */
#mc_embed_shell {
	margin: 2rem 0 0 0 !important;
	max-width: 500px;
	border-radius: var(--btnRadius);
	background-color: var(--mainColorHighlight);
	padding: 2rem;
	ul {
		margin: 1rem 0 0 0; padding: 0; list-style: none;
		li { margin: 0 0 0.5rem 0; }
	}
	label { 
		padding-left: 0.3rem;
		span { display: none;	} /* hide required asterisk */
	}
	input[type=email] {
		border-width: 0;
		box-shadow: none;
		background-color: #FFF; 
		padding: var(--optionPadding); 
		border-radius: var(--optionRadius);
		inline-size: calc(100% - 40px) !important;
		margin-bottom: 1rem !important;
		font-size: var(--regFontSize);
	}
	#mce-success-response { font-weight: bold; }
}
@media only screen and (max-width: 650px) {
	#mc_embed_shell { 
		padding: 2rem 1rem;
	 }
}

/* button animation */
@property --pulse-spread {
  syntax: '<length>';
  inherits: true;
  initial-value: 0px;
}

.gform_footer input[type="submit"] {
  box-shadow:
    0 0 40px 40px var(--btnShadowColor) inset,
    0 0 10px var(--pulse-spread) var(--btnSubmitShadowColor) !important;
  transition: background-color .2s ease, color .2s ease, border-color .2s ease;
}

.gform_footer input[type="submit"]:hover:not(:disabled) {
  box-shadow:
    0 0 10px 0 var(--btnShadowColor) inset,
    0 0 10px var(--pulse-spread) var(--btnShadowColor) !important;
}

.gform_footer input[type="submit"]:not(:disabled) {
  animation: btn-border-pulse var(--pulse-duration) ease-in-out infinite;
}

/* Reduce distraction: pause the pulse when interacting */
.gform_footer input[type="submit"]:hover:not(:disabled),
.gform_footer input[type="submit"]:focus-visible:not(:disabled) {
  animation-play-state: paused;
}

/* Respect reduced-motion users: no animation */
@media (prefers-reduced-motion: reduce) {
  .gform_footer input[type="submit"]:not(:disabled){animation:none}}@keyframes btn-border-pulse{0%,100%{--pulse-spread:0px}50%{--pulse-spread:7px}}