/*
* Global Styles
* Common styles that apply across all pages
* Load this file on EVERY page
*/

/* Logo */
#logo img {
	width: 187px;
	max-width: 100%;
}

/* Resources */
.resources-filter:nth-child(2) .resources-filter-current {
	width: 310px;
}

.tax-tp_resources_topics .section-header-content.fs-m p,
.tax-tp_resources_cats .section-header-content.fs-m p {
	display: none;
}

/* Layout */
#main {
	overflow: visible;
}

.team-grid {
	margin-top: 0px !important;
}

/* Search */
.search-form {
	display: flex;
	justify-content: center;
	align-items: center;
}

.search-form .search-field {
	width: 250px;
	height: 35px;
	padding: 5px;
	border: 2px solid #ccc;
	border-radius: 5px;
	font-size: 16px;
	transition: all 0.3s ease;
}

.search-form .search-field:focus {
	border-color: #0073aa;
	outline: none;
}

.search-form input.search-submit {
	padding: 0 !important;
	padding-top: 2px !important;
	height: 35px;
	width: 110px;
	font-size: 15px !important;
	line-height: 14px !important;
}

.search-form .search-submit {
	height: 25px;
	width: 100px;
	padding: 0px;
	background-color: #0a2739;
	color: #fff;
	border: none;
	border-radius: 0 5px 5px 0;
	font-size: 12px;
	cursor: pointer;
	transition: background 0.3s ease;
}

/* Testimonials slider S2 */
.testimonials-slider-s2-item-content {
	font-size: 40px;
}

.testimonials-slider-s2-nav a {
	font-size: 20px;
}

.testimonials-slider-s2-item-author-position {
	font-style: italic;
}

.testimonials-slider-s2-item-content:before {
	content: "";
	color: #ffffff;
	height: 46px;
	width: 56px;
	display: inline-block;
	background: url("/wp-content/uploads/2026/01/quotes.svg") no-repeat center center;
	background-repeat: no-repeat;
	background-size: contain;
	margin-right: 10px;
	background-position: bottom;
}

/* Background sections */
.proven-results {
	background: #f3f5f9;
	padding: 70px 0px 40px 0px;
}

.request-demo {
	background: #f3f5f9;
}

.sage-background {
	background: #e6f6fb;
}

.darkbluish-background {
	background: #00599a;
}

.triangle-margins {
	height: 69px;
}

/* S-and-D */
.s-and-d .info-columns-item.text-align-center {
	border-right: solid 1px #e3e3e3;
	box-sizing: border-box;
}

.s-and-d .info-columns-item.text-align-center:last-child {
	border-right: none;
}

.s-and-d h3.info-columns-item-title.fs-s {
	font-size: 15px;
}

/* ECP buttons */
.ecp-buttons {
	border: 1px solid #334aff !important;
	padding: 15px !important;
	border-radius: 4px;
	background: #fff;
	color: #334aff;
	margin: 0 2px !important;
}

/* Tribe events */
@media only screen and (min-width: 1024px) {
	.tribe-events-event-url {
		min-width: 800px;
	}
}

/* Impact arrows */
.impact-arrows-rbutton {
	margin-top: -100px;
}

/* Impact buttons */
.button-group-horizontal {
	display: flex;
	gap: 15px;
	justify-content: center;
	align-items: center;
	font-family: sans-serif;
	flex-wrap: nowrap;
	white-space: nowrap;
}

.impctbtn {
	text-decoration: none;
	font-weight: bold;
	text-transform: uppercase;
	font-size: 12px !important;
	padding: 7px 17px 5px 17px;
	border-radius: 999px;
	transition: all 0.3s ease;
	display: inline-block;
	text-align: center;
}

.impctbtn.filled {
	background-color: #429bd7;
	color: white;
	border: none;
}

.impctbtn.outline {
	background-color: transparent;
	color: #429bd7;
	border: 2px solid #429bd7;
}

.impctbtn:hover {
	opacity: 0.9;
}

/* Stat cards */
.stat-card,
.stat-card2 {
	display: inline-block;
	width: 180px;
	position: relative;
	padding-left: 14px;
	box-sizing: border-box;
	margin: 0px 9px 0px 8px;
	vertical-align: top;
}

.stat-card2 {
	width: 200px;
}

.stat-card::before,
.stat-card2::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 2px;
	background-color: #429bd7;
	height: 91%;
}

.stat-icon {
	width: 40px;
	height: 40px;
	background-color: #429bd7;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 12px;
}

.stat-icon img {
	width: 20px;
	height: 20px;
}

.stat-text {
	font-size: 17px;
	color: #666;
	line-height: 1.4;
}

.stat-text .highlight {
	color: #429bd7;
	font-weight: 600;
}

.stat-text .citation {
	font-size: 12px;
	color: #777;
	margin-top: -8px;
}

.stat-card .stat-text .citation {
	margin-top: 30px;
}

/* Core values */
.core-value-box {
	display: inline-block;
	width: 220px;
	height: 205px;
	padding: 30px 15px 20px;
	background: #fafafa;
	border: 1px solid #429bd7;
	border-radius: 8px;
	text-align: left;
	vertical-align: top;
	box-sizing: border-box;
}

.core-icon {
	width: 40px;
	height: 40px;
	background: #429bd7;
	border-radius: 50%;
	margin: -17px 0px 30px 0px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.core-icon img {
	width: 24px;
	height: 24px;
}

.core-value-box h3 {
	font-size: 21px;
	font-weight: 700;
	color: #666;
	margin: 0 0 8px;
}

.core-value-box p {
	font-size: 15px;
	color: #666;
	line-height: 1.5;
	margin: 0;
}

/* Feature boxes */
.feature-box {
	display: inline-block;
	width: 290px;
	height: 155px;
	padding: 30px 20px;
	border-radius: 8px;
	color: white;
	text-align: center;
	vertical-align: top;
	box-sizing: border-box;
}

.feature-box h3 {
	color: white;
	font-size: 18px;
	font-weight: 700;
	margin-bottom: 12px;
}

.feature-box p {
	font-size: 13px;
	line-height: 1.5;
	margin: 0;
}

.feature-purple {
	background-color: #955cfd;
}

.feature-blue {
	background-color: #429bd7;
}

.feature-green {
	background-color: #5db616;
}

/* Fact boxes */
.fact-box {
	display: inline-block;
	width: 290px;
	height: 250px;
	padding: 25px 20px;
	border: 1.5px solid #429bd7;
	border-radius: 8px;
	text-align: left;
	background: #fdfdfd;
	vertical-align: top;
	box-sizing: border-box;
}

.fact-icon {
	width: 40px;
	height: 40px;
	background-color: #429bd7;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: -8px 0px 10px 3px;
}

.fact-icon img {
	width: 20px;
	height: 20px;
}

.fact-box p {
	font-size: 20px;
	color: #666;
	line-height: 1.5;
	padding: 10px;
}

.highlight {
	color: #429bd7;
	font-weight: 600;
}

/* Impact section */
.impact-section {
	background: #fff;
	border-radius: 16px;
	border: solid 1px #429bd7;
	max-width: 1000px;
	margin: -25px auto -10px auto;
	box-shadow: 0 10px 50px rgba(0, 0, 0, 0.2);
	text-align: center;
}

.impact-header {
	background-color: #429bd7;
	color: white;
	font-weight: bold;
	padding: 16px;
	border-radius: 12px 12px 0 0;
	font-size: 20px;
	margin-bottom: 30px;
}

.impact-columns {
	display: flex;
	flex-wrap: nowrap;
	justify-content: space-around;
	padding-bottom: 40px;
	display: flex;
}

.impact-img1 {
	width: 280px;
	height: auto;
	display: block;
	margin: 0;
}

.impact-img2 {
	width: 240px;
	height: auto;
	display: block;
	margin: 15px 0 0 0;
}

.impact-img3 {
	width: 185px;
	height: auto;
	display: block;
}

.impact-box1 p {
	font-weight: bold;
	font-size: 18px;
	color: #333;
	line-height: 1;
	margin: 0 0 30px 50px;
}

.impact-box2 p {
	font-weight: bold;
	font-size: 18px;
	color: #333;
	line-height: 1;
	margin: 5px 0 0 23px;
}

.impact-box3 p {
	font-weight: bold;
	font-size: 18px;
	color: #333;
	line-height: 1;
	margin: 0 0 30px 40px;
}

/* Six stat card */
.six-stat-card {
	display: inline-block;
	width: 525px;
	height: 455px;
	background-color: #f2f6ff;
	border-radius: 16px;
	padding: 33px 65px;
	text-align: left;
	position: relative;
	vertical-align: top;
	box-sizing: border-box;
}

.six-stat-arrow {
	position: absolute;
	top: -36px;
	right: 40px;
	width: 115px;
	height: auto;
}

.six-stat-value {
	font-size: 200px;
	font-weight: 900;
	color: #10589b;
	margin-bottom: 12px;
	line-height: 1;
}

.six-stat-description {
	font-size: 40px;
	font-weight: 600;
	color: #10589b;
	line-height: 1.4;
}

.six-stat-value .six-percent {
	font-size: 50%;
}

/* Bubble stats */
.bubble-stat-box {
	display: inline-block;
	background-color: #fff6e7;
	border-radius: 12px;
	padding: 20px;
	width: 373px;
	height: 155px;
	text-align: center;
	vertical-align: top;
}

.bubble-stat-top {
	position: relative;
	margin-bottom: 16px;
}

.bubble-stat-top img {
	transform: translate(-54%, -77%);
	position: absolute;
	width: 160px;
	height: auto;
	z-index: -1;
}

.bubble-stat-number {
	transform: translate(-50%, -47%);
	position: absolute;
	top: -20px;
	font-size: 68px;
	font-weight: 900;
	color: #111;
	text-align: center;
}

.bubble-stat-content {
	font-size: 16px;
	color: #111;
	line-height: 1.5;
	margin-top: -15px;
}

.impactstublurb {
	display: block;
	max-width: 800px;
	text-align: center;
	margin: 0 auto;
	padding-bottom: 60px;
}

.bubble-stat-box.purple {
	background-color: #f2ecfd;
	border-radius: 12px;
	padding: 20px;
	width: 373px;
	height: 135px;
	text-align: center;
	vertical-align: top;
	display: inline-block;
}

.bubble-stat-box.purple .bubble-stat-top {
	position: relative;
	margin-bottom: 16px;
}

.bubble-stat-box.purple .bubble-stat-top img {
	transform: translate(-50%, -78%);
	position: absolute;
	width: 160px;
	height: auto;
	z-index: -1;
}

.bubble-stat-box.purple .bubble-stat-number {
	transform: translate(-50%, -47%);
	position: absolute;
	top: -20px;
	left: 50%;
	font-size: 68px;
	font-weight: 900;
	color: #111;
	text-align: center;
}

.bubble-stat-box.purple .bubble-stat-content {
	font-size: 16px;
	color: #111;
	line-height: 1.5;
	margin-top: -15px;
}

.impactfamblurb {
	max-width: 630px;
	margin: 0 auto;
	text-align: center;
	padding-bottom: 40px;
	display: block;
}

.bubble-stat-box.green {
	display: inline-block;
	background-color: #f0f6eb;
	border-radius: 12px;
	padding: 20px;
	width: 373px;
	height: 130px;
	text-align: center;
	vertical-align: top;
	margin-top: 65px;
}

.bubble-stat-box.green .bubble-stat-top {
	position: relative;
	margin-bottom: 16px;
}

.bubble-stat-box.green .bubble-stat-top img {
	transform: translate(-50%, -77%);
	position: absolute;
	width: 160px;
	height: auto;
	z-index: -1;
}

.bubble-stat-box.green .bubble-stat-number {
	transform: translate(-50%, -47%);
	position: absolute;
	top: -20px;
	left: 50%;
	font-size: 68px;
	font-weight: 900;
	color: #111;
	text-align: center;
}

.bubble-stat-box.green .bubble-stat-content {
	font-size: 16px;
	color: #111;
	line-height: 1.5;
	margin-top: -15px;
}

/* Info columns icon tweak */
@media (max-width: 1067px) {
	.info-columns-item-image img:nth-of-type(1) {
		position: relative;
		top: 1px;
		z-index: 100;
	}
}

/* TP testimonial blocks */
.tp-testimonial-section {
	display: flex;
	flex-wrap: wrap;
}

.tp-testimonial-box {
	width: 50%;
	padding: 40px 0;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	box-sizing: border-box;
}

.tp-testimonial-left {
	background-color: #fff8e6;
}

.tp-testimonial-right {
	background-color: #ff8a54;
}

.tp-testimonial-content {
	max-width: 500px;
	height: 100%;
	display: flex;
	flex-direction: column;
	margin: 0 auto;
	padding: 0 50px;
	box-sizing: border-box;
}

.tp-testimonial-quote {
	font-size: 24px;
	font-weight: bold;
	line-height: 1.5;
	margin: 0;
}

.tp-testimonial-author {
	font-style: italic;
	margin-top: 40px;
}

.tp-orange {
	color: #f4733f;
}

.tp-cream {
	color: #fff8e6;
}

/* TP testimonial 2 */
.tp-testimonial2-section {
	display: flex;
	flex-wrap: wrap;
	font-family: sans-serif;
}

.tp-testimonial2-box {
	width: 50%;
	padding: 40px 0;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	box-sizing: border-box;
}

.tp-testimonial2-left {
	background-color: #f4edff;
}

.tp-testimonial2-right {
	background-color: #9454ff;
}

.tp-testimonial2-content {
	max-width: 500px;
	height: 100%;
	display: flex;
	flex-direction: column;
	margin: 0 auto;
	padding: 0 50px;
	box-sizing: border-box;
}

.tp-testimonial2-quote {
	font-size: 24px;
	font-weight: bold;
	line-height: 1.5;
	margin: 0;
}

.tp-testimonial2-author {
	font-style: italic;
	margin-top: 40px;
}

.tp-purple {
	color: #9454ff;
}

/* TP testimonial 3 */
.tp-testimonial3-section {
	display: flex;
	flex-wrap: wrap;
	font-family: sans-serif;
}

.tp-testimonial3-box {
	width: 50%;
	padding: 40px 0;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	box-sizing: border-box;
}

.tp-testimonial3-left {
	background-color: #eff8e8;
}

.tp-testimonial3-right {
	background-color: #5db616;
}

.tp-testimonial3-content {
	max-width: 500px;
	height: 100%;
	display: flex;
	flex-direction: column;
	margin: 0 auto;
	padding: 0 50px;
	box-sizing: border-box;
}

.tp-testimonial3-quote {
	font-size: 24px;
	font-weight: bold;
	line-height: 1.5;
	margin: 0;
}

.tp-testimonial3-author {
	font-style: italic;
	margin-top: 40px;
}

.tp-green {
	color: #5db616;
}

.tp-lightgreen {
	color: #eff8e8;
}

/* TP info cards */
.tp-info-card-section {
	display: flex;
	flex-wrap: nowrap;
	justify-content: space-between;
	gap: 20px;
	margin: -45px 0 40px 0;
	padding: 0;
	box-sizing: border-box;
}

.tp-info-card {
	flex: 1 1 300px;
	z-index: -10;
}

.tp-info-card-content {
	width: 352px;
	height: 160px;
	border-radius: 12px;
	padding: 25px;
	text-align: center;
	font-size: 16px;
	color: #666;
	line-height: 1.6;
	border: solid 1px #f5f5f5;
}

.tp-blue-bg {
	background-color: #ebf9fb;
}

.tp-neutral-bg {
	background-color: #f5f5f5;
}

/* Demo boxes */
.demo-box {
	position: relative;
	width: 255px;
	max-width: 100%;
	margin: 60px 10px;
	background: white;
	border: 3px solid;
	border-radius: 16px;
	padding: 40px 20px 40px;
	text-align: center;
	box-sizing: border-box;
	display: inline-block;
	vertical-align: top;
	transition: width 0.2s ease;
	overflow-wrap: break-word;
}

.demo-circle {
	position: absolute;
	top: -70px;
	left: 50%;
	transform: translateX(-50%);
	width: 160px;
	height: 160px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: default;
}

.demo-circle img {
	pointer-events: none;
	width: 100px;
}

.demo-button {
	display: inline-block;
	width: 100%;
	max-width: 215px;
	margin: 95px 0 16px -4px;
	font-weight: bold;
	font-size: 13px;
	padding: 12px 0;
	border-radius: 50px;
	text-decoration: none;
	box-shadow: 0 8px 20px rgba(0, 0, 0, 0.15);
	white-space: nowrap;
	transition: background 0.2s ease;
	color: white;
	text-align: center;
}

.box-purple {
	border-color: #955cfd;
}

.box-purple .demo-circle {
	background: #955cfd;
}

.box-purple .demo-button {
	background: #955cfd;
}

.box-purple .demo-button:hover {
	background: #7c44e1;
}

.box-orange {
	border-color: #ff8a54;
}

.box-orange .demo-circle {
	background: #ff8a54;
}

.box-orange .demo-button {
	background: #ff8a54;
}

.box-orange .demo-button:hover {
	background: #e56e33;
}

.box-blue {
	border-color: #429bd7;
}

.box-blue .demo-circle {
	background: #429bd7;
}

.box-blue .demo-button {
	background: #429bd7;
}

.box-blue .demo-button:hover {
	background: #297bb3;
}

.box-green {
	border-color: #5db616;
}

.box-green .demo-circle {
	background: #5db616;
}

.box-green .demo-button {
	background: #5db616;
}

.box-green .demo-button:hover {
	background: #489f0a;
}

/* Vision boxes */
.vision-box {
	position: relative;
	width: 290px;
	margin: 40px 0;
	background: white;
	border: 3px solid;
	border-radius: 14px;
	padding: 95px 30px 40px 30px;
	text-align: center;
	box-sizing: border-box;
	display: inline-block;
	vertical-align: top;
}

.vision-circle {
	position: absolute;
	top: -60px;
	left: 50%;
	transform: translateX(-50%);
	width: 140px;
	height: 140px;
	border-radius: 50%;
	background: gray;
	display: flex;
	align-items: center;
	justify-content: center;
}

.vision-circle img {
	width: 84px;
	pointer-events: none;
}

.vision-button {
	display: inline-block;
	margin-top: 20px;
	font-weight: bold;
	font-size: 11px;
	padding: 10px 22px;
	border-radius: 50px;
	text-decoration: none;
	box-shadow: 0 6px 14px rgba(0, 0, 0, 0.2);
	white-space: nowrap;
	transition: background 0.2s ease;
	color: white;
	background: gray;
}

.vision-blue {
	background: #edf4f7;
	border-color: #429bd7;
}

.vision-blue .vision-circle,
.vision-blue .vision-button {
	background: #429bd7;
}

.vision-blue .vision-button:hover {
	background: #6493c9;
}

.vision-orange {
	background: #fdf4ef;
	border-color: #e15c14;
}

.vision-orange .vision-circle,
.vision-orange .vision-button {
	background: #e15c14;
}

.vision-orange .vision-button:hover {
	background: #b35e2c;
}

.vision-green {
	background: #f4faed;
	border-color: #5db616;
}

.vision-green .vision-circle,
.vision-green .vision-button {
	background: #5db616;
}

.vision-green .vision-button:hover {
	background: #75a82f;
}

/* Timeline */
.timeline-row {
	display: flex;
	align-items: flex-start;
	position: relative;
	margin-bottom: 80px;
}

.timeline-entry {
	position: relative;
	clear: both;
}

.timeline-line-col,
.timeline-line-col2 {
	position: relative;
	top: 50px;
	width: 30%;
	display: flex;
	justify-content: center;
}

/* The column stretches to the row so the line can run to the row's bottom edge. The
   650px floor is the old fixed height; a row taller than that (2026, eight bullets) gets
   a line that reaches the next row's connector instead of stopping short. */
.timeline-row > .timeline-line-col {
	align-self: stretch;
}

.timeline-line {
	position: absolute;
	top: -80px;
	bottom: 0;
	left: 32px;
	width: 2px;
	min-height: 650px;
	background-color: #429bd7;
}

.timeline-line-del {
	position: absolute;
	top: -80px;
	bottom: 0;
	left: 32px;
	width: 2px;
	height: 350px;
	background-color: #f4f5f9;
}

.timeline-connector {
	position: absolute;
	top: -80px;
	left: 28px;
	height: 2px;
	width: 95%;
	background-color: #429bd7;
}

.timeline-connector::before {
	content: "";
	position: absolute;
	top: -4px;
	width: 10px;
	height: 10px;
	background-color: #429bd7;
	border-radius: 50%;
}

.timeline-content-col {
	flex: 1;
}

.timeline-box {
	background-color: white;
	font-size: 18px;
	border-radius: 10px;
	padding: 47px 20px 20px 35px;
	box-shadow: 0 4px 8px rgba(0, 0, 0, 0.05);
	width: 100%;
	position: relative;
	float: right;
}

.timeline-year {
	font-size: 46px;
	font-weight: bold;
	color: #000;
	margin: -81px 0 0 -30px;
	padding-left: 30px;
	position: relative;
	z-index: 2;
	text-align: left;
}

.timeline-list {
	list-style: none;
	padding-left: 0;
	margin: 0;
}

.timeline-list li {
	padding: 10px 0 10px 25px;
	position: relative;
}

.timeline-list li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 21px;
	width: 5px;
	height: 5px;
	background-color: #429bd7;
	border-radius: 50%;
	box-shadow: 0 0 0 5px rgba(93, 158, 234, 0.15);
}

.timeline-link {
	color: #429bd7;
	text-decoration: underline;
	text-transform: none !important;
	font-size: 18px !important;
}

.timeline-icons {
	position: absolute;
	top: -22px;
	right: 20px;
	display: flex;
	gap: 12px;
}

.icon-dot {
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
}

.icon-dot img {
	width: 45px;
	height: 45px;
}

/* The top row is the newest year (2026). Its three icons are redrawn so they do not repeat
   the 2025 set that the page content points at: award, book, people. The page's own <img>
   tags are kept (hidden) so the markup does not change. When a newer year is added above
   it, move this rule to that row. */
.timeline-row:first-of-type .icon-dot {
	width: 45px;
	height: 45px;
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
}

.timeline-row:first-of-type .icon-dot img {
	visibility: hidden;
}

.timeline-row:first-of-type .icon-dot:nth-child(1) {
	background-image: url("../images/tp-about-2026a.png");
}

.timeline-row:first-of-type .icon-dot:nth-child(2) {
	background-image: url("../images/tp-about-2026b.png");
}

.timeline-row:first-of-type .icon-dot:nth-child(3) {
	background-image: url("../images/tp-about-2026c.png");
}

/* Misc */
.greytwenty {
	color: #666;
	font-size: 20px;
	line-height: 1.4;
}

.about {
	max-width: 80%;
}

/* FEF */
.s-and-d.fef h3 {
	color: #000;
	font-size: 18px !important;
	width: 210px;
	margin: auto;
}

.s-and-d.fef a {
	color: #888;
}

.s-and-d.fef a.on {
	color: #000;
}

.s-and-d.fef img {
	width: 40px;
	margin: auto;
}

/* Solutions bar: keep the five items on one row instead of wrapping.
   The wrap came from each label being a fixed 210px wide (5 x 210 = 1050px), which stopped
   fitting below about 1300px and dropped the fifth item onto its own row (the wrapper also narrows in the 1024 to 1280px range). Now the row shares
   the width, the type and icons shrink a step, and on phones it becomes one swipeable row
   (main.js scrolls the current page's item into view). */
@media (max-width: 1425px) {
	.s-and-d.fef .info-columns-items {
		flex-wrap: nowrap;
	}

	.s-and-d.fef .info-columns-item {
		flex: 1 1 0;
		width: auto !important;
		min-width: 0;
		padding: 0 6px;
	}

	.s-and-d.fef h3.info-columns-item-title {
		width: auto;
		max-width: 210px;
	}
}

@media (max-width: 1100px) {
	.s-and-d.fef h3.info-columns-item-title {
		font-size: 14px !important;
		line-height: 1.3;
	}

	.s-and-d.fef img {
		width: 34px;
	}
}

@media (max-width: 700px) {
	.s-and-d.fef .info-columns-items {
		position: relative;
		justify-content: flex-start;
		overflow-x: auto;
		scroll-snap-type: x proximity;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none;
	}

	.s-and-d.fef .info-columns-items::-webkit-scrollbar {
		display: none;
	}

	.s-and-d.fef .info-columns-item {
		flex: 0 0 132px;
		margin: 0 0 20px !important;
		scroll-snap-align: center;
	}

	.s-and-d.fef h3.info-columns-item-title {
		font-size: 13px !important;
	}
}

.fef-superpower h3 {
	color: #000 !important;
	font-weight: 900 !important;
	margin-top: 20px;
	font-size: 29px;
	line-height: 1.3;
}

.fef-superpower a.fef-qb1.btn {
	background: #0a2739;
	border: none;
	font-size: 13px;
	color: #fff;
	width: 231px;
	white-space: nowrap;
	margin-top: 80px;
}

.fef-superpower .info-columns-item:nth-child(1) {
	width: 40%;
	padding: 0 25px 0 0;
}

.fef-superpower .info-columns-item:nth-child(1) .info-columns-item-title {
	color: #595555;
	font-size: 30px;
	font-weight: 600;
}

.fef-superpower .info-columns-item:nth-child(1) .info-columns-item-content {
	color: #595555;
	font-size: 20px;
}

.fef-superpower .info-columns-item:nth-child(2) {
	width: 55%;
}

.fef-apart .info-box-primary,
.fef-apart .section-header {
	background-color: #0a2739;
	padding: 50px 100px 50px 60px;
	border-radius: 15px;
}

.fef-apart .info-box-primary h2,
.fef-apart .section-header h2 {
	color: #ffffff;
	font-size: 30px!important;
	margin-bottom: 10px;
}

.fef-apart .info-box-primary p,
.fef-apart .section-header p {
	font-size: 24px;
	color: #dbdbdb;
}

.fef-apart .section-header::after {
	content: "";
	position: absolute;
	top: 35px;
	right: 130px;
	width: 80px;
	height: 80px;
	background-image: url("/wp-content/uploads/2025/12/fef-apart-wht-blob.png");
	background-repeat: no-repeat;
	background-position: right bottom;
	background-size: contain;
	pointer-events: none;
}

.fef-apart .info-columns-item:nth-child(1) {
	width: 22%;
}

.fef-apart .info-columns-item:nth-child(2) {
	width: 74%;
}

.fef-apart h4 {
	color: #00599b;
	padding: 20px 0 0 0;
	margin: 0;
	font-size: 20px;
}

.fef-apart .info-columns-item-content p {
	font-size: 18px;
}

.fef-apart .info-columns-item-content h4:not(:first-child) {
	border-top: 1px solid #b3d7ef;
}

.fef-proven-strengthen h2 {
	font-size: 22px !important;
}

.fef-proven-strengthen .info-box-content p {
	font-size: 18px;
	color: #000;
}

.fef-proven-strengthen a.fef-qb2.btn,
.fef-proven-strengthen a.fef-qb1.btn {
	font-size: 12px;
	height: 46px;
	line-height: 44px;
	margin-top: 15px;
	background: #00599b;
}

.ai-communicate a.fef-qb1.btn,
.ai-communicate a.fef-qb2.btn {
	font-size: 13px;
	height: 46px;
	line-height: 44px;
	margin-top: 15px;
	background: #429bd7;
	min-width: 250px;
}

.ai-communicate a.fef-qb2.btn:hover {
	background: #3678af;
}

.fef-proven-strengthen a.fef-qb1.btn,
.ai-communicate a.fef-qb1.btn {
	margin-left: 20px;
	background: none;
	color: #00599b;
}

.fef-proven-strengthen a.fef-qb1.btn:hover,
.ai-communicate a.fef-qb1.btn:hover {
	background: #00599b;
	color: #ffffff;
}

/*
.fef-what .wrapper {
	border-top: 2px solid #b3d7ef;
	border-bottom: 2px solid #b3d7ef;
}
*/

.fef-what .section-header-content p {
	font-size: 20px;
	color: #616161;
}

.fef-what .info-columns-item-content {
	background-color: #fbfbfb;
	padding: 20px;
	border: solid 1px #429bd7;
	border-radius: 6px;
	font-weight: 600;
	width: 100%;
	position: relative;
	
}

.fef-what .info-columns-items {
	margin: auto;
}

.fef-what .info-columns-item {
	margin: 0 10px;
}

.fef-proven-results .info-box-inner {
	margin-bottom: 50px;
}

.fef-proven-results .info-box-content p {
	font-size: 18px;
	color: #000;
}

.info-columns-boxed.fef-proven {
	margin: -20px 0 50px 0;
}

.pilot-demo-buttons a.fef-qb1.btn {
	background: none;
	border: 2px solid #fff;
	color: #fff;
	white-space: nowrap;
}

.pilot-demo-buttons a.fef-qb2.btn {
	background: #fff;
	border: 2px solid #00599b;
	color: #00599b;
	width: 231px;
	white-space: nowrap;
}

/* Four steps */
.four-steps .impact-how-box {
	font-size: 23px;
	background-color: #fff;
	border-radius: 6px;
	padding: 10px 20px 8px;
	margin: 0 0 20px;
	max-width: fit-content;
	color: #0a2739;
}

.four-steps h2,
.four-steps .section-header-content {
	color: #fff;
}

.four-steps .section-header-content {
	margin: 0;
}

.four-steps .info-columns-item {
	padding: 0 !important;
	position: relative;
	border-radius: 12px;
	border: 2px solid transparent;
	overflow: visible;
	box-shadow: none;
	width: 25%;
}

.four-steps .info-columns-item h3.info-columns-item-title {
	position: relative;
	display: block;
	margin-top: 15px;
	padding: 8px 0px !important;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	font-weight: 700;
	font-size: 18px;
	color: #fff !important;
	line-height: 1;
}

.four-steps h3.info-columns-item-title {
	top: 25px;
	width: 110%;
	left: -8px;
	text-align: center;
}

.four-steps .info-columns-item:nth-child(1) h3.info-columns-item-title {
	width: 107%;
	left: -2px;
}

.four-steps .info-columns-item:nth-child(4) h3.info-columns-item-title {
	width: 105%;
	left: -8px;
}

.four-steps .info-columns-item-title::after {
	content: "";
	position: absolute;
	top: 50%;
	right: -35px;
	transform: translateY(-50%);
	width: 39px;
	height: 39px !important;
	background: var(--arrow);
	clip-path: polygon(0 0, 100% 50%, 0 100%, 6% 100%, 6% 0);
	border-top: 19px solid transparent;
	border-bottom: 19px solid transparent;
	border-left: 19px solid transparent;
	z-index: 1;
}

.four-steps .info-columns-item-content {
	margin: 30px 0 0 0;
	padding: 18px 22px 22px;
	text-align: center;
}

.four-steps .info-columns-item-content p {
	position: relative;
	margin: 12px 0;
	padding: 10px 0;
	border-bottom: 0;
	font-size: 16px;
}

.four-steps .info-columns-item:nth-child(1) .info-columns-item-content p {
	border-bottom: 1px solid #54d0ff;
}

.four-steps .info-columns-item:nth-child(2) .info-columns-item-content p {
	border-bottom: 1px solid #9554ff;
}

.four-steps .info-columns-item:nth-child(3) .info-columns-item-content p {
	border-bottom: 1px solid #f9bb06;
}

.four-steps .info-columns-item:nth-child(4) .info-columns-item-content p {
	border-bottom: 1px solid #5db617;
}

.four-steps
	.info-columns-item:is(:nth-child(1), :nth-child(2), :nth-child(3), :nth-child(4))
	.info-columns-item-content
	p:last-child {
	border-bottom: none !important;
	padding-bottom: 0;
}

.four-steps .info-columns-item-content p {
	margin: 0;
	line-height: 1.55;
}

.four-steps .info-columns-item::before {
	content: "";
	position: absolute;
	top: -23px;
	left: 50%;
	transform: translateX(-50%);
	width: 45px;
	height: 45px;
	border-radius: 999px;
	color: #fff;
	font-weight: 800;
	font-size: 22px;
	display: grid;
	place-items: center;
	z-index: 3;
}

.four-steps .info-columns-item:nth-child(1) {
	background: #eaf6ff;
}

.four-steps .info-columns-item:nth-child(1)::before {
	content: "1";
	background: #54d0ff;
}

.four-steps .info-columns-item:nth-child(1) .info-columns-item-title {
	background: #54d0ff;
}

.four-steps .info-columns-item:nth-child(1) .info-columns-item-title::after {
	border-left-color: #54d0ff;
}

.four-steps .info-columns-item:nth-child(2) {
	background: #f0edff;
}

.four-steps .info-columns-item:nth-child(2)::before {
	content: "2";
	background: #9554ff;
}

.four-steps .info-columns-item:nth-child(2) .info-columns-item-title {
	background: #9554ff;
}

.four-steps .info-columns-item:nth-child(2) .info-columns-item-title::after {
	border-left-color: #9554ff;
}

.four-steps .info-columns-item:nth-child(3) {
	background: #fff7db;
}

.four-steps .info-columns-item:nth-child(3)::before {
	content: "3";
	background: #f9bb06;
}

.four-steps .info-columns-item:nth-child(3) .info-columns-item-title {
	background: #f9bb06;
}

.four-steps .info-columns-item:nth-child(3) .info-columns-item-title::after {
	border-left-color: #f9bb06;
}

.four-steps .info-columns-item:nth-child(4) {
	background: #f2f8e6;
}

.four-steps .info-columns-item:nth-child(4)::before {
	content: "4";
	background: #5db617;
}

.four-steps .info-columns-item:nth-child(4) .info-columns-item-title {
	background: #5db617;
}

.four-steps .info-columns-item:nth-child(4) .info-columns-item-title::after {
	display: none;
}

/* Solutions testimonials */
.solutions-testimonials .testimonials-slider-s2-nav{
	display:none;
}

.solutions-testimonials :is(h1,h2).section-header-title{
	margin:120px 0 20px 0;
	color: #ffffff;
	border: none;
	border-radius:7px;
	background:#035b98!important;
	font-weight:600;
	font-size:20px;
	letter-spacing:2px;
	padding:8px 15px;
	width: fit-content;
  	max-width: 100%;
  	display: inline-block;
}

.section.testimonials-slider-s2.solutions-testimonials {
	background: #b3d7ef;
	color: #429bd7;
}

.solutions-testimonials .testimonials-slider-s2-nav a {
	color: #429bd7;
}

.solutions-testimonials .testimonials-slider-s2-nav a.active,
.solutions-testimonials .testimonials-slider-s2-nav::before {
	color: #ffffff;
	border: none;
	border-radius: 10px;
}

.solutions-testimonials .testimonials-slider-s2-nav a.active span {
	border: none;
}

.solutions-testimonials .testimonials-slider-s2-item-content {
	color: #0a2739;
}

.solutions-testimonials .testimonials-slider-s2-item-quote img {
	display: none;
}

.solutions-testimonials .testimonials-slider-s2-item-author {
	margin-top: 40px;
	color: #557a91;
}

.section-pb-default.solutions-testimonials {
	position: relative;
}
.section-pb-default.solutions-testimonials::before {
	content: "";
	position: absolute;
	left: 50%;
	bottom: -25px;
	width: 50px;
	height: 50px;
	transform: translateX(-50%) rotate(45deg);
	background: #b3d7ef;
	border-radius: 4px;
	z-index: 4;
}


/* FEF ready quote */
.fef-ready.fef-quote {
	display: grid;
	grid-template-columns: 1fr 420px;
	column-gap: 10px;
	align-items: center;
	margin: 0;
	font-size: inherit;
	font-weight: inherit;
}

.fef-ready__left {
	max-width: 920px;
}

.fef-ready .fef-ready__left p a{
	color:#B4B7B9;
	text-decoration:underline;
}

.fef-ready.fef-quote h2 {
	margin: -75px 0 12px 0;
	color: #fff;
	font-size: 25px;
	font-weight: 600;
	line-height: 1.25;
}

.fef-ready.fef-quote p {
	font-size: 18px;
	font-weight: 400;
	line-height: 1.25;
}

.fef-ready .fef-ready__left p a{
	color:#B4B7B9;
	text-decoration:underline;
}
.fef-ready.fef-quote a {
	color: #6fb1ff;
	font-weight: 400;
	text-decoration: none;
}

.fef-ready.fef-quote a:hover {
	text-decoration: underline;
}

.fef-ready__right {
	position: relative;
	top: 0;
	right: 115px;
	height: 235px;
	width: 500px;
	background: url("/wp-content/uploads/2025/12/fef-ready.png") no-repeat right bottom;
	background-size: contain;
}

.fef-ready__right::after {
	content: "";
	position: absolute;
	right: 20px;
	top: -65px;
	width: 75px;
	height: 75px;
	background: url("/wp-content/uploads/2025/12/fef-readyblob.png") no-repeat center;
	background-size: contain;
	pointer-events: none;
}



/* Anchors */
#messagementor,
#attendance,
#improvementtools,
#bestpracticetips,
#messagingtemplates,
#ufe,
#districtsandschools,
#improvingoutcomes,
#howtpworks,
#industryleadingtranslation,
#partnerdistricts,
#successstories,
#dataprivacy {
	scroll-margin-top: 180px;
}

/* Navigation */
li.mega-nav-btn.mega-nav-btn-transparent.mega-menu-item-has-children a.mega-menu-link {
	color: #429bd7 !important;
	background: #fff !important;
	padding: 0 14px !important;
	height: 33px !important;
	display: inline-flex !important;
	align-items: center !important;
}

ul.mega-sub-menu li.mega-menu-item a.mega-menu-link.customize-unpreviewable {
	color: #666 !important;
	padding-left: 10px !important;
}

#navigation .menu > li.mega-nav-btn {
	margin-right: 15px !important;
}

#navigation .menu > li.mega-nav-btn-transparent {
	margin-left: 20px !important;
}

#navigation .mega-nav-btn span.mega-indicator {
	display: none !important;
}

#navigation .menu > li:not(.mega-nav-btn) > a {
	display: inline-block !important;
	text-decoration: none !important;
	vertical-align: middle !important;
	color: rgba(0, 0, 0, 0.5) !important;
	font-size: 14.4px !important;
	font-weight: 400 !important;
	line-height: 45px !important;
	padding: 0 !important;
}

#navigation .menu > li:not(.mega-nav-btn) > a:hover {
	color: rgba(0, 0, 0, 0.7) !important;
}

#navigation .menu > li.current-menu-item:not(.mega-nav-btn) > a,
#navigation .menu > li.current-menu-ancestor:not(.mega-nav-btn) > a {
	color: rgba(0, 0, 0, 0.9) !important;
}

.mobile-navigation-menu li.mega-nav-btn {
	margin-top: 15px !important;
}

.mobile-navigation-menu .menu li.mega-nav-btn > a {
	color: #fff !important;
}

.mobile-navigation-menu .menu li.mega-nav-btn-transparent > a {
	color: #429bd7 !important;
}

.mega-nav-btn > a {
	display: inline-flex !important;
	align-items: center !important;
	border: 2px solid #429bd7 !important;
	border-radius: 50px !important;
	color: white !important;
	background: #429bd7 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.05em !important;
	font-size: 12px !important;
	font-weight: bold !important;
	padding: 0 14px !important;
	height: 33px !important;
}

.mega-nav-btn-transparent > a {
	background: transparent;
	color: #429bd7 !important;
}

#header.site-header,
ul#mega-menu-primary {
	background: #f8f8f8 !important;
}

.mega-sub-menu {
	z-index: 99 !important;
}

#page-inner > #header,
#page-inner > header,
#page-inner > .site-header {
	position: relative;
	z-index: 9999 !important;
}

#page-inner > #header .sub-menu,
#page-inner > #header .mega-menu,
#page-inner > #header .mega-menu-wrap,
#page-inner > #header .mega-menu-primary,
#page-inner > #header .mega-menu-wrap * {
	z-index: 10000 !important;
}

#page-inner > #header,
#page-inner > #header * {
	overflow: visible !important;
}

/* FEF title */
.fef-title .info-box-inner {
	position: relative;
	width: 100%;
	background: var(--background-color);
	padding: 30px 15px;
}

.fef-title .info-box-title {
	color: #fff;
}

.fef-title .info-box-inner::before {
	content: "";
	position: absolute;
	left: 50%;
	bottom: -25px;
	width: 60px;
	height: 60px;
	transform: translateX(-50%) rotate(45deg);
	background: var(--background-color);
	border-radius: 8px;
	z-index: -1;
}

/* Award seal on the title bar of the four Solutions pages (Family Engagement Foundations,
   Attendance Improvement, District Communications, Academic Improvement; not Professional
   Learning Services). Kristie's idea: start in the dark orange band and span down into the
   light orange. The white badge (supplied artwork, unaltered) sits on a scalloped rosette in
   TalkingPoints blue (#4368A9), drawn as an inline SVG with a soft shadow. The bar keeps its
   height; the title is centred in the space either side of the seal, and wraps if it has to.
   Page IDs match prod (checked against the REST API on 2026-10-01). */
body.page-id-14586 .fef-title .info-box-inner,
body.page-id-14588 .fef-title .info-box-inner,
body.page-id-14590 .fef-title .info-box-inner,
body.page-id-14734 .fef-title .info-box-inner {
	padding-left: 236px;
	padding-right: 236px;
}

body.page-id-14586 .fef-title .info-box-inner::after,
body.page-id-14588 .fef-title .info-box-inner::after,
body.page-id-14590 .fef-title .info-box-inner::after,
body.page-id-14734 .fef-title .info-box-inner::after {
	content: "";
	position: absolute;
	top: -26px;
	right: 22px;
	width: 200px;
	height: 200px;
	background:
		url("../images/award-tech-learning-2026-white.png") center 31px / auto 138px no-repeat,
		url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20240%20240%22%3E%3Cg%20fill%3D%22%234368A9%22%3E%3Ccircle%20cx%3D%22223.0%22%20cy%3D%22120.0%22%20r%3D%229%22%2F%3E%3Ccircle%20cx%3D%22220.7%22%20cy%3D%22141.4%22%20r%3D%229%22%2F%3E%3Ccircle%20cx%3D%22214.1%22%20cy%3D%22161.9%22%20r%3D%229%22%2F%3E%3Ccircle%20cx%3D%22203.3%22%20cy%3D%22180.5%22%20r%3D%229%22%2F%3E%3Ccircle%20cx%3D%22188.9%22%20cy%3D%22196.5%22%20r%3D%229%22%2F%3E%3Ccircle%20cx%3D%22171.5%22%20cy%3D%22209.2%22%20r%3D%229%22%2F%3E%3Ccircle%20cx%3D%22151.8%22%20cy%3D%22218.0%22%20r%3D%229%22%2F%3E%3Ccircle%20cx%3D%22130.8%22%20cy%3D%22222.4%22%20r%3D%229%22%2F%3E%3Ccircle%20cx%3D%22109.2%22%20cy%3D%22222.4%22%20r%3D%229%22%2F%3E%3Ccircle%20cx%3D%2288.2%22%20cy%3D%22218.0%22%20r%3D%229%22%2F%3E%3Ccircle%20cx%3D%2268.5%22%20cy%3D%22209.2%22%20r%3D%229%22%2F%3E%3Ccircle%20cx%3D%2251.1%22%20cy%3D%22196.5%22%20r%3D%229%22%2F%3E%3Ccircle%20cx%3D%2236.7%22%20cy%3D%22180.5%22%20r%3D%229%22%2F%3E%3Ccircle%20cx%3D%2225.9%22%20cy%3D%22161.9%22%20r%3D%229%22%2F%3E%3Ccircle%20cx%3D%2219.3%22%20cy%3D%22141.4%22%20r%3D%229%22%2F%3E%3Ccircle%20cx%3D%2217.0%22%20cy%3D%22120.0%22%20r%3D%229%22%2F%3E%3Ccircle%20cx%3D%2219.3%22%20cy%3D%2298.6%22%20r%3D%229%22%2F%3E%3Ccircle%20cx%3D%2225.9%22%20cy%3D%2278.1%22%20r%3D%229%22%2F%3E%3Ccircle%20cx%3D%2236.7%22%20cy%3D%2259.5%22%20r%3D%229%22%2F%3E%3Ccircle%20cx%3D%2251.1%22%20cy%3D%2243.5%22%20r%3D%229%22%2F%3E%3Ccircle%20cx%3D%2268.5%22%20cy%3D%2230.8%22%20r%3D%229%22%2F%3E%3Ccircle%20cx%3D%2288.2%22%20cy%3D%2222.0%22%20r%3D%229%22%2F%3E%3Ccircle%20cx%3D%22109.2%22%20cy%3D%2217.6%22%20r%3D%229%22%2F%3E%3Ccircle%20cx%3D%22130.8%22%20cy%3D%2217.6%22%20r%3D%229%22%2F%3E%3Ccircle%20cx%3D%22151.8%22%20cy%3D%2222.0%22%20r%3D%229%22%2F%3E%3Ccircle%20cx%3D%22171.5%22%20cy%3D%2230.8%22%20r%3D%229%22%2F%3E%3Ccircle%20cx%3D%22188.9%22%20cy%3D%2243.5%22%20r%3D%229%22%2F%3E%3Ccircle%20cx%3D%22203.3%22%20cy%3D%2259.5%22%20r%3D%229%22%2F%3E%3Ccircle%20cx%3D%22214.1%22%20cy%3D%2278.1%22%20r%3D%229%22%2F%3E%3Ccircle%20cx%3D%22220.7%22%20cy%3D%2298.6%22%20r%3D%229%22%2F%3E%3Ccircle%20cx%3D%22120%22%20cy%3D%22120%22%20r%3D%22105%22%2F%3E%3C%2Fg%3E%3Ccircle%20cx%3D%22120%22%20cy%3D%22120%22%20r%3D%2296%22%20fill%3D%22none%22%20stroke%3D%22%23fff%22%20stroke-opacity%3D%22.28%22%20stroke-width%3D%221.5%22%2F%3E%3C%2Fsvg%3E") center / 100% 100% no-repeat;
	filter: drop-shadow(0 5px 10px rgba(0, 0, 0, 0.18));
	pointer-events: none;
}

@media (max-width: 1260px) {
	body.page-id-14586 .fef-title .info-box-inner,
	body.page-id-14588 .fef-title .info-box-inner,
	body.page-id-14590 .fef-title .info-box-inner,
	body.page-id-14734 .fef-title .info-box-inner {
		padding-left: 192px;
		padding-right: 192px;
	}

	body.page-id-14586 .fef-title .info-box-inner::after,
	body.page-id-14588 .fef-title .info-box-inner::after,
	body.page-id-14590 .fef-title .info-box-inner::after,
	body.page-id-14734 .fef-title .info-box-inner::after {
		top: -24px;
		right: 16px;
		width: 160px;
		height: 160px;
		background-position: center 25px, center;
		background-size: auto 110px, 100% 100%;
	}
}

@media (max-width: 1000px) {
	body.page-id-14586 .fef-title .info-box-inner,
	body.page-id-14588 .fef-title .info-box-inner,
	body.page-id-14590 .fef-title .info-box-inner,
	body.page-id-14734 .fef-title .info-box-inner {
		padding-left: 15px;
		padding-right: 192px;
	}
}

@media (max-width: 700px) {
	body.page-id-14586 .fef-title .info-box-inner,
	body.page-id-14588 .fef-title .info-box-inner,
	body.page-id-14590 .fef-title .info-box-inner,
	body.page-id-14734 .fef-title .info-box-inner {
		padding-left: 15px;
		padding-right: 150px;
	}

	body.page-id-14586 .fef-title .info-box-title,
	body.page-id-14588 .fef-title .info-box-title,
	body.page-id-14590 .fef-title .info-box-title,
	body.page-id-14734 .fef-title .info-box-title {
		font-size: 26px;
		line-height: 1.2;
	}

	body.page-id-14586 .fef-title .info-box-inner::after,
	body.page-id-14588 .fef-title .info-box-inner::after,
	body.page-id-14590 .fef-title .info-box-inner::after,
	body.page-id-14734 .fef-title .info-box-inner::after {
		top: -18px;
		right: 10px;
		width: 112px;
		height: 112px;
		background-position: center 18px, center;
		background-size: auto 77px, 100% 100%;
	}
}

/* Built UFE */
.built-ufe .section-header-content,
.built-ufe .info-columns-content-after {
	font-size: 22px;
	text-align: left;
}

.built-ufe h3.info-columns-item-title {
	color: #555 !important;
	margin: 0;
	align-self: start;
}

.built-ufe .info-columns-item-content p {
	font-weight: 300 !important;
	font-size: 18px;
}

.built-ufe .info-columns-content-after {
	padding-bottom: 80px;
}

.built-ufe .info-columns-item {
	display: grid;
	grid-template-rows: 56px auto 1fr;
}

.built-ufe .info-columns-item-image {
	align-self: end;
}

/* Solutions moment */
.solutions-moment .wrapper {
	width: 1000px;
}

.solutions-moment .info-columns-inner {
	position: relative;
	padding: 50px 40px 0px;
	border-left: 2px solid #999999;
	border-right: 2px solid #999999;
	border-bottom: 2px solid #999999;
	border-radius: 12px;
	overflow: visible;
}

.solutions-moment .info-columns-inner::before,
.solutions-moment .info-columns-inner::after {
	content: "";
	position: absolute;
	top: 0;
	height: 440px;
	width: 40px;
	z-index: 9999;
	pointer-events: none;
	background: linear-gradient(to bottom, #ffffff 0%, #ffffff00 100%);
}

.solutions-moment .info-columns-inner::before {
	left: -20px;
}

.solutions-moment .info-columns-inner::after {
	right: -20px;
}

.solutions-moment .info-columns-items > a:hover {
	background: transparent !important;
	box-shadow: none !important;
	border: none !important;
}

:root {
	--sol-orange-accent: #ff8a54;
	--sol-orange-tint: #fbf1eb;
	--sol-green-accent: #5db617;
	--sol-green-tint: #eff7e8;
	--sol-purple-accent: #9554ff;
	--sol-purple-tint: #f2efff;
	--sol-title: #666666;
	--sol-body: #777777;
	--sol-white: #ffffff;
}

.solutions-moment .info-columns-item {
	--accent: var(--sol-orange-accent);
	--tint: var(--sol-orange-tint);
	background: var(--tint);
	border: 3px solid var(--accent);
	border-radius: 26px;
	padding: 26px 26px 5px;
	box-shadow: none;
	min-height: 340px;
	display: flex;
	flex-direction: column;
	max-width: 290px;
}

.solutions-moment .info-columns-item:nth-child(2) {
	--accent: var(--sol-purple-accent);
	--tint: var(--sol-purple-tint);
}

.solutions-moment .info-columns-item:nth-child(3) {
	--accent: var(--sol-green-accent);
	--tint: var(--sol-green-tint);
}

.solutions-moment .info-columns-item:hover {
	transform: none !important;
	top: auto !important;
	margin-top: 0 !important;
}

.solutions-moment .info-columns-item-image {
	width: 44px;
	height: 44px;
	border-radius: 999px;
	background: var(--accent);
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 0 14px;
	overflow: hidden;
}

.solutions-moment .info-columns-item-image img {
	width: 27px;
	height: 27px;
	display: block;
	filter: brightness(0) invert(1);
}

.solutions-moment .info-columns-item-title {
	margin: 10px 0;
	font-size: 20px;
	line-height: 1.2;
	font-weight: 700;
	color: var(--sol-title);
}

.solutions-moment .info-columns-item-content p {
	margin: 10px 0;
	font-size: 18px;
	line-height: 1.3 !important;
	font-weight: 300 !important;
	color: var(--sol-body);
}

.solutions-moment .info-columns-item-buttons {
	margin-top: auto;
}

.solutions-moment .info-columns-item-buttons a,
.solutions-moment .info-columns-item-buttons .btn {
	width: 100%;
	padding: 18px 0;
	color: var(--accent);
	border: none;
	background: var(--tint);
	text-decoration: underline;
	font-weight: 700;
	letter-spacing: 0.03em;
	text-transform: uppercase;
	font-size: 13px;
	line-height: 1.4;
	text-align: left;
}

/* Shared title chips */
.ai-communicate :is(h1,h2).info-box-title,
.fef-what.ea :is(h1,h2).section-header-title,
.video_section.info-columns .section-header-title,
.ai-proven__title h3 {
	display: inline-block;
	color: #ffffff;
	text-transform: uppercase;
	padding: 10px 15px 8px;
	border-radius: 8px;
	font-size: 21px;
	letter-spacing: 1px;
	margin-bottom: 0;
	background-color: var(--background-color);
	line-height: normal;
}

/* AI multi apart blobs */
.fef-apart.ai-multi .info-box-primary::before {
	content: "";
	position: absolute;
	right: 25px;
	bottom: -18px;
	width: 60px;
	height: 60px;
	transform: translateX(-50%) rotate(45deg);
	background: #0a2739;
	border-radius: 8px;
	z-index: 4;
}

.fef-apart.ai-multi .info-box-primary::after {
	content: "";
	position: absolute;
	right: -85px;
	top: 20px;
	width: 124px;
	height: 118px;
	background: url("/wp-content/uploads/2025/12/home-everymessage-blob.png") no-repeat center;
	background-size: contain;
	pointer-events: none;
}

/* Foundation */
.foundation_sec ul h4,
.foundation_sec ul p {
	max-width: 50%;
}

td.ai-communicate__left {
	width: 65%;
}

table td.col {
	float: none;
}

table.table_two_cols {
	margin-bottom: 30px;
}

/* FEF what background */
.fef-what {
	background-image: url(../images/yellow-round-vector.svg);
	background-repeat: no-repeat;
	background-position: 100% 136%;
	background-size: 130px;
}

.fef-what .info-columns-item-content img {
	margin-bottom: 20px;
}

.section.fef-what .info-columns-item-content p a {
	font-size: 24px;
	line-height: 1.3;
	font-weight: bold;
	color: #6b6b6b;
	display: block;
}

.section.fef-what .info-columns-item-content p a:hover {
	color: #429bd7;
}

/* Four steps layout tweak */
.four-steps .section-header.text-align-center {
	text-align: left;
}

.four-steps .info-columns-items {
	width: 100%;
	flex-wrap: nowrap;
	gap: 21px;
}

.info-box {
	z-index: 0;
	position: relative;
}

.ai-resources .section-header {
	padding: 0;
}

/* Quote section base */
.section-bg-gray.s-quote {
	background-color: #ffffff;
}

/* District partners */
.partners_sec {
	position: relative;
}

.partners_sec:before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 50%;
	background-color: #f3f5f9;
}

.partners_sec .info-box-primary {
	background-color: #ffffff;
	border: 1px solid #429bd7;
	padding: 40px 30px;
	border-radius: 10px;
	margin: auto;
}

.partners_sec .info-box-inner {
	padding: 90px 0;
	border: 1px solid #429bd7;
	border-width: 1px 0 1px 0;
}

.partner_logos br {
	display: none;
}

.partner_cols {
	display: flex;
	padding-bottom: 30px;
}

.partner_cols .col {
	margin: 0;
	padding: 15px;
	border-right: 1px solid #b3d7ef;
	width: 25%;
}

.partners_sec .info-box-align-center .info-box-primary:first-child:last-child .info-box-content {
	width: 100%;
}

.partner_cols h2 {
	font-size: 46px;
	color: #00599b;
	line-height: 1;
	margin-bottom: 7px;
}

.partner_cols p {
	font-size: 18px;
	margin: 0;
	line-height: 1.2rem;
}

.partner_cols .col:last-child {
	border: none;
}

.partner_logos {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 30px;
	padding-bottom: 20px;
}

.partner_logos img {
	display: inline-block;
	vertical-align: middle;
	width: 220px;
	padding: 10px;
	height: 100px;
	object-fit: contain;
}

/* Testimonials nav */
.testimonials-slider-s2-nav::before,
.testimonials-slider-s2-nav::after {
	display: none;
}

.testimonials-slider-s2-nav {
	background-color: transparent;
	justify-content: left;
	max-width: 1140px;
	padding: 0 15px;
	margin: 0 auto 60px;
}

/* Header z-index */
.fef-title {
	z-index: 1;
}

.partners_sec .info-box-primary a.btn {
	background-color: #00599b;
	border-color: #00599b;
	padding: 15px 30px;
}

#mega-menu-wrap-primary #mega-menu-primary > li.nav-btn ul.mega-sub-menu {
	right: 0;
}

.section.ai-communicate {
	background-color: #ffffff;
}


/* Responsive */
@media (max-width: 1023px) {
	.languages-buttons .weird-shape {
		display: none !important;
	}

	.testimonials-slider-s2-nav a {
		font-size: 14px;
		text-align: center;
	}

	.testimonials-slider-s2-item-content {
		font-size: 24px;
	}

	.fef-superpower .info-columns-item:nth-child(1) .info-columns-item-title {
		font-size: 24px;
	}

	.fef-superpower .info-columns-item:nth-child(1) .info-columns-item-content {
		font-size: 16px;
	}
}

@media (max-width: 800px) {
	.s-and-d .info-columns-item.text-align-center {
		border-right: none;
	}
}

@media (max-width: 768px) {
	.testimonial-text {
		font-size: 18px !important;
		padding-left: 15px !important;
		padding-right: 15px !important;
		word-break: break-word;
	}

	.impctbtn {
		margin: 10px 0;
	}

	.timeline-row {
		flex-direction: column;
	}

	.timeline-line-col,
	.timeline-line-col2 {
		display: none;
	}

	.timeline-year {
		text-align: left;
		padding-left: 0;
		margin-bottom: 10px;
	}

	.timeline-box {
		margin-left: 0;
	}
}

@media (max-width: 767px) {
	.languages-buttons a.btn-full-white {
		margin-top: 20px;
	}

	.tp-testimonial-box,
	.tp-testimonial2-box,
	.tp-testimonial3-box {
		width: 100%;
	}

	.tp-testimonial-content,
	.tp-testimonial2-content,
	.tp-testimonial3-content {
		padding: 0 30px;
	}

	.tp-testimonial-author,
	.tp-testimonial2-author,
	.tp-testimonial3-author {
		margin-top: 30px;
	}

	.bubble-stat-box {
		margin-top: 60px;
	}

	.impactstublurb {
		padding-bottom: 0;
	}

	.bubble-stat-box.purple {
		display: block;
		margin: 55px auto 0;
	}

	.impactfamblurb {
		padding-bottom: 0;
	}

	.bubble-stat-box.green {
		display: block;
		margin: 60px auto 0;
	}

	.fef-superpower .info-columns-item:nth-child(1) .info-columns-item-title {
		font-size: 30px;
	}

	.fef-superpower .info-columns-item:nth-child(1) .info-columns-item-content {
		font-size: 20px;
	}
	
	/*black box */
	.fef-ready__left {
		padding: 20px 20px 70px 20px!important;
		width:360px;
	}
	.fef-ready__right{
		width:120px;
		right:140px;
	}
	.fef-ready__right::after{
		display:none;
	}
	
	
	.fef-ready.fef-quote p {
		font-size: 18px;
	}
	.section.fef-apart.ai-multi .info-box-primary {
		padding:20px 20px 45px 20px;
	}
	.section.fef-apart.ai-multi {
		margin: 0 0 50px 0!important;
	}
	.section.fef-apart.ai-multi :is(h1,h2).info-box-title {
		font-size: 22px!important;
	}
	.section.fef-apart.ai-multi p {
		font-size: 18px;
	}
	.fef-apart.ai-multi .info-box-primary::after{
		display:none;
	}
	.ai-communicate .section-header {
		margin: 0;
	}
	.ai-communicate__section {
		padding: 0;
	}
}

@media (max-width: 733px) {
	.languages-buttons a.btn-full-white {
		margin-top: 20px;
	}
	.solutions-testimonials :is(h1,h2).section-header-title{
	margin:50px 0 -20px 0;
	color: #ffffff;
	border: none;
	border-radius:7px;
	background:#035b98!important;
	font-weight:600;
	font-size:16px;
	letter-spacing:2px;
	padding:8px 15px;
	width: fit-content;
  	max-width: 100%;
  	display: inline-block;
	}
	.testimonials-slider-s2-item-content{
		font-size:20px;
	}
	
	.testimonials-slider-s2-item-content::before{
		width:40px;
	}
}

@media (max-width: 600px) {
	.about {
		max-width: 100%;
	}

	.demo-box {
		display: block;
		width: 90%;
		margin: 40px auto;
	}

	.demo-button {
		max-width: none;
		width: 100%;
	}

	.vision-box {
		width: 290px;
	}

	.vision-circle {
		width: 140px;
		height: 140px;
	}

	.vision-circle img {
		width: 84px;
	}

	.vision-button {
		font-size: 12px;
		padding: 9px 20px;
	}

	.fact-box {
		width: 290px;
		height: 250px;
	}

	.fact-box p {
		font-size: 20px;
	}

	.ai-proven__title {
		font-size: 24px;
	}

	.ai-proven__top-number {
		font-size: 38px;
	}

	.ai-proven__top-text {
		font-size: 16px;
	}

	.solutions-moment .info-columns-items {
		grid-template-columns: 1fr !important;
		gap: 18px;
		padding-bottom: 20px;
	}

	.solutions-moment .info-columns-item {
		min-height: 0;
	}

	.solutions-moment .info-columns-items > a,
	.solutions-moment .info-columns-item {
		transform: none !important;
		top: auto !important;
		margin-top: 0 !important;
		box-shadow: none !important;
		transition: none !important;
	}

	.solutions-moment .info-columns-items > a:hover,
	.solutions-moment .info-columns-items > a:active,
	.solutions-moment .info-columns-items > a:focus,
	.solutions-moment .info-columns-items > a:focus-within,
	.solutions-moment .info-columns-item:hover,
	.solutions-moment .info-columns-item:active,
	.solutions-moment .info-columns-item:focus,
	.solutions-moment .info-columns-item:focus-within {
		transform: none !important;
		top: auto !important;
		margin-top: 0 !important;
		box-shadow: none !important;
	}

	.solutions-moment h2 {
		font-size: 28px !important;
	}

	.four-steps .info-columns-item {
		width: 100%;
		max-width: 420px;
	}

	.four-steps h3.info-columns-item-title {
		font-size: 16px;
	}

	.four-steps .info-columns-item-title::after {
		display: none;
	}

	.four-steps .info-columns-item::before {
		top: -16px;
		width: 42px;
		height: 42px;
		font-size: 20px;
	}
}

@media (max-width: 533px) {
	.impact-columns {
		flex-wrap: wrap;
		margin: 50px 80px;
	}

	.impact-box3 p {
		margin: 40px;
	}

	.impact-img3,
	.impact-img1 {
		margin-top: -20px;
	}
}

@media (max-width: 512px) {
	.tp-info-card-content {
		width: 140px;
		height: 180px;
		padding: 10px;
	}
}

@media (max-width: 480px) {
	.search-form .search-field {
		width: auto;
	}

	.partner_logos {
		gap: 10px;
	}

	.partner_logos img {
		max-width: 130px;
		height: 80px;
		padding: 10px;
	}

	.ai-communicate :is(h1,h2).info-box-title,
	.fef-what.ea :is(h1,h2).section-header-title,
	.video_section.info-columns .section-header-title,
	.ai-proven__title h3 {
		font-size: 18px;
	}

	.four-steps .impact-how-box {
		font-size: 18px;
	}
}

@media (max-width: 434px) {
	.tp-info-card-content {
		width: 120px;
		height: 210px;
		padding: 5px;
	}
}

@media (max-width: 397px) {
	.tp-info-card-content {
		width: 100px;
		height: 260px;
		padding: 5px;
	}
}

@media (max-width: 1281px) {
	.six-stat-card {
		width: 425px;
		height: 355px;
	}

	.six-stat-arrow {
		width: 100px;
	}

	.six-stat-value {
		font-size: 150px;
	}

	.six-stat-description {
		font-size: 28px;
	}

	.feature-box {
		width: 230px;
		height: 123px;
	}

	.feature-box h3 {
		font-size: 14px;
		margin: -10px 0px 12px 0px;
	}

	.feature-box p {
		font-size: 11px;
	}

	.fact-box {
		width: 240px;
		height: 220px;
	}

	.fact-box p {
		font-size: 18px;
	}
}

@media (max-width: 1280px) {
	.four-steps h3.info-columns-item-title {
		width: 260px;
		left: -12px;
	}
	.four-steps .info-columns-item:nth-child(2) h3.info-columns-item-title::after {
		right: -32px;
	}
	.four-steps .info-columns-item:nth-child(1) h3.info-columns-item-title::after,
	.four-steps .info-columns-item:nth-child(3) h3.info-columns-item-title::after {
		right: -36px;
	}	
}



@media (max-width: 1024px) {
	.impact-columns {
		margin: 10px;
	}

	.impctbtn {
		margin: 10px 0;
	}

	.core-value-box {
		width: 170px;
		height: 190px;
	}

	.core-icon {
		margin: -17px 0px 20px 0px;
	}

	.core-value-box h3 {
		font-size: 18px;
	}

	.core-value-box p {
		font-size: 13px;
	}

	.feature-box {
		width: 230px;
		height: 123px;
	}

	.fact-box {
		width: 240px;
		height: 220px;
	}

	.demo-box {
		width: 200px;
		margin: 60px 10px;
	}

	.demo-button {
		max-width: 180px;
		font-size: 12px;
		padding: 10px 0;
	}

	.demo-circle {
		width: 130px;
		height: 130px;
	}

	.demo-circle img {
		width: 80px;
	}

	.vision-box {
		width: 230px;
	}

	.vision-circle {
		width: 120px;
		height: 120px;
	}

	.vision-circle img {
		width: 70px;
	}

	.vision-button {
		font-size: 10px;
		padding: 9px 20px;
	}

	.six-stat-card {
		width: 325px;
		height: 315px;
		padding: 39px 40px;
	}

	.six-stat-arrow {
		top: -26px;
		right: 30px;
		width: 80px;
	}

	.six-stat-value {
		font-size: 130px;
	}

	.six-stat-description {
		font-size: 28px;
	}

	.tp-info-card-content {
		width: 297px;
		height: 120px;
		padding: 20px;
		font-size: 13px;
	}
}

@media (max-width: 1019px) {
	.tp-info-card-content {
		width: 236px;
		height: 140px;
	}
}

@media (max-width: 991px) {
	.partner_cols {
		flex-wrap: wrap;
	}

	.partner_cols .col {
		border: none;
		width: 50%;
	}

	.ai-communicate table.ai-communicate__cols--grid3 td.col:nth-child(1),
	.ai-communicate table.ai-communicate__cols--grid3 td.col:nth-child(3),
	.ai-communicate table.ai-communicate__cols--grid2 td.col {
		width: auto;
		margin-right: 20px;
	}

	.ai-communicate table.ai-communicate__cols--grid3 td.col:last-child {
		width: auto;
	}
}

@media (max-width: 980px) {
	.ai-communicate table.ai-communicate__table,
	.ai-communicate table.ai-communicate__table tbody,
	.ai-communicate table.ai-communicate__table tr,
	.ai-communicate table.ai-communicate__table td {
		display: block;
		width: 100% !important;
	}

	.ai-communicate td.ai-communicate__right {
		text-align: center;
		margin-top: 18px;
	}

	.ai-communicate .ai-communicate__img {
		width: 100%;
		max-width: 520px;
		margin: 16px auto 0;
	}

	.ai-communicate__cols.ai-communicate__cols--grid3 {
		width: 100% !important;
	}

	.ai-communicate table.ai-communicate__cols--grid3 td.col,
	.ai-communicate table.ai-communicate__cols--grid2 td.col {
		display: block;
		width: 100% !important;
		min-width: 0 !important;
		margin-right: 0 !important;
	}

	.ai-communicate table.ai-communicate__cols--grid3 td.col + td.col,
	.ai-communicate table.ai-communicate__cols--grid2 td.col + td.col {
		margin-top: 16px;
	}
}

@media (max-width: 900px) {
	.ai-proven__top {
		flex-direction: column;
		gap: 16px;
	}

	.ai-proven__stats {
		flex-direction: column;
	}

	.ai-proven__divider {
		width: 100%;
		height: 1px;
	}
}

@media (min-width: 1024px) and (max-width: 1280px) {
	.testimonials-slider-s2-nav {
		max-width: 940px;
		margin: 0 auto 30px;
	}
}

@media (min-width: 768px) and (max-width: 1023px) {
	.testimonials-slider-s2-nav {
		max-width: 90%;
		margin: 0 auto 30px;
	}

	.testimonials-slider-s2-item-content {
		font-size: 21px;
	}
}

@media (min-width: 480px) and (max-width: 767px) {
	.testimonials-slider-s2-nav {
		max-width: 90%;
	}
}

/* Mobile blobs and page specific hides */
@media (max-width: 870px) {
	.page-id-199 .cta {
		background-image: none !important;
	}

	.languages-buttons .weird-shape {
		display: none !important;
	}

	.page-id-199 div.wrapper.clearfix {
		display: none;
	}

	/*
	 * Solution-page hero: drop the decorative band on mobile.
	 *
	 * The hero is an info-box section with an inline background-image, drawn
	 * bottom-centre at background-size: contain. On a wide screen that reads as
	 * a band across the foot of the blue block; once the column narrows, contain
	 * scales it to the full width and it lands under the headline as a stray
	 * shape with dots. The !important is because the URL is an inline style
	 * written by template-parts/sections/info-box.php.
	 *
	 * The attribute selector keeps this to sections that actually carry an
	 * image. Measured against every published item: exactly four heroes match
	 * (embedded-best-practices, data-informed-guidance, scaled-family-engagement,
	 * bts-25, all image_position "left"). The other two info-box backgrounds on
	 * the site sit on different layouts and are untouched: ufe-quiz uses
	 * "right", the Teachers page uses "above".
	 *
	 * This hides the image only. The block keeps its height, which comes from
	 * the section's own 100px top and bottom padding.
	 */
	.section.info-box.info-box-layout-image-text[style*="background-image"] {
		background-image: none !important;
	}
}

/* Four steps wrap */
@media (max-width: 1023px) {
	.four-steps .info-columns-items {
		width: 100%;
		margin: 0 auto;
		display: flex;
		flex-wrap: wrap;
		gap: 16px;
		justify-content: center;
	}

	.four-steps .info-columns-item {
		width: 50%;
		max-width: 320px;
	}

	.four-steps h3.info-columns-item-title {
		width: 100%;
		left: 0;
		top: 18px;
	}

	.four-steps .info-columns-item:nth-child(1) h3.info-columns-item-title,
	.four-steps .info-columns-item:nth-child(4) h3.info-columns-item-title {
		width: 100%;
		left: 0;
	}

	.four-steps .info-columns-item-title::after {
		right: -32px;
		width: 36px;
		height: 36px !important;
	}

	.four-steps .info-columns-item-content {
		padding: 16px 18px 18px;
	}

	.four-steps .info-columns-item-content p {
		font-size: 15px;
	}
	.four-steps h3.info-columns-item-title::after {
		display:none;
	}
}

/* Columns per Row is honoured (v24). Items are flex:1 1 0%, so a section with
   more items than its setting put as many in a row as their content allowed
   (5 then 1 on /improve-attendance/, 4 then 2 on the UFE guides). When a
   section holds more items than its Columns per Row, each row is capped at that
   number; a short last row still grows to fill the width. Sections with no more
   items than columns are untouched. Five sections whose setting did not match
   what they showed (home Explore more, what-we-do, family engagement platform,
   easy edtech giveaway, our-team values) had their setting corrected in the
   page editor to match; see HANDOFF.md. */
@media (min-width: 768px) {
	.info-columns-2-cols .info-columns-items:has(> .info-columns-item:nth-child(3)) > .info-columns-item {
		flex: 1 1 calc(50% - 21px);
		min-width: 0;
	}

	.info-columns-3-cols .info-columns-items:has(> .info-columns-item:nth-child(4)) > .info-columns-item {
		flex: 1 1 calc(33.333% - 21px);
		min-width: 0;
	}

	.info-columns-4-cols .info-columns-items:has(> .info-columns-item:nth-child(5)) > .info-columns-item {
		flex: 1 1 calc(25% - 21px);
		min-width: 0;
	}

	.info-columns-5-cols .info-columns-items:has(> .info-columns-item:nth-child(6)) > .info-columns-item {
		flex: 1 1 calc(20% - 21px);
		min-width: 0;
	}
}

/* Card buttons in narrow columns (v24). .btn has a fixed 44px line-height, so a
   label that wraps in a narrow card (3 to 4 columns at 768 to 1279px) became a
   tall oval. Line-height and padding are swapped so one line measures the same
   (48px with the border) and two lines stay compact. */
@media (max-width: 1279px) {
	.info-columns-style-wrapped .info-columns-item .btn {
		line-height: 1.25;
		padding: 13px 18px;
		letter-spacing: 0.03em;
	}

	/* a table inside a card's content (the Easy EdTech QR code beside its
	   "Register Online" button) stacks, so the button gets the whole card width
	   instead of half of it */
	.info-columns-item-content table,
	.info-columns-item-content tbody,
	.info-columns-item-content tr,
	.info-columns-item-content td {
		display: block;
		width: 100% !important;
		box-sizing: border-box;
	}

	.info-columns-item-content td {
		padding-left: 0;
		padding-right: 0;
		text-align: center;
	}
}

/* Cards wrap before they get squeezed, and their buttons line up (v25).
   Card sections (style "wrapped") become a grid whose cards are never narrower
   than 320px, so a row holds fewer cards sooner instead of crushing the text
   and the buttons. Columns per Row is still the most that sit in one row (the
   v24 cap, restated for the grid). A section of four cards splits 2 + 2 rather
   than 3 + 1. Any card with buttons keeps the buttons at the bottom of the card,
   so a row of cards with different amounts of text lines the buttons up.
   Four-steps, the s-and-d scroller and carousels keep their own layouts. */
@media (min-width: 768px) {
	.info-columns-style-wrapped:not(.four-steps):not(.s-and-d) .info-columns-items:not(.carousel) {
		display: grid;
		grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
	}

	.info-columns-style-wrapped.info-columns-2-cols:not(.four-steps):not(.s-and-d) .info-columns-items:not(.carousel) {
		grid-template-columns: repeat(auto-fit, minmax(max(320px, calc(50% - 1px)), 1fr));
	}

	.info-columns-style-wrapped.info-columns-3-cols:not(.four-steps):not(.s-and-d) .info-columns-items:not(.carousel) {
		grid-template-columns: repeat(auto-fit, minmax(max(320px, calc(33.333% - 1px)), 1fr));
	}

	.info-columns-style-wrapped.info-columns-4-cols:not(.four-steps):not(.s-and-d) .info-columns-items:not(.carousel) {
		grid-template-columns: repeat(auto-fit, minmax(max(320px, calc(25% - 1px)), 1fr));
	}

	.info-columns-style-wrapped.info-columns-5-cols:not(.four-steps):not(.s-and-d) .info-columns-items:not(.carousel) {
		grid-template-columns: repeat(auto-fit, minmax(max(320px, calc(20% - 1px)), 1fr));
	}

	.info-columns-style-wrapped.info-columns-6-cols:not(.four-steps):not(.s-and-d) .info-columns-items:not(.carousel) {
		grid-template-columns: repeat(auto-fit, minmax(max(320px, calc(16.666% - 1px)), 1fr));
	}

	/* exactly four cards: two rows of two, never three and one */
	.info-columns-style-wrapped:not(.four-steps):not(.s-and-d) .info-columns-items:not(.carousel):has(> .info-columns-item:nth-child(4):last-child) {
		grid-template-columns: repeat(auto-fit, minmax(max(320px, 34%), 1fr));
	}

	.info-columns-style-wrapped:not(.four-steps):not(.s-and-d) .info-columns-items:not(.carousel) > .info-columns-item {
		min-width: 0;
	}

	/* buttons at the bottom of every card (they sit inside the content, usually
	   in their own paragraph, so the content becomes a column and the paragraph
	   that holds a button takes the free space above it) */
	.info-columns:not(.s-and-d):not(.four-steps) .info-columns-items:not(.carousel) > .info-columns-item:has(.btn) {
		display: flex;
		flex-direction: column;
	}

	.info-columns:not(.s-and-d):not(.four-steps) .info-columns-items:not(.carousel) > .info-columns-item:has(.btn) > .info-columns-item-content {
		flex: 1 1 auto;
		display: flex;
		flex-direction: column;
	}

	.info-columns:not(.s-and-d):not(.four-steps) .info-columns-items:not(.carousel) > .info-columns-item:has(.btn) > .info-columns-item-content > :has(> .btn) {
		margin-top: auto;
	}
}

/* Mobile stacking and readable type (v24). Keep this block last in the file.
   .info-columns-item is flex:1 1 0%, so the theme's width:100% never stacked
   the columns on phones; flex-basis has to be set. Four-steps and the
   s-and-d scroller keep their own layouts. */
@media (max-width: 767px) {
	.info-columns:not(.s-and-d):not(.four-steps) .info-columns-items > .info-columns-item {
		flex: 0 0 100%;
		width: 100% !important;
		max-width: 100%;
		box-sizing: border-box;
	}

	/* Four steps: one card per row (they were two per row, squeezed) */
	.four-steps .info-columns-items {
		flex-wrap: wrap;
		justify-content: center;
		gap: 44px;
		padding-top: 24px;
	}

	.four-steps .info-columns-items > .info-columns-item {
		flex: 0 0 100%;
		width: 100% !important;
		max-width: 360px;
		box-sizing: border-box;
	}

	.four-steps .info-columns-item:nth-child(n) h3.info-columns-item-title {
		width: 100%;
		left: 0;
	}

	.four-steps .info-columns-item-content p {
		font-size: 17px;
	}

	/* Cards: centred, one per row, body text at a readable size */
	.feature-box {
		display: block;
		width: 100%;
		max-width: 340px;
		height: auto;
		margin: 0 auto;
		padding: 26px 20px;
	}

	.feature-box h3 {
		font-size: 20px;
	}

	.feature-box p {
		font-size: 16px;
		line-height: 1.5;
	}

	.fact-box {
		display: block;
		width: 100%;
		max-width: 340px;
		height: auto;
		margin: 0 auto;
	}

	.fact-box p {
		font-size: 18px;
	}

	.core-value-box {
		display: block;
		width: 100%;
		max-width: 340px;
		height: auto;
		margin: 0 auto;
		padding: 30px 20px 24px;
	}

	.core-value-box h3 {
		font-size: 20px;
	}

	.core-value-box p {
		font-size: 16px;
	}

	.demo-box {
		display: block;
		width: 100%;
		max-width: 340px;
		margin: 70px auto 40px;
	}

	.demo-button {
		display: block;
		width: 100%;
		max-width: 100%;
		margin: 95px 0 16px;
		padding: 12px 14px;
		font-size: 14px;
		white-space: normal;
		box-sizing: border-box;
	}

	/* Button labels wrap instead of running past the button */
	a.btn,
	.btn,
	.solutions-moment .wrapper .info-columns-item-buttons a {
		white-space: normal !important;
		max-width: 100%;
		box-sizing: border-box;
	}

	/* Home sections with fixed heights, side margins or inline indents */
	.home-explore .info-columns-item {
		height: auto;
		min-height: 90px;
		margin: 0 0 14px !important;
	}

	.home-privacy [style*="margin-left"] {
		margin-left: 0 !important;
	}

	/* Short closing lines break evenly instead of leaving one word alone */
	.info-box-secondary-content p {
		text-wrap: balance;
	}

	/* Form dropdowns stay inside their card (the role select on /demo/ and
	   /get-information/ ran 21px past the screen edge) */
	.info-columns-item-content form select {
		max-width: 100%;
		box-sizing: border-box;
	}

	/* Wide tables scroll inside the page instead of squeezing the cells */
	.info-box-content table {
		display: block;
		max-width: 100%;
		overflow-x: auto;
	}
}
