/*
Theme Name:  Project Engage
Version:     2.0
Author:      Tamarin Software
Author URI:  https://tamarin-software.com
Text Domain: engage
*/

@charset "utf-8";

html {
	box-sizing: border-box;
}

*, *:before, *:after {
	box-sizing: inherit;
}

body {
	margin: 0;
	padding: 0;
	font-family: "Roboto", sans-serif;
	font-size: 24px;
    line-height: 38px;
}
a {
	text-decoration: none;
	color: #154999;
}
button {
	outline: none;
	border: none;
	line-height: 1.6em;
}
.caption {
	font-size: .9em;
	text-align: center;
	margin-top: -1em;
	font-style: italic;
}
.container {
	width: 100%;
	max-width: 1440px;
	background-color: #ffffff;
	margin: 0 auto;
}
.header {
	position: relative;
	padding: 20px 0 0 20px;
	display: flex;
	column-gap: 25px;
	align-items: center;
}
.logo {
	flex: 0 0 120px;
}
.main-menu-container {
	position: relative;
	flex: 1;
	display: flex;
	align-items: center;
}
.menu-main-menu-container {
	background-color: #e1eef9;
	border-top-left-radius: 20px;
	border-bottom-right-radius: 20px;
	margin-right: 20px;
}
.main-menu-container .menu, .menu-footer-menu-container .menu {
	list-style-type: none;
	margin: 9px 0 9px 40px;
	padding: 0;
}
.main-menu-container .menu li {
	display: inline-block;
	padding: 0 10px;
}
.main-menu-container .menu li a {
	padding: 22px 18px;
	font-size: 24px;
	color: black;
	border-top-left-radius: 12px;
	border-bottom-right-radius: 12px;
	font-weight: 700;
}
.main-menu-container .menu li:hover a, .main-menu-container .menu .current_page_item a, .main-menu-container #menu-main-menu > .current-menu-ancestor a {
	background-color: #154999;
	color: white;
	font-weight: 700;
}
.main-menu-container .menu li .sub-menu {
	list-style-type: none;
	position: absolute;
    padding: 0;
	z-index: 1000;
	margin-top: 9px;
	border-top: 6px solid white;
	max-width: 360px;
}
.main-menu-container .menu li .sub-menu li {
	display: block;
    padding: 0;
	
}
.main-menu-container .menu li .sub-menu li a {
	background-color: #FFEDE0 !important;
	color: black !important;
	font-size: 24px !important;
	border-radius: 0 !important;
	border-bottom: 6px solid white;
	display: block !important;
	padding: 10px 14px !important;
}
.main-menu-container .menu li .sub-menu li a:hover {
	background-color: #F48154 !important;
	color: black !important;
}
.main-menu-container .menu > li:hover > .sub-menu {
	display: block;
}
.main-menu-container .menu li#menu-item-47.current_page_item a {
	background-color: transparent;
	color: black;
}
.main-menu-container .menu > li.menu-item-has-children > a::after {
    content: '';
    display: inline-block;
    margin-left: 6px;
    width: 0;
    height: 0;
    border-left: 7px solid transparent;
    border-right: 7px solid transparent;
    border-top: 12px solid #F48154;
    position: relative;
    bottom: 1px;
    transition: transform 0.3s ease;
}
.main-menu-container .menu > li.menu-item-has-children:hover > a::after {
    transform: rotate(180deg);
    border-top-color: white;
    bottom: 1px;
}
.menu-main-menu-container {
	flex: 1;
}
.sub-menu {
	display: none;
}
.button, .gform_submit_button_1, .gform_previous_button  {
	background-color: #154999 !important;
	color: white !important;
	font-weight: 700 !important;
	text-transform: uppercase !important;
	display: block;
	padding: 8px 24px !important;
	border-radius: 20px !important;
	font-size: 24px !important;
	text-decoration: none !important;
	line-height: 38px !important;
	outline: none !important;
	border: none !important;
}
.button:hover {
	transform: scale(1.1);
}
.login-button {
	margin-right: 18px;
}
.in-page-button {
    display: inline-block;
    width: auto;
    min-width: 500px; 
    /*text-align: center;*/
}
.in-page-button:hover {
	transform: none;
	background-color: #F48154 !important;
	color: black !important;
}
.video {
	margin-top: 16px;
}
.tools {
	display: flex;
	column-gap: 20px;
}
.tools.subnav {
	column-gap: 14px;
}
.tools .button {
	background-color: #FFEDE0 !important;
	color: black !important;
	text-align: center;
	text-transform: none !important;
	padding: 20px 80px !important;
	font-size: 24px !important;
	font-weight: 700 !important;
	flex: 1 1 0;
}
.tools.subnav .button {
	padding: 10px 20px !important;
	flex: none;
}
.tools.subnav .button.current-page {
	background-color: #E1EEF9 !important;
}
.poster {
	display: block;
	border: none;
}
.content {
	display: flex;
	align-items: flex-start;
	margin-bottom: 16px;
	column-gap: 40px;
}
.content.form {
	width: 100%;
	max-width: 800px;
	margin: 0 auto;
}
.content.form #breadcrumbs {
	display: none;
}
.content a {
	text-decoration: underline;
}
.content table {
	width: 100%;
}
.main {
	flex: 1;
	padding-right: 40px;
	padding-left: 25px;
	padding-bottom: 30px;
}
.main img {
	max-width: 100%;
}
.sidebar {
	flex: 0 0 280px;
	margin-bottom: 30px;
}
.sidebar.home {
	flex: 0 0 400px;
	background-color: #e1eef9;
	margin-top: 16px;
	border-radius: 10px;
	padding: 0 24px;
}
.widget_nav_menu .menu { /*ul*/
	list-style-type: none;
	padding: 0;
	margin: 0;
	font-size: 22px;
	margin-top: 20px;
}
.widget_nav_menu .menu > li {
	border-top: 1px solid black;
	margin-bottom: 0 !important;
	position: relative;
}
.widget_nav_menu .menu > li:first-child {
	border-top: none;
}
.widget_nav_menu .menu > li > a {
    display: block;
    color: black;
    text-decoration: none;
    padding: 12px 30px 12px 12px;
    line-height: 32px;
	font-weight: 400;
}
.widget_nav_menu .menu > li > a:hover {
	background-color: #E1EEF9;
	font-weight: 400;
}
.widget_nav_menu .menu > li.current-menu-item > a, .widget_nav_menu .menu > li.current-menu-ancestor > a {
	background-color: #F48154;
	font-weight: 700;
}
.widget_nav_menu .menu > li.menu-item-has-children > a::after {
  content: '';
  position: absolute;
  right: 10px;
  top: 26px;
  width: 0;
  height: 0;
  border-left: 6px solid transparent;
  border-right: 6px solid transparent;
  border-top: 10px solid black;
  transform: translateY(-50%) rotate(0deg);
  transition: transform 0.3s ease;
}

.widget_nav_menu .menu > li.current-menu-ancestor.menu-item-has-children > a::after {
  transform: translateY(-50%) rotate(180deg);
  top: 28px;
}
.gform-footer {
	justify-content: flex-end !important;
    margin-top: 40px !important;
}
/* .gform-theme--foundation .gform_page_footer {
	gap: 16px !important;
	margin-top: 2em !important;
} */
#gform_3 .gform-page-footer.gform_page_footer {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    width: 100%;
	margin-top: 2em !important;
}

.gform_previous_button {
    justify-self: start;
}

.gform_save_link {
    justify-self: center;
}

.gform_next_button,
.gform_button {
    justify-self: end;
}
h1 {
	font-size: 1.9em;
	color: #154999;
	line-height: 1.2;
}
h2 {
	font-size: 1.4em;
	color: #4a4a4a;
	line-height: 1.5;
}
blockquote {
	background-color: #ffede0;
	display: inline-block;
	border-radius: 20px;
	padding: 10px 40px;
	margin-top: 20px;
	margin-bottom: 20px;
}
.faq-item blockquote {
	background-color: transparent;
	padding-top: 0;
	margin-top: 0;
}
.faq-item blockquote p {
	margin-top: 0;
}
.footer-blue {
	background-color: #154999;
	height: 15px;
}
.footer-black {
	background-color: black;
	color: white;
}
.footer-black a {
	color: white;
	text-decoration: underline;
}
.footer-black .footer-menu-container {
	text-align: center;
}
.footer-black .copyright {
	font-size: .8em;
	text-align: center;
	padding: 1em 0;
	margin: 0;
}
.menu-footer-menu-container .menu {
	margin: 0;
	padding: 1em 0 0;
}
.menu-footer-menu-container .menu li {
	display: inline-block;
	padding-left: 20px;
	padding-right: 20px;
	border-right: 1px solid white;
	line-height: 1;
}
.menu-footer-menu-container .menu li:last-child {
	border: 0;
}
.alignright {
	float: right;
	margin: 0 0 20px 20px;
}
.widget_nav_menu .menu {
	padding-left: 28px;
}
.widget_nav_menu a:hover, .widget_nav_menu .current_page_item > a {
	color: #154999;
	font-weight: bold;
	text-decoration: underline;
}
.widget_nav_menu .sub-menu {
	list-style-type: none;
	margin: 0;
	padding: 0;
}
.widget_nav_menu .sub-menu li {
	margin-bottom: 0;
}
.widget_nav_menu .sub-menu a {
	display: block;
    color: black;
    text-decoration: none;
    padding: 12px 20px 12px 30px;
    line-height: 32px;
	font-size: 22px;
	background-color: #eeeeee;
}
.widget_nav_menu .sub-menu li:first-child a {
	padding-top: 18px;
}
.widget_nav_menu .sub-menu li:last-child a {
	padding-bottom: 18px;
}
.widget_nav_menu .menu > li.current-menu-ancestor .sub-menu, .widget_nav_menu .menu > li.current-page-item .sub-menu {
	display: block;
}
.feedback {
	background-color: #d8d8d8;
	width: 100%;
	text-align: center;
	padding: 1px 12px;
	margin: 100px auto 0;
	border-radius: 20px;
	display: inline-block;
}
.feedback p {
	margin: .5em 0;
}
form input:not([type="file"]), form textarea, form select, form select option, form select:focus, form label, form legend {
	font-family: Roboto, sans-serif !important;
	font-size: 24px !important;
	line-height: 28px !important;
}
.widgets_on_page ul {
	padding: 0 !important;
}
.widgets_on_page .gf_login_form label.gfield_label {
	font-family: Roboto, sans-serif !important;
	font-size: 24px !important;
	font-weight: 500 !important;
	color: #112337 !important;
	line-height: 38px !important;
	margin-bottom: 8px !important;
}

form select {
	padding: 5px 10px !important;
}
.gfield_required_text {
	font-size: 18px !important;
	color: #c02b0a;
}
.widgets_on_page .gf_login_form .gfield_required_text {
	display: inline-block !important;
	margin-left: 4px !important;
}
.widgets_on_page .gf_login_form .gfield, .widgets_on_page .gf_login_form .gform_footer {
	margin-bottom: 24px !important;
}
.widgets_on_page .gf_login_form .gfield-choice-input {
	width: 20px;
  	height: 30px;
  	top: 5px;
  	position: relative;
}
.indent {
	margin-left: 10%;
}
.glossary-filter {
	margin: 1.4em 0;
}
.glossary-filter input {
	font-size: 24px;
    font-family: Roboto, sans-serif;
    margin-left: 12px;
	margin-right: 12px;
}
.search-glossary-button, .clear-glossary-button {
	display: inline-block;
    padding: 0 18px !important;
    font-size: 14px !important;
    position: relative !important;
    top: -4px !important;
    line-height: 36px !important;
}
.clear-glossary-button {
	margin-left:3px;
	display: none;
}
.text-below-glossary {
	margin-top: 2em;
}
.faq-item h3, .legal-terms h2, .accordion-section h2, .glossary-item h2 {
  cursor: pointer;
  display: block;
  padding-left: 40px;
  position: relative;
  transition: background-color 0.3s ease;
  font-weight: 700;
}
.faq-item h3, .legal-terms h2, .glossary-item h2 {
  font-size: 24px;
}
.accordion-section h2 {
	font-weight: 700;
}
.faq-item .response, .legal-terms .definition, .accordion-content, .glossary-definition {
	padding-left: 40px;
}
.faq-item h3::before, .legal-terms h2::before, .glossary-term h2::before, .accordion-section h2::before {
  content: '\2BC8'; /* The caret symbol */
  font-weight: normal;
  font-size: 1em;
  position: absolute;
  left: 0;
  top: 18px;
  transform: translateY(-50%) rotate(0deg);
  transition: transform 0.3s ease;
  color: #F48154;
}
.accordion-section h2::before {
	top: 24px;
}
.faq-item, .glossary-item, .accordion-section {
	margin: -20px;
	border-radius: 20px;
	padding: 1px 20px;
}
.faq-item.open, .glossary-item.open, .accordion-section.open {
	background-color: #FFEDE0;
    margin-top: 1em;
    margin-bottom: 1em;
}
.glossary-item.filtered {
	display: none;
}
.faq-item.open h3::before, .legal-terms.open h2::before, .accordion-section.open h2::before, .glossary-item.open h2::before {
  content: '\2BC6';
}
.faq-item .response, .legal-terms .definition, .accordion-content, .glossary-definition {
	display: none;
}
.glossary-icon {
	width: 100px;
    float: right;
	margin: -30px 50px 20px 20px;	
}
.glossary-definition::after {
  content: "";
  clear: both;
  display: table;
}
.glossary-count {
	margin-left: 10px;
}
.wp-block-embed__wrapper {
    position: relative;
}
.wp-block-embed__wrapper iframe {
    width: 100%;
    height: auto;
    aspect-ratio: 16/9;
}
.faq-item.open .response, .glossary-item.open, .accordion-section.open {
	display: block;
}
.state-names {
	display: flex;
	align-content: flex-start;
	column-gap: 30px;
	margin-bottom: 1em;
}
.state-names div {
	flex: 1 1 0;
}
.state-table {
	width: 100%;
	border-spacing: 0;
	border-collapse: collapse;
}
.state-table th, .state-table td {
	border: 1px solid black;
	padding: 8px 16px;
	text-align: left;
	vertical-align: top;
}
.state-table thead th {
	background-color: #4a4a4a;
	color: white;
	text-align: center;
}
.state-table tbody th {
	text-align: left;
	width: 22%;
}
.state-table tbody td p:last-child {
	margin-bottom: 0;
}
.new-tab-icon {
    height: 1.5em;
    margin-left: 0.25em;
    display: inline-block;
	vertical-align: middle;
}
.sr-only {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}
.new-tab-link {
	white-space: nowrap;
}
#gform_3 {
	margin-bottom: 50px;
}

#gform_3 .gfield--type-section {
	padding: 0 30px !important;
	background-color:#154999 !important; 
	border-bottom: none;
	margin-top: 2em;
}
#gform_3 .gfield--type-section h3 {
	color: white !important;
}	
#gform_3 #field_3_1007 > .gfield_label {
  display: none;
}
#gform_3 .repeater-field-header-title {
	margin: 1em 0;
}
.percentbar_blue {
	background-color: #154999 !important;
}
.button svg path {
	fill: white !important;
}
.button::before {
	color: white !important
}
.repeater-field-header {
	display: none !important;
}
.gfield_repeater_cell {
	width: 100% !important;
	display: block !important;
}
/* .gfield_repeater_cell:first-child {
  	margin-left: 0 !important;
} */
.gfield_repeater_wrapper {
	border: none !important;
	padding-left: 0 !important;
}
/* Only hide the repeater cells (never the button row) */
.js-investigators-repeater .gfield_repeater_item[data-initial-hidden="1"] > .gfield_repeater_cell {
  display: none !important;
}
/* Initial state: no extra space above the Add button */
.js-investigators-repeater.is-initial
  .gfield_repeater_buttons {
  margin-top: 0 !important;
}

.js-investigators-repeater .gfield_repeater_item {
	display: grid;
	grid-template-columns: repeat(12, 1fr);
	row-gap: var(--gf-form-gap-y);
	width: 100%;
}

.js-investigators-repeater .investigator-heading,
.js-investigators-repeater .gfield_repeater_cell {
	grid-column: 1 / -1;
	margin: 0 !important;
}

.js-investigators-repeater
	.gfield_repeater_item:first-child
	.investigator-heading {
	margin-top: 0;
}
.js-investigators-repeater
	.gfield_repeater_item
	.investigator-heading {
	font-weight: 700;
}
/* Remove extra spacing after the last field */
.js-investigators-repeater .gfield_repeater_item .gfield_repeater_cell:last-of-type {
	margin-bottom: 0 !important;
}

/* Give the buttons breathing room */
.js-investigators-repeater .gfield_repeater_buttons {
	margin-top: 20px;
}

.js-investigators-repeater .gfield_repeater_item,
.js-investigators-repeater .gfield_repeater_buttons {
	border: 0 !important;
	border-bottom: 0 !important;
}

.js-investigators-repeater .gfield_repeater_buttons {
	display: flex;
	gap: 10px;
	align-items: center;
	flex-wrap: nowrap;
}

.js-investigators-repeater .add_repeater_item,
.js-investigators-repeater .remove_repeater_item {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	width: auto !important;
	padding: 6px 14px !important;
	font-size: 16px !important;
	line-height: 1.2 !important;
	border-radius: 12px !important;
	white-space: nowrap !important;
}

.js-investigators-repeater
.gfield_repeater_item + .gfield_repeater_item::before {
	display: none !important;
}
/* ===== ENGAGE Generator table polish ===== */

.engage-generator-projects table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  background: #fff;
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 12px;
  overflow: hidden;
}
.engage-generator-projects thead th {
  text-align: left;
  font-weight: 600;
  font-size: 0.95rem;
  padding: 14px 16px;
  background: rgba(0,0,0,.03);
  border-bottom: 1px solid rgba(0,0,0,.08);
  vertical-align: bottom;
}

.engage-generator-projects tbody td {
  padding: 14px 16px;
  border-bottom: 1px solid rgba(0,0,0,.06);
  vertical-align: top;
  font-size: 18px;
  line-height: normal;
}

.engage-generator-projects tbody tr:last-child td {
  border-bottom: none;
}

.engage-generator-projects tbody tr:hover td {
  background: rgba(0,0,0,.02);
}

/* Actions column */
.engage-generator-projects td:last-child {
  min-width: 320px;
  max-width: 560px;
}

/* Buttons: tame theme styles that make them huge */
.engage-generator-projects td:last-child > a.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: auto !important;
  max-width: 100%;
  padding: 10px 14px;
  border-radius: 10px;
  line-height: 1;
  margin: 0 10px 10px 0;
  box-shadow: none;
  text-decoration: none;
  white-space: nowrap;
}

/* Make the button pair wrap nicely if needed */
.engage-generator-projects td:last-child {
  position: relative;
}

/* The doc-links container (currently has inline style; we override it) */
.engage-generator-projects td:last-child > div {
  margin-top: 8px !important;
  font-size: 0.9rem !important;
  line-height: 1.2;
}

/* Hide the literal " | " separators visually (keep in markup) */
.engage-generator-projects td:last-child > div {
  /* allow wrapping + chip layout */
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

/* Doc links as chips */
.engage-generator-projects td:last-child > div a {
  display: inline-flex;
  align-items: center;
  padding: 6px 10px;
  border-radius: 999px;
  background: rgba(11,58,126,.08);
  text-decoration: none;
  font-size: 0.9rem;
}

/* Hover/focus states */
.engage-generator-projects td:last-child > div a:hover,
.engage-generator-projects td:last-child > div a:focus {
  background: rgba(11,58,126,.14);
  text-decoration: underline;
}

/* Project name wrapping */
.engage-generator-projects td:first-child {
  word-break: break-word;
}
.engage-reference-indent {
    padding-left: 4rem;
    text-indent: -4rem;
}
.gfield h4 {
  margin-bottom: 0;
}

/* Mobile-friendly stacking (optional; requires no HTML changes) */
@media (max-width: 900px) {
  .engage-generator-projects table,
  .engage-generator-projects thead,
  .engage-generator-projects tbody,
  .engage-generator-projects th,
  .engage-generator-projects td,
  .engage-generator-projects tr {
    display: block;
  }

  .engage-generator-projects thead {
    display: none;
  }

  .engage-generator-projects tbody tr {
    border-bottom: 1px solid rgba(0,0,0,.08);
    padding: 10px 12px;
  }

  .engage-generator-projects tbody td {
    border-bottom: none;
    padding: 8px 6px;
  }
}
/* Buttons row */
.engage-generator-projects .eg-actions {
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-bottom:10px;
}

.engage-generator-projects .eg-actions .button{
  width:auto !important;
  border-radius:10px;
  padding: 2px 20px !important;
  line-height:1;
  font-size: 16px !important;
}
.engage-generator-projects .eg-actions .button.button-secondary {
	display: none;
}

/* Label above doc chips */
.engage-generator-projects .eg-docs-label{
  font-size:0.85rem;
  font-weight:600;
  opacity:.7;
  margin:16px 0 4px;
  padding: 10px 0 0 8px;
}

/* Doc chips */
.engage-generator-projects .eg-docs{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}

.engage-generator-projects .eg-docs .eg-doc{
  display:inline-flex;
  align-items:center;
  padding:6px 10px;
  border-radius:999px;
  background:rgba(11,58,126,.06);
  text-decoration:none;
  font-size:.9rem;
}

.engage-generator-projects .eg-docs .eg-doc:hover,
.engage-generator-projects .eg-docs .eg-doc:focus{
  background:rgba(11,58,126,.12);
  text-decoration:underline;
}

.eg-status {
  padding: 2px 10px;     
  font-weight: 600;
  font-size: 13px;
  line-height: 1.2; 
}

.eg-project-name, .eg-status, .eg-last-edited {
	padding-top: 29px !important;
}

.status-ready {
  /*background: #e6f4ea;*/
  color: #1e7e34;
}

.status-downloaded {
  /*background: #e8f1ff;*/
  color: #1f5fbf;
}

#gform_3 .all-caps h3 {
	text-transform: uppercase !important;
}
#gform_3 .with-background {
	padding: 0 30px !important;
	background-color:#112337 !important; 
	border-bottom: none;
}
#gform_3 .with-background h3 {
	color: white !important;
}
#gform_3 .with-orange-background {
	padding: 0 30px !important;
	background-color:#FFEDE0 !important; 
	border-bottom: none;
}
#gform_3 .with-orange-background h3 {
	color: black !important;
}
/* Multi-page Gravity Forms footer 
#gform_3 .gform-page-footer.gform_page_footer {
    display: flex !important;
    align-items: center;
    justify-content: flex-start;
    gap: 16px !important;
}
*/
#gform_3 .gform-page-footer.gform_page_footer {
    display: flex !important;
    align-items: center;
    width: 100%;
}

/* First page: Save, then Next */
#gform_3 .gform-page-footer:not(:has(.gform_previous_button)) .gform_save_link {
    order: 1;
}

#gform_3 .gform-page-footer:not(:has(.gform_previous_button)) .gform_next_button {
    order: 2;
}

/* Later pages: Previous, Save, Next */
#gform_3 .gform-page-footer:has(.gform_previous_button) .gform_previous_button {
    order: 1;
}

#gform_3 .gform-page-footer:has(.gform_previous_button) .gform_save_link {
    order: 2;
}

#gform_3 .gform-page-footer:has(.gform_previous_button) .gform_next_button {
    order: 3;
}

/* Prevent flex/order changes from stretching buttons */
#gform_3 .gform-page-footer .gform-theme-button,
#gform_3 .gform-page-footer .button {
    width: auto !important;
    flex: 0 0 auto !important;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
}

#gform_3 .gform-page-footer input.gform_previous_button,
#gform_3 .gform-page-footer input.gform_next_button,
#gform_3 .gform-page-footer input.gform_button,
#gform_3 .gform-page-footer button.gform_save_link {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    flex: 0 0 auto !important;
    margin: 0 !important;
    line-height: 38px !important;
    min-height: 0 !important;
    vertical-align: middle !important;
}

#gform_3 .gform_previous_button {
    order: 1;
}

#gform_3 .gform_save_link {
    order: 2;
}

#gform_3 .gform_next_button,
#gform_3 .gform_button {
    order: 3;
}

/* First page: reserve an empty left column */
#gform_3 .gform-page-footer:not(:has(.gform_previous_button)) {
    display: grid !important;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
}

#gform_3 .gform-page-footer:not(:has(.gform_previous_button)) .gform_save_link {
    grid-column: 2;
    justify-self: center;
    margin: 0 !important;
}

#gform_3 .gform-page-footer:not(:has(.gform_previous_button)) .gform_next_button {
    grid-column: 3;
    justify-self: end;
    margin: 0 !important;
}

/* Later pages: Previous left, Save centered, Next right */
#gform_3 .gform-page-footer:has(.gform_previous_button) .gform_previous_button {
    margin-right: auto !important;
}

#gform_3 .gform-page-footer:has(.gform_previous_button) .gform_save_link {
    margin-left: auto !important;
    margin-right: auto !important;
}

#gform_3 .gform-page-footer:has(.gform_previous_button) .gform_next_button,
#gform_3 .gform-page-footer:has(.gform_previous_button) .gform_button {
    margin-left: auto !important;
}