.h2{
	font-size:calc(1.5rem + 1.5vw);
	line-height:1.2;
	margin:0 0 1rem 0;
}
.h3{
	font-size:calc(.75rem + 1.25vw);
	line-height:1.2;
	margin:0 0 1rem 0;
}
* + .h3, * + h3{
	margin-top:1rem;
}
.panel{
	background-color:#ffbe00;
	border-radius:10px;
	color:#000;
	padding:20px;
}
button, .button{
	background-color:#2656A5;
	border:0;
	border-radius:10px;
	color:#FCFCFC;
	display:inline-block;
	font-size:1rem;
	line-height:3;
	margin:1rem 0 0 0;
	padding:0 2rem;
	text-decoration:none;
}
body > *:nth-child(odd){
	background-color:transparent;
}
body > header{
	padding:0 var(--section-hpad);
}
body > header menu{
	display:flex;
	gap:30px;
	align-items:center;
}
body .bg-grey{
	background-color:#FEFFCC;
}
.stat{
	display:block;
	font-size:2rem;
}
section > img[src*=".banner."]{
	object-fit:contain!important;
	object-position:right 50%;
}
section:has(> span+img[src*=".banner."]:last-child){
	min-height:20vw;
}
body .bg-purple{
	background-color:#3D3387;
	
	background: #3D3387;
	background: linear-gradient(148deg,rgba(23, 74, 106, 1) 0%, rgba(38, 86, 165, 1) 50%, rgba(61, 51, 135, 1) 100%);
	background: linear-gradient(148deg,#3D3387 0%, rgba(38, 86, 165, 1) 50%, #2656A5 100%);
	
	color:#FCFCFC;
}




#logo{
	width:100px;
	margin-right:10px;
}
@media(max-width:900px){
	#logo{
		width:70px;
	}
}







h1{
	font-size:calc(1.2rem + 2vw);
	line-height:1.2;
	margin:0;
}

img[src*=".icon."]{
	margin-bottom:1rem;
	margin-top:1rem;
	width:60px!important;
	height:60px!important;
	object-fit:cover;
	background-color:#FEFFCC;
	border:10px solid #FEFFCC;
	border-radius:10px;
}
img[src*=".person."]{
	margin-bottom:1rem;
	margin-top:1rem;
	width:200px!important;
	height:200px!important;
	object-fit:cover;
	background-color:#FEFFCC;
	border-radius:10px;
}
a{
	color:#2656A5;
}








@font-face{
	font-family:"CCregular";
	src:url("CaterpillarCaptions-Regular.otf");
}
@font-face{
	font-family:"CCbold";
	src:url("CaterpillarCaptions-Bold.ttf");
}
:root{
	--font-family:'CCregular', -apple-system, BlinkMacSystemFont, 'Segoe UI Variable Text', "Segoe UI", Roboto, Helvetica, 'Helvetica Neue', "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", Arial, sans-serif, "Apple Color Emoji", "Twemoji Mozilla", "Segoe UI Emoji", "Android Emoji";
	--font-heading:'CCbold', -apple-system, BlinkMacSystemFont, 'Segoe UI Variable Heading', "Segoe UI", Roboto, Helvetica, 'Helvetica Neue', "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", Arial, sans-serif, "Apple Color Emoji", "Twemoji Mozilla", "Segoe UI Emoji", "Android Emoji";
}
body{
	-font-family:var(--font-family);
	-font-variant-ligatures:discretionary-ligatures;
	-font-weight:400;
	-font-style:normal;
}
h1, h2{
	-font-family:var(--font-heading);
}




#logos img{
	width:80px;
	height:50px;
	object-fit:contain;
	margin:10px;
}




label{
	display:block;
	margin:1rem 0;
}
input, textarea{
	display:block;
	border:1px solid #ccc;
	font-size:1rem;
	padding:.5rem;
}
textarea{
	width:100%;
	min-height:10rem;
}
.large{
	font-size:1.3rem;
}


.faq h3{
	font-size:1.2rem;
}
.faq p + h3{
	margin-top:2rem;
	padding-top:2rem;
	border-top:1px solid #eee;
}










.how-to{
	display:flex;
	flex-wrap:wrap;
	font-size:0;
	gap:10px;
}
.how-to a{
	box-sizing:border-box;
	padding:10px;
	border-radius:10px;
	background-color:#fff;
	display:inline-block;
	width:31%;
}
.how-to img{
	width:100%;
	aspect-ratio: 2 / 1;
	object-fit:contain;
}
#bp_container{
	margin-top:0!important;
}

.not-mobile{
	display:inline!important;
}
.not-tablet{
	display:inline!important;
}
.mobile-only{
	display:none!important;
}
@media(max-width:900px){
	.not-mobile{
		display:none!important;
	}
	.mobile-only{
		display:inline!important;
	}
}
@media(max-width:1050px){
	.not-tablet{
		display:none!important;
	}
}
header span{
	display:inline;
	margin:initial;
	width:initial;
}



#twinkl{
	background-color:#E9E761;
	color:#000;
	padding:80px 40px 40px 40px;
	border-top-left-radius:40px;
	border-top-right-radius:40px;
	text-align:center;
	position:relative;
	width:50vw;
	max-width:500px;
}
#twinkl img{
	width:250px;
	position:absolute;
	top:0;
	left:50%;
	transform: translate(-50%, -50%);
}
#twinkl:before{
	content:'';
	display:block;
	position:absolute;
	right:-90%;
	bottom:0;
	width:800px;
	padding-top:80%;
	background-image:url(/images/resources.png);
	background-repeat:no-repeat;
	background-size:contain;
	background-position:bottom right;
	margin-bottom:-80px;
}
section{
	overflow:hidden;
}

p.error{
	margin:.5rem 0;
	font-size:.8rem;
}
label.error input, label.error textarea{
	background-color:#f5e7e7;
}

.banner .hide-on-mobile{
	display:block;
	height:300px;
}
@media(max-width:650px){
	.reverse-on-mobile{
		flex-direction:column-reverse;
		gap:20px;
	}
	.banner .hide-on-mobile{
		display:none;
	}
	.banner{
		background-image:none;
		background-color:#3D3387;
	
		background: #3D3387;
		background: linear-gradient(148deg,rgba(23, 74, 106, 1) 0%, rgba(38, 86, 165, 1) 50%, rgba(61, 51, 135, 1) 100%);
		background: linear-gradient(148deg,#3D3387 0%, rgba(38, 86, 165, 1) 50%, #2656A5 100%)!important;
	}
}
@media(min-width:651px){
	.banner{
		background-image:url(/images/bg.png)!important;
		background-size:cover!important;
		color:#fff;
		background-position:20% 54%!important;
		
		
		
	}
}
